From b8f3e2ddda8d0b27003057b7ed71eab460915f00 Mon Sep 17 00:00:00 2001 From: wanchao-xu Date: Fri, 19 Jul 2024 14:48:35 +0800 Subject: [PATCH] Upgrade version to 1.42 Signed-off-by: wanchao-xu --- ABOUT-NLS | 2411 +- AUTHORS | 707 +- CONTRIBUTING.md | 111 + COPYING | 10 +- COPYINGv3 | 6 +- ChangeLog | 14136 ++---- FAQ | 2 +- GNUmakefile | 8 +- HACKING | 75 - INSTALL | 511 +- Makefile.am | 50 +- Makefile.in | 1622 +- NEWS | 529 +- README | 26 +- THANKS | 13 +- TODO | 21 - aclocal.m4 | 1092 +- build-aux/announce-gen | 704 + build-aux/ar-lib | 271 + build-aux/compile | 112 +- build-aux/config.guess | 1777 +- build-aux/config.rpath | 22 +- build-aux/config.sub | 2711 +- build-aux/csharpcomp.sh.in | 57 +- build-aux/csharpexec.sh.in | 51 +- build-aux/depcomp | 494 +- build-aux/do-release-commit-and-tag | 179 + build-aux/gendocs.sh | 429 +- build-aux/git-version-gen | 227 + build-aux/gitlog-to-changelog | 516 + build-aux/gnu-web-doc-update | 216 + build-aux/gnupload | 130 +- build-aux/install-sh | 443 +- build-aux/ltmain.sh | 5576 ++- build-aux/mdate-sh | 29 +- build-aux/missing | 420 +- build-aux/pmccabe.css | 17 + build-aux/pmccabe2html | 36 +- build-aux/snippet/_Noreturn.h | 10 - build-aux/snippet/unused-parameter.h | 36 - build-aux/snippet/warn-on-use.h | 109 - build-aux/test-driver | 153 + build-aux/texinfo.tex | 8318 ++-- build-aux/update-copyright | 75 +- build-aux/useless-if-before-free | 71 +- build-aux/vc-list-files | 16 +- cfg.mk | 224 +- config.h.in | 1836 +- configure | 43250 ++++++++++--------- configure.ac | 277 +- contrib/README | 2 +- contrib/doxygen/Doxyfile.in | 6 +- contrib/doxygen/Doxyfile.orig | 6 +- contrib/doxygen/gdoc2doxygen | 4 +- contrib/idn-python/idn.c | 4 +- contrib/idn-python/test.py | 2 +- contrib/java/IDNA.c | 8 +- contrib/java/Makefile.am | 4 +- contrib/java/README | 4 +- contrib/web/idn.php | 2 +- csharp/AssemblyInfo.cs | 4 +- csharp/IDNA.cs | 4 +- csharp/IDNAException.cs | 4 +- csharp/Makefile.am | 12 +- csharp/Makefile.in | 1269 +- csharp/NFKC.cs | 4 +- csharp/Punycode.cs | 4 +- csharp/PunycodeException.cs | 4 +- csharp/Stringprep.cs | 4 +- csharp/StringprepException.cs | 4 +- csharp/generate/AssemblyInfo.cs | 4 +- csharp/generate/GenerateNFKC.cs | 4 +- csharp/generate/GenerateRFC3454.cs | 4 +- csharp/generate/HashSet.cs | 4 +- csharp/generate/Program.cs | 4 +- csharp/generate/Tokenizer.cs | 4 +- doc/Makefile.am | 203 +- doc/Makefile.gdoc | 648 - doc/Makefile.gdoci | 55 - doc/Makefile.in | 2225 +- doc/cyclo/Makefile.am | 16 +- doc/cyclo/Makefile.in | 1218 +- doc/cyclo/cyclo-libidn.html | 2916 -- doc/example.txt | 67 + doc/example2.txt | 213 + doc/example3.txt | 57 + doc/example4.txt | 57 + doc/example5.txt | 103 + doc/fdl-1.3.texi | 6 +- doc/gdoc | 380 +- doc/idn-help.texi | 14 + doc/idn.1 | 29 +- doc/java/Makefile.am | 31 +- doc/java/Makefile.in | 1236 +- doc/java/about.html | 2 - doc/java/alphaindex.html | 13 - doc/java/deprecated.html | 2 - doc/java/gnu/inet/encoding/CombiningClass.html | 3 - doc/java/gnu/inet/encoding/Composition.html | 3 - doc/java/gnu/inet/encoding/DecompositionKeys.html | 3 - .../gnu/inet/encoding/DecompositionMappings.html | 3 - doc/java/gnu/inet/encoding/IDNA.html | 27 - doc/java/gnu/inet/encoding/IDNAException.html | 3 - doc/java/gnu/inet/encoding/NFKC.html | 4 - doc/java/gnu/inet/encoding/Punycode.html | 16 - doc/java/gnu/inet/encoding/PunycodeException.html | 4 - doc/java/gnu/inet/encoding/RFC3454.html | 3 - doc/java/gnu/inet/encoding/Stringprep.html | 51 - .../gnu/inet/encoding/StringprepException.html | 3 - doc/java/gnu/inet/encoding/classes.html | 2 - doc/java/gnu/inet/encoding/package-summary.html | 6 - doc/java/gnu/inet/encoding/tree.html | 2 - doc/java/index.html | 2 - doc/java/package-list | 0 doc/java/resources/gjdoc.js | 115 - doc/java/resources/gjdochtml-clean-color1.css | 80 - doc/java/resources/gjdochtml-clean-layout.css | 460 - doc/java/resources/inherit.png | Bin 199 -> 0 bytes doc/java/serialized-form.html | 2 - doc/libidn-components.eps | 172 +- doc/libidn-components.pdf | Bin 9193 -> 8812 bytes doc/libidn-components.png | Bin 9582 -> 1291 bytes doc/libidn.html | 4874 --- doc/libidn.info | 2387 +- doc/libidn.pdf | Bin 475336 -> 0 bytes doc/libidn.ps | 11936 ----- doc/libidn.texi | 130 +- doc/man/idn_free.3 | 19 +- doc/man/idna_strerror.3 | 25 +- doc/man/idna_to_ascii_4i.3 | 21 +- doc/man/idna_to_ascii_4z.3 | 21 +- doc/man/idna_to_ascii_8z.3 | 21 +- doc/man/idna_to_ascii_lz.3 | 21 +- doc/man/idna_to_unicode_44i.3 | 21 +- doc/man/idna_to_unicode_4z4z.3 | 21 +- doc/man/idna_to_unicode_8z4z.3 | 21 +- doc/man/idna_to_unicode_8z8z.3 | 21 +- doc/man/idna_to_unicode_8zlz.3 | 21 +- doc/man/idna_to_unicode_lzlz.3 | 21 +- doc/man/pr29_4.3 | 21 +- doc/man/pr29_4z.3 | 21 +- doc/man/pr29_8z.3 | 21 +- doc/man/pr29_strerror.3 | 23 +- doc/man/punycode_decode.3 | 34 +- doc/man/punycode_encode.3 | 42 +- doc/man/punycode_strerror.3 | 23 +- doc/man/stringprep.3 | 30 +- doc/man/stringprep_4i.3 | 53 +- doc/man/stringprep_4zi.3 | 28 +- doc/man/stringprep_check_version.3 | 23 +- doc/man/stringprep_convert.3 | 25 +- doc/man/stringprep_locale_charset.3 | 26 +- doc/man/stringprep_locale_to_utf8.3 | 23 +- doc/man/stringprep_profile.3 | 27 +- doc/man/stringprep_strerror.3 | 25 +- doc/man/stringprep_ucs4_nfkc_normalize.3 | 25 +- doc/man/stringprep_ucs4_to_utf8.3 | 23 +- doc/man/stringprep_unichar_to_utf8.3 | 23 +- doc/man/stringprep_utf8_nfkc_normalize.3 | 25 +- doc/man/stringprep_utf8_to_locale.3 | 23 +- doc/man/stringprep_utf8_to_ucs4.3 | 30 +- doc/man/stringprep_utf8_to_unichar.3 | 29 +- doc/man/tld_check_4.3 | 33 +- doc/man/tld_check_4t.3 | 29 +- doc/man/tld_check_4tz.3 | 29 +- doc/man/tld_check_4z.3 | 33 +- doc/man/tld_check_8z.3 | 33 +- doc/man/tld_check_lz.3 | 33 +- doc/man/tld_default_table.3 | 27 +- doc/man/tld_get_4.3 | 25 +- doc/man/tld_get_4z.3 | 25 +- doc/man/tld_get_table.3 | 29 +- doc/man/tld_get_z.3 | 25 +- doc/man/tld_strerror.3 | 25 +- doc/reference/Makefile.am | 65 +- doc/reference/Makefile.in | 1901 +- doc/reference/html/api-index-deprecated.html | 29 + doc/reference/html/api-index-full.html | 231 +- doc/reference/html/home.png | Bin 578 -> 169 bytes doc/reference/html/index.html | 26 +- doc/reference/html/index.sgml | 153 - doc/reference/html/intro.html | 41 +- doc/reference/html/left-insensitive.png | Bin 0 -> 334 bytes doc/reference/html/left.png | Bin 373 -> 185 bytes doc/reference/html/libidn-components.png | Bin 9582 -> 1291 bytes doc/reference/html/libidn-idn-free.h.html | 70 + doc/reference/html/libidn-idn-free.html | 62 - doc/reference/html/libidn-idna.h.html | 882 + doc/reference/html/libidn-idna.html | 700 - doc/reference/html/libidn-pr29.h.html | 295 + doc/reference/html/libidn-pr29.html | 220 - doc/reference/html/libidn-punycode.h.html | 368 + doc/reference/html/libidn-punycode.html | 287 - doc/reference/html/libidn-stringprep.h.html | 1595 + doc/reference/html/libidn-stringprep.html | 1129 - doc/reference/html/libidn-tld.h.html | 926 + doc/reference/html/libidn-tld.html | 619 - doc/reference/html/libidn.devhelp2 | 289 +- doc/reference/html/right-insensitive.png | Bin 0 -> 233 bytes doc/reference/html/right.png | Bin 380 -> 184 bytes doc/reference/html/style.css | 474 +- doc/reference/html/up-insensitive.png | Bin 0 -> 288 bytes doc/reference/html/up.png | Bin 291 -> 186 bytes .../{libidn-docs.sgml => libidn-docs.xml} | 4 + doc/reference/libidn-sections.txt | 69 +- doc/reference/libidn.pdf | Bin 317986 -> 207189 bytes doc/reference/libidn.types | 0 doc/reference/tmpl/idn-free.sgml | 31 - doc/reference/tmpl/idna.sgml | 187 - doc/reference/tmpl/pr29.sgml | 77 - doc/reference/tmpl/punycode.sgml | 82 - doc/reference/tmpl/stringprep.sgml | 334 - doc/reference/tmpl/tld.sgml | 184 - doc/specifications/Makefile.am | 2 +- doc/specifications/Makefile.in | 1205 +- .../tmpl/libidn-unused.sgml => stamp-gdoc} | 0 doc/stamp-vti | 8 +- doc/texi/idn-free.c.texi | 15 - doc/texi/idn_free.texi | 6 +- doc/texi/idna.c.texi | 222 - doc/texi/idna_strerror.texi | 8 +- doc/texi/idna_to_ascii_4i.texi | 6 +- doc/texi/idna_to_ascii_4z.texi | 6 +- doc/texi/idna_to_ascii_8z.texi | 6 +- doc/texi/idna_to_ascii_lz.texi | 6 +- doc/texi/idna_to_unicode_44i.texi | 6 +- doc/texi/idna_to_unicode_4z4z.texi | 6 +- doc/texi/idna_to_unicode_8z4z.texi | 6 +- doc/texi/idna_to_unicode_8z8z.texi | 6 +- doc/texi/idna_to_unicode_8zlz.texi | 6 +- doc/texi/idna_to_unicode_lzlz.texi | 6 +- doc/texi/nfkc.c.texi | 106 - doc/texi/pr29.c.texi | 48 - doc/texi/pr29_4.texi | 4 +- doc/texi/pr29_4z.texi | 4 +- doc/texi/pr29_8z.texi | 6 +- doc/texi/pr29_strerror.texi | 8 +- doc/texi/punycode.c.texi | 83 - doc/texi/punycode_decode.texi | 21 +- doc/texi/punycode_encode.texi | 26 +- doc/texi/punycode_strerror.texi | 6 +- doc/texi/strerror-idna.c.texi | 46 - doc/texi/strerror-pr29.c.texi | 21 - doc/texi/strerror-punycode.c.texi | 22 - doc/texi/strerror-stringprep.c.texi | 50 - doc/texi/strerror-tld.c.texi | 26 - doc/texi/stringprep.c.texi | 127 - doc/texi/stringprep.texi | 17 +- doc/texi/stringprep_4i.texi | 41 +- doc/texi/stringprep_4zi.texi | 15 +- doc/texi/stringprep_check_version.texi | 4 +- doc/texi/stringprep_convert.texi | 8 +- doc/texi/stringprep_locale_charset.texi | 7 +- doc/texi/stringprep_locale_to_utf8.texi | 6 +- doc/texi/stringprep_profile.texi | 12 +- doc/texi/stringprep_strerror.texi | 10 +- doc/texi/stringprep_ucs4_nfkc_normalize.texi | 8 +- doc/texi/stringprep_ucs4_to_utf8.texi | 10 +- doc/texi/stringprep_unichar_to_utf8.texi | 6 +- doc/texi/stringprep_utf8_nfkc_normalize.texi | 6 +- doc/texi/stringprep_utf8_to_locale.texi | 6 +- doc/texi/stringprep_utf8_to_ucs4.texi | 13 +- doc/texi/stringprep_utf8_to_unichar.texi | 9 +- doc/texi/tld.c.texi | 230 - doc/texi/tld_check_4.texi | 16 +- doc/texi/tld_check_4t.texi | 12 +- doc/texi/tld_check_4tz.texi | 12 +- doc/texi/tld_check_4z.texi | 16 +- doc/texi/tld_check_8z.texi | 16 +- doc/texi/tld_check_lz.texi | 16 +- doc/texi/tld_default_table.texi | 10 +- doc/texi/tld_get_4.texi | 8 +- doc/texi/tld_get_4z.texi | 8 +- doc/texi/tld_get_table.texi | 11 +- doc/texi/tld_get_z.texi | 8 +- doc/texi/tld_strerror.texi | 6 +- doc/texi/toutf8.c.texi | 62 - doc/texi/version.c.texi | 16 - doc/texinfo.css | 44 - doc/tld/Makefile.am | 4 +- doc/tld/Makefile.in | 1207 +- doc/tld/README | 2 +- doc/tld/fr.tld | 6 +- doc/tld/no.tld | 6 +- doc/version.texi | 8 +- examples/Makefile.am | 4 +- examples/Makefile.in | 1337 +- examples/README | 2 +- examples/example.c | 16 +- examples/example2.c | 4 +- examples/example3.c | 12 +- examples/example4.c | 12 +- examples/example5.c | 13 +- fuzz/Makefile.am | 61 + fuzz/Makefile.in | 2296 + fuzz/README.md | 108 + fuzz/fuzzer.h | 29 + fuzz/libidn_stringprep_fuzzer.c | 114 + fuzz/libidn_toascii_fuzzer.c | 86 + fuzz/libidn_tounicode_fuzzer.c | 104 + fuzz/libidn_tounicode_fuzzer.dict | 2 + .../clusterfuzz-testcase-6105917865066496 | 1 + fuzz/main.c | 156 + gl/Makefile.am | 1454 +- gl/Makefile.in | 2937 +- gl/_Noreturn.h | 50 + gl/alloca.in.h | 72 + {build-aux/snippet => gl}/arg-nonnull.h | 14 +- gl/assert.in.h | 27 + gl/basename-lgpl.c | 70 + gl/basename-lgpl.h | 83 + {build-aux/snippet => gl}/c++defs.h | 136 +- gl/cloexec.c | 83 + gl/cloexec.h | 34 + {gltests => gl}/close.c | 30 +- gl/dup2.c | 189 + gl/errno.in.h | 73 +- gl/error.c | 79 +- gl/error.h | 65 - gl/error.in.h | 216 + gl/fcntl.c | 629 + {gltests => gl}/fcntl.in.h | 153 +- {gltests => gl}/fd-hook.c | 22 +- {gltests => gl}/fd-hook.h | 22 +- gl/filename.h | 112 + gl/fstat.c | 94 + gl/getdelim.c | 143 + gl/getdtablesize.c | 124 + gl/getline.c | 27 + gl/getopt-cdefs.in.h | 70 + gl/getopt-core.h | 96 + gl/getopt-ext.h | 77 + gl/getopt-pfx-core.h | 66 + gl/getopt-pfx-ext.h | 70 + gl/getopt.c | 1447 +- gl/getopt.in.h | 244 +- gl/getopt1.c | 179 +- gl/getopt_int.h | 91 +- gl/getprogname.c | 312 + gl/getprogname.h | 26 + gl/gettext.h | 212 +- gl/idx.h | 134 + gl/intprops-internal.h | 397 + gl/intprops.h | 250 +- gl/limits.in.h | 151 + gl/m4/00gnulib.m4 | 91 +- gl/m4/absolute-header.m4 | 100 + gl/m4/alloca.m4 | 53 +- gl/m4/assert_h.m4 | 73 + gl/m4/autobuild.m4 | 6 +- gl/m4/c-bool.m4 | 51 + gl/m4/close.m4 | 16 +- {m4 => gl/m4}/codeset.m4 | 15 +- gl/m4/csharp.m4 | 12 +- gl/m4/csharpcomp.m4 | 26 +- gl/m4/csharpexec.m4 | 28 +- gl/m4/double-slash-root.m4 | 38 + gl/m4/dup2.m4 | 148 +- gl/m4/eealloc.m4 | 5 +- gl/m4/environ.m4 | 47 - gl/m4/errno_h.m4 | 32 +- gl/m4/error.m4 | 18 +- gl/m4/error_h.m4 | 124 + gl/m4/extensions.m4 | 211 +- gl/m4/extern-inline.m4 | 132 + gl/m4/fcntl-o.m4 | 140 + gl/m4/fcntl.m4 | 151 + gl/m4/fcntl_h.m4 | 38 +- gl/m4/fdopen.m4 | 49 - gl/m4/fstat.m4 | 31 +- gl/m4/getcwd.m4 | 155 - gl/m4/getdelim.m4 | 114 + gl/m4/getdtablesize.m4 | 63 + gl/m4/getline.m4 | 111 + gl/m4/getopt.m4 | 324 +- gl/m4/getprogname.m4 | 60 + gl/m4/gnulib-cache.m4 | 59 +- gl/m4/gnulib-common.m4 | 1321 +- gl/m4/gnulib-comp.m4 | 744 +- gl/m4/include_next.m4 | 90 +- gl/m4/largefile.m4 | 385 +- {lib/gl => gl}/m4/ld-output-def.m4 | 6 +- gl/m4/ld-version-script.m4 | 48 + gl/m4/limits-h.m4 | 54 + {lib/gl => gl}/m4/locale-fr.m4 | 180 +- gl/m4/lstat.m4 | 77 - gl/m4/malloc.m4 | 98 - gl/m4/malloca.m4 | 5 +- gl/m4/manywarnings.m4 | 282 +- gl/m4/mode_t.m4 | 2 +- gl/m4/msvc-inval.m4 | 2 +- gl/m4/msvc-nothrow.m4 | 2 +- gl/m4/multiarch.m4 | 71 +- gl/m4/musl.m4 | 20 + gl/m4/nocrash.m4 | 15 +- gl/m4/off_t.m4 | 2 +- gl/m4/open-cloexec.m4 | 21 + gl/m4/open-slash.m4 | 60 + gl/m4/open.m4 | 52 +- gl/m4/pathmax.m4 | 6 +- gl/m4/putenv.m4 | 50 - gl/m4/setenv.m4 | 160 - gl/m4/ssize_t.m4 | 30 +- gl/m4/stat-time.m4 | 83 + gl/m4/stat.m4 | 126 +- gl/m4/stdarg.m4 | 30 +- gl/m4/stdbool.m4 | 100 - gl/m4/stddef_h.m4 | 96 +- gl/m4/stdint.m4 | 172 +- gl/m4/stdio_h.m4 | 258 +- gl/m4/stdlib_h.m4 | 232 +- gl/m4/strerror.m4 | 30 +- gl/m4/string_h.m4 | 152 +- gl/m4/symlink.m4 | 53 - gl/m4/sys_socket_h.m4 | 89 +- gl/m4/sys_stat_h.m4 | 92 +- gl/m4/sys_types_h.m4 | 52 +- gl/m4/time_h.m4 | 126 +- gl/m4/unistd_h.m4 | 355 +- gl/m4/valgrind-tests.m4 | 108 +- gl/m4/version-etc.m4 | 6 +- gl/m4/visibility.m4 | 82 + gl/m4/warn-on-use.m4 | 61 +- gl/m4/warnings.m4 | 165 +- gl/m4/wchar_h.m4 | 225 - {m4 => gl/m4}/wchar_t.m4 | 14 +- gl/m4/wint_t.m4 | 57 + gl/m4/zzgnulib.m4 | 23 + gl/malloca.c | 135 + {lib/gltests => gl}/malloca.h | 96 +- gl/msvc-inval.c | 24 +- gl/msvc-inval.h | 27 +- gl/msvc-nothrow.c | 22 +- gl/msvc-nothrow.h | 25 +- {gltests => gl}/open.c | 100 +- {gltests => gl}/pathmax.h | 29 +- gl/progname.c | 6 +- gl/progname.h | 8 +- gl/stat-time.c | 21 + gl/stat-time.h | 245 + gl/stat-w32.c | 460 + gl/stat-w32.h | 37 + gl/stat.c | 438 + gl/stdarg.in.h | 23 +- gl/stdckdint.in.h | 35 + gl/stddef.in.h | 175 +- gl/stdint.in.h | 742 + gl/stdio-read.c | 168 + gl/stdio-write.c | 206 + {gltests => gl}/stdio.in.h | 878 +- gl/stdlib.in.h | 1851 + gl/strerror-override.c | 109 +- gl/strerror-override.h | 32 +- gl/strerror.c | 24 +- gl/string.in.h | 601 +- {gltests => gl}/sys_stat.in.h | 542 +- gl/sys_types.in.h | 84 +- gl/time.in.h | 583 + gl/unistd.c | 22 + gl/unistd.in.h | 1146 +- gl/verify.h | 282 +- gl/version-etc.c | 50 +- gl/version-etc.h | 39 +- gl/warn-on-use.h | 149 + gl/xalloc-oversized.h | 65 + gltests/Makefile.am | 1244 - gltests/Makefile.in | 2598 -- gltests/alloca.in.h | 56 - gltests/binary-io.h | 65 - gltests/dosname.h | 53 - gltests/dup2.c | 157 - gltests/fdopen.c | 69 - gltests/fstat.c | 86 - gltests/getcwd-lgpl.c | 125 - gltests/ignore-value.h | 47 - gltests/init.sh | 590 - gltests/lstat.c | 97 - gltests/macros.h | 73 - gltests/malloc.c | 56 - gltests/malloca.c | 140 - gltests/malloca.h | 133 - gltests/malloca.valgrind | 7 - gltests/putenv.c | 134 - gltests/same-inode.h | 33 - gltests/setenv.c | 390 - gltests/signature.h | 48 - gltests/stat.c | 137 - gltests/stdbool.in.h | 121 - gltests/stdint.in.h | 636 - gltests/stdlib.in.h | 928 - gltests/symlink.c | 57 - gltests/test-alloca-opt.c | 62 - gltests/test-binary-io.c | 69 - gltests/test-binary-io.sh | 14 - gltests/test-close.c | 44 - gltests/test-dup2.c | 203 - gltests/test-environ.c | 44 - gltests/test-errno.c | 117 - gltests/test-fdopen.c | 54 - gltests/test-fgetc.c | 95 - gltests/test-fputc.c | 89 - gltests/test-fread.c | 98 - gltests/test-fstat.c | 48 - gltests/test-fwrite.c | 92 - gltests/test-getcwd-lgpl.c | 102 - gltests/test-getopt.c | 99 - gltests/test-getopt.h | 1391 - gltests/test-getopt_long.h | 2144 - gltests/test-ignore-value.c | 84 - gltests/test-init.sh | 73 - gltests/test-intprops.c | 275 - gltests/test-inttypes.c | 118 - gltests/test-lstat.c | 60 - gltests/test-lstat.h | 116 - gltests/test-malloca.c | 62 - gltests/test-open.c | 41 - gltests/test-open.h | 93 - gltests/test-pathmax.c | 32 - gltests/test-setenv.c | 56 - gltests/test-stat.c | 55 - gltests/test-stat.h | 100 - gltests/test-stdbool.c | 118 - gltests/test-stddef.c | 52 - gltests/test-stdint.c | 359 - gltests/test-stdio.c | 43 - gltests/test-strerror.c | 75 - gltests/test-symlink.c | 47 - gltests/test-symlink.h | 95 - gltests/test-sys_types.c | 34 - gltests/test-unsetenv.c | 61 - gltests/test-vc-list-files-cvs.sh | 53 - gltests/test-vc-list-files-git.sh | 42 - gltests/test-verify.c | 69 - gltests/test-verify.sh | 24 - gltests/test-version-etc.c | 33 - gltests/test-version-etc.sh | 43 - gltests/time.in.h | 248 - gltests/unsetenv.c | 127 - gltests/version-etc-fsf.c | 30 - gltests/wchar.in.h | 1028 - gtk-doc.make | 228 +- java/LICENSE-2.0.txt | 202 + java/Makefile.am | 59 +- java/Makefile.in | 1454 +- java/gnu/Makefile.in | 1376 - java/gnu/inet/Makefile.in | 1376 - java/gnu/inet/encoding/Makefile.in | 1212 - java/libidn-1.25.jar | Bin 150609 -> 0 bytes java/misc/Makefile.in | 1202 - java/pom.xml.in | 112 + tests/libidn.supp => java/src/Makefile.am | 24 +- java/src/Makefile.in | 1855 + java/src/main/Makefile.am | 19 + java/src/main/Makefile.in | 1855 + java/src/main/java/Makefile.am | 29 + java/src/main/java/Makefile.in | 1862 + java/{ => src/main/java}/gnu/Makefile.am | 4 +- java/src/main/java/gnu/Makefile.in | 1855 + java/{ => src/main/java}/gnu/inet/Makefile.am | 4 +- java/src/main/java/gnu/inet/Makefile.in | 1855 + .../java}/gnu/inet/encoding/CombiningClass.java | 0 .../main/java}/gnu/inet/encoding/Composition.java | 0 .../java}/gnu/inet/encoding/DecompositionKeys.java | 0 .../gnu/inet/encoding/DecompositionMappings.java | 0 .../main/java}/gnu/inet/encoding/IDNA.java | 16 +- .../java}/gnu/inet/encoding/IDNAException.java | 4 +- .../main/java}/gnu/inet/encoding/Makefile.am | 7 +- java/src/main/java/gnu/inet/encoding/Makefile.in | 1715 + .../main/java}/gnu/inet/encoding/NFKC.java | 23 +- .../main/java}/gnu/inet/encoding/Punycode.java | 8 +- .../java}/gnu/inet/encoding/PunycodeException.java | 4 +- .../main/java}/gnu/inet/encoding/RFC3454.java | 0 java/src/main/java/gnu/inet/encoding/RangeSet.java | 404 + .../main/java}/gnu/inet/encoding/Stringprep.java | 351 +- .../gnu/inet/encoding/StringprepException.java | 4 +- java/src/test/Makefile.am | 19 + java/src/test/Makefile.in | 1855 + java/{misc => src/test/java}/Makefile.am | 13 +- java/src/test/java/Makefile.in | 1696 + java/src/util/Makefile.am | 19 + java/src/util/Makefile.in | 1855 + java/{misc => src/util/java}/GenerateNFKC.java | 18 +- java/{misc => src/util/java}/GenerateRFC3454.java | 14 +- java/src/util/java/Makefile.am | 28 + java/src/util/java/Makefile.in | 1704 + java/{misc => src/util/java}/TestIDNA.java | 30 +- java/{misc => src/util/java}/TestNFKC.java | 10 +- lib/Makefile.am | 21 +- lib/Makefile.in | 1497 +- lib/gen-stringprep-tables.pl | 36 +- lib/gen-tld-tables.pl | 7 +- lib/gen-unicode-tables.pl | 8 +- lib/gl/Makefile.am | 1088 +- lib/gl/Makefile.in | 2644 +- lib/gl/_Noreturn.h | 50 + lib/gl/arg-nonnull.h | 26 + lib/gl/attribute.h | 243 + lib/gl/c++defs.h | 337 + lib/gl/c-ctype.c | 398 +- lib/gl/c-ctype.h | 474 +- lib/gl/c-strcase.h | 19 +- lib/gl/c-strcasecmp.c | 16 +- lib/gl/c-strncasecmp.c | 16 +- lib/gl/cdefs.h | 715 + lib/gl/free.c | 53 + lib/gl/gettext.h | 210 +- lib/gl/iconv.c | 19 +- lib/gl/iconv.in.h | 52 +- lib/gl/iconv_close.c | 19 +- lib/gl/iconv_open-aix.gperf | 16 + lib/gl/iconv_open-aix.h | 140 +- lib/gl/iconv_open-hpux.gperf | 16 + lib/gl/iconv_open-hpux.h | 178 +- lib/gl/iconv_open-irix.gperf | 16 + lib/gl/iconv_open-irix.h | 90 +- lib/gl/iconv_open-osf.gperf | 16 + lib/gl/iconv_open-osf.h | 162 +- lib/gl/iconv_open-solaris.gperf | 16 + lib/gl/iconv_open-solaris.h | 74 +- lib/gl/iconv_open-zos.gperf | 76 + lib/gl/iconv_open-zos.h | 329 + lib/gl/iconv_open.c | 17 +- {gltests => lib/gl}/inttypes.in.h | 577 +- lib/gl/langinfo.in.h | 229 + lib/gl/libc-config.h | 204 + lib/gl/limits.in.h | 151 + lib/gl/m4/__inline.m4 | 22 + lib/gl/m4/free.m4 | 52 + lib/gl/m4/gnulib-cache.m4 | 39 +- lib/gl/m4/gnulib-comp.m4 | 428 +- lib/gl/m4/host-cpu-c-abi.m4 | 679 + lib/gl/m4/iconv.m4 | 293 + lib/gl/m4/iconv_h.m4 | 55 +- lib/gl/m4/iconv_open.m4 | 32 +- lib/gl/m4/inline.m4 | 2 +- {gl => lib/gl}/m4/inttypes.m4 | 63 +- lib/gl/m4/langinfo_h.m4 | 137 + lib/gl/m4/ld-version-script.m4 | 53 - lib/gl/m4/lib-ld.m4 | 168 + {m4 => lib/gl/m4}/lib-link.m4 | 223 +- lib/gl/m4/lib-prefix.m4 | 323 + lib/gl/m4/libunistring-base.m4 | 63 +- lib/gl/m4/locale-ja.m4 | 136 - lib/gl/m4/locale-tr.m4 | 127 - lib/gl/m4/locale-zh.m4 | 130 - lib/gl/m4/locale_h.m4 | 122 - lib/gl/m4/localename.m4 | 12 - lib/gl/m4/setlocale.m4 | 29 - lib/gl/m4/strverscmp.m4 | 6 +- lib/gl/m4/thread.m4 | 18 - lib/gl/m4/wchar_h.m4 | 264 + lib/gl/m4/yield.m4 | 19 - lib/gl/stdbool.in.h | 121 - lib/gl/stddef.in.h | 171 +- lib/gl/stdint.in.h | 835 +- lib/gl/stdlib.in.h | 1851 + lib/gl/striconv.c | 32 +- lib/gl/striconv.h | 27 +- lib/gl/string.in.h | 597 +- lib/gl/strverscmp.c | 125 +- lib/gl/sys_types.in.h | 113 + lib/gl/unistd.c | 22 + lib/{gltests => gl}/unistd.in.h | 1146 +- lib/gl/unistr.in.h | 124 +- lib/gl/unistr/u8-check.c | 77 + lib/gl/unistr/u8-mbtoucr.c | 165 +- lib/gl/unistr/u8-uctomb-aux.c | 37 +- lib/gl/unistr/u8-uctomb.c | 37 +- lib/gl/unitypes.in.h | 37 +- lib/gl/warn-on-use.h | 149 + lib/gl/wchar.in.h | 1707 + lib/gltests/Makefile.am | 1016 - lib/gltests/Makefile.in | 2506 -- lib/gltests/alloca.in.h | 56 - lib/gltests/glthread/lock.c | 1057 - lib/gltests/glthread/lock.h | 927 - lib/gltests/glthread/thread.c | 231 - lib/gltests/glthread/thread.h | 400 - lib/gltests/glthread/threadlib.c | 73 - lib/gltests/glthread/yield.h | 121 - lib/gltests/init.sh | 590 - lib/gltests/intprops.h | 319 - lib/gltests/inttypes.in.h | 1130 - lib/gltests/locale.in.h | 201 - lib/gltests/localename.c | 2957 -- lib/gltests/localename.h | 95 - lib/gltests/macros.h | 73 - lib/gltests/malloc.c | 56 - lib/gltests/malloca.c | 140 - lib/gltests/malloca.valgrind | 7 - lib/gltests/putenv.c | 134 - lib/gltests/setenv.c | 390 - lib/gltests/setlocale.c | 938 - lib/gltests/signature.h | 48 - lib/gltests/stdlib.in.h | 928 - lib/gltests/sys_types.in.h | 51 - lib/gltests/test-alloca-opt.c | 62 - lib/gltests/test-c-ctype.c | 386 - lib/gltests/test-c-strcase.sh | 21 - lib/gltests/test-c-strcasecmp.c | 65 - lib/gltests/test-c-strncasecmp.c | 79 - lib/gltests/test-environ.c | 44 - lib/gltests/test-iconv.c | 148 - lib/gltests/test-init.sh | 73 - lib/gltests/test-intprops.c | 275 - lib/gltests/test-inttypes.c | 118 - lib/gltests/test-locale.c | 79 - lib/gltests/test-localename.c | 747 - lib/gltests/test-lock.c | 601 - lib/gltests/test-malloca.c | 62 - lib/gltests/test-setenv.c | 56 - lib/gltests/test-setlocale1.c | 59 - lib/gltests/test-setlocale1.sh | 34 - lib/gltests/test-setlocale2.c | 55 - lib/gltests/test-setlocale2.sh | 17 - lib/gltests/test-stdbool.c | 118 - lib/gltests/test-stddef.c | 52 - lib/gltests/test-stdint.c | 359 - lib/gltests/test-stdlib.c | 54 - lib/gltests/test-striconv.c | 180 - lib/gltests/test-strverscmp.c | 45 - lib/gltests/test-sys_types.c | 34 - lib/gltests/test-sys_wait.h | 53 - lib/gltests/test-thread_create.c | 78 - lib/gltests/test-thread_self.c | 34 - lib/gltests/test-unistd.c | 56 - lib/gltests/test-unsetenv.c | 61 - lib/gltests/test-verify.c | 69 - lib/gltests/test-verify.sh | 24 - lib/gltests/unistr/test-u8-mbtoucr.c | 187 - lib/gltests/unistr/test-u8-uctomb.c | 157 - lib/gltests/unsetenv.c | 127 - lib/gltests/verify.h | 241 - lib/gltests/wchar.in.h | 1028 - lib/idn-free.c | 4 +- lib/idn-free.h | 16 +- lib/idna.c | 54 +- lib/idna.h | 24 +- lib/libidn.map | 4 +- libidn.pc.in => lib/libidn.pc.in | 4 +- {m4 => lib/m4}/gettext.m4 | 87 +- lib/m4/gtk-doc.m4 | 113 + {m4 => lib/m4}/intlmacosx.m4 | 29 +- {m4 => lib/m4}/libtool.m4 | 2591 +- {m4 => lib/m4}/ltoptions.m4 | 127 +- {m4 => lib/m4}/ltsugar.m4 | 7 +- {m4 => lib/m4}/ltversion.m4 | 12 +- {m4 => lib/m4}/lt~obsolete.m4 | 7 +- {m4 => lib/m4}/nls.m4 | 8 +- {m4 => lib/m4}/po.m4 | 42 +- {m4 => lib/m4}/progtest.m4 | 25 +- lib/nfkc.c | 158 +- lib/pr29.c | 8 +- lib/pr29.h | 12 +- lib/profiles.c | 410 +- lib/punycode.c | 79 +- lib/punycode.h | 88 +- lib/rfc3454.c | 5044 +-- lib/rfc3454.h | 20 + lib/strerror-idna.c | 14 +- lib/strerror-pr29.c | 4 +- lib/strerror-punycode.c | 4 +- lib/strerror-stringprep.c | 9 +- lib/strerror-tld.c | 8 +- lib/stringprep.c | 170 +- lib/stringprep.h | 89 +- lib/tld.c | 42 +- lib/tld.h | 75 +- lib/tlds.c | 6 +- lib/toutf8.c | 8 +- lib/version.c | 6 +- libc/README | 4 +- libc/example.c | 32 +- libc/getaddrinfo-idn.txt | 10 +- m4/ac_prog_jar.m4 | 13 - m4/ax_java_options.m4 | 48 + m4/ax_prog_jar.m4 | 49 + m4/ax_prog_javac.m4 | 79 + m4/ax_prog_javac_works.m4 | 72 + m4/ax_prog_javadoc.m4 | 50 + m4/fcntl-o.m4 | 81 - m4/gtk-doc.m4 | 62 - m4/iconv.m4 | 214 - m4/inttypes-pri.m4 | 36 - m4/lcmessage.m4 | 31 - m4/lib-ld.m4 | 110 - m4/lib-prefix.m4 | 224 - m4/lock.m4 | 37 - m4/longlong.m4 | 106 - m4/threadlib.m4 | 347 - m4/update-header-version.m4 | 24 - m4/visibility.m4 | 74 - m4/wint_t.m4 | 28 - maint.mk | 820 +- packaging/libidn.spec | 17 +- po/LINGUAS | 9 +- po/Makefile.in.in | 77 +- po/Makevars | 48 +- po/Rules-quot | 15 +- po/cs.gmo | Bin 8778 -> 8699 bytes po/cs.po | 116 +- po/da.gmo | Bin 7166 -> 6294 bytes po/da.po | 173 +- po/de.gmo | Bin 8581 -> 8659 bytes po/de.po | 156 +- po/en@boldquot.gmo | Bin 8304 -> 0 bytes po/en@boldquot.po | 363 - po/en@quot.gmo | Bin 8172 -> 0 bytes po/en@quot.po | 358 - po/eo.gmo | Bin 6846 -> 8269 bytes po/eo.po | 266 +- po/es.gmo | Bin 0 -> 8665 bytes po/es.po | 356 + po/fi.gmo | Bin 8923 -> 6653 bytes po/fi.po | 110 +- po/fr.gmo | Bin 9031 -> 8950 bytes po/fr.po | 114 +- po/hr.gmo | Bin 0 -> 6293 bytes po/hr.po | 354 + po/hu.gmo | Bin 0 -> 6428 bytes po/hu.po | 357 + po/id.gmo | Bin 8273 -> 8280 bytes po/id.po | 194 +- po/it.gmo | Bin 8407 -> 6274 bytes po/it.po | 110 +- po/ja.gmo | Bin 3669 -> 3237 bytes po/ja.po | 109 +- po/ka.gmo | Bin 0 -> 6325 bytes po/ka.po | 319 + po/ko.gmo | Bin 0 -> 8874 bytes po/ko.po | 346 + po/libidn.pot | 101 +- po/nl.gmo | Bin 8600 -> 8566 bytes po/nl.po | 114 +- po/pl.gmo | Bin 8539 -> 8617 bytes po/pl.po | 225 +- po/pt_BR.gmo | Bin 0 -> 8547 bytes po/pt_BR.po | 355 + po/ro.gmo | Bin 724 -> 8938 bytes po/ro.po | 318 +- po/sr.gmo | Bin 10315 -> 10432 bytes po/sr.po | 122 +- po/sv.gmo | Bin 0 -> 8458 bytes po/sv.po | 362 + po/uk.gmo | Bin 11102 -> 11086 bytes po/uk.po | 128 +- po/vi.gmo | Bin 7709 -> 6923 bytes po/vi.po | 228 +- po/zh_CN.gmo | Bin 7934 -> 7903 bytes po/zh_CN.po | 132 +- pom.xml.in | 44 - src/Makefile.am | 10 +- src/Makefile.in | 1375 +- src/idn.c | 76 +- src/idn.ggo | 6 +- src/idn_cmd.c | 78 +- src/idn_cmd.h | 16 +- src/idna.el | 8 +- src/punycode.el | 8 +- tests/Makefile.am | 15 +- tests/Makefile.in | 2105 +- tests/standalone.sh | 65 + tests/tst_badutf8.c | 50 + tests/tst_badutf8nfkc.c | 41 + tests/tst_idna.c | 33 +- tests/tst_idna2.c | 12 +- tests/tst_idna3.c | 36 +- tests/tst_idna4.c | 12 +- tests/tst_nfkc.c | 12 +- tests/tst_pr29.c | 26 +- tests/tst_punycode.c | 17 +- tests/tst_strerror.c | 34 +- tests/tst_stringprep.c | 37 +- tests/tst_symbols.c | 21 +- tests/tst_tld.c | 144 +- tests/tst_toascii64oob.c | 68 + tests/tst_toutf8.c | 4 +- tests/tst_utf8crash.c | 48 + tests/tst_versions.c | 127 + tests/utils.c | 12 +- tests/utils.h | 14 +- {win32 => windows}/include/ac-stdint.h | 44 +- {win32 => windows}/include/config.h | 24 +- {win32 => windows}/include/idn-int.h | 4 +- {win32 => windows}/include/stdbool.h | 21 +- {win32 => windows}/include/unistd.h | 0 {win32 => windows}/libidn.sln | 0 {win32 => windows}/libidn.vcproj | 0 {win32 => windows}/libidn4win.mk | 16 +- 889 files changed, 138507 insertions(+), 140198 deletions(-) create mode 100644 CONTRIBUTING.md delete mode 100644 HACKING delete mode 100644 TODO create mode 100755 build-aux/announce-gen create mode 100755 build-aux/ar-lib create mode 100755 build-aux/do-release-commit-and-tag create mode 100755 build-aux/git-version-gen create mode 100755 build-aux/gitlog-to-changelog create mode 100755 build-aux/gnu-web-doc-update mode change 100644 => 100755 build-aux/ltmain.sh delete mode 100644 build-aux/snippet/_Noreturn.h delete mode 100644 build-aux/snippet/unused-parameter.h delete mode 100644 build-aux/snippet/warn-on-use.h create mode 100755 build-aux/test-driver delete mode 100644 doc/Makefile.gdoc delete mode 100644 doc/Makefile.gdoci delete mode 100644 doc/cyclo/cyclo-libidn.html create mode 100644 doc/example.txt create mode 100644 doc/example2.txt create mode 100644 doc/example3.txt create mode 100644 doc/example4.txt create mode 100644 doc/example5.txt create mode 100644 doc/idn-help.texi delete mode 100644 doc/java/about.html delete mode 100644 doc/java/alphaindex.html delete mode 100644 doc/java/deprecated.html delete mode 100644 doc/java/gnu/inet/encoding/CombiningClass.html delete mode 100644 doc/java/gnu/inet/encoding/Composition.html delete mode 100644 doc/java/gnu/inet/encoding/DecompositionKeys.html delete mode 100644 doc/java/gnu/inet/encoding/DecompositionMappings.html delete mode 100644 doc/java/gnu/inet/encoding/IDNA.html delete mode 100644 doc/java/gnu/inet/encoding/IDNAException.html delete mode 100644 doc/java/gnu/inet/encoding/NFKC.html delete mode 100644 doc/java/gnu/inet/encoding/Punycode.html delete mode 100644 doc/java/gnu/inet/encoding/PunycodeException.html delete mode 100644 doc/java/gnu/inet/encoding/RFC3454.html delete mode 100644 doc/java/gnu/inet/encoding/Stringprep.html delete mode 100644 doc/java/gnu/inet/encoding/StringprepException.html delete mode 100644 doc/java/gnu/inet/encoding/classes.html delete mode 100644 doc/java/gnu/inet/encoding/package-summary.html delete mode 100644 doc/java/gnu/inet/encoding/tree.html delete mode 100644 doc/java/index.html delete mode 100644 doc/java/package-list delete mode 100644 doc/java/resources/gjdoc.js delete mode 100644 doc/java/resources/gjdochtml-clean-color1.css delete mode 100644 doc/java/resources/gjdochtml-clean-layout.css delete mode 100644 doc/java/resources/inherit.png delete mode 100644 doc/java/serialized-form.html delete mode 100644 doc/libidn.html delete mode 100644 doc/libidn.pdf delete mode 100644 doc/libidn.ps create mode 100644 doc/reference/html/api-index-deprecated.html delete mode 100644 doc/reference/html/index.sgml create mode 100644 doc/reference/html/left-insensitive.png create mode 100644 doc/reference/html/libidn-idn-free.h.html delete mode 100644 doc/reference/html/libidn-idn-free.html create mode 100644 doc/reference/html/libidn-idna.h.html delete mode 100644 doc/reference/html/libidn-idna.html create mode 100644 doc/reference/html/libidn-pr29.h.html delete mode 100644 doc/reference/html/libidn-pr29.html create mode 100644 doc/reference/html/libidn-punycode.h.html delete mode 100644 doc/reference/html/libidn-punycode.html create mode 100644 doc/reference/html/libidn-stringprep.h.html delete mode 100644 doc/reference/html/libidn-stringprep.html create mode 100644 doc/reference/html/libidn-tld.h.html delete mode 100644 doc/reference/html/libidn-tld.html create mode 100644 doc/reference/html/right-insensitive.png create mode 100644 doc/reference/html/up-insensitive.png rename doc/reference/{libidn-docs.sgml => libidn-docs.xml} (95%) delete mode 100644 doc/reference/libidn.types delete mode 100644 doc/reference/tmpl/idn-free.sgml delete mode 100644 doc/reference/tmpl/idna.sgml delete mode 100644 doc/reference/tmpl/pr29.sgml delete mode 100644 doc/reference/tmpl/punycode.sgml delete mode 100644 doc/reference/tmpl/stringprep.sgml delete mode 100644 doc/reference/tmpl/tld.sgml rename doc/{reference/tmpl/libidn-unused.sgml => stamp-gdoc} (100%) delete mode 100644 doc/texi/idn-free.c.texi delete mode 100644 doc/texi/idna.c.texi delete mode 100644 doc/texi/nfkc.c.texi delete mode 100644 doc/texi/pr29.c.texi delete mode 100644 doc/texi/punycode.c.texi delete mode 100644 doc/texi/strerror-idna.c.texi delete mode 100644 doc/texi/strerror-pr29.c.texi delete mode 100644 doc/texi/strerror-punycode.c.texi delete mode 100644 doc/texi/strerror-stringprep.c.texi delete mode 100644 doc/texi/strerror-tld.c.texi delete mode 100644 doc/texi/stringprep.c.texi delete mode 100644 doc/texi/tld.c.texi delete mode 100644 doc/texi/toutf8.c.texi delete mode 100644 doc/texi/version.c.texi delete mode 100644 doc/texinfo.css create mode 100644 fuzz/Makefile.am create mode 100644 fuzz/Makefile.in create mode 100644 fuzz/README.md create mode 100644 fuzz/fuzzer.h create mode 100644 fuzz/libidn_stringprep_fuzzer.c create mode 100644 fuzz/libidn_toascii_fuzzer.c create mode 100644 fuzz/libidn_tounicode_fuzzer.c create mode 100644 fuzz/libidn_tounicode_fuzzer.dict create mode 100644 fuzz/libidn_tounicode_fuzzer.repro/clusterfuzz-testcase-6105917865066496 create mode 100644 fuzz/main.c create mode 100644 gl/_Noreturn.h create mode 100644 gl/alloca.in.h rename {build-aux/snippet => gl}/arg-nonnull.h (61%) create mode 100644 gl/assert.in.h create mode 100644 gl/basename-lgpl.c create mode 100644 gl/basename-lgpl.h rename {build-aux/snippet => gl}/c++defs.h (63%) create mode 100644 gl/cloexec.c create mode 100644 gl/cloexec.h rename {gltests => gl}/close.c (52%) create mode 100644 gl/dup2.c delete mode 100644 gl/error.h create mode 100644 gl/error.in.h create mode 100644 gl/fcntl.c rename {gltests => gl}/fcntl.in.h (63%) rename {gltests => gl}/fd-hook.c (81%) rename {gltests => gl}/fd-hook.h (86%) create mode 100644 gl/filename.h create mode 100644 gl/fstat.c create mode 100644 gl/getdelim.c create mode 100644 gl/getdtablesize.c create mode 100644 gl/getline.c create mode 100644 gl/getopt-cdefs.in.h create mode 100644 gl/getopt-core.h create mode 100644 gl/getopt-ext.h create mode 100644 gl/getopt-pfx-core.h create mode 100644 gl/getopt-pfx-ext.h create mode 100644 gl/getprogname.c create mode 100644 gl/getprogname.h create mode 100644 gl/idx.h create mode 100644 gl/intprops-internal.h create mode 100644 gl/limits.in.h create mode 100644 gl/m4/absolute-header.m4 create mode 100644 gl/m4/assert_h.m4 create mode 100644 gl/m4/c-bool.m4 rename {m4 => gl/m4}/codeset.m4 (58%) create mode 100644 gl/m4/double-slash-root.m4 delete mode 100644 gl/m4/environ.m4 create mode 100644 gl/m4/error_h.m4 create mode 100644 gl/m4/extern-inline.m4 create mode 100644 gl/m4/fcntl-o.m4 create mode 100644 gl/m4/fcntl.m4 delete mode 100644 gl/m4/fdopen.m4 delete mode 100644 gl/m4/getcwd.m4 create mode 100644 gl/m4/getdelim.m4 create mode 100644 gl/m4/getdtablesize.m4 create mode 100644 gl/m4/getline.m4 create mode 100644 gl/m4/getprogname.m4 rename {lib/gl => gl}/m4/ld-output-def.m4 (87%) create mode 100644 gl/m4/ld-version-script.m4 create mode 100644 gl/m4/limits-h.m4 rename {lib/gl => gl}/m4/locale-fr.m4 (62%) delete mode 100644 gl/m4/lstat.m4 delete mode 100644 gl/m4/malloc.m4 create mode 100644 gl/m4/musl.m4 create mode 100644 gl/m4/open-cloexec.m4 create mode 100644 gl/m4/open-slash.m4 delete mode 100644 gl/m4/putenv.m4 delete mode 100644 gl/m4/setenv.m4 create mode 100644 gl/m4/stat-time.m4 delete mode 100644 gl/m4/stdbool.m4 delete mode 100644 gl/m4/symlink.m4 create mode 100644 gl/m4/visibility.m4 delete mode 100644 gl/m4/wchar_h.m4 rename {m4 => gl/m4}/wchar_t.m4 (62%) create mode 100644 gl/m4/wint_t.m4 create mode 100644 gl/m4/zzgnulib.m4 create mode 100644 gl/malloca.c rename {lib/gltests => gl}/malloca.h (57%) rename {gltests => gl}/open.c (61%) rename {gltests => gl}/pathmax.h (69%) create mode 100644 gl/stat-time.c create mode 100644 gl/stat-time.h create mode 100644 gl/stat-w32.c create mode 100644 gl/stat-w32.h create mode 100644 gl/stat.c create mode 100644 gl/stdckdint.in.h create mode 100644 gl/stdint.in.h create mode 100644 gl/stdio-read.c create mode 100644 gl/stdio-write.c rename {gltests => gl}/stdio.in.h (58%) create mode 100644 gl/stdlib.in.h rename {gltests => gl}/sys_stat.in.h (56%) create mode 100644 gl/time.in.h create mode 100644 gl/unistd.c create mode 100644 gl/warn-on-use.h create mode 100644 gl/xalloc-oversized.h delete mode 100644 gltests/Makefile.am delete mode 100644 gltests/Makefile.in delete mode 100644 gltests/alloca.in.h delete mode 100644 gltests/binary-io.h delete mode 100644 gltests/dosname.h delete mode 100644 gltests/dup2.c delete mode 100644 gltests/fdopen.c delete mode 100644 gltests/fstat.c delete mode 100644 gltests/getcwd-lgpl.c delete mode 100644 gltests/ignore-value.h delete mode 100644 gltests/init.sh delete mode 100644 gltests/lstat.c delete mode 100644 gltests/macros.h delete mode 100644 gltests/malloc.c delete mode 100644 gltests/malloca.c delete mode 100644 gltests/malloca.h delete mode 100644 gltests/malloca.valgrind delete mode 100644 gltests/putenv.c delete mode 100644 gltests/same-inode.h delete mode 100644 gltests/setenv.c delete mode 100644 gltests/signature.h delete mode 100644 gltests/stat.c delete mode 100644 gltests/stdbool.in.h delete mode 100644 gltests/stdint.in.h delete mode 100644 gltests/stdlib.in.h delete mode 100644 gltests/symlink.c delete mode 100644 gltests/test-alloca-opt.c delete mode 100644 gltests/test-binary-io.c delete mode 100755 gltests/test-binary-io.sh delete mode 100644 gltests/test-close.c delete mode 100644 gltests/test-dup2.c delete mode 100644 gltests/test-environ.c delete mode 100644 gltests/test-errno.c delete mode 100644 gltests/test-fdopen.c delete mode 100644 gltests/test-fgetc.c delete mode 100644 gltests/test-fputc.c delete mode 100644 gltests/test-fread.c delete mode 100644 gltests/test-fstat.c delete mode 100644 gltests/test-fwrite.c delete mode 100644 gltests/test-getcwd-lgpl.c delete mode 100644 gltests/test-getopt.c delete mode 100644 gltests/test-getopt.h delete mode 100644 gltests/test-getopt_long.h delete mode 100644 gltests/test-ignore-value.c delete mode 100755 gltests/test-init.sh delete mode 100644 gltests/test-intprops.c delete mode 100644 gltests/test-inttypes.c delete mode 100644 gltests/test-lstat.c delete mode 100644 gltests/test-lstat.h delete mode 100644 gltests/test-malloca.c delete mode 100644 gltests/test-open.c delete mode 100644 gltests/test-open.h delete mode 100644 gltests/test-pathmax.c delete mode 100644 gltests/test-setenv.c delete mode 100644 gltests/test-stat.c delete mode 100644 gltests/test-stat.h delete mode 100644 gltests/test-stdbool.c delete mode 100644 gltests/test-stddef.c delete mode 100644 gltests/test-stdint.c delete mode 100644 gltests/test-stdio.c delete mode 100644 gltests/test-strerror.c delete mode 100644 gltests/test-symlink.c delete mode 100644 gltests/test-symlink.h delete mode 100644 gltests/test-sys_types.c delete mode 100644 gltests/test-unsetenv.c delete mode 100755 gltests/test-vc-list-files-cvs.sh delete mode 100755 gltests/test-vc-list-files-git.sh delete mode 100644 gltests/test-verify.c delete mode 100755 gltests/test-verify.sh delete mode 100644 gltests/test-version-etc.c delete mode 100755 gltests/test-version-etc.sh delete mode 100644 gltests/time.in.h delete mode 100644 gltests/unsetenv.c delete mode 100644 gltests/version-etc-fsf.c delete mode 100644 gltests/wchar.in.h create mode 100644 java/LICENSE-2.0.txt delete mode 100644 java/gnu/Makefile.in delete mode 100644 java/gnu/inet/Makefile.in delete mode 100644 java/gnu/inet/encoding/Makefile.in delete mode 100644 java/libidn-1.25.jar delete mode 100644 java/misc/Makefile.in create mode 100644 java/pom.xml.in rename tests/libidn.supp => java/src/Makefile.am (59%) create mode 100644 java/src/Makefile.in create mode 100644 java/src/main/Makefile.am create mode 100644 java/src/main/Makefile.in create mode 100644 java/src/main/java/Makefile.am create mode 100644 java/src/main/java/Makefile.in rename java/{ => src/main/java}/gnu/Makefile.am (85%) create mode 100644 java/src/main/java/gnu/Makefile.in rename java/{ => src/main/java}/gnu/inet/Makefile.am (85%) create mode 100644 java/src/main/java/gnu/inet/Makefile.in rename java/{ => src/main/java}/gnu/inet/encoding/CombiningClass.java (100%) rename java/{ => src/main/java}/gnu/inet/encoding/Composition.java (100%) rename java/{ => src/main/java}/gnu/inet/encoding/DecompositionKeys.java (100%) rename java/{ => src/main/java}/gnu/inet/encoding/DecompositionMappings.java (100%) rename java/{ => src/main/java}/gnu/inet/encoding/IDNA.java (95%) rename java/{ => src/main/java}/gnu/inet/encoding/IDNAException.java (93%) rename java/{ => src/main/java}/gnu/inet/encoding/Makefile.am (84%) create mode 100644 java/src/main/java/gnu/inet/encoding/Makefile.in rename java/{ => src/main/java}/gnu/inet/encoding/NFKC.java (93%) rename java/{ => src/main/java}/gnu/inet/encoding/Punycode.java (96%) rename java/{ => src/main/java}/gnu/inet/encoding/PunycodeException.java (92%) rename java/{ => src/main/java}/gnu/inet/encoding/RFC3454.java (100%) create mode 100644 java/src/main/java/gnu/inet/encoding/RangeSet.java rename java/{ => src/main/java}/gnu/inet/encoding/Stringprep.java (55%) rename java/{ => src/main/java}/gnu/inet/encoding/StringprepException.java (93%) create mode 100644 java/src/test/Makefile.am create mode 100644 java/src/test/Makefile.in rename java/{misc => src/test/java}/Makefile.am (75%) create mode 100644 java/src/test/java/Makefile.in create mode 100644 java/src/util/Makefile.am create mode 100644 java/src/util/Makefile.in rename java/{misc => src/util/java}/GenerateNFKC.java (97%) rename java/{misc => src/util/java}/GenerateRFC3454.java (96%) create mode 100644 java/src/util/java/Makefile.am create mode 100644 java/src/util/java/Makefile.in rename java/{misc => src/util/java}/TestIDNA.java (88%) rename java/{misc => src/util/java}/TestNFKC.java (94%) create mode 100644 lib/gl/_Noreturn.h create mode 100644 lib/gl/arg-nonnull.h create mode 100644 lib/gl/attribute.h create mode 100644 lib/gl/c++defs.h create mode 100644 lib/gl/cdefs.h create mode 100644 lib/gl/free.c create mode 100644 lib/gl/iconv_open-zos.gperf create mode 100644 lib/gl/iconv_open-zos.h rename {gltests => lib/gl}/inttypes.in.h (57%) create mode 100644 lib/gl/langinfo.in.h create mode 100644 lib/gl/libc-config.h create mode 100644 lib/gl/limits.in.h create mode 100644 lib/gl/m4/__inline.m4 create mode 100644 lib/gl/m4/free.m4 create mode 100644 lib/gl/m4/host-cpu-c-abi.m4 create mode 100644 lib/gl/m4/iconv.m4 rename {gl => lib/gl}/m4/inttypes.m4 (72%) create mode 100644 lib/gl/m4/langinfo_h.m4 delete mode 100644 lib/gl/m4/ld-version-script.m4 create mode 100644 lib/gl/m4/lib-ld.m4 rename {m4 => lib/gl/m4}/lib-link.m4 (78%) create mode 100644 lib/gl/m4/lib-prefix.m4 delete mode 100644 lib/gl/m4/locale-ja.m4 delete mode 100644 lib/gl/m4/locale-tr.m4 delete mode 100644 lib/gl/m4/locale-zh.m4 delete mode 100644 lib/gl/m4/locale_h.m4 delete mode 100644 lib/gl/m4/localename.m4 delete mode 100644 lib/gl/m4/setlocale.m4 delete mode 100644 lib/gl/m4/thread.m4 create mode 100644 lib/gl/m4/wchar_h.m4 delete mode 100644 lib/gl/m4/yield.m4 delete mode 100644 lib/gl/stdbool.in.h create mode 100644 lib/gl/stdlib.in.h create mode 100644 lib/gl/sys_types.in.h create mode 100644 lib/gl/unistd.c rename lib/{gltests => gl}/unistd.in.h (55%) create mode 100644 lib/gl/unistr/u8-check.c create mode 100644 lib/gl/warn-on-use.h create mode 100644 lib/gl/wchar.in.h delete mode 100644 lib/gltests/Makefile.am delete mode 100644 lib/gltests/Makefile.in delete mode 100644 lib/gltests/alloca.in.h delete mode 100644 lib/gltests/glthread/lock.c delete mode 100644 lib/gltests/glthread/lock.h delete mode 100644 lib/gltests/glthread/thread.c delete mode 100644 lib/gltests/glthread/thread.h delete mode 100644 lib/gltests/glthread/threadlib.c delete mode 100644 lib/gltests/glthread/yield.h delete mode 100644 lib/gltests/init.sh delete mode 100644 lib/gltests/intprops.h delete mode 100644 lib/gltests/inttypes.in.h delete mode 100644 lib/gltests/locale.in.h delete mode 100644 lib/gltests/localename.c delete mode 100644 lib/gltests/localename.h delete mode 100644 lib/gltests/macros.h delete mode 100644 lib/gltests/malloc.c delete mode 100644 lib/gltests/malloca.c delete mode 100644 lib/gltests/malloca.valgrind delete mode 100644 lib/gltests/putenv.c delete mode 100644 lib/gltests/setenv.c delete mode 100644 lib/gltests/setlocale.c delete mode 100644 lib/gltests/signature.h delete mode 100644 lib/gltests/stdlib.in.h delete mode 100644 lib/gltests/sys_types.in.h delete mode 100644 lib/gltests/test-alloca-opt.c delete mode 100644 lib/gltests/test-c-ctype.c delete mode 100755 lib/gltests/test-c-strcase.sh delete mode 100644 lib/gltests/test-c-strcasecmp.c delete mode 100644 lib/gltests/test-c-strncasecmp.c delete mode 100644 lib/gltests/test-environ.c delete mode 100644 lib/gltests/test-iconv.c delete mode 100755 lib/gltests/test-init.sh delete mode 100644 lib/gltests/test-intprops.c delete mode 100644 lib/gltests/test-inttypes.c delete mode 100644 lib/gltests/test-locale.c delete mode 100644 lib/gltests/test-localename.c delete mode 100644 lib/gltests/test-lock.c delete mode 100644 lib/gltests/test-malloca.c delete mode 100644 lib/gltests/test-setenv.c delete mode 100644 lib/gltests/test-setlocale1.c delete mode 100755 lib/gltests/test-setlocale1.sh delete mode 100644 lib/gltests/test-setlocale2.c delete mode 100755 lib/gltests/test-setlocale2.sh delete mode 100644 lib/gltests/test-stdbool.c delete mode 100644 lib/gltests/test-stddef.c delete mode 100644 lib/gltests/test-stdint.c delete mode 100644 lib/gltests/test-stdlib.c delete mode 100644 lib/gltests/test-striconv.c delete mode 100644 lib/gltests/test-strverscmp.c delete mode 100644 lib/gltests/test-sys_types.c delete mode 100644 lib/gltests/test-sys_wait.h delete mode 100644 lib/gltests/test-thread_create.c delete mode 100644 lib/gltests/test-thread_self.c delete mode 100644 lib/gltests/test-unistd.c delete mode 100644 lib/gltests/test-unsetenv.c delete mode 100644 lib/gltests/test-verify.c delete mode 100755 lib/gltests/test-verify.sh delete mode 100644 lib/gltests/unistr/test-u8-mbtoucr.c delete mode 100644 lib/gltests/unistr/test-u8-uctomb.c delete mode 100644 lib/gltests/unsetenv.c delete mode 100644 lib/gltests/verify.h delete mode 100644 lib/gltests/wchar.in.h rename libidn.pc.in => lib/libidn.pc.in (90%) rename {m4 => lib/m4}/gettext.m4 (86%) create mode 100644 lib/m4/gtk-doc.m4 rename {m4 => lib/m4}/intlmacosx.m4 (64%) rename {m4 => lib/m4}/libtool.m4 (72%) rename {m4 => lib/m4}/ltoptions.m4 (73%) rename {m4 => lib/m4}/ltsugar.m4 (95%) rename {m4 => lib/m4}/ltversion.m4 (68%) rename {m4 => lib/m4}/lt~obsolete.m4 (98%) rename {m4 => lib/m4}/nls.m4 (81%) rename {m4 => lib/m4}/po.m4 (92%) rename {m4 => lib/m4}/progtest.m4 (79%) create mode 100644 lib/rfc3454.h delete mode 100644 m4/ac_prog_jar.m4 create mode 100644 m4/ax_java_options.m4 create mode 100644 m4/ax_prog_jar.m4 create mode 100644 m4/ax_prog_javac.m4 create mode 100644 m4/ax_prog_javac_works.m4 create mode 100644 m4/ax_prog_javadoc.m4 delete mode 100644 m4/fcntl-o.m4 delete mode 100644 m4/gtk-doc.m4 delete mode 100644 m4/iconv.m4 delete mode 100644 m4/inttypes-pri.m4 delete mode 100644 m4/lcmessage.m4 delete mode 100644 m4/lib-ld.m4 delete mode 100644 m4/lib-prefix.m4 delete mode 100644 m4/lock.m4 delete mode 100644 m4/longlong.m4 delete mode 100644 m4/threadlib.m4 delete mode 100644 m4/update-header-version.m4 delete mode 100644 m4/visibility.m4 delete mode 100644 m4/wint_t.m4 delete mode 100644 po/en@boldquot.gmo delete mode 100644 po/en@boldquot.po delete mode 100644 po/en@quot.gmo delete mode 100644 po/en@quot.po create mode 100644 po/es.gmo create mode 100644 po/es.po create mode 100644 po/hr.gmo create mode 100644 po/hr.po create mode 100644 po/hu.gmo create mode 100644 po/hu.po create mode 100644 po/ka.gmo create mode 100644 po/ka.po create mode 100644 po/ko.gmo create mode 100644 po/ko.po create mode 100644 po/pt_BR.gmo create mode 100644 po/pt_BR.po create mode 100644 po/sv.gmo create mode 100644 po/sv.po delete mode 100644 pom.xml.in create mode 100755 tests/standalone.sh create mode 100644 tests/tst_badutf8.c create mode 100644 tests/tst_badutf8nfkc.c create mode 100644 tests/tst_toascii64oob.c create mode 100644 tests/tst_utf8crash.c create mode 100644 tests/tst_versions.c rename {win32 => windows}/include/ac-stdint.h (66%) rename {win32 => windows}/include/config.h (73%) rename {win32 => windows}/include/idn-int.h (90%) rename {win32 => windows}/include/stdbool.h (78%) rename {win32 => windows}/include/unistd.h (100%) rename {win32 => windows}/libidn.sln (100%) rename {win32 => windows}/libidn.vcproj (100%) rename {win32 => windows}/libidn4win.mk (72%) diff --git a/ABOUT-NLS b/ABOUT-NLS index b1de1b6..3cc8286 100644 --- 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 -a 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 --- 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 @@ -11,709 +11,20 @@ Contributed TLD support. Oliver Hitz Contributed Java implementation. +Stefan Larsson +Optimized Java implementation. Added Maven support. + Alexander Gnauck Contributed C# port. Adam Strzelecki 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. - -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 -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 -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 -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 -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 -=oc2d ------END PGP PUBLIC KEY BLOCK----- +Tim Ruehsen +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 index 0000000..b68a5eb --- /dev/null +++ b/CONTRIBUTING.md @@ -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 +- C compiler +- Automake +- Autoconf +- Libtool +- Gettext +- Texinfo +- Gperf +- help2man +- Gengetopt +- Tar +- Gzip +- Texlive & epsf (for PDF manual) +- GTK-DOC (for API manual) +- Git +- Perl +- Valgrind (optional) +- OpenJDK (for java port) +- Mono mcs (for C# port) +- fig2dev + +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 --- 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 diff --git a/COPYINGv3 b/COPYINGv3 index 94a9ed0..2a00065 100644 --- 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 . + along with this program. If not, see . 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 -. +. 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 -. +. diff --git a/ChangeLog b/ChangeLog index 74d4634..70feace 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,14051 +1,8327 @@ -2012-05-23 Simon Josefsson +2024-01-13 Simon Josefsson - * NEWS: Version 1.25. + version 1.42 + * NEWS: Record release date. -2012-05-23 Simon Josefsson + 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 + 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 + doc: Add NEWS entry about Windows fix. - * cfg.mk: Push to git after doing gnupload. + Silence compiler warnings. -2012-05-22 Simon Josefsson +2024-01-13 Francesco Pretto - * po/id.po.in: Sync with TP. + Fix type confusion for Windows. -2012-05-22 Simon Josefsson +2024-01-13 Simon Josefsson - * 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 + 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 + cicd: More make -j. - * HACKING: Fix valgrind wording. + maint: Fix codespell. -2012-05-10 Nitin A Kamble + 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 + cicd: Add Windows/arm64/ppc64 jobs. Fix macOS jobs. -2012-04-27 Simon Josefsson +2024-01-01 Simon Josefsson - * NEWS: Add. + cicd: Use standard stage naming. Some macOS/gcc/clang fixes. -2012-04-27 Simon Josefsson + 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 + maint: Don't disable copyright_check. - * .gitignore: Ignore more. + Sync bootstrap scripts. -2012-04-27 Simon Josefsson + maint: Update gnulib submodule. - * HACKING: Mention release tools. + cicd: Improve macOS testing. -2012-04-27 Simon Josefsson +2023-11-12 Simon Josefsson - * 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 + 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 + 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 -2012-04-27 Simon Josefsson + cicd: Update build-image names. - * .gitignore: Ignore more. +2023-11-06 Simon Josefsson -2012-04-27 Simon Josefsson + Add NEWS entries. - * HACKING, NEWS, tests/Makefile.am, tests/libidn.supp: Add valgrind - suppressions file. + Indent code. -2012-04-10 Simon Josefsson + Sync bootstrap scripts. - * NEWS, THANKS, win32/include/config.h: Dummy defines for - _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE. Reported by Bartosz Brachaczek in + Update gnulib. - . + cicd: Use stable debian releases. Fix armcross build failure. -2012-03-06 Simon Josefsson +2023-05-07 Tim Rühsen - * 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 + See merge request libidn/libidn!1 - * cfg.mk: Typos. +2023-05-07 Tim Rühsen -2012-01-10 Simon Josefsson + lib/gen-tld-tables.pl: include config.h - * cfg.mk: Drop files. +2023-01-01 Simon Josefsson -2012-01-10 Simon Josefsson + maint: Fix syntax-check. - * NEWS, configure.ac, lib/stringprep.h: Bump versions. + maint: Run 'make my-update-copyright'. -2012-01-10 Simon Josefsson + Sync bootstrap script. - * doc/announce.txt: Update for 1.24. + Update gnulib git submodule. -2012-01-10 Simon Josefsson +2022-11-27 Simon Josefsson - * doc/announce.txt: Update for 1.23. + cicd: Use extends:.test more. Check with VERBOSE=t. -2012-01-10 Simon Josefsson +2022-11-05 Simon Josefsson - * ChangeLog: Generated. + cicd: Test clang-15. -2012-01-10 Simon Josefsson + Update gnulib submodule. - * NEWS: Version 1.24. +2022-09-06 Simon Josefsson -2012-01-09 Simon Josefsson + maint: Update review-diff rule. - * doc/reference/libidn-docs.sgml: Fix markup. + cicd: Test coverity variables before use. -2012-01-09 Simon Josefsson + 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 +2022-09-05 Simon Josefsson - * Makefile.am: Also dist COPYING* files. + cicd: Add coverity and sast. -2012-01-09 Simon Josefsson +2022-08-16 Simon Josefsson - * 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 + Update gnulib. - * tests/tst_pr29.c, tests/utils.c: tst_pr29: Print more debug info. +2022-08-14 Simon Josefsson -2012-01-09 Simon Josefsson + 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 + 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 +2022-07-11 Simon Josefsson - * NEWS, THANKS, lib/pr29.c, tests/tst_pr29.c: libidn: Fix potential - infloop in pr29 code. Reported by Jon Nelson in + doc: Drop obsolete HTML hacks (we now use gendocs). - . + Doc fix of bootstrap M4 hack. -2012-01-08 Simon Josefsson - - * NEWS: Fix. - -2012-01-08 Simon Josefsson - - * doc/Makefile.am, doc/gpl-3.0.texi, doc/lgpl-3.0.texi: Cleanup - copyright info. - -2012-01-08 Simon Josefsson - - * 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 - - * 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 - - * lib/idna.c: Put strlen calls in its own line, to simplify valgrind - output analysis. - -2012-01-05 Simon Josefsson - - * 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 - - * HACKING, Makefile.am, README-alpha: Rename README-alpha to HACKING - and include it in tarballs. - -2012-01-05 Simon Josefsson - - * configure.ac: Print whether libiconv was found. - -2012-01-03 Simon Josefsson - - * 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 - - * po/rw.po.in: Remove stale translation. - -2012-01-02 Simon Josefsson - - * 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 - - * .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 - - * THANKS: Mention gnulib in THANKS. - -2011-12-27 Simon Josefsson - - * AUTHORS: Update key. - -2011-12-27 Simon Josefsson - - * NEWS, lib/nfkc.c: Sync glib NFKC code and improve - copyright/license statements. - -2011-12-27 Simon Josefsson - - * NEWS, po/it.po.in: Sync with TP. - -2011-12-27 Simon Josefsson + 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 + configure.ac: Use new iconv summary variable. - * NEWS, THANKS: Give credit. + maint: Update gnulib. -2011-12-27 Simon Josefsson +2022-07-09 Simon Josefsson - * lib/Makefile.am: Fix parallel MinGW-builds (no deps for - libidn-X.def). Clean libidn-X.def. Reported by René Berber . + Use proper variable for iconv diagnostics. Drop obsolete warning. -2011-11-30 Simon Josefsson +2022-06-26 Simon Josefsson - * 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 - - * NEWS, configure.ac, lib/stringprep.h: Bump versions. +2022-06-25 Simon Josefsson -2011-11-28 Simon Josefsson + 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 + 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 + version 1.41 + * NEWS: Record release date. - * cfg.mk: Fix release rule. + Add header include. -2011-11-25 Simon Josefsson + Revert back to using assert to silence codacity. - * NEWS: Version 1.23. + maint: Don't dist generated cyclo output. -2011-11-25 Simon Josefsson + Rewrite tst_symbols to avoid warnings. - * doc/Makefile.am: Use copyright ranges in man pages. + Fix typo. -2011-11-25 Simon Josefsson + 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 + 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 + 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 + 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 + 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 + 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 + 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 +2022-06-20 Simon Josefsson - * tests/Makefile.am: Use -no-install instead of -static. - -2011-11-21 Simon Josefsson - - * configure.ac: Ignore some recent warnings. - -2011-11-21 Simon Josefsson - - * 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 - - * NEWS: Add. - -2011-11-21 Simon Josefsson - - * win32/libidn4win.mk: Ignore gnulib self-tests under Wine. - -2011-11-21 Simon Josefsson - - * .gitignore, win32/libidn4win.mk: Use separate build trees for - Windows 32 and 64 bit. - -2011-11-21 Simon Josefsson - - * cfg.mk: Create Windows binaries during release. - -2011-11-21 Simon Josefsson - - * doc/cyclo/Makefile.am: Fix links in generated cyclo output. - -2011-11-21 Simon Josefsson - - * configure.ac: Use silent build rules. - -2011-11-21 Simon Josefsson - - * .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 - - * .gitignore, cfg.mk: Update release rules. - -2011-11-21 Simon Josefsson - - * 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 + version 1.40 + * NEWS: Record release date. - * README-alpha: Doc fix. + Bump STRINGPREP_VERSION and add regression check. -2011-10-19 Simon Josefsson + 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 + doc: Add NEWS blurb. - * NEWS, THANKS, lib/idn-free.h: idn-free.h: Protect prototypes with - 'extern "C"' marker. Reported by Bittner Ede . + Require HAVE_LANGINFO_CODESET for stringprep_locale_charset. -2011-10-01 Simon Josefsson + Update gnulib files. - * NEWS: Mention TLD URL patch. +2022-02-20 Simon Josefsson -2011-09-30 Thomas Jacob + 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 Signed-off-by: - Simon Josefsson + Update copyright years. -2011-08-13 Simon Josefsson + 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 +2021-11-22 Simon Josefsson - * cfg.mk: Add some pre-release rules. + Update gnulib. -2011-05-05 Simon Josefsson +2021-11-19 Simon Josefsson - * NEWS: Update translations. + maint: Use UTF-8 instead of ISO-8859-1 encoding. -2011-05-05 Simon Josefsson +2021-10-28 Simon Josefsson - * 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 +2021-10-13 Simon Josefsson - * doc/announce.txt: Update for 1.22. + doc: Fix typo. -2011-05-04 Simon Josefsson +2021-09-24 Simon Josefsson - * NEWS, configure.ac, lib/stringprep.h: Bump versions. + doc: Mention minor fixes. -2011-05-04 Simon Josefsson + cicd: Fix debian10. - * ChangeLog: Generated. + maint: Use AM_V_GEN. -2011-05-04 Simon Josefsson + maint: Don't use GNU make extensions. - * NEWS: Version 1.22. + maint: Don't use GNU make extensions. -2011-05-04 Simon Josefsson +2021-09-23 Simon Josefsson - * 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 +2021-09-22 Simon Josefsson - * NEWS: Doc fix. + cicd: Debian11. -2011-05-03 Simon Josefsson + 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 . + maint: Java JAR archive no longer included in source tarball. -2011-05-03 Simon Josefsson +2021-09-19 Simon Josefsson - * 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 + maint. Use gnulib in submodule. - * cfg.mk: Improve coverage rule names. Drop mingw rules (see - win32/libidn4win.mk). +2021-09-18 Simon Josefsson -2011-04-28 Simon Josefsson + 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 . +2021-09-10 Simon Josefsson -2011-04-25 Simon Josefsson + doc: Include copy of fdl, because it is a license. Improve texi. - * THANKS, doc/libidn.texi: Document --disable-valgrind-tests. Suggested by Guido Trentalancia . +2021-09-03 Simon Josefsson -2011-04-24 Simon Josefsson + maint: Remove trailing blanks. - * doc/announce.txt: Update for 1.21. + maint: Fix typos. -2011-04-24 Simon Josefsson + maint: Indent code. - * win32/libidn4win.mk: Fix. + Use new gnulib indent rules. -2011-04-24 Simon Josefsson +2021-07-22 Simon Josefsson - * 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 + version 1.38 + * NEWS: Record release date. - * NEWS, configure.ac: Bump version. + Bump STRINGPREP_VERSION. -2011-04-24 Simon Josefsson + Bump LT_VERSION. - * ChangeLog: Generated. + build: Rebuild cyclo-libidn.html when version changes. -2011-04-24 Simon Josefsson + Update. - * NEWS: Version 1.21. +2021-07-21 Simon Josefsson -2011-04-24 Simon Josefsson + build: Fix --disable-tld builds. - * NEWS, configure.ac: Demand newer gettext in order to get newer M4 - files. Reported by Dagobert Michelsen in - . + Simplify building of gdoc-generated man/texi outputs. -2011-04-24 Simon Josefsson + 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 + 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 -2011-03-21 Simon Josefsson + cicd: Add pages. - * NEWS, THANKS, win32/libidn.vcproj: Define LIBIDN_BUILDING. Tiny patch from Waqas Hussain . + doc: Improve GTK-DOC manual. -2011-03-05 Simon Josefsson + cicd: Fix Ubuntu 12.04 builds. - * win32/libidn4win.mk: Add. + Improve GTK-DOC manual. -2011-03-01 Simon Josefsson + Fix build errors related to doc/idn--help.texi. - * doc/announce.txt: Update for 1.20. +2021-05-23 Simon Josefsson -2011-03-01 Simon Josefsson + doc: Fix release process. - * NEWS, configure.ac: Bump versions. +2021-05-21 Simon Josefsson -2011-03-01 Simon Josefsson + doc: Improve HACKING instructions. - * NEWS: Fix release type. +2021-05-17 Simon Josefsson -2011-03-01 Simon Josefsson + Bootstrap cache. - * ChangeLog: Generated. +2021-05-15 Simon Josefsson -2011-03-01 Simon Josefsson + 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 + version 1.37 + * NEWS: Record release date. - * doc/Makefile.am: Bump copyright years. + Add. -2011-03-01 Simon Josefsson + Use gnulib's bootstrap. - * NEWS, THANKS, src/idn.c: idn: Only print license blurb on - interactive use. Reported by "Andrew O. Shadoura" and Roman Mamedov - in and - respectively. + Drop old unused WERROR_CFLAGS usage. -2011-03-01 Simon Josefsson - - * lib/Makefile.am: Disable build rules for no longer generated - files. - -2011-03-01 Simon Josefsson - - * 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 - - * .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 - - * NEWS, THANKS, lib/idna.c, tests/Makefile.am, tests/tst_idna3.c: - Fix ToUnicode case-insensitivity bug. Debian BTS #610617 reported by Stepan Golosunov - . - -2011-03-01 Simon Josefsson - - * NEWS: Add. - -2011-03-01 Simon Josefsson - - * po/da.po.in: Sync with TP. - -2011-03-01 Simon Josefsson - - * .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 - - * 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 - - * 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 - - * .gitignore: Ignore more. - -2010-10-27 Simon Josefsson - - * configure.ac: Avoid some warnings to make it build with modern gcc - on amd64. - -2010-09-30 Simon Josefsson - - * .x-sc_space_tab: Avoid syntax-check warning. - -2010-09-30 Simon Josefsson - - * 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 - - * doc/announce.txt: Doc fix. - -2010-05-24 Simon Josefsson - - * NEWS, configure.ac, lib/stringprep.h: Bump versions. - -2010-05-24 Simon Josefsson - - * doc/announce.txt: Update announce.txt for 1.19. - -2010-05-22 Simon Josefsson - - * .gitignore: Improve. - -2010-05-22 Simon Josefsson - - * cfg.mk: Dist API PDF manual. - -2010-05-22 Simon Josefsson - - * ChangeLog: Generated. - -2010-05-22 Simon Josefsson - - * NEWS: Version 1.19. - -2010-05-20 Simon Josefsson - - * 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 -2010-05-20 Simon Josefsson + Improve URLs. - * NEWS: Add. +2021-01-17 Simon Josefsson -2010-05-20 Simon Josefsson + 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 -2010-05-17 Simon Josefsson + 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 -2010-04-25 Simon Josefsson + Sync with TP. - * NEWS: Add. + Doc fixes. -2010-04-25 Simon Josefsson + 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 + Use gnulib langinfo module. - * lib/gl/m4/visibility.m4: Update gnulib files. + More ./configure summary output. -2010-04-19 Simon Josefsson + 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 + 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 + Require more recent automake and gtk-doc. - * NEWS: Add. + Fix .gitignore. -2010-04-12 Simon Josefsson + 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 + 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 + 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 + Prefer gnulib's M4 files over autopoint. - * m4/valgrind.m4: Sync valgrind.m4. + Modernize autoconf usage. -2010-03-30 Simon Josefsson + Use AM_GNU_GETTEXT_REQUIRE_VERSION. - * src/Makefile.am: Drop code (could never have worked anyway). + Update gnulib files. -2010-03-30 Simon Josefsson + 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 + 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 + Fix syntax-check. - * maint.mk: Update gnulib files. + Update copyright years. -2010-03-24 Simon Josefsson + Improve HACKING. - * doc/libidn.texi: Fix typos. Drop @acronym use. +2020-12-26 Simon Josefsson -2010-03-24 Simon Josefsson + 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 + 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 + 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 -2010-03-18 Simon Josefsson + 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 + 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 -2010-03-18 Simon Josefsson + Bump versions. - * README-alpha: Mention gengetopt. +2020-07-22 Simon Josefsson -2010-03-12 Simon Josefsson + 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 + Version 1.36. - * configure.ac: Reorder to avoid bootstrap warnings. + Sync with TP. -2010-03-12 Simon Josefsson + 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 -2010-03-09 Simon Josefsson + Fix build error on Mac OS X 10.5, Solaris 11 and AIX. + Reported by Bruno Haible . - * configure.ac: Explain deprecated libtool usage. +2020-06-10 Simon Josefsson -2010-03-09 Simon Josefsson + 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 + 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 + Sync with TP. - * configure.ac: Reorder. +2020-05-31 Simon Josefsson -2010-03-09 Simon Josefsson + Sync with TP. - * configure.ac: Don't use deprecated libtool functions. +2020-05-18 Simon Josefsson -2010-03-08 Simon Josefsson + Move fuzz-coverage rule to gmake-only cfg.mk. Fixes native AIX make. + Reported by Bruno Haible . - * 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 +2020-05-18 Bruno Haible - * .gitignore: Add. + Reduce the impact of Gnulib test failures. + * Makefile.am (SUBDIRS): Move gltests and lib/gltests after tests. -2010-02-24 Simon Josefsson +2020-05-18 Simon Josefsson - * NEWS, configure.ac, lib/stringprep.h: Bump versions. + Suggest to use --help when invalid command-line parameter was used. -2010-02-24 Simon Josefsson + Don't use old-style quotes. + Reported by Bruno Haible . - * 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 -2010-02-16 Simon Josefsson + Update gnulib files. - * doc/ANNOUNCE: Add. + tld: Add U+00EF to .nl TLD table. + Reported by Trond Haugen . -2010-02-15 Simon Josefsson + Update name/email on request. - * ChangeLog: Generated. + Doc fix. -2010-02-15 Simon Josefsson + Doc fix. - * cfg.mk: Release to ftp.gnu.org. + Add build-dep on dblatex for gtkdoc-mkpdf. -2010-02-15 Simon Josefsson + Add build-dep on autopoint. - * configure.ac, lib/stringprep.h: Bump versions. + Sync with TP. -2010-02-15 Simon Josefsson +2020-05-01 Tim Rühsen - * NEWS: Version 1.18. + Update file copyrights in fuzz/ -2010-02-15 Simon Josefsson +2020-04-30 Simon Josefsson - * NEWS: Add. + Fix ICONV error string. Suggested by Benno Schulenberg. -2010-02-15 Simon Josefsson + Restore pre-processor indentation. - * lib/libidn.map: Put forgotten symbols under old namespace. Suggested by Marco d'Itri in - . +2020-04-29 Simon Josefsson -2010-02-15 Simon Josefsson + 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 + Install build deps. - * ChangeLog: Generated. + Add GitLab CI rules. -2010-02-05 Simon Josefsson +2020-04-28 Simon Josefsson - * NEWS: Version 1.17. + Fix NEWS. -2010-02-05 Simon Josefsson + Bump versions. - * cfg.mk: Make this an alpha release. + Ignore more. -2010-02-05 Simon Josefsson + 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 + Fix syntax-checks. - * NEWS: Add. + Bump copyright years. -2010-02-05 Simon Josefsson + 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 + Provide local copies of autoconf-archive Java M4's. - * NEWS: Clarify. + Update copyright years. -2010-02-05 Simon Josefsson +2019-05-24 Tim Rühsen - * tests/Makefile.am: Another test for MinGW builds. + Fix tests, adding gltests/test-once.c -2010-02-05 Simon Josefsson + 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 +2018-07-10 Miroslav Lichvar - * tests/Makefile.am: Simplify. + Fix unlikely memory leak in idna_to_unicode_4z4z -2010-02-05 Simon Josefsson +2018-07-06 Tim Rühsen - * 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 + Reported-by: Mike Schiffman (Farsight Security, Inc.) - * tests/Makefile.am: Drop EXEEXT, to see if MinGW builds improve. +2018-05-11 Tim Rühsen -2010-02-03 Simon Josefsson + Update HACKING - * NEWS: Fix. + Update release date in NEWS -2010-02-03 Simon Josefsson + 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 + 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 + Sync with TP. - * configure.ac: Bump copyright years. + Sync with TP. -2010-02-03 Simon Josefsson + Fix indentation - * NEWS: Add. + Update fuzzer corpora -2010-02-03 Simon Josefsson + Update fuzz/ stuff - * configure.ac: Bump libtool version to indicated "added" symbols. + Drop gcj since upstream dropped it -2010-02-03 Simon Josefsson +2018-05-09 Tim Rühsen - * doc/Makefile.am: Bump copyright years. + Prepare release -2010-02-03 Simon Josefsson + 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 + 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 and +2018-04-02 Tim Rühsen - for background. + Add missing gnulib files -2010-02-03 Simon Josefsson +2018-04-01 Tim Rühsen - * 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 +2018-03-31 Tim Rühsen - * cfg.mk, maint.mk: Improve syntax-check exception stuff. + Make code C89 compliant -2010-01-12 Simon Josefsson + 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 + Increase library revision - * gl/m4/gnulib-common.m4, gl/m4/warnings.m4: Check patch. + Remove autogenerated limits.h -2010-01-12 Simon Josefsson + Update AUTHORS - * m4/valgrind.m4: Fix valgrind.m4. + Update NEWS -2010-01-12 Simon Josefsson + 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 +2018-01-30 Tim Rühsen - * 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 + Reported-by: Rupert Gallagher - * lib/gen-unicode-tables.pl: Touch. +2018-01-09 Tim Rühsen -2010-01-12 Simon Josefsson + Fix cfg.mk, update .gitignore - * NEWS, configure.ac, lib/stringprep.h: Bump versions. + Bootstrap: Properly generate gtk-doc.make -2010-01-12 Simon Josefsson + 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 +2018-01-08 Tim Rühsen - * 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 +2018-01-05 Tim Rühsen - * .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 + .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 + configure.ac: Only use AM_SILENT_RULES if available - * .x-sc_cast_of_alloca_return_value: Add. +2018-01-04 Tim Rühsen -2010-01-12 Simon Josefsson + 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 + Remove auto-generated file build-aux/config.rpath - * cfg.mk: Commit cyclo/. +2017-11-03 Tim Rühsen -2010-01-12 Simon Josefsson + * lib/nfkc.c (combine_hangul): Fix integer overflow + Found by OSS-Fuzz. Has no impact. - * ChangeLog: Generated. +2017-10-04 Tim Rühsen -2010-01-12 Simon Josefsson + 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 +2017-10-04 Tim Rühsen - * 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 - - * gl/override/tests/dup2.c.diff, gltests/dup2.c: Add workaround for - Wine dup2 failure. - -2010-01-12 Simon Josefsson - - * 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 - - * gltests/dup2.c, maint.mk: Update gnulib files. - -2010-01-08 Simon Josefsson - - * lib/gunibreak.h, lib/gunicomp.h, lib/gunidecomp.h: Touch. - -2010-01-08 Simon Josefsson - - * lib/gen-unicode-tables.pl: Add comment. - -2010-01-08 Simon Josefsson - - * 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 - - * 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 - - * 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 - - * gl/Makefile.am, gltests/Makefile.am, lib/gl/Makefile.am, - lib/gltests/Makefile.am: Update gnulib files. - -2009-12-16 Simon Josefsson - - * NEWS: Add. - -2009-12-16 Simon Josefsson - - * 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 - - * 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 - - * 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 - - * 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 - - * gl/unistd.in.h: Update gnulib files. - -2009-10-08 Simon Josefsson - - * src/Makefile.am: Fix link error on mingw. - -2009-10-08 Simon Josefsson - - * 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 -2009-09-22 Simon Josefsson + 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 -2009-09-22 Simon Josefsson + 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 -2009-09-22 Simon Josefsson + 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 -2009-09-07 Simon Josefsson + Fix distcheck - * doc/libidn.texi: Note about OS/2 port. + Update .gitignore -2009-08-20 Simon Josefsson + Update fuzzer corpora - * maint.mk: Update gnulib files. + Add CTRL-C handling for run-clang.sh -2009-08-18 Simon Josefsson + 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 -2009-08-14 Simon Josefsson + 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 + 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 +2017-07-11 Tim Rühsen - * 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 + 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 +2017-07-10 Tim Rühsen - * README-alpha: Typo. + Fix run-clang.sh -2009-07-22 Simon Josefsson + 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 +2017-07-08 Tim Rühsen - * doc/libidn.texi: Typo. + Update fuzz corpora -2009-06-16 Simon Josefsson + 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 -2009-06-11 Simon Josefsson + Update fuzzer corpora and support scripts - * doc/texinfo.css: Fix. + Fix compilation with -Werror and --enable-gcc-warnings -2009-06-08 Simon Josefsson + Extend stringprep fuzzer + corpora - * doc/libidn.texi: Add version number to manual title. +2017-06-30 Tim Rühsen -2009-06-08 Simon Josefsson + 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 + 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 -2009-06-08 Simon Josefsson + 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 + 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 +2017-06-29 Tim Rühsen - * NEWS: Version 1.15. + Increase speed of stringprep by ~20x -2009-06-08 Simon Josefsson +2017-06-28 Tim Rühsen - * NEWS: Fix. + New fuzzer target libidn_stringprep_fuzzer -2009-06-08 Simon Josefsson +2017-06-24 Tim Rühsen - * NEWS: Fix. + Add make target 'fuzz-coverage' -2009-06-05 Simon Josefsson + New fuzzer target libidn_tounicode_fuzzer - * NEWS: Add. + Improved libidn_toascii_fuzzer -2009-06-05 Simon Josefsson + 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 + 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 +2017-06-23 Tim Rühsen - * configure.ac, lib/Makefile.am: Check stack usage in library. + Add initial OSS-Fuzz testing -2009-06-01 Simon Josefsson +2017-06-21 Tim Rühsen - * gl/m4/manywarnings.m4: Update gnulib files. + Add --enable-ubsan configure flag to enable UB Sanitizer -2009-05-29 Simon Josefsson + Add --enable-asan configure flag to enable Address Sanitizer - * NEWS, THANKS, lib/idna.c: Use c_strcasecmp instead of strcasecmp. - Reported by Guenter Knauf . +2017-02-01 Tim Rühsen -2009-05-28 Simon Josefsson + 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 + Update intprops.h for gcc-7 compatibility - * build-aux/gnupload: Update gnulib files. +2016-07-22 Simon Josefsson -2009-05-27 Simon Josefsson + Mention OpenJDK. Suggested by Guus. - * gl/m4/include_next.m4, lib/gl/m4/include_next.m4: Update gnulib - files. +2016-07-20 Simon Josefsson -2009-05-20 Simon Josefsson + Add. - * m4/pkg.m4: Add. + Sync with TP. -2009-05-20 Simon Josefsson + 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 + Version 1.33. - * gtk-doc.make: Fix syntax-check. + Doc fix. -2009-05-11 Simon Josefsson + Ignore more. - * gtk-doc.make, m4/gtk-doc.m4: Upgrade gtk-doc files. + Update gnulib files. -2009-05-08 Simon Josefsson + 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 -2009-05-08 Simon Josefsson + Ignore more. - * cfg.mk: Make -Werror more optional. + Doc fix. -2009-05-07 Simon Josefsson + Really fix bug when reading \00 inputs. - * README-alpha: Fix. + Sync with TP. -2009-05-05 Simon Josefsson + Bump copyright notices. - * README-alpha: Fix. + Update gnulib files. -2009-05-05 Simon Josefsson + 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 + 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 + 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 +2015-08-10 Simon Josefsson - * 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 + 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 + 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 + 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 +2015-08-01 Simon Josefsson - * cfg.mk: Fix for modern git. + Update for 1.32. -2009-04-24 Simon Josefsson + 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 + 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 + Update gnulib files. - * .x-sc_the_the, cfg.mk, configure.ac: Syntax check fixes. + Bump versions. -2009-04-24 Simon Josefsson + 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 -2009-04-24 Simon Josefsson + 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 + 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 + Add. - * NEWS: Fix. + Sync with TP. -2009-04-23 Simon Josefsson + 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 +2015-07-07 Simon Josefsson - * NEWS, doc/libidn.texi: Improve texinfo section names. + Use LOG_COMPILER instead of TEST_ENVIRONMENT, for valgrind. -2009-04-17 Simon Josefsson + 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 -2009-04-14 Simon Josefsson + 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 -2009-04-14 Simon Josefsson + Update gnulib files. - * lib/stringprep.h: Bump version. +2015-03-02 Simon Josefsson -2009-04-14 Simon Josefsson + Version 1.30. - * java/misc/TestIDNA.java: Don't use assert keyword to avoid - compilation error. + Ignore more. -2009-04-14 Simon Josefsson + Ignore more. - * NEWS, configure.ac: Bump versions. + Sync gdoc. -2009-04-14 Simon Josefsson + 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 + 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 + Update copyright years. - * NEWS: Version 1.14. + Update gnulib files. -2009-04-03 Simon Josefsson + 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 +2014-11-27 Simon Josefsson - * 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 +2014-08-10 Simon Josefsson - * lib/toutf8.c: Assume locale.h. + Update for 1.29. -2009-03-25 Simon Josefsson + Update for 1.27. - * cfg.mk: Copy cyclo chart to webdir. + Version 1.29. -2009-03-25 Simon Josefsson + Ignore more. - * gl/unistd.in.h: Update gnulib files. + Sync with TP. -2009-03-23 Simon Josefsson + More copyright year updates. - * NEWS: Add. + Update PGP key. -2009-03-23 Simon Josefsson + Update copyright years. - * THANKS: Add. + Update gnulib files. -2009-03-23 Simon Josefsson +2013-10-24 Simon Josefsson - * tests/tst_toutf8.c: Don't crash in memcmp if - stringprep_utf8_to_locale returns NULL. Reported by Dagobert - Michelsen in - . + Don't build csharp code when building Windows binaries. -2009-03-19 Simon Josefsson + Use libiconv 1.14. - * GNUmakefile, build-aux/gnupload, maint.mk: Update gnulib files. + Update gnulib files. -2009-03-06 Simon Josefsson + Bump versions. - * NEWS, configure.ac, lib/stringprep.h: Bump version. + Mark internal variable "g_utf8_skip" as static. + Reported by Thomas Dineen . -2009-03-06 Simon Josefsson + Flush stdout to simplify for tools that buffer too heavily. + Tiny patch from Hugh Daschbach . - * ChangeLog: Generated. +2013-07-10 Simon Josefsson -2009-03-06 Simon Josefsson + Version 1.28. - * NEWS: Version 1.13. + Java doc fix. -2009-03-06 Simon Josefsson + Fix last commit. - * NEWS, THANKS: Add credits. + Add. -2009-03-06 Simon Josefsson + Fix -a and -u logic mixup. - * configure.ac: Don't use warnings unless we are using GCC. + Ignore more. -2009-03-06 Simon Josefsson + Sync with TP. - * NEWS: Fix. +2013-07-09 Simon Josefsson -2009-03-06 Simon Josefsson + Update gnulib files. - * NEWS: Add. + Add all classes. -2009-03-06 Simon Josefsson + Ignore more. - * build-aux/gnupload: Update gnulib files. +2013-07-08 Simon Josefsson -2009-03-04 Simon Josefsson + Bump gettext to 0.18.3 to work better with modern automake. - * NEWS: Fix. + Fix for recent automake. -2009-03-04 Simon Josefsson + Add. - * NEWS: Clarify. + Update gnulib files. -2009-03-04 Simon Josefsson +2013-06-06 Simon Josefsson - * doc/libidn.texi, lib/punycode.h, lib/tld.h: Namespace discussion. + Generated. -2009-03-04 Simon Josefsson + 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 +2013-06-05 Simon Josefsson - * lib/idn-free.h: Fix. + Prevent tool from crashing when stringprep_utf8_to_locale doesn't work. + Reported by Jeffrey Frey . -2009-03-04 Simon Josefsson + 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 + Ignore more. - * NEWS: Fix. + Version 1.27. -2009-03-04 Simon Josefsson + Add. - * NEWS: Add. + Add NEWS blurbs. -2009-03-04 Simon Josefsson + 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 + Sync with TP. - * doc/reference/Makefile.am: Ignore decorators. + Update gnulib files. -2009-03-04 Simon Josefsson + Fix .gitignore for new java stuff. - * lib/tld.h: Improve decorators. +2013-06-05 stela -2009-03-04 Simon Josefsson + 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 + 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 + 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 + 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 + Filter using RangeSet, reverse loops order - * NEWS: Add. + normalizeNFKC pre-allocates output, pre-calculate fixed input length -2009-03-03 Simon Josefsson + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 +2012-12-12 Simon Josefsson - * gl/m4/include_next.m4, lib/gl/m4/include_next.m4: Update gnulib - files. + Bump versions. -2009-02-10 Simon Josefsson + 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" - in - . +2012-12-11 Simon Josefsson -2009-02-09 Simon Josefsson + 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 + Version 1.26. - * lib/stringprep.h: Bump version. +2012-12-10 Simon Josefsson -2009-02-09 Simon Josefsson + 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 + 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 -2009-01-23 Simon Josefsson + Add. - * NEWS, configure.ac: Bump versions. + Fix mem leak. -2009-01-23 Simon Josefsson + Ignore more. - * ChangeLog: Generated. + Check for out-of-bounds read (trigger with in={'f','o','o'} and inlen=3). -2009-01-23 Simon Josefsson + Silence warning. - * NEWS: Version 1.12. + Update gnulib files. -2009-01-23 Simon Josefsson +2012-11-22 Simon Josefsson - * NEWS: Add. + Sync with TP. -2009-01-23 Simon Josefsson +2012-09-18 Simon Josefsson - * AUTHORS: Update PGP key. + Use modern gdoc.mk. -2009-01-23 Simon Josefsson + Silence clang warning in library. - * po/LINGUAS: Sync with TP. + Add. -2009-01-23 Simon Josefsson + Improve tld self-test. - * po/LINGUAS: Sync with TP. + Sync with TP. -2009-01-22 Simon Josefsson + 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 in - http://thread.gmane.org/gmane.comp.gnu.libidn.general/162 +2012-08-09 Simon Josefsson -2009-01-22 Simon Josefsson + Rename win32/ to windows/. - * doc/gdoc: Fix. + Update gnulib files. -2009-01-22 Simon Josefsson +2012-08-02 Simon Josefsson - * doc/Makefile.am: Use gdoc's -pkg-name. + Mention i18n update. -2009-01-22 Simon Josefsson + Sync with TP. - * doc/gdoc: Add -pkg-name parameter. + Silence syntax-check. -2009-01-22 Simon Josefsson + 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 . -2009-01-22 Simon Josefsson +2012-05-31 Simon Josefsson - * src/idn.c: Cleanup. + Use https URLs. -2009-01-22 Simon Josefsson +2012-05-28 Simon Josefsson - * src/idn.c: Bump copyright years. + Update for 1.25. -2009-01-22 Simon Josefsson +2012-05-25 Simon Josefsson - * src/idn.c: Update --help output per new GNU coding standards. + Improve debug output from version comparisons. -2009-01-19 Simon Josefsson +2012-05-23 Simon Josefsson - * gl/Makefile.am, gl/m4/unistd_h.m4, gl/unistd.in.h: Update gnulib - files. + Bump versions. -2009-01-19 Simon Josefsson + Fix release rules. - * doc/Makefile.am: Bump copyright years for man pages. + Version 1.25. -2009-01-17 Simon Josefsson + Fix. - * : Touch. +2012-05-22 Simon Josefsson -2009-01-17 Simon Josefsson + Use devhelp2 format. - * AUTHORS: Update PGP key. + Push to git after doing gnupload. -2009-01-17 Simon Josefsson + 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 + 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 -2009-01-17 Simon Josefsson + 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 -2009-01-05 Simon Josefsson + 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 -2009-01-05 Simon Josefsson + Add. - * lib/gl/override/lib/stdint.in.h.diff: Update. + Remove ChangeLog, it is generated. -2008-12-11 Simon Josefsson + Ignore more. - * configure.ac: Fix comment. + Mention release tools. -2008-12-11 Simon Josefsson + Update gnulib files. - * configure.ac: Fix warning initialization. - -2008-12-11 Simon Josefsson - - * configure.ac: Add warning flag. - -2008-12-11 Simon Josefsson - - * gl/m4/manywarnings.m4, lib/nfkc.c, maint.mk: Update gnulib files. - Fix warning. + Sync with TP. -2008-12-02 Simon Josefsson + Fix compiler warning about unused fgets return value. - * doc/libidn.texi: Fix java jar path. + Ignore more. -2008-12-02 Simon Josefsson + 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 -2008-12-02 Simon Josefsson + Dummy defines for _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE. + Reported by Bartosz Brachaczek + in . - * gl/m4/manywarnings.m4: Update gnulib files. +2012-03-06 Simon Josefsson -2008-12-02 Simon Josefsson + 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 -2008-11-29 Simon Josefsson + Typos. - * gl/override/doc/gendocs_template.diff: Fix +2012-01-10 Simon Josefsson -2008-11-29 Simon Josefsson + Drop files. - * gl/override/doc/gendocs_template.diff: Fix javadoc pointer. + Bump versions. -2008-11-17 Simon Josefsson + Update for 1.24. - * configure.ac: Rewrite warning initializations. + Update for 1.23. -2008-11-17 Simon Josefsson + Generated. - * gl/m4/warnings.m4: Update gnulib files. + Version 1.24. -2008-11-17 Simon Josefsson +2012-01-09 Simon Josefsson - * cfg.mk, configure.ac: Simplify warning handling. + Fix markup. -2008-11-17 Simon Josefsson + Sync intro texts. - * configure.ac, gl/m4/warnings.m4: Make configure slightly faster. + Also dist COPYING* files. -2008-11-17 Simon Josefsson + Update gnulib files. - * cfg.mk, configure.ac: Disable -Wunreachable-code. + tst_pr29: Print more debug info. -2008-11-17 Simon Josefsson + 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 -2008-11-17 Simon Josefsson + 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 in + . -2008-11-17 Simon Josefsson + Fix. - * cfg.mk, tests/tst_nfkc.c, tests/tst_pr29.c, tests/utils.h: Fix - warnings. + Cleanup copyright info. -2008-11-17 Simon Josefsson + 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 +2012-01-05 Simon Josefsson - * 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 + 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 + Print whether libiconv was found. - * build-aux/gnupload: Update gnulib files. +2012-01-03 Simon Josefsson -2008-11-13 Simon Josefsson + Update gnulib files. - * NEWS: Add. +2012-01-02 Simon Josefsson -2008-11-13 Simon Josefsson + Remove stale translation. - * lib/nfkc.c: Fix warning. + Update FSF copyright years. -2008-11-13 Simon Josefsson + 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 -2008-11-13 Simon Josefsson + Mention gnulib in THANKS. - * lib/nfkc.c: Fix warnings. + Update key. -2008-11-12 Simon Josefsson + Sync glib NFKC code and improve copyright/license statements. - * libidn.pc.in: Add URL field. + Sync with TP. -2008-11-12 Simon Josefsson + 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 + Fix parallel MinGW-builds (no deps for libidn-X.def). Clean libidn-X.def. + Reported by René Berber . - * configure.ac: Remove linker script message. +2011-11-30 Simon Josefsson -2008-11-12 Simon Josefsson + Update gnulib files. - * gl/m4/gnulib-comp.m4: Update gnulib files. +2011-11-28 Simon Josefsson -2008-11-12 Simon Josefsson + 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 +2011-11-25 Simon Josefsson - * configure.ac: Neatify. + Generated. -2008-11-04 Simon Josefsson + Fix release rule. - * doc/libidn.texi: Use GFDLv1.3+ as license. + Version 1.23. -2008-11-04 Simon Josefsson + 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 + 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 + 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 +2011-11-22 Simon Josefsson - * contrib/doxygen/Doxyfile.in: Disable man pages. + Use csharpexec from gnulib to run .NET binaries. -2008-10-29 Simon Josefsson +2011-11-21 Simon Josefsson - * contrib/doxygen/Doxyfile.in: Fix typo. + Don't hard code perl path in gdoc. -2008-10-29 Simon Josefsson + 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 + Fix warnings. - * cfg.mk: Use coverage rules from gnulib. + Add. -2008-10-28 Simon Josefsson + 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 + Create Windows binaries during release. - * NEWS, configure.ac, lib/stringprep.h: Bump versions. + Fix links in generated cyclo output. -2008-10-28 Simon Josefsson + Use silent build rules. - * ChangeLog: Generated. + Update GTK-DOC infrastructure. -2008-10-28 Simon Josefsson + Update release rules. - * NEWS: Version 1.11. + Update gnulib files. -2008-10-28 Simon Josefsson +2011-11-16 Simon Josefsson - * doc/texinfo.css: Use white background. + Doc fix. -2008-10-28 Simon Josefsson +2011-10-19 Simon Josefsson - * NEWS: Fix. + Doc fix. -2008-10-28 Simon Josefsson + idn-free.h: Protect prototypes with 'extern "C"' marker. + Reported by Bittner Ede . - * gltests/Makefile.am, lib/gltests/Makefile.am: Update gnulib files. +2011-10-01 Simon Josefsson -2008-10-28 Simon Josefsson + Mention TLD URL patch. - * cfg.mk: Sync with gnutls. +2011-10-01 Thomas Jacob -2008-10-28 Simon Josefsson + Moved extra TLD tables to github - * cfg.mk: Generalize coverage rules. +2011-08-13 Simon Josefsson -2008-10-28 Simon Josefsson + Sync with TP. - * tests/tst_tld.c: Increase code coverage. +2011-05-05 Simon Josefsson -2008-10-28 Simon Josefsson + Add some pre-release rules. - * tests/tst_pr29.c: Increase code coverage. + Update translations. -2008-10-28 Simon Josefsson + 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 -2008-10-28 Simon Josefsson + Update for 1.22. - * tests/tst_strerror.c: Increase code coverage. + Bump versions. -2008-10-28 Simon Josefsson + Generated. - * tests/tst_stringprep.c: Increase code coverage. + Version 1.22. -2008-10-28 Simon Josefsson + 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 +2011-05-03 Simon Josefsson - * 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 . -2008-10-27 Simon Josefsson + Update gnulib files. - * NEWS: Add. +2011-05-01 Simon Josefsson -2008-10-27 Simon Josefsson + 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 -2008-10-27 Simon Josefsson + libidn: Add -liconv as static library requirement in libidn.pc, for MinGW. + Reported by Volker Grabsch . - * cfg.mk: Add coverage rules. +2011-04-25 Simon Josefsson -2008-10-27 Simon Josefsson + Document --disable-valgrind-tests. + Suggested by Guido Trentalancia . - * 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 -2008-10-27 Simon Josefsson + Update for 1.21. - * gl/unistd.in.h: Update gnulib files. + Fix. -2008-10-22 Simon Josefsson + build: Really distribute win32/libidn4win.mk. - * cfg.mk: Re-license under GPLv3. + Bump version. -2008-10-22 Simon Josefsson + Generated. - * doc/gdoc: Replace - with \- in man page output in more places. + Version 1.21. -2008-10-22 Simon Josefsson + Demand newer gettext in order to get newer M4 files. + Reported by Dagobert Michelsen in + . - * doc/gdoc: Reduce code duplication. + libidn4win.mk: Add license and generalize it. -2008-10-22 Simon Josefsson + Update gnulib files and fix syntax check warnings. - * NEWS: Add. +2011-03-21 Simon Josefsson -2008-10-22 Simon Josefsson + Define LIBIDN_BUILDING. + Tiny patch from Waqas Hussain . - * doc/gdoc: Use GPLv3. Clarify copyright and license. Use GAP for - man page license. +2011-03-05 Simon Josefsson -2008-10-21 Simon Josefsson + Add. - * NEWS: Add. +2011-03-01 Simon Josefsson -2008-10-21 Simon Josefsson + Update for 1.20. - * cfg.mk: Fix mingw32 rule. + Bump versions. -2008-10-21 Simon Josefsson + Fix release type. - * NEWS: Add. + Generated. -2008-10-21 Simon Josefsson + Version 1.20. - * lib/version.c: Use STRINGPREP_VERSION instead of PACKAGE_VERSION - for MSVS builds. + Bump copyright years. -2008-10-21 Simon Josefsson + idn: Only print license blurb on interactive use. + Reported by "Andrew O. Shadoura" and Roman Mamedov + in and + respectively. - * Makefile.am: Change win32 files. + Disable build rules for no longer generated files. -2008-10-21 Simon Josefsson + Sync with TP. - * win32/include/config.h: Extracted from gen-win32-headers.pl. + Bump copyright years. -2008-10-21 Simon Josefsson + Fix ToUnicode case-insensitivity bug. + Debian BTS #610617 reported by Stepan Golosunov . - * win32/include/Wild.pm: Rm. + Add. -2008-10-21 Simon Josefsson + 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 + Update gnulib files. - * lib/stringprep.h: Cleanups, preparing for Win32 fixes. +2011-01-30 Simon Josefsson -2008-10-21 Simon Josefsson + Update gnulib files. - * lib/idna.h: Cleanups, preparing for Win32 fixes. +2010-10-27 Simon Josefsson -2008-10-21 Simon Josefsson + Ignore more. - * configure.ac: Fix last commit. + Avoid some warnings to make it build with modern gcc on amd64. -2008-10-21 Simon Josefsson +2010-09-30 Simon Josefsson - * 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 + 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 -2008-10-13 Simon Josefsson + Doc fix. - * build-aux/pmccabe2html: Update gnulib files. +2010-05-24 Simon Josefsson -2008-10-13 Simon Josefsson + Bump versions. - * doc/cyclo/Makefile.am: Update gnulib files. + Update announce.txt for 1.19. -2008-10-13 Simon Josefsson +2010-05-22 Simon Josefsson - * 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 + Dist API PDF manual. - * NEWS: Add. + Generated. -2008-10-13 Simon Josefsson + Version 1.19. - * GNUmakefile, gl/Makefile.am, gl/m4/unistd_h.m4, gl/unistd.in.h: - Update gnulib files. +2010-05-20 Simon Josefsson -2008-10-07 Simon Josefsson + Update GTK-DOC files to enable PDF manual. - * doc/prmgt/Makefile.am: Fix. + Add. -2008-10-07 Simon Josefsson + Update gnulib files, use new valgrind-tests module. - * doc/Makefile.am: Add prmgt/. +2010-05-17 Simon Josefsson -2008-10-07 Simon Josefsson + 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 -2008-10-07 Simon Josefsson + Add. - * build-aux/pmccabe.css, build-aux/pmccabe2html, - gl/m4/pmccabe2html.m4: Update gnulib files. + Update gnulib files. -2008-10-07 Simon Josefsson +2010-04-21 Simon Josefsson - * 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 +2010-04-19 Simon Josefsson - * 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 +2010-04-13 Simon Josefsson - * 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 +2010-04-12 Simon Josefsson - * configure.ac: Need AC_CONFIG_MACRO_DIR too, to avoid libtool - warnings, sigh. + Add. -2008-09-26 Simon Josefsson + Fix syntax-check warnings. - * NEWS: Add. + Fix syntax-check warnings. -2008-09-26 Simon Josefsson + Update gnulib files. - * po/eo.po.in, po/fr.po.in: Sync with TP. +2010-03-30 Simon Josefsson -2008-09-26 Simon Josefsson + 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 + Update gnulib files. - * configure.ac, doc/reference/Makefile.am: Enable automake warnings. +2010-03-26 Simon Josefsson -2008-09-23 Simon Josefsson + Update gnulib files. - * NEWS: Add. +2010-03-24 Simon Josefsson -2008-09-23 Simon Josefsson + Update gnulib files. - * README: Say 'or later' wrt licenses. + Fix typos. Drop @acronym use. -2008-09-23 Simon Josefsson + Add. - * doc/texinfo.css: Improve cosmetics. + Update gnulib files. -2008-09-23 Simon Josefsson +2010-03-18 Simon Josefsson - * doc/texinfo.css: Minor cosmetic fixes. + Add review-diff. Move announce file to use consistent filenames. -2008-09-23 Simon Josefsson + Drop self-tests with C++ code in them. - * NEWS: Add. + Drop self-tests with C++ code in them. -2008-09-23 Simon Josefsson + Mention gengetopt. - * configure.ac: Add AC_COPYRIGHT. +2010-03-12 Simon Josefsson -2008-09-23 Simon Josefsson + 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 + Update gnulib files. - * : Touch. +2010-03-09 Simon Josefsson -2008-09-18 Simon Josefsson + 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 + 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 + 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 -2008-09-18 Simon Josefsson + 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 -2008-09-12 Simon Josefsson + 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 + 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 -2008-08-29 Simon Josefsson + Add. - * maint.mk: Update gnulib files. +2010-02-15 Simon Josefsson -2008-08-29 Simon Josefsson + Generated. - * lib/stringprep.c: Don't store negativa values in a size_t. + Release to ftp.gnu.org. -2008-08-27 Simon Josefsson + Bump versions. - * doc/reference/libidn-docs.sgml: Sync. + Version 1.18. -2008-08-27 Simon Josefsson + Add. - * doc/libidn.texi: Improve. + Put forgotten symbols under old namespace. + Suggested by Marco d'Itri in + . -2008-08-27 Simon Josefsson + Update gnulib files. - * doc/reference/libidn-docs.sgml: Sync. +2010-02-05 Simon Josefsson -2008-08-27 Simon Josefsson + Generated. - * doc/libidn.texi: Mention krb5 profile. + Version 1.17. -2008-08-27 Simon Josefsson + 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 + 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 + Clarify. - * Makefile.am: Use git2cl directly. + Another test for MinGW builds. -2008-08-27 Simon Josefsson + Don't use a libtool helper library, to hopefully make MinGW builds work. - * Makefile.am: Typo. + Simplify. -2008-08-27 Simon Josefsson + 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 +2010-02-03 Simon Josefsson - * Makefile.am: Generalize release target. + Fix. -2008-08-27 Simon Josefsson + Bump copyright years. - * Makefile.am: Create a copy of released files. + Bump copyright years. -2008-08-27 Simon Josefsson + Bump copyright years. - * Makefile.am: Copy all of javadoc. + Add. -2008-08-27 Simon Josefsson + Bump libtool version to indicated "added" symbols. - * Makefile.am: Fix typo. + Bump copyright years. -2008-08-27 Simon Josefsson + 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 and + + for background. -2008-08-27 Simon Josefsson + Update gnulib files. - * NEWS, configure.ac: Bump versions. +2010-01-12 Simon Josefsson -2008-08-27 Simon Josefsson + Improve syntax-check exception stuff. - * ChangeLog: Generated. + Update gnulib files. -2008-08-27 Simon Josefsson + Check patch. - * NEWS: Version 1.10. + Fix valgrind.m4. -2008-08-27 Simon Josefsson + Update gnulib files. - * NEWS: Add. + Touch. -2008-08-27 Simon Josefsson + Touch. - * win32/include/gen-win32-headers.pl: Declare strverscmp. + Bump versions. -2008-08-27 Simon Josefsson + Update copyright. - * lib/stringprep.c: Fix warnings. + Sync with TP. -2008-08-26 Simon Josefsson + Fix syntax-check rules. - * libidn.fms: Remove freshmeat-submit template, no longer used. + Don't use exit(1). -2008-08-26 Simon Josefsson + Add. - * .clcopying, .cvscopying, .cvsusers, Makefile.am: Rename - .cvscopying to .clcopying. + Add. -2008-08-26 Simon Josefsson + Commit cyclo/. - * GNUmakefile: Update gnulib files. + Generated. -2008-08-26 Simon Josefsson + 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 + Add workaround for Wine dup2 failure. - * po/LINGUAS, po/id.po.in: Sync with TP. + Update gnulib files. -2008-08-26 Simon Josefsson +2010-01-09 Simon Josefsson - * 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 - in + Update gnulib files. - . +2010-01-08 Simon Josefsson -2008-08-21 Simon Josefsson + 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 + Update gnulib files. - * Makefile.am: Don't try to add tar in www dir. +2010-01-07 Simon Josefsson -2008-08-20 Simon Josefsson + Update gnulib files. - * NEWS: Add. +2009-12-26 Simon Josefsson -2008-08-20 Simon Josefsson + 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 -2008-08-20 Simon Josefsson + Update gnulib files. - * README: Fix URLs. +2009-12-16 Simon Josefsson -2008-08-20 Simon Josefsson + Add. - * doc/libidn.texi: Fix URLs. + Update gnulib files. -2008-08-18 Simon Josefsson + Update gnulib files. - * Makefile.am: Don't put releases in www directory, after discussion - with Savannah admins. +2009-11-18 Simon Josefsson -2008-08-06 Simon Josefsson + 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 -2008-07-07 Simon Josefsson + Update gnulib files. - * NEWS: Add. +2009-10-19 Simon Josefsson -2008-07-07 Simon Josefsson + 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 -2008-07-07 Simon Josefsson + Fix link error on mingw. - * NEWS, configure.ac: Bump versions. + Update gnulib files. -2008-07-01 Simon Josefsson +2009-09-22 Simon Josefsson - * ChangeLog: Generated. + Add. -2008-07-01 Simon Josefsson + Update gnulib files. - * Makefile.am, configure.ac: Add gltests/ directories. + Add Maven pom.xml file. -2008-07-01 Simon Josefsson +2009-09-07 Simon Josefsson - * ChangeLog: Generated. + Note about OS/2 port. -2008-07-01 Simon Josefsson +2009-08-20 Simon Josefsson - * NEWS: Version 1.9. + Update gnulib files. -2008-07-01 Simon Josefsson +2009-08-18 Simon Josefsson - * NEWS: Add. + Update gnulib files. -2008-07-01 Simon Josefsson +2009-08-14 Simon Josefsson - * NEWS: Fix. + Update gnulib files. -2008-07-01 Simon Josefsson +2009-08-07 Simon Josefsson - * 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 +2009-08-04 Simon Josefsson - * 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 + Update gnulib files. - * NEWS, csharp/generate/Tokenizer.cs: Work around C# compiler bug. +2009-07-29 Simon Josefsson -2008-06-17 Simon Josefsson + Typo. - * GNUmakefile, doc/gendocs_template: Update gnulib files. +2009-07-22 Simon Josefsson -2008-06-10 Simon Josefsson + Update gnulib files. - * doc/specifications/rfc3454.txt: Remove more text. +2009-06-17 Simon Josefsson -2008-06-02 Simon Josefsson + Typo. - * doc/libidn.texi: Drop invariant sections. +2009-06-16 Simon Josefsson -2008-05-30 Simon Josefsson + Update gnulib files. - * lib/gl/stdbool.in.h, maint.mk: Update gnulib files. +2009-06-11 Simon Josefsson -2008-05-19 Simon Josefsson + 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 -2008-05-12 Simon Josefsson + Add version number to manual title. - * NEWS: Add. + Generated. -2008-05-12 Simon Josefsson + 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 + Generated. - * build-aux/gendocs.sh: Update gnulib files. + Version 1.15. -2008-04-28 Simon Josefsson + Fix. - * NEWS: Add. + Fix. -2008-04-28 Simon Josefsson +2009-06-05 Simon Josefsson - * src/Makefile.am: Use singularis STRING. Suggested by Benno - Schulenberg . + Add. -2008-04-28 Simon Josefsson + Update gnulib files. - * src/idn.c: Don't gettext error code. +2009-06-02 Simon Josefsson -2008-04-28 Simon Josefsson + Fix some java warnings. - * src/idn.c: Don't gettextize debug messages. +2009-06-01 Simon Josefsson -2008-04-24 Simon Josefsson + Check stack usage in library. - * NEWS, THANKS, src/idn.c: idn: fix error message when NFKC fails. - Reported by Benno Schulenberg . + Update gnulib files. -2008-04-24 Simon Josefsson +2009-05-29 Simon Josefsson - * NEWS, configure.ac: Bump versions. + Use c_strcasecmp instead of strcasecmp. Reported by Guenter Knauf . -2008-04-23 Simon Josefsson +2009-05-28 Simon Josefsson - * ChangeLog: Generated. + Improve warning handling. -2008-04-23 Simon Josefsson + Update gnulib files. - * NEWS: Version 1.8. +2009-05-27 Simon Josefsson -2008-04-23 Simon Josefsson + Update gnulib files. - * NEWS: Add. +2009-05-20 Simon Josefsson -2008-04-23 Simon Josefsson + Add. - * NEWS: Add. + Update gnulib files. -2008-04-23 Simon Josefsson +2009-05-11 Simon Josefsson - * 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 + Upgrade gtk-doc files. - * configure.ac: Bump versions. +2009-05-08 Simon Josefsson -2008-04-13 Simon Josefsson + Update gnulib files. - * NEWS: Add. + Make -Werror more optional. -2008-04-13 Simon Josefsson +2009-05-07 Simon Josefsson - * po/nl.po.in: Sync with TP. + Fix. -2008-04-13 Simon Josefsson +2009-05-05 Simon Josefsson - * 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 + Add. - * ChangeLog: Generated. +2009-05-03 Simon Josefsson -2008-04-10 Simon Josefsson + Update gnulib files. - * NEWS: Version 1.7. +2009-04-27 Simon Josefsson -2008-04-10 Simon Josefsson + 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 +2009-04-24 Simon Josefsson - * GNUmakefile, build-aux/gnupload: Update gnulib files. + Add. -2008-04-02 Simon Josefsson + rm. - * Makefile.am, NEWS, win32/include/unistd.h: Need dummy unistd.h for - native Win32 builds. Reported by Adam Strzelecki . + Fix syntax-checks. -2008-04-01 Simon Josefsson + 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 + Fix warnings. - * doc/libidn.texi: Mention idn --nfkc. + Syntax check fixes. -2008-04-01 Simon Josefsson + 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 + Update gnulib files. - * NEWS, src/idn.c, src/idn.ggo: Add --nfkc parameter to idn tool. +2009-04-23 Simon Josefsson -2008-03-27 Simon Josefsson + Fix. - * doc/libidn.texi: Need @menu for Windows installation @node. + Update gnulib files. -2008-03-25 Simon Josefsson + Improve texinfo section names. - * cfg.mk: Need config.rpath workaround here. +2009-04-17 Simon Josefsson -2008-03-25 Simon Josefsson + 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 -2008-03-20 Simon Josefsson + Fix java detection. - * build-aux/GNUmakefile: Update gnulib files. + Bump version. -2008-03-20 Simon Josefsson + 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 + Update gnulib files. - * NEWS: Fix. +2009-04-03 Simon Josefsson -2008-03-20 Simon Josefsson + Generated. - * build-aux/GNUmakefile, cfg.mk, maint-cfg.mk: Update gnulib files. + Version 1.14. -2008-03-19 Simon Josefsson + Use --output-def. - * NEWS, configure.ac: Bump versions. + Update gnulib files. -2008-03-19 Simon Josefsson +2009-04-01 Simon Josefsson - * ChangeLog: Generated. + Assume locale.h. -2008-03-19 Simon Josefsson +2009-03-25 Simon Josefsson - * NEWS: Version 1.6. + Copy cyclo chart to webdir. -2008-03-19 Simon Josefsson + Update gnulib files. - * README: Note that libidn is a GNU project. +2009-03-23 Simon Josefsson -2008-03-19 Simon Josefsson + 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 + Don't crash in memcmp if stringprep_utf8_to_locale returns NULL. Reported by Dagobert Michelsen in . - * Makefile.am: Dist Visual Studio files. +2009-03-19 Simon Josefsson -2008-03-19 Simon Josefsson + Update gnulib files. - * po/LINGUAS: Sync with TP. +2009-03-06 Simon Josefsson -2008-03-19 Simon Josefsson + Bump version. - * po/LINGUAS: Sync with TP. + Generated. -2008-03-19 Simon Josefsson + 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 + 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 + Add. - * NEWS: Add. + Update gnulib files. -2008-03-19 Simon Josefsson +2009-03-04 Simon Josefsson - * lib/idna.c: Doc fix. Clarify difference between domain label and - domain name. + Fix. -2008-03-18 Simon Josefsson + 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 + 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 + Finish API visibility markup. Now passes self tests. - * NEWS: Add. + Fix. -2008-03-12 Simon Josefsson + 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 + Ignore decorators. - * build-aux/gendocs.sh, gl/getopt.c: Bump versions. + Improve decorators. -2008-02-25 Simon Josefsson + 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 +2009-03-03 Simon Josefsson + + Remove. - * NEWS: Bump. + Use visibility module. -2008-02-19 Simon Josefsson + Add. - * configure.ac: Bump versions. + Typo. -2008-02-19 Simon Josefsson + More debug info. - * Makefile.am: Fix release target. + Debug output about version script. -2008-02-19 Simon Josefsson + Use gnulib ld-version-script module. Re-add use of -export-symbols-regex for other platforms. - * ChangeLog: Generated. +2009-03-02 Simon Josefsson -2008-02-19 Simon Josefsson + Add license. Use v1.0 in name. - * NEWS: Version 1.5. + Add. -2008-02-19 Simon Josefsson + Use a linker version script. - * po/LINGUAS: Sync with TP. + Update gnulib files. -2008-02-19 Simon Josefsson +2009-02-24 Simon Josefsson - * po/LINGUAS: Sync with TP. + Update gnulib files. -2008-02-19 Simon Josefsson +2009-02-10 Simon Josefsson - * NEWS: Fix charset info. + Don't remove idn_cmd.c and idn_cmd.h on distclean, use maintainer-clean instead. Reported by "Sisyphus" in . -2008-02-19 Simon Josefsson +2009-02-09 Simon Josefsson - * 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 + 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 +2009-02-06 Simon Josefsson - * NEWS: Add link. + Update gnulib files. -2008-02-19 Simon Josefsson +2009-01-23 Simon Josefsson - * NEWS, THANKS, lib/gl/override/lib/stdint.in.h.diff: Don't include - wchar.h, we don't need it. Reported by Mike Frysinger - , see - . + Bump versions. -2008-02-06 Simon Josefsson + Generated. - * NEWS: Add. + Version 1.12. -2008-02-06 Simon Josefsson + Add. - * GNUmakefile, Makefile.am, maint-cfg.mk: Brace expansion is not - POSIX portable. + Update PGP key. -2008-02-03 Simon Josefsson + Sync with TP. - * build-aux/gnupload: Update gnulib files. + Sync with TP. -2008-01-24 Simon Josefsson +2009-01-22 Simon Josefsson - * po/LINGUAS, po/fi.po: Sync with TP. + idn: Add new --no-tld to resolve broken --tld parameter. Reported by Christian Hammers in http://thread.gmane.org/gmane.comp.gnu.libidn.general/162 -2008-01-24 Simon Josefsson + Fix. - * po/LINGUAS: Sync with TP. + Use gdoc's -pkg-name. -2008-01-24 Simon Josefsson + Add -pkg-name parameter. - * doc/libidn.texi: Fix. + Update gnulib files. -2008-01-15 Simon Josefsson + Cleanup. - * NEWS: Add. + Bump copyright years. -2008-01-15 Simon Josefsson + 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 -2008-01-15 Simon Josefsson + Update gnulib files. - * build-aux/announce-gen: Update gnulib files. + Bump copyright years for man pages. -2008-01-15 Simon Josefsson +2009-01-17 Simon Josefsson - * NEWS: Add. + Touch. -2008-01-15 Simon Josefsson + Bump copyright years. - * contrib/web/idn.php: Back-port from josefsson.org. + Update PGP key. -2008-01-15 Simon Josefsson + Bump copyright years. - * doc/libidn.texi: Fix markup. + Update gnulib files. -2008-01-15 Simon Josefsson + Update gnulib files. - * doc/libidn.texi: Mention v1.0 as milestone. +2009-01-05 Simon Josefsson -2008-01-15 Simon Josefsson + Update gnulib files. - * NEWS: Add. + Update. -2008-01-15 Simon Josefsson +2008-12-11 Simon Josefsson - * THANKS: Add. + Fix comment. -2008-01-15 Simon Josefsson + Fix warning initialization. - * po/it.po: Sync with TP. + Add warning flag. -2008-01-15 Simon Josefsson + Update gnulib files. Fix warning. - * doc/libidn.texi: Fix markup. +2008-12-02 Simon Josefsson -2008-01-15 Simon Josefsson + Fix java jar path. - * doc/libidn.texi: Add 'On Label Separators' section. Add - @documentencoding. + Improve JavaDoc output. -2008-01-15 Simon Josefsson + Update gnulib files. - * GNUmakefile, maint-cfg.mk: Re-add config.rpath hack. + Update gnulib files. -2008-01-15 Simon Josefsson +2008-11-29 Simon Josefsson - * 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 + Fix javadoc pointer. - * po/eo.po: Sync with TP. +2008-11-17 Simon Josefsson -2008-01-10 Simon Josefsson + Rewrite warning initializations. - * NEWS, configure.ac: Bump versions. + Update gnulib files. -2008-01-10 Simon Josefsson + 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 + Disable -Wunreachable-code. - * ChangeLog: Generated. + Fix warnings. -2008-01-09 Simon Josefsson + Fix warnings. - * NEWS: Version 1.4. + Fix warnings. -2008-01-09 Simon Josefsson + Fix vla warnings. - * src/idn.c: Typos. + Fix warnings. -2008-01-09 Simon Josefsson + 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 +2008-11-13 Simon Josefsson - * gl/progname.c, gl/progname.h: Add progname gnulib module. + Add. -2008-01-09 Simon Josefsson + Fix warning. - * NEWS: Fix --help and --version + Enable warnings. Fix warnings. -2008-01-09 Simon Josefsson + Fix warnings. - * src/Makefile.am, src/idn.c: Fix --help and --version +2008-11-12 Simon Josefsson -2008-01-09 Simon Josefsson + Add URL field. - * NEWS: Fix. + Use external macros for shared operations. -2008-01-09 Simon Josefsson + Remove linker script message. - * NEWS: Add. + Update gnulib files. -2008-01-09 Simon Josefsson + Update gnulib files. Use warnings module. - * src/Makefile.am, src/idn.c: Use gnulib version-etc for --version. + Neatify. -2008-01-09 Simon Josefsson +2008-11-04 Simon Josefsson - * doc/libidn.texi: Bump copyright years. + Use GFDLv1.3+ as license. -2008-01-09 Simon Josefsson + Update gnulib files. Use GFDLv1.3+ for manual. - * doc/Makefile.am: Add 2008 to copyright years. +2008-11-03 Simon Josefsson -2008-01-02 Simon Josefsson + Fix Javadoc comments on important classes. - * configure.ac: Nicify --version output by changing AC_INIT project - name. +2008-10-30 Simon Josefsson -2008-01-02 Simon Josefsson + 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 -2008-01-02 Simon Josefsson + Disable man pages. - * NEWS: Add. + Fix typo. -2008-01-02 Simon Josefsson + Modernize doxygen configuration. - * THANKS: Add. +2008-10-28 Simon Josefsson -2008-01-02 Simon Josefsson + 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 + Bump versions. - * NEWS: Add. + Generated. -2008-01-02 Simon Josefsson + 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 + Fix. - * NEWS: Add. + Update gnulib files. -2007-12-20 Simon Josefsson + Sync with gnutls. - * csharp/Makefile.am: Use .exe suffix for C# tool, required by Mono. + Generalize coverage rules. -2007-12-20 Simon Josefsson + 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 + Increase code coverage in self-tests. - * doc/reference/Makefile.am: Generalize. + Increase code coverage. -2007-12-11 Simon Josefsson + Increase code coverage. - * Makefile.am: Don't copy *.sig until it exists. + Fix web-coverage rule. -2007-12-11 Simon Josefsson + Fix release target. Add web-coverage targets. - * NEWS, configure.ac: Bump versions. +2008-10-27 Simon Josefsson -2007-12-11 Simon Josefsson + Add. - * ChangeLog: Generated. + Revert gnulib avoid of strdup. -2007-12-11 Simon Josefsson + Add coverage rules. - * NEWS: Version 1.3. + Re-add lost copyright headers for C# port. -2007-12-11 Simon Josefsson + Update gnulib files. - * Makefile.am: Reorder release target. +2008-10-22 Simon Josefsson -2007-12-11 Simon Josefsson + Re-license under GPLv3. - * NEWS: Reorder. + Replace - with \- in man page output in more places. -2007-12-11 Simon Josefsson + Reduce code duplication. - * GNUmakefile, maint-cfg.mk: Remove config.rpath hack. + Add. -2007-12-11 Simon Josefsson + 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 -2007-12-11 Simon Josefsson + Add. - * lib/gl/m4/ulonglong.m4: Update gnulib files. + Fix mingw32 rule. -2007-12-11 Simon Josefsson + Add. - * NEWS: Add. + Use STRINGPREP_VERSION instead of PACKAGE_VERSION for MSVS builds. -2007-12-11 Simon Josefsson + Change win32 files. - * configure.ac: Use gettext 0.17. + Extracted from gen-win32-headers.pl. -2007-10-29 Simon Josefsson + 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 + 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 + 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 + 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 -2007-10-13 Simon Josefsson + Update gnulib files. - * THANKS: Fix. + Update gnulib files. -2007-10-13 Simon Josefsson + Rename doc/prmgt/ to doc/cyclo/. - * THANKS: Add. + Add. -2007-10-13 Simon Josefsson + Update gnulib files. - * NEWS: Add. +2008-10-07 Simon Josefsson -2007-10-13 Simon Josefsson + Fix. - * po/LINGUAS, po/cs.po: Sync with TP. + Add prmgt/. -2007-10-13 Simon Josefsson + 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 + Use pmccabe2html. - * NEWS: Add. + Update gnulib files. -2007-10-08 Simon Josefsson +2008-09-30 Simon Josefsson - * doc/libidn.texi: Typo. + Update gnulib files. -2007-10-08 Simon Josefsson +2008-09-29 Simon Josefsson - * doc/libidn.texi: Fix install section. + Need AC_CONFIG_MACRO_DIR too, to avoid libtool warnings, sigh. -2007-10-08 Simon Josefsson +2008-09-26 Simon Josefsson - * NEWS: Add. + Add. -2007-10-08 Simon Josefsson + Sync with TP. - * NEWS, configure.ac: Bump versions. + Update gnulib files. -2007-10-08 Simon Josefsson +2008-09-23 Simon Josefsson - * 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 + 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 + Improve cosmetics. - * ChangeLog: Generated. + Minor cosmetic fixes. -2007-10-01 Simon Josefsson + Add. - * Makefile.am: Fix git-tag -l in release target. + Add AC_COPYRIGHT. -2007-10-01 Simon Josefsson + Support a WARN_CFLAGS to trigger compiler warnings. - * NEWS: Version 1.2. +2008-09-22 Simon Josefsson -2007-10-01 Simon Josefsson + Touch. - * NEWS: Add. + Update gnulib files. -2007-10-01 Simon Josefsson +2008-09-18 Simon Josefsson - * README-alpha: Remove README-alpha. + Remove final references to GPLv2. -2007-10-01 Simon Josefsson + Assume strdup. - * Makefile.am: Also upload to ftp.gnu.org. + Add. -2007-10-01 Simon Josefsson + Update gnulib files. - * NEWS: Add. +2008-09-12 Simon Josefsson -2007-10-01 Simon Josefsson + Update gnulib files. - * NEWS: Add. +2008-09-02 Simon Josefsson -2007-10-01 Simon Josefsson + Update gnulib files. - * configure.ac: Re-order to avoid autoreconf warning. +2008-08-29 Simon Josefsson -2007-10-01 Simon Josefsson + Update gnulib files. - * Makefile.am: Remove sv. + Don't store negativa values in a size_t. -2007-10-01 Simon Josefsson +2008-08-27 Simon Josefsson - * po/LINGUAS: Sync with TP. + Sync. -2007-10-01 Simon Josefsson + Improve. - * po/sv.po: Remove (not part of translation project). + Sync. -2007-10-01 Simon Josefsson + 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 + 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 + 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 + 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 + Copy all of javadoc. - * ChangeLog: Generated. + Fix typo. -2007-09-01 Simon Josefsson + Dist more. - * NEWS: Version 1.1. + Bump versions. -2007-09-01 Simon Josefsson + Generated. - * NEWS: Add. + Version 1.10. -2007-09-01 Simon Josefsson + Add. - * po/nl.po: Sync with TP. + Declare strverscmp. -2007-09-01 Simon Josefsson + Fix warnings. - * configure.ac: Wrap. +2008-08-26 Simon Josefsson -2007-09-01 Simon Josefsson + Remove freshmeat-submit template, no longer used. - * configure.ac: Bump versions. + Rename .cvscopying to .clcopying. -2007-09-01 Simon Josefsson + Update gnulib files. - * NEWS: Add. + Add generated files because perl 5.10 breaks gen-unicode-tables.pl. -2007-09-01 Simon Josefsson + 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 in . -2007-08-31 Simon Josefsson +2008-08-21 Simon Josefsson - * configure.ac: Drop gnits mode. + Update gnulib files. -2007-08-31 Simon Josefsson +2008-08-20 Simon Josefsson - * lib/Makefile.am: Define LIBIDN_BUILDING, for Windows hack in - stringprep.h.in. Inspired by report and patch by "Christian - Ehrlicher" , see + Don't try to add tar in www dir. - . + Add. -2007-08-31 Simon Josefsson + Update gnulib files. - * lib/stringprep.h.in: Mark variables with __declspec(import) on - Windows. Inspired by report and patch by "Christian Ehrlicher" - , see + Fix URLs. - . + Fix URLs. -2007-08-31 Simon Josefsson +2008-08-18 Simon Josefsson - * lib/Makefile.am: Avoid using #include_next in idn-int.h when - looking for stdint.h. Reported by Remko van der Vossen - in - , this - tiny patch was suggested by Bruno Haible in - . + Don't put releases in www directory, after discussion with Savannah admins. -2007-08-31 Simon Josefsson +2008-08-06 Simon Josefsson - * build-aux/GNUmakefile, build-aux/maint.mk, lib/gl/m4/stdint.m4: Update gnulib files. -2007-07-31 Simon Josefsson +2008-07-07 Simon Josefsson - * ChangeLog: Generated. + Add. -2007-07-31 Simon Josefsson + Sync with TP. - * NEWS: Add. + Bump versions. -2007-07-31 Simon Josefsson +2008-07-01 Simon Josefsson - * 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 + Add gltests/ directories. - * doc/reference/libidn-docs.sgml: Fix. + Generated. -2007-07-31 Simon Josefsson + Version 1.9. - * doc/reference/libidn-docs.sgml: Sync with libidn.texi. + Add. -2007-07-31 Simon Josefsson + Fix. - * doc/libidn.texi: Fix intro. + Sync with TP. -2007-07-31 Simon Josefsson + Update gnulib files. - * doc/Makefile.am: Fix gpl/lgpl filenames. +2008-06-18 Simon Josefsson -2007-07-31 Simon Josefsson + Work around C# compiler bug. - * NEWS: Version 1.0. +2008-06-17 Simon Josefsson -2007-07-31 Simon Josefsson + Update gnulib files. - * NEWS: Add. +2008-06-10 Simon Josefsson -2007-07-31 Simon Josefsson + Remove more text. - * AUTHORS: Update PGP key. +2008-06-02 Simon Josefsson -2007-07-31 Simon Josefsson + Drop invariant sections. - * NEWS, configure.ac: Bump versions. +2008-05-30 Simon Josefsson -2007-07-31 Simon Josefsson + Update gnulib files. - * NEWS: Fix. +2008-05-19 Simon Josefsson -2007-07-31 Simon Josefsson + Update gnulib files. - * doc/Makefile.gdoci: Update license to GPLv3. +2008-05-12 Simon Josefsson -2007-07-31 Simon Josefsson + Add. - * doc/reference/libidn-docs.sgml: Update, sync with libidn.texi. + Update gnulib files. -2007-07-31 Simon Josefsson +2008-04-28 Simon Josefsson - * doc/libidn.texi: Clarify license versions. + Update gnulib files. -2007-07-31 Simon Josefsson + 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 . -2007-07-31 Simon Josefsson + 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 +2008-04-24 Simon Josefsson - * 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 . -2007-07-31 Simon Josefsson + Bump versions. - * README: Clarify licenses. +2008-04-23 Simon Josefsson -2007-07-31 Simon Josefsson + Generated. - * COPYING: Use GPLv3. + Version 1.8. -2007-07-31 Simon Josefsson + Add. - * gl/m4/include_next.m4: Update gnulib files. + Add. -2007-07-31 Simon Josefsson + 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 -2007-06-04 Simon Josefsson + Bump versions. - * NEWS, configure.ac: Bump versions. + Add. -2007-05-31 Simon Josefsson + 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 +2008-04-10 Simon Josefsson - * ChangeLog: Generated. - -2007-05-31 Simon Josefsson - - * NEWS: Version 0.6.14. - -2007-05-31 Simon Josefsson - - * NEWS: Add. - -2007-05-31 Simon Josefsson - - * NEWS: Add. - -2007-05-31 Simon Josefsson - - * README-alpha: Cvs to git changes. - -2007-05-31 Simon Josefsson - - * Makefile.am: Use git instead of cvs. - -2007-05-31 Simon Josefsson - - * configure.ac: Bump versions. - -2007-05-31 Simon Josefsson - - * NEWS: Add. - -2007-05-31 Simon Josefsson - - * ChangeLog: [no log message] - -2007-05-31 Simon Josefsson - - * 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 - - * NEWS: Version 0.6.13. - -2007-05-31 Simon Josefsson - - * doc/Makefile.am: Install libidn-components.png in infodir, fixes - broken image in the info manual. - -2007-05-31 Simon Josefsson - - * NEWS: Add. - -2007-05-31 Simon Josefsson - - * doc/reference/Makefile.am, doc/reference/libidn-docs.sgml: Fix - image filename. - -2007-05-31 Simon Josefsson - - * doc/.cvsignore: [no log message] - -2007-05-31 Simon Josefsson - - * 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 - - * NEWS: Add. - -2007-05-31 Simon Josefsson - - * po/pl.po, po/vi.po: Sync with TP. - -2007-05-31 Simon Josefsson - - * NEWS: Fix. - -2007-05-31 Simon Josefsson - - * NEWS: Add. - -2007-05-31 Simon Josefsson - - * 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 - - * configure.ac: Bump versions. - -2007-05-30 Simon Josefsson - - * NEWS: Add. - -2007-05-30 Simon Josefsson - - * doc/libidn.texi: Typo. - -2007-05-30 Simon Josefsson - - * README: Clarify license of C# port. - -2007-05-30 Simon Josefsson - - * doc/libidn.texi: Clarify license of java/csharp implementation. - -2007-04-25 Simon Josefsson - - * ChangeLog: [no log message] - -2007-04-25 Simon Josefsson - - * NEWS: Version 0.6.12. - -2007-04-25 Simon Josefsson - - * 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 - - * NEWS, THANKS: Add. - -2007-04-24 Simon Josefsson - - * java/misc/Makefile.am: Use AM_JAVACFLAGS instead of JAVACFLAGS. - See - - .Tiny patch from Petteri Räty . - -2007-04-19 Simon Josefsson - - * lib/gl/.cvsignore: [no log message] - -2007-04-19 Simon Josefsson - - * NEWS: Add. - -2007-04-19 Simon Josefsson - - * 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 - - * csharp/Makefile.am: Fix typo. - -2007-03-13 Simon Josefsson - - * libidn.fms: 0.6.11. - -2007-03-13 Simon Josefsson - - * libidn.fms: 0.6.10. - -2007-03-13 Simon Josefsson - - * libidn.fms: 0.6.9. - -2007-03-13 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2007-03-13 Simon Josefsson - - * ChangeLog: [no log message] - -2007-03-13 Simon Josefsson - - * 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 - - * NEWS: Version 0.6.11. - -2007-03-13 Simon Josefsson - - * csharp/Makefile.am: Fix path to csharpcomp. - -2007-03-13 Simon Josefsson - - * NEWS: Add. - -2007-03-13 Simon Josefsson - - * csharp/Makefile.am: Dist more. - -2007-03-13 Simon Josefsson - - * csharp/Makefile.am: Fix tests. - -2007-03-13 Simon Josefsson - - * csharp/Makefile.am: fix - -2007-03-13 Simon Josefsson - - * csharp/.cvsignore: [no log message] + Generated. -2007-03-13 Simon Josefsson + Version 1.7. - * csharp/generate/GenerateNFKC.cs: Fix typo. + Update gnulib files. -2007-03-13 Simon Josefsson +2008-04-07 Simon Josefsson - * csharp/generate/GenerateNFKC.cs: Don't wait for newline from user - (breaks batch usage). Fix typo. + Update gnulib files. -2007-03-13 Simon Josefsson +2008-04-02 Simon Josefsson - * 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 . -2007-03-13 Simon Josefsson +2008-04-01 Simon Josefsson - * csharp/generate/GenerateRFC3454.cs: Fix namespace. + Fix syntax-check warnings. -2007-03-13 Simon Josefsson + 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 . + Update gnulib files. -2007-03-13 Simon Josefsson +2008-03-27 Simon Josefsson - * 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 + Need @menu for Windows installation @node. - * csharp/Makefile.am: Generate generated files. +2008-03-25 Simon Josefsson -2007-03-13 Simon Josefsson + 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 +2008-03-20 Simon Josefsson - * 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 . + Update gnulib files. -2007-03-13 Simon Josefsson + 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 + 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 -2007-03-09 Simon Josefsson + Bump versions. - * configure.ac: Bump versions. + Generated. -2007-03-09 Simon Josefsson + Version 1.6. - * csharp/Makefile.am: Revert. + Note that libidn is a GNU project. -2007-03-09 Simon Josefsson + Update GTK-DOC build system. - * lib/gl/string.h: Update. + Dist Visual Studio files. -2007-03-09 Simon Josefsson + Sync with TP. - * build-aux/.cvsignore, doc/.cvsignore, gl/.cvsignore, - lib/gl/.cvsignore: [no log message] + Sync with TP. -2007-03-09 Simon Josefsson + 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 + 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 +2008-03-18 Simon Josefsson - * configure.ac: Use build-aux. + Update gnulib files. -2007-02-24 Simon Josefsson +2008-03-12 Simon Josefsson - * doc/specifications/draft-klensin-idnabis-issues-01.txt: Add. + Update gnulib files. -2007-02-06 Simon Josefsson + 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 - - * NEWS: Add. - -2007-02-05 Simon Josefsson - - * 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 - - * NEWS: Add. - -2007-02-05 Simon Josefsson - - * 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 -2007-01-25 Simon Josefsson + 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 -2007-01-04 Simon Josefsson + Update gnulib files. - * ChangeLog: [no log message] +2008-02-19 Simon Josefsson -2007-01-04 Simon Josefsson + 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 + Fix release target. - * NEWS: Version 0.6.10. + Generated. -2007-01-04 Simon Josefsson + Version 1.5. - * NEWS: Add. + Sync with TP. -2007-01-04 Simon Josefsson + 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 + Fix encoding. - * AUTHORS: Update PGP key. + Update gnulib files. -2007-01-03 Simon Josefsson + 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 , see . -2006-12-28 Simon Josefsson +2008-02-06 Simon Josefsson - * announce-gen, gl/Makefile.am, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4: Add. + Add. -2006-12-28 Simon Josefsson + 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 -2006-12-26 Simon Josefsson + Update gnulib files. - * doc/specifications/draft-suignard-stringprep-bis-00.txt: Add. +2008-01-24 Simon Josefsson -2006-12-10 Simon Josefsson + Sync with TP. - * NEWS, configure.ac: Bump versions. + Sync with TP. -2006-11-30 Simon Josefsson + Fix. - * ChangeLog: [no log message] +2008-01-15 Simon Josefsson -2006-11-30 Simon Josefsson + 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 + Update gnulib files. - * NEWS: Version 0.6.9. + Add. -2006-11-30 Simon Josefsson + Back-port from josefsson.org. - * m4/.cvsignore: [no log message] + Fix markup. -2006-11-30 Simon Josefsson + Mention v1.0 as milestone. - * NEWS: Add. + Add. -2006-11-30 Simon Josefsson + Add. - * m4/codeset.m4, m4/iconv.m4, m4/lib-link.m4: Remove. + Sync with TP. -2006-11-30 Simon Josefsson + Fix markup. - * NEWS, configure.ac: Bump tool versions. + Add 'On Label Separators' section. Add @documentencoding. -2006-11-30 Simon Josefsson + 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 +2008-01-10 Simon Josefsson - * java/misc/TestIDNA.java: Re-add test, with fixed code that doesn't - use Java 1.5 syntax. Suggested by "Stephane Mikaty" - . + Sync with TP. -2006-11-16 Simon Josefsson + Bump versions. - * java/misc/TestIDNA.java: Revert (didn't compile). + Sync with TP. -2006-11-15 Simon Josefsson +2008-01-09 Simon Josefsson - * NEWS, THANKS: Add. + Generated. -2006-11-15 Simon Josefsson + 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" . + Typos. -2006-11-15 Simon Josefsson + Update gnulib files. - * java/gnu/inet/encoding/IDNA.java: Fix non-ascii dot in strings, - tiny patch from "Stephane Mikaty" . + Add progname gnulib module. -2006-11-15 Simon Josefsson + Fix --help and --version - * NEWS: Add. + Fix --help and --version -2006-11-15 Simon Josefsson + 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 + Use gnulib version-etc for --version. - * NEWS, configure.ac: Bump versions. + Bump copyright years. -2006-10-31 Simon Josefsson + 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 -2006-10-26 Simon Josefsson + 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 + Add. - * doc/specifications/draft-faltstrom-idnabis-tables-00.txt, - doc/specifications/draft-klensin-idnabis-issues-00.txt: Add. + Add. -2006-10-18 Simon Josefsson + Update gnulib files. - * ChangeLog: [no log message] + Add. -2006-10-18 Simon Josefsson + 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 -2006-10-18 Simon Josefsson + Add. - * NEWS: Version 0.6.8. + Use .exe suffix for C# tool, required by Mono. -2006-10-18 Simon Josefsson + 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 +2007-12-11 Simon Josefsson - * NEWS: Add. + Don't copy *.sig until it exists. -2006-10-18 Simon Josefsson + Bump versions. - * configure.ac, src/idn.c: Assume locale.h and setlocale. + Generated. -2006-10-18 Simon Josefsson + Version 1.3. - * Makefile.am, lib/Makefile.am: Build lib/gl/ earlier. + Reorder release target. -2006-10-18 Simon Josefsson + Reorder. - * lib/gl/.cvsignore: [no log message] + Remove config.rpath hack. -2006-10-18 Simon Josefsson + Update gnulib files. - * lib/Makefile.am: Build gl/ first. + Update gnulib files. -2006-10-18 Simon Josefsson + 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 +2007-10-29 Simon Josefsson - * 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 + Update gnulib files. - * doc/reference/Makefile.am: Ignore all of lib/gl/. +2007-10-28 Simon Josefsson -2006-10-18 Simon Josefsson + Update gnulib files. - * configure.ac: Move libtool init, to avoid warnings. +2007-10-19 Simon Josefsson -2006-10-18 Simon Josefsson + 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 -2006-10-18 Simon Josefsson + Fix. - * lib/version.c: Rewrite using strverscmp, to fix some corner-cases. + Add. -2006-10-18 Simon Josefsson + 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 + Update gnulib files. - * doc/reference/Makefile.am: Ignore strdup.h. +2007-10-08 Simon Josefsson -2006-10-18 Simon Josefsson + Add. - * NEWS: Add. + Typo. -2006-10-18 Simon Josefsson + Fix install section. - * lib/gl/.cvsignore: [no log message] + Add. -2006-10-18 Simon Josefsson + 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 + Update gnulib files. - * doc/specifications/draft-alvestrand-idna-bidi-00.txt: Add. +2007-10-01 Simon Josefsson -2006-10-14 Simon Josefsson + Generated. - * doc/specifications/rfc4713.txt: Add. + Fix git-tag -l in release target. -2006-10-02 Simon Josefsson + Version 1.2. - * doc/specifications/rfc4690.txt: Add. + Add. -2006-09-27 Simon Josefsson + Remove README-alpha. - * configure.ac: Bump versions. + Also upload to ftp.gnu.org. -2006-09-27 Simon Josefsson + Add. - * NEWS: Add. + Add. -2006-09-25 Simon Josefsson + 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 + 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 + 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 + Update gnulib files. - * ChangeLog: [no log message] + Remove unused .cvsignore's. -2006-09-13 Simon Josefsson +2007-09-01 Simon Josefsson - * NEWS: Version 0.6.7. + Generated. -2006-09-13 Simon Josefsson + Version 1.1. - * NEWS: Add. + Add. -2006-09-13 Simon Josefsson + 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 + Bump versions. - * gl/m4/gnulib-comp.m4, gl/m4/onceonly_2_57.m4: Update. + Add. -2006-09-12 Simon Josefsson + Add. - * NEWS: Add. +2007-08-31 Simon Josefsson -2006-09-12 Simon Josefsson + Drop gnits mode. - * THANKS: Add. + Define LIBIDN_BUILDING, for Windows hack in stringprep.h.in. Inspired by report and patch by "Christian Ehrlicher" , see . -2006-09-12 Simon Josefsson + Mark variables with __declspec(import) on Windows. Inspired by report and patch by "Christian Ehrlicher" , see . - * lib/Makefile.am: For C99 stdint.h platforms, create a dummy - idn-int.h that include stdint.h, reported by Paul Howarth - . + Avoid using #include_next in idn-int.h when looking for stdint.h. Reported by Remko van der Vossen in , this tiny patch was suggested by Bruno Haible in . -2006-09-12 Simon Josefsson + Update gnulib files. - * NEWS, configure.ac: Bump versions. +2007-07-31 Simon Josefsson -2006-09-12 Simon Josefsson + Generated. - * doc/libidn.texi: Add. + Add. -2006-09-12 Simon Josefsson + Sync with TP. - * doc/libidn.texi: Move the index to the end. + Fix. -2006-09-12 Simon Josefsson + Sync with libidn.texi. - * doc/libidn.texi: Fix refs. + Fix intro. -2006-09-12 Simon Josefsson + 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 + Add. - * doc/fdl.texi, doc/gpl.texi, doc/lgpl.texi: Update. + Update PGP key. -2006-09-04 Simon Josefsson + Bump versions. - * doc/libidn.texi: Fix. + Fix. -2006-09-04 Simon Josefsson + 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 + Clarify license versions. - * Makefile.am: Use gnupload from gnulib. + Relicense examples/* to GPLv3. -2006-08-30 Simon Josefsson + 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 + 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 + 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 +2007-06-04 Simon Josefsson - * ChangeLog: [no log message] + Bump versions. -2006-08-23 Simon Josefsson +2007-05-31 Simon Josefsson - * 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 + Generated. - * NEWS: Version 0.6.6. + Version 0.6.14. -2006-08-23 Simon Josefsson + Add. - * gl/m4/longlong.m4: Update. + Add. -2006-08-23 Simon Josefsson + 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 + Bump versions. - * gl/override/doc/gendocs_template: Add. + Add. -2006-08-19 Simon Josefsson +2007-05-31 Simon Josefsson - * gl/error.c, gl/m4/gnulib-comp.m4: Update. + *** empty log message *** -2006-08-09 Simon Josefsson + 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 + Install libidn-components.png in infodir, fixes broken image in the info manual. - * NEWS: Add. + Add. -2006-08-09 Simon Josefsson + 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 + 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 + 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 + 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 - - * doc/Makefile.am: Fix texi2dvi -I's. - -2006-07-10 Simon Josefsson - - * 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 - - * gl/.cvsignore: [no log message] - -2006-07-07 Simon Josefsson - - * 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 - - * NEWS, configure.ac: Bump version. - -2006-07-07 Simon Josefsson - - * Makefile.am: Fix gendocs.sh run. - -2006-07-07 Simon Josefsson - - * ChangeLog: [no log message] - -2006-07-07 Simon Josefsson - - * 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 - - * NEWS: Version 0.6.5. - -2006-07-07 Simon Josefsson - - * doc/gendocs.sh: Update. - -2006-07-07 Simon Josefsson - - * NEWS: Add. - -2006-07-07 Simon Josefsson - - * NEWS: Add. +2007-05-30 Simon Josefsson -2006-07-07 Simon Josefsson + Bump versions. - * contrib/doxygen/Doxyfile.in, contrib/doxygen/Doxyfile.orig: Update - to doxygen 1.4.7. - -2006-07-07 Simon Josefsson - - * NEWS, THANKS: Add. - -2006-07-07 Simon Josefsson - - * lib/Makefile.am: Need libintl too, for gettext, reported by Kirill - Ponomarew . - -2006-07-07 Simon Josefsson - - * gl/getopt.c: Update. - -2006-07-07 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2006-07-06 Simon Josefsson - - * ChangeLog: [no log message] - -2006-07-06 Simon Josefsson - - * 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 - - * NEWS: Version 0.6.4. - -2006-07-06 Simon Josefsson - - * configure.ac: Fix valgrind test. - -2006-07-06 Simon Josefsson - - * configure.ac: Check if running valgrind works. - -2006-07-06 Simon Josefsson - - * doc/Makefile.am: Need -I for texi2dvi too. - -2006-07-06 Simon Josefsson - - * doc/libidn.texi: Fix paths. + Add. -2006-07-06 Simon Josefsson + Typo. - * doc/man/.cvsignore: Add. + Clarify license of C# port. -2006-07-06 Simon Josefsson + Clarify license of java/csharp implementation. - * gl/Makefile.am, gl/m4/onceonly_2_57.m4: Update. +2007-04-25 Simon Josefsson -2006-07-06 Simon Josefsson + *** empty log message *** - * NEWS: Fix. + Version 0.6.12. -2006-07-06 Simon Josefsson + Sync with TP. - * tests/Makefile.am: Simplify valgrind usage. +2007-04-24 Simon Josefsson -2006-07-06 Simon Josefsson + Add. - * configure.ac: Check for valgrind. + Use AM_JAVACFLAGS instead of JAVACFLAGS. See . Tiny patch from Petteri Räty . -2006-06-27 Simon Josefsson +2007-04-19 Simon Josefsson - * doc/gdoc: Use GNU-style warnings. + *** empty log message *** -2006-06-27 Simon Josefsson + Add. - * doc/gdoc: Fix man output, sync. + Update. -2006-06-22 Simon Josefsson +2007-04-02 Simon Josefsson - * configure.ac: Use AC_LIBTOOL_WIN32_DLL. + Fix typo. -2006-06-16 Simon Josefsson +2007-03-13 Simon Josefsson - * doc/specifications/draft-iab-idn-nextsteps-06.txt: Add. + 0.6.11. -2006-06-10 Simon Josefsson + 0.6.10. - * po/LINGUAS, po/ja.po: Sync with TP. + 0.6.9. -2006-06-09 Simon Josefsson + Bump versions. - * doc/specifications/rfc4518.txt: Add. + *** empty log message *** -2006-06-07 Simon Josefsson + Generated. - * gl/m4/gnulib-comp.m4: Update. + Version 0.6.11. -2006-06-07 Simon Josefsson + Fix path to csharpcomp. - * gl/m4/gnulib-comp.m4: Update. + Add. -2006-06-07 Simon Josefsson + Dist more. - * gl/m4/gnulib-comp.m4: Update. + Fix tests. -2006-06-01 Simon Josefsson + fix - * NEWS: Add. + *** empty log message *** -2006-06-01 Simon Josefsson + Fix typo. - * src/idn.c: When printing size_t, use %lu and cast the value to - unsigned long, based on report from Joe Orton . + Don't wait for newline from user (breaks batch usage). Fix typo. -2006-06-01 Simon Josefsson + 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 + Update, from Alexander Gnauck . - * NEWS: Add. + Remove. -2006-06-01 Simon Josefsson + 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 . + AppendLine isn't supported by cscc, use Append+\n. -2006-05-16 Simon Josefsson + Add code to generate tables, from Alexander Gnauck . - * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4: Update. -2006-05-05 Simon Josefsson - - * doc/java/.cvsignore, doc/java/resources/.cvsignore: [no log - message] - -2006-05-04 Simon Josefsson - - * NEWS: Add. +2007-03-09 Simon Josefsson -2006-05-04 Simon Josefsson + Sync with TP. - * tests/Makefile.am: Run tests under valgrind, if present. + Bump versions. -2006-04-26 Simon Josefsson + Revert. - * doc/libidn.texi: Typo. - -2006-04-26 Simon Josefsson - - * gl/Makefile.am, gl/m4/strerror_r.m4: Update. + Update. -2006-04-17 Simon Josefsson + *** empty log message *** - * doc/specifications/draft-iab-idn-nextsteps-05.txt: Add. + Update gnulib. -2006-03-14 Simon Josefsson + Update. - * doc/libidn.texi: Fix title. + Use build-aux. -2006-03-11 Simon Josefsson +2007-02-24 Simon Josefsson - * README-alpha: Fix. + Add. -2006-03-11 Simon Josefsson +2007-02-06 Simon Josefsson - * maint-cfg.mk: fix + Update. -2006-03-11 Simon Josefsson +2007-02-05 Simon Josefsson - * gtk-doc.make: Add. + Add. -2006-03-10 Simon Josefsson + Update. - * doc/specifications/draft-farah-adntf-adns-guidelines-01.txt: Add. + Add. -2006-03-08 Simon Josefsson + Update. - * NEWS, configure.ac: Bump versions. +2007-01-25 Simon Josefsson -2006-03-08 Simon Josefsson + Update. - * ChangeLog: [no log message] +2007-01-04 Simon Josefsson -2006-03-08 Simon Josefsson + *** empty log message *** - * NEWS: Typo. + Generated. -2006-03-08 Simon Josefsson + 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 + 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 +2007-01-03 Simon Josefsson - * NEWS: Add. + Update. -2006-03-08 Simon Josefsson +2006-12-28 Simon Josefsson - * 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 + 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 -2006-03-08 Simon Josefsson + 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 -2006-03-07 Simon Josefsson + Bump versions. - * doc/specifications/draft-iab-idn-nextsteps-04.txt: Add. +2006-11-30 Simon Josefsson -2006-03-03 Simon Josefsson + *** 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 + Version 0.6.9. - * Makefile.am: Fix update-po rule. + *** empty log message *** -2006-03-03 Simon Josefsson + Add. - * maint.mk: Update. + Remove. -2006-03-03 Simon Josefsson + Bump tool versions. - * maint.mk: Update. + Update. -2006-03-03 Simon Josefsson +2006-11-16 Simon Josefsson - * 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" . -2006-03-03 Simon Josefsson + 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 -2006-03-03 Simon Josefsson + 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" . -2006-03-03 Simon Josefsson + Fix non-ascii dot in strings, tiny patch from "Stephane Mikaty" . - * Makefile.am, examples/Makefile.am, lib/Makefile.am, - src/Makefile.am, tests/Makefile.am: Remove indent. + Add. -2006-02-17 Simon Josefsson + Update. - * doc/specifications/draft-iab-idn-nextsteps-03.txt: Add. +2006-10-31 Simon Josefsson -2006-02-16 Simon Josefsson + Bump versions. - * maint-cfg.mk: Fix. + Update. -2006-02-16 Simon Josefsson +2006-10-26 Simon Josefsson - * maint-cfg.mk: Fix. + Add. -2006-02-16 Simon Josefsson +2006-10-20 Simon Josefsson - * maint-cfg.mk: Fix. + Add. -2006-02-16 Simon Josefsson +2006-10-18 Simon Josefsson - * maint-cfg.mk: Fix. Add mingw32 target. + *** empty log message *** -2006-02-15 Simon Josefsson + Generated. - * maint.mk: Update. + Version 0.6.8. -2006-02-14 Simon Josefsson + 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 + Assume locale.h and setlocale. - * Makefile.cfg: Fix. + Build lib/gl/ earlier. -2006-02-14 Simon Josefsson + *** empty log message *** - * Makefile.cfg: Fix. + Build gl/ first. -2006-02-14 Simon Josefsson + Add stdint module to lib/. - * Makefile.cfg: Fix. + Remove. -2006-02-14 Simon Josefsson + Ignore all of lib/gl/. - * Makefile.cfg: Fix. + Move libtool init, to avoid warnings. -2006-02-14 Simon Josefsson + Add strverscmp. - * autogen.sh: Remove. + Rewrite using strverscmp, to fix some corner-cases. -2006-02-14 Simon Josefsson + Use iconvme from gnulib. - * GNUmakefile, Makefile.cfg, Makefile.maint: Add. + Ignore strdup.h. -2006-02-11 Simon Josefsson + 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 + Separate gnulib directories. Also update gnulib files. - * libidn.fms: 0.6.2. +2006-10-17 Simon Josefsson -2006-02-07 Simon Josefsson + Add. - * ChangeLog: [no log message] +2006-10-14 Simon Josefsson -2006-02-07 Simon Josefsson + Add. - * doc/libidn.texi: Fix includes, for make dist. +2006-10-02 Simon Josefsson -2006-02-07 Simon Josefsson - - * doc/Makefile.am: Fix -I's again, for make dist. - -2006-02-07 Simon Josefsson - - * doc/libidn.texi: Fix @verbatiminclude's, for make dist. - -2006-02-07 Simon Josefsson - - * doc/Makefile.am: Fix -I's, for make dist. - -2006-02-07 Simon Josefsson - - * doc/Makefile.am: Add -I for examples. - -2006-02-07 Simon Josefsson - - * .cvscopying: Fix years. - -2006-02-07 Simon Josefsson - - * 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 - - * NEWS: Version 0.6.2. - -2006-02-07 Simon Josefsson - - * NEWS: Add. - -2006-02-07 Simon Josefsson - - * 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 - - * 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 - - * gl/csharpcomp.sh.in, gl/getopt.c, gl/m4/getopt.m4, - gl/m4/gnulib-tool.m4: Update. - -2006-02-05 Simon Josefsson - - * NEWS: Add. - -2006-02-03 Simon Josefsson - - * java/misc/Makefile.am: Fix objdir != srcdir, tiny patch from - Bernard Leak . - -2006-02-03 Simon Josefsson - - * NEWS, THANKS: Add. - -2006-02-03 Simon Josefsson - - * doc/java/Makefile.am, java/Makefile.am: Fix objdir != srcdir, tiny - patch from Bernard Leak . - -2006-01-27 Simon Josefsson - - * 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 - - * NEWS, configure.ac: Bump versions. - -2006-01-27 Simon Josefsson - - * doc/Makefile.am: Fix 'make distcheck'. - -2006-01-26 Simon Josefsson - - * doc/libidn.texi: Fix. - -2006-01-24 Simon Josefsson - - * doc/specifications/draft-ietf-ldapbis-strprep-07.txt: Add. - -2006-01-20 Simon Josefsson - - * libidn.fms: 0.6.1. - -2006-01-20 Simon Josefsson - - * ChangeLog: [no log message] - -2006-01-20 Simon Josefsson - - * NEWS: Version 0.6.1. - -2006-01-20 Simon Josefsson - - * doc/libidn.texi: Add. - -2006-01-20 Simon Josefsson - - * 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 - - * NEWS: Add. - -2006-01-20 Simon Josefsson - - * doc/Makefile.am: Fix mingw32 builds. - -2006-01-20 Simon Josefsson - - * tests/Makefile.am: Fix make check on mingw32. - -2006-01-12 Simon Josefsson - - * doc/specifications/draft-xdlee-idn-cdnadmin-06.txt: Add. - -2006-01-11 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib-cache.m4: Update. - -2006-01-11 Simon Josefsson - - * doc/Makefile.am, doc/libidn.texi: Fix copyright years. - -2006-01-11 Simon Josefsson - - * README, README-alpha: Add. - -2006-01-11 Simon Josefsson - - * AUTHORS: Update PGP key. - -2006-01-11 Simon Josefsson - - * csharp/Makefile.am: Fix path to csharpcomp.sh. - -2006-01-11 Simon Josefsson - - * NEWS: Add. - -2006-01-11 Simon Josefsson - - * .cvsignore, gl/.cvsignore: [no log message] - -2006-01-11 Simon Josefsson - - * configure.ac: Fix. - -2006-01-11 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4: - Update. - -2006-01-09 Simon Josefsson - - * gl/m4/gnulib-cache.m4, gl/m4/gnulib-tool.m4: Update. - -2006-01-09 Simon Josefsson - - * gl/Makefile.am, gl/csharpcomp.sh.in, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4: Update. - -2006-01-09 Simon Josefsson - - * tests/tst_idna2.c: Print USC4 code point numbers too. - -2005-12-23 Simon Josefsson - - * doc/specifications/rfc4290.txt: Add. - -2005-12-22 Simon Josefsson - - * doc/specifications/draft-iab-idn-nextsteps-01.txt: Add. - -2005-12-12 Simon Josefsson - - * doc/libidn.texi: Add. - -2005-12-03 Simon Josefsson - - * libidn.fms: 0.6.0. - -2005-12-03 Simon Josefsson - - * NEWS, configure.ac: Bump version. - -2005-12-03 Simon Josefsson - - * ChangeLog: [no log message] - -2005-12-03 Simon Josefsson - - * 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 - - * NEWS: Version 0.6.0. - -2005-12-03 Simon Josefsson - - * doc/libidn.texi: Add. - -2005-12-03 Simon Josefsson - - * NEWS: Fix. - -2005-12-03 Simon Josefsson - - * NEWS: Fix. - -2005-12-03 Simon Josefsson - - * configure.ac: Csharp test is in gnulib now, remove it. - -2005-12-03 Simon Josefsson - - * doc/specifications/draft-iab-idn-nextsteps-00.txt: Add. - -2005-12-02 Simon Josefsson - - * 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 - - * doc/libidn.texi: Add C# notes. - -2005-12-02 Simon Josefsson - - * configure.ac: Fix message. - -2005-12-02 Simon Josefsson - - * 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 - - * csharp/Makefile.am: Don't specify any C# compile flags (fixes - distcheck). - -2005-12-01 Simon Josefsson - - * po/da.po, po/rw.po, po/zh_CN.po: Sync with TP. - -2005-12-01 Simon Josefsson - - * NEWS: Add. - -2005-12-01 Simon Josefsson - - * csharp/Makefile.am: Dist MSVS stuff. - -2005-12-01 Simon Josefsson - - * 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 - - * NEWS: Add. - -2005-12-01 Simon Josefsson - - * 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 - - * NEWS: Fix. - -2005-12-01 Simon Josefsson - - * csharp/.cvsignore, gl/.cvsignore: [no log message] - -2005-12-01 Simon Josefsson - - * configure.ac, csharp/Makefile.am: Fix csharpcomp location. - -2005-12-01 Simon Josefsson - - * NEWS: Fix. - -2005-12-01 Simon Josefsson - - * NEWS, gl/csharpcomp.sh.in: Add. - -2005-12-01 Simon Josefsson - - * configure.ac, csharp/Makefile.am: Fix. - -2005-12-01 Simon Josefsson - - * configure.ac: Fix message. - -2005-12-01 Simon Josefsson - - * csharp/Makefile.am: Fix. - -2005-12-01 Simon Josefsson - - * m4/csharp.m4, m4/csharpcomp.m4: Add. - -2005-12-01 Simon Josefsson - - * configure.ac: Add C# tests. - -2005-12-01 Simon Josefsson - - * csharp/Makefile.am: Remove. - -2005-12-01 Simon Josefsson - - * csharp/Makefile.am: Fix. - -2005-12-01 Simon Josefsson - - * .cvscopying: Add 2005. - -2005-12-01 Simon Josefsson - - * csharp/Makefile.am: Add. - -2005-12-01 Simon Josefsson - - * AUTHORS, THANKS: Add. - -2005-12-01 Simon Josefsson - - * csharp/Makefile.am: Use gnulib, for csharpcomp. - -2005-12-01 Simon Josefsson - - * csharp/Makefile.am: Add. - -2005-12-01 Simon Josefsson - - * Makefile.am, configure.ac: C# fixes. - -2005-12-01 Simon Josefsson - - * 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 . - -2005-12-01 Simon Josefsson - - * NEWS, configure.ac: Bump version. - -2005-11-04 Simon Josefsson - - * NEWS: Fix. - -2005-11-04 Simon Josefsson - - * NEWS, THANKS: Add. - -2005-11-04 Simon Josefsson - - * lib/Makefile.am: Use -no-undefined for libtool, for cygwin, tiny - patch from "Yaakov S (Cygwin Ports)" - . - -2005-10-26 Simon Josefsson - - * po/da.po: Add. - -2005-10-23 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2005-10-23 Simon Josefsson - - * lib/pr29.c: (pr29_8z): Fix memory leak. - -2005-10-23 Simon Josefsson - - * libidn.fms: Add. - -2005-10-23 Simon Josefsson - - * ChangeLog: [no log message] - -2005-10-23 Simon Josefsson - - * 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 - - * doc/libidn.texi: Mention Suse on IBM OpenPower. - -2005-10-23 Simon Josefsson - - * libidn.fms: Fix. - -2005-10-23 Simon Josefsson - - * NEWS: Add. - -2005-10-23 Simon Josefsson - - * NEWS: Version 0.5.20. - -2005-10-23 Simon Josefsson - - * 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 - - * libidn.fms: Add. - -2005-10-23 Simon Josefsson - - * NEWS: Add. - -2005-10-23 Simon Josefsson - - * lib/Makefile.am: Install pr29.h. - -2005-10-22 Simon Josefsson - - * gl/m4/gnulib-comp.m4: Update. - -2005-10-07 Simon Josefsson - - * gl/getopt_.h: Update. - -2005-10-01 Simon Josefsson - - * doc/specifications/draft-ietf-ldapbis-strprep-06.txt: Add. - -2005-09-22 Simon Josefsson - - * gl/m4/gnulib-comp.m4: Update. - -2005-09-20 Simon Josefsson - - * gl/getopt1.c: Update. - -2005-09-19 Simon Josefsson - - * gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4: Update. - -2005-09-19 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2005-09-19 Simon Josefsson - - * Makefile.am: Use gnupload. - -2005-09-19 Simon Josefsson - - * libidn.fms: 0.5.19. - -2005-09-19 Simon Josefsson - - * ChangeLog: [no log message] - -2005-09-19 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.19. - -2005-09-19 Simon Josefsson - - * NEWS: Add. - -2005-09-19 Simon Josefsson - - * 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 - - * po/Makevars: Use --no-location, to minimize CVS diff's. - -2005-09-19 Simon Josefsson - - * doc/reference/tmpl/.cvsignore: [no log message] - -2005-09-15 Simon Josefsson - - * doc/reference/tmpl/libidn-unused.sgml: Add (to fix gtk-doc - makefile bug). - -2005-09-15 Simon Josefsson - - * doc/java/Makefile.am: Fix dependency. - -2005-09-13 Simon Josefsson - - * : Update. - -2005-09-13 Simon Josefsson - - * Makefile.am: Fix wget usage. - -2005-09-13 Simon Josefsson - - * 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 - - * 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 - - * m4/gtk-doc.m4: Update. - -2005-09-12 Simon Josefsson - - * doc/java/Makefile.am: Fix dependencies. - -2005-09-12 Simon Josefsson - - * doc/java/.cvsignore, doc/java/gnu/inet/encoding/.cvsignore, - doc/java/resources/.cvsignore: [no log message] - -2005-09-12 Simon Josefsson - - * NEWS: Fix. - -2005-09-12 Simon Josefsson - - * doc/java/.cvsignore: [no log message] - -2005-09-12 Simon Josefsson - - * java/Makefile.am: Call gjdoc directly. - -2005-09-12 Simon Josefsson - - * README-alpha, configure.ac: Replace javadoc with gjdoc. - -2005-09-12 Simon Josefsson - - * doc/java/Makefile.am: Dist files generated by gjdoc instead. - -2005-09-12 Simon Josefsson - - * NEWS: Add. - -2005-09-12 Simon Josefsson - - * NEWS: Add. - -2005-09-10 Simon Josefsson - - * lib/toutf8.c: Use HAVE_LOCALE_H. - -2005-09-10 Simon Josefsson - - * NEWS: Add. - -2005-09-10 Simon Josefsson - - * m4/codeset.m4: Update. - -2005-09-10 Simon Josefsson - - * THANKS: Add. - -2005-09-10 Simon Josefsson - - * src/idn.c: Fix header/setlocale checks. - -2005-09-10 Simon Josefsson - - * configure.ac: Check for locale.h. - -2005-09-10 Simon Josefsson - - * src/idn.c: Fix setlocale test. - -2005-09-10 Simon Josefsson - - * configure.ac: Check for setlocale. - -2005-09-09 Simon Josefsson - - * m4/codeset.m4: Add. - -2005-09-09 Simon Josefsson - - * lib/toutf8.c: Use modern nl_langinfo test. - -2005-09-09 Simon Josefsson - - * configure.ac: Simplify nl_langinfo test. - -2005-09-09 Simon Josefsson - - * src/idn.c: Fix #include's. - -2005-09-09 Simon Josefsson - - * 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 - - * AUTHORS: Update PGP key. - -2005-09-09 Simon Josefsson - - * NEWS: Add. - -2005-09-09 Simon Josefsson - - * 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 - - * README: Fix typo. - -2005-07-16 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2005-07-16 Simon Josefsson - - * libidn.fms: Add. - -2005-07-16 Simon Josefsson - - * ChangeLog: [no log message] - -2005-07-16 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.18. - -2005-07-16 Simon Josefsson - - * NEWS: Add. - -2005-07-16 Simon Josefsson - - * doc/libidn.texi: Link to help-libidn. - -2005-07-16 Simon Josefsson - - * README: Add. - -2005-07-16 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib.m4: Update. - -2005-07-16 Simon Josefsson - - * configure.ac: Simplify. - -2005-07-15 Simon Josefsson - - * gl/.cvsignore: [no log message] - -2005-06-24 Simon Josefsson - - * doc/specifications/draft-bakleh-reg-adm-acg-apu-01.txt: Add. - -2005-06-24 Simon Josefsson - - * m4/ax_create_stdint_h.m4: Use 'sed 1q' instead of 'head -n 1', - more portable. - -2005-06-24 Simon Josefsson - - * doc/Makefile.am: Add 2005 to man page copyrights. - -2005-06-24 Simon Josefsson - - * m4/ax_create_stdint_h.m4: Fix head usage (really!!). - -2005-06-24 Simon Josefsson - - * configure.ac: Fix license. - -2005-06-24 Simon Josefsson - - * configure.ac: Bump versions. - -2005-06-24 Simon Josefsson - - * NEWS: Add. - -2005-06-24 Simon Josefsson - - * m4/ax_create_stdint_h.m4: Fix use of head. - -2005-06-24 Simon Josefsson - - * m4/ax_create_stdint_h.m4: New upstream release. - -2005-06-14 Simon Josefsson - - * 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 - - * contrib/doxygen/gdoc2doxygen: Fix address in license. - -2005-06-12 Simon Josefsson - - * NEWS: Fix. - -2005-06-12 Simon Josefsson - - * THANKS: fix - -2005-06-12 Simon Josefsson - - * m4/ax_create_stdint_h.m4: Turn 'head -1' into 'head -n -1', tiny - patch from Carsten Lohrke . - -2005-06-05 Simon Josefsson - - * NEWS, po/nl.po: Add. - -2005-05-26 Simon Josefsson - - * libidn.fms: 0.5.17. - -2005-05-26 Simon Josefsson - - * ChangeLog: [no log message] - -2005-05-26 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.17. - -2005-05-26 Simon Josefsson - - * doc/lgpl.texi: Fix sectioning. - -2005-05-26 Simon Josefsson - - * NEWS: Fix. - -2005-05-26 Simon Josefsson - - * 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 - - * 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 - - * NEWS: Add. - -2005-05-18 Simon Josefsson - - * doc/specifications/draft-klensin-reg-guidelines-08.txt: Add. - -2005-05-12 Simon Josefsson - - * 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 - - * doc/libidn.texi: Add. - -2005-05-08 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2005-05-08 Simon Josefsson - - * libidn.fms: 0.5.16. - -2005-05-06 Simon Josefsson - - * ChangeLog: [no log message] - -2005-05-06 Simon Josefsson - - * NEWS: Version 0.5.16. - -2005-05-06 Simon Josefsson - - * 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 - - * NEWS: Add. - -2005-05-05 Simon Josefsson - - * lib/pr29.c: Use 'const' for static data, tiny patch from Joe Orton - . - -2005-04-16 Simon Josefsson - - * 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 - - * configure.ac: Bump versions. - -2005-04-15 Simon Josefsson - - * NEWS: Add. - -2005-04-15 Simon Josefsson - - * 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 - - * po/LINGUAS, po/rw.po, po/zh_CN.po: Sync with TP. - -2005-03-19 Simon Josefsson - - * ChangeLog: [no log message] - -2005-03-19 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.15. - -2005-03-19 Simon Josefsson - - * NEWS: Fix. - -2005-03-19 Simon Josefsson - - * NEWS: Add. - -2005-03-19 Simon Josefsson - - * lib/iconvme.c: Sync with libc; fix license and fix arithmetic - overflow. - -2005-03-19 Simon Josefsson - - * lib/iconvme.h: Fix license. - -2005-03-19 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2005-03-19 Simon Josefsson - - * ChangeLog: [no log message] - -2005-03-19 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.14. - -2005-03-19 Simon Josefsson - - * doc/libidn.texi: Ramblings. - -2005-03-19 Simon Josefsson - - * 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 - - * NEWS, THANKS, po/LINGUAS, po/zh_CN.po: Add. - -2005-03-01 Simon Josefsson - - * doc/specifications/rfc4013.txt: Add. - -2005-02-27 Simon Josefsson - - * lib/idn-free.c: Include the specification first, to verify it is - standalone. Doc fix. - -2005-02-24 Simon Josefsson - - * doc/specifications/draft-ietf-ldapbis-dn-16.txt: Add. - -2005-02-16 Simon Josefsson - - * THANKS: Add. - -2005-02-16 Simon Josefsson - - * THANKS: Reorder chronologically. - -2005-02-13 Simon Josefsson - - * NEWS: Add. - -2005-02-13 Simon Josefsson - - * NEWS: Add. - -2005-02-11 Simon Josefsson - - * doc/specifications/draft-ietf-ldapbis-strprep-05.txt: Add. - -2005-02-07 Simon Josefsson - - * THANKS: Sort (should be sorted chronologically..). - -2005-02-07 Simon Josefsson - - * configure.ac: Bump versions. - -2005-02-07 Simon Josefsson - - * NEWS, THANKS, po/LINGUAS, po/vi.po: Add. - -2005-01-30 Simon Josefsson - - * lib/Makefile.am: Fix last commit, reported by Linus Nordberg - . - -2005-01-29 Simon Josefsson - - * lib/Makefile.am: Fix srcdir != objdir when bootstrapping from CVS, - patch from Linus Nordberg (tiny change). - -2005-01-29 Simon Josefsson - - * README-alpha: Fix. - -2005-01-29 Simon Josefsson - - * doc/reference/Makefile.am: Remove hack, fixed in gtk-doc CVS. - -2005-01-29 Simon Josefsson - - * libidn.fms: 0.5.13. - -2005-01-29 Simon Josefsson - - * ChangeLog: [no log message] - -2005-01-29 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.13. - -2005-01-29 Simon Josefsson - - * gl/Makefile.am, gl/dummy.c, gl/m4/gnulib.m4: Update. - -2005-01-29 Simon Josefsson - - * configure.ac: Need dummy gnulib module again. - -2005-01-28 Simon Josefsson - - * lib/iconvme.c, lib/iconvme.h: Add. - -2005-01-28 Simon Josefsson - - * 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 - - * 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 - - * NEWS: Typo. - -2005-01-27 Simon Josefsson - - * THANKS: Add. - -2005-01-27 Simon Josefsson - - * doc/libidn.texi: Add, reported by Simon Walter - . - -2005-01-20 Simon Josefsson - - * NEWS: Add. - -2005-01-17 Simon Josefsson - - * 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 - - * README-alpha: Remove. - -2005-01-17 Simon Josefsson - - * java/gnu/inet/encoding/Makefile.am, java/misc/Makefile.am: Define - JAVAROOT unconditionally, because automake barf otherwise. - -2005-01-16 Simon Josefsson - - * README-alpha: Add. - -2005-01-16 Simon Josefsson - - * README-alpha: Add. - -2005-01-16 Simon Josefsson - - * THANKS: Add. - -2005-01-16 Simon Josefsson - - * README-alpha: Mention gettext requirement, suggested by Linus - Nordberg . - -2005-01-05 Simon Josefsson - - * configure.ac: Warn strongly about missing iconv. - -2005-01-05 Simon Josefsson - - * gl/Makefile.am, gl/dummy.c, gl/m4/gnulib.m4: Update. - -2005-01-05 Simon Josefsson - - * configure.ac: No need to use dummy gnulib module, no system has - iconvme. - -2005-01-05 Simon Josefsson - - * NEWS: Add. - -2005-01-05 Simon Josefsson - - * lib/Makefile.am: Link with gnulib (only LGPL files). - -2005-01-05 Simon Josefsson - - * lib/toutf8.c: Use iconv_string from gnulib. - -2005-01-05 Simon Josefsson - - * 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 - - * src/idn.c: Add copyright for year 2005. - -2005-01-02 Simon Josefsson - - * NEWS: Add. - -2005-01-02 Simon Josefsson - - * po/sv.po: Update. - -2005-01-01 Simon Josefsson - - * gl/error.c: Update. - -2005-01-01 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2005-01-01 Simon Josefsson - - * NEWS, THANKS, po/LINGUAS, po/it.po: Add. - -2004-12-04 Simon Josefsson - - * libidn.fms: Add. - -2004-12-04 Simon Josefsson - - * ChangeLog: [no log message] - -2004-12-04 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.12. - -2004-12-04 Simon Josefsson - - * NEWS: Add. - -2004-12-04 Simon Josefsson - - * gl/getopt_.h, gl/m4/getopt.m4: Update. - -2004-12-01 Simon Josefsson - - * java/gnu/inet/encoding/Stringprep.java: Doc fix, from Oliver Hitz - . - -2004-11-30 Simon Josefsson - - * doc/specifications/draft-bartosiewicz-idn-pltld-08.txt: Add. - -2004-11-29 Simon Josefsson - - * doc/libidn.texi: More PR29. - -2004-11-23 Simon Josefsson - - * configure.ac: Bump versions. - -2004-11-23 Simon Josefsson - - * NEWS: Add. - -2004-11-22 Simon Josefsson - - * THANKS: Add. - -2004-11-22 Simon Josefsson - - * 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 - . - -2004-11-22 Simon Josefsson - - * java/gnu/inet/encoding/RFC3454.java, - java/misc/GenerateRFC3454.java: Add table C.1.1 and C.2.1, from - Oliver Hitz . - -2004-11-21 Simon Josefsson - - * 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 - - * libidn.fms: Add. - -2004-11-21 Simon Josefsson - - * ChangeLog: [no log message] - -2004-11-21 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.11. - -2004-11-21 Simon Josefsson - - * NEWS: Add. - -2004-11-21 Simon Josefsson - - * doc/gdoc: Add 'DO NOT MODIFY' warning to generated man pages. - -2004-11-21 Simon Josefsson - - * THANKS: Add. - -2004-11-21 Simon Josefsson - - * lib/idna.c: Doc fix. - -2004-11-21 Simon Josefsson - - * NEWS: Add. - -2004-11-21 Simon Josefsson - - * lib/nfkc.c, lib/strerror-punycode.c: Doc fix. - -2004-11-21 Simon Josefsson - - * 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 - - * 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 - - * lib/punycode.c: Doc fix. - -2004-11-21 Simon Josefsson - - * doc/gdoc: Skip leading whitespace in function purpose. Print - function purpose in man pages, if available. - -2004-11-21 Simon Josefsson - - * NEWS: Add. - -2004-11-21 Simon Josefsson - - * gl/getopt.c, gl/getopt1.c, gl/getopt_.h, gl/getopt_int.h, - gl/m4/getopt.m4: Update. - -2004-11-18 Simon Josefsson - - * doc/specifications/draft-ekrema-smldn-00.txt: Add. - -2004-11-17 Simon Josefsson - - * doc/specifications/draft-klensin-reg-guidelines-05.txt: Add. - -2004-11-16 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-11-09 Simon Josefsson - - * doc/specifications/Description.txt, - doc/specifications/IDNConnect.html, doc/specifications/testbed.html: - Add. - -2004-11-09 Simon Josefsson - - * doc/specifications/pr-29.html: Update. - -2004-11-08 Simon Josefsson - - * libidn.fms: Fix. - -2004-11-08 Simon Josefsson - - * ChangeLog: [no log message] - -2004-11-08 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.10. - -2004-11-08 Simon Josefsson - - * tests/tst_pr29.c: No need for stringprep.h. - -2004-11-08 Simon Josefsson - - * 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 - - * tests/utils.c: Typo. - -2004-11-08 Simon Josefsson - - * 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 - - * Makefile.am: Simplify EXTRA_DIST. - -2004-11-08 Simon Josefsson - - * NEWS: Add. - -2004-11-08 Simon Josefsson - - * lib/Makefile.am: Use Libtool's -export-symbols-regex. - -2004-11-08 Simon Josefsson - - * doc/specifications/draft-klensin-reg-guidelines-04.txt, - doc/specifications/draft-xdlee-idn-cdnadmin-02.txt: Add. - -2004-11-08 Simon Josefsson - - * 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 - - * lib/tld.c: Add copyright header for me. - -2004-11-07 Simon Josefsson - - * libidn.fms: Add. - -2004-11-07 Simon Josefsson - - * README-alpha: Fix. - -2004-11-07 Simon Josefsson - - * FAQ: Add. - -2004-11-07 Simon Josefsson - - * AUTHORS: Update PGP key. - -2004-11-07 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-11-07 Simon Josefsson - - * doc/specifications/draft-ietf-sasl-anon-04.txt: Add. - -2004-11-07 Simon Josefsson - - * ChangeLog: [no log message] - -2004-11-07 Simon Josefsson - - * 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 - - * Makefile.am: Fix release target. - -2004-11-07 Simon Josefsson - - * NEWS: Version 0.5.9. - -2004-11-07 Simon Josefsson - - * po/sv.po: Sync with TP. - -2004-11-07 Simon Josefsson - - * doc/reference/.cvsignore: [no log message] - -2004-11-07 Simon Josefsson - - * doc/reference/Makefile.am, doc/reference/libidn.types: Simplify. - -2004-11-07 Simon Josefsson - - * doc/Makefile.am: Fix SUBDIRS order, because GTK-DOC need - components.png. - -2004-11-07 Simon Josefsson - - * autogen.sh: Fix. - -2004-11-07 Simon Josefsson - - * autogen.sh: Fix. - -2004-11-07 Simon Josefsson - - * NEWS: Add. - -2004-11-07 Simon Josefsson - - * doc/gendocs.sh, doc/gendocs_template: Update. - -2004-10-28 Simon Josefsson - - * doc/gdoc: Support -include, from GnuTLS. - -2004-10-27 Simon Josefsson - - * lib/profiles.c: Doc fix. - -2004-10-25 Simon Josefsson - - * doc/gdoc: Fix man output. - -2004-10-25 Simon Josefsson - - * lib/strerror-stringprep.c, lib/stringprep.c, lib/tld.c: Doc fix. - -2004-10-25 Simon Josefsson - - * 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 - - * doc/gdoc: Use @code, not @var, for constants in texinfo output. - Fix newlines in man output. - -2004-10-25 Simon Josefsson - - * doc/gdoc: Use # instead of & for types. - -2004-10-25 Simon Josefsson - - * doc/reference/Makefile.am, doc/reference/libidn-docs.sgml: Add - image. - -2004-10-25 Simon Josefsson - - * autogen.sh: Run gtkdocize. - -2004-10-25 Simon Josefsson - - * po/LINGUAS, po/sv.po: Sync with TP. - -2004-10-25 Simon Josefsson - - * Makefile.am: (update-po): Fix. - -2004-10-25 Simon Josefsson - - * : Add. - -2004-10-24 Simon Josefsson - - * doc/reference/libidn.types: Fix. - -2004-10-24 Simon Josefsson - - * NEWS: Fix. - -2004-10-24 Simon Josefsson - - * Makefile.am: (DISTCHECK_CONFIGURE_FLAGS): Add --enable-gtk-doc. - -2004-10-24 Simon Josefsson - - * 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 - - * doc/reference/.cvsignore: [no log message] - -2004-10-24 Simon Josefsson - - * 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 - - * gl/Makefile.am, gl/m4/getopt.m4: Update. - -2004-10-15 Simon Josefsson - - * po/pl.po: Sync with TP. - -2004-10-13 Simon Josefsson - - * libidn.fms: Update. - -2004-10-13 Simon Josefsson - - * libidn.fms: Update. - -2004-10-12 Simon Josefsson - - * README: Fix. - -2004-10-12 Simon Josefsson - - * README: Fix. - -2004-10-12 Simon Josefsson - - * README: Improve readability. - -2004-10-12 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-10-12 Simon Josefsson - - * ChangeLog: [no log message] - -2004-10-12 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.8. - -2004-10-12 Simon Josefsson - - * NEWS: Add. - -2004-10-12 Simon Josefsson - - * lib/gen-unicode-tables.pl: Add coment to generated files to say - that they are generated, reported by "Gisle Vanem" . - -2004-10-12 Simon Josefsson - - * doc/specifications/Makefile.am: Distribute - BidiMirroring-3.2.0.txt, reported by "Gisle Vanem" . - -2004-10-12 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-10-12 Simon Josefsson - - * ChangeLog: [no log message] - -2004-10-12 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.7. - -2004-10-12 Simon Josefsson - - * NEWS: Add. - -2004-10-11 Simon Josefsson - - * po/fr.po: Generated. - -2004-10-11 Simon Josefsson - - * po/fr.po: Sync with TP. - -2004-10-05 Simon Josefsson - - * gl/error.c: Update Gnulib. - -2004-10-04 Simon Josefsson - - * 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 - - * NEWS, configure.ac: Bump versions. - -2004-10-02 Simon Josefsson - - * src/idn.c: Use EXIT_SUCCESS and EXIT_FAILURE. - -2004-10-02 Simon Josefsson - - * AUTHORS: Update PGP key. - -2004-10-02 Simon Josefsson - - * ChangeLog: [no log message] - -2004-10-02 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.6. - -2004-10-02 Simon Josefsson - - * examples/example.c, examples/example3.c, examples/example4.c, - examples/example5.c: Use *strerror. - -2004-10-02 Simon Josefsson - - * Makefile.am, examples/Makefile.am: Fix indent. - -2004-10-02 Simon Josefsson - - * NEWS, libidn.fms: Fix. - -2004-10-02 Simon Josefsson - - * NEWS: Reorder. - -2004-10-02 Simon Josefsson - - * NEWS: Fix. - -2004-10-02 Simon Josefsson - - * lib/Makefile.am: Don't link with gnulib. - -2004-10-02 Simon Josefsson - - * lib/toutf8.c: Revert, don't use strdup. - -2004-10-02 Simon Josefsson - - * lib/strerror-idna.c: Simplify translation strings. - -2004-10-02 Simon Josefsson - - * NEWS: Add. - -2004-10-02 Simon Josefsson - - * NEWS: Fix. - -2004-10-02 Simon Josefsson - - * src/idn.c: Typo. - -2004-10-02 Simon Josefsson - - * 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 - - * src/idn.c: Use error. - -2004-10-02 Simon Josefsson - - * 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 - - * tests/Makefile.am, tests/tst_strerror.c: Add. - -2004-10-02 Simon Josefsson - - * tests/.cvsignore: [no log message] - -2004-10-02 Simon Josefsson - - * lib/Makefile.am: (DEFS): Add LOCALEDIR. - -2004-10-02 Simon Josefsson - - * 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 - - * po/POTFILES.in: Add. - -2004-10-02 Simon Josefsson - - * src/Makefile.am: Fix. - -2004-10-02 Simon Josefsson - - * 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 . Make idn.c use them. Rename - TLD_NOTLD to TLD_NO_TLD. - -2004-09-29 Simon Josefsson - - * gl/Makefile.am, gl/dummy.c, gl/m4/gnulib.m4: Update. - -2004-09-28 Simon Josefsson - - * gl/Makefile.am, gl/m4/gnulib.m4: Update. - -2004-09-28 Simon Josefsson - - * 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 - - * configure.ac: Specify gl_LGPL for new gnulib-tool. - -2004-09-26 Simon Josefsson - - * configure.ac: Bump versions. - -2004-09-26 Simon Josefsson - - * 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 - - * doc/specifications/draft-bakleh-reg-adm-acg-apu-00.txt: Add. - -2004-09-13 Simon Josefsson - - * libidn.fms: Add. - -2004-09-13 Simon Josefsson - - * ChangeLog: [no log message] - -2004-09-13 Simon Josefsson - - * doc/reference/Makefile.am: Clean more. - -2004-09-13 Simon Josefsson - - * NEWS: Version 0.5.5. - -2004-09-13 Simon Josefsson - - * 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 - - * doc/reference/.cvsignore: [no log message] - -2004-09-13 Simon Josefsson - - * Makefile.am: (POURL): Fix. - -2004-09-13 Simon Josefsson - - * 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 - - * NEWS: Add. - -2004-09-05 Simon Josefsson - - * NEWS: Add. - -2004-09-05 Simon Josefsson - - * lib/nfkc.c: (g_utf8_skip): Hide variable, using "static". - -2004-09-02 Simon Josefsson - - * doc/libidn.texi: Move. Fix ack. - -2004-08-25 Simon Josefsson - - * doc/specifications/draft-farah-adntf-adns-guidelines-00.txt: Add. - -2004-08-23 Simon Josefsson - - * m4/autobuild.m4: Update. - -2004-08-18 Simon Josefsson - - * README: Fix. - -2004-08-18 Simon Josefsson - - * doc/libidn.texi: Fix. - -2004-08-17 Simon Josefsson - - * README: Add. - -2004-08-17 Simon Josefsson - - * NEWS, configure.ac: Bump version. - -2004-08-10 Simon Josefsson - - * src/idn.c: Shut up 'uno' by fixing array boundary. - -2004-08-08 Simon Josefsson - - * libidn.fms: Fix. - -2004-08-08 Simon Josefsson - - * libidn.fms: Add. - -2004-08-07 Simon Josefsson - - * ChangeLog: [no log message] - -2004-08-07 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.4. - -2004-08-06 Simon Josefsson - - * po/LINGUAS: Sync with TP. - -2004-08-06 Simon Josefsson - - * Makefile.am: Fix. - -2004-08-06 Simon Josefsson - - * Makefile.am: Fix. - -2004-08-06 Simon Josefsson - - * Makefile.am: Fix. - -2004-08-06 Simon Josefsson - - * Makefile.am: (update-po): Add. - -2004-08-06 Simon Josefsson - - * 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 - - * configure.ac: Bump version. - -2004-08-05 Simon Josefsson - - * NEWS: Add. - -2004-08-05 Simon Josefsson - - * 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 - - * ChangeLog: [no log message] - -2004-08-05 Simon Josefsson - - * NEWS: Version 0.5.3. - -2004-08-05 Simon Josefsson - - * 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 - - * NEWS: Add. - -2004-08-05 Simon Josefsson - - * THANKS: Add. - -2004-08-05 Simon Josefsson - - * src/idn.c: Fix crash, tiny patch by Andreas Schwab reported by - Stephan Kulow . - -2004-08-01 Simon Josefsson - - * lib/pr29.c: Use PR29_* error mnemonics, instead of hard coded - integers. - -2004-08-01 Simon Josefsson - - * lib/pr29.c: Cosmetic fix. - -2004-07-29 Simon Josefsson - - * doc/specifications/COPYING.UCD: Add. - -2004-07-29 Simon Josefsson - - * doc/specifications/COPYING.UCD: Update. - -2004-07-14 Simon Josefsson - - * doc/gendocs.sh, doc/gendocs_template: Update. - -2004-07-14 Simon Josefsson - - * NEWS: Bump version. - -2004-07-14 Simon Josefsson - - * configure.ac: Bump versions. - -2004-07-14 Simon Josefsson - - * NEWS: Add. - -2004-07-14 Simon Josefsson - - * ChangeLog: [no log message] - -2004-07-14 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.2. - -2004-07-14 Simon Josefsson - - * NEWS: Add. - -2004-07-14 Simon Josefsson - - * NEWS: Fix. - -2004-07-14 Simon Josefsson - - * configure.ac: Bump version. - -2004-07-14 Simon Josefsson - - * NEWS, THANKS: Add. - -2004-07-14 Simon Josefsson - - * THANKS: Add. - -2004-07-14 Simon Josefsson - - * java/Makefile.am: (install-jar): Make DESTDIR compatible, patch from Oliver Hitz - based on report by Benjamin Reed - . - -2004-07-13 Simon Josefsson - - * libc/example.c: Doc fix. - -2004-07-13 Simon Josefsson - - * libc/example.c: Use setlocale, reported by Robert Scheck - . - -2004-07-13 Simon Josefsson - - * doc/specifications/draft-hoffman-pkix-stringmatch-00.txt: Add. - -2004-07-09 Simon Josefsson - - * doc/libidn.texi: Add. - -2004-07-09 Simon Josefsson - - * doc/libidn.texi: Mention pr29.h. - -2004-07-09 Simon Josefsson - - * ChangeLog: [no log message] - -2004-07-09 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.1. - -2004-07-09 Simon Josefsson - - * configure.ac: Use autobuild. - -2004-07-09 Simon Josefsson - - * NEWS, THANKS, m4/autobuild.m4: Add. - -2004-07-09 Simon Josefsson - - * examples/example.c, examples/example2.c, examples/example3.c, - examples/example4.c: Call setlocale to make iconv work, reported by - Robert Scheck . - -2004-07-02 Simon Josefsson - - * configure.ac, src/getopt.c, src/getopt1.c: Update getopt. - -2004-07-02 Simon Josefsson - - * NEWS: Add. - -2004-07-02 Simon Josefsson - - * .cvsignore, tests/.cvsignore: [no log message] - -2004-07-02 Simon Josefsson - - * doc/libidn.texi: Fix. - -2004-07-02 Simon Josefsson - - * examples/.cvsignore, src/.cvsignore: [no log message] - -2004-07-02 Simon Josefsson - - * src/.cvsignore: [no log message] - -2004-07-02 Simon Josefsson - - * src/getopt_int.h: Add. - -2004-07-02 Simon Josefsson - - * 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 - - * doc/libidn.texi: Add. - -2004-06-29 Simon Josefsson - - * doc/libidn.texi: Add. - -2004-06-26 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-06-26 Simon Josefsson - - * doc/libidn.texi: Add. - -2004-06-26 Simon Josefsson - - * ChangeLog: [no log message] - -2004-06-26 Simon Josefsson - - * 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 - - * NEWS: Version 0.5.0. - -2004-06-26 Simon Josefsson - - * doc/reference/.cvsignore: [no log message] - -2004-06-26 Simon Josefsson - - * lib/pr29.c: Fix. - -2004-06-26 Simon Josefsson - - * doc/reference/Makefile.am: Fix. - -2004-06-26 Simon Josefsson - - * doc/reference/Makefile.am: (HTML_OBJECTS): Add libidn-pr29.html. - -2004-06-26 Simon Josefsson - - * doc/reference/libidn-docs.tmpl: Add PR29. - -2004-06-26 Simon Josefsson - - * doc/reference/.cvsignore: [no log message] - -2004-06-26 Simon Josefsson - - * lib/pr29.c: Add doc. - -2004-06-26 Simon Josefsson - - * doc/Makefile.am: Don't use wildcards for GDOC_SRC. - -2004-06-26 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-06-26 Simon Josefsson - - * lib/pr29.c: Use 'static'. - -2004-06-26 Simon Josefsson - - * lib/pr29.h: Typo. - -2004-06-26 Simon Josefsson - - * tests/.cvsignore: [no log message] - -2004-06-26 Simon Josefsson - - * 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 - - * doc/specifications/HangulSyllableType-4.0.1.txt: Add. - -2004-06-25 Simon Josefsson - - * doc/specifications/DerivedCombiningClass-3.2.0.txt: Add. - -2004-06-12 Simon Josefsson - - * NEWS: Add. - -2004-06-12 Simon Josefsson - - * po/LINGUAS, po/eo.po: Add Esperanto translation, from Edmund - GRIMLEY EVANS , via the translation project. - -2004-06-11 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-06-11 Simon Josefsson - - * Makefile.am: Fix release target. - -2004-06-11 Simon Josefsson - - * ChangeLog: [no log message] - -2004-06-11 Simon Josefsson - - * 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 - - * NEWS: Version 0.4.9. - -2004-06-11 Simon Josefsson - - * java/Makefile.am: Work around automake limitation (cannot have - instal-data-local target in a conditional). - -2004-06-09 Simon Josefsson - - * doc/specifications/draft-ietf-ldapbis-dn-14.txt, - doc/specifications/draft-ietf-ldapbis-strprep-04.txt: Add. - -2004-06-08 Simon Josefsson - - * lib/stringprep.c: Cosmetic fix, sync with libc. - -2004-06-07 Simon Josefsson - - * NEWS: Fix. - -2004-06-07 Simon Josefsson - - * java/Makefile.am: Create libidn.jar link. - -2004-06-06 Simon Josefsson - - * 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 - - * java/.cvsignore: [no log message] - -2004-06-03 Simon Josefsson - - * java/misc/Makefile.am: Use versioned *.jar. - -2004-06-02 Simon Josefsson - - * java/Makefile.am: Versionize *.jar filename. - -2004-06-01 Simon Josefsson - - * NEWS: Add. - -2004-06-01 Simon Josefsson - - * doc/java/Makefile.am: Dist HTMLs. - -2004-06-01 Simon Josefsson - - * doc/gendocs_template: Add JavaDoc links. - -2004-06-01 Simon Josefsson - - * Makefile.am: Copy javadoc files. - -2004-06-01 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-06-01 Simon Josefsson - - * doc/java/.cvsignore: [no log message] - -2004-06-01 Simon Josefsson - - * doc/java/.cvsignore: [no log message] - -2004-06-01 Simon Josefsson - - * doc/java/Makefile.am: Fix. - -2004-06-01 Simon Josefsson - - * java/Makefile.am: Add javadoc. - -2004-06-01 Simon Josefsson - - * java/Makefile.am: Distribute libidn.jar, suggested by Oliver Hitz. - -2004-06-01 Simon Josefsson - - * m4/ac_prog_javadoc.m4: Add. - -2004-06-01 Simon Josefsson - - * doc/Makefile.am, doc/java/Makefile.am: Add java/. - -2004-06-01 Simon Josefsson - - * configure.ac: Build doc/java/Makefile. - -2004-06-01 Simon Josefsson - - * configure.ac: Find javadoc. - -2004-06-01 Simon Josefsson - - * ChangeLog: [no log message] - -2004-06-01 Simon Josefsson - - * 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 - - * NEWS: Version 0.4.8. - -2004-06-01 Simon Josefsson - - * NEWS: Add. - -2004-06-01 Simon Josefsson - - * java/misc/Makefile.am: Don't use GNU make specific 'override', - from Oliver Hitz. - -2004-06-01 Simon Josefsson - - * java/gnu/inet/encoding/Makefile.am, java/misc/Makefile.am: Dist - *.java, suggested by Oliver Hitz. - -2004-05-31 Simon Josefsson - - * README: Fix. - -2004-05-31 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-05-31 Simon Josefsson - - * ChangeLog: [no log message] - -2004-05-31 Simon Josefsson - - * NEWS: Version 0.4.7. - -2004-05-31 Simon Josefsson - - * 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 - - * NEWS: Fix. - -2004-05-31 Simon Josefsson - - * doc/libidn.texi: Markup fix. - -2004-05-31 Simon Josefsson - - * doc/libidn.texi: (Java API): Fix. - -2004-05-31 Simon Josefsson - - * doc/libidn.texi: Markup fixes. - -2004-05-31 Simon Josefsson - - * java/Makefile.am, java/README.UNICODE, java/README.html: Remove - (moved to doc/libidn.texi). - -2004-05-31 Simon Josefsson - - * 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 - - * java/Makefile.am: Revert, I don't want to require gcj for CVS - builds. - -2004-05-31 Simon Josefsson - - * java/Makefile.am: Dist libidn.jar (this seem to be the norm among - Java libraries?). - -2004-05-31 Simon Josefsson - - * NEWS: Add. - -2004-05-31 Simon Josefsson - - * java/gnu/inet/encoding/.cvsignore, java/misc/.cvsignore: [no log - message] - -2004-05-31 Simon Josefsson - - * java/Makefile.am: Build more. - -2004-05-31 Simon Josefsson - - * 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 - . - -2004-05-26 Simon Josefsson - - * contrib/web/idn.php: Fixes. - -2004-05-25 Simon Josefsson - - * README-alpha: Fix. - -2004-05-24 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-05-24 Simon Josefsson - - * ChangeLog: [no log message] - -2004-05-24 Simon Josefsson - - * NEWS: Version 0.4.6. - -2004-05-24 Simon Josefsson - - * 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 - - * NEWS: Add. - -2004-05-24 Simon Josefsson - - * lib/Makefile.am: (include_HEADERS): Install idn-free.h, reported by Daniel Stenberg - . - -2004-05-21 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-05-21 Simon Josefsson - - * doc/specifications/pr-29.html: Update. - -2004-05-21 Simon Josefsson - - * ChangeLog: [no log message] - -2004-05-21 Simon Josefsson - - * NEWS: Version 0.4.5. - -2004-05-21 Simon Josefsson - - * 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 - - * doc/Makefile.am: Bump copyright years on man pages. - -2004-05-21 Simon Josefsson - - * configure.ac: Bump so version. - -2004-05-21 Simon Josefsson - - * doc/reference/Makefile.am: (HIGNORE): Add idn-free.h. - -2004-05-21 Simon Josefsson - - * lib/stringprep.c: (stringprep): Move declaration of temporary variable to start of - scope. - -2004-05-21 Simon Josefsson - - * NEWS: Add. - -2004-05-21 Simon Josefsson - - * lib/idna.c: (idna_to_unicode_4z4z): There was no double free, remove my - modification. - -2004-05-21 Simon Josefsson - - * NEWS: Add. - -2004-05-21 Simon Josefsson - - * lib/idna.c: (idna_to_ascii_4i, idna_to_unicode_4z4z): Fix memory leak when - memory allocation fails. From Ulrich Drepper , - but modified to fix double free and incorrect 'if' condition. - -2004-05-21 Simon Josefsson - - * NEWS: Add. - -2004-05-21 Simon Josefsson - - * lib/stringprep.c: (stringprep): Fix memory leak when memory allocation fails. From - Ulrich Drepper . - -2004-05-21 Simon Josefsson - - * lib/idna.c: Doc fix. - -2004-05-21 Simon Josefsson - - * lib/idna.c: Back port of (some) changes by Ulrich Drepper - . (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 - - * NEWS, THANKS: Add. - -2004-05-21 Simon Josefsson - - * lib/Makefile.am, lib/idn-free.c, lib/idn-free.h: Add idn_free, - suggested by "Gisle Vanem" . - -2004-04-30 Simon Josefsson - - * NEWS: Fix. - -2004-04-30 Simon Josefsson - - * lib/idna.c: (idna_to_ascii_lz): Doc fix, reported by Joe Orton - . - -2004-04-30 Simon Josefsson - - * tests/tst_nfkc.c: Add NFKC test vectors from pr-29.html. Fix - debug output. - -2004-04-30 Simon Josefsson - - * doc/specifications/pr-29.html: Add. - -2004-04-30 Simon Josefsson - - * tests/utils.c: Fix ucs4print debugging output. - -2004-04-29 Simon Josefsson - - * NEWS, doc/specifications/draft-ietf-sasl-saslprep-09.txt: Add. - -2004-04-29 Simon Josefsson - - * tests/tst_stringprep.c: Update SASLPrep test vectors. - -2004-04-29 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-04-29 Simon Josefsson - - * ChangeLog: [no log message] - -2004-04-29 Simon Josefsson - - * NEWS: Version 0.4.4. - -2004-04-29 Simon Josefsson - - * 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 - - * NEWS: Add. - -2004-04-29 Simon Josefsson - - * NEWS, THANKS: Add. - -2004-04-29 Simon Josefsson - - * tests/Makefile.am: Use -no-install to avoid libtool wrapper - script, tiny patch from Joe Orton . - -2004-04-29 Simon Josefsson - - * NEWS: Add. - -2004-04-29 Simon Josefsson - - * doc/specifications/stringprep-profiles: Update. - -2004-04-29 Simon Josefsson - - * NEWS, doc/specifications/rfc3722.txt: Add. - -2004-04-29 Simon Josefsson - - * tests/tst_stringprep.c: Add iSCSI test vectors to catch recent - bugs. - -2004-04-29 Simon Josefsson - - * lib/profiles.c: (stringprep_iscsi_prohibit): For start==0, use end!=1. - -2004-04-29 Simon Josefsson - - * 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 - - * NEWS, THANKS: Add. - -2004-04-24 Simon Josefsson - - * po/LINGUAS, po/ro.po: Add, by Laurentiu Buzdugan - via translation project. - -2004-04-22 Simon Josefsson - - * lib/toutf8.c: Rename variable to avoid silly shadowing warnings. - -2004-04-22 Simon Josefsson - - * tests/.cvsignore: [no log message] - -2004-04-22 Simon Josefsson - - * tests/Makefile.am: Move utils.c and utils.h into a separate - library. - -2004-04-22 Simon Josefsson - - * tests/.cvsignore: [no log message] - -2004-04-22 Simon Josefsson - - * 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 - - * tests/tst_nfkc.c: Fix warnings. - -2004-04-22 Simon Josefsson - - * configure.ac: Require modern autoconf. - -2004-04-22 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-04-22 Simon Josefsson - - * lib/toutf8.c: Indent. - -2004-04-22 Simon Josefsson - - * ChangeLog: [no log message] - -2004-04-22 Simon Josefsson - - * 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 - - * NEWS: Version 0.4.3. - -2004-04-22 Simon Josefsson - - * NEWS: Add. - -2004-04-22 Simon Josefsson - - * NEWS: Add. - -2004-04-22 Simon Josefsson - - * lib/tld.h: (Tld_table): Mark "name" and "version" as const. - -2004-04-22 Simon Josefsson - - * NEWS: Add. - -2004-04-22 Simon Josefsson - - * tests/tst_stringprep.c: Add SASLprep test vectors (would catch the - C.2.1 bug). - -2004-04-22 Simon Josefsson - - * 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 - - * AUTHORS: Update PGP key. - -2004-04-18 Simon Josefsson - - * THANKS: Add. - -2004-04-18 Simon Josefsson - - * libidn.pc.in: Drop -R lib flag, suggested by Martin Waitz - . - -2004-04-15 Simon Josefsson - - * doc/specifications/draft-costello-rfc3492bis-02.txt: Add. - -2004-04-15 Simon Josefsson - - * doc/specifications/rfc3743.txt: Add. - -2004-04-14 Simon Josefsson - - * 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 - - * doc/specifications/draft-ietf-sasl-saslprep-08.txt: Add. - -2004-04-11 Simon Josefsson - - * README-alpha: Fix versions. - -2004-04-09 Simon Josefsson - - * NEWS, THANKS: Add. - -2004-04-09 Simon Josefsson - - * po/LINGUAS, po/nl.po: Add, from Elros Cyriatan - via Translation Project. - -2004-04-05 Simon Josefsson - - * contrib/idn-python/idn.c: Use new API, tiny patch from "Gisle - Vanem" . - -2004-03-28 Simon Josefsson - - * NEWS, THANKS: Add. - -2004-03-28 Simon Josefsson - - * po/LINGUAS, po/de.po: Add German translation, from Roland Illig - via translation project. - -2004-03-23 Simon Josefsson - - * doc/specifications/draft-ietf-sasl-saslprep-07.txt: Add. - -2004-03-20 Simon Josefsson - - * THANKS: Add. - -2004-03-20 Simon Josefsson - - * doc/Makefile.gdoci: Use TAB instead of \t, suggested by Jørgen - Thomsen . - -2004-03-20 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-03-20 Simon Josefsson - - * ChangeLog: [no log message] - -2004-03-20 Simon Josefsson - - * po/da.po, po/fr.po, po/pl.po, po/sr.po, po/sv.po: Generated. - -2004-03-20 Simon Josefsson - - * NEWS: Version 0.4.2. - -2004-03-20 Simon Josefsson - - * configure.ac: Inform about Java. - -2004-03-20 Simon Josefsson - - * libc/getaddrinfo-idn.txt: Update. - -2004-03-20 Simon Josefsson - - * 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 - - * README, java/Makefile.am: Fix. - -2004-03-20 Simon Josefsson - - * COPYING: Add. - -2004-03-20 Simon Josefsson - - * NEWS, doc/libidn.texi: Fix. - -2004-03-20 Simon Josefsson - - * AUTHORS, THANKS: Add. - -2004-03-20 Simon Josefsson - - * THANKS: Add. - -2004-03-19 Simon Josefsson - - * NEWS: Add. - -2004-03-19 Simon Josefsson - - * 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 - - * 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 - - * java/gnu/inet/encoding/.cvsignore: [no log message] - -2004-03-19 Simon Josefsson - - * java/gnu/inet/encoding/PunycodeException.java: Add, from Oliver - Hitz . - -2004-03-19 Simon Josefsson - - * java/gnu/inet/encoding/Makefile.am: (noinst_JAVA): Only include Punycode*.java for now. - -2004-03-19 Simon Josefsson - - * 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 . - -2004-03-19 Simon Josefsson - - * java/.cvsignore, java/gnu/.cvsignore, java/gnu/inet/.cvsignore, - java/gnu/inet/encoding/.cvsignore, m4/.cvsignore: [no log message] - -2004-03-16 Simon Josefsson - - * NEWS: Add. - -2004-03-16 Simon Josefsson - - * THANKS: Add. - -2004-03-16 Simon Josefsson - - * po/LINGUAS, po/da.po: Add, from Morten Bo Johansen - via Translation Project. - -2004-03-14 Simon Josefsson - - * po/pl.po: Update. - -2004-03-14 Simon Josefsson - - * po/.cvsignore: [no log message] - -2004-03-14 Simon Josefsson - - * po/LINGUAS: Add. - -2004-03-14 Simon Josefsson - - * THANKS: Fix. - -2004-03-14 Simon Josefsson - - * THANKS, doc/libidn.texi: Ack Unicode, Inc. - -2004-03-14 Simon Josefsson - - * doc/specifications/Makefile.am: Dist COPYING.UCD. - -2004-03-14 Simon Josefsson - - * doc/specifications/COPYING.UCD: Add. - -2004-03-14 Simon Josefsson - - * NEWS, THANKS: Add. - -2004-03-14 Simon Josefsson - - * po/LINGUAS, po/fr.po: Add, from Michel Robitaille - via Translation Project. - -2004-03-14 Simon Josefsson - - * NEWS: Add. - -2004-03-14 Simon Josefsson - - * NEWS, THANKS: Add. - -2004-03-14 Simon Josefsson - - * po/LINGUAS, po/sr.po: Add, from Aleksandar Jelenak - via Translation Project. - -2004-03-13 Simon Josefsson - - * doc/tld/no.tld: Add URLs. - -2004-03-13 Simon Josefsson - - * NEWS: Add. - -2004-03-13 Simon Josefsson - - * doc/tld/Makefile.am: Add no.tld. - -2004-03-13 Simon Josefsson - - * doc/tld/no.tld: Add, from Thomas Jacob . - -2004-03-13 Simon Josefsson - - * po/sv.po: Fix. - -2004-03-13 Simon Josefsson - - * doc/libidn.texi, src/idn.ggo: Add. - -2004-03-10 Simon Josefsson - - * THANKS: Fix. - -2004-03-10 Simon Josefsson - - * NEWS, THANKS: Add. - -2004-03-10 Simon Josefsson - - * po/LINGUAS, po/pl.po: Add Polish translation, from Jakub Bogusz - . - -2004-03-10 Simon Josefsson - - * doc/specifications/draft-ietf-sasl-saslprep-06.txt: Add. - -2004-03-09 Simon Josefsson - - * Makefile.am: Build lib/ before po/. - -2004-03-08 Simon Josefsson - - * NEWS, configure.ac: Bump versions. - -2004-03-08 Simon Josefsson - - * ChangeLog: [no log message] - -2004-03-08 Simon Josefsson - - * po/sv.po: Generated. - -2004-03-08 Simon Josefsson - - * NEWS: Version 0.4.1. - -2004-03-08 Simon Josefsson - - * tests/tst_tld.c: Fix warning. - -2004-03-08 Simon Josefsson - - * NEWS: Fix. - -2004-03-08 Simon Josefsson - - * po/sv.po: Generated. - -2004-03-08 Simon Josefsson - - * src/Makefile.am: (idn_LDADD): Add LTLIBINTL. - -2004-03-08 Simon Josefsson - - * NEWS: Add. - -2004-03-08 Simon Josefsson - - * po/sv.po: Generated. - -2004-03-08 Simon Josefsson - - * po/sv.po: Fix. - -2004-03-08 Simon Josefsson - - * src/idn.c: Cosmetic fix. - -2004-03-08 Simon Josefsson - - * po/sv.po: Add. - -2004-03-08 Simon Josefsson - - * src/idn.c: Translation markup. - -2004-03-08 Simon Josefsson - - * po/.cvsignore: [no log message] - -2004-03-08 Simon Josefsson - - * po/.cvsignore: [no log message] - -2004-03-08 Simon Josefsson - - * po/sv.po: Fix. - -2004-03-08 Simon Josefsson - - * src/idn.c: Gettextiscate. - -2004-03-08 Simon Josefsson - - * po/sv.po: Add. - -2004-03-08 Simon Josefsson - - * .cvsignore, m4/.cvsignore, po/.cvsignore: [no log message] - -2004-03-08 Simon Josefsson - - * src/Makefile.am, src/gettext.h: Add gettext.h. Define LOCALEDIR - (for gettext). - -2004-03-08 Simon Josefsson - - * po/Makevars: Add. - -2004-03-08 Simon Josefsson - - * .cvsignore, m4/.cvsignore, po/.cvsignore: [no log message] - -2004-03-08 Simon Josefsson - - * config.rpath, m4/lib-ld.m4, m4/lib-prefix.m4: Remove, added by - gettextize. - -2004-03-08 Simon Josefsson - - * Makefile.am, configure.ac, po/LINGUAS, po/POTFILES.in: - Gettextiscate. - -2004-03-08 Simon Josefsson - - * NEWS: Add. - -2004-03-08 Simon Josefsson - - * NEWS: Fix. - -2004-03-08 Simon Josefsson - - * doc/libidn.texi: Fix IDNA_DLOPEN_ERROR. - -2004-03-08 Simon Josefsson - - * lib/toutf8.c: (stringprep_convert): Don't copy input. Check for malloc failures. - From Ulrich Drepper , via libidn integration in - libc. - -2004-03-08 Simon Josefsson - - * src/idn.c: Invoke setlocale (LC_ALL, ""). - -2004-03-08 Simon Josefsson - - * NEWS: Add. - -2004-03-08 Simon Josefsson - - * 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 - , during libidn integration in libc. - -2004-03-08 Simon Josefsson - - * lib/idna.c: (Idna_rc): Doc fix IDNA_DLOPEN_ERROR. - -2004-03-08 Simon Josefsson - - * NEWS: Fix. - -2004-03-08 Simon Josefsson - - * NEWS, THANKS: Add. - -2004-03-08 Simon Josefsson - - * lib/nfkc.c: Fix warning, tiny patch by Ulrich Drepper - from libidn integration in libc. - -2004-03-08 Simon Josefsson - - * lib/idna.h: (Idna_rc): Add IDNA_DLOPEN_ERROR error code, for libidn part of - libc. - -2004-03-08 Simon Josefsson - - * lib/stringprep.h.in: (Stringprep_profiles): Mark 'name' as 'const'. Tiny patch to libidn - in libc by Ulrich Drepper . - -2004-03-07 Simon Josefsson - - * NEWS: Add. - -2004-03-07 Simon Josefsson - - * Makefile.am: Dist libc/idn-stub.c and libc/libidn.texi. + Add. -2004-03-07 Simon Josefsson +2006-09-27 Simon Josefsson - * libc/libc.patch: Update, from libc-alpha post. + Bump versions. -2004-03-07 Simon Josefsson + Add. - * libc/idn-stub.c, libc/libidn.texi: Add, from libc-alpha post. +2006-09-25 Simon Josefsson -2004-03-07 Simon Josefsson + Update. - * libc/Makefile: Sync libc-alpha post. +2006-09-21 Simon Josefsson -2004-03-07 Simon Josefsson + Update. - * libc/README, libc/example.c: Update. +2006-09-14 Simon Josefsson -2004-03-07 Simon Josefsson + Update. - * libc/getaddrinfo.c, libc/netdb.h: Sync. +2006-09-13 Simon Josefsson -2004-03-07 Simon Josefsson + *** empty log message *** - * lib/stringprep.c: Fix comment. + Version 0.6.7. -2004-03-07 Simon Josefsson + Add. - * NEWS: Add. + Sync with TP. -2004-03-07 Simon Josefsson + Update. - * README-alpha: Fix version requirements. +2006-09-12 Simon Josefsson -2004-03-07 Simon Josefsson + Add. - * README-alpha: Fix texinfo requirement. + Add. -2004-03-05 Simon Josefsson + For C99 stdint.h platforms, create a dummy idn-int.h that include stdint.h, reported by Paul Howarth . - * NEWS: Add. + Bump versions. -2004-03-05 Simon Josefsson + 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 + Fix refs. - * doc/libidn.texi, doc/tld/README: Mention tldchk.berlios.de, - suggested by Thomas Jacob . + Update. -2004-02-28 Simon Josefsson +2006-09-04 Simon Josefsson - * lib/Makefile.am: Don't install tld.h if --disable-tld. + Update. -2004-02-28 Simon Josefsson + Fix. - * NEWS, configure.ac: Bump versions. + Add lgpl and gpl from gnulib. -2004-02-28 Simon Josefsson +2006-08-30 Simon Josefsson - * 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 + Update. - * ChangeLog: [no log message] + Update. -2004-02-28 Simon Josefsson +2006-08-28 Simon Josefsson - * NEWS: Version 0.4.0. + Update. -2004-02-28 Simon Josefsson +2006-08-23 Simon Josefsson - * lib/toutf8.c: Always include errno.h (C89). + *** empty log message *** -2004-02-28 Simon Josefsson + Generated. - * lib/tld.c, src/idn.c: Indent. + Version 0.6.6. -2004-02-28 Simon Josefsson + Update. - * README: Mention TLD. + Update. -2004-02-28 Simon Josefsson + Add. - * lib/gen-tld-tables.pl: Handle draft-hoffman-idn-reg-*.txt tables - better. +2006-08-19 Simon Josefsson -2004-02-28 Simon Josefsson + Update. - * doc/tld/fr.tld: Add headers. Fix typos and comments. +2006-08-09 Simon Josefsson -2004-02-28 Simon Josefsson + Sync with TP. - * doc/tld/fr.tld: Add copying conditions. + Add. -2004-02-28 Simon Josefsson + Update. - * doc/tld/fr.tld: Add, from Stephane Bortzmeyer . +2006-07-14 Simon Josefsson -2004-02-28 Simon Josefsson + Fix. - * doc/libidn.texi: Don't document Tld_table* for now. + Update. -2004-02-28 Simon Josefsson +2006-07-11 Simon Josefsson - * lib/tld.c: (_tld_checkchar): Use new Tld_table API. + Update. -2004-02-28 Simon Josefsson + Fix texi2dvi -I's. - * lib/tld.h: (Tld_table): Change valid definition. +2006-07-10 Simon Josefsson -2004-02-28 Simon Josefsson + Update. - * lib/gen-tld-tables.pl: Use new API. +2006-07-07 Simon Josefsson -2004-02-28 Simon Josefsson + *** empty log message *** - * doc/libidn.texi: Fix. + Use gnulib stdint module instead of AX_CREATE_STDINT_H. -2004-02-28 Simon Josefsson + Bump version. - * doc/libidn.texi: Improve Troubleshooting. + Fix gendocs.sh run. -2004-02-27 Simon Josefsson + *** empty log message *** - * lib/tld.c: Cosmetic fix. + Generated. -2004-02-27 Simon Josefsson + Version 0.6.5. - * lib/tld.c: (tld_check_4): Don't write to NULL errpos, from Thomas Jacob - . + Update. -2004-02-18 Simon Josefsson + Add. - * lib/gen-tld-tables.pl: Typo. + Add. -2004-02-18 Simon Josefsson + Update to doxygen 1.4.7. - * lib/gen-tld-tables.pl: Use hex in output. + Add. -2004-02-18 Simon Josefsson + Need libintl too, for gettext, reported by Kirill Ponomarew . - * lib/gen-tld-tables.pl: Add comment. + Update. -2004-02-18 Simon Josefsson + Bump versions. - * lib/gen-tld-tables.pl: Parse tables conforming to - draft-hoffman-idn-reg. + *** empty log message *** -2004-02-18 Simon Josefsson + 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 + Fix valgrind test. - * doc/libidn.texi: Fix typos. + Check if running valgrind works. -2004-02-18 Simon Josefsson +2006-07-06 Simon Josefsson - * doc/libidn.texi: Fix autoconf stuff, suggested by Stephane - Bortzmeyer . + Need -I for texi2dvi too. -2004-02-15 Simon Josefsson + Fix paths. - * NEWS: Fix. + Add. -2004-02-13 Simon Josefsson + Update. - * lib/tld.c: Doc fix. + Fix. -2004-02-13 Simon Josefsson + Simplify valgrind usage. - * NEWS: Fix. + Check for valgrind. -2004-02-12 Simon Josefsson +2006-06-27 Simon Josefsson - * lib/tld.c: Fix. Indent. + Use GNU-style warnings. -2004-02-12 Simon Josefsson + Fix man output, sync. - * lib/tld.c: (tld_get_z): Allocate correct amount, from Thomas Jacob - . +2006-06-22 Simon Josefsson -2004-02-10 Simon Josefsson + Use AC_LIBTOOL_WIN32_DLL. - * examples/README: Fix title. +2006-06-16 Simon Josefsson -2004-02-10 Simon Josefsson + Add. - * examples/README: Add. +2006-06-10 Simon Josefsson -2004-02-10 Simon Josefsson + Sync with TP. - * NEWS: Add. +2006-06-09 Simon Josefsson -2004-02-10 Simon Josefsson + Add. - * examples/example5.c: Fix warning. +2006-06-07 Simon Josefsson -2004-02-10 Simon Josefsson + Update. - * src/idn.c: Fix TLD debug. + Update. -2004-02-10 Simon Josefsson + Update. - * src/idn.c: TLD check correct string. +2006-06-01 Simon Josefsson -2004-02-10 Simon Josefsson + 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 . -2004-02-10 Simon Josefsson + Sync with TP. - * examples/Makefile.am: TLD fix. + Add. -2004-02-10 Simon Josefsson + Include config.h, to make NLS work, tiny patch from Joe Orton . - * lib/gen-tld-tables.pl: Fix include, from Thomas Jacob - . +2006-05-16 Simon Josefsson -2004-02-08 Simon Josefsson + Update. - * lib/stringprep.c: Mention example5. +2006-05-05 Simon Josefsson -2004-02-08 Simon Josefsson + *** empty log message *** - * lib/stringprep.c: Sync libidn text. +2006-05-04 Simon Josefsson -2004-02-08 Simon Josefsson + Add. - * doc/reference/libidn-docs.tmpl: Sync text. + Run tests under valgrind, if present. -2004-02-08 Simon Josefsson +2006-04-26 Simon Josefsson - * doc/libidn.texi: Fix introduction. + Typo. -2004-02-08 Simon Josefsson + Update. - * lib/tld.c, tests/tst_tld.c: Typo. +2006-04-17 Simon Josefsson -2004-02-08 Simon Josefsson + Add. - * doc/libidn.texi: TLD fixes. +2006-03-14 Simon Josefsson -2004-02-08 Simon Josefsson + Fix title. - * doc/libidn.texi: Add. +2006-03-11 Simon Josefsson -2004-02-08 Simon Josefsson + Fix. - * doc/libidn.texi: Add example 5. + fix -2004-02-08 Simon Josefsson + Add. - * lib/tld.c: (_tld_checkchar): Binary search, from jacob@internet24.de. +2006-03-10 Simon Josefsson -2004-02-08 Simon Josefsson + Add. - * NEWS: Remove. +2006-03-08 Simon Josefsson -2004-02-08 Simon Josefsson + Bump versions. - * lib/tld.c, lib/tld.h: Indent. + *** empty log message *** -2004-02-08 Simon Josefsson + Typo. - * lib/tld.c: Whitespace. + Generated. -2004-02-08 Simon Josefsson + Version 0.6.3. - * lib/tld.h: Doc fix. + Add. -2004-02-08 Simon Josefsson + Bump versions. - * lib/gen-tld-tables.pl, lib/tld.c, lib/tld.h: Hide tld_tables. + Update. -2004-02-08 Simon Josefsson + 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 -2004-02-08 Simon Josefsson + Add. - * NEWS, lib/tld.c, lib/tld.h: Typo. +2006-03-03 Simon Josefsson -2004-02-08 Simon Josefsson + Sync with TP. - * lib/tld.h: Typo. + Fix update-po rule. -2004-02-08 Simon Josefsson + Update. - * NEWS, doc/libidn.texi: Add. + Update. -2004-02-08 Simon Josefsson + Doc fix. - * lib/tld.c, lib/tld.h: (tld_get_8z): Add. + Stylistic fix. -2004-02-08 Simon Josefsson + Update. - * examples/.cvsignore: [no log message] + Remove indent. -2004-02-08 Simon Josefsson +2006-02-17 Simon Josefsson - * examples/Makefile.am, examples/example5.c: Add. + Add. -2004-02-08 Simon Josefsson +2006-02-16 Simon Josefsson - * lib/idna.c: Doc fix. + Fix. -2004-02-08 Simon Josefsson + Fix. - * lib/gen-tld-tables.pl: Fix. + Fix. -2004-02-06 Simon Josefsson + Fix. Add mingw32 target. - * doc/libidn.texi: Fix. +2006-02-15 Simon Josefsson -2004-02-06 Simon Josefsson + Update. - * doc/libidn.texi: Add. +2006-02-14 Simon Josefsson -2004-02-06 Simon Josefsson + Rename. - * doc/libidn.texi: Add. + Fix. -2004-02-06 Simon Josefsson + Fix. - * lib/profiles.c, lib/tld.h, src/idn.c, tests/tst_tld.c: Indent. + Fix. -2004-02-06 Simon Josefsson + Fix. - * src/Makefile.am: Fix indent. + Remove. -2004-02-06 Simon Josefsson + Add. - * doc/tld/README: Add. +2006-02-11 Simon Josefsson -2004-02-06 Simon Josefsson + Update gnulib. - * doc/tld/README: Fix. +2006-02-07 Simon Josefsson -2004-02-06 Simon Josefsson + 0.6.2. - * doc/tld/README: Rewrite. + *** empty log message *** -2004-02-06 Simon Josefsson + Fix includes, for make dist. - * lib/gen-tld-tables.pl: Fix "include". + Fix -I's again, for make dist. -2004-02-06 Simon Josefsson + Fix @verbatiminclude's, for make dist. - * NEWS: Add. + Fix -I's, for make dist. -2004-02-06 Simon Josefsson + Add -I for examples. - * NEWS: Fix. + Fix years. -2004-02-06 Simon Josefsson + 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 + Add. - * doc/libidn.texi, lib/tld.c, lib/tld.h: Rename TLD_ILLEGAL to - TLD_INVALID. + Update. -2004-02-06 Simon Josefsson + Sync with TP. - * doc/libidn.texi: Fix. + Update. -2004-02-06 Simon Josefsson +2006-02-05 Simon Josefsson - * doc/libidn.texi: Add. + Add. -2004-02-06 Simon Josefsson +2006-02-03 Simon Josefsson - * doc/libidn.texi: Update idn command line. + Fix objdir != srcdir, tiny patch from Bernard Leak . -2004-02-06 Simon Josefsson + Add. - * src/idn.ggo: Move around. + Fix objdir != srcdir, tiny patch from Bernard Leak . -2004-02-06 Simon Josefsson +2006-01-27 Simon Josefsson - * src/idn.ggo: Fix stringprep profiles. + Sync with TP. -2004-02-06 Simon Josefsson + Bump versions. - * src/idn.c: TLD typo. + Fix 'make distcheck'. -2004-02-06 Simon Josefsson +2006-01-26 Simon Josefsson - * src/idn.ggo: Make --tld the default. + Fix. -2004-02-06 Simon Josefsson +2006-01-24 Simon Josefsson - * src/idn.c: Support --tld. Make sure output is hold in "p". Fix - error messages. + Add. -2004-02-06 Simon Josefsson +2006-01-20 Simon Josefsson - * src/idn.ggo: TLD fix. + 0.6.1. -2004-02-06 Simon Josefsson + *** empty log message *** - * NEWS: Fix. + Version 0.6.1. -2004-02-06 Simon Josefsson + Add. - * NEWS: Fix. + Sync with TP. -2004-02-06 Simon Josefsson + Add. - * THANKS: Add. + Fix mingw32 builds. -2004-02-06 Simon Josefsson + Fix make check on mingw32. - * doc/libidn.texi: Typos. +2006-01-12 Simon Josefsson -2004-02-06 Simon Josefsson + Add. - * doc/libidn.texi: Fix. +2006-01-11 Simon Josefsson -2004-02-06 Simon Josefsson + Update. - * lib/tld.h: Doc fix. + Fix copyright years. -2004-02-06 Simon Josefsson + Add. - * doc/libidn.texi: Add. + Update PGP key. -2004-02-06 Simon Josefsson + Fix path to csharpcomp.sh. - * lib/tld.c: Typo. + Add. -2004-02-06 Simon Josefsson + *** empty log message *** - * doc/libidn.texi: Add. + Fix. -2004-02-06 Simon Josefsson + Update. - * lib/tld.c, lib/tld.h: Doc fix. +2006-01-09 Simon Josefsson -2004-02-06 Simon Josefsson + Update. - * tests/tst_tld.c: Use new API. + Update. -2004-02-06 Simon Josefsson + 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 -2004-02-06 Simon Josefsson + Add. - * lib/tld.h: Typo. +2005-12-22 Simon Josefsson -2004-02-06 Simon Josefsson + Add. - * lib/tld.c, lib/tld.h: Typo. +2005-12-12 Simon Josefsson -2004-02-06 Simon Josefsson + Add. - * lib/tld.c, lib/tld.h: Revert. +2005-12-03 Simon Josefsson -2004-02-06 Simon Josefsson + 0.6.0. - * lib/tld.c, lib/tld.h: Change semantics if tld_get_table. + Bump version. -2004-02-06 Simon Josefsson + *** empty log message *** - * lib/gen-tld-tables.pl, lib/tld.c, lib/tld.h: Typo. + Generated. -2004-02-06 Simon Josefsson + Version 0.6.0. - * lib/tld.c: Typos. + Add. -2004-02-06 Simon Josefsson + Fix. - * tests/tst_tld.c: Use new API. + Fix. -2004-02-06 Simon Josefsson + Csharp test is in gnulib now, remove it. - * lib/tld.c: Rename tld_check_*. + Add. -2004-02-06 Simon Josefsson +2005-12-02 Simon Josefsson - * lib/tld.h: Rename tld_check_*. Doc fix. + Sync with TP. -2004-02-06 Simon Josefsson + Add C# notes. - * lib/tld.c, lib/tld.h: Rename tld_gettld_* to tld_get_*. + Fix message. -2004-02-06 Simon Josefsson + 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 + Sync with TP. - * lib/gen-tld-tables.pl: Use new API. + Add. -2004-02-06 Simon Josefsson + Dist MSVS stuff. - * lib/tld.h: Fix Tld_table. + Add MSVSC project files. -2004-02-06 Simon Josefsson + Add. - * lib/tld.c: Reorder. + Use GPL for the port. -2004-02-06 Simon Josefsson + Fix. - * tests/tst_tld.c: Use new API. + *** empty log message *** -2004-02-06 Simon Josefsson + 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 + Add. - * tests/tst_tld.c: Fix. + Fix. -2004-02-06 Simon Josefsson + Fix message. - * lib/profiles.c, lib/punycode.c, lib/stringprep.c, lib/tld.c, - lib/tld.h: Indent. +2005-12-01 Simon Josefsson -2004-02-06 Simon Josefsson + Fix. - * doc/libidn.texi: Fix acks. + Add. -2004-02-06 Simon Josefsson + Add C# tests. - * doc/libidn.texi: Add. + Remove. -2004-02-06 Simon Josefsson + Fix. - * AUTHORS: Add. + Add 2005. -2004-02-06 Simon Josefsson + Add. - * doc/reference/libidn-docs.tmpl: Update. + Add. -2004-02-06 Simon Josefsson + Use gnulib, for csharpcomp. - * doc/reference/.cvsignore: [no log message] + Add. -2004-02-06 Simon Josefsson + C# fixes. - * NEWS: Add. + Add C# port, from Alexander Gnauck . -2004-02-06 Simon Josefsson + Bump version. - * doc/components.fig: Add TLD. +2005-11-04 Simon Josefsson -2004-02-06 Simon Josefsson + Fix. - * doc/libidn.texi: Fix. + Add. -2004-02-06 Simon Josefsson + Use -no-undefined for libtool, for cygwin, tiny patch from "Yaakov S (Cygwin Ports)" . - * doc/libidn.texi: Fix. +2005-10-26 Simon Josefsson -2004-02-06 Simon Josefsson + Add. - * doc/libidn.texi: Update introduction. Add TLD. Fix autoconf - example. Remove Kerberos 5 macro documentation. +2005-10-24 Simon Josefsson -2004-02-06 Simon Josefsson + Bump versions. - * lib/stringprep.c: Doc fix. + (pr29_8z): Fix memory leak. -2004-02-06 Simon Josefsson +2005-10-23 Simon Josefsson - * lib/tld.h: Fix. + Add. -2004-02-06 Simon Josefsson + *** empty log message *** - * doc/reference/Makefile.am, doc/reference/libidn-docs.tmpl: Add - TLD. + Generated. -2004-02-06 Simon Josefsson + Mention Suse on IBM OpenPower. - * configure.ac: Bump versions. + Fix. -2004-02-06 Simon Josefsson + Add. - * NEWS: Add. + Version 0.5.20. -2004-02-06 Simon Josefsson + Sync with TP. - * lib/Makefile.am, tests/Makefile.am: Make it possible to exclude - TLD. + Add. -2004-02-06 Simon Josefsson + Add. - * configure.ac: Add --disable-tld. + Install pr29.h. -2004-02-06 Simon Josefsson +2005-10-22 Simon Josefsson - * configure.ac: Build doc/tld/Makefile. + Update. -2004-02-06 Simon Josefsson +2005-10-07 Simon Josefsson - * doc/tld/.cvsignore, tests/.cvsignore: [no log message] + Update. -2004-02-06 Simon Josefsson +2005-10-01 Simon Josefsson - * tests/Makefile.am: Add tst_tld. + Add. -2004-02-06 Simon Josefsson +2005-09-22 Simon Josefsson - * src/idn.ggo: Add --tld. + Update. -2004-02-06 Simon Josefsson +2005-09-20 Simon Josefsson - * tests/tst_tld.c: Add. + Update. -2004-02-06 Simon Josefsson +2005-09-19 Simon Josefsson - * lib/gen-tld-tables.pl, lib/tld.h: Fix Tld_table. + Update. -2004-02-06 Simon Josefsson + Bump versions. - * lib/tld.c: TLD code fix. + Use gnupload. -2004-02-06 Simon Josefsson + 0.5.19. - * lib/.cvsignore: [no log message] + *** empty log message *** -2004-02-06 Simon Josefsson + Update. - * lib/tld.c: TLD fixes. + Version 0.5.19. -2004-02-06 Simon Josefsson + Add. - * lib/tld.h: TLD typos. + Update. -2004-02-06 Simon Josefsson + Use --no-location, to minimize CVS diff's. - * lib/Makefile.am: TLD fix. + *** empty log message *** -2004-02-06 Simon Josefsson +2005-09-15 Simon Josefsson - * lib/tld.c: Add, from Thomas Jacob . + Add (to fix gtk-doc makefile bug). -2004-02-06 Simon Josefsson + Fix dependency. - * lib/tld.h: Fixes. +2005-09-13 Simon Josefsson -2004-02-06 Simon Josefsson + Update. - * lib/tld.h: Add, from Thomas Jacob . + Sync with TP. -2004-02-06 Simon Josefsson + Fix wget usage. - * lib/gen-tld-tables.pl: TLD fixes. + Sync with TP. -2004-02-06 Simon Josefsson + Sync with TP. - * lib/gen-tld-tables.pl: Print to stdout. +2005-09-12 Simon Josefsson -2004-02-06 Simon Josefsson + Update. - * lib/Makefile.am: TLD fixes. + Fix dependencies. -2004-02-06 Simon Josefsson + *** empty log message *** - * doc/Makefile.am: Add tld/. + Fix. -2004-02-06 Simon Josefsson + *** empty log message *** - * doc/tld/Makefile.am: Fix. + Call gjdoc directly. -2004-02-06 Simon Josefsson + Replace javadoc with gjdoc. - * doc/tld/README: Add copying conditions. + Dist files generated by gjdoc instead. -2004-02-06 Simon Josefsson + Add. - * doc/tld/Makefile.am, doc/tld/README, lib/Makefile.am, - lib/gen-tld-tables.pl: Add, from Thomas Jacob . + Add. -2004-02-04 Simon Josefsson +2005-09-10 Simon Josefsson - * doc/libidn.texi: Typo. + Use HAVE_LOCALE_H. -2004-02-01 Simon Josefsson + Add. - * doc/components.fig: Fix. + Update. -2004-02-01 Simon Josefsson + Add. - * doc/libidn.texi: Fix. + Fix header/setlocale checks. -2004-02-01 Simon Josefsson + Check for locale.h. - * doc/components.fig: Add. + Fix setlocale test. -2004-02-01 Simon Josefsson + Check for setlocale. - * doc/.cvsignore: [no log message] +2005-09-09 Simon Josefsson -2004-02-01 Simon Josefsson + Add. - * doc/Makefile.am: Build components.pdf too. + Use modern nl_langinfo test. -2004-02-01 Simon Josefsson + Simplify nl_langinfo test. - * doc/Makefile.am, doc/libidn.texi: Add components.fig. + Fix #include's. -2004-01-31 Simon Josefsson + 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 + Add. - * doc/libidn.texi: Fix, reported by nisse@lysator.liu.se (Niels - Möller). + Update gnulib. -2004-01-22 Simon Josefsson +2005-07-16 Simon Josefsson - * NEWS, configure.ac: Bump versions. + Fix typo. -2004-01-22 Simon Josefsson + Bump versions. - * Makefile.am: Fix release target. + Add. -2004-01-22 Simon Josefsson + *** empty log message *** - * doc/gendocs.sh: Upstream sync. + Generated. -2004-01-22 Simon Josefsson + Version 0.5.18. - * ChangeLog: [no log message] + Add. -2004-01-22 Simon Josefsson + Link to help-libidn. - * NEWS: Version 0.3.7. + Add. -2004-01-22 Simon Josefsson + Update. - * Makefile.am: Add release target. + Simplify. -2004-01-22 Simon Josefsson +2005-07-15 Simon Josefsson - * .cvsignore: [no log message] + *** empty log message *** -2004-01-22 Simon Josefsson +2005-06-24 Simon Josefsson - * .cvscopying, autogen.sh: Fix. + Add. -2004-01-22 Simon Josefsson + 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 + Fix head usage (really!!). - * src/idn.c: Typo. + Fix license. -2004-01-22 Simon Josefsson + Bump versions. - * src/idn.c: Update copyright years. + Add. -2004-01-22 Simon Josefsson + Fix use of head. - * NEWS: Add. + New upstream release. -2004-01-22 Simon Josefsson +2005-06-15 Simon Josefsson - * NEWS, THANKS: Add. + Sync with TP. -2004-01-22 Simon Josefsson + Fix address in license. - * doc/libidn.texi, src/idn.ggo: Mention '--'. +2005-06-12 Simon Josefsson -2004-01-21 Simon Josefsson + Fix. - * doc/specifications/stringprep-profiles: Add. + fix -2004-01-21 Simon Josefsson + Turn 'head -1' into 'head -n -1', tiny patch from Carsten Lohrke . - * contrib/web/idn.php, doc/libidn.texi, src/idn.ggo, - tests/tst_stringprep.c: Fix iSCSI profile name. +2005-06-05 Simon Josefsson -2004-01-21 Simon Josefsson + Add. - * lib/profiles.c: Add alias 'iSCSI'. +2005-05-26 Simon Josefsson -2004-01-18 Simon Josefsson + 0.5.17. - * doc/fdl.texi, doc/libidn.texi: Use FDL 1.2. + *** empty log message *** -2004-01-18 Simon Josefsson + Generated. - * src/idn.c: Fix warning. + Version 0.5.17. -2004-01-14 Simon Josefsson + Fix sectioning. - * configure.ac: Don't use AC_LIBTOOL_TAGS, too experimental. + Fix. -2004-01-10 Simon Josefsson + Sync with gnulib. - * doc/Makefile.am: Fix idn.1 depends. + Update FSF address in license. Fix copyrights. -2004-01-10 Simon Josefsson + Add. - * doc/Makefile.am: Dist texinfo.css. +2005-05-18 Simon Josefsson -2004-01-10 Simon Josefsson + Add. - * doc/gendocs_template: Sync with texinfo. +2005-05-12 Simon Josefsson -2004-01-10 Simon Josefsson + Sync with TP. - * doc/gendocs_template: Remove DocBook. +2005-05-11 Simon Josefsson -2004-01-10 Simon Josefsson + Add. - * NEWS: Add. +2005-05-08 Simon Josefsson -2004-01-10 Simon Josefsson + Bump versions. - * configure.ac, doc/Makefile.am: Remove DocBook stuff. + 0.5.16. -2004-01-10 Simon Josefsson +2005-05-06 Simon Josefsson - * doc/Makefile.am, doc/libidn.css, doc/texinfo.css: Rename - libidn.css to texinfo.css. + *** empty log message *** -2004-01-10 Simon Josefsson + Version 0.5.16. - * doc/libidn.css: Fix. + Sync with TP. -2004-01-10 Simon Josefsson + Add. - * doc/libidn.css: Fix. + Use 'const' for static data, tiny patch from Joe Orton . -2004-01-10 Simon Josefsson +2005-04-16 Simon Josefsson - * doc/Makefile.am: Use CSS for HTML. + Sync with TP. -2004-01-10 Simon Josefsson +2005-04-15 Simon Josefsson - * doc/libidn.css: Add. + Bump versions. -2004-01-06 Simon Josefsson + Add. - * libc/getaddrinfo-idn.txt: Add. + Sync with TP. -2004-01-06 Simon Josefsson +2005-04-06 Simon Josefsson - * NEWS, configure.ac: Bump versions. + Sync with TP. -2004-01-06 Simon Josefsson +2005-03-19 Simon Josefsson - * .prev-version: . + *** empty log message *** -2004-01-06 Simon Josefsson + Generated. - * ChangeLog: [no log message] + Version 0.5.15. -2004-01-06 Simon Josefsson + Fix. - * NEWS: Version 0.3.6. + Add. -2004-01-06 Simon Josefsson + Sync with libc; fix license and fix arithmetic overflow. - * NEWS: Add. + Fix license. -2004-01-06 Simon Josefsson + Bump versions. - * doc/libidn.texi: Fix license header. + *** empty log message *** -2004-01-06 Simon Josefsson + Generated. - * NEWS: Add. + Version 0.5.14. -2004-01-01 Simon Josefsson + Ramblings. - * configure.ac, m4/ax_create_stdint_h.m4: Fix, to use ax_... - verbatim from upstream. + Sync with TP. -2004-01-01 Simon Josefsson +2005-03-12 Simon Josefsson - * m4/ac_compile_check_sizeof.m4: Remove (not used by ax_... any - more). + Add. -2004-01-01 Simon Josefsson +2005-03-01 Simon Josefsson - * m4/ax_create_stdint_h.m4: Apply local fixes. + Add. -2004-01-01 Simon Josefsson +2005-02-27 Simon Josefsson - * 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 +2005-02-24 Simon Josefsson - * NEWS: Add. + Add. -2003-12-30 Simon Josefsson +2005-02-16 Simon Josefsson - * configure.ac: Allow autoconf 2.57. + Add. -2003-12-18 Simon Josefsson + Reorder chronologically. - * doc/libidn.texi: Encode file in ASCII. +2005-02-13 Simon Josefsson -2003-12-16 Simon Josefsson + Add. - * doc/libidn.texi: Replace non-ASCII with Texinfo accents. + Add. -2003-12-16 Simon Josefsson +2005-02-11 Simon Josefsson - * THANKS, doc/libidn.texi: Add Troubleshooting discussion for idn - tool. Suggested by "Jan-Hendrik Heuing" and Kai - Schaetzl . + Add. -2003-12-15 Simon Josefsson +2005-02-07 Simon Josefsson - * contrib/web/idn.php: Pass data on command line. Update error - enum's. Fix. + Sort (should be sorted chronologically..). -2003-12-15 Simon Josefsson + Bump versions. - * ANNOUNCE: Remove (see doc/libidn.texi instead). + Add. -2003-12-15 Simon Josefsson +2005-01-30 Simon Josefsson - * README: Fix. + Fix last commit, reported by Linus Nordberg . -2003-12-15 Simon Josefsson + Fix srcdir != objdir when bootstrapping from CVS, patch from Linus Nordberg (tiny change). - * NEWS, configure.ac: Bump versions. + Fix. -2003-12-15 Simon Josefsson + Remove hack, fixed in gtk-doc CVS. - * .prev-version: . +2005-01-29 Simon Josefsson -2003-12-15 Simon Josefsson + 0.5.13. - * ChangeLog: [no log message] + *** empty log message *** -2003-12-15 Simon Josefsson + Generated. - * NEWS: Version 0.3.5. + Version 0.5.13. -2003-12-15 Simon Josefsson + Update. - * doc/.cvsignore: [no log message] + Need dummy gnulib module again. -2003-12-15 Simon Josefsson +2005-01-28 Simon Josefsson - * doc/libidn.texi: Use @finalout. + Add. -2003-12-15 Simon Josefsson + 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 + Typo. - * doc/Makefile.am: Remove DocBook HTML targets (I'm tired of - updating the random filenames in the Makefile). +2005-01-27 Simon Josefsson -2003-12-15 Simon Josefsson + 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 . -2003-12-15 Simon Josefsson +2005-01-20 Simon Josefsson - * doc/gendocs.sh: Sync with Texinfo CVS. + Add. -2003-12-15 Simon Josefsson +2005-01-18 Simon Josefsson - * NEWS: Add. + Sync with TP. -2003-12-15 Simon Josefsson + Remove. - * doc/Makefile.am: Update DocBook HTML target. + Define JAVAROOT unconditionally, because automake barf otherwise. -2003-12-11 Simon Josefsson +2005-01-16 Simon Josefsson - * NEWS, THANKS, doc/libidn.texi, lib/idna.c, lib/idna.h: Rename - IDNA_CONTAINS_LDH to IDNA_CONTAINS_NON_LDH. Reported by Graydon - Hoare . + Add. -2003-12-10 Simon Josefsson + Add. - * configure.ac: Check for autoconf 2.59 and automake 1.8. + Add. -2003-12-09 Simon Josefsson + Mention gettext requirement, suggested by Linus Nordberg . - * README-alpha: Mention versions. +2005-01-05 Simon Josefsson -2003-12-04 Simon Josefsson + Warn strongly about missing iconv. - * README: Fix. + Update. -2003-12-03 Simon Josefsson + 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 - - * NEWS: Add. - -2003-11-27 Simon Josefsson + 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 + Add iconvme from gnulib. - * src/idn.c: Print instructions. Suggested by Kai Schaetzl - . +2005-01-02 Simon Josefsson -2003-11-26 Simon Josefsson + Add copyright for year 2005. - * libc/getaddrinfo-idn.txt: Typo. + Add. -2003-11-26 Simon Josefsson + Update. - * NEWS: Add. +2005-01-01 Simon Josefsson -2003-11-26 Simon Josefsson + Update. - * doc/libidn.texi: Update Invoking idn. + Bump versions. -2003-11-26 Simon Josefsson + Add. - * src/idn.c, src/idn.ggo.in: Make -a the default. +2004-12-04 Simon Josefsson -2003-11-26 Simon Josefsson + Add. - * doc/libidn.texi: Update Invoking idn. + *** empty log message *** -2003-11-26 Simon Josefsson + Generated. - * THANKS: Add. + Version 0.5.12. -2003-11-26 Simon Josefsson + Add. - * src/Makefile.am, src/idn.c: Support strings passed on command line - instead of on stdin. Suggested by Kai Schaetzl . + Update. -2003-11-26 Simon Josefsson +2004-12-01 Simon Josefsson - * libc/getaddrinfo-idn.txt: Add todo. + Doc fix, from Oliver Hitz . -2003-11-25 Simon Josefsson +2004-11-30 Simon Josefsson - * configure.ac: Disable fortran etc libtool checks. + Add. -2003-11-23 Simon Josefsson +2004-11-29 Simon Josefsson - * doc/gendocs.sh: Add --docbook. + More PR29. -2003-11-23 Simon Josefsson +2004-11-23 Simon Josefsson - * doc/gendocs.sh: Sync with texinfo. + Bump versions. -2003-11-20 Simon Josefsson + Add. - * src/idn.c: Fix GREETING. +2004-11-22 Simon Josefsson -2003-11-11 Simon Josefsson + Add. - * doc/gdoc: TeX improvements. From Nikos Mavroyanopoulos - . + 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 . -2003-11-11 Simon Josefsson + Add table C.1.1 and C.2.1, from Oliver Hitz . - * doc/Makefile.am: Use AM_MAKEINFOHTMLFLAGS (with CVS automake) - instead of explicit libidn.html target. +2004-11-21 Simon Josefsson -2003-11-10 Simon Josefsson + 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 - - * .cvsignore, doc/.cvsignore: [no log message] + *** empty log message *** -2003-11-09 Simon Josefsson + Sync with TP. - * doc/Makefile.am: Update DocBook HTML destinations. + Version 0.5.11. -2003-11-09 Simon Josefsson - - * doc/html/.cvsignore: Remove. + Add. -2003-11-09 Simon Josefsson + 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 + 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 + Doc fix. - * doc/libidn.texi: Use @verbatiminclude for examples. + Doc fix. -2003-11-09 Simon Josefsson + 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 + 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 + Update. - * configure.ac: Autoupdate suggested changes: quote AC_INIT - parameters, and replace AC_TRY_RUN with AC_RUN_IFELSE. +2004-11-18 Simon Josefsson -2003-11-09 Simon Josefsson + Add. - * autogen.sh: Enable warnings. +2004-11-17 Simon Josefsson -2003-11-09 Simon Josefsson + Add. - * m4/.cvsignore: [no log message] +2004-11-16 Simon Josefsson -2003-11-09 Simon Josefsson + Bump versions. - * src/Makefile.am: Use automake 1.7a idiom for elisp files. +2004-11-09 Simon Josefsson -2003-11-09 Simon Josefsson + 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 +2004-11-08 Simon Josefsson - * NEWS, configure.ac: Bump versions. + Fix. -2003-11-09 Simon Josefsson + *** empty log message *** - * Makefile.maint: Use proper -o directory for gendocs.sh. + Generated. -2003-11-09 Simon Josefsson + Version 0.5.10. - * .prev-version: . + No need for stringprep.h. -2003-11-09 Simon Josefsson + Cosmetic fix. - * ChangeLog: [no log message] + Typo. -2003-11-09 Simon Josefsson + Sync with TP. - * NEWS: Version 0.3.4. + Simplify EXTRA_DIST. -2003-11-09 Simon Josefsson + Add. - * lib/idna.c, lib/stringprep.c: Fix memory leak. + Use Libtool's -export-symbols-regex. -2003-11-07 Simon Josefsson + Add. - * configure.ac: Remove libtool bug workaround. + Cosmetic fix. -2003-11-05 Simon Josefsson + Add copyright header for me. - * doc/specifications/draft-josefsson-idn-test-vectors.xml: Fix. +2004-11-07 Simon Josefsson -2003-11-05 Simon Josefsson + Add. - * doc/specifications/draft-josefsson-idn-test-vectors.xml: Fix date. + Fix. -2003-11-05 Simon Josefsson + Add. - * doc/specifications/draft-josefsson-idn-test-vectors.xml: Fix bad - UTF-8. + Update PGP key. -2003-11-02 Simon Josefsson + Bump versions. - * doc/gendocs.sh: Mkdir HTML. + Add. -2003-11-02 Simon Josefsson + *** empty log message *** - * doc/reference/Makefile.am: Cleanup. + Generated. -2003-11-01 Simon Josefsson + Fix release target. - * m4/Makefile.am: Dist gtk-doc.m4. + Version 0.5.9. -2003-11-01 Simon Josefsson + Sync with TP. - * AUTHORS: Update expiry date on PGP key. + *** empty log message *** -2003-11-01 Simon Josefsson + Simplify. - * m4/.cvsignore: [no log message] + Fix SUBDIRS order, because GTK-DOC need components.png. -2003-11-01 Simon Josefsson + Fix. - * doc/reference/.cvsignore: [no log message] + Fix. -2003-11-01 Simon Josefsson + Add. - * doc/reference/libidn-docs.sgml, doc/reference/libidn-docs.tmpl: - Rename. + Update. -2003-11-01 Simon Josefsson +2004-10-28 Simon Josefsson - * doc/reference/Makefile.am: Use my old cleaned up Makefile. + Support -include, from GnuTLS. -2003-11-01 Simon Josefsson +2004-10-27 Simon Josefsson - * doc/reference/Makefile.am: Don't break on first 'make'. + Doc fix. -2003-11-01 Simon Josefsson +2004-10-25 Simon Josefsson - * doc/reference/Makefile.am: Make 'dist' work. + Fix man output. -2003-11-01 Simon Josefsson + Doc fix. - * reference/.cvsignore, reference/Makefile.am, - reference/libidn-docs.tmpl: Remove (replaced by doc/reference/). + Doc fix. -2003-11-01 Simon Josefsson + 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 + Add image. - * doc/reference/.cvsignore: [no log message] + Run gtkdocize. -2003-11-01 Simon Josefsson + Sync with TP. - * doc/reference/Makefile.am: Add, based on GTK-DOC example - Makefile.am. + (update-po): Fix. -2003-11-01 Simon Josefsson + Add. - * doc/Makefile.am: Add reference/. +2004-10-24 Simon Josefsson -2003-11-01 Simon Josefsson + Fix. - * Makefile.am: Remove GTK-DOC subdir reference/ (moved to doc/). + Fix. -2003-11-01 Simon Josefsson + (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 + *** empty log message *** - * configure.ac: Use GTK_DOC_CHECK macro for gtk-doc checks. + Sync with TP. -2003-11-01 Simon Josefsson +2004-10-16 Simon Josefsson - * m4/gtk-doc.m4: Add. + Update. -2003-11-01 Simon Josefsson +2004-10-15 Simon Josefsson - * Makefile.am: Use GTK-DOC conditional. + Sync with TP. -2003-11-01 Simon Josefsson +2004-10-13 Simon Josefsson - * doc/Makefile.gdoci: Rebuild Makefile after rebuilding - Makefile.gdoc. + Update. -2003-11-01 Simon Josefsson + Update. - * doc/Makefile.am: Set GDOC_MAN_EXTRA_ARGS. +2004-10-12 Simon Josefsson -2003-11-01 Simon Josefsson + Fix. - * doc/Makefile.gdoci: Add GDOC_TEXI_EXTRA_ARGS, GDOC_MAN_EXTRA_ARGS. + Fix. -2003-11-01 Simon Josefsson + Improve readability. - * doc/Makefile.am: GDOC framework cleanup. + Bump versions. -2003-11-01 Simon Josefsson + *** empty log message *** - * doc/Makefile.gdoci: Create texinfo for whole sources files too. + Generated. -2003-11-01 Simon Josefsson + Version 0.5.8. - * doc/Makefile.gdoci: Add -man parameters (move to Makefile.am?). + Add. -2003-11-01 Simon Josefsson + Add coment to generated files to say that they are generated, reported by "Gisle Vanem" . - * autogen.sh: Just touch doc/Makefile.gdoc. + Distribute BidiMirroring-3.2.0.txt, reported by "Gisle Vanem" . -2003-11-01 Simon Josefsson + Bump versions. - * doc/Makefile.gdoci: Mark Makefile.gdoc as BUILT_SOURCES. + *** empty log message *** -2003-11-01 Simon Josefsson + Generated. - * autogen.sh: Bootstrap doc/Makefile.gdoc. + Version 0.5.7. -2003-11-01 Simon Josefsson + Add. - * doc/Makefile.gdoci: (Makefile.gdoc): Depend on ../configure for bootstrapping. +2004-10-11 Simon Josefsson -2003-11-01 Simon Josefsson + Generated. - * doc/.cvsignore: [no log message] + Sync with TP. -2003-11-01 Simon Josefsson +2004-10-05 Simon Josefsson - * doc/.cvsignore: [no log message] + Update Gnulib. -2003-11-01 Simon Josefsson +2004-10-04 Simon Josefsson - * doc/man/.cvsignore, doc/man/Makefile.am: Remove. + Generated. -2003-11-01 Simon Josefsson + Bump versions. - * doc/Makefile.gdoci: Mkdir. +2004-10-03 Simon Josefsson -2003-11-01 Simon Josefsson + Use EXIT_SUCCESS and EXIT_FAILURE. - * doc/Makefile.am: Update docbook HTMLs. +2004-10-02 Simon Josefsson -2003-11-01 Simon Josefsson + Update PGP key. - * doc/libidn.texi: Use gdoc @include's. + *** empty log message *** -2003-11-01 Simon Josefsson + 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 + Use *strerror. - * doc/Makefile.gdoci: Add, initial version. + Fix indent. -2003-11-01 Simon Josefsson + Fix. - * configure.ac: Don't generate doc/man/Makefile. + Reorder. -2003-10-31 Simon Josefsson + 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 + 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 + Add. - * doc/.cvsignore, doc/html/.cvsignore: [no log message] + Fix. -2003-10-31 Simon Josefsson + Typo. - * doc/gdoc: Don't use @code for @deftypefun function name. + Indent. -2003-10-31 Simon Josefsson + 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 + Add. - * lib/nfkc.c: Doc fixes. + *** empty log message *** -2003-10-31 Simon Josefsson + (DEFS): Add LOCALEDIR. - * doc/gdoc: (dump_function): Handle parameters that look like 'char *foo[]'. + Setup gettext properly. -2003-10-31 Simon Josefsson + Add. - * doc/Makefile.am: Fix rule expansions. + Fix. -2003-10-31 Simon Josefsson + Add idna_strerror, pr29_strerror, punycode_strerror, stringprep_strerror, and tld_strerror, suggested by Daniel Stenberg . 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 -2003-10-31 Simon Josefsson + Update. - * doc/gdoc: Sync from GSSLib. + Update. -2003-10-31 Simon Josefsson + Use new GNULib. - * README-alpha: Mention more tools. + Specify gl_LGPL for new gnulib-tool. -2003-10-31 Simon Josefsson +2004-09-26 Simon Josefsson - * NEWS: Add. + Bump versions. -2003-10-31 Simon Josefsson + Use Lesser GNULib. - * Makefile.maint: Fix doc generating commands. +2004-09-22 Simon Josefsson -2003-10-31 Simon Josefsson + Add. - * doc/gendocs.sh: Fix HTML dir move. +2004-09-13 Simon Josefsson -2003-10-31 Simon Josefsson + Add. - * doc/gendocs.sh: Fix outdir rm. + *** empty log message *** -2003-10-31 Simon Josefsson + Clean more. - * doc/gendocs.sh: Fix outdir rm. + Version 0.5.5. -2003-10-31 Simon Josefsson + Generated. - * doc/gendocs.sh: Don't remove $outdir (might contain CVS/). + *** empty log message *** -2003-10-31 Simon Josefsson + (POURL): Fix. - * doc/gendocs.sh, doc/gendocs_template: TAR fixes. Add - DocBook/Doxygen/GTK-DOC. + Sync with TP. -2003-10-31 Simon Josefsson + Add. - * doc/gendocs.sh, doc/gendocs_template: Add (taken from Texinfo - CVS). +2004-09-05 Simon Josefsson -2003-10-31 Simon Josefsson + Add. - * doc/.cvsignore, doc/html/.cvsignore: [no log message] + (g_utf8_skip): Hide variable, using "static". -2003-10-31 Simon Josefsson +2004-09-02 Simon Josefsson - * doc/Makefile.am: Add docbook targets. + Move. Fix ack. -2003-10-31 Simon Josefsson +2004-08-25 Simon Josefsson - * configure.ac: Look for docbook tools. + Add. -2003-10-29 Simon Josefsson +2004-08-23 Simon Josefsson - * Makefile.am: Dist libc/getaddrinfo-idn.txt. + Update. -2003-10-29 Simon Josefsson +2004-08-18 Simon Josefsson - * configure.ac: Add AC_CONFIG_AUX_DIR(.) for broken CVS libtoolize. + Fix. -2003-10-29 Simon Josefsson + Fix. - * doc/specifications/draft-ietf-sasl-saslprep-04.txt: Add. +2004-08-17 Simon Josefsson -2003-10-28 Simon Josefsson + Add. - * doc/specifications/draft-ietf-ldapbis-strprep-02.txt: Add. + Bump version. -2003-10-28 Simon Josefsson +2004-08-10 Simon Josefsson - * doc/specifications/draft-costello-rfc3492bis-01.txt: Add. + Shut up 'uno' by fixing array boundary. -2003-10-24 Simon Josefsson +2004-08-08 Simon Josefsson - * doc/specifications/draft-ietf-ips-iscsi-string-prep-06.txt: Add. + Fix. -2003-10-24 Simon Josefsson + Add. - * doc/specifications/IDNstatement.txt, - doc/specifications/draft-hoffman-rfc3490bis-01.txt: Add. + *** empty log message *** -2003-10-24 Simon Josefsson + Generated. - * THANKS: Fix. + Version 0.5.4. -2003-10-19 Simon Josefsson +2004-08-06 Simon Josefsson - * contrib/idn-python/README: Add. + Sync with TP. -2003-10-19 Simon Josefsson + Fix. - * contrib/README: Fix. + Fix. -2003-10-19 Simon Josefsson + Fix. - * lib/gen-stringprep-tables.pl: Add warning in comment. + (update-po): Add. -2003-10-19 Simon Josefsson + Sync with TP. - * libc/getaddrinfo-idn.txt: Character set fixes. + Bump version. -2003-10-19 Simon Josefsson + Add. - * libc/getaddrinfo-idn.txt: Fix. + Update. -2003-10-19 Simon Josefsson +2004-08-05 Simon Josefsson - * NEWS, configure.ac: Bump versions. + *** empty log message *** -2003-10-18 Simon Josefsson + Version 0.5.3. - * lib/stringprep.c: Add comment. + Generated. -2003-10-18 Simon Josefsson + Add. - * doc/libidn.texi: Fix. + Add. -2003-10-18 Simon Josefsson + Fix crash, tiny patch by Andreas Schwab reported by Stephan Kulow . - * .prev-version: . +2004-08-01 Simon Josefsson -2003-10-18 Simon Josefsson + Use PR29_* error mnemonics, instead of hard coded integers. - * ChangeLog: [no log message] + Cosmetic fix. -2003-10-18 Simon Josefsson +2004-07-29 Simon Josefsson - * NEWS: Version 0.3.3. + Add. -2003-10-18 Simon Josefsson + Update. - * NEWS: Add. +2004-07-14 Simon Josefsson -2003-10-18 Simon Josefsson + Update. - * NEWS: Add. + Bump version. -2003-10-18 Simon Josefsson + Bump versions. - * src/Makefile.am: Revert to old elisp automake idiom. + Add. -2003-10-17 Simon Josefsson + *** empty log message *** - * NEWS: Add. + Generated. -2003-10-17 Simon Josefsson + 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 + 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 + Add. - * lib/stringprep.c: (stringprep_profile): Fix warning. + Add. -2003-10-17 Simon Josefsson + (install-jar): Make DESTDIR compatible, patch from Oliver Hitz based on report by Benjamin Reed . - * tests/tst_idna.c, tests/tst_punycode.c: Fix warnings. +2004-07-13 Simon Josefsson -2003-10-17 Simon Josefsson + 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 . -2003-10-17 Simon Josefsson + Add. - * lib/stringprep.c: Remove stringprep_generic documentation. +2004-07-09 Simon Josefsson -2003-10-17 Simon Josefsson + Add. - * doc/libidn.texi: Remove stringprep_generic. + Mention pr29.h. -2003-10-17 Simon Josefsson + *** empty log message *** - * lib/gen-stringprep-tables.pl: Mark table elements as 'const'. + Generated. -2003-10-17 Simon Josefsson + 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 + Add. - * lib/profiles.c: (stringprep_profiles): Remove "generic". Indent. + Call setlocale to make iconv work, reported by Robert Scheck . -2003-10-17 Simon Josefsson +2004-07-02 Simon Josefsson - * 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 + Add. - * lib/punycode.h, lib/stringprep.h.in, tests/tst_stringprep.c: - Indent. + *** empty log message *** -2003-10-17 Simon Josefsson + Fix. - * lib/stringprep.c: Fix memory leak. + *** empty log message *** -2003-10-16 Simon Josefsson + *** empty log message *** - * doc/gdoc: Fix #include for man pages. + Add. -2003-10-16 Simon Josefsson + 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 -2003-10-16 Simon Josefsson + Add. - * doc/libidn.texi: Sync 'idn -h'. + Add. -2003-10-16 Simon Josefsson +2004-06-26 Simon Josefsson - * doc/libidn.texi: Fix. + Bump versions. -2003-10-16 Simon Josefsson + 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 + Generated. - * doc/libidn.texi: Add. + Version 0.5.0. -2003-10-16 Simon Josefsson + *** empty log message *** - * src/Makefile.am: Fix gengetopt building. + Fix. -2003-10-16 Simon Josefsson + Fix. - * THANKS: Add. + (HTML_OBJECTS): Add libidn-pr29.html. -2003-10-16 Simon Josefsson + Add PR29. - * src/idn.ggo.in: Use less negations for --quiet, reported by Oden - Eriksson . + *** empty log message *** -2003-10-16 Simon Josefsson + 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 + Bump versions. - * doc/libidn.texi: Use current version number in examples. + Use 'static'. -2003-10-16 Simon Josefsson + Typo. - * configure.ac: Update so version. + *** empty log message *** -2003-10-16 Simon Josefsson + Add PR29 functions. - * NEWS: Add. +2004-06-25 Simon Josefsson -2003-10-16 Simon Josefsson + Add. - * lib/punycode.h: Include parameter names in prototypes, for - GTK-DOC. + Add. -2003-10-16 Simon Josefsson +2004-06-12 Simon Josefsson - * lib/stringprep.c: Doc fix. + Add. -2003-10-16 Simon Josefsson + Add Esperanto translation, from Edmund GRIMLEY EVANS , via the translation project. - * doc/libidn.texi: Fix typo. +2004-06-11 Simon Josefsson -2003-10-16 Simon Josefsson + Bump versions. - * tests/tst_idna.c, tests/tst_punycode.c: Fix. + Fix release target. -2003-10-16 Simon Josefsson + *** empty log message *** - * lib/internal.h: Removed. + Generated. -2003-10-16 Simon Josefsson + 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 +2004-06-09 Simon Josefsson - * tests/tst_idna.c, tests/tst_idna2.c, tests/tst_punycode.c: Make - #include's explicit. Fix warnings. + Add. -2003-10-16 Simon Josefsson +2004-06-08 Simon Josefsson - * lib/Makefile.am: Remove internal.h. + Cosmetic fix, sync with libc. -2003-10-16 Simon Josefsson +2004-06-07 Simon Josefsson - * lib/stringprep.c: Doc fix. + Fix. -2003-10-16 Simon Josefsson + 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 -2003-10-16 Simon Josefsson + Add. - * lib/nfkc.c: Make #include's explicit. +2004-06-03 Simon Josefsson -2003-10-16 Simon Josefsson + *** empty log message *** - * lib/idna.c: Fix. + Use versioned *.jar. -2003-10-16 Simon Josefsson +2004-06-02 Simon Josefsson - * lib/idna.c: Make #include's explicit. + Versionize *.jar filename. -2003-10-16 Simon Josefsson +2004-06-01 Simon Josefsson - * lib/punycode.h: Fix typo. + Add. -2003-10-16 Simon Josefsson + 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 + 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 + *** empty log message *** - * configure.ac, lib/internal.h: Remove DMALLOC stuff. + *** empty log message *** -2003-10-16 Simon Josefsson + Fix. - * lib/stringprep.c: Fix warnings. + Add javadoc. -2003-10-16 Simon Josefsson + Distribute libidn.jar, suggested by Oliver Hitz. - * doc/libidn.texi: Typo. + Add. -2003-10-16 Simon Josefsson + Add java/. - * tests/tst_stringprep.c: Simplify debug prints. + Build doc/java/Makefile. -2003-10-16 Simon Josefsson + Find javadoc. - * NEWS: Add. + *** empty log message *** -2003-10-16 Simon Josefsson + 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 + 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 + 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 -2003-10-16 Simon Josefsson + 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 + *** empty log message *** - * lib/nfkc.c: Check malloc return value. + Version 0.4.7. -2003-10-15 Simon Josefsson + Generated. - * lib/nfkc.c: Check malloc return code. + Fix. -2003-10-15 Simon Josefsson + Markup fix. - * NEWS: Add. + (Java API): Fix. -2003-10-15 Simon Josefsson + Markup fixes. - * doc/libidn.texi: Doc fox. Add stringprep_4i and stringprep_4zi. + Remove (moved to doc/libidn.texi). -2003-10-15 Simon Josefsson + (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 + 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 + *** empty log message *** - * lib/stringprep.c: Doc fix. + Build more. -2003-10-15 Simon Josefsson + Improve JAVA port, from Oliver Hitz . - * lib/stringprep.h.in: (stringprep_4i, stringprep_4zi): Add. +2004-05-26 Simon Josefsson -2003-10-15 Simon Josefsson + 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 -2003-10-15 Simon Josefsson + Fix. - * lib/stringprep.c: Fix typo. + Bump versions. -2003-10-15 Simon Josefsson +2004-05-24 Simon Josefsson - * lib/stringprep.c: (stringprep): Split core part into stringprep1. (stringprep1): New, simplified version of core part. + *** empty log message *** -2003-10-15 Simon Josefsson + Version 0.4.6. - * NEWS: Fix. + Generated. -2003-10-15 Simon Josefsson + Add. - * contrib/web/idn.php: Remove generic. Add trace. + (include_HEADERS): Install idn-free.h, reported by Daniel Stenberg . -2003-10-15 Simon Josefsson +2004-05-21 Simon Josefsson - * src/idn.c: Print UCS-4 instead of UTF-8 in debug output for - --stringprep. + Bump versions. -2003-10-15 Simon Josefsson + Update. - * NEWS: Add. + *** empty log message *** -2003-10-15 Simon Josefsson + 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 + Bump copyright years on man pages. - * libc/getaddrinfo-idn.txt: Clarify alternative approaches. + Bump so version. -2003-10-11 Simon Josefsson + (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 + Add. - * libc/getaddrinfo-idn.txt: Add. + (idna_to_unicode_4z4z): There was no double free, remove my modification. -2003-10-10 Simon Josefsson + Add. - * configure.ac: Revert typo. + (idna_to_ascii_4i, idna_to_unicode_4z4z): Fix memory leak when memory allocation fails. From Ulrich Drepper , but modified to fix double free and incorrect 'if' condition. -2003-10-10 Simon Josefsson + Add. - * configure.ac: Fix so version comment (matches libtool manual). + (stringprep): Fix memory leak when memory allocation fails. From Ulrich Drepper . -2003-10-09 Simon Josefsson + Doc fix. - * FAQ: Fix. + Back port of (some) changes by Ulrich Drepper . (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 + Add. - * NEWS: Add. + Add idn_free, suggested by "Gisle Vanem" . -2003-10-09 Simon Josefsson +2004-04-30 Simon Josefsson - * src/idn.ggo.in: Remove 'generic' (should not be exposed). Add - 'trace'. + Fix. -2003-10-09 Simon Josefsson + (idna_to_ascii_lz): Doc fix, reported by Joe Orton . - * doc/specifications/draft-hoffman-rfc3454bis-01.txt: Add. + Add NFKC test vectors from pr-29.html. Fix debug output. -2003-10-07 Simon Josefsson + Add. - * NEWS, configure.ac: Bump versions. + Fix ucs4print debugging output. -2003-10-07 Simon Josefsson +2004-04-29 Simon Josefsson - * Makefile.maint: Fix doxygen generation. + Add. -2003-10-07 Simon Josefsson + Update SASLPrep test vectors. - * .prev-version: . + Bump versions. -2003-10-07 Simon Josefsson + *** empty log message *** - * ChangeLog: [no log message] + Version 0.4.4. -2003-10-07 Simon Josefsson + Generated. - * NEWS: Version 0.3.2. + Add. -2003-10-07 Simon Josefsson + 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 . -2003-10-07 Simon Josefsson + Add. - * GNUmakefile: TAR_OPTION crashes tar in Debian, comment out for - now. + Update. -2003-10-07 Simon Josefsson + Add. - * NEWS: Add. + Add iSCSI test vectors to catch recent bugs. -2003-10-07 Simon Josefsson + (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 +2004-04-24 Simon Josefsson - * m4/Makefile.am, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: Add. -2003-10-07 Simon Josefsson - - * doc/specifications/draft-hoffman-rfc3490bis-00.txt, - doc/specifications/draft-hoffman-rfc3491bis-00.txt: Add. - -2003-10-06 Simon Josefsson + Add, by Laurentiu Buzdugan via translation project. - * doc/specifications/draft-costello-rfc3492bis-00.txt, - doc/specifications/draft-hoffman-rfc3454bis-00.txt: Add. +2004-04-23 Simon Josefsson -2003-10-06 Simon Josefsson + 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 + Move utils.c and utils.h into a separate library. - * lib/profiles.c: Fix comment. + *** empty log message *** -2003-10-02 Simon Josefsson + Split out common stuff into utils.c and utils.h. - * doc/libidn.texi: Fix. + Fix warnings. -2003-10-02 Simon Josefsson +2004-04-22 Simon Josefsson - * NEWS: Add. + Require modern autoconf. -2003-10-02 Simon Josefsson + Bump versions. - * lib/profiles.c, lib/stringprep.h.in: Add trace profile (SASL - ANONYMOS). + Indent. -2003-10-02 Simon Josefsson + *** empty log message *** - * NEWS, configure.ac: Bump versions. + Generated. -2003-10-02 Simon Josefsson + Version 0.4.3. - * doc/libidn.texi: Cosmetic fixes. + Add. -2003-10-02 Simon Josefsson + Add. - * Makefile.maint: Fix. + (Tld_table): Mark "name" and "version" as const. -2003-10-02 Simon Josefsson + Add. - * .prev-version: . + Add SASLprep test vectors (would catch the C.2.1 bug). -2003-10-02 Simon Josefsson + (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 -2003-10-02 Simon Josefsson + Update PGP key. - * ChangeLog: [no log message] +2004-04-18 Simon Josefsson -2003-10-02 Simon Josefsson + Add. - * NEWS: Version 0.3.1. + Drop -R lib flag, suggested by Martin Waitz . -2003-10-02 Simon Josefsson +2004-04-16 Simon Josefsson - * lib/gen-unicode-tables.pl, lib/nfkc.c: Fix NFKC, from Noah Levitt - via bugzilla.gnome.org bug 123421. + Add. -2003-09-28 Simon Josefsson +2004-04-15 Simon Josefsson - * doc/libidn.texi: Fix. + Add. -2003-09-28 Simon Josefsson +2004-04-14 Simon Josefsson - * doc/libidn.texi: Add. + Add. -2003-09-28 Simon Josefsson +2004-04-12 Simon Josefsson - * THANKS: Add. + Add. -2003-09-28 Simon Josefsson +2004-04-11 Simon Josefsson - * tests/tst_idna2.c: Indent. + Fix versions. -2003-09-28 Simon Josefsson +2004-04-09 Simon Josefsson - * lib/Makefile.am: Fix. + Add. -2003-09-28 Simon Josefsson + Add, from Elros Cyriatan via Translation Project. - * Makefile.am: Fix indent target. +2004-04-05 Simon Josefsson -2003-09-28 Simon Josefsson + Use new API, tiny patch from "Gisle Vanem" . - * src/Makefile.am, tests/Makefile.am: Add indent rule. +2004-03-28 Simon Josefsson -2003-09-28 Simon Josefsson + Add. - * lib/idna.c, lib/nfkc.c, lib/punycode.h: Indent. + Add German translation, from Roland Illig via translation project. -2003-09-28 Simon Josefsson +2004-03-23 Simon Josefsson - * lib/Makefile.am: Fix. Add indent target. + Add. -2003-09-26 Simon Josefsson +2004-03-20 Simon Josefsson - * lib/nfkc.c: Fix Hangul patch. + Add. -2003-09-25 Simon Josefsson + Use TAB instead of \t, suggested by Jørgen Thomsen . - * tests/tst_idna2.c: Fix typo. + Bump versions. -2003-09-25 Simon Josefsson + *** empty log message *** - * NEWS: Add. + Generated. -2003-09-25 Simon Josefsson + 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 + Update. - * lib/punycode.h: Fix typo. + Remove most of libc stuff (has been integrated in libc CVS). -2003-09-25 Simon Josefsson + Fix. - * tests/tst_idna2.c: Update test vectors. + Add. -2003-09-25 Simon Josefsson + Fix. - * src/idn.c: Fix debug messages. + Add. -2003-09-25 Simon Josefsson + Add. - * NEWS: Add. + Add. -2003-09-25 Simon Josefsson + 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 -2003-09-25 Simon Josefsson + Add, from GNU Autoconf Macro Archive. - * THANKS: Add. + *** empty log message *** -2003-09-25 Simon Josefsson + Add, from Oliver Hitz . - * 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 for GLIB, discussed in - and available - from . + (noinst_JAVA): Only include Punycode*.java for now. -2003-09-25 Simon Josefsson + Add infrastructure for Java code, and add Punycode, from Oliver Hitz . - * tests/tst_idna2.c: Fix. + *** empty log message *** -2003-09-25 Simon Josefsson +2004-03-16 Simon Josefsson - * tests/Makefile.am, tests/tst_idna2.c: Add. + Add. -2003-09-25 Simon Josefsson + Add. - * tests/.cvsignore: [no log message] + Add, from Morten Bo Johansen via Translation Project. -2003-09-25 Simon Josefsson +2004-03-14 Simon Josefsson - * lib/idna.c: (idna_to_ascii_4z): Output "" instead of "." on input "". (Some - religions claim "" should fail though.) + Update. -2003-09-23 Simon Josefsson + *** empty log message *** - * NEWS: Add. + Add. -2003-09-23 Simon Josefsson + Fix. - * doc/libidn.texi: Doc fix. + Ack Unicode, Inc. -2003-09-23 Simon Josefsson + Dist COPYING.UCD. - * src/punycode.el: (punycode-shutdown): New. + Add. -2003-09-23 Simon Josefsson + Add. - * src/idna.el: (idna-to-ascii-parameters, idna-to-unicode-parameters): Add - --usestd3asciirules. (idna-shutdown): New. + Add, from Michel Robitaille via Translation Project. -2003-09-23 Simon Josefsson + Add. - * NEWS, configure.ac: Bump versions. + Add. -2003-09-23 Simon Josefsson + Add, from Aleksandar Jelenak via Translation Project. - * Makefile.maint: Fix. +2004-03-13 Simon Josefsson -2003-09-23 Simon Josefsson + Add URLs. - * Makefile.maint: Fix. + Add. -2003-09-23 Simon Josefsson + Add no.tld. - * .prev-version: . + Add, from Thomas Jacob . -2003-09-23 Simon Josefsson + Fix. - * ChangeLog: [no log message] + Add. -2003-09-23 Simon Josefsson +2004-03-10 Simon Josefsson - * NEWS: Version 0.3.0. + Fix. -2003-09-23 Simon Josefsson + Add. - * libc/README: Fix. + Add Polish translation, from Jakub Bogusz . -2003-09-23 Simon Josefsson + Add. - * doc/specifications/draft-ietf-sasl-saslprep-03.txt: Add. +2004-03-09 Simon Josefsson -2003-09-23 Simon Josefsson + Build lib/ before po/. - * libc/Makefile, libc/README: Fix. + Bump versions. -2003-09-22 Simon Josefsson +2004-03-08 Simon Josefsson - * NEWS: Add. + *** empty log message *** -2003-09-22 Simon Josefsson + Generated. - * lib/profiles.c: (stringprep_saslprep): Prohibit inappropriate for canonical - representation characters. + Version 0.4.1. -2003-09-14 Simon Josefsson + Fix warning. - * Makefile.am: Dist libc/Banner. + Fix. -2003-09-14 Simon Josefsson + Generated. - * libc/README: Create idna.h without dependency on idn-int.h. + (idn_LDADD): Add LTLIBINTL. -2003-09-14 Simon Josefsson + Add. - * tests/tst_stringprep.c: Fix memory leak. + Generated. -2003-09-14 Simon Josefsson + Fix. - * src/idn.c: Fix memory leaks. + Cosmetic fix. -2003-09-14 Simon Josefsson + Add. - * src/idn.c: Fix greeting message. + Translation markup. -2003-09-14 Simon Josefsson + *** empty log message *** - * libc/README: Copy Banner. + *** empty log message *** -2003-09-14 Simon Josefsson + Fix. - * libc/Banner: Add. + Gettextiscate. -2003-09-12 Simon Josefsson + Add. - * libc/README: Fix. + *** empty log message *** -2003-09-12 Simon Josefsson + Add gettext.h. Define LOCALEDIR (for gettext). - * lib/punycode.c: Cast. + Add. -2003-09-12 Simon Josefsson + *** empty log message *** - * lib/internal.h: Fix. + Remove, added by gettextize. -2003-09-12 Simon Josefsson + Gettextiscate. - * lib/internal.h: Simplify #include mess. + Add. -2003-09-12 Simon Josefsson + Fix. - * configure.ac: Remove cruft. + Fix IDNA_DLOPEN_ERROR. -2003-09-12 Simon Josefsson + (stringprep_convert): Don't copy input. Check for malloc failures. From Ulrich Drepper , via libidn integration in libc. - * libc/README: Fix. + Invoke setlocale (LC_ALL, ""). -2003-09-12 Simon Josefsson + 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 , during libidn integration in libc. -2003-09-12 Simon Josefsson + (Idna_rc): Doc fix IDNA_DLOPEN_ERROR. - * lib/stringprep.c: Doc fix. + Fix. -2003-09-12 Simon Josefsson + Add. - * doc/libidn.texi, lib/punycode.c, lib/stringprep.c: Doc fix. + Fix warning, tiny patch by Ulrich Drepper from libidn integration in libc. -2003-09-12 Simon Josefsson + (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 . -2003-09-12 Simon Josefsson + Add. - * lib/idna.c: Doc fix. + Dist libc/idn-stub.c and libc/libidn.texi. -2003-09-12 Simon Josefsson + Update, from libc-alpha post. - * lib/punycode.c, lib/stringprep.c: Doc fix. + Add, from libc-alpha post. -2003-09-12 Simon Josefsson + Sync libc-alpha post. - * lib/punycode.c: Doc fix. + Update. -2003-09-12 Simon Josefsson + Sync. - * lib/punycode.h: Fix RFC compatibility. +2004-03-07 Simon Josefsson -2003-09-12 Simon Josefsson + Fix comment. - * lib/punycode.h: Typedef Punycode_status. Use 'int' instead of - 'enum' for return codes. + Add. -2003-09-12 Simon Josefsson + Fix version requirements. - * lib/punycode.c: Use 'int' instead of 'enum' for return code. + Fix texinfo requirement. -2003-09-12 Simon Josefsson +2004-03-05 Simon Josefsson - * configure.ac: Bump versions. + Add. -2003-09-12 Simon Josefsson + (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 -2003-09-12 Simon Josefsson + Mention tldchk.berlios.de, suggested by Thomas Jacob . - * lib/.cvsignore: [no log message] +2004-02-28 Simon Josefsson -2003-09-12 Simon Josefsson + 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 + 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 + Version 0.4.0. - * reference/dummy.c: Remove, merged into ../lib/*.c. + Always include errno.h (C89). -2003-09-12 Simon Josefsson + Indent. - * lib/punycode.c: Doc fix. + Mention TLD. -2003-09-12 Simon Josefsson + Handle draft-hoffman-idn-reg-*.txt tables better. - * lib/idna.c: Fix. + Add headers. Fix typos and comments. -2003-09-12 Simon Josefsson + Add copying conditions. - * doc/man/Makefile.am: Fix update-api. + Add, from Stephane Bortzmeyer . -2003-09-12 Simon Josefsson + 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 + (Tld_table): Change valid definition. - * lib/stringprep.h.in: Indent. + Use new API. -2003-09-12 Simon Josefsson + Fix. - * lib/stringprep.c: Use 'int' instead of 'enum's. + Improve Troubleshooting. -2003-09-12 Simon Josefsson +2004-02-27 Simon Josefsson - * 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 + (tld_check_4): Don't write to NULL errpos, from Thomas Jacob . - * NEWS: Add. +2004-02-18 Simon Josefsson -2003-09-12 Simon Josefsson + Typo. - * lib/Makefile.am, lib/obsolete.c: Remove obsolete.c. + Use hex in output. -2003-09-12 Simon Josefsson + 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 + Add. - * lib/idna.c, lib/obsolete.c: Use int instead of enum's. + Fix typos. -2003-09-12 Simon Josefsson + Fix autoconf stuff, suggested by Stephane Bortzmeyer . - * lib/idna.h: Typedef Idna_rc and Idna_flags. Use int instead of - enum's. +2004-02-15 Simon Josefsson -2003-09-12 Simon Josefsson + Fix. - * reference/Makefile.am: Fix path to sources. Fix HIGNORE. +2004-02-14 Simon Josefsson -2003-09-12 Simon Josefsson + Doc fix. - * libc/README: Workaround -I problem. + Fix. -2003-09-12 Simon Josefsson +2004-02-12 Simon Josefsson - * libc/libc.patch: Against glibc 2.3.2. + Fix. Indent. -2003-09-12 Simon Josefsson + (tld_get_z): Allocate correct amount, from Thomas Jacob . - * NEWS: Add. +2004-02-11 Simon Josefsson -2003-09-12 Simon Josefsson + 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 +2004-02-10 Simon Josefsson - * src/getopt.c, src/getopt.h, src/getopt1.c: Add (from gl/). + Add. -2003-09-12 Simon Josefsson + Fix warning. - * lib/idna.c, lib/toutf8.c: Don't use strdup. + Fix TLD debug. -2003-09-12 Simon Josefsson + 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 + TLD fix. - * tests/Makefile.am: Fix. + Fix include, from Thomas Jacob . -2003-09-12 Simon Josefsson +2004-02-09 Simon Josefsson - * 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 + Sync libidn text. - * doc/libidn.texi: Ported to Mac OS X / Darwin. + Sync text. -2003-09-12 Simon Josefsson + Fix introduction. - * gl/.cvsignore: [no log message] + Typo. -2003-09-12 Simon Josefsson + TLD fixes. - * gl/Makefile.am: Use libtool. + Add. -2003-09-12 Simon Josefsson + 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 + Remove. - * NEWS: Add. + Indent. -2003-09-12 Simon Josefsson + 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 + 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 + Typo. - * libc/README: Fix. + Typo. -2003-09-12 Simon Josefsson +2004-02-08 Simon Josefsson - * THANKS: Add. + Add. -2003-09-12 Simon Josefsson + (tld_get_8z): Add. - * libc/Versions: Typo. + *** empty log message *** -2003-09-12 Simon Josefsson + Add. - * lib/internal.h: [_LIBC]: Define ICONV_CONST. + Doc fix. -2003-09-12 Simon Josefsson + Fix. - * libc/getaddrinfo.c: Use modern API. +2004-02-07 Simon Josefsson -2003-09-12 Simon Josefsson + Fix. - * libc/Versions: Export modern API. + Add. -2003-09-12 Simon Josefsson + Add. - * libc/README: Update. + Indent. -2003-09-12 Simon Josefsson + Fix indent. - * libc/getaddrinfo.c: GLIBC 2.3.2 sync. +2004-02-06 Simon Josefsson -2003-09-02 Simon Josefsson + Add. - * libc/getaddrinfo.c, libc/libc.patch: Revert. + Fix. -2003-08-26 Simon Josefsson + Rewrite. - * AUTHORS: Update key. + Fix "include". -2003-08-26 Simon Josefsson + Add. - * examples/Makefile.am, examples/README: Add examples/README. + Fix. -2003-08-26 Simon Josefsson + Rename TLD_ILLEGAL to TLD_INVALID. - * contrib/web/idn.php: Fixes. + Rename TLD_ILLEGAL to TLD_INVALID. -2003-08-25 Simon Josefsson + Fix. - * Makefile.am: Fix cvs2cl parameters. + Add. -2003-08-25 Simon Josefsson + Update idn command line. - * Makefile.am, gl/Makefile.am, lib/Makefile.am: Use $() instead of - @@. + Move around. -2003-08-25 Simon Josefsson + Fix stringprep profiles. - * Makefile.maint: Do some tests that work. + TLD typo. -2003-08-25 Simon Josefsson + 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 + TLD fix. - * NEWS, configure.ac: Bump versions. + Fix. -2003-08-25 Simon Josefsson + Fix. - * Makefile.am: Fix cvs2cl parameters. + Add. -2003-08-25 Simon Josefsson + Typos. - * Makefile.maint: Ignore errors on www update. + Fix. -2003-08-25 Simon Josefsson + Doc fix. - * contrib/doxygen/Doxyfile.in: Update paths. + Add. -2003-08-25 Simon Josefsson + Typo. - * .prev-version: . + Add. -2003-08-25 Simon Josefsson + Doc fix. - * announce-gen: Revert. + Use new API. -2003-08-25 Simon Josefsson + (tld_default_table): Add. (tld_get_table): Fix. - * Makefile.maint: Fix. + Typo. -2003-08-25 Simon Josefsson + Typo. - * ChangeLog: [no log message] + Revert. -2003-08-25 Simon Josefsson + Change semantics if tld_get_table. - * NEWS: Version 0.2.3. + Typo. -2003-08-25 Simon Josefsson + Typos. - * .cvsignore: [no log message] + Use new API. -2003-08-25 Simon Josefsson + Rename tld_check_*. - * .cvscopying: Add tabs, for Makefile.maint check. + Rename tld_check_*. Doc fix. -2003-08-25 Simon Josefsson + 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 + Use new API. - * .prev-version, GNUmakefile, Makefile.cfg, Makefile.maint, - announce-gen: Add. + Fix Tld_table. -2003-08-25 Simon Josefsson + Reorder. - * examples/example3.c: Doc fix. + Use new API. -2003-08-25 Simon Josefsson + Don't export tld_checkchar. Rename tld_finddomain to tld_get_table. Fixes. - * NEWS, THANKS: Add. + Fix. -2003-08-25 Simon Josefsson + Indent. - * examples/example4.c: Really call ToUnicode instead of ToASCII. - Reported by Trond Haugen . + Fix acks. -2003-08-21 Simon Josefsson + Add. - * doc/libidn.texi: Add port. + Add. -2003-08-20 Simon Josefsson + Update. - * gl/Makefile.am: Dist getopt.h. + *** empty log message *** -2003-08-20 Simon Josefsson + Add. - * src/Makefile.am: Link with gl stuff. + Add TLD. -2003-08-20 Simon Josefsson + Fix. - * lib/toutf8.c: Fix warning message. + Fix. -2003-08-20 Simon Josefsson + 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 + Fix. - * src/Makefile.am, tests/Makefile.am: Fix -I paths. + Add TLD. -2003-08-20 Simon Josefsson + Bump versions. - * lib/Makefile.am: Distcheck fixes. + Add. -2003-08-20 Simon Josefsson + Make it possible to exclude TLD. - * examples/Makefile.am: Fix paths. + Add --disable-tld. -2003-08-20 Simon Josefsson + Build doc/tld/Makefile. - * reference/Makefile.am: Fix paths (for distcheck). + *** empty log message *** -2003-08-20 Simon Josefsson + Add tst_tld. - * Makefile.am: Fix directory build order, for gtk-doc. + Add --tld. -2003-08-20 Simon Josefsson + Add. - * reference/Makefile.am: Update paths to source code. + Fix Tld_table. -2003-08-20 Simon Josefsson + 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 + TLD fixes. - * lib/Makefile.am: Fixes. + TLD typos. -2003-08-20 Simon Josefsson + TLD fix. - * Makefile.am: Build doc after src, for help2man on idn. + Add, from Thomas Jacob . -2003-08-20 Simon Josefsson + Fixes. - * .cvsignore: [no log message] + Add, from Thomas Jacob . -2003-08-20 Simon Josefsson + TLD fixes. - * lib/Makefile.am: Add EXTRA_DISTs. + Print to stdout. -2003-08-20 Simon Josefsson + 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 + Fix. - * configure.ac: Split up files into sub-directories. + Add copying conditions. -2003-08-20 Simon Josefsson + Add, from Thomas Jacob . - * gdoc: Move gdoc to doc/. +2004-02-04 Simon Josefsson -2003-08-20 Simon Josefsson + Typo. - * doc/specifications/.cvsignore, gl/.cvsignore, gl/m4/.cvsignore, - lib/.cvsignore, src/.cvsignore, tests/.cvsignore: [no log message] +2004-02-01 Simon Josefsson -2003-08-20 Simon Josefsson + Fix. - * examples/.cvsignore, lib/.cvsignore: [no log message] + Fix. -2003-08-20 Simon Josefsson + 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 + 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 +2004-01-31 Simon Josefsson - * 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 + 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 -2003-08-20 Simon Josefsson + 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 + 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 + Version 0.3.7. - * TODO: Add. + Add release target. -2003-08-13 Simon Josefsson + *** empty log message *** - * nfkc.c: Fix doc. + Fix. -2003-08-13 Simon Josefsson + Remove ugly maintainance hacks. - * tst_idna.c: Remove unused function. + Typo. -2003-08-13 Simon Josefsson + Update copyright years. - * idn.c: Fix warnings. + Add. -2003-08-13 Simon Josefsson + Add. - * configure.ac: Bump versions. + Mention '--'. -2003-08-13 Simon Josefsson +2004-01-21 Simon Josefsson - * NEWS, doc/libidn.texi, reference/dummy.c: Add. + Add. -2003-08-13 Simon Josefsson + Fix iSCSI profile name. - * idna.c, idna.h: Use enum types where appropriate. + Add alias 'iSCSI'. -2003-08-13 Simon Josefsson +2004-01-18 Simon Josefsson - * doc/libidn.texi: Doc fixes. + Use FDL 1.2. -2003-08-13 Simon Josefsson + Fix warning. - * stringprep.h.in: Fix. +2004-01-14 Simon Josefsson -2003-08-13 Simon Josefsson + 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 -2003-08-13 Simon Josefsson + Fix idn.1 depends. - * stringprep.h.in: Replace int with proper enum, where appropriate. + Dist texinfo.css. -2003-08-13 Simon Josefsson + Sync with texinfo. - * doc/libidn.texi: Typo. + Remove DocBook. -2003-08-13 Simon Josefsson + Add. - * doc/libidn.texi: Add FreeBSD 4.8. + Remove DocBook stuff. -2003-08-13 Simon Josefsson + Rename libidn.css to texinfo.css. - * ChangeLog: [no log message] + Fix. -2003-08-13 Simon Josefsson + Fix. - * NEWS: Version 0.2.2. + Use CSS for HTML. -2003-08-13 Simon Josefsson + Add. - * NEWS: Fix. +2004-01-06 Simon Josefsson -2003-08-13 Simon Josefsson + Add. - * Makefile.am: Fix release target. + Bump versions. -2003-08-13 Simon Josefsson + . - * Makefile.am: Fix release target. + *** empty log message *** -2003-08-13 Simon Josefsson + Version 0.3.6. - * NEWS, TODO: Add. + Add. -2003-08-13 Simon Josefsson + Fix license header. - * punycode.c: Typo. + Add. -2003-08-13 Simon Josefsson +2004-01-01 Simon Josefsson - * punycode.h: Indent. + Fix, to use ax_... verbatim from upstream. -2003-08-13 Simon Josefsson + Remove (not used by ax_... any more). - * punycode.h: Revert to RFC code: use punycode_status. + Apply local fixes. -2003-08-13 Simon Josefsson + 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 -2003-08-13 Simon Josefsson + Add. - * punycode.h: Define and use punycode_uint. + Allow autoconf 2.57. -2003-08-08 Simon Josefsson +2003-12-18 Simon Josefsson - * toutf8.c: (stringprep_locale_charset): Improve docstring. + Encode file in ASCII. -2003-08-01 Simon Josefsson +2003-12-16 Simon Josefsson - * draft-ietf-ips-iscsi-string-prep-05.txt: Add. + Replace non-ASCII with Texinfo accents. -2003-07-31 Simon Josefsson + Add Troubleshooting discussion for idn tool. Suggested by "Jan-Hendrik Heuing" and Kai Schaetzl . - * Makefile.am: Replace gnudist with gnuftp. +2003-12-15 Simon Josefsson -2003-07-31 Simon Josefsson + Pass data on command line. Update error enum's. Fix. - * NEWS, THANKS: Add. + Remove (see doc/libidn.texi instead). -2003-07-31 Simon Josefsson + Fix. - * idn.c: Encode -u output in locale charset, suggested by Adam M. - Costello. + Bump versions. -2003-07-11 Simon Josefsson + . - * memset.c: Rewrite to get LGPL code. + *** empty log message *** -2003-07-11 Simon Josefsson + Version 0.3.5. - * strdup.c: Revert, to get LGPL code. + *** empty log message *** -2003-07-11 Simon Josefsson + Use @finalout. - * Makefile.am: Install but don't distribute idn-int.h. + Add. -2003-07-11 Simon Josefsson + 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 + Sync with Texinfo CVS. - * Makefile.am, configure.ac, m4/Makefile.am: Dist m4's. + Add. -2003-07-11 Simon Josefsson + 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 -2003-07-11 Simon Josefsson + Rename IDNA_CONTAINS_LDH to IDNA_CONTAINS_NON_LDH. Reported by Graydon Hoare . - * configure.ac: Bump versions. +2003-12-10 Simon Josefsson -2003-07-11 Simon Josefsson + Check for autoconf 2.59 and automake 1.8. - * NEWS: Add. + Mention versions. -2003-07-11 Simon Josefsson +2003-12-04 Simon Josefsson - * 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 +2003-12-03 Simon Josefsson - * THANKS: Add. + Add. -2003-07-08 Simon Josefsson +2003-11-27 Simon Josefsson - * m4/ax_create_stdint_h.m4: Look in sys/types.h too, for cygwin. + Add. -2003-07-05 Simon Josefsson + 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 . -2003-07-04 Simon Josefsson +2003-11-26 Simon Josefsson - * ChangeLog: [no log message] + Typo. -2003-07-04 Simon Josefsson + Add. - * NEWS: Version 0.2.1. + Update Invoking idn. -2003-07-04 Simon Josefsson + Make -a the default. - * Makefile.am: Create idn_cmd.* in srcdir. + Update Invoking idn. -2003-07-04 Simon Josefsson + Add. - * NEWS: Add. + Support strings passed on command line instead of on stdin. Suggested by Kai Schaetzl . -2003-07-04 Simon Josefsson + Add todo. - * configure.ac: Bump versions. +2003-11-25 Simon Josefsson -2003-07-04 Simon Josefsson + Disable fortran etc libtool checks. - * NEWS: Add. +2003-11-23 Simon Josefsson -2003-07-04 Simon Josefsson + Add --docbook. - * idna.c: Fix last commit. + Sync with texinfo. -2003-07-04 Simon Josefsson +2003-11-20 Simon Josefsson - * THANKS: Add. + Fix GREETING. -2003-07-04 Simon Josefsson +2003-11-11 Simon Josefsson - * idna.c: Handle empty labels, tiny patch based on suggestion by - Marcos Sanz/Denic . + TeX improvements. From Nikos Mavroyanopoulos . -2003-07-02 Simon Josefsson + Use AM_MAKEINFOHTMLFLAGS (with CVS automake) instead of explicit libidn.html target. - * THANKS: Add. +2003-11-10 Simon Josefsson -2003-07-02 Simon Josefsson + Add. - * Makefile.am: Ignore .cvs*. +2003-11-09 Simon Josefsson -2003-07-02 Simon Josefsson + *** empty log message *** - * Makefile.am: Add legal information to ChangeLog. + Update DocBook HTML destinations. -2003-07-02 Simon Josefsson + Remove. - * .cvscopying: Add. + Remove unused ps_TEXINFOS and pdf_TEXINFOS. -2003-07-02 Simon Josefsson + 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 + 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 + 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 . + Enable warnings. -2003-07-02 Simon Josefsson + *** 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 + 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 + Use proper -o directory for gendocs.sh. - * Makefile.am: Don't distclean idn_cmd.*, just maintainer-clean - them. + . -2003-06-19 Simon Josefsson + *** empty log message *** - * ChangeLog: [no log message] + Version 0.3.4. -2003-06-19 Simon Josefsson + Fix memory leak. - * NEWS: Version 0.2.0. +2003-11-07 Simon Josefsson -2003-06-19 Simon Josefsson + Remove libtool bug workaround. - * Makefile.am: Distclean idn-int.h (really!). +2003-11-05 Simon Josefsson -2003-06-19 Simon Josefsson + Fix. - * Makefile.am: Install and distclean idn-int.h properly. + Fix date. -2003-06-19 Simon Josefsson + Fix bad UTF-8. - * Makefile.am: Distclean idn-int.h. +2003-11-02 Simon Josefsson -2003-06-19 Simon Josefsson + Mkdir HTML. - * Makefile.am: Remove idn-int.h. + Cleanup. -2003-06-19 Simon Josefsson + Dist gtk-doc.m4. - * doc/libidn.texi: Add woody armv4l. +2003-11-01 Simon Josefsson -2003-06-19 Simon Josefsson + Update expiry date on PGP key. - * configure.ac: Bump so version. + *** empty log message *** -2003-06-19 Simon Josefsson + *** empty log message *** - * doc/libidn.texi: Tested on debian-sparc64. + Rename. -2003-06-19 Simon Josefsson + Use my old cleaned up Makefile. - * reference/Makefile.am: Ignore idn-int.h. + Don't break on first 'make'. -2003-06-19 Simon Josefsson + 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 + Add. - * doc/libidn.texi, punycode.c, punycode.h: GTK-DOC doesn't like enum - return types. + *** empty log message *** -2003-06-18 Simon Josefsson + Add, based on GTK-DOC example Makefile.am. - * NEWS: Add. + Add reference/. -2003-06-18 Simon Josefsson + 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 + Use GTK_DOC_CHECK macro for gtk-doc checks. - * THANKS: Add. + Add. -2003-06-18 Simon Josefsson + Use GTK-DOC conditional. - * doc/.cvsignore: [no log message] + Rebuild Makefile after rebuilding Makefile.gdoc. -2003-06-18 Simon Josefsson + 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 + GDOC framework cleanup. - * doc/libidn.texi: Fix. + Create texinfo for whole sources files too. -2003-06-18 Simon Josefsson + 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 + Mark Makefile.gdoc as BUILT_SOURCES. - * idn.c, tst_punycode.c: Fix typo. + Bootstrap doc/Makefile.gdoc. -2003-06-18 Simon Josefsson + (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 + *** empty log message *** - * tst_punycode.c, tst_stringprep.c: Use uint32_t instead of unsigned - long. + Remove. -2003-06-18 Simon Josefsson + Mkdir. - * NEWS: Fix. + Update docbook HTMLs. -2003-06-18 Simon Josefsson + 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 + Add, initial version. - * idna.h: Revert last change. + Don't generate doc/man/Makefile. -2003-06-18 Simon Josefsson +2003-10-31 Simon Josefsson - * 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 + 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 + 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 + Doc fixes. - * toutf8.c: Fix warnings. + (dump_function): Handle parameters that look like 'char *foo[]'. -2003-06-18 Simon Josefsson + 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 + Sync from GSSLib. - * tst_idna.c, tst_oidna.c: Fix. + Mention more tools. -2003-06-18 Simon Josefsson + Add. - * idna.h: Fix. + Fix doc generating commands. -2003-06-18 Simon Josefsson + 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 + Fix outdir rm. - * NEWS: Add. + Don't remove $outdir (might contain CVS/). -2003-06-18 Simon Josefsson + TAR fixes. Add DocBook/Doxygen/GTK-DOC. - * configure.ac: Bump version. + Add (taken from Texinfo CVS). -2003-06-18 Simon Josefsson + *** empty log message *** - * stringprep.c: Change unsigned long to uint32_t. + Add docbook targets. -2003-06-18 Simon Josefsson + Look for docbook tools. - * stringprep.h.in: Change unsigned long to uint32_t. Fix enum - definitions. +2003-10-29 Simon Josefsson -2003-06-18 Simon Josefsson + 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 + Add. - * tst_oidna.c, tst_opunycode.c, tst_ostringprep.c: Add old API - tests. +2003-10-28 Simon Josefsson -2003-06-18 Simon Josefsson + Add. - * .cvsignore: [no log message] + Add. -2003-06-18 Simon Josefsson +2003-10-24 Simon Josefsson - * doc/Makefile.am: Fix. + Add. -2003-06-18 Simon Josefsson + 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 +2003-10-19 Simon Josefsson - * Makefile.am: Don't use gdoc. + Add. -2003-06-18 Simon Josefsson + Fix. - * nfkc.c: Use uint32_t instead of unsigned long. + Add warning in comment. -2003-06-18 Simon Josefsson + 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 + Bump versions. - * gen-unicode-tables.pl: Include internal.h for uint32_t and use it. + Add comment. -2003-06-18 Simon Josefsson +2003-10-18 Simon Josefsson - * 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 + . - * 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 + Version 0.3.3. - * .cvsignore: [no log message] + Add. -2003-06-18 Simon Josefsson + 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 + 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 + (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 + Fix warnings. - * NEWS: Version 0.1.15. + Indent. -2003-06-07 Simon Josefsson + Remove stringprep_generic documentation. - * NEWS: Add. + Remove stringprep_generic. -2003-06-07 Simon Josefsson + 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 + (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 +2003-10-17 Simon Josefsson - * THANKS: Add. Fix. + Indent. -2003-06-06 Simon Josefsson + 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 + Fix. - * draft-ietf-xmpp-nodeprep-03.txt, - draft-ietf-xmpp-resourceprep-03.txt: Add. + Sync 'idn -h'. -2003-06-04 Simon Josefsson + Fix. - * THANKS: Add. + Include cleanup. We assume C89, use <...> for headers we use, and use "..." for headers we implement. -2003-06-04 Simon Josefsson +2003-10-16 Simon Josefsson - * nfkc.c: Check array bounds, tiny patch from Joe Hildebrand. + Add. -2003-06-02 Simon Josefsson + Fix gengetopt building. - * ChangeLog: [no log message] + Add. -2003-05-28 Simon Josefsson + Use less negations for --quiet, reported by Oden Eriksson . - * draft-ietf-ldapbis-strprep-00.txt: Add. + Fix gengetopt built source files. Use new automake Emacs Lisp targets. -2003-05-28 Simon Josefsson + Use current version number in examples. - * draft-ietf-sasl-saslprep-02.txt: Add. + Update so version. -2003-05-10 Simon Josefsson + Add. - * ChangeLog: [no log message] + Include parameter names in prototypes, for GTK-DOC. -2003-05-10 Simon Josefsson + Doc fix. - * NEWS: Version 0.1.14. + Fix typo. -2003-05-10 Simon Josefsson + Fix. - * ChangeLog: [no log message] + Removed. -2003-05-10 Simon Josefsson + Make #include's explicit. - * contrib/README: Add. + Make #include's explicit. Fix warnings. -2003-05-10 Simon Josefsson + Remove internal.h. - * idna.el, punycode.el: Bind process-environment correctly. + Doc fix. -2003-05-09 Simon Josefsson + Make #include's explicit. - * Makefile.am: Copy doxygen docs. + Make #include's explicit. -2003-05-09 Simon Josefsson + Fix. - * draft-ietf-ldapbis-dn-10.txt: Unrealted, mistakenly added. + Make #include's explicit. -2003-05-09 Simon Josefsson + Fix typo. - * NEWS: Add. + Sync with latest draft, but change return types to 'int' to be backwards compatible. -2003-05-09 Simon Josefsson + 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 + 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 + 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 + (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 + (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 + Check malloc return value. - * idna.el: Handle when idn is not installed. + Check malloc return code. -2003-05-06 Simon Josefsson + 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 + Doc fix. - * NEWS: Add. + Add stringprep_4i.3, stringprep_4zi.3. -2003-04-23 Simon Josefsson + Doc fix. - * NEWS: Fix NEWS entry of last release (API/ABI compatibility). + (stringprep_4i, stringprep_4zi): Add. -2003-04-23 Simon Josefsson + (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 + (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 -2003-04-16 Simon Josefsson + Fix. - * ANNOUNCE: Mention devices it runs on. + Remove generic. Add trace. -2003-03-28 Simon Josefsson + 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 + 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 -2003-03-26 Simon Josefsson + Clarify alternative approaches. - * tst_idna.c, tst_stringprep.c: Fix -DDRAFT output. + Fix. -2003-03-26 Simon Josefsson +2003-10-11 Simon Josefsson - * Makefile.am: Dist contrib/doxygen/. + Add. -2003-03-26 Simon Josefsson +2003-10-10 Simon Josefsson - * NEWS: Mention doxygen. + Revert typo. -2003-03-26 Simon Josefsson + Fix so version comment (matches libtool manual). - * configure.ac: Build contrib/doxygen/Doxyfile. + Fix. -2003-03-26 Simon Josefsson + 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 +2003-10-09 Simon Josefsson - * contrib/doxygen/Doxyfile.in: Use PDF hyperlinks. + Add. -2003-03-26 Simon Josefsson +2003-10-08 Simon Josefsson - * gdoc: Add -doxygen. + Bump versions. -2003-03-26 Simon Josefsson + Fix doxygen generation. - * internal.h: Add \mainpage for doxygen. +2003-10-07 Simon Josefsson -2003-03-26 Simon Josefsson + . - * contrib/README: Mention doxygen. + *** empty log message *** -2003-03-26 Simon Josefsson + 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 + TAR_OPTION crashes tar in Debian, comment out for now. - * FAQ: Fix. + Add. -2003-03-23 Simon Josefsson + Doc fix. - * configure.ac: Bump versions. + Add. -2003-03-23 Simon Josefsson + Add. - * Makefile.am: Ignore draft.*xml in ChangeLog. +2003-10-06 Simon Josefsson -2003-03-23 Simon Josefsson + Add. - * idn.c: Fix debug prints. + (stringprep_profile): Mark 'in' as 'const'. -2003-03-22 Simon Josefsson +2003-10-03 Simon Josefsson - * draft-josefsson-idn-test-vectors.xml: Fix sec cons. + Fix comment. -2003-03-22 Simon Josefsson +2003-10-02 Simon Josefsson - * draft-josefsson-idn-test-vectors.xml: Cosmetic fixes. + Fix. -2003-03-22 Simon Josefsson + Add. - * draft-josefsson-idn-test-vectors.xml: Add IDNA stuff. Ack - punycode. + Add trace profile (SASL ANONYMOS). -2003-03-22 Simon Josefsson + Bump versions. - * stringprep.c, tst_stringprep.c: Fixes for -DDRAFT. + Cosmetic fixes. -2003-03-22 Simon Josefsson + Fix. - * tst_idna.c: Support -DDRAFT. + . -2003-03-22 Simon Josefsson + 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 + Version 0.3.1. - * ChangeLog: [no log message] + Fix NFKC, from Noah Levitt via bugzilla.gnome.org bug 123421. -2003-03-13 Simon Josefsson +2003-09-28 Simon Josefsson - * NEWS: Version 0.1.13. + Fix. -2003-03-13 Simon Josefsson + Add. - * libidn.texi: Sync ANNOUNCE. + Add. -2003-03-13 Simon Josefsson + Indent. - * configure.ac: Bump so version. + Fix. -2003-03-13 Simon Josefsson + Fix indent target. - * NEWS: Add. + Add indent rule. -2003-03-13 Simon Josefsson + Indent. - * ANNOUNCE: Add lingos. + Fix. Add indent target. -2003-03-13 Simon Josefsson +2003-09-26 Simon Josefsson - * contrib/java/README: Doc fix. + Fix Hangul patch. -2003-03-13 Simon Josefsson + Fix typo. - * Makefile.am: Dist Java stuff. + Add. -2003-03-13 Simon Josefsson + Sync with GLIB for Unicode stuff. - * contrib/java/README: Doc fix. + Fix typo. -2003-03-13 Simon Josefsson +2003-09-25 Simon Josefsson - * NEWS: Mention Java API. + Update test vectors. -2003-03-13 Simon Josefsson + Fix debug messages. - * contrib/README: Add java/. + Add. -2003-03-13 Simon Josefsson + (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 + (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 for GLIB, discussed in and available from . - * libidn.texi: Tested on more platforms. + Fix. -2003-03-12 Simon Josefsson + Add. - * stringprep.c, tst_stringprep.c: Fix mem leak. + *** empty log message *** -2003-03-12 Simon Josefsson + (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 -2003-03-12 Simon Josefsson + Add. - * Makefile.am: Ignore errors instead of using missing for gengetopt. + Doc fix. -2003-03-12 Simon Josefsson + (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 + Bump versions. - * libidn.texi: Add platform. + Fix. -2003-03-12 Simon Josefsson + Fix. - * ANNOUNCE: Spec update. + . -2003-03-10 Simon Josefsson + *** empty log message *** - * Makefile.am: Cvs2cl ignore contrib. + Version 0.3.0. -2003-03-10 Simon Josefsson + Fix. - * Makefile.am: Use cvs2cl's new --FSF. + Add. -2003-03-10 Simon Josefsson + Fix. - * contrib/web/idn.php: Text fix. +2003-09-22 Simon Josefsson -2003-03-10 Simon Josefsson + Add. - * contrib/web/idn.php: Text fixes. Remove ASCII incompatible - encodings. + (stringprep_saslprep): Prohibit inappropriate for canonical representation characters. -2003-03-09 Simon Josefsson +2003-09-14 Simon Josefsson - * contrib/web/idn.php: Use UTF-8 by default. Text fixes. Change - ascii and sjis charsets. + Dist libc/Banner. -2003-03-08 Simon Josefsson + 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 + Fix memory leaks. - * contrib/web/idn.php: Cleanup. + Fix greeting message. -2003-03-08 Simon Josefsson + Copy Banner. - * contrib/web/idn.php: Fix text. + Add. -2003-03-08 Simon Josefsson +2003-09-13 Simon Josefsson - * contrib/web/idn.php: Fix charset. + Fix. -2003-03-08 Simon Josefsson + Cast. - * contrib/web/idn.php: Fix text. + Fix. -2003-03-08 Simon Josefsson + Simplify #include mess. - * contrib/web/idn.php: Make charset selection clearer. + Remove cruft. -2003-03-08 Simon Josefsson + Fix. - * contrib/web/idn.php: Fix HTML, based on Martin Duerst's - suggestions. + Remove dummy.c. -2003-03-08 Simon Josefsson + Doc fix. - * contrib/web/idn.php: Use valid HTML. + Doc fix. -2003-03-08 Simon Josefsson + Doc fix. - * contrib/web/idn.php: Add. + Doc fix. -2003-03-08 Simon Josefsson + Doc fix. - * example2.c, punycode.c, punycode.h: Sync with RFC. + Doc fix. -2003-03-08 Simon Josefsson +2003-09-12 Simon Josefsson - * draft-zeilenga-ldapbis-strmatch-02.txt: Add. + Fix RFC compatibility. -2003-03-08 Simon Josefsson + 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 + Bump versions. - * README-alpha: Mention more prereqs. + Rename stringprep_generic_* to stringprep_rfc3454_*. -2003-03-07 Simon Josefsson + *** 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 + 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 + Doc fix. - * Makefile.am: Dist FAQ and contrib/web/idn.php. + Fix. -2003-03-07 Simon Josefsson + Fix update-api. - * README: Add. Move todo list to TODO. + Doc fix. -2003-03-07 Simon Josefsson + Indent. - * TODO: Add, taken from README. + Use 'int' instead of 'enum's. -2003-03-06 Simon Josefsson + 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 + Remove obsolete.c. - * ANNOUNCE: Cleanup. + Remove obsolete headers. -2003-03-06 Simon Josefsson + 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 + Fix path to sources. Fix HIGNORE. - * FAQ: Moved faq from file README. + Workaround -I problem. -2003-03-06 Simon Josefsson + Against glibc 2.3.2. - * README: Move faq to file FAQ. Add donation info. Update todo's. + Add. -2003-03-06 Simon Josefsson + Remove unused m4's. - * contrib/web/idn.php: Security fix. + Add (from gl/). -2003-03-06 Simon Josefsson + Don't use strdup. - * NEWS: Add forgotten 0.1.12 items. + Remove gl/. -2003-03-06 Simon Josefsson + 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 + Ported to Mac OS X / Darwin. - * contrib/web/idn.php: Add debug. + *** empty log message *** -2003-03-06 Simon Josefsson + 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 + Add. - * ChangeLog: [no log message] + Build man pages. -2003-03-06 Simon Josefsson + Move. - * NEWS: Version 0.1.12. + Fix. -2003-03-06 Simon Josefsson + Add. - * libidn.texi: Remove stringprep_*.h. Document stringprep in idn. + Typo. -2003-03-06 Simon Josefsson + [_LIBC]: Define ICONV_CONST. - * THANKS: Add. + Use modern API. -2003-03-06 Simon Josefsson + Export modern API. - * libc/README: Fix ace. + Update. -2003-03-06 Simon Josefsson + GLIBC 2.3.2 sync. - * contrib/web/idn.php: Add errors. +2003-09-02 Simon Josefsson -2003-03-06 Simon Josefsson + Revert. - * contrib/web/idn.php: Support stringprep. +2003-08-26 Simon Josefsson -2003-03-06 Simon Josefsson + Update key. - * Makefile.am: Ignore gengetopt errors. + Add examples/README. -2003-03-06 Simon Josefsson + Fixes. - * draft-ietf-xmpp-nodeprep-00.txt, - draft-ietf-xmpp-resourceprep-00.txt: Remove. + Fix cvs2cl parameters. -2003-03-06 Simon Josefsson + Use $() instead of @@. - * idn.c, idn.ggo.in: Add -s and -p for stringprep. + Do some tests that work. -2003-03-06 Simon Josefsson + Fix URL. - * NEWS: Mention stringprep API changes. + Bump versions. -2003-03-06 Simon Josefsson + 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 + Update paths. - * reference/Makefile.am: Cosmetic fix. + . -2003-03-06 Simon Josefsson + 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 + *** 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 + *** empty log message *** - * README-alpha: Fixup. + Add tabs, for Makefile.maint check. -2003-03-02 Simon Josefsson + Replace release target with Makefile.maint etc. - * contrib/web/idn.php: Fix typo. + Add. -2003-03-02 Simon Josefsson +2003-08-25 Simon Josefsson - * contrib/web/idn.php: Reorder. Add errors. + Doc fix. -2003-03-02 Simon Josefsson + Add. - * contrib/web/idn.php: Fix. + Really call ToUnicode instead of ToASCII. Reported by Trond Haugen . -2003-03-02 Simon Josefsson +2003-08-21 Simon Josefsson - * contrib/web/idn.php: Add examples. + Add port. -2003-03-02 Simon Josefsson + Dist getopt.h. - * contrib/web/idn.php: Fix ct. Add example. + Link with gl stuff. -2003-03-02 Simon Josefsson +2003-08-20 Simon Josefsson - * contrib/web/idn.php: Add example. + Fix warning message. -2003-03-02 Simon Josefsson + Group portability stuff together. - * contrib/web/idn.php: Fix. + Fix -I paths. -2003-03-02 Simon Josefsson + Distcheck fixes. - * contrib/web/idn.php: Fix. + Fix paths. -2003-03-02 Simon Josefsson + Fix paths (for distcheck). - * contrib/web/idn.php: Examples. + Fix directory build order, for gtk-doc. -2003-03-02 Simon Josefsson + Update paths to source code. - * contrib/web/idn.php: Fix typos. + Move obsolete functions into separate file. -2003-03-02 Simon Josefsson + Fixes. - * contrib/web/idn.php: Move examples to bottom. + Build doc after src, for help2man on idn. -2003-03-02 Simon Josefsson + *** empty log message *** - * contrib/web/idn.php: Add examples. + Add EXTRA_DISTs. -2003-03-02 Simon Josefsson + 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 + Move gdoc to doc/. - * contrib/web/idn.php: Fixes. + *** empty log message *** -2003-03-02 Simon Josefsson + *** empty log message *** - * contrib/web/idn.php: Charset fixes. + Move documentation and specifications into doc/ and doc/specifications/. -2003-03-02 Simon Josefsson + Move portability utilities into gl/. - * NEWS: Mention idn.php. + Move library into lib/. -2003-03-02 Simon Josefsson + Move tests into tests/. - * contrib/README: Add. + Move applications into src/. -2003-03-02 Simon Josefsson + Move examples into examples/. - * contrib/web/idn.php: Add. +2003-08-13 Simon Josefsson -2003-03-01 Simon Josefsson + Add. - * configure.ac: Check for gengetopt. + Fix doc. -2003-03-01 Simon Josefsson + Remove unused function. - * Makefile.am: Use GENGETOPT. + Fix warnings. -2003-03-01 Simon Josefsson + Bump versions. - * NEWS: Add glibc 2.3.2. + Add. -2003-03-01 Simon Josefsson + Use enum types where appropriate. - * configure.ac: Bump version. + Doc fixes. -2003-03-01 Simon Josefsson + 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 + Replace int with proper enum, where appropriate. - * NEWS: Add. + Typo. -2003-02-27 Simon Josefsson + Add FreeBSD 4.8. - * libidn.texi: Copying conditions. + *** empty log message *** -2003-02-27 Simon Josefsson + Version 0.2.2. - * profiles.c: Add SASLprep. + Fix. -2003-02-27 Simon Josefsson + Fix release target. - * stringprep.h.in: Add SASL profile. + Fix release target. -2003-02-27 Simon Josefsson + Add. - * tst_stringprep.c: Test SASL profile. + Typo. -2003-02-27 Simon Josefsson + Indent. - * Makefile.am: Don't byte compile elisp. Cleanup EXTRA_DIST. + Revert to RFC code: use punycode_status. -2003-02-27 Simon Josefsson + 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 +2003-08-08 Simon Josefsson - * draft-ietf-sasl-saslprep-00.txt: Add. + (stringprep_locale_charset): Improve docstring. -2003-02-27 Simon Josefsson +2003-08-01 Simon Josefsson - * libidn.texi: Don't ack self. + Add. -2003-02-26 Simon Josefsson +2003-07-31 Simon Josefsson - * Makefile.am: Cleanup extra dist. + Replace gnudist with gnuftp. -2003-02-26 Simon Josefsson + 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 +2003-07-11 Simon Josefsson - * reference/Makefile.am: Ignore getopt.h. + Rewrite to get LGPL code. -2003-02-26 Simon Josefsson + Revert, to get LGPL code. - * idna.el, punycode.el: Doc fix. + Install but don't distribute idn-int.h. -2003-02-26 Simon Josefsson + *** empty log message *** - * libidn.texi: Reorder acks. Add function and variable index. + Dist m4's. -2003-02-26 Simon Josefsson + Replace AC_REPLACE_OBJ with gnulib. - * fdl.texi, lgpl.texi: Fix TOC. + Bump versions. -2003-02-26 Simon Josefsson + 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 +2003-07-08 Simon Josefsson - * NEWS: Version 0.1.11. + Add. -2003-02-26 Simon Josefsson + Look in sys/types.h too, for cygwin. - * Makefile.am: Distcheck fixes. +2003-07-06 Simon Josefsson -2003-02-26 Simon Josefsson + Don't use () when talking about the name of a function. - * libidn.texi: Document Emacs API. +2003-07-04 Simon Josefsson -2003-02-26 Simon Josefsson + *** empty log message *** - * .cvsignore: [no log message] + Version 0.2.1. -2003-02-26 Simon Josefsson + Create idn_cmd.* in srcdir. - * configure.ac: Bump versions. Look for help2man. + Add. -2003-02-26 Simon Josefsson + Bump versions. - * Makefile.am: Build idn.1 man page. + Add. -2003-02-26 Simon Josefsson + Fix last commit. - * libidn.texi: Document idn. + Add. -2003-02-26 Simon Josefsson + Handle empty labels, tiny patch based on suggestion by Marcos Sanz/Denic . - * idna.el: Mention todo. +2003-07-02 Simon Josefsson -2003-02-26 Simon Josefsson + Add. - * Makefile.am: Build idna.el. + Ignore .cvs*. -2003-02-26 Simon Josefsson + Add legal information to ChangeLog. - * idna.el: Elisp interface for IDNA. + Add. -2003-02-26 Simon Josefsson + Add. - * punycode.el: Add keywords. + Indent. -2003-02-26 Simon Josefsson + (stringprep_convert): Use ICONV_CONST. Tiny patch suggested by Robert Norris . - * punycode.el: Fix doc. + Add. -2003-02-26 Simon Josefsson +2003-06-24 Simon Josefsson - * .cvsignore: [no log message] + Gengetopt 2.10 or later is required. -2003-02-26 Simon Josefsson + Don't distclean idn_cmd.*, just maintainer-clean them. - * configure.ac: Add automake elisp check. +2003-06-19 Simon Josefsson -2003-02-26 Simon Josefsson + *** empty log message *** - * Makefile.am: Add punycode.el. + Version 0.2.0. -2003-02-26 Simon Josefsson + Distclean idn-int.h (really!). - * punycode.el: Elisp interface for punycode. + Install and distclean idn-int.h properly. -2003-02-26 Simon Josefsson + Distclean idn-int.h. - * Makefile.am: Fix gengetopt invocation. + Remove idn-int.h. -2003-02-26 Simon Josefsson + Add woody armv4l. - * idn.c: Print help on usage error. Minor cleanup. + Bump so version. -2003-02-26 Simon Josefsson + Tested on debian-sparc64. - * idn.ggo.in: Fix package/version name. + Ignore idn-int.h. -2003-02-26 Simon Josefsson + 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 + Add. - * .cvsignore: [no log message] + Copy manual from right place. -2003-02-26 Simon Josefsson + Add. - * getopt.c, getopt.h, getopt1.c: Add. + *** empty log message *** -2003-02-26 Simon Josefsson + 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 +2003-06-18 Simon Josefsson - * Makefile.am: Build idn. + Indent. -2003-02-26 Simon Josefsson + Fix typo. - * idn.ggo.in: Add command line option specification for idn.c. + Not needed (new API backwards compatible). -2003-02-26 Simon Josefsson + Use uint32_t instead of unsigned long. - * idn.c: Add command line interface to library. + Fix. -2003-02-25 Simon Josefsson + 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 + Fixes. - * profiles.c: NFKC XMPP resourceprep. + Remove old interfaces. -2003-02-21 Simon Josefsson + Use modern API. - * profiles.c: NFKC XMPP nodeprep. + Fix warnings. -2003-02-21 Simon Josefsson + 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 + 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 + Add. - * reference/Makefile.am: Distribute libidn-stringprep-iscsi.html. + Bump version. -2003-02-21 Simon Josefsson + Change unsigned long to uint32_t. - * idna.c: Doc fix. + Change unsigned long to uint32_t. Fix enum definitions. -2003-02-21 Simon Josefsson + 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 + *** empty log message *** - * Makefile.am: Make release project independent. + Fix. -2003-02-21 Simon Josefsson + Move manual to doc/. - * NEWS: Add. + Don't use gdoc. -2003-02-21 Simon Josefsson + 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 + 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 + 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 + New idn-int.h for portable fixed size integers. Create m4/ and move iconv.m4 to it. - * NEWS: Add. +2003-06-12 Simon Josefsson -2003-02-20 Simon Josefsson + Remove GNU make specific idiom. - * Makefile.am: Distribute contrib/*. +2003-06-07 Simon Josefsson -2003-02-20 Simon Josefsson + *** empty log message *** - * contrib/README: Describe contents of contrib/. + Version 0.1.15. -2003-02-20 Simon Josefsson + 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 + Remove DRAFT stuff (moved to separate branch). - * Makefile.am: Install punycode.h. + Add. Fix. -2003-02-20 Simon Josefsson + 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 +2003-06-04 Simon Josefsson - * ChangeLog: [no log message] + Add. -2003-02-20 Simon Josefsson + Check array bounds, tiny patch from Joe Hildebrand. - * NEWS: Version 0.1.9. +2003-06-02 Simon Josefsson -2003-02-20 Simon Josefsson + *** empty log message *** - * reference/libidn-docs.tmpl: Include stringprep_plain.sgml. +2003-05-28 Simon Josefsson -2003-02-20 Simon Josefsson + Add. - * reference/Makefile.am: Add libidn-stringprep-plain.html. + Add. -2003-02-20 Simon Josefsson +2003-05-10 Simon Josefsson - * reference/.cvsignore: [no log message] + *** empty log message *** -2003-02-20 Simon Josefsson + Version 0.1.14. - * libidn.texi: Fix last commit. + *** empty log message *** -2003-02-20 Simon Josefsson + Add. - * libidn.texi: Mention stringprep_plain.h. + Bind process-environment correctly. -2003-02-20 Simon Josefsson +2003-05-09 Simon Josefsson - * reference/dummy.c: Add stringprep_plain. + Copy doxygen docs. -2003-02-20 Simon Josefsson + Unrealted, mistakenly added. - * profiles.c: Don't case fold XMPP resources. + Add. -2003-02-20 Simon Josefsson + 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 + 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 + Add. - * configure.ac: Bump versions. +2003-05-07 Simon Josefsson -2003-02-20 Simon Josefsson + Handle when idn is not installed. - * libidn.texi: Sync ANNOUNCE. +2003-05-06 Simon Josefsson -2003-02-20 Simon Josefsson + Add. - * ANNOUNCE: Mention SASL "plain". +2003-04-23 Simon Josefsson -2003-02-20 Simon Josefsson + Add. - * NEWS: Add. + Fix NEWS entry of last release (API/ABI compatibility). -2003-02-20 Simon Josefsson + Add. - * tst_stringprep.c: Remove broken XMPP tests. Add SASL test. +2003-04-20 Simon Josefsson -2003-02-20 Simon Josefsson + Add. - * draft-ietf-sasl-anon-00.txt: Add. +2003-04-16 Simon Josefsson -2003-02-20 Simon Josefsson + Mention devices it runs on. - * internal.h: Include stringprep_plain.h. +2003-03-28 Simon Josefsson -2003-02-20 Simon Josefsson + 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 -2003-02-20 Simon Josefsson + Text fixes. - * profiles.c: Fix XMPP definition. + Fix -DDRAFT output. -2003-02-20 Simon Josefsson +2003-03-26 Simon Josefsson - * stringprep_plain.h: New file. + Dist contrib/doxygen/. -2003-02-19 Simon Josefsson + Mention doxygen. - * NEWS: Add. + Build contrib/doxygen/Doxyfile. -2003-02-19 Simon Josefsson + Add unmodified doxygen configuration file, for future "diff"s. - * THANKS: Add. + Use PDF hyperlinks. -2003-02-19 Simon Josefsson + Add -doxygen. - * profiles.c: Don't normalize or map ASCII space for XMPP nodeprep. - Tiny patch from Travis Shirk . + Add \mainpage for doxygen. -2003-02-18 Simon Josefsson + Mention doxygen. - * README: Add. + Add doxygen template. -2003-02-15 Simon Josefsson +2003-03-23 Simon Josefsson - * idna.c: Make sure decoded punycode data is zero terminated. + Fix. -2003-02-15 Simon Josefsson + Bump versions. - * tst_idna.c: Fix memory leak. + Ignore draft.*xml in ChangeLog. -2003-02-15 Simon Josefsson + Fix debug prints. - * idna.c: Fix memory leaks. Waste less memory. +2003-03-22 Simon Josefsson -2003-02-15 Simon Josefsson + Fix sec cons. - * idna.c: Fix memory leak. + Cosmetic fixes. -2003-02-14 Simon Josefsson + Add IDNA stuff. Ack punycode. - * tst_stringprep.c: Fix. + Fixes for -DDRAFT. -2003-02-14 Simon Josefsson + Support -DDRAFT. - * nfkc.c: Fix typo. + Editorial fixes. Sync stringprep table. Fix references. -2003-02-14 Simon Josefsson +2003-03-13 Simon Josefsson - * stringprep.c: Fix maplen calculation. + *** empty log message *** -2003-02-14 Simon Josefsson + Version 0.1.13. - * stringprep.c: Fix gcc warnings. + Sync ANNOUNCE. -2003-02-14 Simon Josefsson + 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 + Add lingos. - * ChangeLog: [no log message] + Doc fix. -2003-02-14 Simon Josefsson + Dist Java stuff. - * NEWS: Version 0.1.8. + Doc fix. -2003-02-14 Simon Josefsson + Mention Java API. - * Makefile.am: GTK-DOC fix. + Add java/. -2003-02-13 Simon Josefsson + Add JAVA API proof of concept. - * libidn.texi: Update port status. + Tested on more platforms. -2003-02-13 Simon Josefsson +2003-03-12 Simon Josefsson - * configure.ac: Use = instead of == as test operator. + Fix mem leak. -2003-02-13 Simon Josefsson + 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 + Ignore errors instead of using missing for gengetopt. Bump version. - * example2.c: Revert missing-noreturn fix. + Add platform. -2003-02-13 Simon Josefsson + Spec update. - * idna.c: Use size_t for string lengths. +2003-03-10 Simon Josefsson -2003-02-13 Simon Josefsson + Cvs2cl ignore contrib. - * Makefile.am, configure.ac: Condition GTK-DOC and disable by - default. + Use cvs2cl's new --FSF. -2003-02-13 Simon Josefsson + Text fix. - * reference/.cvsignore: [no log message] + Text fixes. Remove ASCII incompatible encodings. -2003-02-13 Simon Josefsson +2003-03-09 Simon Josefsson - * reference/tmpl/.cvsignore: Remove. + Use UTF-8 by default. Text fixes. Change ascii and sjis charsets. -2003-02-13 Simon Josefsson + 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 -2003-02-12 Simon Josefsson + Cleanup. - * profiles.c: Zero terminate XMPP array. + Fix text. -2003-02-12 Simon Josefsson + Fix charset. - * configure.ac: Bump version (both shared library and package). + Fix text. -2003-02-12 Simon Josefsson + Make charset selection clearer. - * NEWS: Add. + Fix HTML, based on Martin Duerst's suggestions. -2003-02-12 Simon Josefsson + 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 + Sync with RFC. - * example3.c, example4.c: Fix CFLAGS warnings. Use official IDNA - ACE prefix. + Add. -2003-02-12 Simon Josefsson + Replace drafts with RFCs. - * tst_stringprep.c: Cleanups for including as appendix in draft. +2003-03-07 Simon Josefsson -2003-02-12 Simon Josefsson + Mention more prereqs. - * draft-josefsson-idn-test-vectors.xml: Add preliminary version. + Remove gtk-doc trigger for obsolete functions. -2003-02-12 Simon Josefsson + 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 + Add. Move todo list to TODO. - * tst_stringprep.c: More self tests. More debug info. + Add, taken from README. -2003-02-12 Simon Josefsson +2003-03-06 Simon Josefsson - * stringprep.c: More debug output. + ANNOUNCE sync. -2003-02-12 Simon Josefsson + Cleanup. - * : Official results. + Update questions and answers. -2003-02-12 Simon Josefsson + 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 + Security fix. - * Makefile.am: Improve release target. + Add forgotten 0.1.12 items. -2003-02-12 Simon Josefsson + Typo. - * Makefile.am: Add release target. + Add debug. -2003-02-12 Simon Josefsson + Remove. - * ChangeLog: [no log message] + *** empty log message *** -2003-02-12 Simon Josefsson + Version 0.1.12. - * NEWS, configure.ac: Version 0.1.7. + Remove stringprep_*.h. Document stringprep in idn. -2003-02-12 Simon Josefsson + Add. - * tst_idna.c: Fix IDNA ACE prefix. + Fix ace. -2003-02-12 Simon Josefsson + Add errors. - * idna.h: Use official IDNA prefix. + Support stringprep. -2003-02-11 Simon Josefsson + Ignore gengetopt errors. - * ChangeLog: [no log message] + Remove. -2003-02-11 Simon Josefsson + Add -s and -p for stringprep. - * Makefile.am: Add upload target. + Mention stringprep API changes. -2003-02-11 Simon Josefsson + Add stringprep_profile(). - * tst_idna.c: Use new IDNA ACE prefix. + Cosmetic fix. -2003-02-11 Simon Josefsson + Deprecate stringprep_*.h. - * ChangeLog: Update. + Add. -2003-02-11 Simon Josefsson +2003-03-04 Simon Josefsson - * NEWS, configure.ac: Version 0.1.6. + Fixup. -2003-02-11 Simon Josefsson +2003-03-02 Simon Josefsson - * : Add my computation. + Fix typo. -2003-02-11 Simon Josefsson + Reorder. Add errors. - * idna.h: Chose IDNA prefix based on my computation. + Fix. -2003-02-09 Simon Josefsson + Add examples. - * internal.h: Fix header. + Fix ct. Add example. -2003-02-09 Simon Josefsson + Add example. - * stringprep.h.in: Fix. + Fix. -2003-02-09 Simon Josefsson + Fix. - * draft-ietf-ips-iscsi-string-prep-03.txt: Add. + Examples. -2003-02-09 Simon Josefsson + Fix typos. - * profiles.c: Indent. + Move examples to bottom. -2003-02-09 Simon Josefsson + Add examples. - * autogen.sh: Don't run configure. + Bug reporting. -2003-02-09 Simon Josefsson + Fixes. - * Makefile.am: Fix cvs2cl. + Charset fixes. -2003-02-07 Simon Josefsson + Mention idn.php. - * README: Fix. + Add. -2003-02-07 Simon Josefsson + Add. - * reference/libidn-docs.sgml: Reorder. +2003-03-01 Simon Josefsson -2003-02-07 Simon Josefsson + Check for gengetopt. - * reference/libidn-docs.sgml: Reorder. + Use GENGETOPT. -2003-02-07 Simon Josefsson + Add glibc 2.3.2. - * README-alpha: Add build instructions. + Bump version. -2003-02-07 Simon Josefsson + Update to libc 2.3.2. - * autogen.sh: Fix. +2003-02-28 Simon Josefsson -2003-02-07 Simon Josefsson + Add. - * reference/tmpl/stringprep_xmpp.sgml: Generated. +2003-02-27 Simon Josefsson -2003-02-07 Simon Josefsson + Copying conditions. - * libidn.texi, reference/dummy.c: Add XMPP. + Add SASLprep. -2003-02-07 Simon Josefsson + Add SASL profile. - * reference/libidn-docs.sgml: Include xmpp. + Test SASL profile. -2003-02-07 Simon Josefsson + Don't byte compile elisp. Cleanup EXTRA_DIST. - * NEWS, reference/tmpl/stringprep_xmpp.sgml: Add. + Add copyright. -2003-02-07 Simon Josefsson + Add. - * reference/libidn-docs.sgml: Update (from ANNOUNCE). + Don't ack self. -2003-02-07 Simon Josefsson +2003-02-26 Simon Josefsson - * profiles.c: Use table C.8 for bidi prohibited instead of C.9. + Cleanup extra dist. -2003-02-07 Simon Josefsson + 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 + Doc fix. - * draft-ietf-krb-wg-utf8-profile-00.txt: Add. + Reorder acks. Add function and variable index. -2003-02-07 Simon Josefsson + Fix TOC. - * ANNOUNCE: Fix. + *** empty log message *** -2003-02-07 Simon Josefsson + Version 0.1.11. - * stringprep_generic.h, stringprep_kerberos5.h, - stringprep_nameprep.h: Name fix. + Distcheck fixes. -2003-02-05 Simon Josefsson + Document Emacs API. - * libc/README: Fix. + *** empty log message *** -2003-01-31 Simon Josefsson + Bump versions. Look for help2man. - * tst_idna.c, tst_punycode.c: Indent. + Build idn.1 man page. -2003-01-31 Simon Josefsson + Document idn. - * tst_punycode.c: Indent. + Mention todo. -2003-01-31 Simon Josefsson + 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 + Add keywords. - * ANNOUNCE: Fix. + Fix doc. -2003-01-30 Simon Josefsson + *** empty log message *** - * libidn.texi: Typo. + Add automake elisp check. -2003-01-29 Simon Josefsson + Add punycode.el. - * ANNOUNCE: Mention libc. + Elisp interface for punycode. -2003-01-28 Simon Josefsson + Fix gengetopt invocation. - * libc/README: Typo. + Print help on usage error. Minor cleanup. -2003-01-28 Simon Josefsson + Fix package/version name. - * reference/Makefile.am: Really ignore netdb.h. + Shorten line <80ch. -2003-01-28 Simon Josefsson + *** empty log message *** - * ChangeLog: [no log message] + Add. -2003-01-28 Simon Josefsson + 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 + Add command line option specification for idn.c. - * Makefile.am: Dist libc/*. + Add command line interface to library. -2003-01-28 Simon Josefsson +2003-02-25 Simon Josefsson - * reference/Makefile.am: Ignore netdb.h. + Add. -2003-01-28 Simon Josefsson +2003-02-21 Simon Josefsson - * libc/README: Fix. + NFKC XMPP resourceprep. -2003-01-28 Simon Josefsson + NFKC XMPP nodeprep. - * libc/README: Fix. + *** empty log message *** -2003-01-28 Simon Josefsson + Version 0.1.10. - * libc/README: Add. + Distribute libidn-stringprep-iscsi.html. -2003-01-28 Simon Josefsson + 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 + Make release project independent. - * .cvsignore: [no log message] + Add. -2003-01-28 Simon Josefsson + 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 + Bump versions. - * toutf8.c: Fix prototype. Move unused parameter unless - LOCALE_WORKS. + Add. -2003-01-28 Simon Josefsson + Distribute contrib/*. - * internal.h: Work from within GNU Libc. + Describe contents of contrib/. -2003-01-27 Simon Josefsson + Add Stephane Bortzmeyer's python interface. - * THANKS: Add ack. + Install punycode.h. -2003-01-27 Simon Josefsson + Install idna.h, tiny patch from Stephane Bortzmeyer. - * libidn.texi: Point to THANKS for more acks. +2003-02-20 Simon Josefsson -2003-01-27 Simon Josefsson + *** empty log message *** - * idna.c: Fix possible memory corruption. Noncopyrightable patch - from Waldo Bastian . + Version 0.1.9. -2003-01-27 Simon Josefsson + Include stringprep_plain.sgml. - * ChangeLog: [no log message] + Add libidn-stringprep-plain.html. -2003-01-20 Simon Josefsson + *** empty log message *** - * configure.ac: Change bug email address. + Fix last commit. -2003-01-18 Simon Josefsson + Mention stringprep_plain.h. - * Makefile.am: Generate ChangeLog with --no-times. + Add stringprep_plain. -2003-01-15 Simon Josefsson + Don't case fold XMPP resources. - * ChangeLog: [no log message] + Really fix XMPP definition. -2003-01-15 Simon Josefsson + Add stringprep_plain.h. - * ChangeLog, NEWS, configure.ac: Release 0.1.4. + Bump versions. -2003-01-15 Simon Josefsson + Sync ANNOUNCE. - * toutf8.c: Fix functions on bad platforms. + Mention SASL "plain". -2003-01-15 Simon Josefsson + Add. - * stringprep.c: Add comment. + Remove broken XMPP tests. Add SASL test. -2003-01-15 Simon Josefsson + Add. - * tst_idna.c: Test step 5 in ToASCII. + Include stringprep_plain.h. -2003-01-15 Simon Josefsson + Add stringprep_plain for SASL ANONYMOUS plain profile. - * idna.c, idna.h: Fix ToASCII(). + Fix XMPP definition. -2003-01-15 Simon Josefsson + New file. - * libidn.texi: Fix copyright. +2003-02-19 Simon Josefsson -2003-01-15 Simon Josefsson + Add. - * libidn.texi: Fix dir entry. + Add. -2003-01-15 Simon Josefsson + Don't normalize or map ASCII space for XMPP nodeprep. Tiny patch from Travis Shirk . - * Makefile.am: Use automake's ps and pdf texinfo targets. Remove - txt texinfo target. +2003-02-18 Simon Josefsson -2003-01-15 Simon Josefsson + Add. - * Makefile.am: EXTRA_DIST lgplg.texi. Disable GTK-DOC for distcheck - builds (doesn't work). +2003-02-15 Simon Josefsson -2003-01-15 Simon Josefsson + 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 + Fix memory leaks. Waste less memory. - * lgpl.texi, libidn.texi: Add acknowledgements, lgpl. + Fix memory leak. -2003-01-15 Simon Josefsson +2003-02-14 Simon Josefsson - * .cvsignore: [no log message] + Fix. -2003-01-15 Simon Josefsson + 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 + Fix gcc warnings. - * .cvsignore: [no log message] + Change STRINGPREP_MAX_MAP_CHARS to 4 to waste less space. -2003-01-15 Simon Josefsson + *** empty log message *** - * Makefile.am, reference/dummy.c: Improve texinfo manual. + Version 0.1.8. -2003-01-15 Simon Josefsson + GTK-DOC fix. - * stringprep.c: Add doc. + Update port status. -2003-01-15 Simon Josefsson + Use = instead of == as test operator. - * libidn.texi: Add. +2003-02-13 Simon Josefsson -2003-01-15 Simon Josefsson + Use size_t for string lengths. - * README: Remove API documentation. + Revert missing-noreturn fix. -2003-01-15 Simon Josefsson + Use size_t for string lengths. - * ChangeLog: [no log message] + Condition GTK-DOC and disable by default. -2003-01-15 Simon Josefsson + *** empty log message *** - * NEWS, configure.ac: Release 0.1.3. + Remove. -2003-01-15 Simon Josefsson + Cleanup gtk-doc build. - * .cvsignore, Makefile.am, fdl.texi, gdoc, libidn.texi: Add texinfo - manual. + Zero terminate XMPP array. -2003-01-15 Simon Josefsson + Bump version (both shared library and package). - * example2.c: Fix for texinfiscation. + Add. -2003-01-15 Simon Josefsson + Fix CFLAGS warnings. - * nfkc.c: Doc fixes. + Fix CFLAGS warnings. Use official IDNA ACE prefix. -2003-01-08 Simon Josefsson +2003-02-12 Simon Josefsson - * README-alpha: Add. + Cleanups for including as appendix in draft. -2003-01-08 Simon Josefsson + Add preliminary version. - * ChangeLog: [no log message] + Don't optimize prohibited output tables (better trace logs). -2003-01-08 Simon Josefsson + More self tests. More debug info. - * NEWS, configure.ac: Release 0.1.2. + More debug output. -2003-01-08 Simon Josefsson + Official results. - * example4.c, reference/tmpl/idna.sgml: Fix. + *** empty log message *** -2003-01-08 Simon Josefsson + 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 + *** empty log message *** - * reference/tmpl/idna.sgml, reference/tmpl/stringprep.sgml: Add. + Version 0.1.7. -2003-01-08 Simon Josefsson + Fix IDNA ACE prefix. - * ChangeLog: [no log message] + Use official IDNA prefix. -2003-01-08 Simon Josefsson +2003-02-11 Simon Josefsson - * NEWS, configure.ac: Release 0.1.1. + *** empty log message *** -2003-01-08 Simon Josefsson + Add upload target. - * reference/Makefile.am: dist dummy.c. + Use new IDNA ACE prefix. -2003-01-08 Simon Josefsson + Update. - * autogen.sh: Run configure. + Version 0.1.6. -2003-01-08 Simon Josefsson + 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 +2003-02-09 Simon Josefsson - * 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 + Fix. - * reference/libidn-docs.sgml: Add ANNOUNCE text. + Add. -2003-01-08 Simon Josefsson + Indent. - * reference/dummy.c: Add. + Don't run configure. -2003-01-08 Simon Josefsson + Fix cvs2cl. - * toutf8.c, version.c: Doc fix. +2003-02-07 Simon Josefsson -2003-01-08 Simon Josefsson + Fix. - * idna.c, stringprep.c: Doc fix. + Reorder. -2003-01-08 Simon Josefsson + Reorder. - * nfkc.c, stringprep.c, version.c: Add GTK-DOC documentation. + Add build instructions. -2003-01-08 Simon Josefsson + Fix. - * reference/Makefile.am, reference/dummy.c: Dummy GTK-DOC C file - with documentation for #define macros. + Generated. -2003-01-08 Simon Josefsson + Add XMPP. - * stringprep.h.in: GTK-DOC fixes. + Include xmpp. -2003-01-08 Simon Josefsson + Add. - * toutf8.c: Add GTK-DOC documentation. + Update (from ANNOUNCE). -2003-01-08 Simon Josefsson + Use table C.8 for bidi prohibited instead of C.9. - * reference/.cvsignore: [no log message] + Support XMPP. -2003-01-08 Simon Josefsson + Add. - * punycode.c: Add GTK-DOC documentation. + Fix. -2003-01-08 Simon Josefsson + 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 -2003-01-05 Simon Josefsson + Fix. - * ChangeLog: [no log message] +2003-01-31 Simon Josefsson -2003-01-05 Simon Josefsson + Indent. - * configure.ac: Release 0.1.0. + Indent. -2003-01-05 Simon Josefsson + Indent. - * Makefile.am: Fix ChangeLog in distcheck. +2003-01-30 Simon Josefsson -2003-01-05 Simon Josefsson + Fix. - * README, README-alpha: Fix. + Typo. -2003-01-05 Simon Josefsson +2003-01-29 Simon Josefsson - * Makefile.am, idna.h: Add. + Mention libc. -2003-01-05 Simon Josefsson +2003-01-28 Simon Josefsson - * tst_idna.c: Check idna_to_unicode(). + Typo. -2003-01-05 Simon Josefsson + Really ignore netdb.h. - * idna.c: Fix. + *** empty log message *** -2003-01-05 Simon Josefsson + Release 0.1.5. - * tst_punycode.c: Check decoding. + Dist libc/*. -2003-01-05 Simon Josefsson + Ignore netdb.h. - * README-alpha: Add. + Fix. -2003-01-04 Simon Josefsson + Fix. - * ANNOUNCE: Fix. + Add. -2003-01-03 Simon Josefsson + Libidn as libc add-on. - * README-alpha: Rename. + *** empty log message *** -2003-01-03 Simon Josefsson + 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 + Work from within GNU Libc. - * Makefile.am: Build IDNA. +2003-01-27 Simon Josefsson -2003-01-03 Simon Josefsson + Add ack. - * AUTHORS: Rename. + Point to THANKS for more acks. -2003-01-03 Simon Josefsson + Fix possible memory corruption. Noncopyrightable patch from Waldo Bastian . - * ANNOUNCE, NEWS: Fix. + *** empty log message *** -2003-01-03 Simon Josefsson +2003-01-20 Simon Josefsson - * .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 +2003-01-18 Simon Josefsson - * libidn.pc.in: Rename and fix. + Generate ChangeLog with --no-times. -2003-01-03 Simon Josefsson +2003-01-15 Simon Josefsson - * README: Rename. + *** empty log message *** -2003-01-03 Simon Josefsson + 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 + Add comment. - * Makefile.am, THANKS, configure.ac: Rename. + Test step 5 in ToASCII. -2003-01-03 Simon Josefsson + Fix ToASCII(). - * libidn.pc.in, libstringprep.pc.in: Rename libstringprep.pc.in to - libidn.pc.in. + Fix copyright. -2003-01-02 Simon Josefsson + 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 + 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 + Add acknowledgements, lgpl. - * ANNOUNCE: Cleanup. + *** empty log message *** -2002-12-26 Simon Josefsson + Comment cleanup. - * ANNOUNCE: Initiate name change for savannah project registration. + *** empty log message *** -2002-12-26 Simon Josefsson + Improve texinfo manual. - * tst_punycode.c: Fixes. + Add doc. -2002-12-26 Simon Josefsson + Add. - * tst_stringprep.c: Fix. + Remove API documentation. -2002-12-26 Simon Josefsson + *** empty log message *** - * README-alpha: Add. + Release 0.1.3. -2002-12-26 Simon Josefsson + Add texinfo manual. - * ANNOUNCE: Fix. + Fix for texinfiscation. -2002-12-26 Simon Josefsson + Doc fixes. - * ANNOUNCE: Fix. +2003-01-08 Simon Josefsson -2002-12-19 Simon Josefsson + 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 + Release 0.1.2. - * Makefile.am: Make sure ChangeLog is regenerated. + Fix. -2002-12-13 Simon Josefsson + IDNA high-level API. - * ChangeLog: [no log message] + Add. -2002-12-13 Simon Josefsson + *** empty log message *** - * ChangeLog: [no log message] + Release 0.1.1. -2002-12-13 Simon Josefsson + dist dummy.c. - * NEWS, configure.ac: Release 0.0.8. + Run configure. -2002-12-13 Simon Josefsson + 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 + Add ANNOUNCE text. - * Makefile.am: Link with libiconv. + Add. -2002-12-10 Simon Josefsson + Doc fix. - * stringprep.c: Don't use uint32_t in one odd place. + Doc fix. -2002-12-10 Simon Josefsson + Add GTK-DOC documentation. - * autogen.sh: [no log message] + Dummy GTK-DOC C file with documentation for #define macros. -2002-12-10 Simon Josefsson + GTK-DOC fixes. - * stringprep.c: Flawfinder. + Add GTK-DOC documentation. -2002-12-10 Simon Josefsson + *** empty log message *** - * toutf8.c: Fix. + Add GTK-DOC documentation. -2002-12-10 Simon Josefsson + Add API Reference Manual. - * stringprep.h.in: Remove comma on last enum entry. +2003-01-05 Simon Josefsson -2002-12-09 Simon Josefsson + *** empty log message *** - * tst_nfkc.c: Fix memory leak. + Release 0.1.0. -2002-12-09 Simon Josefsson + Fix ChangeLog in distcheck. - * autogen.sh: Suggest dmalloc. + Fix. -2002-12-09 Simon Josefsson + Add. - * configure.ac, internal.h, stringprep.c: Use dmalloc. Fix memory - leak when bidi fails. + Check idna_to_unicode(). -2002-12-09 Simon Josefsson + Fix. - * tst_stringprep.c: Check version. + Check decoding. -2002-12-09 Simon Josefsson + Add. - * ChangeLog: [no log message] +2003-01-04 Simon Josefsson -2002-12-09 Simon Josefsson + Fix. - * NEWS, configure.ac: Release 0.0.7 (version 0.0.6 was abandoned). +2003-01-03 Simon Josefsson -2002-12-09 Simon Josefsson + Rename. - * ChangeLog: [no log message] + Fix. -2002-12-09 Simon Josefsson + Build IDNA. - * configure.ac: Release 0.0.6. + Rename. -2002-12-09 Simon Josefsson + Fix. - * tst_stringprep.c: Check all upper string case mapping. + Add unfinished old IDNA stuff. -2002-12-09 Simon Josefsson + Rename and fix. - * stringprep.c: Apply table until it can't be applied any longer. + Rename. -2002-12-07 Simon Josefsson + Add. - * tst_stringprep.c: Add nameprep vector. + Rename. -2002-12-07 Simon Josefsson + Rename libstringprep.pc.in to libidn.pc.in. - * example.c: Cosmetic fix. +2003-01-02 Simon Josefsson -2002-12-07 Simon Josefsson + 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 -2002-12-07 Simon Josefsson + Fix. - * ChangeLog: [no log message] +2002-12-26 Simon Josefsson -2002-12-07 Simon Josefsson + Cleanup. - * NEWS: Release 0.0.5. + Initiate name change for savannah project registration. -2002-12-07 Simon Josefsson + Fixes. - * Makefile.am, configure.ac: Add memset.c, an AC_LIBOBJ. + Fix. -2002-12-07 Simon Josefsson + Add. - * memset.c: An AC_LIBOBJ, from gnulib. + Fix. -2002-12-07 Simon Josefsson + Fix. - * profiles.c, stringprep.c, stringprep.h.in: Indent. +2002-12-19 Simon Josefsson -2002-12-07 Simon Josefsson + Add punycode. Use "unsigned long" for Unicode code points. Copying condition fixes. Fixes. - * README: Use new types. +2002-12-14 Simon Josefsson -2002-12-07 Simon Josefsson + Make sure ChangeLog is regenerated. - * profiles.c, stringprep.c, stringprep.h.in, tst_stringprep.c: - Fixes. +2002-12-13 Simon Josefsson -2002-12-07 Simon Josefsson + *** 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 + 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 + Link with libiconv. - * example.c: Fix typo. +2002-12-10 Simon Josefsson -2002-12-06 Simon Josefsson + Don't use uint32_t in one odd place. - * ChangeLog: [no log message] + *** empty log message *** -2002-12-06 Simon Josefsson + Flawfinder. - * configure.ac: Release 0.0.4. + Fix. -2002-12-06 Simon Josefsson + 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 -2002-12-06 Simon Josefsson + Fix memory leak. - * tst_stringprep.c: Don't modify constant string during debug. + Suggest dmalloc. -2002-12-05 Simon Josefsson + Use dmalloc. Fix memory leak when bidi fails. - * ChangeLog: [no log message] + Check version. -2002-12-05 Simon Josefsson + *** empty log message *** - * stringprep.c: Don't use *_fast(). + Release 0.0.7 (version 0.0.6 was abandoned). -2002-12-05 Simon Josefsson + *** empty log message *** - * Makefile.am: Don't use $< (GNU specific). + Release 0.0.6. -2002-12-03 Simon Josefsson + 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 +2002-12-07 Simon Josefsson - * 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 + 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 + *** empty log message *** - * .cvsignore: [no log message] + Release 0.0.5. -2002-11-30 Simon Josefsson + Add memset.c, an AC_LIBOBJ. - * ChangeLog, config.rpath: [no log message] + An AC_LIBOBJ, from gnulib. -2002-11-30 Simon Josefsson + Indent. - * NEWS, configure.ac: Release 0.0.3. + Use new types. -2002-11-30 Simon Josefsson + 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 + Clean up internal profiling definitions. - * README: Added copying conditions. Added more API documentation. +2002-12-06 Simon Josefsson -2002-11-30 Simon Josefsson + Fix typo. - * THANKS: Add copying conditions. + *** empty log message *** -2002-11-30 Simon Josefsson + Release 0.0.4. - * AUTHORS: Add copying conditions and public key. + Add unassigned code point handling, and self test. -2002-11-30 Simon Josefsson + 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 -2002-11-29 Simon Josefsson + *** empty log message *** - * nfkc.c, profiles.c, toutf8.c: indent + Don't use *_fast(). -2002-11-29 Simon Josefsson + Don't use $< (GNU specific). - * stringprep.c: improve debugging output +2002-12-03 Simon Josefsson -2002-11-29 Simon Josefsson + 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 +2002-11-30 Simon Josefsson - * .cvsignore: [no log message] + Add --enable-maintainer-mode. -2002-11-14 Simon Josefsson + *** empty log message *** - * configure.ac: AC_PROG_RANLIB obsoleted by libtool. + *** empty log message *** -2002-11-14 Simon Josefsson + 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 + Added copying conditions. Added more API documentation. - * example.c: improve comment + Add copying conditions. -2002-11-07 Simon Josefsson + Add copying conditions and public key. - * Makefile.am: add dependency +2002-11-30 Simon Josefsson -2002-11-07 Simon Josefsson + 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 + Add sign make target. - * NEWS, configure.ac: Release 0.0.2. +2002-11-29 Simon Josefsson -2002-11-07 Simon Josefsson + indent - * toutf8.c: Remove unused variable. + improve debugging output -2002-11-07 Simon Josefsson + pass CFLAGS directly - * stringprep.c: Fix memory leak. +2002-11-14 Simon Josefsson -2002-11-07 Simon Josefsson + *** 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 + Use autoreconf. - * stringprep.h.in, toutf8.c: Cosmetic fixes. +2002-11-07 Simon Josefsson -2002-11-06 Simon Josefsson + improve comment - * ANNOUNCE: Add. + add dependency -2002-11-06 Simon Josefsson + *** empty log message *** - * README: Explain why GLIB is not used. + Release 0.0.2. -2002-11-06 Simon Josefsson + Remove unused variable. - * ChangeLog: [no log message] + Fix memory leak. -2002-11-06 Simon Josefsson + Add NFKC self test. - * ChangeLog, Makefile.am, README: Build fixes. +2002-11-06 Simon Josefsson -2002-11-06 Simon Josefsson + 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 + Explain why GLIB is not used. - * ChangeLog: [no log message] + *** empty log message *** -2002-11-05 Simon Josefsson + 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 - 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 --- 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 diff --git a/GNUmakefile b/GNUmakefile index 58f2ead..0f469c8 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -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 . +# along with this program. If not, see . # 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 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 -- Automake -- Autoconf -- Libtool -- Gettext -- Texinfo -- Gperf -- help2man -- Gengetopt -- Tar -- Gzip -- Texlive & epsf (for PDF manual) -- CVS (for gettext autopoint) -- GTK-DOC (for API manual) -- Git -- Perl -- Valgrind (optional) -- Gcj (for java port) -- gjdoc (for java port) -- Mono mcs (for C# port) -- fig2dev - -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 --- a/INSTALL +++ b/INSTALL @@ -1,370 +1,365 @@ 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 `' 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 . + + 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 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. -`--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. diff --git a/Makefile.am b/Makefile.am index 522a76f..885645b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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,16 +14,26 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . -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 diff --git a/Makefile.in b/Makefile.in index e073836..71e30ed 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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. # @@ -30,9 +29,63 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . - +# along with this program. If not, see . 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 --- 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 +. + +** 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 +. + +** 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 Богдан +Пилипенко . + +** 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 . + +** 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 . + +** 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 . + +** idn: Solve out-of-bounds-read when reading one zero byte as input. +Also replaced fgets with getline. Reported by Hanno Böck . + +** 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 . + +** 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 . + +** idn: Flush stdout to simplify for tools that buffer too heavily. +Tiny patch from Hugh Daschbach . + +** 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 . + +** 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 . + +** 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 . @@ -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 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 . ** 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 . @@ -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 . ** 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" 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 . ** 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 . @@ -161,7 +461,7 @@ Contributed by Guus der Kinderen . ** 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 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" . ** 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 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 . @@ -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 . @@ -335,7 +635,7 @@ Contributed by Adam Strzelecki . ** 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 . @@ -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 . @@ -476,7 +776,7 @@ Reported by Petteri Räty . ** 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" . @@ -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 . @@ -542,7 +842,7 @@ Reported by Paul Howarth . ** 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 . @@ -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 . @@ -593,7 +893,7 @@ Thanks to Bernard Leak . ** 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 for more information on +See 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 --- 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 , +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 -. +. -For more information, see . - -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 . ---------------------------------------------------------------------- Copying and distribution of this file, with or without modification, diff --git a/THANKS b/THANKS index e946a45..278ea68 100644 --- 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 Guus der Kinderen Guenter Knauf Stepan Golosunov -"Andrew O. Shadoura" +Andrej Shadura Roman Mamedov Waqas Hussain Guido Trentalancia @@ -103,6 +103,15 @@ Bittner Ede René Berber Jon Nelson Bartosz Brachaczek +Sarat Chandra Addepalli +Jeffrey Frey +Thijs Alkemade +Nikos Mavrogiannopoulos +Gustavo Grieco +Adam Sampson +Hanno Böck +Trond Haugen +Bruno Haible ---------------------------------------------------------------------- Copying and distribution of this file, with or without modification, diff --git a/TODO b/TODO deleted file mode 100644 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. diff --git a/aclocal.m4 b/aclocal.m4 index a5e211d..21d541f 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -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. @@ -12,33 +11,31 @@ # 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: +# +# +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: + +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: . + +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)))' conftest.out]) + AC_RUN_LOG([$EMACS -batch -Q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' 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 /dev/null 2>&1 && break + fi + done rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /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 index 0000000..f9e2012 --- /dev/null +++ b/build-aux/announce-gen @@ -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 . +# +# 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 < = C + +Compute the sizes of the C<@file> and return them as a hash. Return +C 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 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. + +=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 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 = )) + { + 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 = )) + { + 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 .\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 < +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 <. +# +# 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 . + +# 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 or send patches to +# . + + +# 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 <. # # 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 . +# along with this program. If not, see . # 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: diff --git a/build-aux/config.guess b/build-aux/config.guess index d622a44..cdfc439 100755 --- a/build-aux/config.guess +++ b/build-aux/config.guess @@ -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 . +# along with this program; if not, see . # # 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 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 . + + +# 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 + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu + #else + #include + /* 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 /* 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 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 @@ -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 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' /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 - echo i586-unisys-sysv4 - exit ;; + GUESS=i586-unisys-sysv4 + ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # 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 < "$dummy.c" < -# include +#include +#include +#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 +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif #endif main () { @@ -1350,22 +1627,14 @@ main () #include 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 -# 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 +#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 <&2 < 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 </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: "'" diff --git a/build-aux/config.rpath b/build-aux/config.rpath index 1a07018..3893ddd 100755 --- a/build-aux/config.rpath +++ b/build-aux/config.rpath @@ -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 , 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' diff --git a/build-aux/config.sub b/build-aux/config.sub index c894da4..defe52c 100755 --- a/build-aux/config.sub +++ b/build-aux/config.sub @@ -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 . +# along with this program; if not, see . # # 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 . Submit a context -# diff and a properly formatted GNU ChangeLog entry. +# Please send patches to . # # 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 ." 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 <&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 <&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 <&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: "'" diff --git a/build-aux/csharpcomp.sh.in b/build-aux/csharpcomp.sh.in index b51ab30..0ffbb48 100644 --- a/build-aux/csharpcomp.sh.in +++ b/build-aux/csharpcomp.sh.in @@ -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 , 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 . +# along with this program. If not, see . # 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 diff --git a/build-aux/csharpexec.sh.in b/build-aux/csharpexec.sh.in index 98c2537..2ef677c 100644 --- a/build-aux/csharpexec.sh.in +++ b/build-aux/csharpexec.sh.in @@ -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 , 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 . +# along with this program. If not, see . # This uses the same choices as csharpexec.c, but instead of relying on the # environment settings at run time, it uses the environment variables @@ -29,13 +29,11 @@ # -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 diff --git a/build-aux/depcomp b/build-aux/depcomp index bd0ac08..0e48ffa 100755 --- a/build-aux/depcomp +++ b/build-aux/depcomp @@ -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 . +# along with this program. If not, see . # 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 . +GNU Automake home page: . +General help using GNU software: . 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 index 0000000..6876fe0 --- /dev/null +++ b/build-aux/do-release-commit-and-tag @@ -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 . + +# Written by Jim Meyering + +ME=$(basename "$0") +warn() { printf '%s: %s\n' "$ME" "$*" >&2; } +die() { warn "$*"; exit 1; } + +help() +{ + cat <. +EOF + exit +} + +version() +{ + year=$(echo "$VERSION" | sed 's/[^0-9].*//') + cat < +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: diff --git a/build-aux/gendocs.sh b/build-aux/gendocs.sh index c8abd55..b0433c7 100755 --- a/build-aux/gendocs.sh +++ b/build-aux/gendocs.sh @@ -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 . +# along with this program. If not, see . # # 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 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/" +# +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 + +# +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) + +# +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 + +# + +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... +# +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"` +# +# 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..." +# +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 index 0000000..aa168e1 --- /dev/null +++ b/build-aux/git-version-gen @@ -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 index 0000000..90e8173 --- /dev/null +++ b/build-aux/gitlog-to-changelog @@ -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 index 0000000..b51fc10 --- /dev/null +++ b/build-aux/gnu-web-doc-update @@ -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: diff --git a/build-aux/gnupload b/build-aux/gnupload index 40a59d3..298a676 100755 --- a/build-aux/gnupload +++ b/build-aux/gnupload @@ -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: diff --git a/build-aux/install-sh b/build-aux/install-sh index 6781b98..7c56c9c 100755 --- a/build-aux/install-sh +++ b/build-aux/install-sh @@ -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: diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh old mode 100644 new mode 100755 index c2852d8..540a92a --- a/build-aux/ltmain.sh +++ b/build-aux/ltmain.sh @@ -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. @@ -23,881 +26,2185 @@ # 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='' + tc_bold=''; tc_standout='' + tc_red=''; tc_green='' + tc_blue=''; tc_cyan='' + 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 *) <_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 - diff --git a/build-aux/mdate-sh b/build-aux/mdate-sh index 60dc485..875c81a 100755 --- a/build-aux/mdate-sh +++ b/build-aux/mdate-sh @@ -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: diff --git a/build-aux/missing b/build-aux/missing index 86a8fc3..1fe1611 100755 --- a/build-aux/missing +++ b/build-aux/missing @@ -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: diff --git a/build-aux/pmccabe.css b/build-aux/pmccabe.css index a10ee35..f577e9e 100644 --- a/build-aux/pmccabe.css +++ b/build-aux/pmccabe.css @@ -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; } diff --git a/build-aux/pmccabe2html b/build-aux/pmccabe2html index 7cf8df7..e167d47 100644 --- a/build-aux/pmccabe2html +++ b/build-aux/pmccabe2html @@ -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>. @@ -21,15 +21,15 @@ # 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 @@ -47,6 +47,10 @@ # 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(/\\</, "<", codeline) - sub(/\\>/, ">", codeline) - sub(/&/, "&", codeline) + gsub(/&/, "\\&", codeline) # Must come first. + gsub(/</, "\\<", codeline) + gsub(/>/, "\\>", 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 index c44ad89..0000000 --- a/build-aux/snippet/_Noreturn.h +++ /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 index 1c8d61f..0000000 --- a/build-aux/snippet/unused-parameter.h +++ /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 index d4cb94f..0000000 --- a/build-aux/snippet/warn-on-use.h +++ /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 index 0000000..be73b80 --- /dev/null +++ b/build-aux/test-driver @@ -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='' # Red. + grn='' # Green. + lgn='' # Light green. + blu='' # Blue. + mgn='' # Magenta. + std='' # 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: diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex index 2abda0f..e8c382f 100644 --- a/build-aux/texinfo.tex +++ b/build-aux/texinfo.tex @@ -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 @@ -20,21 +18,22 @@ % General Public License for more details. % % 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. % @@ -54,16 +53,14 @@ % 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 @@ -154,22 +153,13 @@ \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 = `\_ @@ -192,17 +182,6 @@ 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 @@ -233,7 +212,7 @@ % @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}} @@ -247,18 +226,14 @@ \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi\fi} -% Do @cropmarks to get crop marks. +% 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. @@ -269,99 +244,115 @@ % % 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 @@ -372,31 +363,17 @@ \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) @@ -407,20 +384,29 @@ \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{% @@ -439,51 +425,30 @@ }% } -% 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% } @@ -537,7 +502,7 @@ % ... 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{% @@ -562,9 +527,8 @@ \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 @@ -594,11 +558,14 @@ \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} @@ -608,21 +575,6 @@ % @? 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. @@ -673,21 +625,26 @@ \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\ }} +\def\amprm#1 {\ampseentrue{\rm\ }} \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 diff --git a/build-aux/update-copyright b/build-aux/update-copyright index 082b749..efda754 100755 --- a/build-aux/update-copyright +++ b/build-aux/update-copyright @@ -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. © +# 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{}|©)'; +my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|©|©)'; +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: diff --git a/build-aux/useless-if-before-free b/build-aux/useless-if-before-free index 2b64630..ac9c890 100755 --- a/build-aux/useless-if-before-free +++ b/build-aux/useless-if-before-free @@ -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: diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files index d477da8..7036576 100755 --- a/build-aux/vc-list-files +++ b/build-aux/vc-list-files @@ -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 --- 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. # @@ -13,179 +13,77 @@ # GNU General Public License for more details. # # 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'" diff --git a/config.h.in b/config.h.in index a93e433..8a29015 100644 --- a/config.h.in +++ b/config.h.in @@ -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 @@ -15,66 +19,125 @@ /* 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 @@ -85,11 +148,11 @@ /* 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. */ @@ -103,25 +166,72 @@ 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. */ @@ -131,36 +241,67 @@ 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 @@ -181,553 +322,30 @@ /* 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 @@ -738,13 +356,22 @@ /* 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. */ @@ -753,6 +380,27 @@ /* 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 @@ -762,6 +410,9 @@ /* 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 @@ -780,20 +431,17 @@ /* 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. */ @@ -817,15 +465,122 @@ /* 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 @@ -833,19 +588,20 @@ 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 @@ -880,24 +636,14 @@ /* 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 @@ -916,50 +662,121 @@ /* 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 @@ -971,34 +788,53 @@ /* 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 @@ -1006,45 +842,561 @@ #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)) @@ -1058,32 +1410,49 @@ /* 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 @@ -1094,32 +1463,55 @@ /* 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 diff --git a/configure b/configure index ab4c7a6..6d3dcf2 100755 --- 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 @@ -2389,184 +2982,20 @@ fi } # 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 @@ -4859,133 +6308,387 @@ 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 -{ $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 @@ -5232,51 +6969,226 @@ 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; } + { 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 @@ -5365,1055 +7286,822 @@ fi 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 @@ -6421,262 +8109,222 @@ 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} @@ -8360,57 +10029,11 @@ fi -{ $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 @@ -8418,814 +10041,664 @@ 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 @@ -9540,11 +10811,11 @@ fi 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 @@ -9580,11 +10856,11 @@ fi 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 @@ -9605,11 +10881,12 @@ fi 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 @@ -9632,11 +10913,11 @@ fi 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 @@ -9672,11 +10958,11 @@ fi 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 @@ -9697,11 +10983,12 @@ fi 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 @@ -9724,11 +11015,11 @@ fi 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 @@ -9764,11 +11060,11 @@ fi 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 @@ -9812,13 +11108,14 @@ fi - { $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 @@ -10039,30 +11701,29 @@ 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 @@ -10099,11 +11761,65 @@ 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 @@ -10300,29 +12009,30 @@ 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/nec; then 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" ;; @@ -10883,13 +12633,14 @@ fi # 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= @@ -10926,11 +12677,12 @@ 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+:} 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 @@ -11590,34 +13415,36 @@ 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 @@ -11643,21 +13470,33 @@ 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) @@ -11696,16 +13535,17 @@ 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 $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 @@ -11714,18 +13554,18 @@ fi # 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. @@ -11753,24 +13593,24 @@ fi 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 @@ -11812,33 +13652,33 @@ fi ;; 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 @@ -11846,37 +13686,38 @@ fi ;; 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. @@ -11933,48 +13774,61 @@ fi ;; 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 @@ -12988,7 +14928,12 @@ fi # 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/nec; then 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 @@ -13310,20 +15274,26 @@ fi - { $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 @@ -13428,16 +15398,26 @@ fi ;; + 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 @@ -13612,29 +15592,30 @@ 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 @@ -13875,30 +15857,30 @@ fi 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 @@ -13914,21 +15896,21 @@ 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 @@ -14620,45 +16747,51 @@ fi 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 @@ -14685,14 +16818,14 @@ fi | 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= @@ -14803,6 +16937,13 @@ fi 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 @@ -14848,12 +16989,14 @@ fi 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;; @@ -14872,14 +17015,14 @@ fi 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= @@ -14893,14 +17036,14 @@ fi 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 @@ -14932,7 +17075,14 @@ 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$,,'` @@ -14986,6 +17136,14 @@ fi + 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 @@ -14993,292 +17151,148 @@ 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 + @@ -17480,723 +22977,1047 @@ done 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 @@ -18204,455 +24025,465 @@ fi 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 @@ -18661,345 +24492,332 @@ 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 @@ -19012,1179 +24830,530 @@ fi 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 @@ -20196,705 +25365,426 @@ fi 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*) @@ -21914,74 +27048,33 @@ fi + 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 @@ -22268,108 +27326,112 @@ fi - 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 @@ -22476,49 +27589,63 @@ fi 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 @@ -23895,177 +29193,102 @@ 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 $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 @@ -25107,593 +29572,384 @@ 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= @@ -25717,1096 +29974,514 @@ fi + 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 + + @@ -28436,66 +31490,90 @@ 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' @@ -29076,1404 +31801,666 @@ fi - 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 @@ -30481,1508 +32468,1192 @@ 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 @@ -32005,39 +33680,44 @@ fi 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 @@ -32048,23 +33728,22 @@ fi 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 @@ -32174,9 +33825,10 @@ fi # 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*) @@ -32252,420 +33899,722 @@ fi ;; 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." @@ -33495,15 +35429,15 @@ do -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. @@ -33959,19 +35825,24 @@ do "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 @@ -34332,17 +36203,17 @@ do # 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;} + diff --git a/configure.ac b/configure.ac index 4725137..4e87c0c 100644 --- a/configure.ac +++ b/configure.ac @@ -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} ]) diff --git a/contrib/README b/contrib/README index f03b7e0..1b23b14 100644 --- a/contrib/README +++ b/contrib/README @@ -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, diff --git a/contrib/doxygen/Doxyfile.in b/contrib/doxygen/Doxyfile.in index e8c6fe2..74a111b 100644 --- a/contrib/doxygen/Doxyfile.in +++ b/contrib/doxygen/Doxyfile.in @@ -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 diff --git a/contrib/doxygen/Doxyfile.orig b/contrib/doxygen/Doxyfile.orig index 1eeea5e..3864b12 100644 --- a/contrib/doxygen/Doxyfile.orig +++ b/contrib/doxygen/Doxyfile.orig @@ -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 diff --git a/contrib/doxygen/gdoc2doxygen b/contrib/doxygen/gdoc2doxygen index da6e3f9..40c2e21 100755 --- a/contrib/doxygen/gdoc2doxygen +++ b/contrib/doxygen/gdoc2doxygen @@ -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. diff --git a/contrib/idn-python/idn.c b/contrib/idn-python/idn.c index 0e0905e..5300932 100644 --- a/contrib/idn-python/idn.c +++ b/contrib/idn-python/idn.c @@ -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; diff --git a/contrib/idn-python/test.py b/contrib/idn-python/test.py index 086df8b..3056ee0 100644 --- a/contrib/idn-python/test.py +++ b/contrib/idn-python/test.py @@ -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) diff --git a/contrib/java/IDNA.c b/contrib/java/IDNA.c index 71a3912..831d234 100644 --- a/contrib/java/IDNA.c +++ b/contrib/java/IDNA.c @@ -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); } diff --git a/contrib/java/Makefile.am b/contrib/java/Makefile.am index 6115dd4..99f4c43 100644 --- a/contrib/java/Makefile.am +++ b/contrib/java/Makefile.am @@ -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 diff --git a/contrib/java/README b/contrib/java/README index 2bb8e16..1f17f67 100644 --- a/contrib/java/README +++ b/contrib/java/README @@ -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 diff --git a/contrib/web/idn.php b/contrib/web/idn.php index a77d8ea..483f58f 100644 --- a/contrib/web/idn.php +++ b/contrib/web/idn.php @@ -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>. diff --git a/csharp/AssemblyInfo.cs b/csharp/AssemblyInfo.cs index 5e14dd9..af8cb4a 100644 --- a/csharp/AssemblyInfo.cs +++ b/csharp/AssemblyInfo.cs @@ -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; diff --git a/csharp/IDNA.cs b/csharp/IDNA.cs index 47e999a..27dc268 100644 --- a/csharp/IDNA.cs +++ b/csharp/IDNA.cs @@ -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; diff --git a/csharp/IDNAException.cs b/csharp/IDNAException.cs index 2a1a6a5..b6946f9 100644 --- a/csharp/IDNAException.cs +++ b/csharp/IDNAException.cs @@ -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; diff --git a/csharp/Makefile.am b/csharp/Makefile.am index e1d2f74..2badd64 100644 --- a/csharp/Makefile.am +++ b/csharp/Makefile.am @@ -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) diff --git a/csharp/Makefile.in b/csharp/Makefile.in index 6b223ed..3d1f028 100644 --- a/csharp/Makefile.in +++ b/csharp/Makefile.in @@ -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. # @@ -30,8 +29,63 @@ # GNU General Public License for more details. # # 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) diff --git a/csharp/NFKC.cs b/csharp/NFKC.cs index 5ad4fb0..47e24b8 100644 --- a/csharp/NFKC.cs +++ b/csharp/NFKC.cs @@ -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; diff --git a/csharp/Punycode.cs b/csharp/Punycode.cs index 3595088..f790b53 100644 --- a/csharp/Punycode.cs +++ b/csharp/Punycode.cs @@ -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; diff --git a/csharp/PunycodeException.cs b/csharp/PunycodeException.cs index 371fc13..8615295 100644 --- a/csharp/PunycodeException.cs +++ b/csharp/PunycodeException.cs @@ -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; diff --git a/csharp/Stringprep.cs b/csharp/Stringprep.cs index b87647b..beb8137 100644 --- a/csharp/Stringprep.cs +++ b/csharp/Stringprep.cs @@ -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; diff --git a/csharp/StringprepException.cs b/csharp/StringprepException.cs index a1b0e31..1588c33 100644 --- a/csharp/StringprepException.cs +++ b/csharp/StringprepException.cs @@ -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; diff --git a/csharp/generate/AssemblyInfo.cs b/csharp/generate/AssemblyInfo.cs index 956476d..5038215 100644 --- a/csharp/generate/AssemblyInfo.cs +++ b/csharp/generate/AssemblyInfo.cs @@ -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; diff --git a/csharp/generate/GenerateNFKC.cs b/csharp/generate/GenerateNFKC.cs index e7d321f..a12a38c 100644 --- a/csharp/generate/GenerateNFKC.cs +++ b/csharp/generate/GenerateNFKC.cs @@ -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; diff --git a/csharp/generate/GenerateRFC3454.cs b/csharp/generate/GenerateRFC3454.cs index dffab70..0362705 100644 --- a/csharp/generate/GenerateRFC3454.cs +++ b/csharp/generate/GenerateRFC3454.cs @@ -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; diff --git a/csharp/generate/HashSet.cs b/csharp/generate/HashSet.cs index 28e1e04..e94c677 100644 --- a/csharp/generate/HashSet.cs +++ b/csharp/generate/HashSet.cs @@ -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; diff --git a/csharp/generate/Program.cs b/csharp/generate/Program.cs index ee369f4..643aa72 100644 --- a/csharp/generate/Program.cs +++ b/csharp/generate/Program.cs @@ -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; diff --git a/csharp/generate/Tokenizer.cs b/csharp/generate/Tokenizer.cs index 1ed2ae2..8683184 100644 --- a/csharp/generate/Tokenizer.cs +++ b/csharp/generate/Tokenizer.cs @@ -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; diff --git a/doc/Makefile.am b/doc/Makefile.am index 100eaf0..d63cafa 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -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,18 +14,18 @@ # GNU General Public License for more details. # # 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 index eb305bd..0000000 --- a/doc/Makefile.gdoc +++ /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 index 0198095..0000000 --- a/doc/Makefile.gdoci +++ /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 diff --git a/doc/Makefile.in b/doc/Makefile.in index e79dce9..1c07e8e 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -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. # @@ -30,29 +29,64 @@ # GNU General Public License for more details. # # 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. diff --git a/doc/cyclo/Makefile.am b/doc/cyclo/Makefile.am index 21dc67f..d583604 100644 --- a/doc/cyclo/Makefile.am +++ b/doc/cyclo/Makefile.am @@ -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. # @@ -14,20 +14,18 @@ # GNU General Public License for more details. # # 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 $@ diff --git a/doc/cyclo/Makefile.in b/doc/cyclo/Makefile.in index f434efe..35487cc 100644 --- a/doc/cyclo/Makefile.in +++ b/doc/cyclo/Makefile.in @@ -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. # @@ -30,8 +29,63 @@ # GNU General Public License for more details. # # 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 index f291b61..0000000 --- a/doc/cyclo/cyclo-libidn.html +++ /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 - - - - - - - - - - - -Back to GNU Libidn 1.25 Homepage

-
GNU Libidn 1.25 Cyclomatic Complexity Report
-

Report generated at: Wed May 23 10:39:45 CEST 2012

-
Summary
- - - - - - - - - - - - - - - - - - - - - -
-Total number of functions - -72 -
-Number of low risk functions - -61 -
-Number of moderate risk functions - -6 -
-Number of high risk functions - -5 -
-Number of untestable functions - -0 -
-
-
Details for all functions
- - - - - - - - - - - - - - - - - - - - - - - - - - -
-  - -Cyclomatic Complexity - -Risk Evaluation -
-  - -0 - 10 - -Simple module, without much risk -
-  - -11 - 20 - -More complex module, moderate risk -
-  - -21 - 50 - -Complex module, high risk -
-  - -greater than 50 - -Untestable module, very high risk -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -Function Name - -Modified Cyclo - -Number of -
-Statements -
-Number of -
-Lines -
-Source File -
- - -idna_to_ascii_4i - -37 - -92 - -191 - -idna.c -
- -
- - -stringprep_4i - -30 - -76 - -137 - -stringprep.c -
- -
- - -_g_utf8_normalize_wc - -30 - -77 - -135 - -nfkc.c -
- -
- - -punycode_encode - -22 - -57 - -111 - -punycode.c -
- -
- - -punycode_decode - -21 - -59 - -101 - -punycode.c -
- -
- - -idna_to_ascii_4z - -15 - -48 - -87 - -idna.c -
- -
- - -tld_get_4 - -13 - -24 - -36 - -tld.c -
- -
- - -idna_to_unicode_internal - -12 - -47 - -118 - -idna.c -
- -
- - -combine - -12 - -21 - -54 - -nfkc.c -
- -
- - -g_utf8_to_ucs4_fast - -11 - -38 - -75 - -nfkc.c -
- -
- - -_tld_checkchar - -11 - -15 - -28 - -tld.c -
- -
-  - -find_decomposition - -10 - -21 - -41 - -nfkc.c -
-  - -combine_hangul - -10 - -11 - -23 - -nfkc.c -
-  - -g_ucs4_to_utf8 - -9 - -26 - -42 - -nfkc.c -
-  - -stringprep_profile - -9 - -24 - -38 - -stringprep.c -
-  - -g_utf8_strlen - -9 - -16 - -37 - -nfkc.c -
-  - -g_unichar_to_utf8 - -8 - -28 - -51 - -nfkc.c -
-  - -idna_to_unicode_4z4z - -7 - -37 - -61 - -idna.c -
-  - -g_unicode_canonical_ordering - -7 - -24 - -36 - -nfkc.c -
-  - -pr29_4 - -7 - -15 - -27 - -pr29.c -
-  - -stringprep_find_character_in_table - -6 - -8 - -21 - -stringprep.c -
-  - -stringprep - -6 - -30 - -53 - -stringprep.c -
-  - -tld_get_table - -5 - -9 - -14 - -tld.c -
-  - -stringprep_locale_charset - -5 - -7 - -17 - -toutf8.c -
-  - -stringprep_apply_table_to_string - -5 - -13 - -27 - -stringprep.c -
-  - -tld_check_4t - -5 - -13 - -24 - -tld.c -
-  - -tld_default_table - -4 - -8 - -16 - -tld.c -
-  - -decode_digit - -4 - -4 - -6 - -punycode.c -
-  - -tld_check_4 - -4 - -13 - -28 - -tld.c -
-  - -idna_to_unicode_44i - -4 - -12 - -24 - -idna.c -
-  - -decompose_hangul - -4 - -10 - -21 - -nfkc.c -
-  - -stringprep_find_string_in_table - -4 - -10 - -19 - -stringprep.c -
-  - -first_column - -4 - -10 - -12 - -pr29.c -
-  - -adapt - -3 - -9 - -16 - -punycode.c -
-  - -stringprep_4zi_1 - -3 - -8 - -18 - -stringprep.c -
-  - -combinationclass - -3 - -7 - -11 - -pr29.c -
-  - -in_last_column_row - -3 - -7 - -11 - -pr29.c -
-  - -tld_check_4z - -3 - -6 - -14 - -tld.c -
-  - -stringprep_4zi - -3 - -6 - -12 - -stringprep.c -
-  - -tld_check_4tz - -3 - -6 - -13 - -tld.c -
-  - -tld_get_4z - -3 - -6 - -13 - -tld.c -
-  - -stringprep_check_version - -3 - -3 - -8 - -version.c -
-  - -tld_get_z - -3 - -14 - -22 - -tld.c -
-  - -tld_check_8z - -3 - -11 - -21 - -tld.c -
-  - -tld_check_lz - -3 - -10 - -20 - -tld.c -
-  - -tld_strerror - -2 - -17 - -40 - -strerror-tld.c -
-  - -punycode_strerror - -2 - -13 - -32 - -strerror-punycode.c -
-  - -pr29_strerror - -2 - -11 - -28 - -strerror-pr29.c -
-  - -idna_to_unicode_8z4z - -2 - -9 - -16 - -idna.c -
-  - -idna_to_ascii_8z - -2 - -9 - -18 - -idna.c -
-  - -idna_to_unicode_lzlz - -2 - -8 - -15 - -idna.c -
-  - -idna_to_unicode_8zlz - -2 - -8 - -15 - -idna.c -
-  - -idna_to_unicode_8z8z - -2 - -8 - -15 - -idna.c -
-  - -idna_to_ascii_lz - -2 - -8 - -16 - -idna.c -
-  - -g_utf8_get_char - -2 - -8 - -14 - -nfkc.c -
-  - -pr29_8z - -2 - -8 - -16 - -pr29.c -
-  - -stringprep_convert - -2 - -7 - -16 - -toutf8.c -
-  - -pr29_4z - -2 - -6 - -10 - -pr29.c -
-  - -encode_basic - -2 - -2 - -6 - -punycode.c -
-  - -stringprep_strerror - -2 - -29 - -64 - -strerror-stringprep.c -
-  - -idna_strerror - -2 - -29 - -64 - -strerror-idna.c -
-  - -stringprep_ucs4_nfkc_normalize - -1 - -6 - -12 - -nfkc.c -
-  - -g_utf8_normalize - -1 - -5 - -11 - -nfkc.c -
-  - -stringprep_unichar_to_utf8 - -1 - -1 - -5 - -nfkc.c -
-  - -stringprep_utf8_to_unichar - -1 - -1 - -5 - -nfkc.c -
-  - -idn_free - -1 - -1 - -5 - -idn-free.c -
-  - -stringprep_utf8_to_locale - -1 - -1 - -5 - -toutf8.c -
-  - -stringprep_locale_to_utf8 - -1 - -1 - -5 - -toutf8.c -
-  - -stringprep_utf8_nfkc_normalize - -1 - -1 - -5 - -nfkc.c -
-  - -encode_digit - -1 - -1 - -7 - -punycode.c -
-  - -stringprep_ucs4_to_utf8 - -1 - -1 - -7 - -nfkc.c -
-  - -stringprep_utf8_to_ucs4 - -1 - -1 - -5 - -nfkc.c -
-
Copyright (c) 2007, 2008 Free Software Foundation, Inc. - - diff --git a/doc/example.txt b/doc/example.txt new file mode 100644 index 0000000..88c19b4 --- /dev/null +++ b/doc/example.txt @@ -0,0 +1,67 @@ +#include +#include +#include +#include /* setlocale() */ +#include + +/* + * 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 index 0000000..a8c89f5 --- /dev/null +++ b/doc/example2.txt @@ -0,0 +1,213 @@ +#include /* 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 +#include +#include +#include + +#include + +/* 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 index 0000000..933ac97 --- /dev/null +++ b/doc/example3.txt @@ -0,0 +1,57 @@ +#include +#include +#include +#include /* setlocale() */ +#include /* stringprep_locale_charset() */ +#include /* 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 index 0000000..a85dba5 --- /dev/null +++ b/doc/example4.txt @@ -0,0 +1,57 @@ +#include +#include +#include +#include /* setlocale() */ +#include /* stringprep_locale_charset() */ +#include /* 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 index 0000000..7d0cbd6 --- /dev/null +++ b/doc/example5.txt @@ -0,0 +1,103 @@ +#include +#include +#include + +/* Get stringprep_locale_charset, etc. */ +#include + +/* Get idna_to_ascii_8z, etc. */ +#include + +/* Get tld_check_4z. */ +#include + +/* + * 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; +} diff --git a/doc/fdl-1.3.texi b/doc/fdl-1.3.texi index cb71f05..eaf3da0 100644 --- a/doc/fdl-1.3.texi +++ b/doc/fdl-1.3.texi @@ -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 diff --git a/doc/gdoc b/doc/gdoc index 5012c3c..b262754 100755 --- 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 . +# along with this program. If not, see . # 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, "\$1", - $type_func, "\$1", - $type_struct, "\$1", - $type_param, "\$1" ); +@highlights_html = ( [$type_constant, '"$1"'], + [$type_func, '"$1"'], + [$type_struct, '"$1"'], + [$type_param, '" $1 "'] ); $blankline_html = "

"; -%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, "\$1", - $type_func, "\$1", - $type_struct, "\$1", - $type_env, "\$1", - $type_param, "\$1" ); +@highlights_sgml = ( [$type_constant, '"$1"'], + [$type_func, '"$1"'], + [$type_struct, '"$1"'], + [$type_env, '"$1"'], + [$type_param, '" $1 "'] ); $blankline_sgml = "\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 () { + $state = 0; + $section = ""; + $enum = 0; + $lineno = 0; + while ($line = ) { $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 index 0000000..4bf6ff5 --- /dev/null +++ b/doc/idn-help.texi @@ -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 diff --git a/doc/idn.1 b/doc/idn.1 index 73da07f..623a9fc 100644 --- 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: +GNU Libidn home page: .br -General help using GNU software: +General help using GNU software: .SH COPYRIGHT -Copyright \(co 2012 Simon Josefsson. -License GPLv3+: GNU GPL version 3 or later . +Copyright \(co 2024 Simon Josefsson. +License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. diff --git a/doc/java/Makefile.am b/doc/java/Makefile.am index d4b5b2c..6e9e46f 100644 --- a/doc/java/Makefile.am +++ b/doc/java/Makefile.am @@ -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,32 +14,15 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . 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 diff --git a/doc/java/Makefile.in b/doc/java/Makefile.in index ed47647..53d83ac 100644 --- a/doc/java/Makefile.in +++ b/doc/java/Makefile.in @@ -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. # @@ -30,8 +29,63 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . 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 index 56ba01e..0000000 --- a/doc/java/about.html +++ /dev/null @@ -1,2 +0,0 @@ - -About

About

Generated by Gjdoc HtmlDoclet 0.98, part of GNU Classpath Tools, on May 23, 2012 8:37:35 a.m. GMT.

\ No newline at end of file diff --git a/doc/java/alphaindex.html b/doc/java/alphaindex.html deleted file mode 100644 index a6f64c8..0000000 --- a/doc/java/alphaindex.html +++ /dev/null @@ -1,13 +0,0 @@ - -Alphabetical Index

Alphabetical Index

A B C D E I K M N O P R S T

A

ACE_PREFIX - static field in class gnu.inet.encoding.IDNA
adapt(int,int,boolean) - static method in class gnu.inet.encoding.Punycode

B

BAD_INPUT - static field in class gnu.inet.encoding.PunycodeException
BIDI_BOTHRAL - static field in class gnu.inet.encoding.StringprepException
BIDI_LTRAL - static field in class gnu.inet.encoding.StringprepException

C

c - static field in class gnu.inet.encoding.CombiningClass
codepoint2digit(int) - static method in class gnu.inet.encoding.Punycode
CombiningClass - class gnu.inet.encoding.CombiningClass
Auto-generated class containing Unicode NFKC tables.
composeData - static field in class gnu.inet.encoding.Composition
composePage - static field in class gnu.inet.encoding.Composition
Composition - class gnu.inet.encoding.Composition
Auto-generated class containing Unicode NFKC tables.
CONTAINS_ACE_PREFIX - static field in class gnu.inet.encoding.IDNAException
CONTAINS_HYPHEN - static field in class gnu.inet.encoding.IDNAException
CONTAINS_NON_LDH - static field in class gnu.inet.encoding.IDNAException
CONTAINS_PROHIBITED - static field in class gnu.inet.encoding.StringprepException
CONTAINS_UNASSIGNED - static field in class gnu.inet.encoding.StringprepException

D

decode(String) - static method in class gnu.inet.encoding.Punycode
Decode a punycoded string.
DecompositionKeys - class gnu.inet.encoding.DecompositionKeys
Auto-generated class containing Unicode NFKC tables.
Auto-generated class containing Unicode NFKC tables.
digit2codepoint(int) - static method in class gnu.inet.encoding.Punycode

E

encode(String) - static method in class gnu.inet.encoding.Punycode
Punycodes a unicode string.

I

i - static field in class gnu.inet.encoding.CombiningClass
IDNA - class gnu.inet.encoding.IDNA
This class offers static methods for converting internationalized - domain names to ACE and back.
IDNAException - class gnu.inet.encoding.IDNAException
Exception handling for IDNA class.
IDNAException(gnu.inet.encoding.PunycodeException) - constructor for class gnu.inet.encoding.IDNAException
IDNAException(String) - constructor for class gnu.inet.encoding.IDNAException
isBasic(char) - static method in class gnu.inet.encoding.Punycode

K

k - static field in class gnu.inet.encoding.DecompositionKeys

M

m - static field in class gnu.inet.encoding.DecompositionMappings
multiFirst - static field in class gnu.inet.encoding.Composition
multiSecondStart - static field in class gnu.inet.encoding.Composition

N

nameprep(String) - static method in class gnu.inet.encoding.Stringprep
Preps a name according to the Stringprep profile defined in - RFC3491.
nameprep(String,boolean) - static method in class gnu.inet.encoding.Stringprep
Preps a name according to the Stringprep profile defined in - RFC3491.
NFKC - class gnu.inet.encoding.NFKC
This class offers static methods for Unicode NFKC string normalization.
nodeprep(String) - static method in class gnu.inet.encoding.Stringprep
Preps a node name according to the Stringprep profile defined in - RFC3920.
nodeprep(String,boolean) - static method in class gnu.inet.encoding.Stringprep
Preps a node name according to the Stringprep profile defined in - RFC3920.
normalizeNFKC(String) - static method in class gnu.inet.encoding.NFKC
Applies NFKC normalization to a string.

O

OVERFLOW - static field in class gnu.inet.encoding.PunycodeException

P

Punycode - class gnu.inet.encoding.Punycode
This class offers static methods for encoding/decoding strings - using the Punycode algorithm.
PunycodeException - class gnu.inet.encoding.PunycodeException
Exception handling for Punycode class.
PunycodeException(String) - constructor for class gnu.inet.encoding.PunycodeException
Creates a new PunycodeException.

R

resourceprep(String) - static method in class gnu.inet.encoding.Stringprep
Preps a resource name according to the Stringprep profile defined - in RFC3920.
resourceprep(String,boolean) - static method in class gnu.inet.encoding.Stringprep
Preps a resource name according to the Stringprep profile defined - in RFC3920.
RFC3454 - class gnu.inet.encoding.RFC3454
Auto-generated class containing StringPrep mapping tables.

S

singleFirst - static field in class gnu.inet.encoding.Composition
singleFirstStart - static field in class gnu.inet.encoding.Composition
singleSecond - static field in class gnu.inet.encoding.Composition
singleSecondStart - static field in class gnu.inet.encoding.Composition
Stringprep - class gnu.inet.encoding.Stringprep
This class offers static methods for preparing internationalized - strings.
StringprepException - class gnu.inet.encoding.StringprepException
Exception handling for StringPrep class.
StringprepException(String) - constructor for class gnu.inet.encoding.StringprepException

T

toASCII(String) - static method in class gnu.inet.encoding.IDNA
Converts a Unicode string to ASCII using the procedure in RFC3490 - section 4.1.
toASCII(String,boolean,boolean) - static method in class gnu.inet.encoding.IDNA
Converts a Unicode string to ASCII using the procedure in RFC3490 - section 4.1.
TOO_LONG - static field in class gnu.inet.encoding.IDNAException
toUnicode(String) - static method in class gnu.inet.encoding.IDNA
Converts an ASCII-encoded string to Unicode.
toUnicode(String,boolean,boolean) - static method in class gnu.inet.encoding.IDNA
Converts an ASCII-encoded string to Unicode.
\ No newline at end of file diff --git a/doc/java/deprecated.html b/doc/java/deprecated.html deleted file mode 100644 index e4b0025..0000000 --- a/doc/java/deprecated.html +++ /dev/null @@ -1,2 +0,0 @@ - -Deprecated API

Deprecated API

No deprecated classes or class members in this API.

\ 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 index 5aabc84..0000000 --- a/doc/java/gnu/inet/encoding/CombiningClass.html +++ /dev/null @@ -1,3 +0,0 @@ - -CombiningClass

gnu.inet.encoding

Class CombiningClass

  • java.lang.Object
    • gnu.inet.encoding.CombiningClass

public class CombiningClass
extends java.lang.Object

Auto-generated class containing Unicode NFKC tables. -

Field Summary

static int[][]
c
static int[]
i

Field Details

\ 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 index 35b795c..0000000 --- a/doc/java/gnu/inet/encoding/Composition.html +++ /dev/null @@ -1,3 +0,0 @@ - -Composition

gnu.inet.encoding

Class Composition

  • java.lang.Object
    • gnu.inet.encoding.Composition

public class Composition
extends java.lang.Object

Auto-generated class containing Unicode NFKC tables. -

Field Summary

static int[][]
composeData
static int[]
composePage
static char[][]
multiFirst
static int
multiSecondStart
static char[][]
singleFirst
static int
singleFirstStart
static char[][]
singleSecond
static int
singleSecondStart

Field Details

\ 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 index 83d7784..0000000 --- a/doc/java/gnu/inet/encoding/DecompositionKeys.html +++ /dev/null @@ -1,3 +0,0 @@ - -DecompositionKeys

gnu.inet.encoding

Class DecompositionKeys

  • java.lang.Object
    • gnu.inet.encoding.DecompositionKeys

public class DecompositionKeys
extends java.lang.Object

Auto-generated class containing Unicode NFKC tables. -

Field Summary

static int[]
k

Field Details

\ 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 index df872ca..0000000 --- a/doc/java/gnu/inet/encoding/DecompositionMappings.html +++ /dev/null @@ -1,3 +0,0 @@ - -DecompositionMappings

gnu.inet.encoding

Class DecompositionMappings

  • java.lang.Object
    • gnu.inet.encoding.DecompositionMappings

public class DecompositionMappings
extends java.lang.Object

Auto-generated class containing Unicode NFKC tables. -

Field Summary

static String[]
m

Field Details

\ 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 index 5c1636f..0000000 --- a/doc/java/gnu/inet/encoding/IDNA.html +++ /dev/null @@ -1,27 +0,0 @@ - -IDNA

gnu.inet.encoding

Class IDNA

  • java.lang.Object
    • gnu.inet.encoding.IDNA

public class IDNA
extends java.lang.Object

This class offers static methods for converting internationalized - domain names to ACE and back. -
  • RFC3490 IDNA -
- Note that this implementation only supports 16-bit Unicode code - points. -

Field Summary

static String
ACE_PREFIX

Method Summary

static String
toASCII(String input)
Converts a Unicode string to ASCII using the procedure in RFC3490 - section 4.1.
static String
toASCII(String input, boolean allowUnassigned, boolean useSTD3ASCIIRules)
Converts a Unicode string to ASCII using the procedure in RFC3490 - section 4.1.
static String
toUnicode(String input)
Converts an ASCII-encoded string to Unicode.
static String
toUnicode(String input, boolean allowUnassigned, boolean useSTD3ASCIIRules)
Converts an ASCII-encoded string to Unicode.

Field Details

Method Details

toASCII

public static String toASCII(String input)
-            throws IDNAException
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. -
Parameters:
input - Unicode string.
Returns:
Encoded string.

toASCII

public static String toASCII(String input,
-                             boolean allowUnassigned,
-                             boolean useSTD3ASCIIRules)
-            throws IDNAException
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. -
Parameters:
input - Unicode string.
allowUnassigned - Unassigned characters, allowed or not?
useSTD3ASCIIRules - STD3 ASCII rules, enforced or not?
Returns:
Encoded string.

toUnicode

public static String toUnicode(String input)
Converts an ASCII-encoded string to Unicode. Unassigned - characters are not allowed and STD3 hostnames are enforced. Input - may be domain name containing dots. -
Parameters:
input - ASCII input string.
Returns:
Unicode string.

toUnicode

public static String toUnicode(String input,
-                               boolean allowUnassigned,
-                               boolean useSTD3ASCIIRules)
Converts an ASCII-encoded string to Unicode. -
Parameters:
input - ASCII input string.
allowUnassigned - Allow unassigned Unicode characters.
useSTD3ASCIIRules - Check that the output conforms to STD3.
Returns:
Unicode string.
\ 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 index c64fd3e..0000000 --- a/doc/java/gnu/inet/encoding/IDNAException.html +++ /dev/null @@ -1,3 +0,0 @@ - -IDNAException

gnu.inet.encoding

Class IDNAException

  • Exception
    • gnu.inet.encoding.IDNAException

public class IDNAException
extends Exception

Exception handling for IDNA class. -

Field Summary

static String
CONTAINS_ACE_PREFIX
static String
CONTAINS_HYPHEN
static String
CONTAINS_NON_LDH
static String
TOO_LONG

Constructor Summary

IDNAException(String m)
IDNAException(PunycodeException e)
IDNAException(StringprepException e)

Field Details

Constructor Details

\ 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 index 4968cd8..0000000 --- a/doc/java/gnu/inet/encoding/NFKC.html +++ /dev/null @@ -1,4 +0,0 @@ - -NFKC

gnu.inet.encoding

Class NFKC

  • java.lang.Object
    • gnu.inet.encoding.NFKC

public class NFKC
extends java.lang.Object

This class offers static methods for Unicode NFKC string normalization. -

Method Summary

static String
normalizeNFKC(String in)
Applies NFKC normalization to a string.

Method Details

\ 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 index 5251332..0000000 --- a/doc/java/gnu/inet/encoding/Punycode.html +++ /dev/null @@ -1,16 +0,0 @@ - -Punycode

gnu.inet.encoding

Class Punycode

  • java.lang.Object
    • gnu.inet.encoding.Punycode

public class Punycode
extends java.lang.Object

This class offers static methods for encoding/decoding strings - using the Punycode algorithm. -
  • RFC3492 Punycode -
- Note that this implementation only supports 16-bit Unicode code - points. -

Method Summary

static int
adapt(int delta, int numpoints, boolean first)
static int
codepoint2digit(int c)
static String
decode(String input)
Decode a punycoded string.
static int
digit2codepoint(int d)
static String
encode(String input)
Punycodes a unicode string.
static boolean
isBasic(char c)

Method Details

\ 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 index e39c457..0000000 --- a/doc/java/gnu/inet/encoding/PunycodeException.html +++ /dev/null @@ -1,4 +0,0 @@ - -PunycodeException

gnu.inet.encoding

Class PunycodeException

  • Exception
    • gnu.inet.encoding.PunycodeException

public class PunycodeException
extends Exception

Exception handling for Punycode class. -

Field Summary

static String
BAD_INPUT
static String
OVERFLOW

Constructor Summary

PunycodeException(String m)
Creates a new PunycodeException.

Field Details

Constructor Details

\ 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 index b7bbc04..0000000 --- a/doc/java/gnu/inet/encoding/RFC3454.html +++ /dev/null @@ -1,3 +0,0 @@ - -RFC3454

gnu.inet.encoding

Class RFC3454

  • java.lang.Object
    • gnu.inet.encoding.RFC3454

public class RFC3454
extends java.lang.Object

Auto-generated class containing StringPrep mapping tables. -
\ 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 index 0143355..0000000 --- a/doc/java/gnu/inet/encoding/Stringprep.html +++ /dev/null @@ -1,51 +0,0 @@ - -Stringprep

gnu.inet.encoding

Class Stringprep

  • java.lang.Object
    • gnu.inet.encoding.Stringprep

public class Stringprep
extends java.lang.Object

This class offers static methods for preparing internationalized - strings. It supports the following stringprep profiles: -
  • RFC3491 nameprep -
  • RFC3920 XMPP nodeprep and resourceprep -
- Note that this implementation only supports 16-bit Unicode code - points. -

Method Summary

static String
nameprep(String input)
Preps a name according to the Stringprep profile defined in - RFC3491.
static String
nameprep(String input, boolean allowUnassigned)
Preps a name according to the Stringprep profile defined in - RFC3491.
static String
nodeprep(String input)
Preps a node name according to the Stringprep profile defined in - RFC3920.
static String
nodeprep(String input, boolean allowUnassigned)
Preps a node name according to the Stringprep profile defined in - RFC3920.
static String
resourceprep(String input)
Preps a resource name according to the Stringprep profile defined - in RFC3920.
static String
resourceprep(String input, boolean allowUnassigned)
Preps a resource name according to the Stringprep profile defined - in RFC3920.

Method Details

nameprep

public static String nameprep(String input)
-            throws StringprepException,
-                   NullPointerException
Preps a name according to the Stringprep profile defined in - RFC3491. Unassigned code points are not allowed. -
Parameters:
input - the name to prep.
Returns:
the prepped name.
Throws:
StringprepException - If the name cannot be prepped with -this profile.

nameprep

public static String nameprep(String input,
-                              boolean allowUnassigned)
-            throws StringprepException,
-                   NullPointerException
Preps a name according to the Stringprep profile defined in - RFC3491. -
Parameters:
input - the name to prep.
allowUnassigned - true if the name may contain unassigned -code points.
Returns:
the prepped name.
Throws:
StringprepException - If the name cannot be prepped with -this profile.

nodeprep

public static String nodeprep(String input)
-            throws StringprepException,
-                   NullPointerException
Preps a node name according to the Stringprep profile defined in - RFC3920. Unassigned code points are not allowed. -
Parameters:
input - the node name to prep.
Returns:
the prepped node name.
Throws:
StringprepException - If the node name cannot be prepped -with this profile.

nodeprep

public static String nodeprep(String input,
-                              boolean allowUnassigned)
-            throws StringprepException,
-                   NullPointerException
Preps a node name according to the Stringprep profile defined in - RFC3920. -
Parameters:
input - the node name to prep.
allowUnassigned - true if the node name may contain -unassigned code points.
Returns:
the prepped node name.
Throws:
StringprepException - If the node name cannot be prepped -with this profile.

resourceprep

public static String resourceprep(String input)
-            throws StringprepException,
-                   NullPointerException
Preps a resource name according to the Stringprep profile defined - in RFC3920. Unassigned code points are not allowed. -
Parameters:
input - the resource name to prep.
Returns:
the prepped node name.
Throws:
StringprepException - If the resource name cannot be prepped -with this profile.

resourceprep

public static String resourceprep(String input,
-                                  boolean allowUnassigned)
-            throws StringprepException,
-                   NullPointerException
Preps a resource name according to the Stringprep profile defined - in RFC3920. -
Parameters:
input - the resource name to prep.
allowUnassigned - true if the resource name may contain -unassigned code points.
Returns:
the prepped node name.
Throws:
StringprepException - If the resource name cannot be prepped -with this profile.
\ 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 index c0d6438..0000000 --- a/doc/java/gnu/inet/encoding/StringprepException.html +++ /dev/null @@ -1,3 +0,0 @@ - -StringprepException

gnu.inet.encoding

Class StringprepException

  • Exception
    • gnu.inet.encoding.StringprepException

public class StringprepException
extends Exception

Exception handling for StringPrep class. -

Field Summary

static String
BIDI_BOTHRAL
static String
BIDI_LTRAL
static String
CONTAINS_PROHIBITED
static String
CONTAINS_UNASSIGNED

Constructor Summary

StringprepException(String m)

Field Details

Constructor Details

\ 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 index fd7f91d..0000000 --- a/doc/java/gnu/inet/encoding/classes.html +++ /dev/null @@ -1,2 +0,0 @@ - -gnu.inet.encoding Class Menu \ 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 index 0c592e9..0000000 --- a/doc/java/gnu/inet/encoding/package-summary.html +++ /dev/null @@ -1,6 +0,0 @@ - -gnu.inet.encoding

Package gnu.inet.encoding

Class Summary

CombiningClass Auto-generated class containing Unicode NFKC tables.
Composition Auto-generated class containing Unicode NFKC tables.
DecompositionKeys Auto-generated class containing Unicode NFKC tables.
DecompositionMappings Auto-generated class containing Unicode NFKC tables.
IDNA This class offers static methods for converting internationalized - domain names to ACE and back.
IDNAException Exception handling for IDNA class.
NFKC This class offers static methods for Unicode NFKC string normalization.
Punycode This class offers static methods for encoding/decoding strings - using the Punycode algorithm.
PunycodeException Exception handling for Punycode class.
RFC3454 Auto-generated class containing StringPrep mapping tables.
Stringprep This class offers static methods for preparing internationalized - strings.
StringprepException Exception handling for StringPrep class.
-
\ 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 index 6ecb9cd..0000000 --- a/doc/java/gnu/inet/encoding/tree.html +++ /dev/null @@ -1,2 +0,0 @@ - -gnu.inet.encoding Hierarchy

Hierarchy for Package gnu.inet.encoding

Class Hierarchy

\ No newline at end of file diff --git a/doc/java/index.html b/doc/java/index.html deleted file mode 100644 index 8565935..0000000 --- a/doc/java/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Generated API Documentation \ No newline at end of file diff --git a/doc/java/package-list b/doc/java/package-list deleted file mode 100644 index e69de29..0000000 diff --git a/doc/java/resources/gjdoc.js b/doc/java/resources/gjdoc.js deleted file mode 100644 index 91f8ba2..0000000 --- a/doc/java/resources/gjdoc.js +++ /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 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 index 28452fa..0000000 --- a/doc/java/resources/gjdochtml-clean-color1.css +++ /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 index 9d45909..0000000 --- a/doc/java/resources/gjdochtml-clean-layout.css +++ /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 index 50ca4747c312be881057ab3b1d05c8319abb1f2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwGho6sGbV}RgH$WlT64!_l=ltB<)VvY~=c3falGGH1 z^30M9g^-L?1$R&1fcGh?c|e8Qo-U3d8t0P}92)-fxG<=(2_1ZJ;lq3x=?AkUJb6^z jl6?RBciI0p<^d|Uc+bwZ;L(8)pf(0iS3j3^P6 -Serialized Form

Serialized Form

\ No newline at end of file diff --git a/doc/libidn-components.eps b/doc/libidn-components.eps index c565df4..b41a406 100644 --- a/doc/libidn-components.eps +++ b/doc/libidn-components.eps @@ -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 diff --git a/doc/libidn-components.pdf b/doc/libidn-components.pdf index dae63bd8b0f346dc77ee80e3eb825075b3f7b4f4..042164b600e4c7c35a591f2c6dbe0290808b3750 100644 GIT binary patch delta 6161 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 W7_=wmU%MbK0!Lh@{S~#9fd3E9%kOFc delta 6576 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 literal 9582 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 X!v8NlNTq%let`l((pmA>PuPC}!0F~+ diff --git a/doc/libidn.html b/doc/libidn.html deleted file mode 100644 index fb61c4f..0000000 --- a/doc/libidn.html +++ /dev/null @@ -1,4874 +0,0 @@ - - -GNU Libidn 1.25 - - - - - - - - - - -

GNU Libidn 1.25

-
-

Table of Contents

- -
- - - -
- -


-Next: , -Up: (dir) - -
- -

GNU Libidn

- -

This manual is last updated 27 April 2012 for version -1.25 of GNU Libidn. - -

Copyright © 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”. -
- - -

Appendices - -

- -

Indices - -

- - -
- -


-Next: , -Previous: Top, -Up: Top - -
- -

1 Introduction

- -

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. - -

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. - -

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. - -

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. - -

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. - -

Also included is a command line tool, several self tests, code -examples, and more. - -

- -
- -


-Next: , -Up: Introduction - -
- -

1.1 Getting Started

- -

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. - -

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 -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 Examples), and then only -read up those parts of the interface which are unclear. - -

- -


-Next: , -Previous: Getting Started, -Up: Introduction - -
- -

1.2 Features

- -

This library might have a couple of advantages over other libraries -doing a similar job. - -

-
It's Free Software
Anybody can use, modify, and redistribute it under the terms of a free -software license. - -
It's thread-safe
No global state is kept in the library. All functions are re-entrant. - -
It's 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
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. - -
It's 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
Sadly, not all software comes with documentation these days. This one -does. - -
- -
- -


-Next: , -Previous: Features, -Up: Introduction - -
- -

1.3 Library Overview

- -

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. - -

libidn-components.png
- -
- -


-Next: , -Previous: 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/. - -

    - -
  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. - -
  2. Debian GNU/Linux 2.1 - -GCC 2.95.1 and GNU Make. armv4l-unknown-linux-gnu. - -
  3. Tru64 UNIX - -Tru64 UNIX C compiler and Tru64 Make. alphaev67-dec-osf5.1, -alphaev68-dec-osf5.1. - -
  4. SuSE Linux 7.1 - -GCC 2.96 and GNU Make. alphaev6-unknown-linux-gnu, -alphaev67-unknown-linux-gnu. - -
  5. SuSE Linux 7.2a - -GCC 3.0 and GNU Make. ia64-unknown-linux-gnu. - -
  6. SuSE Linux - -GCC 3.2.2 and GNU Make. x86_64-unknown-linux-gnu (AMD64 -Opteron “Melody”). - -
  7. SuSE Enterprise Server 9 on IBM OpenPower 720 - -GCC 3.3.3 and GNU Make. powerpc64-unknown-linux-gnu. - -
  8. RedHat Linux 7.2 - -GCC 2.96 and GNU Make. alphaev6-unknown-linux-gnu, -alphaev67-unknown-linux-gnu, ia64-unknown-linux-gnu. - -
  9. RedHat Linux 8.0 - -GCC 3.2 and GNU Make. i686-pc-linux-gnu. - -
  10. RedHat Advanced Server 2.1 - -GCC 2.96 and GNU Make. i686-pc-linux-gnu. - -
  11. Slackware Linux 8.0.01 - -GCC 2.95.3 and GNU Make. i686-pc-linux-gnu. - -
  12. Mandrake Linux 9.0 - -GCC 3.2 and GNU Make. i686-pc-linux-gnu. - -
  13. IRIX 6.5 - -MIPS C compiler, IRIX Make. mips-sgi-irix6.5. - -
  14. AIX 4.3.2 - -IBM C for AIX compiler, AIX Make. rs6000-ibm-aix4.3.2.0. - -
  15. Microsoft Windows 2000 (Cygwin) - -GCC 3.2, GNU make. i686-pc-cygwin. - -
  16. HP-UX 11 - -HP-UX C compiler and HP Make. ia64-hp-hpux11.22, -hppa2.0w-hp-hpux11.11. - -
  17. SUN Solaris 2.7 - -GCC 3.0.4 and GNU Make. sparc-sun-solaris2.7. - -
  18. SUN Solaris 2.8 - -Sun WorkShop Compiler C 6.0 and SUN Make. sparc-sun-solaris2.8. - -
  19. SUN Solaris 2.9 - -Sun Forte Developer 7 C compiler and GNU -Make. sparc-sun-solaris2.9. - -
  20. NetBSD 1.6 - -GCC 2.95.3 and GNU Make. alpha-unknown-netbsd1.6, -i386-unknown-netbsdelf1.6. - -
  21. OpenBSD 3.1 and 3.2 - -GCC 2.95.3 and GNU Make. alpha-unknown-openbsd3.1, -i386-unknown-openbsd3.1. - -
  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. - -
  23. MacOS X 10.2 Server Edition - -GCC 3.1 and GNU Make. powerpc-apple-darwin6.5. - -
  24. MacOS X 10.4 “Tiger” with Xcode 2.0 - -GCC 4.0 and GNU Make. powerpc-apple-darwin8.0. - -
  25. Cross compiled to uClinux/uClibc on Motorola Coldfire - -GCC 3.4 and GNU Make m68k-uclinux-elf. - -
  26. Cross compiled to ARM using Glibc - -GCC 2.95 and GNU Make arm-linux. - -
  27. Cross compiled to Mingw32. - -GCC 3.4.4 and GNU Make i586-mingw32msvc. - -
  28. OS/2 - -GCC. - -
- -

If you use Libidn on, or port Libidn to, a new platform please report -it to the author. - -

- -


-Next: , -Previous: Supported Platforms, -Up: Introduction - -
- -

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. - -

- -


-Next: , -Previous: Getting help, -Up: Introduction - -
- -

1.6 Commercial Support

- -

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. - -
  • Integrating IDN support in your existing project. - -
  • System design of components related to IDN. - -
- -

If you are interested, please write to: - -

Simon Josefsson Datakonsult AB
-Hagagatan 24
-113 47 Stockholm
-Sweden
-
-E-mail: simon@josefsson.org
-
- -

If your company provides support related to GNU Libidn and would like -to be mentioned here, contact the author (see Bug Reports). - -

- -


-Next: , -Previous: Commercial Support, -Up: Introduction - -
- -

1.7 Downloading and Installing

- -

-The package can be downloaded from several places, including: - -

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 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 -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’. - -

     $ 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
-     ...
-
-

After that Libidn should be properly installed and ready for use. - -

A few configure options may be relevant, summarized in the -table. - -

-
--enable-java
Build the Java port into a *.JAR file. See Java API, for more -information. - -
--disable-tld
Disable the TLD module. This would typically only be useful if you -are building on a memory restricted platforms. See TLD Functions, -for more information. - -
--enable-csharp[=IMPL]
Build the C# port into a *.DLL file. See 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 running the self-checks under Valgrind -(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. - -

- - - -

1.7.1 Installing under Windows

- -

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 generic installation instructions (see 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. - -

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 (see 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 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. - -

When working with Windows you may want to look into the special memory -handling functions that may be needed (see Memory handling under Windows). - -

- -


-Next: , -Previous: Downloading and Installing, -Up: Introduction - -
- -

1.8 Bug Reports

- -

-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. - -
  • 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 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 -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 -do anything about it (apart from asking you to send better bug -reports). - -

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. - -

Send your bug report to: - -

bug-libidn@gnu.org
- -
- -


-Previous: 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 it as a bug report (see Bug Reports). There are some -things that 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. -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, 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 (see GNU Coding Standards). - -

    If you normally code using another coding standard, there is no -problem, but you should use ‘indent’ to reformat the code -(see GNU Indent) before submitting your work. - -

  • 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 NULL, should work -although result in an error code. - -
  • 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 implementations, and in most -situations it is very easy to avoid using it. - -
  • 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. - -
- - - - -
- -


-Next: , -Previous: Introduction, -Up: Top - -
- -

2 Preparation

- -

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. - -

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 Examples). - -

- -
- -


-Next: , -Up: Preparation - -
- -

2.1 Header

- -

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: - -

     #include <stringprep.h>
-
-

The header files and the functions they define are categorized as -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. - -

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 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. - -

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 used by applications. - -

pr29.h
-The entry point to the PR29 functions. These functions are used to -detect “problem sequences” (see 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. - -

idn-free.h
-The entry point to the Windows memory de-allocation function -(see Memory handling under Windows). It contains only one -function idn_free. - -
- -

All header files defined and use the symbol IDNAPI to decorate -the API functions. - -

- -


-Next: , -Previous: Header, -Up: Preparation - -
- -

2.2 Initialization

- -

Libidn is stateless and does not need any initialization. - -

- -


-Next: , -Previous: Initialization, -Up: Preparation - -
- -

2.3 Version Check

- -

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. - -

stringprep_check_version

- -

- -

-— Function: const char * stringprep_check_version (const char * req_version)
-

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 STRINGPREP_VERSION for a suitable req_version string. - -

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: - -

       if (!stringprep_check_version (STRINGPREP_VERSION))
-         {
-           printf ("stringprep_check_version() failed:\n"
-                   "Header file incompatible with shared library.\n");
-           exit(EXIT_FAILURE);
-         }
-
-
- -


-Next: , -Previous: Version Check, -Up: Preparation - -
- -

2.4 Building the source

- -

-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). - -

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: - -

     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 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. - -

     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: - -

     gcc -o foo foo.c `pkg-config libidn --cflags --libs`
-
- - -

2.5 Autoconf tests

- -

-If your project uses Autoconf (see GNU Autoconf) -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 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 third -line. - -

     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)
-
-

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]],
-                                     [Support IDN (needs GNU Libidn)]),
-       libidn=$withval, libidn=yes)
-     if test "$libidn" != "no" ; then
-       PKG_CHECK_MODULES(LIBIDN, libidn >= 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)
-
-
- -


-Previous: Autoconf tests, -Up: Preparation - -
- -

2.6 Memory handling under Windows

- -

-Several functions in the library allocates memory. The memory is -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 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

- -

To use the function explained in this chapter, you need to include the -file idn-free.h using: - -

     #include <idn-free.h>
-
-

2.8 Memory de-allocation function

- -

idn_free

- -

- -

-— Function: void idn_free (void * ptr)
-

ptr: memory region to deallocate, or 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 -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. -

- - - - -
- -


-Next: , -Previous: Preparation, -Up: Top - -
- -

3 Utility Functions

- -

-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. - -

3.1 Header file stringprep.h

- -

To use the functions explained in this chapter, you need to include -the file stringprep.h using: - -

     #include <stringprep.h>
-
-

3.2 Unicode Encoding Transformation

- -

stringprep_unichar_to_utf8

- -

- -

-— Function: int stringprep_unichar_to_utf8 (uint32_t c, char * outbuf)
-

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. - -

Converts a single character to UTF-8. - -

Return value: number of bytes written. -

- -

stringprep_utf8_to_unichar

- -

- -

-— Function: uint32_t stringprep_utf8_to_unichar (const char * p)
-

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, results are -undefined. - -

Return value: the resulting character. -

- -

stringprep_ucs4_to_utf8

- -

- -

-— Function: char * stringprep_ucs4_to_utf8 (const uint32_t * str, 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 string is terminated with a 0 character. - -

items_read: location to store number of characters read read, or NULL. - -

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. - -

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. -

- -

stringprep_utf8_to_ucs4

- -

- -

-— Function: uint32_t * stringprep_utf8_to_ucs4 (const char * str, 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 string is nul-terminated. - -

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. - -

Return value: a pointer to a newly allocated UCS-4 string. -This value must be deallocated by the caller. -

- -

3.3 Unicode Normalization

- -

stringprep_ucs4_nfkc_normalize

- -

- -

-— Function: uint32_t * stringprep_ucs4_nfkc_normalize (const uint32_t * str, ssize_t len)
-

str: a Unicode string. - -

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. - -

Return value: a newly allocated Unicode string, that is the NFKC -normalized form of str. -

- -

stringprep_utf8_nfkc_normalize

- -

- -

-— Function: char * stringprep_utf8_nfkc_normalize (const char * str, ssize_t len)
-

str: a UTF-8 encoded string. - -

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 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. - -

Return value: a newly allocated string, that is the -NFKC normalized form of str. -

- -

3.4 Character Set Conversion

- -

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. - -

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. - -

Return value: Return the character set used by the current locale. -It will never return NULL, but use "ASCII" as a fallback. -

- -

stringprep_convert

- -

- -

-— Function: char * stringprep_convert (const char * str, const char * to_codeset, const char * from_codeset)
-

str: input zero-terminated string. - -

to_codeset: name of destination character set. - -

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. - -

Return value: Returns newly allocated zero-terminated string which -is str transcoded into to_codeset. -

- -

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(). - -

Return value: Returns newly allocated zero-terminated string which -is str transcoded into UTF-8. -

- -

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(). - -

Return value: Returns newly allocated zero-terminated string which -is str transcoded into the locale's character set. -

- - - - -
- -


-Next: , -Previous: Utility Functions, -Up: Top - -
- -

4 Stringprep Functions

- -

-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. - -

4.1 Header file stringprep.h

- -

To use the functions explained in this chapter, you need to include -the file stringprep.h using: - -

     #include <stringprep.h>
-
-

4.2 Defining A Stringprep Profile

- -

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 code for the details. - -

4.3 Control Flags

- -
-— 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. -

- -
-— Stringprep flags: Stringprep_profile_flags STRINGPREP_NO_BIDI
-

Disable the BIDI step. Usually the profile specifies BIDI and NFKC -settings, and applications should not override it unless in special -situations. -

- -
-— Stringprep flags: Stringprep_profile_flags STRINGPREP_NO_UNASSIGNED
-

Make the library return with an error if string contains unassigned -characters according to profile. -

- -

4.4 Core Functions

- -

stringprep_4i

- -

- -

-— Function: int stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len, Stringprep_profile_flags flags, const Stringprep_profile * profile)
-

ucs4: input/output array with string to prepare. - -

len: on input, length of input array with Unicode code points, -on exit, length of output array with Unicode code points. - -

maxucs4len: maximum length of input/output array. - -

flags: a Stringprep_profile_flags value, or 0. - -

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 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. -

- -

stringprep_4zi

- -

- -

-— Function: int stringprep_4zi (uint32_t * ucs4, size_t maxucs4len, Stringprep_profile_flags flags, const Stringprep_profile * profile)
-

ucs4: input/output array with zero terminated string to prepare. - -

maxucs4len: maximum length of input/output array. - -

flags: a Stringprep_profile_flags value, or 0. - -

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 -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. -

- -

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. - -

maxlen: maximum length of input/output array. - -

flags: a Stringprep_profile_flags value, or 0. - -

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(). - -

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 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. -

- -

stringprep_profile

- -

- -

-— Function: int stringprep_profile (const char * in, char ** out, const char * profile, Stringprep_profile_flags flags)
-

in: input array with UTF-8 string to prepare. - -

out: output variable with pointer to newly allocate string. - -

profile: name of stringprep profile to use. - -

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 -variable. - -

Note that you must convert strings entered in the systems locale -into UTF-8 before using this function, see -stringprep_locale_to_utf8(). - -

The output out variable must be deallocated by the caller. - -

The flags are one of Stringprep_profile_flags values, or 0. - -

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. -

- -

4.5 Error Handling

- -

stringprep_strerror

- -

- -

-— Function: const char * stringprep_strerror (Stringprep_rc rc)
-

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. - -

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 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. -

- -

4.6 Stringprep Profile Macros

- -
-— Function: int stringprep_nameprep_no_unassigned (char * in, int maxlen)
-
-

in: input/ouput 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 -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. - -

maxlen: maximum length of input/output array. - -

Prepare the input UTF-8 string according to the draft iSCSI 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. - -

maxlen: maximum length of input/output array. - -

Prepare the input UTF-8 string according to the draft SASL 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. - -

maxlen: maximum length of input/output array. - -

Prepare the input UTF-8 string according to the draft XMPP node -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. - -

maxlen: maximum length of input/output array. - -

Prepare the input UTF-8 string according to the draft XMPP resource -identifier profile. Returns 0 iff successful, or an error code. -

- - - - -
- -


-Next: , -Previous: Stringprep Functions, -Up: Top - -
- -

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

- -

To use the functions explained in this chapter, you need to include -the 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. - -

-— Punycode Unicode code point: uint32_t punycode_uint
-

A unsigned integer that hold Unicode code points. -

- -

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 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. - -

The functions provided are the following two entry points: - -

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: 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 -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. - -

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 -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. -

- -

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: 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 -the maximum number of flags that it can receive into the -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. - -

output: An array of code points like the input argument of -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 -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). - -

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

- -

punycode_strerror

- -

- -

-— Function: const char * punycode_strerror (Punycode_status rc)
-

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. - -

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. - -

Return value: Returns a pointer to a statically allocated string -containing a description of the error with the return code rc. -

- - - - -
- -


-Next: , -Previous: Punycode Functions, -Up: Top - -
- -

6 IDNA Functions

- -

-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. - -

6.1 Header file idna.h

- -

To use the functions explained in this chapter, you need to include -the file idna.h using: - -

     #include <idna.h>
-
-

6.2 Control Flags

- -

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
-

Allow unassigned Unicode code points. -

- -
-— Return code: Idna_flags IDNA_USE_STD3_ASCII_RULES
-

Check output to make sure it is a STD3 conforming host name. -

- -

6.3 Prefix String

- -
-— Macro: #define IDNA_ACE_PREFIX
-

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. - -

The functions provided are the following entry points: - -

idna_to_ascii_4i

- -

- -

-— Function: int idna_to_ascii_4i (const uint32_t * in, size_t inlen, char * out, int flags)
-

in: input array with unicode code points. - -

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. - -

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 -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. - -

Return value: Returns 0 on success, or an Idna_rc error code. -

- -

idna_to_unicode_44i

- -

- -

-— Function: int idna_to_unicode_44i (const uint32_t * in, size_t inlen, uint32_t * out, size_t * outlen, int flags)
-

in: input array with unicode code points. - -

inlen: length of input array with unicode code points. - -

out: output array with unicode code points. - -

outlen: on input, maximum size of output array with unicode code 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. - -

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. - -

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. -

- -

6.5 Simplified ToASCII Interface

- -

idna_to_ascii_4z

- -

- -

-— Function: int idna_to_ascii_4z (const uint32_t * input, char ** output, int flags)
-

input: zero terminated input Unicode string. - -

output: pointer to newly allocated output string. - -

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. -

- -

idna_to_ascii_8z

- -

- -

-— Function: int idna_to_ascii_8z (const char * input, char ** output, int flags)
-

input: zero terminated input UTF-8 string. - -

output: pointer to newly allocated output string. - -

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. -

- -

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 -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. - -

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. - -

Return value: Returns IDNA_SUCCESS on success, or error code. -

- -

6.6 Simplified ToUnicode Interface

- -

idna_to_unicode_4z4z

- -

- -

-— 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. - -

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. -

- -

idna_to_unicode_8z4z

- -

- -

-— Function: int idna_to_unicode_8z4z (const char * input, uint32_t ** output, int flags)
-

input: zero-terminated UTF-8 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. - -

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. -

- -

idna_to_unicode_8z8z

- -

- -

-— Function: int idna_to_unicode_8z8z (const char * input, char ** output, int flags)
-

input: zero-terminated UTF-8 string. - -

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. - -

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. -

- -

idna_to_unicode_8zlz

- -

- -

-— Function: int idna_to_unicode_8zlz (const char * input, char ** output, int flags)
-

input: zero-terminated UTF-8 string. - -

output: pointer to newly allocated output string encoded in the -current locale's character set. - -

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 -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. -

- -

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 -character set. - -

output: pointer to newly allocated output string encoded in the -current locale's character set. - -

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. -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. -

- -

6.7 Error Handling

- -

idna_strerror

- -

- -

-— Function: const char * idna_strerror (Idna_rc rc)
-

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. - -

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). - -

Return value: Returns a pointer to a statically allocated string -containing a description of the error with the return code rc. -

- - - - -
- -


-Next: , -Previous: IDNA Functions, -Up: Top - -
- -

7 TLD Functions

- -

-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. - -

From a design point of view, you can regard the TLD tables for IDN as -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. - -

7.1 Header file tld.h

- -

To use the functions explained in this chapter, you need to include -the file tld.h using: - -

     #include <tld.h>
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

7.2 Core Functions

- -

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 -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 -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. - -

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. -

- -

tld_check_4tz

- -

- -

-— Function: int tld_check_4tz (const uint32_t * in, size_t * errpos, const Tld_table * tld)
-

in: Zero terminated array of unicode code points to process. - -

errpos: Position of offending character is returned here. - -

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. - -

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. -

- -

7.3 Utility Functions

- -

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 -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. - -

Return value: Return TLD_SUCCESS on success, or the corresponding -Tld_rc error code otherwise. -

- -

tld_get_4z

- -

- -

-— Function: int tld_get_4z (const uint32_t * in, char ** out)
-

in: Zero terminated array of unicode code points to process. - -

out: Zero terminated ascii result string pointer. - -

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. -

- -

tld_get_z

- -

- -

-— Function: int tld_get_z (const char * in, char ** out)
-

in: Zero terminated character array to process. - -

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. - -

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. - -

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. -

- -

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. - -

overrides: Additional zero terminated array of Tld_table -info-structures for TLDs, or 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. - -

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

- -

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 -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 -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 -character is not allowed, or additional error codes on general -failure conditions. -

- -

tld_check_4z

- -

- -

-— Function: int tld_check_4z (const uint32_t * in, size_t * errpos, const Tld_table ** overrides)
-

in: Zero-terminated array of unicode code points to process. - -

errpos: Position of offending character is returned here. - -

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 -character is not allowed, or additional error codes on general -failure conditions. -

- -

tld_check_8z

- -

- -

-— Function: int tld_check_8z (const char * in, size_t * errpos, const Tld_table ** overrides)
-

in: Zero-terminated UTF8 string to process. - -

errpos: Position of offending character is returned here. - -

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 -character is not allowed, or additional error codes on general -failure conditions. -

- -

tld_check_lz

- -

- -

-— Function: int tld_check_lz (const char * in, size_t * errpos, const Tld_table ** overrides)
-

in: Zero-terminated string in the current locales encoding to process. - -

errpos: Position of offending character is returned here. - -

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 -character is not allowed, or additional error codes on general -failure conditions. -

- -

7.5 Error Handling

- -

tld_strerror

- -

- -

-— Function: const char * tld_strerror (Tld_rc rc)
-

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. - -

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. - -

Return value: Returns a pointer to a statically allocated string -containing a description of the error with the return code rc. -

- - - - -
- -


-Next: , -Previous: TLD Functions, -Up: Top - -
- -

8 PR29 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). 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). - -

A full discussion of the problem may be found at: - -

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 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. - -

Technically inclined readers may be interested in knowing more about -the implementation aspects of the PR29 flaw. See PR29 discussion. - -

8.1 Header file pr29.h

- -

To use the functions explained in this chapter, you need to include -the file pr29.h using: - -

     #include <pr29.h>
-
-

8.2 Core Functions

- -

pr29_4

- -

- -

-— Function: int pr29_4 (const uint32_t * in, size_t len)
-

in: input array with unicode code points. - -

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. - -

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). -

- -

8.3 Utility Functions

- -

pr29_4z

- -

- -

-— Function: int pr29_4z (const uint32_t * in)
-

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. - -

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). -

- -

pr29_8z

- -

- -

-— Function: int pr29_8z (const char * in)
-

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. - -

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. -

- -

8.4 Error Handling

- -

pr29_strerror

- -

- -

-— Function: const char * pr29_strerror (Pr29_rc rc)
-

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. - -

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 pr29_8z()). - -

Return value: Returns a pointer to a statically allocated string -containing a description of the error with the return code rc. -

- - - - -
- -


-Next: , -Previous: PR29 Functions, -Up: Top - -
- -

9 Examples

- -

-This chapter contains example code which illustrate how `Libidn' can -be used when writing your own application. - -

- -
- -


-Next: , -Up: Examples - -
- -

9.1 Example 1

- -

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>
-#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): ", strlen (buf));
-  for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", 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): ", strlen (buf));
-  for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", 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): ", strlen (buf));
-      for (i = 0; i < strlen (buf); i++)
-	printf ("%02x ", buf[i] & 0xFF);
-      printf ("\n");
-    }
-
-  return 0;
-}
-
-
- -


-Next: , -Previous: Example 1, -Up: Examples - -
- -

9.2 Example 2

- -

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() */
-
-/*
- * 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 */
-}
-
-
- -


-Next: , -Previous: Example 2, -Up: Examples - -
- -

9.3 Example 3

- -

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>
-#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): ", strlen (buf));
-  for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", 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", strlen (p), p);
-  for (i = 0; i < strlen (p); i++)
-    printf ("%02x ", p[i] & 0xFF);
-  printf ("\n");
-
-  free (p);
-
-  return 0;
-}
-
-
- -


-Next: , -Previous: Example 3, -Up: Examples - -
- -

9.4 Example 4

- -

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>
-#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): ", strlen (buf));
-  for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", 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", strlen (p), p);
-  for (i = 0; i < strlen (p); i++)
-    printf ("%02x ", p[i] & 0xFF);
-  printf ("\n");
-
-  free (p);
-
-  return 0;
-}
-
-
- -


-Previous: Example 4, -Up: Examples - -
- -

9.5 Example 5

- -

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>
-
-/* 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): ", strlen (buf));
-  for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", 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", 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", 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;
-}
-
- - - -
- -


-Next: , -Previous: Examples, -Up: Top - -
- -

10 Invoking idn

- -

- -

10.1 Name

- -

GNU Libidn (idn) – Internationalized Domain Names command line tool - -

10.2 Description

- -

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 strings are specified on the command line, the program read -data, line 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. - -

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: - -

  -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

- -

The CHARSET 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: - -

     $ CHARSET=ISO-8859-1 idn --punycode-encode
-     ...
-
-

10.5 Examples

- -

Standard usage, reading input from standard input: - -

     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äksmörgås.se
-     xn--rksmrgs-5wao1o.se
-     jas@latte:~$
-
-

Reading input from command line, and disable printing copyright and -license information: - -

     jas@latte:~$ idn --quiet räksmörgås.se blåbærgrød.no
-     xn--rksmrgs-5wao1o.se
-     xn--blbrgrd-fxak7p.no
-     jas@latte:~$
-
-

Accessing a specific StringPrep profile directly: - -

     jas@latte:~$ idn --quiet --profile=SASLprep --stringprep teßtª
-     teßta
-     jas@latte:~$
-
-

10.6 Troubleshooting

- -

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. - -

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. - -

     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 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. - -

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’ 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. - -

Another explanation is that the error is correct and you are feeding -‘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. - -

     jas@latte:~$ idn --quiet --debug ""
-     system locale uses charset `ISO-8859-1'.
-     
-     jas@latte:~$ CHARSET=UTF-8 idn --quiet --debug räksmörgå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:~$
-
-

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. - -

- -


-Next: , -Previous: Invoking idn, -Up: Top - -
- -

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 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’. This variable can be customized. -

- -
-— Variable: punycode-environment
-

List of environment variable definitions prepended to -‘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")’. -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 variable can be customized. -

- -
-— Function: punycode-encode string
-

Returns a Punycode encoding of the string, after converting the -input into UTF-8. -

- -
-— Function: punycode-decode string
-

Returns a possibly multibyte string which is the decoding of the -string which is a punycode encoded string. -

- -

11.2 IDNA Emacs API

- -
-— Variable: idna-program
-

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 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. -

- -
-— 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. -

- -
-— Function: idna-to-ascii string
-

Returns an ASCII Compatible Encoding (ACE) of the string computed by -the IDNA ToASCII operation on the input string, after converting -the input to UTF-8. -

- -
-— Function: idna-to-unicode string
-

Returns a possibly multibyte string which is the output of the IDNA -ToUnicode operation computed on the input string. -

- -
- -


-Next: , -Previous: Emacs API, -Up: Top - -
- -

12 Java API

- -

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. - -

The Java library, if Libidn has been built with Java support -(see Downloading and Installing), will be placed in -java/libidn-1.25.jar. The source code is located in -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 Java and does not require any additional libraries to be set up. - -

The gnu.inet.encoding.IDNA class offers two public functions, toASCII -and toUnicode which can be used as follows: - -

     gnu.inet.encoding.IDNA.toASCII("blöds.züg");
-     gnu.inet.encoding.IDNA.toUnicode("xn--blds-6qa.xn--zg-xka");
-
-

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. - -

12.2.1 GenerateRFC3454

- -

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. - -

Invoke the program as follows: - -

     $ java GenerateRFC3454
-     Creating RFC3454.java... Ok.
-
-

12.2.2 GenerateNFKC

- -

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. - -

The Unicode data files can be found at -http://www.unicode.org/Public/. - -

Invoke the program as follows: - -

     $ java GenerateNFKC
-     Creating CombiningClass.java... Ok.
-     Creating DecompositionKeys.java... Ok.
-     Creating DecompositionMappings.java... Ok.
-     Creating Composition.java... Ok.
-
-

12.2.3 TestIDNA

- -

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, -http://www.gnu.org/software/libidn/. - -

To test the transformation manually, use: - -

     $ java -cp .:../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>
-     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
-     No errors detected!
-
-

12.2.4 TestNFKC

- -

The TestNFKC program allows to test the NFKC implementation manually -or against the NormalizationTest.txt file from the Unicode data files. - -

To test the normalization manually, use: - -

     $ java -cp .:../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
-     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. - -

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. - -

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. - -

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. - -

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. - -

For more information refer to the documentation of java.lang.Character -in the JDK API. - -

- - -


-Next: , -Previous: Java API, -Up: Top - -
- -

13 C# API

- -

The Libidn library has been ported to the C# language. The port -reside 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 thus be useful. - - - - -

- -


-Next: , -Previous: C# API, -Up: Top - -
- -

14 Acknowledgements

- -

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 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. - -

Several people reported bugs, sent patches or suggested improvements, -see the file THANKS in the top-level directory of the source code. - - - - -

- -


-Next: , -Previous: Acknowledgements, -Up: Top - -
- -

15 History

- -

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. - -

-
Stringprep implementation.
Version 0.0.0 released on 2002-11-05. - -
IDNA and Punycode implementations, part of the GNU project.
Version 0.1.0 released on 2003-01-05. - -
Uses official IDNA ACE prefix xn--.
Version 0.1.7 released on 2003-02-12. - -
Command line interface.
Version 0.1.11 released on 2003-02-26. - -
GNU Libc add-on proposed.
Version 0.1.12 released on 2003-03-06. - -
Interoperability testing during IDNConnect.
Version 0.3.1 released on 2003-10-02. - -
TLD restriction testing.
Version 0.4.0 released on 2004-02-28. - -
GNU Libc add-on integrated.
Version 0.4.1 released on 2004-03-08. - -
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”.
Version 0.5.0 released on 2004-06-26. - -
Many small portability fixes and wider use.
Version 0.5.1 through 0.5.20, released between 2004-07-09 and -2005-10-23. - -
Native C# implementation.
Version 0.6.0 released on 2005-12-03. - -
Windows support through cross-compilation.
Version 0.6.1 released on 2006-01-20. - -
Library declared stable by releasing v1.0.
Version 1.0 released on 2007-07-31. - -
- -
- -


-Next: , -Previous: History, -Up: Top - -
- -

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 well. - -

From: Rick McGowan <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 && (last_cc == 0 || last_cc != cc)) {
-
-should perhaps be changed to:
-
-      if (i > 0 && (last_cc == 0 || last_cc < 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 &&
-	      (last_cc == 0 || last_cc != cc) &&
-	      combine (wc_buffer[last_start], wc_buffer[i],
-		       &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 &&
-	      (last_cc == 0 || last_cc < cc) &&
-	      combine (wc_buffer[last_start], wc_buffer[i],
-		       &wc_buffer[last_start]))
-	    {
-
-but I'm not sure of the sense of the comparison (< or > or <=?) 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
-
- -
From: Simon Josefsson <jas@extundo.com>
-Subject: Re: Possible bug and status of PR 29 change(s)
-To: Rick McGowan <rick@unicode.org>
-Cc: bug-libidn@gnu.org
-Date: Thu, 28 Oct 2004 09:47:47 +0200
-
-Rick McGowan <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
-
- -
- -


-Next: , -Previous: 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 interesting property that their IDNA ToASCII output will contain -embedded dots. For example: - -

     ToASCII (hi U+248C com) = hi5.com
-     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 second example illustrate when the dot is part of -IDN prefixed with 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. - -

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 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 better user experience, and suggests that the IDNA -specification is sub-optimal in this area. - -

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. 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. - -

Alternative workarounds are being considered. Eventually Libidn may -implement a new flag to the idna_* functions that implements a -recommended way to work around this problem. - -

- -


-Next: , -Previous: On Label Separators, -Up: Top - -
- -

Appendix C Copying Information

- - - -
- -


-Up: Copying Information - -
- -

C.1 GNU Free Documentation License

- -

- - -

Version 1.3, 3 November 2008
- - - -
     Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-     http://fsf.org/
-     
-     Everyone is permitted to copy and distribute verbatim copies
-     of this license document, but changing it is not allowed.
-
-
    -
  1. 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 -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 -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. - -

    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. - -

  2. 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 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. - -

    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 -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. - -

    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 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, -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”. - -

    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, -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. - -

    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 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 to this definition. - -

    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. - -

  3. VERBATIM COPYING - -

    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. - -

    You may also lend copies, under the same conditions stated above, and -you may publicly display copies. - -

  4. COPYING IN QUANTITY - -

    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. - -

    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. - -

    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. - -

    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. - -

  5. 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: - -

      -
    1. 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. - -
    2. 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. - -
    3. State on the Title page the name of the publisher of the -Modified Version, as the publisher. - -
    4. Preserve all the copyright notices of the Document. - -
    5. Add an appropriate copyright notice for your modifications -adjacent to the other copyright notices. - -
    6. 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. - -
    7. Preserve in that license notice the full lists of Invariant Sections -and required Cover Texts given in the Document's license notice. - -
    8. Include an unaltered copy of this License. - -
    9. 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. - -
    10. 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. - -
    11. 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. - -
    12. 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. - -
    13. Delete any section Entitled “Endorsements”. Such a section -may not be included in the Modified Version. - -
    14. Do not retitle any existing section to be Entitled “Endorsements” or -to conflict in title with any Invariant Section. - -
    15. 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. - -

    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. - -

    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. - -

    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. - -

  6. COMBINING DOCUMENTS - -

    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. - -

    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. - -

    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.” - -

  7. COLLECTIONS OF DOCUMENTS - -

    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. - -

    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. - -

  8. 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 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. - -

    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. - -

  9. TRANSLATION - -

    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. - -

    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. - -

  10. TERMINATION - -

    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. - -

    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. - -

    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. - -

    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. - -

  11. 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/. - -

    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 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. - -

  12. RELICENSING - -

    “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 -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 -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 -in part, as part of another Document. - -

    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 texts or invariant sections, -and (2) were thus incorporated prior to November 1, 2008. - -

    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. - -

- -

ADDENDUM: How to use this License for your documents

- -

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: - -

       Copyright (C)  year  your name.
-       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''.
-
-

If you have Invariant Sections, Front-Cover Texts and Back-Cover 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
-         being list.
-
-

If you have Invariant Sections without Cover Texts, or some other -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. - - - - -

- -


-Next: , -Previous: Copying Information, -Up: Top - -
- -

Function and Variable Index

- -
- -


-Previous: Function and Variable Index, -Up: Top - -
- -

Concept Index

- - - -
-
-

Footnotes

[1] Notably Microsoft's Internet Explorer -and Mozilla's Firefox, but not Apple's Safari.

- -
- - - - diff --git a/doc/libidn.info b/doc/libidn.info index 6da9424..6975bbf 100644 --- a/doc/libidn.info +++ b/doc/libidn.info @@ -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. Libidn’s 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 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. +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.  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 +It’s Free Software Anybody can use, modify, and redistribute it under the terms of a free software license. -It's thread-safe +It’s thread-safe No global state is kept in the library. All functions are re-entrant. -It's portable +It’s 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 +It’s 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 +It’s 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 +It’s documented Sadly, not all software comes with documentation these days. This one does. -  File: libidn.info, Node: Library Overview, Next: Supported Platforms, Prev: Features, Up: Introduction @@ -211,147 +212,147 @@ the library is hidden from the application. [image src="libidn-components.png"] +  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 +. - 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 . 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 . Archives of +the mailing list discussions, and an interface to manage subscriptions, +is available through the World Wide Web at +.  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/' + - 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 + (). 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 () 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'. +. 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::). Don’t +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 hasn’t 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 don’t 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 won’t 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’  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 doesn’t 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.  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.  @@ -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 @@ -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 @@ -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 locale’s 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 locale’s 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.  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 @@ -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 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’ .  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 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 locale’s 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 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. - *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 locale’s 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 locale’s 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 locale’s character set. OUTPUT: pointer to newly allocated output string encoded in the - current locale's character set. + current locale’s 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 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. - *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’ .  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 . -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 @@ -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’ .  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' + 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 @@ -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’ .  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 . - * - */ - #include #include #include @@ -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 . - * - */ - #include /* 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 . - * - */ - #include #include #include @@ -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 . - * - */ - #include #include #include @@ -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 . - * - */ - #include #include #include @@ -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 (). 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.  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'. +. 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/'. +. 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 Josefsson’s test vectors. The test vectors can be found at the Libidn homepage, -`http://www.gnu.org/software/libidn/'. +. To test the transformation manually, use: - $ java -cp .:../libidn.jar TestIDNA -a + $ java -cp .:/usr/share/java/libidn.jar TestIDNA -a Input: Output: - $ java -cp .:../libidn.jar TestIDNA -u + $ java -cp .:/usr/share/java/libidn.jar TestIDNA -u Input: Output: 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 + $ java -cp .:/usr/share/java/libidn.jar TestNFKC Input: Output: 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 . 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. -  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, I’m including my response to the report as well. From: Rick McGowan @@ -3597,14 +3518,14 @@ Regards, Simon  -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. - - -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.  -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. + 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 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 @@ -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 + work’s 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 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. + 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 Document’s 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 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. 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 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 @@ -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/'. + . 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 + proxy’s 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.  -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 [index] * 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)  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)  Tag Table: -Node: Top1018 -Node: Introduction2719 -Node: Getting Started5027 -Node: Features6134 -Node: Library Overview7475 -Node: Supported Platforms8273 -Node: Getting help11845 -Node: Commercial Support12308 -Node: Downloading and Installing13242 -Node: Installing under Windows15532 -Node: Bug Reports16912 -Node: Contributing18302 -Node: Preparation20274 -Node: Header20988 -Node: Initialization24003 -Node: Version Check24200 -Ref: stringprep_check_version24735 -Node: Building the source25700 -Node: Autoconf tests27560 -Node: Memory handling under Windows29926 -Ref: idn_free30874 -Node: Utility Functions31410 -Ref: stringprep_unichar_to_utf832074 -Ref: stringprep_utf8_to_unichar32498 -Ref: stringprep_ucs4_to_utf832886 -Ref: stringprep_utf8_to_ucs433748 -Ref: stringprep_ucs4_nfkc_normalize34501 -Ref: stringprep_utf8_nfkc_normalize34983 -Ref: stringprep_locale_charset36141 -Ref: stringprep_convert37174 -Ref: stringprep_locale_to_utf837730 -Ref: stringprep_utf8_to_locale38110 -Node: Stringprep Functions38458 -Ref: stringprep_4i40369 -Ref: stringprep_4zi41957 -Ref: stringprep43169 -Ref: stringprep_profile44494 -Ref: stringprep_strerror45601 -Node: Punycode Functions49200 -Ref: punycode_encode50939 -Ref: punycode_decode53134 -Ref: punycode_strerror55246 -Node: IDNA Functions56008 -Ref: idna_to_ascii_4i58573 -Ref: idna_to_unicode_44i60203 -Ref: idna_to_ascii_4z62169 -Ref: idna_to_ascii_8z62760 -Ref: idna_to_ascii_lz63345 -Ref: idna_to_unicode_4z4z64073 -Ref: idna_to_unicode_8z4z64722 -Ref: idna_to_unicode_8z8z65365 -Ref: idna_to_unicode_8zlz66002 -Ref: idna_to_unicode_lzlz66724 -Ref: idna_strerror67529 -Node: TLD Functions69146 -Ref: tld_check_4t70786 -Ref: tld_check_4tz71686 -Ref: tld_get_472540 -Ref: tld_get_4z73046 -Ref: tld_get_z73457 -Ref: tld_get_table73955 -Ref: tld_default_table74488 -Ref: tld_check_475213 -Ref: tld_check_4z76462 -Ref: tld_check_8z77628 -Ref: tld_check_lz78895 -Ref: tld_strerror80233 -Node: PR29 Functions81056 -Ref: pr29_483344 -Ref: pr29_4z83975 -Ref: pr29_8z84499 -Ref: pr29_strerror85158 -Node: Examples85869 -Node: Example 186318 -Node: Example 288864 -Node: Example 395483 -Node: Example 498003 -Node: Example 5100532 -Node: Invoking idn103984 -Node: Emacs API111306 -Node: Java API114063 -Node: C# API118969 -Node: Acknowledgements119434 -Node: History120536 -Node: PR29 discussion122180 -Node: On Label Separators126048 -Ref: On Label Separators-Footnote-1128522 -Node: Copying Information128615 -Node: GNU Free Documentation License128881 -Node: Function and Variable Index154014 -Node: Concept Index159000 +Node: Top1023 +Node: Introduction2784 +Node: Getting Started5096 +Node: Features6207 +Node: Library Overview7561 +Node: Supported Platforms8360 +Node: Getting help12152 +Node: Commercial Support12615 +Node: Downloading and Installing13556 +Node: Installing under Windows15921 +Node: Bug Reports17325 +Node: Contributing18731 +Node: Preparation20734 +Node: Header21456 +Node: Initialization24567 +Node: Version Check24764 +Ref: stringprep_check_version25303 +Node: Building the source26278 +Node: Autoconf tests28200 +Node: Memory handling under Windows30601 +Ref: idn_free31561 +Node: Utility Functions32119 +Ref: stringprep_unichar_to_utf832791 +Ref: stringprep_utf8_to_unichar33223 +Ref: stringprep_ucs4_to_utf833825 +Ref: stringprep_utf8_to_ucs434710 +Ref: stringprep_ucs4_nfkc_normalize35535 +Ref: stringprep_utf8_nfkc_normalize36032 +Ref: stringprep_locale_charset37203 +Ref: stringprep_convert38380 +Ref: stringprep_locale_to_utf838949 +Ref: stringprep_utf8_to_locale39338 +Node: Stringprep Functions39697 +Ref: stringprep_4i41624 +Ref: stringprep_4zi44359 +Ref: stringprep45605 +Ref: stringprep_profile46966 +Ref: stringprep_strerror48100 +Node: Punycode Functions51793 +Ref: punycode_encode53562 +Ref: punycode_decode56131 +Ref: punycode_strerror58300 +Node: IDNA Functions59069 +Ref: idna_to_ascii_4i61691 +Ref: idna_to_unicode_44i63340 +Ref: idna_to_ascii_4z65323 +Ref: idna_to_ascii_8z65929 +Ref: idna_to_ascii_lz66529 +Ref: idna_to_unicode_4z4z67276 +Ref: idna_to_unicode_8z4z67940 +Ref: idna_to_unicode_8z8z68598 +Ref: idna_to_unicode_8zlz69250 +Ref: idna_to_unicode_lzlz69991 +Ref: idna_strerror70819 +Node: TLD Functions72435 +Ref: tld_check_4t74096 +Ref: tld_check_4tz75029 +Ref: tld_get_475915 +Ref: tld_get_4z76437 +Ref: tld_get_z76863 +Ref: tld_get_table77380 +Ref: tld_default_table78170 +Ref: tld_check_478917 +Ref: tld_check_4z80218 +Ref: tld_check_8z81435 +Ref: tld_check_lz82753 +Ref: tld_strerror84142 +Node: PR29 Functions84967 +Ref: pr29_487263 +Ref: pr29_4z87904 +Ref: pr29_8z88438 +Ref: pr29_strerror89111 +Node: Examples89834 +Node: Example 190287 +Node: Example 292097 +Node: Example 397877 +Node: Example 499634 +Node: Example 5101398 +Node: Invoking idn104122 +Node: Emacs API110958 +Node: Java API113776 +Node: C# API118949 +Node: Acknowledgements119418 +Node: History120520 +Node: PR29 discussion122183 +Node: On Label Separators126053 +Ref: On Label Separators-Footnote-1128584 +Node: GNU Free Documentation License128683 +Node: Function and Variable Index154064 +Node: Concept Index159061  End Tag Table diff --git a/doc/libidn.pdf b/doc/libidn.pdf deleted file mode 100644 index 8ca4ebdf3a38f21734386e952c40e16a618f548e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 475336 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 #Vyf5#Ad#@8yE??3;Xcr5#&t_7IlO?;{2qPcA6 zyOlY?M38zP>V<%~1f$?WDw8;Sgaqn^LNi004wY&WjA!(+EyA;Mf-x-(WUy z?17}lZQk1VjHxOK&^sURH%Ecqr&AunF|GR>=Gb)A*z*nkzS!mO>D3(x?MVZA;4aL~xn`&(ZN`A%ol=M#9r;Pq($N!O5TN9{ z37Rv?wCiTCv8nsjQW8=4Q37`3U{9**WBKBJG==7%tJ=~O-_DXm@J5Q&1%1)EO}`6N z0X-bUmQKW0^!q|abZdjhBHa)~`w3hsq8=!EkhY53NCMorIfdFOAiT~$4s`q5iakGA zVrn=T-4-4rBD&IsI21)|XP~Zt+?+j*4IcuDUle2yRI~zNmO`!W2O9ZiQ=+i}8+^J@ z+P7k`T(R$hFTqwj8G$$e3P=b6m~#3uqKV63ojExcY9*)V%%`jK8VNbQZ0>>+oa7U( zh(GNWyv?(evcP5xUakT{Idw~+XG0Kdga*JaOyGN2Akqg zDWZye%DdZ$F#OEIml;-P7Dqh5mMCB51@F!;*yFmdw!jPuMs}|VTb;|G704Ai&TzQE zgzrxHknM2g0xnF}g^E7KYke766t*yYusC-{SgZApg{T6jy~6_Q-bKXcvye*M)Ny!n zhMZQOA1N7`UGaic({}S(uzcaT^sprph_9nBhaVE#CZ2u@u$+PEv|MHf-jcHmoVAD7 zwkZG?JPe_^d1>-^B*+RYR@3rRQ(+ZTld3dN&aYpn#Q~jBD=x z(;p&>{W9`-d5;lP5{#3k-jbD+>Pg^&tYp^rI=@thFZ}AHNFKN3;`XJfIjqBXp!uyL zBW4yfl;SGhCB!v;Vq=W>>Hw;`Ys9_JW;WYA3~t79`ReecWezgE#mSrFvp~3as6N(K zmG}mhlrEveK~c-c?O!(nwK3AU55Y=v9C&Ku%xz^8Pom!BWiy$6;v8(M2p)f|gb{6S zAfbh8Ue$RX?5k+M9DBa^YZIvxuU!^Owf?k(n@YKs6$W&CQ)De>>>piMF!G)4NgNRjv;!cN*?^<6WA{cv+|S?W%ab zX7&>>5>Yuy9iJ`^%*xrl-i=GOe6?HgB>3>0aKyeXP?Iar>>L?loi*rj?pNoTC)ET} zjpNust@u6;SAMZvZPgY#lZTRRq~%q9QYTWrGRc004>Q#P_I9xxCapD7bcs zIU60!m3TB0u)$dQaosV15#7p4&o~bS&X%p=>q>wxlen7*mRgG8@|T6C>Fia1#np>& zu++eH+Ndo?kett3-*&WC#x<1r6WHqeMJ{9ODY)m__ovO168+#{mg}$2AG0=D%eh=( z9i7EOvb+ZtdYTzAx$ZyF8a#K!gq|ly5$}mh4BIr^KU3-i4SUH66O3O_`C6Ha#eh)U`8WhN9TBdY^wige91^PA?BJ!m^R6T6?R- z^?qDAv?Js6G3;I1{Jnc5OmG$9WubC=W`{`Thkfsy6Mf#{I6-YO%ufl^AFI{ZI{S9> z>?$Zjc$xOP-KGXLXsX>R!um>sk%kCSV_)Sw;86pwHOVjl1lyC`B86C%b*yd78!z&x zXDGjL7>In}LX;Wfq%83}ti(5c-P<7?la6+frkuC~nUdK@2hc25-hSf*&^P`Fs4#O&RF zQ&5#6PXL^7N#Q%cEZn9Huc0GTfk#Ei<9#Tp=w16_qMNQ*Qs>Vy+`HAlP1<#6&7NMS zRMB6!$IHH%GeKH%pd-tIEfW)!Z;vKEoGDN03j|~<-yzIW1`xD@dkqr#5LysHNPer1 z(sMlFk2m@@ba%U_G`%oK`1+Ft>@u74=DHrcuRLbCsEZPodhl)W_NH~)ml(Cr7qJmf zd-a18#vwJXgfDpPgqwb?o$HtCb+#7QB+c=A%S~_lVFqf`5fVBaicF|Jcnco;r69}+ zCPc&X2PAQFDm(Hta+C}rhfDg+7H(M@1KL8e1uaG3#^Q_!Fn7n0T_nJqr#}M^?k04a zi_LTHaBs?(E};qV1#c=ad>~2?g;@_=n1-O;lyk^H4?4XP9IGAai7A)QiHVT@)0a&MSFWP$x`C2{?X9`Haic1Snm zJAunc@p8L5z`s`LvsR54=oz`tBNQM|u9&%FAUeNwPoY-tFLCTf6xKf%RzO9<;l|@|2yWN}U+UA+c zrFCRKC%74P`f|>=UG-TF^W~r{Ypz;S9_I#(+R;7tBv*72(f58g8rA`lMFEy-B0cBS zU%$>y632wUZTBv)9J}JW?LDk)+GcJ}QvM=thC`g@go(6Amc4}al5AL(Hr7eT>iy<7 z4<_pnkp%5l1UZX)Z21nqAvyCNi|aS<6;cD`{rB^N-$)76k?OM%l?xNIf};};CSLk_xT5QPIB=FdOWq>wo<^kyWY+XBaej1+y!&c9(t(K)x3bWKH1GS&h?} z#3{muzyyVA`SNNP?f}W6f+%uz&`(x!8zC=Wa+Hl1tC8`>#&uRB~R~KY1vPJceZ{m zjsZ?RCFf~!@~ckH)LJFYE%GTCafl0pWPl;SjY*-eI2x>ZyN*?K?*ElRUqH%9Qc zb$(&Tu2btZFO2Ah-l9J$*=#2wo~C@AWYe?%-2 zo&7$`3BCmW9yH1}thHxpc|8YN*!vhQKY2bd%wU;M^$AnP<%Y-Yk&dPHVxF0&!-s9< z+f(sc`Tlh^o;>h-iX-!=RNo8rts^y*G#3)Ch1=Ec_TtoXNG{ zj~_N$SWg_^GGWmQ*I=lR<8kdQbHu(3KLai*MDP9#>VNb@{|(fCPt*Li3i*FC(cg=9 z{x49^!uVqf_&aKUH;DeDRA%{0jnF?p_OIE%Oh3Bcf8aF3uj6#v|5`YkU?M~fRoTiM zn)PtyrUf+B#FhGHD)LUX0xAOfqM5nGrR_sBaH_Z+^{z8$6hZU^UK>g~}ySj?&>x6A(MK;Z&PzGq3 z811Fgr2L{QPZLL~5hbBWqjW!3bH}ju&y2`NrBAc>Zge*F31&S`B*dim$np&#qVsmM z)n!VzqjL7sTb+nv*`t;{&T385W+zsNB+mWwnyo^_TejFuRe|r@dC2izIK?7gPdQE= z_|}bfjAxr7i&e$1DwMC)3RplsEuML!pk|%T7Hz}PPJY%rV&Jxi6Gm*2>2izHm7>hn zTF(2qUu%RtU(e-ZlAYT9?Oq{N5Yy~ zpyfh2AI`avX!@b5vtqciC(I zP0^!L^K3eJ54(nn<9SS&IIeEA9eXxrmu&Y6+_2D9E(?&bRUTu;T#8_bWZZ^APUq^e zS0(IC?8v>H0!*Uf<=3w+_@BxGx~zJY2~@Yv6zi;@6P3ogR&ynjYVQ)h8RkWQYw?f% z2B*I%ANGlL(#lYgzq}28Z`v9Tvmh@;Y5t>RNYSA$8QMV!bKwCdq=1UDQ;Q$&QVmKf zUb&+NYIb`uR`vlqptr+E)dZgg;j9xEbB!*Eb@m8+3bGzPilF8GnyJaD1h{};#w{5i`xQk+gJ$IRbn1V?Z`o+ikRYe(*)?!S7Xeio% z+M;}15!A~5QCy@^9|%-LC&4S^;}{Of2KDv>bq@tl=~aykm*TY}8~cK<0+D-Ei^Yve z>^Pq*gkrer0rK3od`i|k%enP_?q`(cfZ;De>+C(ot0q@=upWWF3HMje~>u zOLGs9-%KMXz(BW}uI&JXR-)ZvM`!Lz`4n~{g!Xncrd$q@sC2^=FwZ<3g^@66%GQ=I zQ;L&@KOFeLi+-JGhl^?$qE17a zR6gDOvTUhFNMq$kj+l5L*$y2{iD6?MxAlNUrwwF`zdU3!E%I@7#%W|&qLT1N7a*Jg zQFu$KCu)Bx*p&>7Ft%r9+s}(E0@(1;StmFML>V4hn?x$nK!#VEr~mZ zLjMdj{^Fp`o+bzhV}OS+@v{ehR?vdnVCU1$-sTV^G}SKuOGEJGfy?Px-^QWRF>L;H zSG=t&4YeLGmGp*dYiL9#3NNuk5V@di{bGPIcZino^yb@2#yh&EG}eaY!Sk>rR^>Bn z#L%N6FESfjI(yQd`&}Nh_0a;B`I=}73bO!f2y06P54w}5YFPa_7gpa}g=TJ?1y8#d z07Uo9+MjX3KiekXar3XX3FH6WHu)PD{DN)ruaneS82|bZFW4q!O6IS+ zx<2zCg{9=0PbVh2m`TjZCKbW&ZJgb1S5~))J1hI((6h|#H0B}OGQ167TsL>C2*NL? z!DLwF0me{vx+*`jox1}sC>aHIqDv|9!w_v(JG1&5M>vnzX*6KmsO9h7k8QiMiX)}f zNxZddmYRlAQ|_q<-`-@1{mQB)M-e^228trpK5O4BGWPS&Iogy<@ow6ZNdIF9o5W7v?G`D4$dVz5cFJb8X4g7M zIp{Y?q9i&@aa*a2A}JmQ~X5k>>roMymfd~o<&i7P!cDmIi(-d$KALZbW}ft z4WtVgOt3#H`2$WOAEu@I&&NqJrFYtx+aKX%k&zRo(~S^ymmYX%#O+P`t#J00d)x4B zqwM>56IG?xpE{NgYh}tuOj~!uOPrxg5=>NDz>P=m<5aqxlRp6K0?I9@{#PRyH+fG5x)V$tlfRud5LlYp9XiHeu_~{C+oB_ zp+o&BA*oGUa>T647j@U}H%!zs`-IHCeiSaqRYv!PvcVO?JxDdTSrz^4+EgP{!FJla^Zq92Ro)px$N z7LJQcR}C+1h~!$TFE`MZK0GN`vpj-Cb5dVyX`jl8C*bp|bXqThSSh^iJv$b$ujR~7 zjc@m@?o<<{{L;8l`fa)a9^Hxp@<_~bUe<4B$<}UJ^X5p!OlIQ<1l&il_;!X#S8A-c zfxxW^DK&3FBRV<9d|*yr@uYa?SuF(nrQgUGd3K~oPH31R1}Q(AwGL+OgwcDl)nb5X z)`rkAOkfxLFv=563V>?jw%Bnvv4x^CNgX##iUy3k;>LuP8)*4JQzL?}(k{J<{k^#+ z6a{7Un4rBV!-bbU$Y|4kt_j`ZG+yHiKuh-e%}+p$>7Tuf@0a(lp!Rxo|BpG!*I8A6 zBEfG0_xl01CuQx~5DQWyx=ivUEj~hd3qRos)tui0T zY)qP82nVy+vlK#4M~(@qH#%prcYs_0Pce$2I5H`$}dyNdU*Uj# zn5-FSwCdw8GppW*D*(179d)i`UZ?VC$r;y z0U8Z+mJz;Z#@d>*3lOO9a}k^i(3Hc)GU!kuVfmb`J?|&a0=`0JB5u9ZX^)yS?4{KM zJ-#rg%-y=*QTd+TCHc~z92lRw$~c;*zj9&`%Z6C`(pg!h8Qah=@JV%v?ZDride&Sp zc2F$1pkb$pKik^%dGze|3tZi)524l89<%;Hy7v1p86vBAf;!X(X%X=B}65?1KZqLTt;xRK+DiHOmtj9AHdo5Y%C?itX z>kU_0=FqUZ&p;~9vwNBA4Xgh(zL=dI7)NPV{SE`Sv&CzZ zss;Jg#v{rs$(23q(557n{_DL^fBI#2b_1<;Pe2>MwS}L-%8y3h&*NsMzZXw_pT+hI zaWm6*P4mO9d6w4{%)h|O_o)0o$IX8k{q|phmDf>ee;(s^SYiBsfR%9h5h-6DijNk6In>T&R*efj)v%^_>xPN8(iaQuBX~O0L5>-0elb$ zGYEKslqR8qS9Sg0umEf%_dXE28_pajgyx5fd38@muI> z+LjwWUUaRcmXl?tfjt9XhGvW0EPDs#7>nL7EH*XRPTElhp?!$(3BXh0y+9#?(jalk zTm<{XF^QfP-B^QcOtKF$t&cJx^Wt=%bD*O<(pmUMMFFX%9>j#Mb_^kHEX5F3f;J}Y zY^&KMkAECwWRyFLYgheO%TrZ#Rb>s=L*eg<|)LT2x7IVWWYZn*dzo@4Sh_@U7>P6ElSVlmv`HMpFl@L&2VIC(0hEm z7*C?r-*<<|&Q!OlDAeu?zJaSkumUhDd#El_RD3RjT52|PD6U1c*tm%pbgo%0YQ}c~ zg#mBc9^)sPt9Q^n($S^`os6xfKUG>54lsNaVx;DsK`o(N|NuE(`&4 zfW}!iUZoE>a*`jGC`^QE$!8%h3D@CX1z7?C2!9(2rH&HO1AWC|5$3>ndSxf)t) zY1?8>CHj~yWA}TZrndVJFz~taD|5TiNd}f&@4TlG5LUzGPU!|XCGjGxS8F-UX$4rV zE7n!5;rZI>Nh+DG7`pr7dmE=lD|x{6wZYx!#euLu=1n(3n)-0kvEO8v)a9w-TwI8E z@^2e0Fmw59{@QL&uLcj;)xTc;#$D00up1{mSSEvyB)F#loH`}i8ZjMF zjwvA`Qd>$42;HJ&Kn-W|jQ0cnHL}r6Q9Y(5bt)w~a?6G=K}^v)^@X;cHWcq+yE${& z(x&iMohpie10YPPQ%L>SgtNWqxi{5w<~2F;N+w(O`_mcU^kjN9E;gWp! z-L6GdsB{MmEDPKi6Fz9gKo*92^9flUqleI|ev^rK_J1b`FqJ_FP}B=(AzgSUv&>Mm*gB%OFmglLACKeslD2T52jm;n_*mh3?ecx<|~Q z1(tLqiAgZIWNmjU9f3zJ+!z!`C_89CLHQam)M7dRy_9RKrIo)X8cnQ5^U)h~1`mMw zWyr|Hvb{ri93X`m53Q^Wg{#Ve_fjzfFug)_G-_6mxRdqccHU2lq@p`JDvf}#Lo zhHNvOh}X`;-F;H1Q7{%d^EH=!)kdJrjbH%SyxG3=E7hf+27jbXYU<$|rgxo8$;zu3 z7K$v+g!J8G{8~S4i@{K4h|0B2d$n4bJQ4@LaGyj@n#;ebeNVTDm=ZPMe|1Wp#D9!M zYNP#*9t?t{Uo^(*D+^MkufF`dA*22xczAM27AOropA&3H*ggd2#@$L@3bWfJ0aDX4 z&_IYx<2$P5{59jmLv*V31X<`cnpur^p}26wp*6i-*5}jr1ry38Dl0&!oG63_t`IZn zSFAf^wpF`tV=26l(P{SwB;PllHoyyjnbc%0tzE1oR=z8+kEtS)N@sXJ9_>Ml#zqwY zCm>@X{=i+h>VX^0s>{pnK<&B8RCBGgaUt@J4lj#PTb8|eYr+KT4pdzt8?lOvg^mI- z2AQF-C0PEMDNGcjO5ws7Yy-V%S|+fWQH@6ZJ}KRLdcV?hp-RK2+7l+PzG{b3xVB^B zW6!3d4Sv|z*jBq&XHW8#6LBI_jAthzzy4ibG^e{WG2DmY0WxFlwAC3p$K?kIFNd4O zk9)qSCuZJ5A350|tvy`>#t49@>YIHKQ*zG=AHWG#kkZz>m|3+WWF|aC0jrIc4WMh zTJ9A(`zYSh5{TB`ocAQ794YK01!NIZUqJuyMQdM6+kM{UXWHPO zQ$yc*^k1~W_mbRy?hyE!HlY8DLHAu7{BvrE@%wh0KeWLwKE(1mJ?~HY|EVti-_GyX z#o^5OuX}8MYgGER)YA7~{^LY{q?X>jmWchLwn#^NokGHV^d(w*t74+|t$`==jAKqPviUyHk*-QI*!P4hrJ$5 zVi!otyt^*Ba5W`JI{Rk$wQyuw)KZ%2U|m6tQpf#zwI6UoRC9Br=k5a(VG?yy>~tU^bIU`Sc}9~GO>>fw_`$o8dmRUNThOYc?8at!jdOug5NSB- zBI1gx2JJb#>_V(@xx7e_cE-G}LDCrlZ>0x7^@pmo2L(@$CT%w1<4aM)wiy1}Oj;ce zt_}~bgP<;J{!&0j&BQVZ58|w7s?GO3-^`ws5GYkMiKX@>B?qBH%?sQX`4;#w8|SDO z){QJcHE%Hx`XFoOgQ{6W+-Sd;Qab7Oj&>bLNvT*b*0eQ3XZ5-VKFGs`4&+;9$lZ~+ zb7s}MeN1sugIqR-E`mK>}eWJ?PMwIN5I4zxa2lYp%E12A12IPt9t#@R|fRWWPK z3V|!)+!BbAnXg^=YFKmMrz4^c&+f5r@2BplVThX6MMZ0qh2U#!i0bgsjAS2_@@fFF zh|1U4l!}K_yN$?k@s=S`E;qoUMO(^r=_fCnQ^3S5`2XiKAftCV^Pc(K}n$vhYxlS5_BiQkVzt9wgIrtL3vf1 z^Hc%L$4iwR#gncVH7$wt)cDFqnT8d@KyOES)lUJS>&3j4tj7{=_m?G{St{(cP}Cu4 zBgj?Ow!;okFDaHFZnm7^Sr4I_F0hBXh9yzN>J{2Ap8NzMwyq5BQ|s?UPKLTZgTwb> zIc{MFVq{X&Bhs9aJqJgK z&jP7I$VQzWn4Q|ORsC{O?G-DyYQi?FFC)L{`waB1uHMOdZhg|xEHDW`I}fQVjKlF- zpx%-a5w8lpyIhhYoLz5_I#w?rW~Jmo9r8wvT#}m*3hG!aXdZlEt)wv z)ZDSMwbv`gZhCVwJqZHb^3Zge+bYvIKCtMj8FoHK>X)3eG5W<60MRb!FQ1LqirLl2 zQ$BI*^Q+}9Knv&dy6(8Hc^h5Dxkk5^bFeA5dbv_h<29ThHrGw3o@IZT6agX4vsb|k zXpQ^kSuvF}rEl9(k9(qNkH*=FCeIX1NmoqVO9aZcd-{<) z`MhH}nu*cLjPLYiR;4)vm5s)7S3-QQn*{4*2=F$LF_F<;&rSMuEWv(`;O00>ECD#I z1rI<@4y$~Auevf1fPLvaFmWONpo!iqDy?L#i+t6$6bMicO9>XhM* zxk_=xzxgvc%Cd?h8r?qg_FXB;D7&hZ?&8>}&FZz_{2xBtK=q`-1HY4;CM+C%|{lGrKt)9=wbZocw(V)D{i zTL$QOlOSsPeBx@!L5_kq4ebAHR3c&vzaxt$wP@sVF|gqp{jsYLxA0x0pe_!U*!lKM zmc|R<*I0zXj_a-`-`EZ;!0rCP2lZ3D_vpDt**K4Qxcrn*`PemmX(3D&U?MR8SL$Wr7A%HDjBi`VPM?t&V(42FhNHcU)E_prFBGPGh&2L zjqWV&UVkebIa!qMDslHXHmgxJEd$2j(kcrN_Gy?E%j<%9F5yO*jYtSJuTw1{jv);i zJ=`1l`pM0eZ4HO~T7(ec5;q<~#@LU!N{3>52D}JH76Q7r#2&e1!zTV9v*@v8s{Rpk zKZbXez@KNFyaFFO8KNj@mgTk8J&|ky-}13_h-K6r`E{6fL3A0j6%)SMNdmrP)$(@4 zDaQCVeudL!lqcqd*<=6IzJ~R#pZ|8d{>O$r-c-Ef13@crytW}qy?)sW|FEDt%D{l- zEs#p?0EV?I{kJ?6q_8x%ty2rFWt5m&^Dr>Y?w_ZO?i?Oldt@=O59^6OxXwG=bb>QN zz;7sMR@%4300u*of@--GVsWfh=?NgdwckxrzE#W&FpU+(r6BV|;XGazojzBeW{B_` zLRQ}`zq7h`Nq?Z?qs#*6HqvOT$wY2{tlz(Buh|yJ9df!_4#k@@#?&`G;NXT8Oc?@1 z+xeQK=$kBjd8tr1^YG~D1gAhaQVpn*>4-VWypKTA!kmR@td{`9#r)1`0MIJl0h49; zb#6LDpZN$!isQR7OOw6B4RlI)S4#-764J^~P)u+j*I~+2Vj7=CQ?7zDk=(bIy4x{I zxXwuI*Ad7p@0BWbBD+3>@awOm*vGRtB8ORo7FUNeLL<#!cX9>D4x)nBU`!OjW*|&r zaG8;J$+H6yG~9tQ;HO|aH9W1TY&H4olAJWZ7P?<%1WlpB7RZ1^<}E#SFzAEj>cbcH;BHCKjlmXd z$4yS+8?WFxnkAg^WhLT*JHkeH!yVA=5I z<;qw$%jk+GNIo!TlAYZUVd(N}!`Sd;6VC|lzYju^M$@*c0tH+KZ2X7+q zu*aK`0uO$t^p27A5jY}(jshp_mV;v;=LwKM2S})@-Sz%?EcE6}VyLA*V^atG*Z+^U zw}7f6+qQ;rcZXoX-QC^Y3GVLh?(R+?xCaXk0fGig&|tyc-T6=G+oRLB`}NIz-}@PZ z0URi5Rh`;<%{Au|&>5x^KfW3G0rSP{km#(C-4Pwe_Dx(nry4#F&F2V`qUWO=V^CAHl@8(^!X;h$illAvxdVgpJDaL*s+%wa z2-*=(|ABB)&S9uYwQi;MHL;3??wbh*gZ}Or_xj zv5wBD2G)}Fli_;uBLcq^!ldg%*mp3yD#~LQl+GidNe1v6lYacDS6ZmRE4%w%p!)_3 z`0*20E;mBIK&itTt;5Zx7;vNk7gh-h!E8%3K?5ML+HJEz9nASZ~~>z z+&I&-7cRaGIh(PJ-Kyi}MkYcRNSt!9$n{)K_g{{S71R-Hr#K0&{T6IiaU^pIoMz3u z--tTIAJae@Hi%NY24;!XWDQ$aa=U&!HXU{OP$MNN`Yus4t)*1I4`nBsaRRT1vQKHwjdK<=&VDo(XT5$U3=Z}v(bhCZ zsh__~jf3_u`dDKvR;bK*y`nr|_I11uW!pFug zZu>L}I=X)VDMyGpJ=eGw@~yD0&-K|rlpQ_6CGMIftX&l%EISq09;+7>*;*%P%EADTdiQ zJ6==2@;sb4YISaBzYm$5%U#dS8@vdp&_6{H85cA>gPQ`Rsgc?a`Dh+7cyr_iM$Qxiz57eh#XjTIEpR6Hv)qiVJ zOsF5S`*l22FXQ42FN6EZE9W_wuU;=0@roMX9C>=SF+A#egnt9t>FX--GUF0P>>Ry> zW*q5<+hZ91+mb5*Vv2kIP^#DF_XGU>ba=qpJ0&M(J>K0_CvSTh6!pZ?N_NP)X7IV7 zwU+pKmVIySeIn^Tm$1{l)D!AQr>!T8?}XEU>Pc^S;+WM}H^X5eT-Z*5@+7}sX&O8;+z(0()g z_i*DEj0E(NWM&2A1p+#nFajp9u>yo~W;PBwHs=4|Ol161hWU>$>g7%T4@&3DTl)KT z{cRZa|3FLv8X^BBSYiWoYW`JXGDQ_o+R5;vv~$Jat3X9YjX$;Qyy((lt&zMsn%Xl^&|Nq1Zsu_#st7Z65%T*U=${+X>2{3H=o;E!&<8< z+vw(@R+3-iFkvih>S3zi^0D>aWDvohshBvHqU6(z1(Fmn5>3GziZxJMOxj=inhRws>N6zesg2q1{_`q6$J>1I z6K7D#EjB`Vu)7Ar4N7_gCtx0MvU>3omGna9$hnrtL??FlNSTvpBE5tJ`j5vL{=U5a zsyS%UCD8_}L62y?3t|+c^v~@KPkvgVz-D*PU=&}vh?}y`Ql?}B*6rgDSBm$mF=KM7 zjgO-*^~I+%5`s;Fd#Y<1Fhho0KXq78Z+W{u_LgzjLTB%X3O2egH1Tz{J-MdbUnpS- zclLHPBsax(o6If?iBvd{+i+ht)iza#!A|WLnHMIt@3xH^C;8O7lvs2p3;AQmcx2+4 zIVvcjaiP^cI$B?9lCz=VNYx=)JR;hdrN+5lHlqxKq9nbsq2*c%r_ZjXt*oW1TGfZ0 z3FgW&v|NpKkm^)q;i!AVS={4c8K%AGzB#vZZc5Vro=q|HRnPgR3}*1bzGGV#F}_tJ z6Z2k;VdQ$UN!uEb!r*-7)XT}_q{`6Tn9&y^2K~f>Ri7MYvm*r=j)w@zVe$winrT}mJ-&6{hR%$M(Y^{ZqLC;A z!*=%bv~TqUdN|C;*+o3)fbk@qW#0_X=(t)&XKZxkjfzxAKFLpNSfS?7)q4mV4Q!iD zYH*F|7$02p9yFPi)K>`;ZxR#tW<0~t227xkg?xF(7%-6*NF^u)4YwokRT)SRZm3Fm=0z5aeHcw%H8Y{b)P zU)F_RkJd3YO?a%z*do(4$qx#lybq8f`(DlFP*~+#xXmawKg-gxDeX7i*@`mfFFLh@ zS!1+1+;FQ`E{y1kK_=RhTKFn<<{@|11WWRsicb&T#7Q?o1wF^9TYu(Z);j(uvURWkqy=BtUKF4RnBhfHm4(s8aU z+i&l&UO4Myr;ZuZZRcDbyQVyihb>A>Avo=WdtUM~wUPq0n-~TXf;Nj#)7hlYdN@1? z;qvuzbakzzd_4wS35FT%wA68)3!AhQk7@`?Q|ggHjH0RGL_C&b5;6C6y_rUxfWD&A zA~Fj`AIttw2?CUNV0@^a+)rY%t$n#6i;H|E#Wfms2@>CQ#^4A=DplnA0*P?1QU$-a zlID%xO#C>N3T7#U-IkNghh_+nWxHPUKxi1|j}BoZqX-nW zrRkS3^5r#q9SblRYUHuIe86=i#dCV>=^9GaO;+k^IFU;6&r-LeV|0y`hJ`^lromIB z?-T5}$ZdtIV>Rd*%55lA{GglG$0KZPuq5dE-clGU>Vaz^nU)uAwB*4G{M}~mmfwCg zvkyD#2WqaEk$S3$RBp1uL-iW*@!Mhx_0Ma^-mB0oie$i@gw>hYRb5!K?XA>%s*NKR zR}OQXbT~9R@1V4r6VqKx+uwgdjBm~_1+sX{4M*pwLDx!!lo1*_-nnGV(v*R%a~Uho3JylEuj z)QtrR2rNDO61@P({B2zk_qmbs>?(XBYyeb7tc(<;w_(>Is%KAVu4;lwWUr;@noV+e zhBMWEa{Nk5dXmTwXH`gJyHj}HL8cdFmm~C=7#Gyx{h|;402=e+krUh_oWsaKU~w%b za)KR|nlCbaPfhwotfg=10F{MnAZd&7+WXyGqCOlmoPblbVjnzo)Cq!saZsfW5v7oR z_&tt(YK~%3VlK8%0cc=Jc8%{W_TSGVCdK3zxiZwMUq|7#exb@{6MlB<94G3*3cGh) z(>w99sEIkMXO_IG#X*!^Gp(~p&kZxL?)`!_+%{j!RI^a^JW*zt*0C%gx?nR-tFsfL zx^Z0#1RD>TaXqc@+Si9$r9lD-ye`;Q(;ex}`89!E z6z9x(DtFHrccp(h#8WECKhzK-^t)=Nxciem~t&4-M$dy2HN(cO5g_?Yf0e zEy`w4CU>RPx5U24J*R0e9g#^skAHLBFnO3@Jw@gnQ z2Ze`W^x7$~$ON!aip7rp0aU}|hub7Y2a( zKRMGM82rV6fA;Ate;H=-3kR{k*!bTA_dn?$zX%Y1h8({q_5-lWuL6WBRUNxYKw|%K zP56}%k%7^G!`g|OR9HV~rda>ybdk)~ioVR`PrxyH;~lPbY|39kgYS^^zSlU##p&QP z+?*1c36g=0qN1y`VLP=Q>a1X@6PS936C+8)5`9OnXWv$W$o`VO$wR?5P!#E6k4pDp zb9s-ANGLr1ya`zn1)I*zWcs$_c2iWuurD3P1Y-$ zu^Y>0_D7cc+Y9FVOLs*ZqT?$`^sLzvoW2icMda?lFW*2_1D8Fg4D?x86iiX(RTfq5 z8!%tcN5#*?;eL)@qp|K>SGs?Ux_-Omt4fGI$~qPzj#3>KzGVJ2yf6YLs_LqF)>HZF z+O_m}D@=1TJ(315bPNAe6KFkTb|4euyN6*CZsHAby9VC#VW4y9*|CJYf@5d1fW}6O zw&C;-U9(HrQ!C`-gyUrr19CO`Fe#=CA%b_z(Ak5|$v{UW2C6f@Sl#;R-dvxDYx8*r z%a5(=nY%7CTj5@lZfXjwr90ku#^ey!`sip*P66H7F@c_%%BybmbCW`+C_*R^^l&d^ z-W^Syh*05>E5qwrEHtso5NtEJA9kIO!@8mN!rIYiE_F8aI|N?U;hO~HEMnl#;}$h& za2*+-eri0GYr{i-;LJ@X!Srdm|Uh5r6 zywP#_BXY}dGXv`dUmvM>tos8`h699TcXD}A+oTM5lIpuym!u)7O@PMRs_bG+MZm-a{G>hCmEIN?o z9w)hYO2Br(nyYKwmR-D-AoadBvLQlqo|AB_cxKJ!o>ALd*%Z|gPVOBaUDhtS)Dpy( z+{1AS4aIzLSt4dia{-73pQ~`4Kvj5vzlFc4Z}s8t_N4!u@nC0}B zJ&FA=r+u z0GI&{G{|s_@aA_%mT#5XptEyZ1=o2R!G}|JbXe;eQYaRNKHu(}(M?qsro>I2tDuz) zt=iv=+Hb9!Zw?1NZ&019Ng{>Q$f(~g!NwIH+V%zMEqBJNjf0E272ZCMMvZ1sypfbQ z)+JMCZ!%J5@7q(~HmpGqYqDa80ujIaUcJN+o$Y3MSTgp=6^R!joqvA!I6Z$kIdYyu zq4Vr}e$%5_R@TcKiLT|rVO$= z3NoDlvm5H#N(lq(Tz}VR8_lWrpt$oD2#^W&qG7mIRSyD_#jLF>E|VvL->mRQ-UWKi zo6eTEwbd=x<|$oPt8+iX6f=ITf=xZoaMjz`kX_pC^3>U$xzL%!#%FEXLF6I?eN8-s zfCRyR9(%o#j0X#(Y{;0BGOwnF*j@0ZO2#9ODs%f->~7}cszM59DKHuEEP?yjXl`YY zX9?pTCtV#-d;xI5aHF&32L*O9EtVMcj7R^PeMGEpV8r*9YdBu1>~3LFuST&okgUm% zk5}I4>!T6GP=;eDhS5vSf{W(4?Pq-Y_7Vs4`B_nv`q}dbdJcH}iyrI@&iyVTD4F1^r zUGzkeaE&n6|NHb~ab@E-AaYg>%`DLe;KERXxRWFl6nBb1hAYLP6blj%EMo9`O}2^V zc$p1;Bh5wPg#D||DMa~`rV+xfxW4EEsih<|{5wOr(k)G7A7o9W>s>%;$!*djr z2{xu1fsT1PH(5+y-mOHcI%_4RmJicoX=%4wAE{{8KQ*=zM;^GttT{z`@fvC<1R)Uu zYwPHC^#_YUAFwNMmeUdvD-p=CS8B||BidNNF(K_)7O&JzPn)G8;dm35JgqTDT!w=h zstr3qz_$4}c~pfoK~>hOBwUV5*ThprCI)p6^@+T(lpeXzhgdCrr~lQWx8iXXyAC07 z>YL(}S3nsB19}TY{4S$zWwLttzWdw*gi4_nH?xQuRF^?_KIGYw(20lV!t5tUyhI@0 z#2S8WZRC0C8T~sU<Kv*AC}7fC56-}NdILUWmTD~ zr6y@~n3NTM>D+Jgh{lVo1R|ZYxu1>H|eI^LeaDK3FGrx z*CiWOXWNG~6pq_ECj$Pmr0M!Svz_{{O}vZp=|1t36G}TUo}^0`c-IccElGQwk#G!^ ztEivgHeMBVe^hWYNuy`NUU{XsBF&~DfV@#0Fymi5wNEIUtkJYWNOI0Av_ch&vz4gv&L2&i4wweC9n06N=QbuHVK*l+aE>J#@W&*V%BfwjK3o zk3S1_=3No`jOSo?9~13<`(D)Tez$2x4+@w$Rql!lp;Xu`EP*uFMYk7q;a2zDKdap*n5gEoi<^K*skzY9Krc&em z!voSl-o+pzM~jW8BUWgz8bXJ;mQq6g$`qLf3S1Bz+lTgY0(8FED_~Z$r806+vQ4U! zBB0Bz?>Y02M}t7uHc59m1i}GxublklCqFr{S+S3uJR@H$BOg|wX{gapaB8LdqiMW&i4?EeZe>l&$DViE;yxAR z6M;y9A^d)CHo{gD(j9{NH^cYY`B5aj(FOIFd)Q~)YiKh@2vV3!aW#qS9YkV=tmLI1 zDl61BFYcitVN9mfTwGxr@C{5-GOYFA*KfN;J)-(L1xp&o$@;%JiRv&~O;9oKH-Qf7 zM(tJxlxL*F$Y-@hJnqaP7tJB(`wMC{#<9LfViW(mdh~uGZDmaXu72N?pkSoMU*7d8 z@30i_VHJ5fHrAK_V@{#)qw@jhRmVZ|m(UO(J8X3cP_SrphDWLs)1B}-osgelR-;&;F>g+t| z*5bP?B+d7Y^(M~+PY=;CX0i{3 z2#^}LetFv2l{82FG`IA|v&%$(1H%AQ!T*3De^2+mpp-v{hA+(^enA5J7YzGJ0t4iT z{Xkvp94|nQke&Uv6mRyIeDWW!|CWaKCu!{EnBP&@pHwGh7ei+cdlN!>84Fu07;8wk#lT3%37B}q%*X*~2x4^5bzXl-Hi@2V^#;6D6e-4D9uWl{fgXv4zzv(EF22LZI@pU(8Ry37BAPRj9f z0_^Vv92|f_G`|=P^=atIZ?GZxb;;LOQ6;EGL>O%olv4rIqR*zj>nTI*;0x9{wr!Se zcWFQPBL5wGVTkPYqQjypIP}5kh&vDS(A3RnMaT~v?OSKGWb)p=9jD#paNnT$6ehq1vV)w;K}HYQo%bf7XkCvui4 z>X$<0Urh+;uIdmA5otZNqKw=O);a}AVls7>Lhd1s-e7sS-TK&yKUo_=ZluQ(@6$S_ zQA@X59H*?hFnynXgFgLL?u0Mn`Qx1r{q|uj=Co-=9KYm5$Wc?(QMjdtqmQe@DO-48 zNyA4Ryy**%lI6}%H<-9y4^wvKhGg4on%nrrh5V@?>k+eSm}K9zH(?LIv+8dKxp^C3 zwgELVt!PwVYlcf)oyr*N5s`V0Y^RNp3sD9IbL7IpUq#-k&s6(zf>@LIW4$!2m3&beIygIFqKO<>;c~R?Ar1 zJ0tWMepr}_YLmBd!Sv(&;XU7;!@;N5mPQbcL&{_5?TIkupzmNI2^LqS1wS$9xF^v) zdjRSBo^l%SAhcof69X3=_OZuMoL8UJeQu?*mF*!&cIYi z9i$0(1+)OwG~caNXJ*bn442_uDJ`~5Qs&F@l<}bl?=l}hJ1TYi)`BIw)sTNuN|&Z ztAzRXw{J4l$Ad`K9O-lOntL0??z+vF_?Cj6HCWBfY~Kv(F){S?=7=Qtm`Cw!NxT>`d)h-@g;0YWNY>e_VS`=)L| zZEPF!N?lS6hiYJA@4;n@NQaAkN9EK!PJ0&~3VFb>!4&*_T=2`C< zv?vBKC+oTk-LWS257fWLfs2Qz8Lnms@K@}t))}AhbrEoc*JZOO zO<~K0oVS7PZ--0>v-POR^3rHVB)zvuzVXtcC|T50p%pzB6ulzl^aWPH(lS?+p#(mL zVhn}%y1%X}F~9qcGXcoHj&?!qE|BZtC6u$iw~tU)wVaf(A184$?CfQP*^ZU<5SNP8 zGqYbgVxSrCWA;RtRS=mVL_@Oh(q;||ovU*0@Ln-*S}?47?D1LPGJof#uU;E4OD2b) z{KbpqblLi#^)Vg;p%#GxNLzz$ZA7%&9JIHx=M$BT3~~Uv<~KVFgCt6g2^U_Be28uL zR5<%sGX?wTtQbpasZb3_HBlOufc{Geczf%>SWrmA(mF)LW^(~Jo`l*#Zg!hG%TK4J z6on!Paa&jG-@24Xat!_s^8XAM{s+ka*TNQ#Uo33-E9B>Rp>YY>0kG`{^#2pIfBD^i z0j!wW7y;R19E5DlEOZQj4o^R_-q=`PzW;B5)!$~l8QcCly86xR|H4GTWwJ3b(f!b~ z7y+XM7&rmO0#fui|7+y;iv}|Osqpm$$^8~%{Ufve@^=1yRsYvW4iIGh0Z9Lan3;iK(gR}(j$SpPhg%a*`b z59hAgnjko^2NQ*G!YCtM5)XwOwjR;L*Li&;cHd%FZR8?6e-vhLMgRI6xabh5=^k%@`WEBBh=p3qURCn zP=`B>ih=~9W*f!rJ7_xvb+5Zyk;fhVVS%9P1RcRW~r3Jq*^cfZxQ+nrZ6v$t&2JxSTm?QKo7M zXC0Jjx$yn&FRna^x7d8EM$NF}NXAIi;u~6#opLyb`h?ts9BEsSg}(PXHN4YKfv?)u zBGa6i$P(g#q1oP!eB%{qt^Tp+$bsqTq5*33CCOqQ*R?Uod5(7aHg!>^=DCyYdu}RO zHK!T8_d`(TT%K~`h&YwlLr~SBXv2}V+_yXs8y)piq z-I4P@6Cy8<_n!$7&L4r%uM;ACe1s;p#(?Dq!wv|s|5z(OR_}`e{~WxrzntzLSMMLX z)UV0goIi(y|5~!FfPeComY+M##$!@C?UMdiy*TmRBbu=pSyG{$MI#^Lp1CtXX z3qX8W^3#hOAhB>oM2FluAN4WujjkP?&b>B2uERH4G<5`##x)A^O-u?hp0e zbKVr=lPZ}{e1ng zxNty8vkWhB9;`CF!rOTq+3*jK@OwPbl4kfuD_;X76#Bq7BMZv)1U+1OvH z0m127G-eA$+sz7u>fXbBA$^ty zjA{0rFhsGnhS4GSHoEJ!fO_uY(xX5{JN+Jn+~+LyqLOg!I9B60wz&u-A`FiBC9wp$m2>)cky+A#t96e(tROgnmHT3>_lir#bQ zics1}GQ1MGFd^q+HVs$l&46nF1_TX47*SW8uphRbN$oGLaj|_a0DO{?%@f72s0kukq;oE*p% z-G!0&E{b)8_MUjx)?y`Kq9g=R6HAKNMp=ikMck~dF=M!SGL&1e(5!P16*qT1J*2|L zmcH{X4vx}B-RxYB7DF%G*tyztDRN6X9iW-bnl&&~AZqGB?IR*)&icGbdO{A3@VEj6 zPc!z#-%$+o%ucqWNql1RPT1xNLLdST3u))bH-Ec`_)!lz4%+_g)n#^L$RQp*(zOkn z((H;N*lTs{18=+ibr8^)A+{JC2|gt7DX^Z#`SZrloiqI0w9@xLxb; z7H}yYgR73{H@g%xm77TC1uSNZg(x|Nvmyy}H{c^N4`)(+jEP9yd{srhWq<7icbu*-tzqxJ6SBKL&3?(F&E6bc$rqXfJ6+zDAK3-Tf) zWoKBS3o^U%#7FpU=mqGTHW$BB|{j=Let5 zGYr`EK<(H_$2WKCs2{>!m>)@#jNCSSTND^LoM|Q>ou(d`}0zNev z((U>_qZj1RrB~J=*L{(GY8jza%x!W>;FZVBS1&w5b880@?d(M8)y-sL7`ii$yp zy6H&llKeb~jD6_4AbxRtbUmZFTI8FfO3)%&d6kPumDZ+NlyWvBPJ!WfQ<%MQyn!|E z=$NPC-Q&$8p!;GBXrx(35LUzv02 zBq3z)*nVSB&Xo~e0+1e0Au_c(u}ZH5$OibfS>)YN1U|Tha>FnB0hMA-pa0bdEg$W_+F*up@_&iywrh>a1@;ov0#QvlRA**XIb z{Z|p!i_qXis0H}-Z&A~q!qb=6es>gqQl9=^Jo%yJaIn*H0P2YtIXUP!03` z>#9=MvRh#LQ4__`8a5Sr`NJ(V0_N037W$m$$e3px_U_56|>B^-tI1fIXY0GtAl50(|z(?FpLEx z!xCa<6$`Z$s*Lx%8n(vl6ugL>+ra4jHB(`bNxYv1_73|tE!`6J z4@4yT&!CIZ7>bY!h+NYXMR67JiOHz8@+CA*Jn_Hg9c;6_*9Yn`ViQQCB}#0GsfYo2 z2!!;|a!bKkY>F{Mg~e!S;%GSp(2cFs_h-dt+}qa3*2eW}ymHCBNBi(t_Mqm;*cco- zZ02k?1zkuu1&iXjc?c6rzZSR%bAR5Y} zvor_SY1V?rg@%c#D30i*svOCMgcO5=IrtgAG->5fXOC!w-xE|>MmA$c1+p=Y-m&AgX}Tx2lITA$e4QWC6rfA!XZ2x`Ur|*S5wdlp0B?q9P9=k zV8=kow&zN}TB~sNk?<5GMvkhz2$MT7IUHMvYFi0NfN^wdtc@@_(1#x^u&`Bv>;yU% z^h`s6KmS0fG6^dBN*t$Nf@I3VUxQ(ywdsi?u4=y6F)RkxUWKixs=8`<{4u&ov3Uq< zCHeakxMd9;H8=|Uu<0GMHqazwmdC{IjEdO_=0v2c!7$OVw)ic_PMxOP8szd%@UgNi}HQo=_Fyv=vw3OwK1yo6;*jahi~ zg%yQ!|GKigI*OM~F5;m}xEs}&^G$eecllj&YmHm}6 zMaZXM26~eaWiNPLEYr`@aq1a$x2~ny6wb)V$9tPvsG&(ZmaA2`TvF@iz*UbN`xhKm z;q+O?9oGBvAt{im-)`T)H0i+&@3+^Zbs93z3oQ+^m4ap#*u^iQg5%)$h|&%vn&S=8&%5?zKv5SzD9>uXEo z`N^DlJp<jp;ac+<8@GYG00zt&qtLC2x4;tmIgWshZGF zzfr3uHo9!|jAuuJsQfs!FkgJIaCRqb6@~nNh#I+~_9abMHMNCk~lExF#3;zSB3fDwFv*A`@MxB{~WD zji?~)CLe-KH+#(-#5;`)@~sbM#waW-1hkFPX+oPRQ_Iqbl&Y(7Xf(Y(2x|^)%f65` zu}O*qe))xDj2x-ew`Dho-iUQOf9JM-j_3b2mf--@e!h?ef8@1tF#KT5{xg5@yW9GM zKL9AqKW)=5d;4#h75^B^{ChiK4u=1H&~G;W?nVC39m3C~^zROV1&|Bzi?K|f`aQrQ zAU*N=g@gg;z;*fZ;FPMg`sc|32SmrVaLM#IHOU^$bu5UnD<9^ULD|6$^Eu6%t z$Q{gZBxG&i^TB&7!3~G8Vy|gV7B#pK=K>`H8ic3(YG)ecjb$l+y1*z8m8NJ*ZO!O_ zM%JvkTwYmljCr+DKOdNZkQ0OVz^F{99wpYZ_ie9+SBF1x#RpQCBT4uKw%mG|!R%8P zO!bcZ&_V7cip3%FOKC_N)--j0L>jjQXr1xxEwaO=2Mw(gp{v z7y%h?SmzSZ*yCAcSRyfGcjL$&sMNHhxSY*^T{sP4pQK(;^&~`M6a&))B9{R*ao)FzvhaMO4R;*%y!(yh z8wE)ZG58?S9onw470`9fZvug9-xe!mu2awh@ z_ErMxN_b7e$_U6A-P@Aieck4WQ98~vahtfO^rCeQ?p-OHI;Y2}M$b^z8@xORR_J1> zkY}m*GO3l1I8$E8P=~{SXNYFRC1v$NaRL*(x+Qc*;%mdV&=b~2q{4u&em(iw%i;B| zVUj~?G~4tu?TlDqBYKIMYk_(ezL5)~c|J+g9LQkM7d;y^n%N=d4A7>6D~n>v{0I|= zDX|SFUts&KMcE5!TET3VWw!BxQ6Mn67PtZ`%k*WO)L@4sA{3ES`}Q)Gg4=>k$uk`l zwn*EA2euBfKIqf!y%UT~i8ue`{@OSM{8O>{^qWTa`wYrCP}T4-bh^g-NnyayT6FmF z6N&Eri6`^=&@cBoEGYa&J{56!hfvkD*tqjX{IqkKd{aIKoGbI)Mw^aOt2}{iUOLEg z^R`jJ$veTh`tPi37aFOvXpbWO(K<@Ln$${*-{N75Qf#T=vtv$tCmZ>U@XBZYagd zLQvT09CehSN%<)URBF$tNPz!D*$+WSnb0yJse=;5hloo>ZWsMq+kEfv*MR+#rPlJx zbZ4y|?YRpV?^Qpd>%t~t`XeU(SH_&T;{3ws_2hnP3&YCZRPN2PO_0KijIy<`aY;SBXDj zC0>e0Pp-b2R8F8o5Js=MyiLB~iMWioZ-?OKHVriS~ zJ8FPc!HnxwHRG;xs8MtCaiwbtxL{k*?xJ28mcFYYU*?k#fI5s4#H5t0n-|pIvje4> z*s#34+naW2oBT2f`P}jZ+viR|`ge};XNLKIaEvb@*w2OK91Q=e0r|yv?q|pNvk3L# z7+)03e=PW5`BOi=Up(kH8~^`ujDS?UKfHOSUMeU0uVx33)kG8yxTiLa_bx8=Q&NY1{^26ZhNwi-8{CDnc_j? zy-_p^Zh=Gb@5A{HxeLCSyE|CVWG(2wIq2^VKe`ugIld9jmX_q4R2O<==7GEJ8sR@^ z&r(O~A#^95S=(@WABOinEU9)st{;MCEQCN7FHfQUbkAQSS@xrB(@+M_j~gWL!Kvo0{#yPJMnqCJKXT>TWV z9;eOU;1JEMWFtHrgoE2O2{yRcFd#SCu%X&`9qp( zAdQnjx6{56cy~(hP+F%&Ju^uujU@<86W{tfbV7F?&d0K=%}A)PW0fBXb82IWL~~VM z2`j#xdCR=7mPvB>Nh(1@`2!1L*B9`ZN^N826L?~h#8DdWNlH*O(U4%%LHJKF^Tf!Z zXi{NYyMa(ZaVoI-n&~8gtucbrGuCU`=K1d;`e(|)oQMo%$4~;DRXmv(U#nSI+SO1S zmJ-4mR)-V%E7S(#lAxzqYBp*Pg7hjQXttK)Lg}iIoWJFQy0~eJPm8MjUj7Jbm_9-3c zGn;6eDO_SRf}!jV;8sSEk<=U!jZ{&6Xoc@7gK=fIF}xGm5NyM=f-qP4ex44f6=%?< zNXqLRvYJWpJ6lA7l4TVy^wc#6S_C>KRiQF(zHrgjLf-!TL_OH>PHPxHLd99LylG2v zITEt&OH|8Ph^!0qxc;XAh(byjp#?VS)<=8Y3j@}=#c_HYM3A?H(UNK&MQ37U?!^)0 znRU(74j<{lGWm|5h*BsPEg# zYTRs>ZY$yrvdh4ndyLK^w{bF>3aYc6dKPeJFv^J}?;{K3SztRpWi)34l~R%Xjts4s z`M@llWefdU4kz4~hT)oA2Gwtf_2s6To90G2MTDEehwy|M_(O+Mdm5^XhYmdN5v5A! zd$3MvOWskzzkig2*7?jHXuOoLwnxmd+H+_2`CLv7ZGBkq?P23w(;FnhiE~DS<{I(n z#gCV*9um2A!G`51gMtkyIgFL|%d`~+3uO1)1)lDt*?By9x&9o{n7TuRo=<(0KH=v{U_nydd@_lTJ!f%W`1K8^7| zbCfUp_n$aQ4nRuC|1Q|$0MM9!ID;SV>BWG5X8(RW-9Ngg|57aek(2v}8UON0%)j?a z`Gu*AF^RIuK@3Qt#}6>Jp&5bDz%Cqll1{Bz}*@I;29;+ z-L62@S#X1PFqzZ`W+=vfeHWYcbFwk<6#qm>s2xHP|D%R2sZ8QB4}ny0yS@T9br~oN z+~*{h5uUJ7)A!$)B9P>04kQ|&MuyNTZRRR+D5^HT_D4>1m%Ev+L#hYDY0q3anJ?bm zT@Ar3F%DD9$tEUp;g~T+8)S=O5iPWuhc8;r3SO!~6@5_Fq=RI&5>VYmONgyo>)&Bc zltbFv=rrKHUvi~@5~pyXn97?{4zqZAYoVo7H@Ju{^IAg>YE{hGHcOoxLTSy~DgzgR z-HO}EXKycf9;JnNE%>vc#dIC$gW=ZKkLJWNEkfS1av3bV4C2eoL5t(waW>QN6_R>; zeFX4&?pE$g&)4v`D`PZ&_x%26vf|~v{`2z-sHOPdKEFQ;y)V!2FYpd8r~AKset)L6 z|MmPbvHbcNq7IEEyLC1czwcc=&1p$BR;uqxYe25!mpDSaTCDBXJJu#>LHgg>5Y=rc zeI?s9{Nnd$%0c{14h@h`2nmV-=wRG?`;f3o;;+Xs6eNiw>PuHYWO+?xuhN#Gu>N>m zBeazTynYaVK6*CYgz3No4a$#rW?!dGK;KA1#_wfz|L9D{B(EOgkv{g0;%wPl{JR^v zZ;@M>Z2;+|v*e>yhq_v0qm4f#u z?y{!x3QCG{)nZF?_mD?gns&=Zlj?h$rIUk-C_lnpEkI+JrLwON#ju9j!f(?!X=H+3 zD4z9VT4P)7Ll2xiDiF`r?#~v$}WQ_yYF~5}wjw zJm(rwU(xYt>!KWb-X0C;mN2|`E{2KK0q4>R$$SX*<5|4&4z;eTvVD^-P;p>0s%Wl- z3kaObT+?l7PU*&K#^fsH-_e(7ZcLla+Cj>9D^#_)es4q@yDp|Fb6K+=EOwjgB1Mh_ z(LuZYIF7?ZE^-s1wTz;ZMC`-9hn(>?KtF=Ok%cx#fl!`ia7XL^Bkdi4BwN(1(XwsZ zw%KLdwrzCTc6HgVF59-Nx@_C*(yM#!-2a}LIdA6t?`1?rWM;&Uy<=x&FWalQvZF70^#_IMFVmsgJ1dIGo?3imLBPINxXQ5?bp<Ox#7z>l@KR!QM+=Yy4<7$w0FR@aZ>0#!WC<&ljv-M zz{9l{i7>}xYy=705u1&EX{oT1g2R9zd3ksQ3DsOB5HnD~0oBjf*d&isFF=b_Zzo$~?e^arCdJZ220hYyT;(vxik8CS3XS`izy`@V#jG zK7bQj0^!7lQ_bs$RjN*bSJ_@Ziz9J92SinnS2Yf|e2jw^0G8J4a2u!OOhjmsVruro z-JVFdtV;G!DvbPSm}!~^;)pgIb$HT1C|l#ya^BV~r`Q3=XXzwfvrcWOjfgzI*GB)9 zq~xN8kwTILlX`5H(#_38aHChN2Kd;Pr605}wyq}jVEQDrfa;0mGO-8U|J(x+GP>$` zSdfi|Vjz`YVHkuYo*-6M23nRy7^Gcxw95Y!8|X344T3=|S1|CzwFFbQp|}deeq3Vr z$Req=0eprU?haDmgQEnskMTy4fBJUxJnRBRZ6_pH7qgF==u`@Yw6Pc+(#hbC22(W3 znsdvaPz!CX6p0vDBR8RvTiQOeBEKiKmg5GWg{6hp77|oI37cnzD<=U(T)d!DY#e|F zeGoW8#5+i(U|39DLH9b2Qs);+*ipu)4tr=@(;9v9Dv zwgeko%+G%tf@RSKvK*kv%h27ocZmTf$`}s^&6i}iVAkXYl>__W6PO44BM0Durc2F5 zz1w)-LEsDp-^m4#*YQ+HbG$qflg3K=uWLL`D zx0Vms=M$$N-#vT|Q=0|A9};^}yVKuu3wx5+ZMj^eWFrK`4ObmdvA1Q*RC;C9I!w0Z z6L4~c*V_7EK%@~DumHkX+cY`-zDnP{4O&jvuv@4f#}y+IVJvHI&cBVwvS#)ZVCb~Q z?Z_LFoY|7&7XDn*=mdW*eD)t^z{jU?Y*l?^vR`T{9$@>Xqeqt&Tz4KWfJY1)CJ?YCbA5@~ zZU^~=KW1IQtVDiM?35r13%Y^>KnIpl0Nf9HMXS>dSMPZ1-Up7lLNyDWum95}&^i0E+%dgYtxs9>VL3+4JFTfz%kNyB43p(n zzgfLBq?v`et0$VBG0xJDW~%7j%t#9>B_CQ5gvXH=p+OvR+6A%=lh|1f^-)*xR1m?Jf=oytM#_|Z zoyUvhqR1##+T4$p78;&n3@I@C0o6Hum2>EeySaX+pAhPU((?3};|oa!8b_$|5@$yC z6k`EC<>yI3zEu4oVs|@?z!&>YBSG%|9bynN2t9FPIx%STVq=W~;F(6>uB}{4jYntW zjl3mVW2LQZ=|T@XpH@JPlP^}ajdbkIK<`^|Be@A8*;02}o$@;mjETDKh3=+(I5^!D ziVH*HHlh5~qdrPHd52Y_>LLu+Z~D8%5U;<&wSQKV{(9E(7BHSO5$p3F5+@Epu zAGr3PW|IF=g!^w+4#xlepno_@{!P99z6eJz%0j@w^v?hWy(rVy>pu+3e{Z$cKO)Kh zKIy;kGW*xY?Y}9`MQeQZ)U+Y~qo-!SNVBIRtnKW6G(4+EBnCUPg%&QIZv@FLHClD` z)Dh?Nbt<~;oJzz%Uj#06-<~7Y&b;wvTh4~bE)m54tFgbBqw^+g6_0KG`C=ZM)SFv> zeUf8~ztiK1F@kN(iJ4w0qvYMYtipjP#bJOoV24%!}%Gk$c*0E;!_PJ^pZ zv$yQ1_LTcr%Rl&T$MWr5F>fi3Yj+*R?;2>RFAX0Mvj<1NkT^R0;PhX!HD7lGUV?jX` zy0WUjQrJd+8`YXz$5+srlus?R*VxUYTbG(wqH>v+IrpH`CdSOc?hQLLxi0Xo>mxO> zjp6ZP&zQPIrl0Cq4uJDHf4!r>+PrA*Tx$q*Oa1nudrY>eSef%0bkK!H+=fOhxh-il zXt-Wq+fe;%VL4lRqOP;Me=&OBNtd?B{zf~ajbx8|de8`yT70H;$8+xp>r0Smo3n!^ zyC+=0%|v%iirPYjWRTuz?O+V}tpo{vrwAJ@KTy3!e zn{Z#{R}@=;RO&|G(*{d)itSG8nhuWFRO;5Ho$vS0muwDy!Y*TPu7J$ERIVeyK8f)* zD=xy_m2dR%^@M|-{PDDijgjw4A6Y2FotfZroLOEY)EpkiU!7sT_vgE%=>ryB;{x+z zRqqPT9Ya2)(Dy+dyM!IJFSyr)A+lGYP%ee)Tj9Ul`Tzl~sWR4-%h$z=7PFp?lc;5{ zfK#h!Qp-F7Kg8M3II}v9N!fDEi|RN96(NPJoU;=H)05_5e@ZV{cZpj!V+<=mHo}bE zB0LeIfnv$pwVGjz^V~D|m`FJl%JhfP@_yww@w7a{Zp;kM7>q}V`UgB1-{U3R5uZt+ zGGnAsf0H*I%$<`e^aU{ClCXH&biAAtuJ!r#b}?n>)Y+bHq@&ZC3c!H8MsMG#pu>Xn zFEXGuk0rS@E@Vs~av!O>wVAk#K4(A5Fey;W-{$cnA+E7zRwa%0JDG6t0m9uhpm$_s zqI%f46`s+!!eOB%`TxrE^dh@m#N>))qn#gd$Vh?FeVH1cRZdS^9`+YWz&}I(ZT~Tq z)K(-87G*!g+zvaFbK$%~lU)T-Nlrr%Stc zAd`O!77MFshV=Rs79cvhEqU|FZs(jYmy*NFe}K3?%UO3^@tyIi6?7QvEY^@brvu=` znL2mKwiR`Qak4$CwE`=*bRlmQ8UHAoOGjo1n57l!@|=+;VH!!$foD5y{rEN!#=w|B zwqcjT3C|dr;nu0>r~JmCcdy~tOQF?<;egO7dc(Nk;PXBfN!G*yXHksb1cp--2yh1g z-j4%{1t&AO#>r%Bsbz#3Bo60vFqN4-GPL?itTBFw>s}syzXq}yy4s`_RUdQQ6|sVV zL1;y+NYIW#1AHSf3ELAXanQLQ9>OEZEhyL^$_;09Vn-Zv7xZOlm*e^~|6CD1hK|k# z3|#^ckWC$b_QFMk3~pQ5O0}0TZzLw+-PwnU*6$DolX;VJb>p>|v=dFlQcsP$$(-N=I=@fK+6Q2vyJf2%I*RB63lq zDp`X~kJX7nIn}$F0H#M^>=o;aFKs~yh5UrD(=MN<#brR41REx-Y^A%Paa*Pnv<%m3 zE3e0Jg-L)pwQIs=TO2FkJ+xHY&fI?}@gAGFiypatz*1_Gj04(@-PTNwh3m$6j>U^6 zP?dpou>mG0)COmcn_F>MF5f^3_FlPlfQhRWTmcGIP?jwA(W4`a)Ksz;sa}mMn zU?-|X5X_|-8QolX{0JQKIA>%9h|Y@}V?=;K&`)a(^;Shk;&-)bQHJ#Ee7`-o>knOf zg3rOv_BlFfj&VUEuMW#LAAjd}& zFL=z5&3aU18s?l{m5v13+0TxgA|Vyi{9Y1m~fYX@WXJ zyP7+^nxO(K(G)`6t8|zlD6m+!_RZ1Uh89ndgFp+gC)jNj5(|PEn^S1W9YnUp%q4jR z`&$x3+#&;0fj^uh&?tbBzP8`H06QiI2fA60Kf&oG(gHw&=4`We7D@y=j=q9Skj`V% zY~33mMTTR!Vtrg`jb`mqKxZqneh!a^10;&S0Dp61a3aUWDX*Bs&q8Zl&}e32980I{ zTq(HXvpGkY-ZSbFGK_Qp7+NWS5tPd^YU2fbel!?61^FI;?mMZ-Yt&%Ar*%`5v@swU804KF%?xoLW(*h4rlT%^ zeBRC*7|w$L!^5#A#<@pOnztsX6B|I#el81J)puh7b@IDAXSx*CUUq5Umax|Xpds9l z0lxKDTueEb3i3P3456DbqxWsnh>tmy{7f*o9-|hH`1M9TD{`wco<@n1F@Q*A${4Y1 zh!%c-ujHtOmwjvyrv60NR90KucYuT!&pIZMW>GiKX9o$8vN0CVKVD9;;JAluzGH2Py3Gf zgma6z>~8BL3zp`<6NAIskiy4)H)a`#O>p2}{1KMNg+RiY0eh9UIET0+xKyf-vzck% zzD;NhQFSASq+mKm9X&G;Xx$Fzr?)iJ=Saw1=^MT-t2e&$yYO&$J%(6T8}1^h5*=iq zd%Q8FL}SlLjN0e+tIYuB7zTV_?0E$31AtmZGV@7bxl)6vit8f|S_LuW12Mcz0+Tn1 zRrBNR00QF8v%ABWuZ{&Bc&Q}-AeUd>ZOx8R?pfBBe5NQ+m%1`59AZ#s#9d7U5E*eH zdYty4W~$6DJ!mJ+H}$3!KX~!GcVBp>Ps(qPZ|DJbk^}NN&adHBtu(%1QJceKl8+Bm zeg~dOM@(Vt(>XsF8!Vgf=yQop%2(U(X1Jo+^ZeTF11xBN-2vIMV?WhUOLxP;wTIwW z+hrjm2#I@a-{X0&i}6K?r$sf*wNZGoho|cGn_N9?6buX9`|;X!;!HDXn5N5UXgIH_ zYtbk0K!WZ0(#ub7Ql$0#|0>Bu4_-Kzl%qm7z`85N@o(@qmoxo`*Wv$o(mB4;&0i$tKSieh`Psk5;s3mb z|FJEH@vF#(lr2j7tVq@i?WBqE9vURbx{Am^j9(i=T}3{-=$5OTZwCIa6Z#|we|ERS!Fu!4d-1&D`Ya{o#WcB#jWk@ zz-kFLveu*Ik{jpm58&It79MJAo5rRh0R#{MJz@y5j;Qn9`(B0uD`urrmFF8fZ|55yz?iUO!3dM zNhBPcS~gClN~8$ww14l1BA-Pk>a^47-?ED!V(Mg_!)ACZD^pi+i>^AcOAt3xy_X>( zgBfb_@3gX-=hvMQy)xM1%;H|&nc<*U3U}E%uVNKa@)Zk$jpks3wsDF#9xwDed}3($ z!Mss8o2yv1V#65wq;%_}n)*tJR*m>GZqR|mGZF!H)-~`amK+P$I40+}rzE`M4cB|x z0!y9FR}cmB>6I`thI`x=OyTTHBxFkrY% z0kRvtG;lNxuru8Q5`2DSV@#7hLAY>PW@S+!ty*VAriSu(X*kr*)=9mmOpB8?(3<-h zBRFul_@jZ9s(~DFV;YF#{wevuE>nED%(%zBBK`3xvpuea;}P`C^R!VtCEId-CO8hB z+j-F=aV<2lAF1$_C*1dkLOZSKp8STWbJ8(nv_>vrOyRaC2=onREvP%kEwB*K%Sd5cWf}N!$Ki{1AAvjLOlIy)=BMSK&)jhkHWK0o4vuIpHE`l_ z|g5VNWMKSu{ws>;`g7_Bt&#!o6Y51Z^{IFtBCuD8tlx>pVsio^1dx9GH^vHW%OBMkb`ery7Ej7s4!5wD~y$1diUP%V-q58Wx%0;zy`S)P2N@2;eKZemYEoR;RbIEWrP1s79DdJN8L9A~fsrd@1N z(zW(*c+5a2F1(csQ@_xOGXsoiNwnmWsbqiFy9jHSv&Jkox*s0a>f|TG@g$)%V3kt& zo`*CsmN)0-Sh^6{=-$E`Jx0lw2;vnO+2LsJnY=?Dykd&OCF@0<+(YPotvieRw!~uQ!Y=W{?tLk!F4g$xd|;C&emJ zlBv;<8ktxMRhS7oGLfykQY&@0-Eja8$?vZ+Z^Z;{m5`&M=3*q*TL5`0UjAmrqh~YV zBy7HfZa)D0go74q&dd`ro~d*I;z7)A8g&RSZXy9NZGkUPN3*kdFTy7oUA8`+Bt>q0 zgG+ka3QAurDn8iKzlO&m(E#*g!r^?VtVTAtwmtq4bmOX8Fm0Wkrz_|9)sRgl^f!1a zM)a8JNt%Yj9PR2^RCg8(?##pa#q&J76VKQ0J=YD4THAPDd{-BO$rRCv!DaDhTHvE8 zVVqGlSCmVj|GXfQaB=s?{bA?xh}S*le7ghP2Apixtd&M0xYU(7Ss`F51VCO9lMjO% z5w(U*%0c?(*hzw;_eNb*Wy%dzYkC|%c=$d#Lb@*0`~Bq-yt{zt-jfu$+r)*P6|@ds%bbdQK>95J@m%i+{a^?14`Iuy9Uvs!lN6m7a*C ziKuJT)uq~$lg!~I^ee*Tkv`ruYq`6rzUm76F;A!P>)l+?#sQq0_Ef_XD-RZixSNOc@^U z9@7Rxw0wbM>EUv^)8UK~-Ye1@MW;}2K!C1zYISidP$NZS;$&hx|FBOURHZFYNKY>* zqGo*tMR5+*)IGgw9PTV<&##kG zeZkw6S|El)vsYw%B-&zG82Ha0Sa`x1sqXFZ(E2_2x<==6br2itPy>#uLF)9~4fT$o z@<-(uRRAlvB15dA2hqJ^UD>)K7{n!zvEYQyw=r+;<@I3QGu!BSX%M_!4q!_-O=F&1 zQE)J}Ffl@%Hb>(e^o6P9GR3V!g~1dzFk}rfN|6ED;im#?Zs1eJ?kgn4Fy>}gE6Qo| zyV2F^4v)-1hQyZ|%45!mw2A)fN_d7|dJuO~n0mRaovKx<^5f|;KKi6nk|e2HqrU^F z8Oss)P!-KyPMt7hq{%o>L_i#uy1nG>Kt4BfP0Qe~qUq1fvsr$L)zg*5T0VlFXf9;7 zAUS!c?ZRqLZ~Xl2GpTB6Z%gpAL=`$R3miJwmpxZ(N05CMb3UAfu_^v7sbpM)L8l-4 zlHSKb^@Y3PL_(Ueob>LORA`~Z#Z=SJI?GX}yI-=94v=E|`LRmH>&zzU8J!q8Rv0R_ zPGX!NtmZoh_&M;A+yVfSRtFaKs@BDTlX2$=V=%RHucaaq4>N18U#alY>AV(NDyM^W z>V2sxZ;U8G^yDMX*vo7TQCA^kYWGKIkwj-!N|ut~l(_w3Fh^!0%$ zH4+9eZkld63&Ae=b^B1LB$S0MuVBY`=y)g(ld$4~*8^Q}6fEB_*qHl{95Fp4Zvo9_ z{dFyg2dfvJpeQllDjU~f918(PNArLYV|9tJ?sJqwoCEk(4!4`y`*b8VGu zFGqhdJej)n*gYmMQ8YIFkcO+bdP8z7TnhMb&tF#@Ax?HCI6Adu-Dp3u@PQF)M$68j zbZz^%@eJ>ikj*8OOT4Tc6{D+vh^VQ*(ix3hjMqPEJRH}WA!FZxa^WKj>B*e}_Cd*; z6$5NS+`op}gmqF8iGk4ti^`E5(b2HdF_S!@1L+TdbJ3p&Ao+tAm;nLWx^Vi>a}W zoK|nD$^fCWZ_&)wIt4H(lO>zPkcGfE=J#!fQ=6H-qCg@r0*atCTv`R8skp52D#&&j zKkF15j8Q`Q-n(1em?5vpPsUi5`|P@Y^8p00XipdqhA#4tA2qB3iie%gjGfo!+?de{4*-H!^JMLXC3BLEkXQaY;T@9i>({Bf zpHFOe4e&!g$?JRG@S0yUXqN5ZEWDA0YwdA1t=&QcuihW$tE=^F=11Dwzn8%HJ`WGC zJ@E$?$kcRm7QRl>iQ7Kf9*OBU@42FbhpT1Sd<_YiMjd`xn5F{-E>Ms89FM&^)YLJ2 zwKTsi*UjA4Ho+RRK(tuzTVXs?B(9iIik3bQ+ZH|?^>fR=89LR@?8a=X;Td1|GhdFJzzV{TDc89z>CYL>BciCy1k*y^Ch zm%Stdv0e4Q_8LU<$4T(eB3+<+hQTRVmc$zUR?Q9#o!?p$7+)7Cv5(2r=V!jEdnj}^ zlROpC0mznB<%aeRK$7t=4#;l?%t$2}=D3P+cHWg;4~cbcGmah+U?O2^=lBDtI_LWZv=`JVxc?L zpsmK_{CXerqWWS4Qu>)#BXT4lhHeNl@YX9(*x9M{Z+NwdS5k;2Y&p58)XbT|SLbDM z3K$-~Mmf)YrBuID<%OS<(tq=kkxgHC#4*04Lq~N+x`WU?SalyRyE9D&IyyR6j_}$p z(m6(QUlpVUo8u#&$#y#fV@bC3Mj)P#Im4@lG+Bt46w%_gWfBO zWe89(LA3W{Xtl;L+gwID7svx6%6%+ejAv>MCVp(=_|c0dsS~uYdufOu`KzVgv_JO> z)XZ$)$}7SH#ZAptZpf_)hi`yj2Y@je6~Ub-d_z+)f+eeUe-OlWD-z=KC%0{99X=b;^Ite(95NX9MzXt!Ov7MB@tJm`AMxE-I^0-)K12{$ z@^^}>3R1kf!#39*l)0JPwk*H>a=p-O$q}I>cRRtF`G#7rdV4-=2xjXr_rP|>M{Uz zjSG{{Zy7;(f+^eeZ$h+{HJAI-@>Ki#a|bsHDJ9>6EKVT%r~ntXE;Lt0Mg?fZqbSpm z7Ho3{HnZw0g9|}VzO`EB(Am_aBKID|jEcq*qib_C;85}2OO5sgOpaOx>_=%fAA{0m z(jAXnqT98@AE0iln%OgFJsL(+^o@9E|C{N#TCC|YD)1H7B|?q|;MbA;H9IO$f*z03MFi-B!^^4ODInUmTK^UMVUj zIW^}5+=3utM3?^}$#CCD@Jt5A&T*naUy>RHP+W#2=MJolw7k$>E_p?Ol@)odv5?Uv z-i)j0TR7km8?ZEH0jjx6CyY56W_7#D1H6cIxGkX}f#sKYGZ7uGC>oq@beywC@$}F>wR9hBvz#HaD@MD)y^JDKae@L}l;&?c@TxSXk9- zT4n{X*LJ8iT@+^R6CYyEwnE}1q8lBY9Ijw3;Ykiv%H44y9vRUyTF)%wOV*FNW4Kde zo~3WfGWM*b-CriDVoFtfcD(bph)SqIB{%9!AKU@MIWnh~V(11V`21sFeg!;fD<44` z-Fj|fM3<7>lI|*$(*1J1AcHWli@0}!d_|}1<6Z}1CVqwzaddyYOj$Pju00Otv6rnW z5MF<7Inv41h`yY^^x}YtuXl@~N2zg%5gg$++O4Zq`63EXTIqT6SPaMtN-=eIcKY>& z>T=ON*RjhQ6d}8@(GG!3LIus!P@gbWYp}ohBwMIaS}$ge1{DvGHYaeZbLm^9j;#cT zRD~iG;jSYK=`+cCzf1K`%UdvO49>lYVWl0b5WxtAa)Bv%imBN8@$dEMH-}}Q{wpX~ zP5#fWezQMkOQ-kr>8RU(adtG^uTkaX!w2-)DLCjqz0BF+Ab& zCZ@~i1`9<4I6YvYWdKjv!_Q^NNahP`DyeH_+bNF`(v*XvekQVmEr$5uYrLG*ObK$| zh&0#ihE|tj>DLB*_9YOJr#)}>iZUU9!y9v%i11sUq|P9$p5aPlHF*W*m7K#BQ?(nq z*XLGxlYZUz4T(0v6q|;iZq=;*+DW1qWpZtfWihTKm#BIft@C`z$Eqtu=dgV}HW&qB zC&2|fB^9y1nzw!dnIc(JvSe(nIyLeeBaN9YX_`kqXsi)Xw?af#=khySEY*0V;0**o zQbwKA*w@P(4RE(TGTLo(V9}OXuIrfqy;<*!2vFXadUzIk(I^0yAAx2m{#9q~TtR|R zH%{hO`qLZz-3O2Zu}WK^-iTxf;vvQ?hA#N7(A{%DI;H1atm;z?qY4?At)!btd1A}l zW^i@Y^J!;zt-0CmemWig>hs~<*SyboB}1l8w)dR=VM6uwKs-&2=Wo?5hhhMaaE+Ngyp8vJWbNfW0 z0#dt=y7a^2H+!WRiG@aFbW#g@QbPdxtJKmfG74A`99JLcx$+j{wWr(DtD=5#UjUNv z%siY*mu>J%$sIY(8;zwPcgilF(3Rs|cz|@&i~Y+^7tY*$I$?UHrOh10{)ZySmYNFu z_3l1jpyO4d*uUTe%zsYo{Iz2A2bTWNoPhc7)k*#pC-}2M^$$+)#|8Y)VhqP0r~4n| zk-y0a{>&`?#R*uyTK)g7+@Z1NxITpVeM!ywgj65ZE&7$zu1>FR{Uf&^5YExxEs}XqDvnd?{!IAHTx&jX4bUYS__P`R)(G08i_=}lW&Th zTUS7e**sr90qo_f&{EEVejC~liH0tyi1WkMYtH8SW~|r9?(^q5&Ep$>dvw0DTG9a- z{k%?6Vco&TFShCa?JL#(t~x3PTAy)!j)?6|m}nH=LE=)evhQ&9@{O!+SDI)s{g1e= z9}%CKo6e_Izy(`Udx^~uo@H_ zB2t&zV&=<)_Ihq!vR1mRq5-*Oohrt8_2hLE8Jnw)lTjPo@5V8vk$3J595KaS)mmQZ zO|P$R{mBw~f9d&=-KIO;Y`W6X!RIJr%Al#~X;bS3c&Bl6X;2Uc8x^DaBidBdwi(? z@9ebvI_ig37Q`O9B}z>#l9`faV=C^Aufl8bVEM(?9Xw?)dwPtQ5=H`B= zSgoMIQDWN5977x%9FdC|g%>l_hS;qqUA^I-HJaK^Q8};=y*cB>_#zjGW&ZfhdJ_~F zAqq?n%nS~M07pwJ1jO8U2`59+S%)EH)Jv@`P6stxCok?If+rnCDclT|@BB`Ij2P3w zkjo~eG0io4dUp0{T{0fsGz75WGdVr@PIYXLzTAO-*EBCNgOfwKaeWR*hSMW`Wy1&NLGxY18_}=6qgmx|>aIn<5B;ZuAmn&qW*( zKtq|QMH)tDb{OV5x%mz@GTX>FST+=i-R+~r{TZn$gYfkxy(fd-MZ>Xq|@3uFh_!?Udf`ZwD$ zXRN!74SnXjTptJ79yXwnBJsS6Tr~d_Z-7|Yq6i3s%r6*W{DRzUqj{uYoR7$?>--Zs z**#9U&7XVvXxvozUfxJl%`wp|AhQH7Frz`&)6K^o8nsNAB1$y!AbGZ}GxiAOnouCT zn4wCR<~lm{oI-HG+)urm-&&B^>B42V)s8{X2J59_i;<`$@-Y~Z%tKDgpq_vkGfG-v zX66x_DdMw24x$1=kOtmFbir!vFE6at)#H}gnS?i70sHBmzd4KzmQCeQT_HM(Ot>bK}Vji6jewL2>15;O{ii-3UV6|~}D+IaL0 zS&XEMF_Ijk8M$hJfHejbP2O#3Vf*$EXlU$N7JiHCPC`aL4!u-ub_d$7R**yQT-qJA)gRxSc$RJKlBGb%g`LLRy!ql3sFKN$+P zSfBGs>c=`5R63JOw&xaJC)S2Y$@NoMV(>V>j;rF}ICh-7n_H|K zh_GOQ8tVWa0e-ltLgQELIllZLur>=W`%Y~}@XOLO0vN#0*-4-j&}VhDa9{01|EjDo zeb11zn5I+B*6_wQp-x8r(S4?K{2RAzMrRpGb!QnsNkkoI-5brwtv_ATvMt9hkjfB1 zaI#hiHKaU+V4#QCw2hu-apBB8$6-?vdiOzb>hRy*#9d9_A=&@Is-+V+#*JSF=}HOd>prOzprLB&l{= zs(AN7GWM2RB{PJ0YF;8ZYi6#yO7n!s*;R`h)Qz?B8I=SX6shqqffX-X=y?&SHwWJ1 zq$1nKh=?B z;&PQXn^LH_>`NzRrYRNnF$T}kk;SOjq4kKW8}3OKJvk4lAvxH>{XYd^p3lyvZ9lL+ zdl2$|Z%*@la!G6~~_zNn(^~uWF^kT1_gAstJ;Vobo~w zF!`8{eW9d9w|mWc0D@3;&4&WHfGk)W(UO3n^jT?Fmz!@dLh0EeJLNFr$LF?Zb!`>XAEWmkpirZK3v^VdmJsl zBfZz=Iiq;aOhbc6S}dAu+$zB~*lNgR>zPKDjy}6yA0{8Nk_mOHKXYq1?!f0n6&l8- z>WDN%9QuIx3#2cW{lzV?8pu;9yH@bKgsi8H~v~l6;EXTJDsy&&tY~qyY znGY(k*DuyM6S#B~?9{XLiWM-{v(P1GZs8t0jMMvdg}@iZdO_vu7)no9ZA-Wp&@(@o zBGeSd#IWw|jqO}Ieso$I$B%1E`Aep_LX zmYeQwO-FLb>%gCVEM)Mqm!Fs@%)`wD3z@l_&;9TUGIs#8&m@*)Nm!m~H~ZX`g)Nz# z6b)(8@iJaA{Kd!I3hK{on~$JSgGdbQ|D>UTIH#f;2Jtx%*s%9vl2FuJixjd<2rVDT zZ)km~U9S>fJ@FfA%5`JGW~riJclLu8gPAgNd!e!LyH3W6=k`_cL0PisJ25CrbIEvM z)~mzy4_(?Of1xVoCKhj8y-++2dbgk8!o!~8e&6L^rq|hG)?#>(WmVYCe|`F{LCHNR zTMkf{)}Z59@)t^g~J`&1C(g|vuehr!;( zE#DFO1xW{g!U2BbP{?+-oVi?O?6`JOF8VnQLV|OG&aJvvW5*49G&eEj_CqsI6r0xr z6BD2d)rUBJVX7zchM@2Upf-??7D4kie%#GVdq zsLKUuoeiAD8gkJVg`MnI@-EBudl#=hkO^EHltWq=r*>5cB4rH%=vPr!u$Z;`K+IaQ zQqKbp6i)(>SW6Q+)S6yDOJNwmg~3+ip6zs2`B}LsJG7htuPUn~)=(cviWpP3L(8p4 zZk}||fgl17OFBXBayqZcp;yzmDGN8$novpk@0GpyI4L+InQ(HwM4=-_;oUSLf^cH^ zshyeB3>kyUY6uDdizWmeWMN(xgm?<*@BIUCc}X1ridsQv{;hM{JmokIz&*SS9v&tHN%IZCRtp#<dCW6MaGke65s+&)N zpKJ1+iMuoCLPwBl0{c+>h^p=vi+2Bi5pacv`w{8^SIp8k}RP z&ukSnI(R~-@R*-arzKX1=t#hToeE#H>+NAOB_cjxc5lCx z(Z1j8u59iA_F@Q+x<<;vL>laXK?k*T3HT2+M=9F|)^($k+M*UCl}g|$jOtZsOl*xB z166*s4#ChljuQc;Ecw9*Z0$zVEPxV0o_Ud!sNKwdF+oB6sKaRFxlCfWpqcjCT_SN5 zdFZeUMkJE?q}wqtHNvK3`R=mB;ed^#FZ}E;{NOrTMi|!+1@}AyU|am$yd~&rd|nQt zxD#3E=(nuYdS;;d&fx81_MI%>eRskIjq2sm@`}ZQAdS5P!zn~@TL+2s3y!X$uV}}G zrU*fNw%t6xR{|DGQz_L|%_+hj|(Ne)3Xf zL`Ia@!kLHxNmv%I`igGa42j4vfS!=yI!V5v7fP*i<3 z3R=gG%BLF&!ET=j07le!4KED>G;bh;m~C1vxPOtRK3vD~0f~CriOB+!Imp^jNokaP z>AES>)y}J=1ROax-CKehA`SqZRRn6ltUhGu@C%%4FO8(fgt1`?`{IUvg6tq}2Xh4tU?|na52#hE_M>L$S*dUmid;=P-eRNY z?5TBj9WP``7?d#f81HVyyS|We4Jwi8XBxx)9Qt@a)A;^!0tM%X1I znMvcki2;vqX^~{GdD&tZtCNv&6trd$h0Xx>ic>A<^ew3a@15m@!7~lb?nPrWeX3i` z3+Z^s7O)sj>c#qINM1yRm>pa2NIz7&%Y=GYAoHWPFuI=bFg?wmQ4o^OVyFNI`m& zUSmk*X`Kkd+Kz^)FPp&gN4ZID&(rF?yRz^YZiYYC9D}z)iknBe`C9!oDpCq~u zA^C}MIat{YobSOv*BaR`89U&_Jc8=SZxs>KP42q=ubdE3_2clf)^Ha?dyWY zQiPbA@rI~cxgg(p7c2nmBhbwa#4n>}oAKy7T_%A6Z~OSXY9TMtMlFsI8qXHr>b#(*cWh_&mjfbPv{8|qxtZB!0j4vXZ8tV`wH8!To3k{!%y>N-Xm_T)6K5V)zj3ng?(1e+ntafG z;A#ldJNyL_XZf=Y<*$+W9|-opjJW@13D$o{;$Lgu{vE>j2NM6|0{*uV_n*D^e~|$A zdn0a^Ka-AsA#wJvEW_VM;u=oat%yEP)%q_cp(@2pPx0)es@9~sUQ(*b)X9^;1Ar1q zq0BH0C_jC3x)?%PZf$Q2{6q_8kD>8<%u)O3HC1-X#S<#1Xw}yCGU7^IyLX2+LfPZ5 zZTuXVciz_CGrHf1$5j>FRf1I-+O}jwHkK+rL6%D9J&{xWZLRK%IwcZFo?rD2*0L5E zZjD!Yk><9WHe4P{J?9%4$VYFfC=woguRdQ64}E3`Blq~rXdFM{n^sg%O)5I1tMf@r zq9ZFF$iC*=Sjn%~JC}$34{g!`uWR%<8drABPxvA`(^qz1c>ys%Z~iUj3vAg}$EWJ* z(r2o%s#_*4oBUm>N+w1~h7ggOiDfnrLr9*!qxYIxa;{*O#@xFP=ySzs`KM~V? z4ry*pYWQ;nzXRRRx{;f`GspqsoW}EUWnj<3nJL2c&4xSP!L=<#0@oMYiRGQbtem@I z)2|BFJvRbKwUhu}A72JtjZr%2cy2xW_&TztH-GWw7})Ft`2_$NaF`zamzQ9=1OoQq z?1EYMEoiC;zLQ$QM!;#DDCP0T1we1DzI(!tp&P56tRX}VNDb+Bn<-YTFfX2R%}aP& z;F1yxs00sP6mKT24K59_e3eM)I-YROtaS3?ypwpA4BvxIRIf?vy zGeR;FlJVNZ&Wel@$w)M;B71MiYH2G%QIwQWlsz)CD?&!7?3KO0*K5@6zUlqxednLw z@A2;O=;`@-j&q&sT-O=bIp;c0vA)r!bn++4*s;%?D#B@HnZ`6RCp1R%q0ydk#!&-65@~GYR zaO?$+W?M|T7YtSqa8xSb%8kC8=HaL@YR!zq`{HGMnnyGX)$LyhOJm6kOr`nWzT%+G z7e;AkM+!~KrgbhJyOMnprtOW<)?U2e@pA0(eYO#9&Y2|M@U5R-L~V^p(k5q+x-?@& z14+{Nyw#d>@oIJuLcGCJ{GRzkX&njQOJTcooYGp`j04lj-ySmLDCVk}JMVO7uP^Dv zqIT)CBjKlG?|w;_sk-+_VvEcpI?>ZcyiyaiBM+iS&%HZ5-G2NQd!m+As~^^taY*&F zccRNB2P;n%SU$UwOMu7n{7^D$OxL7ENh-p^G` zQE;=aXrKUPi~L|TfW_)&Q(ZPq(g-P@AKaEotxC16CD@F+x)y7A?}N^6Owem8yTEV> zEy2Zld6&xtftQ|1OOqdEIxb;XpGS5*^7M`iIio4(j^8GmJI|Xf8MXqC>1JtRVC;%P za!RvmT2fJdcyWcC>ei^|_4E5L?S0-Fb5n^n%Fk+9;wanG?(6-w3wMrIe)Wq8d?!hBl%4XcPjE`qK#+dyur5UZ zG;5i)(u7>f0SnW@$md(cEPCUf_Z17b^9nSjv^mvvI|_=P8QsBda#qclGl0V-6ZuUg zQ4*4p`gZrhaG~_ALkG3>Z}c5yC|j`{ODE4EP%S@dFJylTDy*J} z_)c3p`bamH;b=;{=Yc8HHs&rbgWOxW6BOks_WM0Fgzk$dl0t4!L(m?Do&GB)NZ^M3 zn0N!5{&7EgX;x<$AyFBzIFg$k*9YsEYmMShOzhA|ndqiyeNtBr@;7=;=8TId=oKHO3~8G_&~!{=I$t5qd(?Hu+nuC* z0afBQ5*U(x*xk%Sk&g~V(HWB7;N9n&m!ZYc&5OyelaS}qsii!F4vt~mUjdN3y>Pev z+M^ty{s$z&?_Q0KM;suFDxvN^keb&b`g(i3~mj<($6`eevcsjqt8TR!YAPaFshzB?hwR&}2|OF@zwUZwJ?u}9dr?0ZP} zQiY(G%iFCUB;85rFK0sqnz-*i7*;+anQwFGd4lShYr*3$+OnP=_KgTq;ADJ*B+FF^ zIlfD@PlM%Lc<#LOMc-k4o7e{>sP?a4?s+_pf0X5VZ7Hap{(wpx1~Xq71}Tf7PF0=~ z)ZI3_*F|VD`s<@@DPbs-%w&?T%WgAdOvdhST$IeZtu9oDAXP zsgU=k50T!UAUNo1c{)HnoPhK*?sIXD(U>D@2bX^KefM2>8i8iYCU=DXfmr+DEH3Jr(04PXSWPjE{YnB=U$I@q@lf< zyr5`2kfGsw*6OYB&^3wJn=VR5*4|HRmwXfuR!y<1rO#s_4T&MehZ~{_RZ1FC_Fr-0 zxNYU95hzK!vywN(+_Tu!?(3Tq=i?b(eU7L)0rf)23kAu@3YB_dgjD8Ni)j2VJqikB zvGFz7OV_(Q7K6Q}V%~mF(02IYLRoBq_w)Nln8J1LpSmC;6Ltl5Ste<&uh(E4<)q^t zw#?UdyHo4_Kqj@T-2KRXms9SaicBeqI>UX<>%7+Wq{oG=5~}y}THeVb6`nl&Tm+@L$iqb9GgJ2j$k`YJHFSQ)!NaVo~Q; zDh=|PElw{{GQVB@;&7`d^a=&A-e1*q5)BO2gr=QypyYbbPb8Mm98T%-*5Uz{a;_x0b@|vY3^HI>%6$ z{pm&_B~_-d((W2Gmr0H9+?LGt_y@;wY7*@Xhdbv(+X`xI#s^Aei+$-Wj$mRH6$^8{ z_$%Pu(k_ZznSB>`559_B?(P_!om7kRdMq_PJ1@kbGBzr@f?C8r$s1Upq`fkGz~PR& zs87d-bkPgf+O-nr$>*Ibn_iG&E9JLXoP!Pe!oIzK;| z>~nDX{qpK|L*_#HG>yit&MouvAHz5wvcydQjJ}- zbJ2^_I}Mik!L;_=N4o{DC~s=SIXknLRw-I2s(0@1jLy4{hPge+l}!6E=*XBTL0R?e zwf@eDJfXrmVS|f8K8E5K$j1_; z3_5nj(m1?F$qLPSCwqR_w#%YLtUkZ#Kti;nWZ-uM<`CB|YO_PaUOHQaoRd9XUzJR= zF--b2WH>82cx^^K==#`&vwo>EAW8IStnz1yVkpeEHd;}3esCp{xozLL@ML6GWnDbp(alIevI4NqoXnUKrO(kk|J z?0nWA$R@V#x-hbBLegiOWeP9bOvZ>CG+JZN_YfWt{V$@dN)*?`E*$7+9ECPGedoxq ze9w0NiM>hixqUN_`7BM~M|3)rM`v#sioDxW#}<+7bD>C>#4A0QJNz~B_T}p*S0tJ5 zC6JdHjLZls45>iUvuvjhbi5#PqI6hnlI?5g5w_cqD?Z=oFqk&a zNp*Hjvi%mPUmj78?PGmi>Z*zkmY(Gse=z@iScre;mUo%ZU1S(_YoQ9;snW;C z=_Fk`)DL&Ny56`_`c~u4O^ceu?5GU)x^8DH3I632=V#h3SMJX3Yq<3M6+{ht&wzcg zS@U?C=8Ed~JyyZHo@y;9rK$A!1|-@Fp60op{`|`pCR0B<3SS5KluD{dx@YIsq-{5B zDAKP?9E*LGrg4f{yQ5BUnyUYzb};SUi~0wV+$K%le+;!=vDN{+lMBP8I zcvP8EF>$|FFFQ|z`u$z3MY6_;t{T}}s~ob#!u&sFEl8g@-VeE)5TbTXI>8y|dhUE5 z_t(f4%+iQ59(p!#RcX>?jA{QFaYT^tGh~{5z%j1}K5lBc&{M-wJ60y@y1R#|-rv3Y zaB|uO-M!GswS~m~(7QG+)h{811s1ycr)y{%%pW%&B`LXTW7jW7vA@JmEJOA_`%;eW zboI?UR{hI1RjMc6`=8K#tRkRmXja-obM;w*(caTatpf|;do0>2l@A}t4*UwUs%-SP zkS;(S6-l`6kabdt!kn^+dGFS83L$|@`;PmQ#J01w8pZ^_nnKr>RB{Ta@`&w^)6k=p zo6#73rm^2-Udm%J@cGD@^b6czJ(i#SHHy2&Ug#VS?Ec6CVlulPNGt#<8XRf-#Dra(f+3%Vz$ zJ6m_vp8050V4CRKb;{Ey$et@zl4Hl`+_WjQwP_9o`6A+Jc}U!Clr_{+$EQ%>a`{4d zul_}bH>XsuxsQE|KCLd8rmT5Xi9%9fF#YYcs-(?+?;0%)d8KTP9i4d&Zf5=YPab~g zILvlhE$WKPMDBK(BBlaPr_j&EWBa}b4$5BN+QCtaJT1MOaiPfsw&(kqvsCAvS;ZQQ zA2x))JWzt>)zhs`O>I?se_H3vG8v0ZP)j4_89p+lYQ9pAxCT5)m+$M8?Vyx(G+?br6S6K+ z>5CNeE?xAA%iQK}qM6#Tw2O0(4&;);sVF&x0LBcq$GUrq8`Rle9~7O`e%bu3<0?&P z()=-ctF5~B6{(!8JoNM$xZZojZRY> z=KS39_G-VIiuu8_@g+-1B+kzYX0Iuv=Wpj*lDT}sliUV7!}9PQ`?qc%`&5?0bOt*u z4k^EXp7f=3lIQHZ{fRerDskGiy|E5%0yN1zWQ8$-^C2H zy+s-GkQmCIqVCa7ijubmrrRzSe(f&PWV`mM?ybzzfjc+7Q`OOtB42cKif-!W-Tu6= z+iscT#8HOwha?THld~bl`Fe_|yt?{(krPU1++hNB7MQWZ!e95}{wRPagvQC0d zzkiKPUA3UIe%-s3Z?ou3SHt%knSyIQt{aS$&9yWGpN3j66w$ap1TzyX=w+H(*w0`! z#K>T@&Dm#g zJf~)m{>B@A_{CGM0Lo{xi(kd-$XlBSyKkJn4{*ur}-Of^MmfL7`*yMp} zRJW!Hg>lA`&vN%*hj&?2*#vX2S{*!#JAp%x%XYZ&;VT+$uI(eWwYitk@c}9!#%xRX zZ^csXS2fbyO^gmq%eM9ejWiVL zO9#govu3o&I_1}ReSRvvH0^~rYCbo#{PL7-rZC$Wx#)Yp^zy;QyCrU@dkt%A^NA`d&aE=M z4q0ze{;#C@zwD0OW_?~x;+=uTXV2~B+L+!DG}F6wQnF>uSPJv|!rt_&TQ!phv}Mkh zAjFHXy5j;`N=1Q+n4G0O6EEAV=x6T>^HQkv^>A!qC}K|!S0+s!9lnN;ZE|~Bc7XpI zi$A}1tBLWJphuU?$NReP+x^hV8(QR%sZx> z?R`CqD+PKT?&I~#-4tCEL(KWl_dnpCK^hIRtoT+j?x&**Eg6*e|EO?NeUDfk%J`n6 zhhL4`Y1h+-9j1Fp+$G~jioRs{)h$1KQsDKCerv2v|K#vA`|OzNafy3g-{+|Gm_I~l z?=@s06)c5)&oeJPZX;c^a7C%mllADSIEYLMhTLrzVkY=QM-X3dpMKXCITt_a(t=wj z@_Xydv}84Tav*ae!B;a6gd0#~S0ABZp{gM5yo=yI_|+S=aI?(Jz>)ucP+nK8w!*C{ zQEm@f<_qm;%bf#`Hg^wvgfxaYBy^gYTZHJL9xx0BaGdv?Ip%cX^||+aE2ZLhY z32UV3y4`BKQ(1zLN=b|8L3mXt1&I3iHEImM@6);bKyPbt$V@H$V9ljdO%1{j%h&Wp z&QTZN2n_8m5_EYQNf~QB;dH9@@ytQ)WoDDQ5;?ZLHucAz%hmMuP&6AwbIGAo8@bu& zJjn9zPM+W`pq37u-!aFW(7U&^=SfJ0P|ek)yim`$W&FJ*^I|qKb>N-96L0$7$Q3xzMAPe%xO}K z{JN@phZ>s)cSYCu&AxRsT%=YbKS3rfl)KDZBG0lXW9Wvw7uNOd3=`MIZ>&_Fhqdc2 z-gD1)VbtT=uI|Kh_POc}I=_euY3_Hcc|3Dd_8vl&iN#lUY~Nj>*VgqM%~QU7Dg15z zp<{O`k*@{o4rVo-+j8y##mAEAX(d#~uS&?vx(x-&0h5iY^Z(+{kSFC9cS~XpGIWB!0(=<6PRLbRhY~ znGF;ra_yF#Unojq+Tt3Y3H}qVzmdsERFrGV1^|8bm$b(z9Xta6NBs0}UyR*Q>43Us z_pMK> z?0n2{NyNuE!F2ejtWSK8b^7DJPpW#8p21~Ba%ymn5*~oV@ zPG0Q0Rv~IM=!BjBSmCfec4_Xl*|z5TPhpR)fA96pwJV&Pm`j{LBfna2)#TszX~cPY zveY12WU1^pZz8RD7D>9c&IhE~MPTl@&qIR!*SNVg%5O2y56TWky(*ANQ zVzi81w&$q4><_(3g7p|7=XOY5Ys*$Ew9mfc+Y^mef1@*}XViW&zr8NbJ@ruT19IMd z^`0${ZL=4LO0S!CuI%t$?JZTzy~&rML}Pus*ZFvog>JOISTvL337zqaPEPywuF670 zI#%=#d}ik$g?!P`MdV0ic~|1Mn&H9~ zZNwlInaUdh??e1&4FWHbQrws1CQq=`X2_^hW58I~&G|DN%^rF)$;OR+VxiOf6h_0o z(7#`P!5~nbS@4JwbJm4D@orKL=vYl9|CfrxhPfS+qY5PKyKK@PGZ%XW$dCtyj-RBs z8U>~8&#om;@XN`gyQ)vdRG;~t9im?;VZo?hd&3OHk|%5ZIOr^y@I>5l$$`pyH(6^Y z>nL46LYmBCtQxw`@OryG-0m%|q!Knm@0=25Qm#}l!_{!nTH#4DOaEy3y}j0h_masF zt~RTb{Yuqa`;Gg^Ue9P7pWoBfj+yG$mY*^R3}qTAB;m8+CYK*NqI9^suygue#nAli zl80{fx1meRPRT9m`W-+pq+%pLi4MPzC#KHbC%7*}t6yv^N@oa5sb&5kC zwFbTSKI-dG+B|OPqBjV-2{p*9qihnf>qn@$xvaTqzA(w0V#(0-#6|ZIrTRlCrm6Oj z{s>e49dR+GgCp}=`sYm457f%ej$P+_&QpE;l6@h6!J(OqE&dOqcr9z64=$^>K3i@$ zV#`f71$HqV2&^+~|5m1c_2cIQ)zNmAch9q`RJ{)sKvxO~a%8^kI1Be~YHl@&k2VO@ zWjHBX#ew|*6M-7{2|*90k7mZ}TeQnV3inu;93Gl-*}qSUutG`ua$R!`r>$jq%=7 zk4P?VS8kY^rfh&w`8B^%>T)c9RoC$BrN`8jeN)NX{lt|L!&syes7=Zf>Sg-+A2>u` zd3o92U2#ZO{H|hC{~l5{KjvTo{_?XX>IwC-T>WMT(#%3v{F~z+sRj%-f@$DQvxkOF zo(SDR4vzI&cr0z;5^GND6X||hQ+{}I1#$ZG>jT1r!Y3I9{6F>R@7g7=pEojJIv#dV zkbGz)`Bul^1MQ%Un$u3b)oSAM%5cj$t};=Mgvl-0w(+eZ4$4ZBC)lpLNtH*kh>e|$ zW1h0jH#Ohxezd6qP~ikgkfXB~&5H{WdzxQ`?@0{yH!J_lSREwqXXyV1n?S~5_Lx~o zT#1_Geh!3*MDhe#l-nrf=j%+>qUzjM_P2xI1ROpeZ?$SVGE>2IDN-(kgC?`xUoxn& ztE?y3IJusB_H?(~;{H8BWJf!b&V96SIJbw7+~M3;J|~-ZkTV9fBVN4Wd{IO4)n$wF zKD%Bwp7VbFh(w3Wq_)vxCE=3bYvaAKXQB&VNDVxlJ-=+Pa3CO*_3k6lIJ$PowFagQPrMQ$e`_tZ1{xH$m6~{NFk1KA_HRL3CP)H@5pgG*k`sP9YNyF*%x01!Ul@*_=3)x*)I^JXR7FK@GQVU1Uxi zIPAUmve4GcS#cKPN?StQozJmR$b`~Z@i_&<`cX8+BMUiqarFkvMz0DcGEVPP)ePDu&n9ZptW?8 zT!`wk<%pyEv1v<++NXCPch<6VFek?~cm>>Hab$>(4-6MnUUtU_o;KFMbWSnAAM0=P z;z;*px4g?fE)y+-PIqUMok$lc_B!okRmoWxaXeBE8IZ3#o!zEbILgTm-*uZkpr1a7 z{gx-ow8cTvI}EOoO60B#&#Po+;&02mzj9|6cYL$Aa9r#`?XtLEx;4|A5=K=Ej|KlBSzzJG;OCRFH}TUovJc0=!ryT1pvN4)Pgd2}Uv3ynB! zv-``A5@_qdKkOvx&NnxdZM z12ifqZ$}(y-)&b*s?O0w(iEY6@Iq z;Y;1GEUqL7OAQ` zRV4ja-573#p0%;`Qw2B)McrbzQ3YVb0Z!o>r6pYwLJnoJM&DPMIC(DF9QVV3hqgtr zvoa-|5Zh+FS8kg!e7CFOwlX=V$<(U;Lw;1?J~;~wG>n8#g}YLwhx@b4vU8vmxx*|r z$%-k$uz9aAN5T#=FV<3u1}OWLCp)&Y&Kb5qg{IEB&%RNkfArll|9S|$^w3wGHsOR> zTj_$7*#OHz^`P~JFZOSrk=)SmCD?+0^AKU7zZooC?;%1G%41=W1Sbmyg^S=F6u{s= z#De=vsJ4tj5j;s4PzacCpAb{T085ten_%Z+@HLEa?-AjliSW>bZ>wPN<%+?5G!Y(} z2oG4wcsQV37U3@u9-4?Bng|a=goh!*!w~Vq5aD5n@Ib|5JRA%W9)<`HLxcym;N$OO ziSV#QcvvDlED;`Xd=Z`_!ow2bVTtgtM0i*NJS>C&4+|l{!$Jt~un+<~EQA0L3n9S6 z629dvfQ1m?VL=&cTzgo;_fQ3}#E+R`37<>_zlrdO)tLWQ(HTFM8+!Ki-Hy9@Ia&%x zYulbVO((7F;C#~3S-=#BD+D<34qBdY6)=Ti&{7xx7X^n(VZls+VbM|$P@E0ys**xM z5a78z0&;Q!()t3@dmRiM1f*33#GvqX?mHYIHUSA3ObQMn**}qhf!f?K)P_hP(f>pO zKZ`d32`E$wHWu0fUl)L17!yVf~E2@!clifWk^a zfb98+1R5!YhHuOpu=Pmbn0^zG043c~K%o3Y0)> z#3d36_z~!|pHl(`2jcU0k-#hIO&|mW$B}E80}2D;6Tb0itdmrD3*pa^KwxnkxrR9) zK#^d6!5r(6*c@?*Kth4cM*JKO1QII+`vns4bfTK6&P~`e4u{rV*j>Q6@{g-Kn033_KZp@(@Ah9{}5{?1t3*;OA7!5eE zB@obGaOgVw62B1m^LYtJ1N8+KFF%pMAf>SIjqOVq?4OzgzY5s|Bv3$oftATmB!D%6 zKyJ(&FvL0}Hpjk%166@oW8}ht`48LJqJgecU-;$MCJ+K>3M^QH{UiinSTqW{q2_?D z<52wCZxfIJngR*dS3i+}LV(cTm^n6}#Ge_MpkXOAShNDh0DoZuNWi5iBtQuH3j`qR zro*4f%AW|p5mHdFO2;DrGzb>)3k255DEw0U-w(r21i*Ym0`~(R0WcTg@QsBeY&`}3 zOi2Dj05=&y7788#+(d+Ji~w{!1^!Gx{zL$0vViTOcm%*Cg#KccvjGBsW=;M;00~lj z&>&!mLjVa>1`@I{E3O{`ygTL3=KvCvy#kzwZy#t24EDF%|1+8RlK^Pknw!u*P!urC z#_dDb*^hYl(I)gC*o#;~^Eef;vCXzY>wmV;{@Hs3&RQk5j|5JjjnyI)`A-pqcb08J z?{N+%py%jq!b3evA1Od1pdrc{5b%?HUxG6 z0Rb3T+{1o>!1@u`91)1b*@YnO5KjRpLJ9@_1p@0tAl@JP=TiUyY(g0DH{lTgpXY-> zeu2Px3T%!DL;!mb1-=V`LjZvVi|Jo@71qrGf(LjLC;)6h2ypx15y0S#gJ0N%(0_0t z!S%ce2%r#B2;i2+BY=hhqu{p@__Iay4=%v1+TdWFfJXo%pJK5a%OUtb*9Zh>`zBBT zEZKl_kAMJhu)s0DKw$k4Y>qKVSgsKffB?S+`nM6-97%{frG4d{1703AcAhZ zI^6()&9Me?D`cEY5sv^^ksyB&3|lXV@X@+Wpa2w(ciZ3*08;T+E}IP~usIeX90HdD zVL<`~{=>2u{!ev`bFuv8V+V z>K*Mz_h$lzKRaYCch!vrQ*Dv3R)xr1l@L|FVH9Psx<%7@nc8wEe^|WIfu*nS7Z$E^ zY;6pUgxU18FsZTKRFQR*TkeTAEKTkfb}_%+cX;g5p5w7J7blh8B}x^sIFF9jACM#o zqbWzI?IL^VS}ba26WTJhNgiS4*xxoVwY(db&}vTD;zHg2O_(X)%B?cL5h zthFL{gm&6?kgkf}>v1oXv?IClT7bLCz@5t6=>pYI<_g5%W3NPDy6S-x#sOurr_F&y z`d8=Vo@qv>`{sR;QXKR6_Q@~y8>Qa&Ba6C80aH@L9g1Y6Hmja2$qYNmqu)_p4DIPv z5NxDR$uf~PSqxEw-c2)nTB}MIC=x!gG|Zyx99jA3l2WJQBN9>@!->;&CVLhsLDxKw z-$BYKXGcH!-p?L?E0cslPEh=7slv?jshp(Ge(kc8;PG!*8sWX&qz_$#MDMp0C0^)$ z%5v0BTW`TSzpaL|f`(T83xsaqU~-=R;`@X2MYcg#u8Bz&U6;y2u=6+Vy0>dQxBqaO z)4YYchWgel5TP0+(7vE3EzOjEh}v=)xW;YuJ(HFPs3o4 zqD`xx&$Cnbq}-N;S%qT>loSbqlc$Gg`5C#h9;j3vzoS#cE_(HKpdZv<(LGtny2VXl zqNu&1(qXFngO#a^x>OfR+{rppYfJL0hP@WsKr+qF6?tFjoA?%#iQ^&|tvfuug0H@P_hhL0#e z8&j6E%A1hs43y}qOz1TpkF-tgsO{3qvw2lYcT1X#`hbnDstEP#xbI?HwBUR>TfBt@ zNYv_{MR;g7TxY68a=3U$KZ`z~YIP~+tB|WHMv_{NeEB_sh4JDmji0GAm1xP?MI2 zbl;|Ic}E!%ZbeRZO?7_p+O46m4!al1qq02ruioR2yBy4b+rrhR{kGZW&r7!Xivj^%5hgc4fm|3S!q13{X6%S8Oiy5BL^bMmN?k72VUd?`zIq*9v6zrJo8qRzeyIb%ua)$Q`e`3DWmEU z%CaVL{ugYYl+@o|sZk5ScAeRdGIuY24;gUGdaUB4S^b`}W^sBVtED=5dYaUT$spvs zR>VGg72aJrFX`AjK18;6gcQEl?B=g4L6=V6qxGT?txH?p17=B5QOh|!Qmd@zYQ*;5v z!b8WLjoyClL+nRq<3ah?Z;tt^J*Vf-(4@UlYFo3{RTB02(Z08{yi*V9Xp|m(KkfK9 zfm_l5$suGg&_RFWOxe;sj#TE^ug|NG^Mz5aayCja?O{!lLThX8T7;6G^94}{y-=r87jmT(J__#MNwGz8`rXmr%Lz=iV*pmd_ zHXbhaWLzWbxZ;CF$K~Dh1tDj@cQcgPl6Q$0)pafJ0yBWUI3e^J10?a{{m>G}TDE;R z-5wguKYwB6mv`JNJEqm-iA?IHRwk`1pBLFis}T$=fx0J`coy3u7=p+~Y)E%Ld|o1K z`IXmCf@1MI=hxX+erHbVxe5vO3LjEjlG;X}JGp-~{Uh0UdZ|GAX91?RM$VZ~bz#LK zvxP&a{d2@Q9jxx@-R-WE-pHmaa)J@1-}>P5 zC&_!<_C^Ty&}vW_SzJ;4)fvg%A7h&Aav3a2rgUw$UY(NTJoLug@xCs10tqSRYGRH$Hk$;#d?(uz6!MhWj?t987Y*XtH?qTu@ZsY_6%z5h77jeuMz_9 z!F2LoggMQ2k=4UQN`1@@sK=rg;XuQ12MN-{$!cs)B;A9wzev{(_?Dc9PBW{n{dE3J zCQP@?cQ2fo{$U!^UH=iv&)!jY-l(wROxrKx^ako<9owBnGnr|9DYFaVW;g@ zUh(&~%c-;OW3E8!4}23yDt0BWwNXjA$D)b0I;C#Lu@sWb>w$1sb$+pA*Y#yfyO^d- zl)Jd?hZ;FuF*_v^-8-gdyC{RLvaWFI89Cjw!9=I*QjXdFRIoPeBfGr!gQalChSD=+7sP#C$H`t@m^^oK_SjcSNn16aQ1nbE_0b@xZeVC zLtupIfvRTPL?d&d%+nmf41*>5n+JRri$p)<>TM{yh`owsjsm?swzI!^M~oX zajGibI{tgADhh9D|KFc>U6-ngh2j>}AT<)~LB{`u5mPOR_Bs~$CxUi$A9?=_m>Ed@GUCvn+T6kFCY9S!h;jm4p`u> z#KVUZ@gtVt#1aa93SjXyIsshbrfe*s!VmaO#1CIc6L+5okFf0<{3gO9>Wd|&`eKQxzF1p-F0q!=C8T=Cm;Ce^@BK!$m=XAvL!Ji|6M4@mV zj-N;%f$tXt12>GtBiH$S@JzS~NPuiY7|8wpK?x)Z29gqf5d&CHi9hpt{78gGB7olq zBz*rw0%UceQ5(BpHyDmT^8v$%tbqjCgzz<~WJnN`hhaAMfc-N)1B(}Ze?A%r5D$g` zvGIct2#^K*t8_N#`YEy21w_yj|3*e2Fd!xiJVQT`0QtWd$i~SD>wKYq`@;7h-~i&n z5D?}3i31u$1z;QV#y>-21bwp!g8@PzKn49o0p}gvI6(ovem?w}OZW$4z(G6;4%E;O z9N-{39QKPW3Di0y{`QIXe=!zBVF?G`c+}c-9grUW%Si3INr_kTe=rzC?!|X*X{HC1z+qVt=00qDY zur=E>pdiNzY!=v1My)5qpUKG|DGexKyrIArMO+{c1+uJA$c+uT^)m8r^;!RWB7hBK zAcX}qiemv#d<54%9OQ!kBBNm)N8;D0|DGFuHjhiE1nhusA7oh}up3)0>)Zb`+4!@4 zklG0WMlrs9u;7Csf46 zf0qIO%xe7EI4}wz!05pd9|=P0z+m`2=KEV!;eS8(!O9w>^$`-9z~&r)%f{`mBR<~Y z@+X5&NbN>|H7w3ah3h{^xR-+bVm-TVLlAB=?w`#*A_7RjePDkU9s%4Q!e6AduG{ZG za54P}1qjjyf%9(wHxeEJoNwb7TTj-B-wnz^{WqHM#|#8Xd|>%T5I+czRS3%Y{pJk( z({w6A|G_>qDGcy2;rb5;NrmWN?DhEP4hMoO@6YKEvS@(#{gFunQjCAGg?Byu|5W@D zCLnHW36dxQ;6VK#ARCL{bz3|LzROJ@05HEWV2eF|0D%6%{vw%bJpndH1j2#-`H|TV z2l@wr`b{(J4>z>`us>ix{{U5v>pl#qALK7gF!(x;8s10z=k$l+^4f{XY%t(wg#IF} zcOCulzUfV9AJ7~E_8H*`00RO5x-tFNsQ|oBd=uISd-qWwE`e_!Bz1veryB~O_3i(e zGx5jxLqQHFf|$<<136vrUu|z%KLCFy0dYkOK%fGO+Zc;8z`z;=Z14iV{|h7hZ@Fau z-VXSQ1K@)H)c!vQ0g4Y@{g?!}v@~L|6KNx36Hu{301d(bXWZ=U)<#Hx*K&>S{>_)L ze{1Rg%4Pd2WldUrZ7LgZas8+`_**4!u|Kwf(}7YTAOK^Ai}``>(qVsW&89QOj~(8C z#z~R?{r^K6tRXSc!~-M-)W-eCfW%)U@rWM}0bCdWWMkuY2L0lQ2J#&(0O~?Y0Ud{b z1`QHs;R0x|iR;I^ApQyNLLp#TO}I<|PB;=?A~e1BeC?CCtaLQ6UvNiaBY5ycBte6~ z<${|)zeJPp*6$qG;zl?pV1nD80T&<~30DYRM}y8`1&E!-ZKuRzh5}^42w;Fe5Y*$u zlL(F@GB5z3cpBgq<2W+mLbOCUg!k}AB7FRC;0A^W9S?`_G!z1E{(KdG1BC~^mJI99 z*IvN^CXO5a3S?^yhG>! z;VI&?xEZr%G7`NVU^0Sr%347{R72nfZfEA2H;C#1+yHhxu<-wP{Qm<5)(kMw0RsjY zl(_m&|6yRu1_<2Zk8m*mP=KXyR}dhM3}z($NVtMV;_m`e05BD>%mD`hn-C55J>#x} z-B;i(G>GznyBJ`rfO(AL3S6lZH1P@w;DQD20m6MWI78u|#GRpmX#oTj0Tvc`VF7fU z6eP3?1*?CYU?iYGcnFUO3@B_Q*z$m5FhWPyb_jt-hX53Te~NgHN1V`IJaO<4*AfAV z?+)P#2H!T}&A*-|Jb}PJ2gf6fi>rav8Xgw@?wau+uE@Z6{7(&UWQwdI714JFNJXF| z{zw=D!trn8w88WSOGYpuiQ^6K6DKQvTI0qKRCxna6$&9}+%@x`02ucOamat35jcR@ zFxX{<6~OJa0-7BMehmaTeyaQh2R~iFGym6L!W(Okzve>FBIqDs1|kpQEDRKgwgVmn z`+aac2wXLQRUiUz6pmMkN*|9UNRt5>S$K}b@f_hA{$0X38uyh5;uI#r$MYrxkc+_J z#Gfbv_u&EHI`>zX*LDKmZT$HCjr;JNxEb6B$L)Lvf(FO`!~yw>`-lW0@F|g7aV@Wz zYD6~yohjjE{PC~bKh^^OW7_`@2(2~4M%+dQ)>^rIdLohcNu zhE<6SfuG@ja*hXzKdgoF*VP}Q;jb%e9{%ehf#C?pzpk!%6b1rz_@5|(R>mKJ`w~b8 z!V$N!T`N)v&*7RUaymhttm!bJH8gO;0@IwZO2J1Y&}b-NI08$dfsY30ZNP${9l%~- z8G%2d2ylQW2oyR4Pe5TH-VYuDAthkdgZ<(ljS#puPy!gdIKqH1IA{cKfZzb&3<}_V z6#ywC;E2V=sRhtLV1s&>D1z|A3Awdh-QXNAqX?ZK$e;DcAJpGi0Q_Y?6KXPaXYF9pP-|b?OLj8{imsjYRsnJj3a0yv_y*8bEX7k2tS1QUD(u5Wpo`0*?E| z5d&h@;4V(6p+T7-z-qXsF+fld-T)>LjmdeMKS0cY@(oxZKEd{Ja0&kaPM87T1duj>H28Cn zu7;CZU`Rm8Cjb;wSH>ZOCo&WYBpu5UjaqSS#@FTUhM@UdH1=w%6RRI_$ z{9nA7TRXnEtHgJ3At4}baYw=x!l>Zi!^6g(;qT+B7$Sk(0e))%!YKW9k3b;;9OChB z6L4+(p0G_8IDf$oaXM+jFW`!W!7!*FKY;_{$Eg4am;+BS?jN1Bx~-ins9Y?qZg+F=^*@4lf!t9TOM@tV}OHF~FzbzXbl*Bh|cDvQM zWsa0BvS-+i1clP&M4_03Pn}{+PnGO9w-P=j8I?)jQXIEhNG2S+=iyTal&1d2Y>XPU zPheh*WZ>N`MRm3Hb*1&?RG%$Q^e%cNoP{eYz5Bpt$8_K%X{Bt-*&|UYJGX7ik1f7w z_|yTm>QB)?IzT$?>no=nAWa?K8WdZsr0)}W|4}MO<){v;%_;f=9wfngo*rGj7OdOw zwyEh#{Eep4(z9K(#Ano|GeA4vH z^i|Q0Lc`S?GA_w0&et?xl+l#ex05ZXum3cW%?PyAy>lEL8{xrnmWV7 zZO_8cvT$*oz~@gdeV(tlWT0l4w$CW6lF_H%nHD{3f6 zJscGXOwHu2tnVx2Th-DS9wu>tG;ml@Wl((Dv0SxcMPJT=@FhkLwnLoW!9^({q5EmDcXlzak$*`TncR2@U z|J9gpioD}vJ*zJtM+dJ?JFni*tLrQwEt=iW=nykICeyy!#Ob=q!|h$PDlUf2n}*RS z%_dJXw&b(~Iuy37Dl!*!X|1eIFPj^$beXKK7DQ#mq>Xf)d0n`?s(40UHa+cQAz7zM zYwfhX1Up}6Xz9vo=&7?S+?Gz%rjx5f*IbZ(yi8CZtxv0VLM>`M!?du&q`72iD+37u z@x`Xjrs?t;Z;C0GJ{}^su(Cd}s92EgMBbKXCMxA1I-N~Fh06|#DI7?YDj z`mnC<;ZY3->Q(h4B>Xek^9X9Mm5vq?Lrx#+kJ&o|vwN0EIGO4+0`7{UxdIOjOTSkv zW3=E{RgrV>n+fwIeR4G*oViGRn!o25dHTLpL3fhW8vY)V^tUU5x+JOX{NDPj<6)g2 zI93{BUiW}shZj^F2H&m{OCJpd=r*_n|vfGe*FNQpKTt3maba^@6YcBijkR-C9cxGg2)!qwitJ>XP zI4)T-!(31+I}~s66z#T{tvfHhYI?D5^_+v{@~yT{#}6}ytvVN`c`Qo%zIR^bT}`eI zJX2TaaBHk9yU3J&C1$l?V2{9l78YCEPEs+JQ)c{aPUgGShl}$T&1^!w56hm7YqhR= z^?rnvQQ^jlmhO1yWSY@nw!(#`_=B$K`_(6<751iG9A~w!dOWhfpuRlflz#4r#`$ZW zDvFVp%Xp|XSv8}PssZx_nE6wbtxDO-?$!DM&d$AR`n$>sX17L7*lk_PgKbwROkEhF zpQZlNSO31o>CSViJ(igtD6L+(P_R2btx2L`FzSoz&qQa#jph}PR(;vReP!uVFGkCE z3We?A|CaahF#>bMo8}SCG>yhRhxGDf8{e|o_g^NseBWxFK!mWqrD)x5b}whiBYZ)Htv6*!-UFgJO-lP48)jZ%7z()Kq7B9@*jD<7XV4 z#IZH(w)5Be3d5UOC_&y+-;`ROr1;q*yC)^?<|p%kZ^u^YIm*hHr1Xq4*6)ELL)$a$ z;am=1lXjkKJ=aMGFCLS<*xV)N<#DXPen$?(lD{*!YBt@<;9isSo$|UgJ$>E^ljG;7 zpJdx7W7(YK+nRcGS%TdeSM+S(N6HR9dMXl}bLC=p&C+&`uUIiduLrJg70*=Yd@A-E zN#dIdZ>x*Z%R1%ZT@O=Se6O3>US!kVhOQ958j4ZP@T5QL%_pg8uxmP{@?|@q`X7#UmOY$TZb&^7#gBbs*ya6TiLIwTZ5yIHJaGO}WT&qRTegH%kgVys?_M$s3NJ)bh66_{c;3RQO6I?D z9dLfK99G4lZV>6?VCu7^Jsr1WiK)k$t9CZebqj+Bm)JEip%?8@?GbSe)ZP<`?#Yo( z?*qSEnXzAXn8j2K%X;sh5zmUp%Eet|{T!}L(IOho>Hc+BH+xrFSs%Y;sc13h5&m7- zs2yfpoPrPIYmeJZh_#ZB-Grs=a)Nzf*CHZ|F-U2`P=og5a4iZP8IengZr* zjsaCR#%CUwE^7I_G}J{Q%rBHG4hE{beY>?w`bj>Gsn=etGZzCT^}_AjGHxSzbBpvh zg2T#VS!=d_LQ?n~k{k@`PT&u%d1-xBD_@!QRag}%R~)2$@Agm<1W#+mZp$}=36`H(Yu$^5LS|yx_UBA_WK4E#DT3XqaVk>i6a9)CIiI zyxbq>C0=+Hof1|(WIY#c+@iUy`s~({GyUGWjJ0=;$^}Sk!j!oelMcR5J~FrBL2La@ z=@PFr)oZPVXOV&A+97%HXE$$!mPM)-gseNQ%J(2EmC8D_F{=4hB^sNOo zjj@oUN2vUU8E%|2C?2&WnKXMm7E*4*d&boPwkU```HtB~*`Jbv`t4%HysgK+=-|rR z9@*kaPETsmbGS}w+B^s|UgAEVzD3l~vNFxP{TjtF7I*C-eZ%tBg6zX5eY+7h(yRwm z8}o&-KDKc(wxuH9=QNzr!t}1il`>wbr~CR$XG(BN z!FuLUUv5_{#j~_@9jFWR!bwk+85a4|r?Q|g!nfbN@$p*i%~rLq`#BC6WFC}) zqhu0Ony$Oy^rnhB=Hn-eW{l_3W2|WO%$H!%=B-mr24i!6^t^9M{n&2RkKYz}b1J*n zFMWmMj@^PCWftv?wxbbTrqSXNX7fQNI`CSLVzc=6=SpOu@be4$Q5IvTtnbFRhS6~` zd-dO(+J#Xt`gZQdx8u3Fh}VzHl?_kpe#zx+w1!4D9ljNx!fI>iE*&O0dudFk=aoXy zXsCbU*7tR8XWGMW>wV-rNj^ya_9_K$OHRhsFgjYz<70N_rkF*V4{aX&-$ifxJSS;y ze&0NF$Fi`zL10?s+iZbgd8F16Q9Y=Hgu`WhI-cXV zge+>DU->vYnvWU3yCX?Gbrq6HwApo@2))Izh5;hGL`~jRNitYlqtSB zR_6^`nv3pugiV!{Ul*&BDS4z}fUkU2PSu6mudJ3yc;7YChOsF`-Q$JwC$wKHll2en zvv?TNS0dOc-D&qRoUh11I^h;~#=`YL>bwT)PxDJ}5+mBqtj@h0UuF(qF6nf|9>0Fp z)MuY;cY*p1#5MLgE+J%|BbJ`>ZjR~l%kH>mVm6Vykby@dHP9`5T$T^6Ld0LHo7A+E z`i(3~ZdIkZ7m)^E*p9hW_->zzx9jI;QF5=01a~A{tbAkYFn2oh}>opxM-;;Urif7@7q0~XP z+{_bk7rPI#*>&tLS$ZjB{j^)9*F*RF>%^UyEz1_>#%|lTZChu5apr$wCT1?? zCS%pA%&c4&D=MO*eoyv!|B=xb$9Ra|Q6AJvwT8$-ujq5ny`oesv$zs{MoonHv#LH@ zJkRWam{lQIFqC(6*IcjAJaIz;MEYww&qmJ^O^725{k7&+n0(f_kJz^5A!**58S=3- z&B3vXVZ8i0lzk~$SKy4|qx<#K9`1b3NoQq7Yru*DmsYxAH+|_rI5s(3p3h9B^@W;% zPGjF_`c@Q{r8D)9$eJe`=GbdLM+rObFnT2ihXSvx8)YaQwwm~WEW!cgzI(s9jR zXTnY4rRb1#LY+BY&X>B9Q?#%m&WJQtd56sod85d`=8OlPIl7wt3lGHFS4ZsL9&oe| z^}X1Zr(3Ku)WeeqP{EF#TB=jr3KrP@IG(BfB{#$_z&(Fd-lB%>$>h*>M5eKtPMF3b zQ-$xw;FM}priA*;Y;GzqRoz4rMYfgug)6IdJql#E$3^Igi`nd~>Pw^r?C-YfO6Tx9 zL;mo=9^to^gdfc1Cr6@1)@!694p5>%h`-#px)HY(} zXT%pG>|84g_V4#Y);@etN@WItyZN=bVJ8}yWQe6`^Bj&u8S2LC8NM<83L`lu*k`IZ z{dy>k;nagYL*AycffRV}@m#mZDS7w@S4`qBQ$!g+*&4FE*#8bn#z}1UL}rllHz7Hn zWt^$5n7eZY9zPb|NG{I33x(3k!-*0}_}-n-dP=z;J7x6>hQ3hN{NdumPj!JyJUK~S zy0)O-WVy^!XItimf*Aw01cJB$Je!E`E|X>F;@O7Dp(o@Aw`sv+*8FP zC<(I<6e@eo=CL6;rAzzX5k#dgh0h4(M!R7W1u$wfZ+c=nwgg17@v1WvqZI@^e-N_) z&npkNb;@>j7?F~eR-j4>3`DY+s-aI3&pzbBe&1nZIDpUtBHXjfyN%K02+TY=81>YY zDM>P8j}_%3j}Y2}t?fzUG#eVq?Tz!kT^?8ZXeejt8y=57h!*PaD7{&`3D>>DPf4XzZi zI)EvVX`$5l=$!}E!5AXxPHEkqt=LXNEVUi$F_}_+tx#pjIlIZDq(j|w;WtKcfK({F z2eAQ6uz&`ty!#kT#cH8(rcfxn%u8ner+gnBPVHb9-fXw%qy2@v0sc_SVM{|9-^R00 z5dWYK-6x~gY$@6qUSF2_llC!&8*ai#eaT>&qC-2!6%gvqwaz9v=@v$C+2&I z67Y6<$a~2exGLymC2fSK$9p)?_yPnN{3!=t_SS9+7e^Hu>g8wR&Yd{l@qZJd(s{}4 z?Ckhd8vBrRBiwlZYM#yBHy_c_$CQjQ?37p@Lya~Vf03d`(k?2m8Um$OLo$OaCH4*L z^l-I#d^vlyNHkS(k?WJVS>lDad_ss5y7_?I7^5_(=fXjsL=N}LY>-XB4^ES6TeeR= z0l#;)to#+k)}peh!o~xsHs3A|(TeA0n9~PRyZBIwbzjgZD73hyrn0r_FLhx+cw(yK z;9ufPU*Ds7s>=`EO^Io*kFNw`0SL_=#O-3{IuTS;1h7*A(Q_9A8ALQomtH;|L^L$Q z$d`cXU(`r zF6lNXZAKn_Do$F{*gSv(g%7J?oGqrh#2!y;ZiJj;Dz8Lb=I8rs>QP}?JQWcd*Q$x? z@h;!ZBR`T#G)iU_S$q=Nk!o^8osEO_qB)4Svn|0~Cs~9Ng9Ga?PcTb5t&~`Is)*O4 z>)?dAb}UXN3?lbOwCEuX$w`(z;Ye$BlXDS9Pkbo59$?{TA^vc3#Qa(qQ}8>XY{}y= zivOvM4>GbWB8*ClY$q&B9(A4$f__eAJNchzU>q20d((R(i9La)&%96g8CJ%>2J_fp zv~=_Ht^!l?u#wJ-sue7*>W&Pj3_fpYUJfN?w@#8bdC}P&zc_nQpZZDW*!rmQn8maF zVE3pmvfXnZRm&wD_KYtLP{c>ohCL~Z$Gt({L5vgZcD9m+S~EnSLP(;XEj*vY*Y$jI ztPR0)#OaFPB$~kz@B>`f2XS!oxcwzHKha!OUhVfeq>0Aku0n2U3NZJ4{d0(M=s}j_ zj$$g;+=U2v68S8pGHM*=uwVwUkCviXw`Z)P?+X@$*7#5h4qJ7nNyYFcU-*Lj*=6vv z$=+je>0Yx^j+u+id}(YkwdgNTsx$o(%H38YDcCV_D&M+Kv>{w?3j?g4BYl>=?|~|j zEj6wV86`0fucB2W^ft}z?r4tl0&8issLlroQ|;sM(H>UXTd^?dfSxB{Bd-QpcI@Mh z>5XyPRd10;TKpBCS+E&JUoB;D*qS`$1j6&Z-B}&>p7zfnwpQ3wusBNWDc&M#7xXn# z?N0C0v{KYnNFPFUu7%7O{R4vz%d8xq;=J4F25ZJcp%&7O@^snlDjrE!C9$H~Cwq>- z3vhx+)4)DaRD(AJG00B#C1kkij|rcI7#HaUuPbqH)WH4A=4e9vdP)j6o-}>tZa$_~ zh3b$&uBF6>p(N6|?p1X(BrIUpURehDHdJI`tbY^cBaT(M;u1uV#%={ftId6a1=rH?Qh`TlAZT3D6cS% z4Zr?4l=dWrh~usMIX26vF{T+0b>?YZs!p^4_zqQbH-KDNru$3$bvU*w`3dssI~PJX z+7C-IDq+n-an;$Mwz9jH%dG&}hsO@R7@qztt>{joccRbj;G^;9CNBC06S|9p#D+i7ukbr>Mm8 z#M*C1wQ~}i8}zF5<>)Ca0xY>DM|EcNRuNg(;b&}{pOB!=wn-G9jl#QeV^-Iiw))CJ z*HAlAZTS^SaKM9`e=A3h=eHHe!tqk;dSYMxisGMbzJ^v zeu#_d>!e@$Xz9(q!oOLglJfH4Jj5|-`ifTQiy^G83%K^WgN^$A=6uh!%0B!9=1s!x z`U^o?Dodz)M5Q9QM&2pS`fIJO)TuLBzm2q-%VZSHSoMhp=#G|z{b8l8lD!^>RwyF&l%BmQI(__=ZQfmf@ohU8ciRmAsjll-;vzBDFhC`R@2X+j&IBTEdUJG|{YHRH1K#$gNj zlucC)gP_C_hGQz-mEF{>fkA!Kii9RRD)j+tcdWIa8Z$J@qL6_t#^~?-#9A>}&9?$F zo*TxVr|h$nmE6*+$7ic)5&Vb%z;@J_RvYHKSj{`2 zGK;|uT-lzYSUNXn%m<5O#Q!QZ^eQ=Bl;wVeE!il+&---0p=NdcF#77eMd&$_F7i^D7KMfwpzYiq3sLp6;^P}d6Egf%n;rHr9gzYJ8N`CRs}*+KkTES zyjb!%xlRHuh$dy$T{O-^QW2F|8Taa!xYgIZt>p+Lku>;Wn2DGi$ccw~K+3pdyW5j5K1wdlISAO_zFbpeUy1Cp@HC zraj{57bHfMgsLYK5w$$Q6i3r|LS1D~8MS1+Ywj{u`H{&L|l8Z zjylMS?opX$fBJsZQeo9!cpgwxpCTezh;3Vz-NCV~kqHVcfk2;m?%G$H3yo|XGePcA zhXM{go9mW^akBwEXQue{(1SMky+$Ty4ORfNn&V5OVfw9_dM4Qz#bCkO$LAu;Y*JD5 z`ytMR5#UHE;%-X?g`^co?Ol{0fqkV!{+es8oDs z`8zL2nKoMjz3;>{mTSv%z*@x;`N294vg)8F7AYd>7fw5mvPME#9^B6_Bqx069!05( z2PKEqvw<}Vv2sJ(+?1qE&8Y!!RbMoGLY_Ym>NG^Ql80tqc0=Z6Gwx?~HQTx5QsgVbF)qy^Kxc^u`1e8>mmx z&p|?0xJvo9!}Zb2+*?!R8F5~7A&oFC<;jEOMA>-U@ERHt1r#$-BF{_`FZTLpeZ85w z<4~zp)v_#E>yfgy4`^8kmyxb-JJEh8&}6vzhKzu$-newoQ!h!$>0Ko^aZ}SiGym4R zXX|JT9gqO?dR5Z!G}MC|z}_~Jxs_mGa+7Y>v$Ky2e#{Yqqg5zdOV+M* z*zDfmZq>0#+fUs-q?uEa?P3wJ zr%Vgq8PquWQdy@Py6FnEY#1-b{fY3+U}txiKPA^aIs(r9(rGsHP;jJAi`m+Zbmd#( z$s@Ko*zjbXlyrSOAc&cTs{BVqC*xYUbjBc$O{h#_IlVmYJ#8EENp1B#I(O~@mB5Y< zI$!_FNux$4?bs6YYXs#usz;fAzKpK%NgR?8^$EiN{v@h9(B|2^cJ~E*9`&52A1(fm zmll-P^fkqba^7qkh)4ZNvM;n2EN_T;(3oo%P>oew{d$m`-ykp8o>ZJuPII9ncg~ee zHL0^6X)Wfz6IJ*tTp4mdJt|yiFfJ5D(i!Pqyiwo7;tL24XZ@?Ii6efPSQBWQA36W6 z3V+-00${Z~ey959tHmUZlJr}0o2fkYkq|g`)5TD;6V>c(W4QT(RtouAnUY*tW<<=f zwf0H+88Uuf)kKPD!XRU5;rec_lp|=`@i@Pb9S`?9X6JBBPV1FM2uEhzFO0|=QZ>g9 zcJzsyNVJthRAlwqgz{AbiK!8B-F8R6qD(eFV6k+g5b=(_3f0tC&O*D6fpzI$dkUDA zo)udo)w zymKD^uG%`ZAeW}_*|54sZM8!@(CZ*XftEN?FaFFFpUtG$MMBFj8;uoL+03JR%JR1l zm+{uVehSX!$fP!=$5U_<5b3qs$jqB}G+Y+FIIG9b9$iuUgeb|(IK3?or;=XeTmn;+ zZbNaUM6Jf`4~2iB=2CCYs>I>Rsq%mXjKXJi@-HTINNlx!=PgWz+<}!wh7>@8hEgin z^$R8^1zqDIzKy0S!_9ZPVDYsU`%FmV^-DU-)a@q7%nx4fUhkcD5fC7Zj{LQgK= zygN3IbPo|lSu$VF-^Qo_iZjejuSCoYA66hzo4G7ye*FR0tb5Bw8sG4iFu(Y6it`=u z#s>FtEbB3oQ#@DLb7f9+=ZO-8fs#C|I!SD1r9bc8MdVs5YBQw-|5iSBAR8O*-yoe! z+It#M&b6Kan^Pb{fM}s*I~>gsQsN2wr13Pr6qYIGx{DEi&YfL|Zp238?VvliBn#85 zF=d|G%2FBC(fBqr)!Q-u#n9dZ;i~Xagz9GGcM$sRiyc{^B+gVQ@myAUk1&7bJt_5g zf!JrMldiHHMAALbjsp@B%6QVt&J-qxzfhWncqZk>kAiw-dBTa=Zf6R4xPbZ{ei-y! zE+$~oX!~%$p_Jn_G*cl?DXM(-@lqHmu`f6v-PpHL>ssLmtnJ8**BF_`Tu88Cv}4n> zIyi(blNi8Y;CZBH!WOn)=cMSnNSQVFWgK0&;Fx*5ibqSJh&1NI`<_d0 zgB-@`RwXqB%6BRN)(0)GSKYty&7K#B9!cVH=Qtz)bw~DB#FYhH3k&m^eil7HUzj2A zuKNe=6KwaT*q3j(NmgHE4C1P*r-#AW>Bl&--OsyZ-#8~xr#_1_tcGLT@jNhOH6zsX z$FFDXHNO+!tFp%tI|iEOcR&wg54=Bp&R}Lytg`#DO0!!Z&7D48g@5iH(PUA#N1%a; zx8bGzxBR|FL(=05k{!y{v^6%)v{=K-jkQmaM~Lwqo%Y{4Qiv3$6viK0uv^!g>`O9H zlG$Tu!G{zon2x$z1bOVMAu{%8?Q{ug=`=QppxD@pH_Bb=(??vdFtbUBfe zR^XTcr>JUTLKloi!Td1AmeV3Ik-X)#951hQZ6q120aXf(8Fg9<)YRoa#;5}9ykeELydL zccLZgp9!0?1~aS+UCfUxxkkFZEzJf?A9WCjt4tU($%?}Kda-jJ%`-G^*$_S(K~Nnn zeVerszcYCKpTGQitlRCqJfrQ#b;H+KDhFj>Gjm0zB3`b*%oHPeB9=KuxRc|&uL;u* zau%r+TF>F9jBtcq`!1I7s)AwgtjrUds1AlF)%*~Id$fRvl#mGMOS}F_V$;dV2_B75 zP&d*@Zu>ddo81xYL^!yZh!46B5ePk`?JSBr?eBM8)JSX&*uHU1j8-+93KQEgFAs7h z<|IvYI_4sBkGo_VY%me?8ZZcJ4fjt*PR@=$_du~Zu+Sbmao9kk9VF;`_UPMxZj!N~ zR(`=~8FIdNW0L~!+Cc@)bdDYmN?IY|E?Ej#tMrHhWfM~Wbdq0$^S}ykHVnpVQL8Oh zbI-+^pB)0Ec>!Ye>UAO+5r(x!TtL~I-3NSnxca?UL^

+wwN=bo##VpbU1>kB%NRsBnr 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%0DEB0N@unJ8H-#%&+0}rMD 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 M%)QCnA_x7yhc#tvB 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�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�SI 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 diff --git a/doc/libidn.ps b/doc/libidn.ps deleted file mode 100644 index 5c9276b..0000000 --- a/doc/libidn.ps +++ /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: (), 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\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: (), 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\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: (), 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\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: (), 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\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: (), 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\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: (), 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\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: (), 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\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: (), 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\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: (), 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\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: (), 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\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: (), 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\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: (), 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\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: (), 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\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: (), 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\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: (), 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\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: (), 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\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()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()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()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()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()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()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()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()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(.)198 3039 y(*)198 3148 y(*/)150 3367 y(#include)f()150 -3477 y(#include)g()150 3587 y(#include)g()150 -3696 y(#include)g()617 b(/*)47 b(setlocale\(\))e(*/)150 -3806 y(#include)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(.)198 2819 y(*)198 2929 y(*/)150 3148 y(#include)f() -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()150 5121 y(#include)g()150 -5230 y(#include)g()150 5340 y(#include)g()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()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(.)198 3148 y(*)198 3258 y(*/)150 3477 y(#include)f() -150 3587 y(#include)g()150 3696 y(#include)g()150 -3806 y(#include)g()617 b(/*)47 b(setlocale\(\))e(*/)150 -3915 y(#include)h()425 b(/*)47 b -(stringprep_locale_charset\()o(\))42 b(*/)150 4025 y(#include)k -()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(.)198 1833 y(*)198 1943 y(*/)150 2162 y(#include)f()150 -2271 y(#include)g()150 2381 y(#include)g()150 -2491 y(#include)g()617 b(/*)47 b(setlocale\(\))e(*/)150 -2600 y(#include)h()425 b(/*)47 b -(stringprep_locale_charset\()o(\))42 b(*/)150 2710 y(#include)k -()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(.)198 -518 y(*)198 628 y(*/)150 847 y(#include)f()150 -956 y(#include)g()150 1066 y(#include)g()150 -1285 y(/*)h(Get)g(stringprep_locale_charset)o(,)42 b(etc.)94 -b(*/)150 1395 y(#include)46 b()150 1614 -y(/*)h(Get)g(idna_to_ascii_8z,)c(etc.)95 b(*/)150 1724 -y(#include)46 b()150 1943 y(/*)h(Get)g(tld_check_4z.)92 -b(*/)150 2052 y(#include)46 b()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()390 1197 y(Input:)f()390 1306 y(Output:)f()390 1416 y($)f(java)g(-cp)g(.:../libidn.jar)d(TestIDNA)h(-u)i -()390 1525 y(Input:)f()390 -1635 y(Output:)f()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()390 2879 y(Input:)f()390 2989 -y(Output:)f()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()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 -()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 -()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()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 diff --git a/doc/libidn.texi b/doc/libidn.texi index d9ff83c..40afa03 100644 --- a/doc/libidn.texi +++ b/doc/libidn.texi @@ -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 +$ java -cp .:/usr/share/java/libidn.jar TestIDNA -a Input: Output: -$ java -cp .:../libidn.jar TestIDNA -u +$ java -cp .:/usr/share/java/libidn.jar TestIDNA -u Input: Output: @end example @@ -1826,7 +1793,7 @@ Output: 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 +$ java -cp .:/usr/share/java/libidn.jar TestNFKC Input: Output: @end example @@ -1846,7 +1813,7 @@ Output: 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 diff --git a/doc/man/idn_free.3 b/doc/man/idn_free.3 index ad182a0..3cde957 100644 --- a/doc/man/idn_free.3 +++ b/doc/man/idn_free.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/idna_strerror.3 b/doc/man/idna_strerror.3 index bcee708..ab12c60 100644 --- a/doc/man/idna_strerror.3 +++ b/doc/man/idna_strerror.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/idna_to_ascii_4i.3 b/doc/man/idna_to_ascii_4i.3 index 677e4dd..6c55e1a 100644 --- a/doc/man/idna_to_ascii_4i.3 +++ b/doc/man/idna_to_ascii_4i.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/idna_to_ascii_4z.3 b/doc/man/idna_to_ascii_4z.3 index a812e39..7aa5eae 100644 --- a/doc/man/idna_to_ascii_4z.3 +++ b/doc/man/idna_to_ascii_4z.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/idna_to_ascii_8z.3 b/doc/man/idna_to_ascii_8z.3 index 94fcd80..212c679 100644 --- a/doc/man/idna_to_ascii_8z.3 +++ b/doc/man/idna_to_ascii_8z.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/idna_to_ascii_lz.3 b/doc/man/idna_to_ascii_lz.3 index 2d35d58..62f6df7 100644 --- a/doc/man/idna_to_ascii_lz.3 +++ b/doc/man/idna_to_ascii_lz.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/idna_to_unicode_44i.3 b/doc/man/idna_to_unicode_44i.3 index 36677d4..a28b3a2 100644 --- a/doc/man/idna_to_unicode_44i.3 +++ b/doc/man/idna_to_unicode_44i.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/idna_to_unicode_4z4z.3 b/doc/man/idna_to_unicode_4z4z.3 index b1b8012..359a230 100644 --- a/doc/man/idna_to_unicode_4z4z.3 +++ b/doc/man/idna_to_unicode_4z4z.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/idna_to_unicode_8z4z.3 b/doc/man/idna_to_unicode_8z4z.3 index 5353886..f9426e6 100644 --- a/doc/man/idna_to_unicode_8z4z.3 +++ b/doc/man/idna_to_unicode_8z4z.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/idna_to_unicode_8z8z.3 b/doc/man/idna_to_unicode_8z8z.3 index 62385ce..d73fb83 100644 --- a/doc/man/idna_to_unicode_8z8z.3 +++ b/doc/man/idna_to_unicode_8z8z.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/idna_to_unicode_8zlz.3 b/doc/man/idna_to_unicode_8zlz.3 index fc3b19b..73a05c2 100644 --- a/doc/man/idna_to_unicode_8zlz.3 +++ b/doc/man/idna_to_unicode_8zlz.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/idna_to_unicode_lzlz.3 b/doc/man/idna_to_unicode_lzlz.3 index fc59d58..37894d0 100644 --- a/doc/man/idna_to_unicode_lzlz.3 +++ b/doc/man/idna_to_unicode_lzlz.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/pr29_4.3 b/doc/man/pr29_4.3 index 7c50fea..a691835 100644 --- a/doc/man/pr29_4.3 +++ b/doc/man/pr29_4.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/pr29_4z.3 b/doc/man/pr29_4z.3 index d6279c2..5f15967 100644 --- a/doc/man/pr29_4z.3 +++ b/doc/man/pr29_4z.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/pr29_8z.3 b/doc/man/pr29_8z.3 index b331d05..245e767 100644 --- a/doc/man/pr29_8z.3 +++ b/doc/man/pr29_8z.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/pr29_strerror.3 b/doc/man/pr29_strerror.3 index 231d345..6cf6a7b 100644 --- a/doc/man/pr29_strerror.3 +++ b/doc/man/pr29_strerror.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/punycode_decode.3 b/doc/man/punycode_decode.3 index 5e21f0a..1c9ee92 100644 --- a/doc/man/punycode_decode.3 +++ b/doc/man/punycode_decode.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/punycode_encode.3 b/doc/man/punycode_encode.3 index f9d0a80..133e2a6 100644 --- a/doc/man/punycode_encode.3 +++ b/doc/man/punycode_encode.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/punycode_strerror.3 b/doc/man/punycode_strerror.3 index a74aefc..a909257 100644 --- a/doc/man/punycode_strerror.3 +++ b/doc/man/punycode_strerror.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep.3 b/doc/man/stringprep.3 index e9d8493..b1c3e5e 100644 --- a/doc/man/stringprep.3 +++ b/doc/man/stringprep.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_4i.3 b/doc/man/stringprep_4i.3 index 3aad494..649ae50 100644 --- a/doc/man/stringprep_4i.3 +++ b/doc/man/stringprep_4i.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_4zi.3 b/doc/man/stringprep_4zi.3 index 1841343..4508717 100644 --- a/doc/man/stringprep_4zi.3 +++ b/doc/man/stringprep_4zi.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_check_version.3 b/doc/man/stringprep_check_version.3 index cae3759..cb4261b 100644 --- a/doc/man/stringprep_check_version.3 +++ b/doc/man/stringprep_check_version.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_convert.3 b/doc/man/stringprep_convert.3 index 8776309..8e34f31 100644 --- a/doc/man/stringprep_convert.3 +++ b/doc/man/stringprep_convert.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_locale_charset.3 b/doc/man/stringprep_locale_charset.3 index 86b1985..75ae102 100644 --- a/doc/man/stringprep_locale_charset.3 +++ b/doc/man/stringprep_locale_charset.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_locale_to_utf8.3 b/doc/man/stringprep_locale_to_utf8.3 index 5ee69b8..4b9e1de 100644 --- a/doc/man/stringprep_locale_to_utf8.3 +++ b/doc/man/stringprep_locale_to_utf8.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_profile.3 b/doc/man/stringprep_profile.3 index 6c8b55c..c79c198 100644 --- a/doc/man/stringprep_profile.3 +++ b/doc/man/stringprep_profile.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_strerror.3 b/doc/man/stringprep_strerror.3 index 8cacca3..e0d761b 100644 --- a/doc/man/stringprep_strerror.3 +++ b/doc/man/stringprep_strerror.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_ucs4_nfkc_normalize.3 b/doc/man/stringprep_ucs4_nfkc_normalize.3 index b2e1ad0..cceb40d 100644 --- a/doc/man/stringprep_ucs4_nfkc_normalize.3 +++ b/doc/man/stringprep_ucs4_nfkc_normalize.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_ucs4_to_utf8.3 b/doc/man/stringprep_ucs4_to_utf8.3 index 3d33ae4..17b57e5 100644 --- a/doc/man/stringprep_ucs4_to_utf8.3 +++ b/doc/man/stringprep_ucs4_to_utf8.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_unichar_to_utf8.3 b/doc/man/stringprep_unichar_to_utf8.3 index 5c53a6a..d81682d 100644 --- a/doc/man/stringprep_unichar_to_utf8.3 +++ b/doc/man/stringprep_unichar_to_utf8.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_utf8_nfkc_normalize.3 b/doc/man/stringprep_utf8_nfkc_normalize.3 index e3d61f2..568620a 100644 --- a/doc/man/stringprep_utf8_nfkc_normalize.3 +++ b/doc/man/stringprep_utf8_nfkc_normalize.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_utf8_to_locale.3 b/doc/man/stringprep_utf8_to_locale.3 index 5bb7dde..793e789 100644 --- a/doc/man/stringprep_utf8_to_locale.3 +++ b/doc/man/stringprep_utf8_to_locale.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_utf8_to_ucs4.3 b/doc/man/stringprep_utf8_to_ucs4.3 index a997461..b3910c6 100644 --- a/doc/man/stringprep_utf8_to_ucs4.3 +++ b/doc/man/stringprep_utf8_to_ucs4.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/stringprep_utf8_to_unichar.3 b/doc/man/stringprep_utf8_to_unichar.3 index 398a595..dd46831 100644 --- a/doc/man/stringprep_utf8_to_unichar.3 +++ b/doc/man/stringprep_utf8_to_unichar.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/tld_check_4.3 b/doc/man/tld_check_4.3 index 131ebbe..aadf4cb 100644 --- a/doc/man/tld_check_4.3 +++ b/doc/man/tld_check_4.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/tld_check_4t.3 b/doc/man/tld_check_4t.3 index 59c6b1b..e7256b3 100644 --- a/doc/man/tld_check_4t.3 +++ b/doc/man/tld_check_4t.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/tld_check_4tz.3 b/doc/man/tld_check_4tz.3 index 7e1075f..00c39b3 100644 --- a/doc/man/tld_check_4tz.3 +++ b/doc/man/tld_check_4tz.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/tld_check_4z.3 b/doc/man/tld_check_4z.3 index ea919da..705e5db 100644 --- a/doc/man/tld_check_4z.3 +++ b/doc/man/tld_check_4z.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/tld_check_8z.3 b/doc/man/tld_check_8z.3 index 81143e0..684bc0d 100644 --- a/doc/man/tld_check_8z.3 +++ b/doc/man/tld_check_8z.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/tld_check_lz.3 b/doc/man/tld_check_lz.3 index edd9354..c6425bf 100644 --- a/doc/man/tld_check_lz.3 +++ b/doc/man/tld_check_lz.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/tld_default_table.3 b/doc/man/tld_default_table.3 index c019ece..a45b471 100644 --- a/doc/man/tld_default_table.3 +++ b/doc/man/tld_default_table.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/tld_get_4.3 b/doc/man/tld_get_4.3 index 6a9d4f9..8d952f1 100644 --- a/doc/man/tld_get_4.3 +++ b/doc/man/tld_get_4.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/tld_get_4z.3 b/doc/man/tld_get_4z.3 index 60dd67e..114e197 100644 --- a/doc/man/tld_get_4z.3 +++ b/doc/man/tld_get_4z.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/tld_get_table.3 b/doc/man/tld_get_table.3 index a24a883..b62c8e6 100644 --- a/doc/man/tld_get_table.3 +++ b/doc/man/tld_get_table.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/tld_get_z.3 b/doc/man/tld_get_z.3 index e9bffaa..b944ca1 100644 --- a/doc/man/tld_get_z.3 +++ b/doc/man/tld_get_z.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/man/tld_strerror.3 b/doc/man/tld_strerror.3 index c36b674..8542687 100644 --- a/doc/man/tld_strerror.3 +++ b/doc/man/tld_strerror.3 @@ -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 . -GNU Libidn home page: http://www.gnu.org/software/libidn/ -General help using GNU software: http://www.gnu.org/gethelp/ +Report bugs to . +.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 diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am index 70c65ca..b4dbe83 100644 --- a/doc/reference/Makefile.am +++ b/doc/reference/Makefile.am @@ -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 diff --git a/doc/reference/Makefile.in b/doc/reference/Makefile.in index ff368dd..b63c01f 100644 --- a/doc/reference/Makefile.in +++ b/doc/reference/Makefile.in @@ -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. @@ -16,11 +15,84 @@ @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 . #################################### # 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=''; \ + grn=''; \ + lgn=''; \ + blu=''; \ + mgn=''; \ + brg=''; \ + std=''; \ + 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 ""; \ + echo ""; \ + echo ""; \ + echo ""; \ + echo ""; \ + echo ""; \ + echo ""; \ + ) > $@ + +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 index 0000000..1dd8d27 --- /dev/null +++ b/doc/reference/html/api-index-deprecated.html @@ -0,0 +1,29 @@ + + + + +Index of deprecated API: GNU Libidn API Reference Manual + + + + + + + + + + + + + + + +

+

+Index of deprecated API

+ +
+ + + \ No newline at end of file diff --git a/doc/reference/html/api-index-full.html b/doc/reference/html/api-index-full.html index 4dab22c..c89424f 100644 --- a/doc/reference/html/api-index-full.html +++ b/doc/reference/html/api-index-full.html @@ -2,360 +2,323 @@ -API Index - +API Index: GNU Libidn API Reference Manual + - - + + + - - - - - - - - - - + + + + + + +
-

-API Index

-

+

+API Index

+

I

-stringprep, function in stringprep +IDNAPI, macro in tld.h
-

4

-stringprep_4i, function in stringprep +IDNA_ACE_PREFIX, macro in idna.h
-stringprep_4zi, function in stringprep +Idna_flags, enum in idna.h
-

C

-stringprep_check_version, function in stringprep +Idna_rc, enum in idna.h
-stringprep_convert, function in stringprep +idna_strerror, function in idna.h
-

I

-IDNAPI, macro in tld +idna_to_ascii_4i, function in idna.h
-IDNA_ACE_PREFIX, macro in idna +idna_to_ascii_4z, function in idna.h
-Idna_flags, enum in idna +idna_to_ascii_8z, function in idna.h
-Idna_rc, enum in idna +idna_to_ascii_lz, function in idna.h
-idna_strerror, function in idna +idna_to_unicode_44i, function in idna.h
-idna_to_ascii_4i, function in idna +idna_to_unicode_4z4z, function in idna.h
-idna_to_ascii_4z, function in idna +idna_to_unicode_8z4z, function in idna.h
-idna_to_ascii_8z, function in idna +idna_to_unicode_8z8z, function in idna.h
-idna_to_ascii_lz, function in idna +idna_to_unicode_8zlz, function in idna.h
-idna_to_unicode_44i, function in idna +idna_to_unicode_lzlz, function in idna.h
-idna_to_unicode_4z4z, function in idna +stringprep, function in stringprep.h
-idna_to_unicode_8z4z, function in idna +stringprep_4i, function in stringprep.h
-idna_to_unicode_8z8z, function in idna +stringprep_4zi, function in stringprep.h
-idna_to_unicode_8zlz, function in idna +stringprep_check_version, function in stringprep.h
-idna_to_unicode_lzlz, function in idna +stringprep_convert, function in stringprep.h
-stringprep_iscsi, macro in stringprep +stringprep_iscsi, macro in stringprep.h
-

K

-stringprep_kerberos5, macro in stringprep +stringprep_kerberos5, macro in stringprep.h
-

L

-stringprep_locale_charset, function in stringprep +stringprep_locale_charset, function in stringprep.h
-stringprep_locale_to_utf8, function in stringprep +stringprep_locale_to_utf8, function in stringprep.h
-

M

-STRINGPREP_MAX_MAP_CHARS, macro in stringprep +STRINGPREP_MAX_MAP_CHARS, macro in stringprep.h
-

N

-stringprep_nameprep, macro in stringprep +stringprep_nameprep, macro in stringprep.h
-stringprep_nameprep_no_unassigned, macro in stringprep +stringprep_nameprep_no_unassigned, macro in stringprep.h
-

P

-stringprep_plain, macro in stringprep +stringprep_plain, macro in stringprep.h
-pr29_4, function in pr29 +Stringprep_profile, typedef in stringprep.h
-pr29_4z, function in pr29 +stringprep_profile, function in stringprep.h
-pr29_8z, function in pr29 +Stringprep_profiles, struct in stringprep.h
-Pr29_rc, enum in pr29 +Stringprep_profile_flags, enum in stringprep.h
-pr29_strerror, function in pr29 +Stringprep_profile_steps, enum in stringprep.h
-Stringprep_profile, typedef in stringprep +Stringprep_rc, enum in stringprep.h
-stringprep_profile, function in stringprep +stringprep_strerror, function in stringprep.h
-Stringprep_profiles, typedef in stringprep +Stringprep_table, struct in stringprep.h
-Stringprep_profile_flags, enum in stringprep +Stringprep_table_element, struct in stringprep.h
-Stringprep_profile_steps, enum in stringprep +stringprep_ucs4_nfkc_normalize, function in stringprep.h
-punycode_decode, function in punycode +stringprep_ucs4_to_utf8, function in stringprep.h
-punycode_encode, function in punycode +stringprep_unichar_to_utf8, function in stringprep.h
-Punycode_status, enum in punycode +stringprep_utf8_nfkc_normalize, function in stringprep.h
-punycode_strerror, function in punycode +stringprep_utf8_to_locale, function in stringprep.h
-punycode_uint, typedef in punycode +stringprep_utf8_to_ucs4, function in stringprep.h
-

R

-Stringprep_rc, enum in stringprep +stringprep_utf8_to_unichar, function in stringprep.h
-

S

-stringprep_strerror, function in stringprep +STRINGPREP_VERSION, macro in stringprep.h
-

T

-Stringprep_table_element, typedef in stringprep +stringprep_xmpp_nodeprep, macro in stringprep.h
-tld_check_4, function in tld +stringprep_xmpp_resourceprep, macro in stringprep.h
+

P

-tld_check_4t, function in tld +pr29_4, function in pr29.h
-tld_check_4tz, function in tld +pr29_4z, function in pr29.h
-tld_check_4z, function in tld +pr29_8z, function in pr29.h
-tld_check_8z, function in tld +Pr29_rc, enum in pr29.h
-tld_check_lz, function in tld +pr29_strerror, function in pr29.h
-tld_default_table, function in tld +punycode_decode, function in punycode.h
-tld_get_4, function in tld +punycode_encode, function in punycode.h
-tld_get_4z, function in tld +Punycode_status, enum in punycode.h
-tld_get_table, function in tld +punycode_strerror, function in punycode.h
-tld_get_z, function in tld +punycode_uint, typedef in punycode.h +
+
+

T

+
+tld_check_4, function in tld.h
-Tld_rc, enum in tld +tld_check_4t, function in tld.h
-tld_strerror, function in tld +tld_check_4tz, function in tld.h
-Tld_table, typedef in tld +tld_check_4z, function in tld.h
-Tld_table_element, typedef in tld +tld_check_8z, function in tld.h
-

U

-stringprep_ucs4_nfkc_normalize, function in stringprep +tld_check_lz, function in tld.h
-stringprep_ucs4_to_utf8, function in stringprep +tld_default_table, function in tld.h
-stringprep_unichar_to_utf8, function in stringprep +tld_get_4, function in tld.h
-stringprep_utf8_nfkc_normalize, function in stringprep +tld_get_4z, function in tld.h
-stringprep_utf8_to_locale, function in stringprep +tld_get_table, function in tld.h
-stringprep_utf8_to_ucs4, function in stringprep +tld_get_z, function in tld.h
-stringprep_utf8_to_unichar, function in stringprep +Tld_rc, enum in tld.h
-

V

-STRINGPREP_VERSION, macro in stringprep +tld_strerror, function in tld.h
-

X

-stringprep_xmpp_nodeprep, macro in stringprep +Tld_table, struct in tld.h
-stringprep_xmpp_resourceprep, macro in stringprep +Tld_table_element, struct in tld.h
+
Generated by GTK-Doc V1.33.1 \ No newline at end of file diff --git a/doc/reference/html/home.png b/doc/reference/html/home.png index fb60b552ed4965b293039b2f814a71afca95e90c..b293af531b3796ffdc346a08654277d8b8398f2c 100644 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`1)eUBAr-fhC6+z-|NnoFgBDXq zKI2Db1wYoLw4|@MnLb8Nu*~?OCh+^gTAJQ>`iGR2| z(wR1LoM-X>9fB5j>l-IX+&z`?}`|kaRPoKYh z`~LIypTGZ3G@p47sO!3?i(^Q|t+nT)!&fY+K7It<8`5*2;fuxNO3aRMvTDwK$8R_2G`Mj{ z^E<0ac3!wQQzE%;MdAv<`$uXnv9`S09_8~rhEee)yK`rlo5QUMbwDpNc)I$ztaD0e F0s!lvLUI5A diff --git a/doc/reference/html/index.html b/doc/reference/html/index.html index 4318c23..7ffd354 100644 --- a/doc/reference/html/index.html +++ b/doc/reference/html/index.html @@ -2,11 +2,11 @@ -GNU Libidn API Reference Manual - +GNU Libidn API Reference Manual: GNU Libidn API Reference Manual + - + @@ -15,7 +15,7 @@

- for GNU Libidn 1.25 + for GNU Libidn 1.42 . The latest version of this documentation can be found on-line at https://www.gnu.org/software/libidn/reference/. @@ -23,33 +23,33 @@


-
+
GNU Libidn API Reference Manual
-idna +idna.h — IDNA-related functions
-stringprep +stringprep.h — Stringprep-related functions
-punycode +punycode.h — Punycode-related functions
-pr29 +pr29.h — PR29-related functions
-tld +tld.h — TLD-related functions
-idn-free +idn-free.h — Memory deallocation functions
API Index
+
Index of deprecated API
+
Generated by GTK-Doc V1.33.1 \ No newline at end of file diff --git a/doc/reference/html/index.sgml b/doc/reference/html/index.sgml deleted file mode 100644 index 53e9b97..0000000 --- a/doc/reference/html/index.sgml +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/reference/html/intro.html b/doc/reference/html/intro.html index b76c1d2..ea54665 100644 --- a/doc/reference/html/intro.html +++ b/doc/reference/html/intro.html @@ -2,44 +2,44 @@ -GNU Libidn API Reference Manual - +GNU Libidn API Reference Manual: GNU Libidn API Reference Manual + - - + + - - - - - - + + + + + +
-

-GNU Libidn API Reference Manual

-
+

+GNU Libidn API Reference Manual

+
-idna +idna.h — IDNA-related functions
-stringprep +stringprep.h — Stringprep-related functions
-punycode +punycode.h — Punycode-related functions
-pr29 +pr29.h — PR29-related functions
-tld +tld.h — TLD-related functions
-idn-free +idn-free.h — Memory deallocation functions

@@ -99,7 +99,6 @@ examples, and more.

+
Generated by GTK-Doc V1.33.1
\ 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 index 0000000000000000000000000000000000000000..903790a00797aafe3f59ff1d46ba95caf4d82275 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}U4T!BE0A8bYSn%)*t~i3jvYI8 z?%cU+*RH*L_wL)b@8H3MKn6q>$b~R~B#;eJ01{59R(^U2~tZL)f#CYgcR+EMpN9F=fgAc1S zI*b-}e9+45*u0>lKs&=@$~?WE5#lye;e_ z!V)?`)YE^G&Z{az+wQ6hU)+RBCS?h$%$8iYetCKPqx<`+wgvy5ZI#2x74+3YSjN-z ziQ9(7t}l<-a9lIdxI0DspwaK@gYD+Vm(F&+V!qU(ez42xrQ01&GZRnq2VNVN`|h$6 jZ(^SMsz^!W$HINA^@@S5-SwqFw=j6R`njxgN@xNATtG!d literal 373 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaA)dl#3xB}__)B_+ZBqTI6G_0+y z9UL4Q8XB6Lo0l(Ne*OCO`}glZe*F0P^XIQ$zyAFB^Y7okf!3B;efk5`BUKXQ7tFxI zBOsw-U}EEukX}$--`zib{^He#Z{Pp?dtyH?D^OLBr;B4q#jV^+H-(xE1Y9l_Iu;z4 zZR+ak`upELn{z+1{HV^C3RAUx`dg(vwnTdruGcuhx4p|L{wTx5ZYPx&X4B#s`RabR uK2tDo4+%_Il(5uMF~;EeeHHIRk9osW6@K4xn;Q#s7lWs(pUXO@geCwjBg*ao diff --git a/doc/reference/html/libidn-components.png b/doc/reference/html/libidn-components.png index 1330f91015953b337757a24f2f38869e1041de91..b841290f2e61e984cb789bcd5da8e88859b20ee1 100644 GIT binary patch delta 1283 zcmV+e1^oK%N{b4R7=Hl+000145+=?7000J1OjJbx00960|E1ZV-2eatz)3_wRCt{2 z+fQgCRTu#9?8O|k>`f4q3SK5gBeML#??lnUSTj~8u z;ZuiArjjr-K#h=UJh>+cTq}hf%H&hAepQ=Ac+;h-RxRA3l+v&CA22Sul&%a>TQ9y> z+3O9xr)zEkOXd>u`uy6WQd*pcD) zmb#a8t7SA9#;kYQQY)G(L%kl~p)z!-YU1E)?Kf9%JdFQN^@dB?MXQ!WS)sN6FjZxs zS{kBi0~H>k`s077l+jQgV@iSHko)VqKYswPE?K@$ z+LijEF#p_TuijW(C#u+1?cTuTqc3@=+eF>T&VS7zZSCTzB%iYP2Ha6%s#6hEfJ&n( zay)xAenm#C9I?*P!8*tqQ%o`jk?|;2b&W*BMm?>2`relO0R;*aC{UmtpDG2Y?7`QR zMp^0pmFfC=l}B|Jzr8+0TuOH+olDW{Ur?YxjgVSHDFG#){ZK@GE2Nf%)ORx?YIRCP z&3}koYi;Ho$-n9aC{Umtx6&PoZyt5%P&uKQUW|8ENgbzlL4g7V3KS?%pg@5F1qu|X zp4!IUU-w-h+x9OBOO(3e+#R4wT&nC)?O*qm2df;d3@T~2$_-G?-f%0;rJU<;o(PAW zYki(L4C%uwxuOXQ)aa@qr(&o(yJs$amVYto{#0h`%%${#(ekGhOJx>}`q;bQ#Q4?e zyO#RgsGonZ=tFJ%YN@M6{m<$RiC<-ZvDBBAQa6041@+Bl`npk{R&V)GcXy|nbD74| zV|%v-y*%{ZaQ&Mhmud*9fe+acxaUEE5>{d}2eDa-z@^AM>UfnTq+-FTmJ*=Sf`3y@ zA!Uw>D8YBxBSz#t6jL4n?Run23Q&0jw2McUyD#$rNpm&tl zwaoN_swNU=Bav6qX;s}#BrZfE>GX9~-RkUSRCRx*{d%WrR4Btk!FGwvd&N{!C_^y? z?K-;p54S6ZD_EBph?!vwBlb67EPU0tqGs)!cEV0w2)%H%VNqq;8S^I1?@Vz5}n(Ke2b-r t@XKV%vhSGPJY&ypcB$Eo{d%{m^bdl|YpB$3ox=bC002ovPDHLkV1mdcdB^|& literal 9582 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 X!v8NlNTq%let`l((pmA>PuPC}!0F~+ diff --git a/doc/reference/html/libidn-idn-free.h.html b/doc/reference/html/libidn-idn-free.h.html new file mode 100644 index 0000000..a6af75c --- /dev/null +++ b/doc/reference/html/libidn-idn-free.h.html @@ -0,0 +1,70 @@ + + + + +idn-free.h: GNU Libidn API Reference Manual + + + + + + + + + + + + + + + + +
+
+
+ + +
+

idn-free.h

+

idn-free.h — Memory deallocation functions

+
+
+

Types and Values

+
++++ + + + + +
#defineIDNAPI
+
+
+

Description

+

Memory deallocation functions.

+
+
+

Functions

+

+
+
+

Types and Values

+
+

IDNAPI

+
#define             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

+
+
+
+ + + \ 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 index 52b6ad2..0000000 --- a/doc/reference/html/libidn-idn-free.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - -idn-free - - - - - - - - - - - - - - - - - - - -
-
-
- - -
-

idn-free

-

idn-free

-
-
-

Synopsis

-
#define             IDNAPI
-
-
-
-

Description

-

-

-
-
-

Details

-
-

IDNAPI

-
#define             IDNAPI
-

-

-
-
-
- - - \ 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 index 0000000..b7c8ca2 --- /dev/null +++ b/doc/reference/html/libidn-idna.h.html @@ -0,0 +1,882 @@ + + + + +idna.h: GNU Libidn API Reference Manual + + + + + + + + + + + + + + + + +
+
+
+ + +
+

idna.h

+

idna.h — IDNA-related functions

+
+
+

Functions

+
++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
const char * + +idna_strerror () +
+int + +idna_to_ascii_4i () +
+int + +idna_to_unicode_44i () +
+int + +idna_to_ascii_4z () +
+int + +idna_to_ascii_8z () +
+int + +idna_to_ascii_lz () +
+int + +idna_to_unicode_4z4z () +
+int + +idna_to_unicode_8z4z () +
+int + +idna_to_unicode_8z8z () +
+int + +idna_to_unicode_8zlz () +
+int + +idna_to_unicode_lzlz () +
+
+
+

Types and Values

+
++++ + + + + + + + + + + + + + + + + + + +
#defineIDNAPI
enumIdna_rc
enumIdna_flags
#defineIDNA_ACE_PREFIX
+
+
+

Description

+

IDNA-related functions.

+
+
+

Functions

+
+

idna_strerror ()

+
const char *
+idna_strerror (Idna_rc rc);
+

Convert a return code integer to a text string. This string can be +used to output a diagnostic message to the user.

+

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).

+
+

Parameters

+
+++++ + + + + + +

rc

an Idna_rc return code.

 
+
+
+

Returns

+

Returns a pointer to a statically allocated string +containing a description of the error with the return code rc +.

+
+
+
+
+

idna_to_ascii_4i ()

+
int
+idna_to_ascii_4i (const uint32_t *in,
+                  size_t inlen,
+                  char *out,
+                  int flags);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + + + + + + +

in

input array with unicode code points.

 

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.

 

flags

an Idna_flags value, e.g., IDNA_ALLOW_UNASSIGNED or +IDNA_USE_STD3_ASCII_RULES.

 
+
+
+

Returns

+

Returns 0 on success, or an Idna_rc error code.

+
+
+
+
+

idna_to_unicode_44i ()

+
int
+idna_to_unicode_44i (const uint32_t *in,
+                     size_t inlen,
+                     uint32_t *out,
+                     size_t *outlen,
+                     int flags);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

in

input array with unicode code points.

 

inlen

length of input array with unicode code points.

 

out

output array with unicode code points.

 

outlen

on input, maximum size of output array with unicode code 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.

 
+
+
+

Returns

+

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.

+
+
+
+
+

idna_to_ascii_4z ()

+
int
+idna_to_ascii_4z (const uint32_t *input,
+                  char **output,
+                  int flags);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

input

zero terminated input Unicode string.

 

output

pointer to newly allocated output string.

 

flags

an Idna_flags value, e.g., IDNA_ALLOW_UNASSIGNED or +IDNA_USE_STD3_ASCII_RULES.

 
+
+
+

Returns

+

Returns IDNA_SUCCESS on success, or error code.

+
+
+
+
+

idna_to_ascii_8z ()

+
int
+idna_to_ascii_8z (const char *input,
+                  char **output,
+                  int flags);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

input

zero terminated input UTF-8 string.

 

output

pointer to newly allocated output string.

 

flags

an Idna_flags value, e.g., IDNA_ALLOW_UNASSIGNED or +IDNA_USE_STD3_ASCII_RULES.

 
+
+
+

Returns

+

Returns IDNA_SUCCESS on success, or error code.

+
+
+
+
+

idna_to_ascii_lz ()

+
int
+idna_to_ascii_lz (const char *input,
+                  char **output,
+                  int flags);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

input

zero terminated input string encoded in the current locale's +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.

 
+
+
+

Returns

+

Returns IDNA_SUCCESS on success, or error code.

+
+
+
+
+

idna_to_unicode_4z4z ()

+
int
+idna_to_unicode_4z4z (const uint32_t *input,
+                      uint32_t **output,
+                      int flags);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

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.

 
+
+
+

Returns

+

Returns IDNA_SUCCESS on success, or error code.

+
+
+
+
+

idna_to_unicode_8z4z ()

+
int
+idna_to_unicode_8z4z (const char *input,
+                      uint32_t **output,
+                      int flags);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

input

zero-terminated UTF-8 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.

 
+
+
+

Returns

+

Returns IDNA_SUCCESS on success, or error code.

+
+
+
+
+

idna_to_unicode_8z8z ()

+
int
+idna_to_unicode_8z8z (const char *input,
+                      char **output,
+                      int flags);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

input

zero-terminated UTF-8 string.

 

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.

 
+
+
+

Returns

+

Returns IDNA_SUCCESS on success, or error code.

+
+
+
+
+

idna_to_unicode_8zlz ()

+
int
+idna_to_unicode_8zlz (const char *input,
+                      char **output,
+                      int flags);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

input

zero-terminated UTF-8 string.

 

output

pointer to newly allocated output string encoded in the +current locale's character set.

 

flags

an Idna_flags value, e.g., IDNA_ALLOW_UNASSIGNED or +IDNA_USE_STD3_ASCII_RULES.

 
+
+
+

Returns

+

Returns IDNA_SUCCESS on success, or error code.

+
+
+
+
+

idna_to_unicode_lzlz ()

+
int
+idna_to_unicode_lzlz (const char *input,
+                      char **output,
+                      int flags);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

input

zero-terminated string encoded in the current locale's +character set.

 

output

pointer to newly allocated output string encoded in the +current locale's character set.

 

flags

an Idna_flags value, e.g., IDNA_ALLOW_UNASSIGNED or +IDNA_USE_STD3_ASCII_RULES.

 
+
+
+

Returns

+

Returns IDNA_SUCCESS on success, or error code.

+
+
+
+
+

Types and Values

+
+

IDNAPI

+
#define             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

+
+
+
+

enum Idna_rc

+

Enumerated return codes of idna_to_ascii_4i(), +idna_to_unicode_44i() functions (and functions derived from those +functions). The value 0 is guaranteed to always correspond to +success.

+
+

Members

+
+++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

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_LDH

+

Same as IDNA_CONTAINS_NON_LDH +, for compatibility +with typo in earlier versions.

+
 

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).

+
 
+
+
+
+
+

enum Idna_flags

+

Flags to pass to idna_to_ascii_4i(), idna_to_unicode_44i() etc.

+
+

Members

+
+++++ + + + + + + + + + + + + +

IDNA_ALLOW_UNASSIGNED

+

Don't reject strings containing unassigned +Unicode code points.

+
 

IDNA_USE_STD3_ASCII_RULES

+

Validate strings according to STD3 +rules (i.e., normal host name rules).

+
 
+
+
+
+
+

IDNA_ACE_PREFIX

+
#  define IDNA_ACE_PREFIX "xn--"
+
+

The IANA allocated prefix to use for IDNA. "xn--"

+
+
+
+ + + \ 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 index b73ef40..0000000 --- a/doc/reference/html/libidn-idna.html +++ /dev/null @@ -1,700 +0,0 @@ - - - - -idna - - - - - - - - - - - - - - - - - - - -
-
-
- - -
-

idna

-

idna

-
-
-

Synopsis

-
#define             IDNAPI
-#define             IDNA_ACE_PREFIX
-enum                Idna_flags;
-enum                Idna_rc;
-const char *        idna_strerror                       (Idna_rc rc);
-int                 idna_to_ascii_4i                    (const uint32_t *in,
-                                                         size_t inlen,
-                                                         char *out,
-                                                         int flags);
-int                 idna_to_ascii_4z                    (const uint32_t *input,
-                                                         char **output,
-                                                         int flags);
-int                 idna_to_ascii_8z                    (const char *input,
-                                                         char **output,
-                                                         int flags);
-int                 idna_to_ascii_lz                    (const char *input,
-                                                         char **output,
-                                                         int flags);
-int                 idna_to_unicode_44i                 (const uint32_t *in,
-                                                         size_t inlen,
-                                                         uint32_t *out,
-                                                         size_t *outlen,
-                                                         int flags);
-int                 idna_to_unicode_4z4z                (const uint32_t *input,
-                                                         uint32_t **output,
-                                                         int flags);
-int                 idna_to_unicode_8z4z                (const char *input,
-                                                         uint32_t **output,
-                                                         int flags);
-int                 idna_to_unicode_8z8z                (const char *input,
-                                                         char **output,
-                                                         int flags);
-int                 idna_to_unicode_8zlz                (const char *input,
-                                                         char **output,
-                                                         int flags);
-int                 idna_to_unicode_lzlz                (const char *input,
-                                                         char **output,
-                                                         int flags);
-
-
-
-

Description

-

-

-
-
-

Details

-
-

IDNAPI

-
#define             IDNAPI
-

-

-
-
-
-

IDNA_ACE_PREFIX

-
#  define IDNA_ACE_PREFIX "xn--"
-
-

-The IANA allocated prefix to use for IDNA. "xn--" -

-
-
-
-

enum Idna_flags

-
typedef enum {
-    IDNA_ALLOW_UNASSIGNED = 0x0001,
-    IDNA_USE_STD3_ASCII_RULES = 0x0002
-} Idna_flags;
-
-

-Flags to pass to idna_to_ascii_4i(), idna_to_unicode_44i() etc. -

-
-- - - - - - - - - - -

IDNA_ALLOW_UNASSIGNED

Don't reject strings containing unassigned - Unicode code points. -

IDNA_USE_STD3_ASCII_RULES

Validate strings according to STD3 - rules (i.e., normal host name rules). -
-
-
-
-

enum Idna_rc

-
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;
-
-

-Enumerated return codes of idna_to_ascii_4i(), -idna_to_unicode_44i() functions (and functions derived from those -functions). The value 0 is guaranteed to always correspond to -success. -

-
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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_LDH

Same as IDNA_CONTAINS_NON_LDH, for compatibility - with typo in earlier versions. -

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). -
-
-
-
-

idna_strerror ()

-
const char *        idna_strerror                       (Idna_rc rc);
-

-Convert a return code integer to a text string. This string can be -used to output a diagnostic message to the user. -

-

-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). -

-
-- - - - - - - - - - -

rc :

an Idna_rc return code.

Returns :

Returns a pointer to a statically allocated string -containing a description of the error with the return code rc.
-
-
-
-

idna_to_ascii_4i ()

-
int                 idna_to_ascii_4i                    (const uint32_t *in,
-                                                         size_t inlen,
-                                                         char *out,
-                                                         int flags);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - - - - - -

in :

input array with unicode code points.

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.

flags :

an Idna_flags value, e.g., IDNA_ALLOW_UNASSIGNED or -IDNA_USE_STD3_ASCII_RULES.

Returns :

Returns 0 on success, or an Idna_rc error code.
-
-
-
-

idna_to_ascii_4z ()

-
int                 idna_to_ascii_4z                    (const uint32_t *input,
-                                                         char **output,
-                                                         int flags);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

input :

zero terminated input Unicode string.

output :

pointer to newly allocated output string.

flags :

an Idna_flags value, e.g., IDNA_ALLOW_UNASSIGNED or -IDNA_USE_STD3_ASCII_RULES.

Returns :

Returns IDNA_SUCCESS on success, or error code.
-
-
-
-

idna_to_ascii_8z ()

-
int                 idna_to_ascii_8z                    (const char *input,
-                                                         char **output,
-                                                         int flags);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

input :

zero terminated input UTF-8 string.

output :

pointer to newly allocated output string.

flags :

an Idna_flags value, e.g., IDNA_ALLOW_UNASSIGNED or -IDNA_USE_STD3_ASCII_RULES.

Returns :

Returns IDNA_SUCCESS on success, or error code.
-
-
-
-

idna_to_ascii_lz ()

-
int                 idna_to_ascii_lz                    (const char *input,
-                                                         char **output,
-                                                         int flags);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

input :

zero terminated input string encoded in the current locale's -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.

Returns :

Returns IDNA_SUCCESS on success, or error code.
-
-
-
-

idna_to_unicode_44i ()

-
int                 idna_to_unicode_44i                 (const uint32_t *in,
-                                                         size_t inlen,
-                                                         uint32_t *out,
-                                                         size_t *outlen,
-                                                         int flags);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - - - - - - - - - -

in :

input array with unicode code points.

inlen :

length of input array with unicode code points.

out :

output array with unicode code points.

outlen :

on input, maximum size of output array with unicode code 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.

Returns :

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.
-
-
-
-

idna_to_unicode_4z4z ()

-
int                 idna_to_unicode_4z4z                (const uint32_t *input,
-                                                         uint32_t **output,
-                                                         int flags);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

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.

Returns :

Returns IDNA_SUCCESS on success, or error code.
-
-
-
-

idna_to_unicode_8z4z ()

-
int                 idna_to_unicode_8z4z                (const char *input,
-                                                         uint32_t **output,
-                                                         int flags);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

input :

zero-terminated UTF-8 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.

Returns :

Returns IDNA_SUCCESS on success, or error code.
-
-
-
-

idna_to_unicode_8z8z ()

-
int                 idna_to_unicode_8z8z                (const char *input,
-                                                         char **output,
-                                                         int flags);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

input :

zero-terminated UTF-8 string.

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.

Returns :

Returns IDNA_SUCCESS on success, or error code.
-
-
-
-

idna_to_unicode_8zlz ()

-
int                 idna_to_unicode_8zlz                (const char *input,
-                                                         char **output,
-                                                         int flags);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

input :

zero-terminated UTF-8 string.

output :

pointer to newly allocated output string encoded in the -current locale's character set.

flags :

an Idna_flags value, e.g., IDNA_ALLOW_UNASSIGNED or -IDNA_USE_STD3_ASCII_RULES.

Returns :

Returns IDNA_SUCCESS on success, or error code.
-
-
-
-

idna_to_unicode_lzlz ()

-
int                 idna_to_unicode_lzlz                (const char *input,
-                                                         char **output,
-                                                         int flags);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

input :

zero-terminated string encoded in the current locale's -character set.

output :

pointer to newly allocated output string encoded in the -current locale's character set.

flags :

an Idna_flags value, e.g., IDNA_ALLOW_UNASSIGNED or -IDNA_USE_STD3_ASCII_RULES.

Returns :

Returns IDNA_SUCCESS on success, or error code.
-
-
-
- - - \ 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 index 0000000..a7c876b --- /dev/null +++ b/doc/reference/html/libidn-pr29.h.html @@ -0,0 +1,295 @@ + + + + +pr29.h: GNU Libidn API Reference Manual + + + + + + + + + + + + + + + + +
+
+
+ + +
+

pr29.h

+

pr29.h — PR29-related functions

+
+
+

Functions

+
++++ + + + + + + + + + + + + + + + + + + +
const char * + +pr29_strerror () +
+int + +pr29_4 () +
+int + +pr29_4z () +
+int + +pr29_8z () +
+
+
+

Types and Values

+
++++ + + + + + + + + + + +
#defineIDNAPI
enumPr29_rc
+
+
+

Description

+

PR29-related functions.

+
+
+

Functions

+
+

pr29_strerror ()

+
const char *
+pr29_strerror (Pr29_rc rc);
+

Convert a return code integer to a text string. This string can be +used to output a diagnostic message to the user.

+

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 pr29_8z()).

+
+

Parameters

+
+++++ + + + + + +

rc

an Pr29_rc return code.

 
+
+
+

Returns

+

Returns a pointer to a statically allocated string +containing a description of the error with the return code rc +.

+
+
+
+
+

pr29_4 ()

+
int
+pr29_4 (const uint32_t *in,
+        size_t len);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

in

input array with unicode code points.

 

len

length of input array with unicode code points.

 
+
+
+

Returns

+

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).

+
+
+
+
+

pr29_4z ()

+
int
+pr29_4z (const uint32_t *in);
+

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.

+
+

Parameters

+
+++++ + + + + + +

in

zero terminated array of Unicode code points.

 
+
+
+

Returns

+

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).

+
+
+
+
+

pr29_8z ()

+
int
+pr29_8z (const char *in);
+

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.

+
+

Parameters

+
+++++ + + + + + +

in

zero terminated input UTF-8 string.

 
+
+
+

Returns

+

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.

+
+
+
+
+

Types and Values

+
+

IDNAPI

+
#define             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

+
+
+
+

enum Pr29_rc

+

Enumerated return codes for pr29_4(), pr29_4z(), pr29_8z(). The +value 0 is guaranteed to always correspond to success.

+
+

Members

+
+++++ + + + + + + + + + + + + + + + + + +

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 pr29_8z()).

+
 
+
+
+
+
+ + + \ 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 index 98905e7..0000000 --- a/doc/reference/html/libidn-pr29.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - -pr29 - - - - - - - - - - - - - - - - - - - -
-
-
- - -
-

pr29

-

pr29

-
-
-

Synopsis

-
#define             IDNAPI
-enum                Pr29_rc;
-int                 pr29_4                              (const uint32_t *in,
-                                                         size_t len);
-int                 pr29_4z                             (const uint32_t *in);
-int                 pr29_8z                             (const char *in);
-const char *        pr29_strerror                       (Pr29_rc rc);
-
-
-
-

Description

-

-

-
-
-

Details

-
-

IDNAPI

-
#define             IDNAPI
-

-

-
-
-
-

enum Pr29_rc

-
typedef enum {
-    PR29_SUCCESS = 0,
-    PR29_PROBLEM = 1,		/* String is a problem sequence. */
-    PR29_STRINGPREP_ERROR = 2 /* Charset conversion failed (p29_8*). */
-} Pr29_rc;
-
-

-Enumerated return codes for pr29_4(), pr29_4z(), pr29_8z(). The -value 0 is guaranteed to always correspond to success. -

-
-- - - - - - - - - - - - - - -

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 pr29_8z()). -
-
-
-
-

pr29_4 ()

-
int                 pr29_4                              (const uint32_t *in,
-                                                         size_t len);
-

-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. -

-
-- - - - - - - - - - - - - - -

in :

input array with unicode code points.

len :

length of input array with unicode code points.

Returns :

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).
-
-
-
-

pr29_4z ()

-
int                 pr29_4z                             (const uint32_t *in);
-

-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. -

-
-- - - - - - - - - - -

in :

zero terminated array of Unicode code points.

Returns :

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).
-
-
-
-

pr29_8z ()

-
int                 pr29_8z                             (const char *in);
-

-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. -

-
-- - - - - - - - - - -

in :

zero terminated input UTF-8 string.

Returns :

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.
-
-
-
-

pr29_strerror ()

-
const char *        pr29_strerror                       (Pr29_rc rc);
-

-Convert a return code integer to a text string. This string can be -used to output a diagnostic message to the user. -

-

-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 pr29_8z()). -

-
-- - - - - - - - - - -

rc :

an Pr29_rc return code.

Returns :

Returns a pointer to a statically allocated string -containing a description of the error with the return code rc.
-
-
-
- - - \ 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 index 0000000..f005870 --- /dev/null +++ b/doc/reference/html/libidn-punycode.h.html @@ -0,0 +1,368 @@ + + + + +punycode.h: GNU Libidn API Reference Manual + + + + + + + + + + + + + + + + +
+
+
+ + +
+

punycode.h

+

punycode.h — Punycode-related functions

+
+
+

Functions

+
++++ + + + + + + + + + + + + + + +
const char * + +punycode_strerror () +
+int + +punycode_encode () +
+int + +punycode_decode () +
+
+
+

Types and Values

+
++++ + + + + + + + + + + + + + + +
#defineIDNAPI
enumPunycode_status
typedefpunycode_uint
+
+
+

Description

+

Punycode-related functions.

+
+
+

Functions

+
+

punycode_strerror ()

+
const char *
+punycode_strerror (Punycode_status rc);
+

Convert a return code integer to a text string. This string can be +used to output a diagnostic message to the user.

+

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.

+
+

Parameters

+
+++++ + + + + + +

rc

an Punycode_status return code.

 
+
+
+

Returns

+

Returns a pointer to a statically allocated string +containing a description of the error with the return code rc +.

+
+
+
+
+

punycode_encode ()

+
int
+punycode_encode (size_t input_length,
+                 const punycode_uint input[],
+                 const unsigned char case_flags[],
+                 size_t *output_length,
+                 char output[]);
+

Converts a sequence of code points (presumed to be Unicode code +points) to Punycode.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

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 +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.

 

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 +contains zeros. (Of course the caller can leave room for a +terminator and add one if needed.)

 
+
+
+

Returns

+

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 ()

+
int
+punycode_decode (size_t input_length,
+                 const char input[],
+                 size_t *output_length,
+                 punycode_uint output[],
+                 unsigned char case_flags[]);
+

Converts Punycode to a sequence of code points (presumed to be +Unicode code points).

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

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 +the maximum number of flags that it can receive into the +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.

 

output

An array of code points like the input argument of +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 +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.

 
+
+
+

Returns

+

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.

+
+
+
+
+

Types and Values

+
+

IDNAPI

+
#define             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

+
+
+
+

enum Punycode_status

+

Enumerated return codes of punycode_encode() and punycode_decode(). +The value 0 is guaranteed to always correspond to success.

+
+

Members

+
+++++ + + + + + + + + + + + + + + + + + + + + + + +

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.

+
 
+
+
+
+
+

punycode_uint

+
  typedef uint32_t punycode_uint;
+
+

Unicode code point data type, this is always a 32 bit unsigned +integer.

+
+
+
+ + + \ 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 index 8139f3a..0000000 --- a/doc/reference/html/libidn-punycode.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - -punycode - - - - - - - - - - - - - - - - - - - -
-
-
- - -
-

punycode

-

punycode

-
-
-

Synopsis

-
#define             IDNAPI
-enum                Punycode_status;
-int                 punycode_decode                     (size_t input_length,
-                                                         const char input[],
-                                                         size_t *output_length,
-                                                         punycode_uint output[],
-                                                         unsigned char case_flags[]);
-int                 punycode_encode                     (size_t input_length,
-                                                         const punycode_uint input[],
-                                                         const unsigned char case_flags[],
-                                                         size_t *output_length,
-                                                         char output[]);
-const char *        punycode_strerror                   (Punycode_status rc);
-typedef             punycode_uint;
-
-
-
-

Description

-

-

-
-
-

Details

-
-

IDNAPI

-
#define             IDNAPI
-

-

-
-
-
-

enum Punycode_status

-
typedef enum {
-    PUNYCODE_SUCCESS = punycode_success,
-    PUNYCODE_BAD_INPUT = punycode_bad_input,
-    PUNYCODE_BIG_OUTPUT = punycode_big_output,
-    PUNYCODE_OVERFLOW = punycode_overflow
-} Punycode_status;
-
-

-Enumerated return codes of punycode_encode() and punycode_decode(). -The value 0 is guaranteed to always correspond to success. -

-
-- - - - - - - - - - - - - - - - - - -

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. -
-
-
-
-

punycode_decode ()

-
int                 punycode_decode                     (size_t input_length,
-                                                         const char input[],
-                                                         size_t *output_length,
-                                                         punycode_uint output[],
-                                                         unsigned char case_flags[]);
-

-Converts Punycode to a sequence of code points (presumed to be -Unicode code points). -

-
-- - - - - - - - - - - - - - - - - - - - - - - - - - -

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 -the maximum number of flags that it can receive into the -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.

output :

An array of code points like the input argument of -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 -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.

Returns :

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.
-
-
-
-

punycode_encode ()

-
int                 punycode_encode                     (size_t input_length,
-                                                         const punycode_uint input[],
-                                                         const unsigned char case_flags[],
-                                                         size_t *output_length,
-                                                         char output[]);
-

-Converts a sequence of code points (presumed to be Unicode code -points) to Punycode. -

-
-- - - - - - - - - - - - - - - - - - - - - - - - - - -

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 -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.

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 -contains zeros. (Of course the caller can leave room for a -terminator and add one if needed.)

Returns :

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_strerror ()

-
const char *        punycode_strerror                   (Punycode_status rc);
-

-Convert a return code integer to a text string. This string can be -used to output a diagnostic message to the user. -

-

-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. -

-
-- - - - - - - - - - -

rc :

an Punycode_status return code.

Returns :

Returns a pointer to a statically allocated string -containing a description of the error with the return code rc.
-
-
-
-

punycode_uint

-
  typedef uint32_t punycode_uint;
-
-

-Unicode code point data type, this is always a 32 bit unsigned -integer. -

-
-
-
- - - \ 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 index 0000000..05dfc72 --- /dev/null +++ b/doc/reference/html/libidn-stringprep.h.html @@ -0,0 +1,1595 @@ + + + + +stringprep.h: GNU Libidn API Reference Manual + + + + + + + + + + + + + + + + +
+
+
+ + +
+

stringprep.h

+

stringprep.h — Stringprep-related functions

+
+
+

Functions

+
++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define +stringprep_nameprep() +
#define +stringprep_nameprep_no_unassigned() +
#define +stringprep_plain() +
#define +stringprep_kerberos5() +
#define +stringprep_xmpp_nodeprep() +
#define +stringprep_xmpp_resourceprep() +
#define +stringprep_iscsi() +
+int + +stringprep_4i () +
+int + +stringprep_4zi () +
+int + +stringprep () +
+int + +stringprep_profile () +
const char * + +stringprep_strerror () +
const char * + +stringprep_check_version () +
+int + +stringprep_unichar_to_utf8 () +
+uint32_t + +stringprep_utf8_to_unichar () +
+uint32_t * + +stringprep_utf8_to_ucs4 () +
+char * + +stringprep_ucs4_to_utf8 () +
+char * + +stringprep_utf8_nfkc_normalize () +
+uint32_t * + +stringprep_ucs4_nfkc_normalize () +
const char * + +stringprep_locale_charset () +
+char * + +stringprep_convert () +
+char * + +stringprep_locale_to_utf8 () +
+char * + +stringprep_utf8_to_locale () +
+
+
+

Types and Values

+
++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#defineIDNAPI
#defineSTRINGPREP_VERSION
enumStringprep_rc
enumStringprep_profile_flags
enumStringprep_profile_steps
#defineSTRINGPREP_MAX_MAP_CHARS
structStringprep_table_element
structStringprep_table
typedefStringprep_profile
structStringprep_profiles
+
+
+

Description

+

Stringprep-related functions.

+
+
+

Functions

+
+

stringprep_nameprep()

+
#define             stringprep_nameprep(in, maxlen)
+

Prepare the input UTF-8 string according to the nameprep profile. +The AllowUnassigned flag is true, use +stringprep_nameprep_no_unassigned() if you want a false +AllowUnassigned. Returns 0 iff successful, or an error code.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

in

input/output array with string to prepare.

 

maxlen

maximum length of input/output array.

 
+
+
+
+
+

stringprep_nameprep_no_unassigned()

+
#define             stringprep_nameprep_no_unassigned(in, maxlen)
+

Prepare the input UTF-8 string according to the nameprep profile. +The AllowUnassigned flag is false, use stringprep_nameprep() for +true AllowUnassigned. Returns 0 iff successful, or an error code.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

in

input/output array with string to prepare.

 

maxlen

maximum length of input/output array.

 
+
+
+
+
+

stringprep_plain()

+
#define             stringprep_plain(in, maxlen)
+

Prepare the input UTF-8 string according to the draft SASL +ANONYMOUS profile. Returns 0 iff successful, or an error code.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

in

input/output array with string to prepare.

 

maxlen

maximum length of input/output array.

 
+
+
+
+
+

stringprep_kerberos5()

+
#define             stringprep_kerberos5(in, maxlen)
+

Prepare the input UTF-8 string according to the draft Kerberos 5 +node identifier profile. Returns 0 iff successful, or an error +code.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

in

input/output array with string to prepare.

 

maxlen

maximum length of input/output array.

 
+
+
+
+
+

stringprep_xmpp_nodeprep()

+
#define             stringprep_xmpp_nodeprep(in, maxlen)
+

Prepare the input UTF-8 string according to the draft XMPP node +identifier profile. Returns 0 iff successful, or an error code.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

in

input/output array with string to prepare.

 

maxlen

maximum length of input/output array.

 
+
+
+
+
+

stringprep_xmpp_resourceprep()

+
#define             stringprep_xmpp_resourceprep(in, maxlen)
+

Prepare the input UTF-8 string according to the draft XMPP resource +identifier profile. Returns 0 iff successful, or an error code.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

in

input/output array with string to prepare.

 

maxlen

maximum length of input/output array.

 
+
+
+
+
+

stringprep_iscsi()

+
#define             stringprep_iscsi(in, maxlen)
+

Prepare the input UTF-8 string according to the draft iSCSI +stringprep profile. Returns 0 iff successful, or an error code.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

in

input/output array with string to prepare.

 

maxlen

maximum length of input/output array.

 
+
+
+
+
+

stringprep_4i ()

+
int
+stringprep_4i (uint32_t *ucs4,
+               size_t *len,
+               size_t maxucs4len,
+               Stringprep_profile_flags flags,
+               const Stringprep_profile *profile);
+

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 + +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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

ucs4

input/output array with string to prepare.

 

len

on input, length of input array with Unicode code points, +on exit, length of output array with Unicode code points.

 

maxucs4len

maximum length of input/output array.

 

flags

a Stringprep_profile_flags value, or 0.

 

profile

pointer to Stringprep_profile to use.

 
+
+
+

Returns

+

Returns STRINGPREP_OK iff successful, or an +Stringprep_rc error code.

+
+
+
+
+

stringprep_4zi ()

+
int
+stringprep_4zi (uint32_t *ucs4,
+                size_t maxucs4len,
+                Stringprep_profile_flags flags,
+                const Stringprep_profile *profile);
+

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 + +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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + + + + + + +

ucs4

input/output array with zero terminated string to prepare.

 

maxucs4len

maximum length of input/output array.

 

flags

a Stringprep_profile_flags value, or 0.

 

profile

pointer to Stringprep_profile to use.

 
+
+
+

Returns

+

Returns STRINGPREP_OK iff successful, or an +Stringprep_rc error code.

+
+
+
+
+

stringprep ()

+
int
+stringprep (char *in,
+            size_t maxlen,
+            Stringprep_profile_flags flags,
+            const Stringprep_profile *profile);
+

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().

+

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 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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + + + + + + +

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.

 
+
+
+

Returns

+

Returns STRINGPREP_OK iff successful, or an error code.

+
+
+
+
+

stringprep_profile ()

+
int
+stringprep_profile (const char *in,
+                    char **out,
+                    const char *profile,
+                    Stringprep_profile_flags flags);
+

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 +stringprep_locale_to_utf8().

+

The output out + variable must be deallocated by the caller.

+

The flags + are one of Stringprep_profile_flags values, or 0.

+

The profile + specifies the name of the stringprep profile to use. +It must be one of the internally supported stringprep profiles.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + + + + + + +

in

input array with UTF-8 string to prepare.

 

out

output variable with pointer to newly allocate string.

 

profile

name of stringprep profile to use.

 

flags

a Stringprep_profile_flags value, or 0.

 
+
+
+

Returns

+

Returns STRINGPREP_OK iff successful, or an error code.

+
+
+
+
+

stringprep_strerror ()

+
const char *
+stringprep_strerror (Stringprep_rc rc);
+

Convert a return code integer to a text string. This string can be +used to output a diagnostic message to the user.

+

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 malloc() was out of memory. This is + usually a fatal error.

+
+

Parameters

+
+++++ + + + + + +

rc

a Stringprep_rc return code.

 
+
+
+

Returns

+

Returns a pointer to a statically allocated string +containing a description of the error with the return code rc +.

+
+
+
+
+

stringprep_check_version ()

+
const char *
+stringprep_check_version (const char *req_version);
+

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 STRINGPREP_VERSION for a suitable req_version + string.

+
+

Parameters

+
+++++ + + + + + +

req_version

Required version number, or NULL.

 
+
+
+

Returns

+

Version string of run-time library, or NULL if the +run-time library does not meet the required version number.

+
+
+
+
+

stringprep_unichar_to_utf8 ()

+
int
+stringprep_unichar_to_utf8 (uint32_t c,
+                            char *outbuf);
+

Converts a single character to UTF-8.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

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 +.

 
+
+
+

Returns

+

number of bytes written.

+
+
+
+
+

stringprep_utf8_to_unichar ()

+
uint32_t
+stringprep_utf8_to_unichar (const char *p);
+

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.

+
+

Parameters

+
+++++ + + + + + +

p

a pointer to Unicode character encoded as UTF-8

 
+
+
+

Returns

+

the resulting character.

+
+
+
+
+

stringprep_utf8_to_ucs4 ()

+
uint32_t *
+stringprep_utf8_to_ucs4 (const char *str,
+                         ssize_t len,
+                         size_t *items_written);
+

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).

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

str

a UTF-8 encoded string

 

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.

 
+
+
+

Returns

+

a pointer to a newly allocated UCS-4 string. +This value must be deallocated by the caller.

+
+
+
+
+

stringprep_ucs4_to_utf8 ()

+
char *
+stringprep_ucs4_to_utf8 (const uint32_t *str,
+                         ssize_t len,
+                         size_t *items_read,
+                         size_t *items_written);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + + + + + + +

str

a UCS-4 encoded string

 

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.

 

items_written

location to store number of bytes written or NULL. +The value here stored does not include the trailing 0 +byte.

 
+
+
+

Returns

+

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.

+
+
+
+
+

stringprep_utf8_nfkc_normalize ()

+
char *
+stringprep_utf8_nfkc_normalize (const char *str,
+                                ssize_t len);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

str

a UTF-8 encoded string.

 

len

length of str +, in bytes, or -1 if str +is nul-terminated.

 
+
+
+

Returns

+

a newly allocated string, that is the +NFKC normalized form of str +.

+
+
+
+
+

stringprep_ucs4_nfkc_normalize ()

+
uint32_t *
+stringprep_ucs4_nfkc_normalize (const uint32_t *str,
+                                ssize_t len);
+

Converts a UCS4 string into canonical form, see +stringprep_utf8_nfkc_normalize() for more information.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

str

a Unicode string.

 

len

length of str +array, or -1 if str +is nul-terminated.

 
+
+
+

Returns

+

a newly allocated Unicode string, that is the NFKC +normalized form of str +.

+
+
+
+
+

stringprep_locale_charset ()

+
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.

+

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.

+
+

Returns

+

Return the character set used by the current locale. +It will never return NULL, but use "ASCII" as a fallback.

+
+
+
+
+

stringprep_convert ()

+
char *
+stringprep_convert (const char *str,
+                    const char *to_codeset,
+                    const char *from_codeset);
+

Convert the string from one character set to another using the +system's iconv() function.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

str

input zero-terminated string.

 

to_codeset

name of destination character set.

 

from_codeset

name of origin character set, as used by str +.

 
+
+
+

Returns

+

Returns newly allocated zero-terminated string which +is str +transcoded into to_codeset.

+
+
+
+
+

stringprep_locale_to_utf8 ()

+
char *
+stringprep_locale_to_utf8 (const char *str);
+

Convert string encoded in the locale's character set into UTF-8 by +using stringprep_convert().

+
+

Parameters

+
+++++ + + + + + +

str

input zero terminated string.

 
+
+
+

Returns

+

Returns newly allocated zero-terminated string which +is str +transcoded into UTF-8.

+
+
+
+
+

stringprep_utf8_to_locale ()

+
char *
+stringprep_utf8_to_locale (const char *str);
+

Convert string encoded in UTF-8 into the locale's character set by +using stringprep_convert().

+
+

Parameters

+
+++++ + + + + + +

str

input zero terminated string.

 
+
+
+

Returns

+

Returns newly allocated zero-terminated string which +is str +transcoded into the locale's character set.

+
+
+
+
+

Types and Values

+
+

IDNAPI

+
#define             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

+
+
+
+

STRINGPREP_VERSION

+
# define STRINGPREP_VERSION "1.42"
+
+

String defined via CPP denoting the header file version number. +Used together with stringprep_check_version() to verify header file +and run-time library consistency.

+
+
+
+

enum Stringprep_rc

+

Enumerated return codes of stringprep(), stringprep_profile() +functions (and macros using those functions). The value 0 is +guaranteed to always correspond to success.

+
+

Members

+
+++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

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 malloc() was out of memory. This is +usually a fatal error.

+
 
+
+
+
+
+

enum Stringprep_profile_flags

+

Stringprep profile flags.

+
+

Members

+
+++++ + + + + + + + + + + + + + + + + + +

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.

+
 

STRINGPREP_NO_BIDI

+

Disable the BIDI step. Usually the profile +specifies BIDI and NFKC settings, and applications should not +override it unless in special situations.

+
 

STRINGPREP_NO_UNASSIGNED

+

Make the library return with an error if +string contains unassigned characters according to profile.

+
 
+
+
+
+
+

enum Stringprep_profile_steps

+

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.

+
+

Members

+
+++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

STRINGPREP_NFKC

+

The NFKC step.

+
 

STRINGPREP_BIDI

+

The BIDI step.

+
 

STRINGPREP_MAP_TABLE

+

The MAP step.

+
 

STRINGPREP_UNASSIGNED_TABLE

+

The Unassigned step.

+
 

STRINGPREP_PROHIBIT_TABLE

+

The Prohibited step.

+
 

STRINGPREP_BIDI_PROHIBIT_TABLE

+

The BIDI-Prohibited step.

+
 

STRINGPREP_BIDI_RAL_TABLE

+

The BIDI-RAL step.

+
 

STRINGPREP_BIDI_L_TABLE

+

The BIDI-L step.

+
 
+
+
+
+
+

STRINGPREP_MAX_MAP_CHARS

+
# define STRINGPREP_MAX_MAP_CHARS 4
+
+

Maximum number of code points that can replace a single code point, +during stringprep mapping.

+
+
+
+

struct Stringprep_table_element

+
struct Stringprep_table_element {
+    uint32_t start;
+    uint32_t end;
+    uint32_t map[STRINGPREP_MAX_MAP_CHARS];
+};
+
+

Stringprep profile table element.

+
+

Members

+
+++++ + + + + + + + + + + + + + + + + + +

uint32_t start;

starting codepoint.

 

uint32_t end;

ending codepoint, 0 if only one character.

 

uint32_t map[STRINGPREP_MAX_MAP_CHARS];

codepoints to map start +into, NULL if end is not 0.

 
+
+
+
+
+

struct Stringprep_table

+
struct Stringprep_table {
+    Stringprep_profile_steps operation;
+    Stringprep_profile_flags flags;
+    const Stringprep_table_element *table;
+    size_t table_size;
+};
+
+

Stringprep profile table.

+
+

Members

+
+++++ + + + + + + + + + + + + + + + + + + + + + + +

Stringprep_profile_steps operation;

a Stringprep_profile_steps value

 

Stringprep_profile_flags flags;

a Stringprep_profile_flags value

 

const Stringprep_table_element *table;

zero-terminated array of Stringprep_table_element elements.

 

size_t table_size;

size of table +, to speed up searching.

 
+
+
+
+
+

Stringprep_profile

+
  typedef struct Stringprep_table Stringprep_profile;
+
+

Stringprep profile table.

+
+
+
+

struct Stringprep_profiles

+
struct Stringprep_profiles {
+    const char *name;
+    const Stringprep_profile *tables;
+};
+
+

Element structure

+
+

Members

+
+++++ + + + + + + + + + + + + +

const char *name;

name of stringprep profile.

 

const Stringprep_profile *tables;

zero-terminated array of Stringprep_profile elements.

 
+
+
+
+
+ + + \ 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 index 5aec206..0000000 --- a/doc/reference/html/libidn-stringprep.html +++ /dev/null @@ -1,1129 +0,0 @@ - - - - -stringprep - - - - - - - - - - - - - - - - - - - -
-
-
- - -
-

stringprep

-

stringprep

-
-
-

Synopsis

-
#define             IDNAPI
-#define             STRINGPREP_MAX_MAP_CHARS
-#define             STRINGPREP_VERSION
-typedef             Stringprep_profile;
-enum                Stringprep_profile_flags;
-enum                Stringprep_profile_steps;
-typedef             Stringprep_profiles;
-enum                Stringprep_rc;
-typedef             Stringprep_table_element;
-int                 stringprep                          (char *in,
-                                                         size_t maxlen,
-                                                         Stringprep_profile_flags flags,
-                                                         const Stringprep_profile *profile);
-int                 stringprep_4i                       (uint32_t *ucs4,
-                                                         size_t *len,
-                                                         size_t maxucs4len,
-                                                         Stringprep_profile_flags flags,
-                                                         const Stringprep_profile *profile);
-int                 stringprep_4zi                      (uint32_t *ucs4,
-                                                         size_t maxucs4len,
-                                                         Stringprep_profile_flags flags,
-                                                         const Stringprep_profile *profile);
-const char *        stringprep_check_version            (const char *req_version);
-char *              stringprep_convert                  (const char *str,
-                                                         const char *to_codeset,
-                                                         const char *from_codeset);
-#define             stringprep_iscsi                    (in,
-                                                         maxlen)
-#define             stringprep_kerberos5                (in,
-                                                         maxlen)
-const char *        stringprep_locale_charset           (void);
-char *              stringprep_locale_to_utf8           (const char *str);
-#define             stringprep_nameprep                 (in,
-                                                         maxlen)
-#define             stringprep_nameprep_no_unassigned   (in,
-                                                         maxlen)
-#define             stringprep_plain                    (in,
-                                                         maxlen)
-int                 stringprep_profile                  (const char *in,
-                                                         char **out,
-                                                         const char *profile,
-                                                         Stringprep_profile_flags flags);
-const char *        stringprep_strerror                 (Stringprep_rc rc);
-uint32_t *          stringprep_ucs4_nfkc_normalize      (const uint32_t *str,
-                                                         ssize_t len);
-char *              stringprep_ucs4_to_utf8             (const uint32_t *str,
-                                                         ssize_t len,
-                                                         size_t *items_read,
-                                                         size_t *items_written);
-int                 stringprep_unichar_to_utf8          (uint32_t c,
-                                                         char *outbuf);
-char *              stringprep_utf8_nfkc_normalize      (const char *str,
-                                                         ssize_t len);
-char *              stringprep_utf8_to_locale           (const char *str);
-uint32_t *          stringprep_utf8_to_ucs4             (const char *str,
-                                                         ssize_t len,
-                                                         size_t *items_written);
-uint32_t            stringprep_utf8_to_unichar          (const char *p);
-#define             stringprep_xmpp_nodeprep            (in,
-                                                         maxlen)
-#define             stringprep_xmpp_resourceprep        (in,
-                                                         maxlen)
-
-
-
-

Description

-

-

-
-
-

Details

-
-

IDNAPI

-
#define             IDNAPI
-

-

-
-
-
-

STRINGPREP_MAX_MAP_CHARS

-
# define STRINGPREP_MAX_MAP_CHARS 4
-
-

-Maximum number of code points that can replace a single code point, -during stringprep mapping. -

-
-
-
-

STRINGPREP_VERSION

-
# define STRINGPREP_VERSION "1.25"
-
-

-String defined via CPP denoting the header file version number. -Used together with stringprep_check_version() to verify header file -and run-time library consistency. -

-
-
-
-

Stringprep_profile

-
  typedef struct Stringprep_table Stringprep_profile;
-
-

-

-
-
-
-

enum Stringprep_profile_flags

-
typedef enum {
-    STRINGPREP_NO_NFKC = 1,
-    STRINGPREP_NO_BIDI = 2,
-    STRINGPREP_NO_UNASSIGNED = 4
-} Stringprep_profile_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. -

STRINGPREP_NO_BIDI

Disable the BIDI step. Usually the profile - specifies BIDI and NFKC settings, and applications should not - override it unless in special situations. -

STRINGPREP_NO_UNASSIGNED

Make the library return with an error if - string contains unassigned characters according to profile. -
-
-
-
-

enum Stringprep_profile_steps

-
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;
-
-

-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. -

-
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

STRINGPREP_NFKC

The NFKC step. -

STRINGPREP_BIDI

The BIDI step. -

STRINGPREP_MAP_TABLE

The MAP step. -

STRINGPREP_UNASSIGNED_TABLE

The Unassigned step. -

STRINGPREP_PROHIBIT_TABLE

The Prohibited step. -

STRINGPREP_BIDI_PROHIBIT_TABLE

The BIDI-Prohibited step. -

STRINGPREP_BIDI_RAL_TABLE

The BIDI-RAL step. -

STRINGPREP_BIDI_L_TABLE

The BIDI-L step. -
-
-
-
-

Stringprep_profiles

-
  typedef struct Stringprep_profiles Stringprep_profiles;
-
-

-

-
-
-
-

enum Stringprep_rc

-
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;
-
-

-Enumerated return codes of stringprep(), stringprep_profile() -functions (and macros using those functions). The value 0 is -guaranteed to always correspond to success. -

-
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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 malloc() was out of memory. This is - usually a fatal error. -
-
-
-
-

Stringprep_table_element

-
  typedef struct Stringprep_table_element Stringprep_table_element;
-
-

-

-
-
-
-

stringprep ()

-
int                 stringprep                          (char *in,
-                                                         size_t maxlen,
-                                                         Stringprep_profile_flags flags,
-                                                         const Stringprep_profile *profile);
-

-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(). -

-

-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 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. -

-
-- - - - - - - - - - - - - - - - - - - - - - -

in :

input/ouput 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.

Returns :

Returns STRINGPREP_OK iff successful, or an error code.
-
-
-
-

stringprep_4i ()

-
int                 stringprep_4i                       (uint32_t *ucs4,
-                                                         size_t *len,
-                                                         size_t maxucs4len,
-                                                         Stringprep_profile_flags flags,
-                                                         const Stringprep_profile *profile);
-

-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 -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. -

-
-- - - - - - - - - - - - - - - - - - - - - - - - - - -

ucs4 :

input/output array with string to prepare.

len :

on input, length of input array with Unicode code points, -on exit, length of output array with Unicode code points.

maxucs4len :

maximum length of input/output array.

flags :

a Stringprep_profile_flags value, or 0.

profile :

pointer to Stringprep_profile to use.

Returns :

Returns STRINGPREP_OK iff successful, or an -Stringprep_rc error code.
-
-
-
-

stringprep_4zi ()

-
int                 stringprep_4zi                      (uint32_t *ucs4,
-                                                         size_t maxucs4len,
-                                                         Stringprep_profile_flags flags,
-                                                         const Stringprep_profile *profile);
-

-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 -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. -

-
-- - - - - - - - - - - - - - - - - - - - - - -

ucs4 :

input/output array with zero terminated string to prepare.

maxucs4len :

maximum length of input/output array.

flags :

a Stringprep_profile_flags value, or 0.

profile :

pointer to Stringprep_profile to use.

Returns :

Returns STRINGPREP_OK iff successful, or an -Stringprep_rc error code.
-
-
-
-

stringprep_check_version ()

-
const char *        stringprep_check_version            (const char *req_version);
-

-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 STRINGPREP_VERSION for a suitable req_version string. -

-
-- - - - - - - - - - -

req_version :

Required version number, or NULL.

Returns :

Version string of run-time library, or NULL if the -run-time library does not meet the required version number.
-
-
-
-

stringprep_convert ()

-
char *              stringprep_convert                  (const char *str,
-                                                         const char *to_codeset,
-                                                         const char *from_codeset);
-

-Convert the string from one character set to another using the -system's iconv() function. -

-
-- - - - - - - - - - - - - - - - - - -

str :

input zero-terminated string.

to_codeset :

name of destination character set.

from_codeset :

name of origin character set, as used by str.

Returns :

Returns newly allocated zero-terminated string which -is str transcoded into to_codeset.
-
-
-
-

stringprep_iscsi()

-
#define             stringprep_iscsi(in, maxlen)
-

-Prepare the input UTF-8 string according to the draft iSCSI -stringprep profile. Returns 0 iff successful, or an error code. -

-
-- - - - - - - - - - -

in :

input/ouput array with string to prepare.

maxlen :

maximum length of input/output array.
-
-
-
-

stringprep_kerberos5()

-
#define             stringprep_kerberos5(in, maxlen)
-

-

-
-
-
-

stringprep_locale_charset ()

-
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. -

-

-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. -

-
-- - - - -

Returns :

Return the character set used by the current locale. -It will never return NULL, but use "ASCII" as a fallback.
-
-
-
-

stringprep_locale_to_utf8 ()

-
char *              stringprep_locale_to_utf8           (const char *str);
-

-Convert string encoded in the locale's character set into UTF-8 by -using stringprep_convert(). -

-
-- - - - - - - - - - -

str :

input zero terminated string.

Returns :

Returns newly allocated zero-terminated string which -is str transcoded into UTF-8.
-
-
-
-

stringprep_nameprep()

-
#define             stringprep_nameprep(in, maxlen)
-

-Prepare the input UTF-8 string according to the nameprep profile. -The AllowUnassigned flag is true, use -stringprep_nameprep_no_unassigned() if you want a false -AllowUnassigned. Returns 0 iff successful, or an error code. -

-
-- - - - - - - - - - -

in :

input/ouput array with string to prepare.

maxlen :

maximum length of input/output array.
-
-
-
-

stringprep_nameprep_no_unassigned()

-
#define             stringprep_nameprep_no_unassigned(in, maxlen)
-

-Prepare the input UTF-8 string according to the nameprep profile. -The AllowUnassigned flag is false, use stringprep_nameprep() for -true AllowUnassigned. Returns 0 iff successful, or an error code. -

-
-- - - - - - - - - - -

in :

input/ouput array with string to prepare.

maxlen :

maximum length of input/output array.
-
-
-
-

stringprep_plain()

-
#define             stringprep_plain(in, maxlen)
-

-Prepare the input UTF-8 string according to the draft SASL -ANONYMOUS profile. Returns 0 iff successful, or an error code. -

-
-- - - - - - - - - - -

in :

input/ouput array with string to prepare.

maxlen :

maximum length of input/output array.
-
-
-
-

stringprep_profile ()

-
int                 stringprep_profile                  (const char *in,
-                                                         char **out,
-                                                         const char *profile,
-                                                         Stringprep_profile_flags flags);
-

-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 -stringprep_locale_to_utf8(). -

-

-The output out variable must be deallocated by the caller. -

-

-The flags are one of Stringprep_profile_flags values, or 0. -

-

-The profile specifies the name of the stringprep profile to use. -It must be one of the internally supported stringprep profiles. -

-
-- - - - - - - - - - - - - - - - - - - - - - -

in :

input array with UTF-8 string to prepare.

out :

output variable with pointer to newly allocate string.

profile :

name of stringprep profile to use.

flags :

a Stringprep_profile_flags value, or 0.

Returns :

Returns STRINGPREP_OK iff successful, or an error code.
-
-
-
-

stringprep_strerror ()

-
const char *        stringprep_strerror                 (Stringprep_rc rc);
-

-Convert a return code integer to a text string. This string can be -used to output a diagnostic message to the user. -

-

-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 malloc() was out of memory. This is - usually a fatal error. -

-
-- - - - - - - - - - -

rc :

a Stringprep_rc return code.

Returns :

Returns a pointer to a statically allocated string -containing a description of the error with the return code rc.
-
-
-
-

stringprep_ucs4_nfkc_normalize ()

-
uint32_t *          stringprep_ucs4_nfkc_normalize      (const uint32_t *str,
-                                                         ssize_t len);
-

-Converts a UCS4 string into canonical form, see -stringprep_utf8_nfkc_normalize() for more information. -

-
-- - - - - - - - - - - - - - -

str :

a Unicode string.

len :

length of str array, or -1 if str is nul-terminated.

Returns :

a newly allocated Unicode string, that is the NFKC -normalized form of str.
-
-
-
-

stringprep_ucs4_to_utf8 ()

-
char *              stringprep_ucs4_to_utf8             (const uint32_t *str,
-                                                         ssize_t len,
-                                                         size_t *items_read,
-                                                         size_t *items_written);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - - - - - -

str :

a UCS-4 encoded string

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.

items_written :

location to store number of bytes written or NULL. -The value here stored does not include the trailing 0 -byte.

Returns :

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.
-
-
-
-

stringprep_unichar_to_utf8 ()

-
int                 stringprep_unichar_to_utf8          (uint32_t c,
-                                                         char *outbuf);
-

-Converts a single character to UTF-8. -

-
-- - - - - - - - - - - - - - -

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.

Returns :

number of bytes written.
-
-
-
-

stringprep_utf8_nfkc_normalize ()

-
char *              stringprep_utf8_nfkc_normalize      (const char *str,
-                                                         ssize_t len);
-

-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. -

-
-- - - - - - - - - - - - - - -

str :

a UTF-8 encoded string.

len :

length of str, in bytes, or -1 if str is nul-terminated.

Returns :

a newly allocated string, that is the -NFKC normalized form of str.
-
-
-
-

stringprep_utf8_to_locale ()

-
char *              stringprep_utf8_to_locale           (const char *str);
-

-Convert string encoded in UTF-8 into the locale's character set by -using stringprep_convert(). -

-
-- - - - - - - - - - -

str :

input zero terminated string.

Returns :

Returns newly allocated zero-terminated string which -is str transcoded into the locale's character set.
-
-
-
-

stringprep_utf8_to_ucs4 ()

-
uint32_t *          stringprep_utf8_to_ucs4             (const char *str,
-                                                         ssize_t len,
-                                                         size_t *items_written);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

str :

a UTF-8 encoded string

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.

Returns :

a pointer to a newly allocated UCS-4 string. -This value must be deallocated by the caller.
-
-
-
-

stringprep_utf8_to_unichar ()

-
uint32_t            stringprep_utf8_to_unichar          (const char *p);
-

-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. -

-
-- - - - - - - - - - -

p :

a pointer to Unicode character encoded as UTF-8

Returns :

the resulting character.
-
-
-
-

stringprep_xmpp_nodeprep()

-
#define             stringprep_xmpp_nodeprep(in, maxlen)
-

-Prepare the input UTF-8 string according to the draft XMPP node -identifier profile. Returns 0 iff successful, or an error code. -

-
-- - - - - - - - - - -

in :

input/ouput array with string to prepare.

maxlen :

maximum length of input/output array.
-
-
-
-

stringprep_xmpp_resourceprep()

-
#define             stringprep_xmpp_resourceprep(in, maxlen)
-

-Prepare the input UTF-8 string according to the draft XMPP resource -identifier profile. Returns 0 iff successful, or an error code. -

-
-- - - - - - - - - - -

in :

input/ouput array with string to prepare.

maxlen :

maximum length of input/output array.
-
-
-
- - - \ 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 index 0000000..fa6c9c7 --- /dev/null +++ b/doc/reference/html/libidn-tld.h.html @@ -0,0 +1,926 @@ + + + + +tld.h: GNU Libidn API Reference Manual + + + + + + + + + + + + + + + + +
+
+
+ + +
+

tld.h

+

tld.h — TLD-related functions

+
+
+

Functions

+
++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
const char * + +tld_strerror () +
+int + +tld_get_4 () +
+int + +tld_get_4z () +
+int + +tld_get_z () +
const Tld_table * + +tld_get_table () +
const Tld_table * + +tld_default_table () +
+int + +tld_check_4t () +
+int + +tld_check_4tz () +
+int + +tld_check_4 () +
+int + +tld_check_4z () +
+int + +tld_check_8z () +
+int + +tld_check_lz () +
+
+
+

Types and Values

+
++++ + + + + + + + + + + + + + + + + + + +
#defineIDNAPI
structTld_table_element
structTld_table
enumTld_rc
+
+
+

Description

+

TLD-related functions.

+
+
+

Functions

+
+

tld_strerror ()

+
const char *
+tld_strerror (Tld_rc rc);
+

Convert a return code integer to a text string. This string can be +used to output a diagnostic message to the user.

+

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.

+
+

Parameters

+
+++++ + + + + + +

rc

tld return code

 
+
+
+

Returns

+

Returns a pointer to a statically allocated string +containing a description of the error with the return code rc +.

+
+
+
+
+

tld_get_4 ()

+
int
+tld_get_4 (const uint32_t *in,
+           size_t inlen,
+           char **out);
+

Isolate the top-level domain of in + and return it as an ASCII +string in out +.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

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.

 
+
+
+

Returns

+

Return TLD_SUCCESS on success, or the corresponding +Tld_rc error code otherwise.

+
+
+
+
+

tld_get_4z ()

+
int
+tld_get_4z (const uint32_t *in,
+            char **out);
+

Isolate the top-level domain of in + and return it as an ASCII +string in out +.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

in

Zero terminated array of unicode code points to process.

 

out

Zero terminated ascii result string pointer.

 
+
+
+

Returns

+

Return TLD_SUCCESS on success, or the corresponding +Tld_rc error code otherwise.

+
+
+
+
+

tld_get_z ()

+
int
+tld_get_z (const char *in,
+           char **out);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

in

Zero terminated character array to process.

 

out

Zero terminated ascii result string pointer.

 
+
+
+

Returns

+

Return TLD_SUCCESS on success, or the corresponding +Tld_rc error code otherwise.

+
+
+
+
+

tld_get_table ()

+
const Tld_table *
+tld_get_table (const char *tld,
+               const Tld_table **tables);
+

Get the TLD table for a named TLD by searching through the given +TLD table array.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

tld

TLD name (e.g. "com") as zero terminated ASCII byte string.

 

tables

Zero terminated array of Tld_table info-structures for +TLDs.

 
+
+
+

Returns

+

Return structure corresponding to TLD tld +by going +thru tables +, or return NULL if no such structure is found.

+
+
+
+
+

tld_default_table ()

+
const Tld_table *
+tld_default_table (const char *tld,
+                   const Tld_table **overrides);
+

Get the TLD table for a named TLD, using the internal defaults, +possibly overridden by the (optional) supplied tables.

+
+

Parameters

+
+++++ + + + + + + + + + + + + +

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 default +tables.

 
+
+
+

Returns

+

Return structure corresponding to TLD tld_str +, first +looking through overrides +then thru built-in list, or NULL if +no such structure found.

+
+
+
+
+

tld_check_4t ()

+
int
+tld_check_4t (const uint32_t *in,
+              size_t inlen,
+              size_t *errpos,
+              const Tld_table *tld);
+

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 +.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + + + + + + +

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 +which the input should be tested.

 
+
+
+

Returns

+

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.

+
+
+
+
+

tld_check_4tz ()

+
int
+tld_check_4tz (const uint32_t *in,
+               size_t *errpos,
+               const Tld_table *tld);
+

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 +.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

in

Zero terminated array of unicode code points to process.

 

errpos

Position of offending character is returned here.

 

tld

A Tld_table data structure representing the restrictions for +which the input should be tested.

 
+
+
+

Returns

+

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.

+
+
+
+
+

tld_check_4 ()

+
int
+tld_check_4 (const uint32_t *in,
+             size_t inlen,
+             size_t *errpos,
+             const Tld_table **overrides);
+

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 +.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + + + + + + +

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 +structures that complement and supersede the built-in information.

 
+
+
+

Returns

+

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.

+
+
+
+
+

tld_check_4z ()

+
int
+tld_check_4z (const uint32_t *in,
+              size_t *errpos,
+              const Tld_table **overrides);
+

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 +.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

in

Zero-terminated array of unicode code points to process.

 

errpos

Position of offending character is returned here.

 

overrides

A Tld_table array of additional domain restriction +structures that complement and supersede the built-in information.

 
+
+
+

Returns

+

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.

+
+
+
+
+

tld_check_8z ()

+
int
+tld_check_8z (const char *in,
+              size_t *errpos,
+              const Tld_table **overrides);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

in

Zero-terminated UTF8 string to process.

 

errpos

Position of offending character is returned here.

 

overrides

A Tld_table array of additional domain restriction +structures that complement and supersede the built-in information.

 
+
+
+

Returns

+

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.

+
+
+
+
+

tld_check_lz ()

+
int
+tld_check_lz (const char *in,
+              size_t *errpos,
+              const Tld_table **overrides);
+

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.

+
+

Parameters

+
+++++ + + + + + + + + + + + + + + + + + +

in

Zero-terminated string in the current locales encoding to process.

 

errpos

Position of offending character is returned here.

 

overrides

A Tld_table array of additional domain restriction +structures that complement and supersede the built-in information.

 
+
+
+

Returns

+

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.

+
+
+
+
+

Types and Values

+
+

IDNAPI

+
#define             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

+
+
+
+

struct Tld_table_element

+
struct Tld_table_element {
+    uint32_t start;
+    uint32_t end;
+};
+
+

Interval of valid code points in the TLD.

+
+

Members

+
+++++ + + + + + + + + + + + + +

uint32_t start;

Start of range.

 

uint32_t end;

End of range, end == start if single.

 
+
+
+
+
+

struct Tld_table

+
struct Tld_table {
+    const char *name;
+    const char *version;
+    size_t nvalid;
+    const Tld_table_element *valid;
+};
+
+

List valid code points in a TLD.

+
+

Members

+
+++++ + + + + + + + + + + + + + + + + + + + + + + +

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 size nvalid +) of valid code points.

 
+
+
+
+
+

enum Tld_rc

+

Enumerated return codes of the TLD checking functions. +The value 0 is guaranteed to always correspond to success.

+
+

Members

+
+++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

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.

+
 

TLD_NOTLD

+

Same as TLD_NO_TLD +, for compatibility +with typo in earlier versions.

+
 
+
+
+
+
+ + + \ 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 index ceb40b0..0000000 --- a/doc/reference/html/libidn-tld.html +++ /dev/null @@ -1,619 +0,0 @@ - - - - -tld - - - - - - - - - - - - - - - - - - - -
-
-
- - -
-

tld

-

tld

-
-
-

Synopsis

-
#define             IDNAPI
-enum                Tld_rc;
-typedef             Tld_table;
-typedef             Tld_table_element;
-int                 tld_check_4                         (const uint32_t *in,
-                                                         size_t inlen,
-                                                         size_t *errpos,
-                                                         const Tld_table **overrides);
-int                 tld_check_4t                        (const uint32_t *in,
-                                                         size_t inlen,
-                                                         size_t *errpos,
-                                                         const Tld_table *tld);
-int                 tld_check_4tz                       (const uint32_t *in,
-                                                         size_t *errpos,
-                                                         const Tld_table *tld);
-int                 tld_check_4z                        (const uint32_t *in,
-                                                         size_t *errpos,
-                                                         const Tld_table **overrides);
-int                 tld_check_8z                        (const char *in,
-                                                         size_t *errpos,
-                                                         const Tld_table **overrides);
-int                 tld_check_lz                        (const char *in,
-                                                         size_t *errpos,
-                                                         const Tld_table **overrides);
-const Tld_table *   tld_default_table                   (const char *tld,
-                                                         const Tld_table **overrides);
-int                 tld_get_4                           (const uint32_t *in,
-                                                         size_t inlen,
-                                                         char **out);
-int                 tld_get_4z                          (const uint32_t *in,
-                                                         char **out);
-const Tld_table *   tld_get_table                       (const char *tld,
-                                                         const Tld_table **tables);
-int                 tld_get_z                           (const char *in,
-                                                         char **out);
-const char *        tld_strerror                        (Tld_rc rc);
-
-
-
-

Description

-

-

-
-
-

Details

-
-

IDNAPI

-
#define             IDNAPI
-

-

-
-
-
-

enum Tld_rc

-
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;
-
-

-Enumerated return codes of the TLD checking functions. -The value 0 is guaranteed to always correspond to success. -

-
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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. -

TLD_NOTLD

Same as TLD_NO_TLD, for compatibility - with typo in earlier versions. -
-
-
-
-

Tld_table

-
  typedef struct Tld_table Tld_table;
-
-

-

-
-
-
-

Tld_table_element

-
  typedef struct Tld_table_element Tld_table_element;
-
-

-

-
-
-
-

tld_check_4 ()

-
int                 tld_check_4                         (const uint32_t *in,
-                                                         size_t inlen,
-                                                         size_t *errpos,
-                                                         const Tld_table **overrides);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - - - - - -

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 -structures that complement and supersede the built-in information.

Returns :

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.
-
-
-
-

tld_check_4t ()

-
int                 tld_check_4t                        (const uint32_t *in,
-                                                         size_t inlen,
-                                                         size_t *errpos,
-                                                         const Tld_table *tld);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - - - - - -

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 -which the input should be tested.

Returns :

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.
-
-
-
-

tld_check_4tz ()

-
int                 tld_check_4tz                       (const uint32_t *in,
-                                                         size_t *errpos,
-                                                         const Tld_table *tld);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

in :

Zero terminated array of unicode code points to process.

errpos :

Position of offending character is returned here.

tld :

A Tld_table data structure representing the restrictions for -which the input should be tested.

Returns :

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.
-
-
-
-

tld_check_4z ()

-
int                 tld_check_4z                        (const uint32_t *in,
-                                                         size_t *errpos,
-                                                         const Tld_table **overrides);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

in :

Zero-terminated array of unicode code points to process.

errpos :

Position of offending character is returned here.

overrides :

A Tld_table array of additional domain restriction -structures that complement and supersede the built-in information.

Returns :

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.
-
-
-
-

tld_check_8z ()

-
int                 tld_check_8z                        (const char *in,
-                                                         size_t *errpos,
-                                                         const Tld_table **overrides);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

in :

Zero-terminated UTF8 string to process.

errpos :

Position of offending character is returned here.

overrides :

A Tld_table array of additional domain restriction -structures that complement and supersede the built-in information.

Returns :

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.
-
-
-
-

tld_check_lz ()

-
int                 tld_check_lz                        (const char *in,
-                                                         size_t *errpos,
-                                                         const Tld_table **overrides);
-

-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. -

-
-- - - - - - - - - - - - - - - - - - -

in :

Zero-terminated string in the current locales encoding to process.

errpos :

Position of offending character is returned here.

overrides :

A Tld_table array of additional domain restriction -structures that complement and supersede the built-in information.

Returns :

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.
-
-
-
-

tld_default_table ()

-
const Tld_table *   tld_default_table                   (const char *tld,
-                                                         const Tld_table **overrides);
-

-Get the TLD table for a named TLD, using the internal defaults, -possibly overrided by the (optional) supplied tables. -

-
-- - - - - - - - - - - - - - -

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 -tables.

Returns :

Return structure corresponding to TLD tld_str, first -looking through overrides then thru built-in list, or NULL if -no such structure found.
-
-
-
-

tld_get_4 ()

-
int                 tld_get_4                           (const uint32_t *in,
-                                                         size_t inlen,
-                                                         char **out);
-

-Isolate the top-level domain of in and return it as an ASCII -string in out. -

-
-- - - - - - - - - - - - - - - - - - -

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.

Returns :

Return TLD_SUCCESS on success, or the corresponding -Tld_rc error code otherwise.
-
-
-
-

tld_get_4z ()

-
int                 tld_get_4z                          (const uint32_t *in,
-                                                         char **out);
-

-Isolate the top-level domain of in and return it as an ASCII -string in out. -

-
-- - - - - - - - - - - - - - -

in :

Zero terminated array of unicode code points to process.

out :

Zero terminated ascii result string pointer.

Returns :

Return TLD_SUCCESS on success, or the corresponding -Tld_rc error code otherwise.
-
-
-
-

tld_get_table ()

-
const Tld_table *   tld_get_table                       (const char *tld,
-                                                         const Tld_table **tables);
-

-Get the TLD table for a named TLD by searching through the given -TLD table array. -

-
-- - - - - - - - - - - - - - -

tld :

TLD name (e.g. "com") as zero terminated ASCII byte string.

tables :

Zero terminated array of Tld_table info-structures for -TLDs.

Returns :

Return structure corresponding to TLD tld by going -thru tables, or return NULL if no such structure is found.
-
-
-
-

tld_get_z ()

-
int                 tld_get_z                           (const char *in,
-                                                         char **out);
-

-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. -

-
-- - - - - - - - - - - - - - -

in :

Zero terminated character array to process.

out :

Zero terminated ascii result string pointer.

Returns :

Return TLD_SUCCESS on success, or the corresponding -Tld_rc error code otherwise.
-
-
-
-

tld_strerror ()

-
const char *        tld_strerror                        (Tld_rc rc);
-

-Convert a return code integer to a text string. This string can be -used to output a diagnostic message to the user. -

-

-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. -

-
-- - - - - - - - - - -

rc :

tld return code

Returns :

Returns a pointer to a statically allocated string -containing a description of the error with the return code rc.
-
-
-
- - - \ No newline at end of file diff --git a/doc/reference/html/libidn.devhelp2 b/doc/reference/html/libidn.devhelp2 index b5002a1..4e894b8 100644 --- a/doc/reference/html/libidn.devhelp2 +++ b/doc/reference/html/libidn.devhelp2 @@ -1,145 +1,162 @@ - - + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/reference/html/right-insensitive.png b/doc/reference/html/right-insensitive.png new file mode 100644 index 0000000000000000000000000000000000000000..a3696bf9999998d124ad602a1971bf828a673ce4 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8$4YcLn>}1OVlLX-&gy;@yCaI zd#jh8G-6osQR>PB_TS&%Ust%mdKI;Vst06>gghyVZp literal 0 HcmV?d00001 diff --git a/doc/reference/html/right.png b/doc/reference/html/right.png index ed55207f1724d878d7f34739df09bc691de6ba5d..73d25da4c7a8a995fc6740b1ec0f9ccc733a72a5 100644 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^`0({Ar-f-o>Am+EEGAKC_USE zi{~l@?MZPaks&XA*DsPY*}KnWzCve{@1~iR>(+1o?f+++{=CaSPBwMfxz6R#EC zcoY;Al$DjWwY41_99FMhy?_7y!-o$aKYslD`Sb7JzX#g+Jp2n#J%dz9kY6wZ2akY= zgp7uXg@b!U^y=;V51+q${r=xGkihYWaF0)nSGL_~4v zsy0qpoBHoRx91b)PML#uY~Cl_6iIcwxhCq(b4!hn#|+g)^Yq0S-!v7Ec$2?7@@M^iZG`mTh716h@d}lb{2iURkP+kX3j17wd>EmBX&=u zvv*uDf3%l(&U^nZl`l8v@kwm9&20<|)bsLR{F2#{Ut#yhsr;NEk9fNJxvX C=EM*H diff --git a/doc/reference/html/style.css b/doc/reference/html/style.css index d6f6c26..2eeda1f 100644 --- a/doc/reference/html/style.css +++ b/doc/reference/html/style.css @@ -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 @@ -22,87 +30,8 @@ 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 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 index 0000000000000000000000000000000000000000..674be9c5b92e44f8224634b50cd8ef04e2b47965 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}LV!<*E0F&G|Npja+xG9@fB5iW zAbAiB_UzfS7Yz38+XoaxBY|9q2wV!N79xm7MyD@P1KJ^9666=mz{t)asGw-*>YJID z-_+dIy3{)E6>EaktaciyDWkwf6fjbiE$1m4UUH<&P zj{B93eeJsUnRlC(Z{7MzERTDS`$l1NN%cj>n&QYTlpA`rG>i%w8-!bzAJv!TDix kH##3#t@Lf*+omYmdKI;Vst0316<&;S4c literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjuRL8GLn>~)ovO&!Y#`Dmc%rM5 zQ$@(ou+gP}oo|CI>vraXhEtsWyWLqh`I+o4O4_JnaHZ1HsZSD%fxxAPI Index + + Index of deprecated API + + diff --git a/doc/reference/libidn-sections.txt b/doc/reference/libidn-sections.txt index dab2720..7cb7ea0 100644 --- a/doc/reference/libidn-sections.txt +++ b/doc/reference/libidn-sections.txt @@ -6,15 +6,15 @@ IDNAPI
idna 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 pr29 IDNAPI Pr29_rc +pr29_strerror pr29_4 pr29_4z pr29_8z -pr29_strerror
punycode IDNAPI Punycode_status -punycode_decode -punycode_encode punycode_strerror punycode_uint +punycode_encode +punycode_decode
stringprep 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
tld 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
diff --git a/doc/reference/libidn.pdf b/doc/reference/libidn.pdf index 4c9dac9fc9edabd6329a2d96cf041f147617faaa..a6863fb7d882a2d581a5da7268f39a80a6dc0bbb 100644 GIT binary patch delta 163356 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≈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 IsRTy*UzgFK0{{R3 literal 317986 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≠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 -idn-free - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/reference/tmpl/idna.sgml b/doc/reference/tmpl/idna.sgml deleted file mode 100644 index 920e719..0000000 --- a/doc/reference/tmpl/idna.sgml +++ /dev/null @@ -1,187 +0,0 @@ - -idna - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@IDNA_ALLOW_UNASSIGNED: -@IDNA_USE_STD3_ASCII_RULES: - - - - - - -@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: - - - - - - -@rc: -@Returns: - - - - - - - -@in: -@inlen: -@out: -@flags: -@Returns: - - - - - - - -@input: -@output: -@flags: -@Returns: - - - - - - - -@input: -@output: -@flags: -@Returns: - - - - - - - -@input: -@output: -@flags: -@Returns: - - - - - - - -@in: -@inlen: -@out: -@outlen: -@flags: -@Returns: - - - - - - - -@input: -@output: -@flags: -@Returns: - - - - - - - -@input: -@output: -@flags: -@Returns: - - - - - - - -@input: -@output: -@flags: -@Returns: - - - - - - - -@input: -@output: -@flags: -@Returns: - - - - - - - -@input: -@output: -@flags: -@Returns: - - diff --git a/doc/reference/tmpl/pr29.sgml b/doc/reference/tmpl/pr29.sgml deleted file mode 100644 index e5be296..0000000 --- a/doc/reference/tmpl/pr29.sgml +++ /dev/null @@ -1,77 +0,0 @@ - -pr29 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@PR29_SUCCESS: -@PR29_PROBLEM: -@PR29_STRINGPREP_ERROR: - - - - - - -@in: -@len: -@Returns: - - - - - - - -@in: -@Returns: - - - - - - - -@in: -@Returns: - - - - - - - -@rc: -@Returns: - - diff --git a/doc/reference/tmpl/punycode.sgml b/doc/reference/tmpl/punycode.sgml deleted file mode 100644 index faf66d4..0000000 --- a/doc/reference/tmpl/punycode.sgml +++ /dev/null @@ -1,82 +0,0 @@ - -punycode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@PUNYCODE_SUCCESS: -@PUNYCODE_BAD_INPUT: -@PUNYCODE_BIG_OUTPUT: -@PUNYCODE_OVERFLOW: - - - - - - -@input_length: -@input: -@output_length: -@output: -@case_flags: -@Returns: - - - - - - - -@input_length: -@input: -@case_flags: -@output_length: -@output: -@Returns: - - - - - - - -@rc: -@Returns: - - - - - - - - diff --git a/doc/reference/tmpl/stringprep.sgml b/doc/reference/tmpl/stringprep.sgml deleted file mode 100644 index bfb02dd..0000000 --- a/doc/reference/tmpl/stringprep.sgml +++ /dev/null @@ -1,334 +0,0 @@ - -stringprep - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@STRINGPREP_NO_NFKC: -@STRINGPREP_NO_BIDI: -@STRINGPREP_NO_UNASSIGNED: - - - - - - -@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: - - - - - - - - - - - - -@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: - - - - - - - - - - - - -@in: -@maxlen: -@flags: -@profile: -@Returns: - - - - - - - -@ucs4: -@len: -@maxucs4len: -@flags: -@profile: -@Returns: - - - - - - - -@ucs4: -@maxucs4len: -@flags: -@profile: -@Returns: - - - - - - - -@req_version: -@Returns: - - - - - - - -@str: -@to_codeset: -@from_codeset: -@Returns: - - - - - - - -@in: -@maxlen: - - - - - - - -@in: -@maxlen: - - - - - - - -@void: -@Returns: - - - - - - - -@str: -@Returns: - - - - - - - -@in: -@maxlen: - - - - - - - -@in: -@maxlen: - - - - - - - -@in: -@maxlen: - - - - - - - -@in: -@out: -@profile: -@flags: -@Returns: - - - - - - - -@rc: -@Returns: - - - - - - - -@str: -@len: -@Returns: - - - - - - - -@str: -@len: -@items_read: -@items_written: -@Returns: - - - - - - - -@c: -@outbuf: -@Returns: - - - - - - - -@str: -@len: -@Returns: - - - - - - - -@str: -@Returns: - - - - - - - -@str: -@len: -@items_written: -@Returns: - - - - - - - -@p: -@Returns: - - - - - - - -@in: -@maxlen: - - - - - - - -@in: -@maxlen: - - diff --git a/doc/reference/tmpl/tld.sgml b/doc/reference/tmpl/tld.sgml deleted file mode 100644 index b20bb53..0000000 --- a/doc/reference/tmpl/tld.sgml +++ /dev/null @@ -1,184 +0,0 @@ - -tld - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@TLD_SUCCESS: -@TLD_INVALID: -@TLD_NODATA: -@TLD_MALLOC_ERROR: -@TLD_ICONV_ERROR: -@TLD_NO_TLD: -@TLD_NOTLD: - - - - - - - - - - - - - - - - - - -@in: -@inlen: -@errpos: -@overrides: -@Returns: - - - - - - - -@in: -@inlen: -@errpos: -@tld: -@Returns: - - - - - - - -@in: -@errpos: -@tld: -@Returns: - - - - - - - -@in: -@errpos: -@overrides: -@Returns: - - - - - - - -@in: -@errpos: -@overrides: -@Returns: - - - - - - - -@in: -@errpos: -@overrides: -@Returns: - - - - - - - -@tld: -@overrides: -@Returns: - - - - - - - -@in: -@inlen: -@out: -@Returns: - - - - - - - -@in: -@out: -@Returns: - - - - - - - -@tld: -@tables: -@Returns: - - - - - - - -@in: -@out: -@Returns: - - - - - - - -@rc: -@Returns: - - diff --git a/doc/specifications/Makefile.am b/doc/specifications/Makefile.am index 2296c05..5c400dc 100644 --- a/doc/specifications/Makefile.am +++ b/doc/specifications/Makefile.am @@ -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 . +# along with this program. If not, see . EXTRA_DIST = rfc3454.txt \ UnicodeData-3.2.0.txt LineBreak-3.2.0.txt \ diff --git a/doc/specifications/Makefile.in b/doc/specifications/Makefile.in index e8cbe74..1c165df 100644 --- a/doc/specifications/Makefile.in +++ b/doc/specifications/Makefile.in @@ -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. @@ -31,8 +30,63 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . 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. diff --git a/doc/reference/tmpl/libidn-unused.sgml b/doc/stamp-gdoc similarity index 100% rename from doc/reference/tmpl/libidn-unused.sgml rename to doc/stamp-gdoc diff --git a/doc/stamp-vti b/doc/stamp-vti index 2e7502b..85706a6 100644 --- a/doc/stamp-vti +++ b/doc/stamp-vti @@ -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 index 7da46c1..0000000 --- a/doc/texi/idn-free.c.texi +++ /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 - diff --git a/doc/texi/idn_free.texi b/doc/texi/idn_free.texi index 7da46c1..bc55b94 100644 --- a/doc/texi/idn_free.texi +++ b/doc/texi/idn_free.texi @@ -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 index 8b36c26..0000000 --- a/doc/texi/idna.c.texi +++ /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 - diff --git a/doc/texi/idna_strerror.texi b/doc/texi/idna_strerror.texi index 7674516..1914c9a 100644 --- a/doc/texi/idna_strerror.texi +++ b/doc/texi/idna_strerror.texi @@ -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 diff --git a/doc/texi/idna_to_ascii_4i.texi b/doc/texi/idna_to_ascii_4i.texi index 6633090..0c5b6b1 100644 --- a/doc/texi/idna_to_ascii_4i.texi +++ b/doc/texi/idna_to_ascii_4i.texi @@ -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 diff --git a/doc/texi/idna_to_ascii_4z.texi b/doc/texi/idna_to_ascii_4z.texi index 6882e73..6151c35 100644 --- a/doc/texi/idna_to_ascii_4z.texi +++ b/doc/texi/idna_to_ascii_4z.texi @@ -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 diff --git a/doc/texi/idna_to_ascii_8z.texi b/doc/texi/idna_to_ascii_8z.texi index bd279c4..bd757ed 100644 --- a/doc/texi/idna_to_ascii_8z.texi +++ b/doc/texi/idna_to_ascii_8z.texi @@ -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 diff --git a/doc/texi/idna_to_ascii_lz.texi b/doc/texi/idna_to_ascii_lz.texi index be5465d..c1adcd6 100644 --- a/doc/texi/idna_to_ascii_lz.texi +++ b/doc/texi/idna_to_ascii_lz.texi @@ -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 diff --git a/doc/texi/idna_to_unicode_44i.texi b/doc/texi/idna_to_unicode_44i.texi index a1d7d4e..b8ba6ba 100644 --- a/doc/texi/idna_to_unicode_44i.texi +++ b/doc/texi/idna_to_unicode_44i.texi @@ -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 diff --git a/doc/texi/idna_to_unicode_4z4z.texi b/doc/texi/idna_to_unicode_4z4z.texi index 5c45829..39c1718 100644 --- a/doc/texi/idna_to_unicode_4z4z.texi +++ b/doc/texi/idna_to_unicode_4z4z.texi @@ -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 diff --git a/doc/texi/idna_to_unicode_8z4z.texi b/doc/texi/idna_to_unicode_8z4z.texi index ef32d1a..2070c85 100644 --- a/doc/texi/idna_to_unicode_8z4z.texi +++ b/doc/texi/idna_to_unicode_8z4z.texi @@ -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 diff --git a/doc/texi/idna_to_unicode_8z8z.texi b/doc/texi/idna_to_unicode_8z8z.texi index 49d1c04..b73611b 100644 --- a/doc/texi/idna_to_unicode_8z8z.texi +++ b/doc/texi/idna_to_unicode_8z8z.texi @@ -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 diff --git a/doc/texi/idna_to_unicode_8zlz.texi b/doc/texi/idna_to_unicode_8zlz.texi index 7ca0e7c..23fec20 100644 --- a/doc/texi/idna_to_unicode_8zlz.texi +++ b/doc/texi/idna_to_unicode_8zlz.texi @@ -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 diff --git a/doc/texi/idna_to_unicode_lzlz.texi b/doc/texi/idna_to_unicode_lzlz.texi index 30b43f3..3074c7a 100644 --- a/doc/texi/idna_to_unicode_lzlz.texi +++ b/doc/texi/idna_to_unicode_lzlz.texi @@ -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 index 8a715c2..0000000 --- a/doc/texi/nfkc.c.texi +++ /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 index 4f5e489..0000000 --- a/doc/texi/pr29.c.texi +++ /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 - diff --git a/doc/texi/pr29_4.texi b/doc/texi/pr29_4.texi index 51649fe..6304400 100644 --- a/doc/texi/pr29_4.texi +++ b/doc/texi/pr29_4.texi @@ -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 diff --git a/doc/texi/pr29_4z.texi b/doc/texi/pr29_4z.texi index 2a79bfe..b544a2b 100644 --- a/doc/texi/pr29_4z.texi +++ b/doc/texi/pr29_4z.texi @@ -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 diff --git a/doc/texi/pr29_8z.texi b/doc/texi/pr29_8z.texi index 8516b2f..172b48d 100644 --- a/doc/texi/pr29_8z.texi +++ b/doc/texi/pr29_8z.texi @@ -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 diff --git a/doc/texi/pr29_strerror.texi b/doc/texi/pr29_strerror.texi index 2f8cd3b..8f858a2 100644 --- a/doc/texi/pr29_strerror.texi +++ b/doc/texi/pr29_strerror.texi @@ -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 index 8c7887c..0000000 --- a/doc/texi/punycode.c.texi +++ /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 - diff --git a/doc/texi/punycode_decode.texi b/doc/texi/punycode_decode.texi index 323daa1..7319179 100644 --- a/doc/texi/punycode_decode.texi +++ b/doc/texi/punycode_decode.texi @@ -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 diff --git a/doc/texi/punycode_encode.texi b/doc/texi/punycode_encode.texi index 3f7d57b..de7ef4a 100644 --- a/doc/texi/punycode_encode.texi +++ b/doc/texi/punycode_encode.texi @@ -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 diff --git a/doc/texi/punycode_strerror.texi b/doc/texi/punycode_strerror.texi index 9e29628..f671f66 100644 --- a/doc/texi/punycode_strerror.texi +++ b/doc/texi/punycode_strerror.texi @@ -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 index 7674516..0000000 --- a/doc/texi/strerror-idna.c.texi +++ /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 index 2f8cd3b..0000000 --- a/doc/texi/strerror-pr29.c.texi +++ /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 index 9e29628..0000000 --- a/doc/texi/strerror-punycode.c.texi +++ /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 index ee1b067..0000000 --- a/doc/texi/strerror-stringprep.c.texi +++ /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 index 3eeb9c2..0000000 --- a/doc/texi/strerror-tld.c.texi +++ /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 index 0529788..0000000 --- a/doc/texi/stringprep.c.texi +++ /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 - diff --git a/doc/texi/stringprep.texi b/doc/texi/stringprep.texi index 5d082a3..c655542 100644 --- a/doc/texi/stringprep.texi +++ b/doc/texi/stringprep.texi @@ -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 diff --git a/doc/texi/stringprep_4i.texi b/doc/texi/stringprep_4i.texi index 7eac683..4bced52 100644 --- a/doc/texi/stringprep_4i.texi +++ b/doc/texi/stringprep_4i.texi @@ -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 diff --git a/doc/texi/stringprep_4zi.texi b/doc/texi/stringprep_4zi.texi index 7b27522..87532de 100644 --- a/doc/texi/stringprep_4zi.texi +++ b/doc/texi/stringprep_4zi.texi @@ -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 diff --git a/doc/texi/stringprep_check_version.texi b/doc/texi/stringprep_check_version.texi index 2ba59d2..5aeb4f8 100644 --- a/doc/texi/stringprep_check_version.texi +++ b/doc/texi/stringprep_check_version.texi @@ -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 diff --git a/doc/texi/stringprep_convert.texi b/doc/texi/stringprep_convert.texi index 15b186c..de3fecb 100644 --- a/doc/texi/stringprep_convert.texi +++ b/doc/texi/stringprep_convert.texi @@ -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 diff --git a/doc/texi/stringprep_locale_charset.texi b/doc/texi/stringprep_locale_charset.texi index e97407f..13c398e 100644 --- a/doc/texi/stringprep_locale_charset.texi +++ b/doc/texi/stringprep_locale_charset.texi @@ -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 diff --git a/doc/texi/stringprep_locale_to_utf8.texi b/doc/texi/stringprep_locale_to_utf8.texi index 1a49de8..a53bf6c 100644 --- a/doc/texi/stringprep_locale_to_utf8.texi +++ b/doc/texi/stringprep_locale_to_utf8.texi @@ -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 diff --git a/doc/texi/stringprep_profile.texi b/doc/texi/stringprep_profile.texi index 790577f..aa728a4 100644 --- a/doc/texi/stringprep_profile.texi +++ b/doc/texi/stringprep_profile.texi @@ -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 diff --git a/doc/texi/stringprep_strerror.texi b/doc/texi/stringprep_strerror.texi index ee1b067..1c4a598 100644 --- a/doc/texi/stringprep_strerror.texi +++ b/doc/texi/stringprep_strerror.texi @@ -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 diff --git a/doc/texi/stringprep_ucs4_nfkc_normalize.texi b/doc/texi/stringprep_ucs4_nfkc_normalize.texi index 1fb7ed1..48a5e81 100644 --- a/doc/texi/stringprep_ucs4_nfkc_normalize.texi +++ b/doc/texi/stringprep_ucs4_nfkc_normalize.texi @@ -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 diff --git a/doc/texi/stringprep_ucs4_to_utf8.texi b/doc/texi/stringprep_ucs4_to_utf8.texi index 5ed5902..c0c6b48 100644 --- a/doc/texi/stringprep_ucs4_to_utf8.texi +++ b/doc/texi/stringprep_ucs4_to_utf8.texi @@ -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 diff --git a/doc/texi/stringprep_unichar_to_utf8.texi b/doc/texi/stringprep_unichar_to_utf8.texi index 435884f..5c131b7 100644 --- a/doc/texi/stringprep_unichar_to_utf8.texi +++ b/doc/texi/stringprep_unichar_to_utf8.texi @@ -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 diff --git a/doc/texi/stringprep_utf8_nfkc_normalize.texi b/doc/texi/stringprep_utf8_nfkc_normalize.texi index dc51a4d..150286a 100644 --- a/doc/texi/stringprep_utf8_nfkc_normalize.texi +++ b/doc/texi/stringprep_utf8_nfkc_normalize.texi @@ -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 diff --git a/doc/texi/stringprep_utf8_to_locale.texi b/doc/texi/stringprep_utf8_to_locale.texi index 9c73b14..ff2c589 100644 --- a/doc/texi/stringprep_utf8_to_locale.texi +++ b/doc/texi/stringprep_utf8_to_locale.texi @@ -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 diff --git a/doc/texi/stringprep_utf8_to_ucs4.texi b/doc/texi/stringprep_utf8_to_ucs4.texi index 346d628..0b133c3 100644 --- a/doc/texi/stringprep_utf8_to_ucs4.texi +++ b/doc/texi/stringprep_utf8_to_ucs4.texi @@ -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 diff --git a/doc/texi/stringprep_utf8_to_unichar.texi b/doc/texi/stringprep_utf8_to_unichar.texi index 5cfd339..5d1dc04 100644 --- a/doc/texi/stringprep_utf8_to_unichar.texi +++ b/doc/texi/stringprep_utf8_to_unichar.texi @@ -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 index de3891f..0000000 --- a/doc/texi/tld.c.texi +++ /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 - diff --git a/doc/texi/tld_check_4.texi b/doc/texi/tld_check_4.texi index 3790b39..e874192 100644 --- a/doc/texi/tld_check_4.texi +++ b/doc/texi/tld_check_4.texi @@ -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 diff --git a/doc/texi/tld_check_4t.texi b/doc/texi/tld_check_4t.texi index 7e55195..615802d 100644 --- a/doc/texi/tld_check_4t.texi +++ b/doc/texi/tld_check_4t.texi @@ -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 diff --git a/doc/texi/tld_check_4tz.texi b/doc/texi/tld_check_4tz.texi index fc7da3c..aa07d95 100644 --- a/doc/texi/tld_check_4tz.texi +++ b/doc/texi/tld_check_4tz.texi @@ -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 diff --git a/doc/texi/tld_check_4z.texi b/doc/texi/tld_check_4z.texi index 5158989..f2b64ee 100644 --- a/doc/texi/tld_check_4z.texi +++ b/doc/texi/tld_check_4z.texi @@ -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 diff --git a/doc/texi/tld_check_8z.texi b/doc/texi/tld_check_8z.texi index 17b42e3..cc53cfc 100644 --- a/doc/texi/tld_check_8z.texi +++ b/doc/texi/tld_check_8z.texi @@ -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 diff --git a/doc/texi/tld_check_lz.texi b/doc/texi/tld_check_lz.texi index 7e83d4a..5153959 100644 --- a/doc/texi/tld_check_lz.texi +++ b/doc/texi/tld_check_lz.texi @@ -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 diff --git a/doc/texi/tld_default_table.texi b/doc/texi/tld_default_table.texi index 408a149..244e089 100644 --- a/doc/texi/tld_default_table.texi +++ b/doc/texi/tld_default_table.texi @@ -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 diff --git a/doc/texi/tld_get_4.texi b/doc/texi/tld_get_4.texi index 60fda1b..5d08e1d 100644 --- a/doc/texi/tld_get_4.texi +++ b/doc/texi/tld_get_4.texi @@ -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 diff --git a/doc/texi/tld_get_4z.texi b/doc/texi/tld_get_4z.texi index e241079..dfa27f0 100644 --- a/doc/texi/tld_get_4z.texi +++ b/doc/texi/tld_get_4z.texi @@ -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 diff --git a/doc/texi/tld_get_table.texi b/doc/texi/tld_get_table.texi index b647d16..5c778fe 100644 --- a/doc/texi/tld_get_table.texi +++ b/doc/texi/tld_get_table.texi @@ -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 diff --git a/doc/texi/tld_get_z.texi b/doc/texi/tld_get_z.texi index 1ff5b02..32a618d 100644 --- a/doc/texi/tld_get_z.texi +++ b/doc/texi/tld_get_z.texi @@ -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 diff --git a/doc/texi/tld_strerror.texi b/doc/texi/tld_strerror.texi index 3eeb9c2..252b73a 100644 --- a/doc/texi/tld_strerror.texi +++ b/doc/texi/tld_strerror.texi @@ -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 index 7fc7d28..0000000 --- a/doc/texi/toutf8.c.texi +++ /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 index 2ba59d2..0000000 --- a/doc/texi/version.c.texi +++ /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 index 69614b5..0000000 --- a/doc/texinfo.css +++ /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; -} diff --git a/doc/tld/Makefile.am b/doc/tld/Makefile.am index 5a3b1ae..7c918e2 100644 --- a/doc/tld/Makefile.am +++ b/doc/tld/Makefile.am @@ -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 . +# along with this program. If not, see . EXTRA_DIST = README fr.tld no.tld diff --git a/doc/tld/Makefile.in b/doc/tld/Makefile.in index d8dd208..d6e877c 100644 --- a/doc/tld/Makefile.in +++ b/doc/tld/Makefile.in @@ -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. @@ -31,8 +30,63 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . 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. diff --git a/doc/tld/README b/doc/tld/README index 4e76040..40a9686 100644 --- a/doc/tld/README +++ b/doc/tld/README @@ -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. diff --git a/doc/tld/fr.tld b/doc/tld/fr.tld index c724f46..cc78824 100644 --- a/doc/tld/fr.tld +++ b/doc/tld/fr.tld @@ -1,4 +1,4 @@ -# Copyright (C) 2004-2012 Simon Josefsson +# Copyright (C) 2004-2024 Simon Josefsson # Copyright (C) 2003 Stephane Bortzmeyer / 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 # # or in basque. U+006E -# o and its variants : ô. ö exists in French? No word uses +# o and its variants : ô. ö exists in French? No word uses # it. # ò does not exist in french but in occitan # diff --git a/doc/tld/no.tld b/doc/tld/no.tld index 6ee80b3..d6fc7f8 100644 --- a/doc/tld/no.tld +++ b/doc/tld/no.tld @@ -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 / ñ diff --git a/doc/version.texi b/doc/version.texi index 2e7502b..85706a6 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -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/examples/Makefile.am b/examples/Makefile.am index 31a79d2..263cc91 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -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 . +# along with this program. If not, see . EXTRA_DIST = README diff --git a/examples/Makefile.in b/examples/Makefile.in index ba738c4..10049ab 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -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. # @@ -30,9 +29,64 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . 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. diff --git a/examples/README b/examples/README index 7d772bd..f3c716b 100644 --- a/examples/README +++ b/examples/README @@ -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. diff --git a/examples/example.c b/examples/example.c index 9034a96..d49bfb8 100644 --- a/examples/example.c +++ b/examples/example.c @@ -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 . + * along with this program. If not, see . * */ @@ -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"); } diff --git a/examples/example2.c b/examples/example2.c index 24fa844..b4a0d0a 100644 --- a/examples/example2.c +++ b/examples/example2.c @@ -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 . + * along with this program. If not, see . * */ diff --git a/examples/example3.c b/examples/example3.c index 71b0380..9e58829 100644 --- a/examples/example3.c +++ b/examples/example3.c @@ -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 . + * along with this program. If not, see . * */ @@ -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); diff --git a/examples/example4.c b/examples/example4.c index 2ce9739..4eb0ecc 100644 --- a/examples/example4.c +++ b/examples/example4.c @@ -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 . + * along with this program. If not, see . * */ @@ -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); diff --git a/examples/example5.c b/examples/example5.c index 90e5ecf..88ff52c 100644 --- a/examples/example5.c +++ b/examples/example5.c @@ -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 . + * along with this program. If not, see . * */ @@ -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 index 0000000..8dc1390 --- /dev/null +++ b/fuzz/Makefile.am @@ -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 index 0000000..a10e711 --- /dev/null +++ b/fuzz/Makefile.in @@ -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=''; \ + grn=''; \ + lgn=''; \ + blu=''; \ + mgn=''; \ + brg=''; \ + std=''; \ + 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 index 0000000..10586f8 --- /dev/null +++ b/fuzz/README.md @@ -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 index 0000000..735a1c2 --- /dev/null +++ b/fuzz/fuzzer.h @@ -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 /* size_t */ +#include /* 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 index 0000000..4ea67f3 --- /dev/null +++ b/fuzz/libidn_stringprep_fuzzer.c @@ -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 . + */ + +#include + +#include /* assert */ +#include /* uint8_t, uint32_t */ +#include /* malloc, free */ +#include /* 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 index 0000000..ca79dad --- /dev/null +++ b/fuzz/libidn_toascii_fuzzer.c @@ -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 . + */ + +#include + +#include /* assert */ +#include /* uint8_t, uint32_t */ +#include /* malloc, free */ +#include /* 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 index 0000000..5f908d6 --- /dev/null +++ b/fuzz/libidn_tounicode_fuzzer.c @@ -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 . + */ + +#include + +#include /* assert */ +#include /* uint8_t, uint32_t */ +#include /* malloc, free */ +#include /* 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 index 0000000..09c2b55 --- /dev/null +++ b/fuzz/libidn_tounicode_fuzzer.dict @@ -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 index 0000000..ebb7d1a --- /dev/null +++ b/fuzz/libidn_tounicode_fuzzer.repro/clusterfuzz-testcase-6105917865066496 @@ -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 index 0000000..3bb8d47 --- /dev/null +++ b/fuzz/main.c @@ -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 +#include +#include +#include +#include +#include +#include +#include + +#include "fuzzer.h" + +#ifdef TEST_RUN + +# include + +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 */ diff --git a/gl/Makefile.am b/gl/Makefile.am index 60759d6..5287863 100644 --- a/gl/Makefile.am +++ b/gl/Makefile.am @@ -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 . +# along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that @@ -21,9 +21,39 @@ # 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 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 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.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 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 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 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 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 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 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 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 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 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 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 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 # 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 diff --git a/gl/Makefile.in b/gl/Makefile.in index 4743f10..c178e5e 100644 --- a/gl/Makefile.in +++ b/gl/Makefile.in @@ -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,11 +14,11 @@ @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 . +# along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that @@ -36,11 +35,96 @@ # 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 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 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 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 when the system +# We need the following in order to override . +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 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 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 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 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 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 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 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 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 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 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 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 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 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 # 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 index 0000000..7326bd4 --- /dev/null +++ b/gl/_Noreturn.h @@ -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 . */ + +#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 index 0000000..6aa47df --- /dev/null +++ b/gl/alloca.in.h @@ -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 . */ + +/* 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 that causes trouble when + included after 'alloca' gets defined as a macro. As a workaround, + include this first and define 'alloca' as a macro afterwards + if needed. */ +# if defined __GNUC__ && (defined _WIN32 && ! defined __CYGWIN__) && @HAVE_ALLOCA_H@ +# include_next +# 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 +# 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 +# else +# include +# ifdef __cplusplus +extern "C" +# endif +void *alloca (size_t); +# endif +#endif + +#endif /* _GL_ALLOCA_H */ diff --git a/build-aux/snippet/arg-nonnull.h b/gl/arg-nonnull.h similarity index 61% rename from build-aux/snippet/arg-nonnull.h rename to gl/arg-nonnull.h index 3a9dd26..46c711c 100644 --- a/build-aux/snippet/arg-nonnull.h +++ b/gl/arg-nonnull.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ /* _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 index 0000000..6e4995e --- /dev/null +++ b/gl/assert.in.h @@ -0,0 +1,27 @@ +/* Substitute for and wrapper around + 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 . */ + +/* Do not guard the include, since 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 index 0000000..256f846 --- /dev/null +++ b/gl/basename-lgpl.c @@ -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 . */ + +#include + +/* Specification. */ +#include "basename-lgpl.h" + +#include + +#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 index 0000000..2a56be9 --- /dev/null +++ b/gl/basename-lgpl.h @@ -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 . */ + +#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 + +#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 , 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 */ diff --git a/build-aux/snippet/c++defs.h b/gl/c++defs.h similarity index 63% rename from build-aux/snippet/c++defs.h rename to gl/c++defs.h index 96da94b..eb66967 100644 --- a/build-aux/snippet/c++defs.h +++ b/gl/c++defs.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #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 @@ -90,6 +99,12 @@ 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" ; + is invalid syntax in C++.) */ #define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \ _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes) @@ -111,14 +126,25 @@ 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 @@ -126,6 +152,16 @@ _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 @@ -135,8 +171,15 @@ # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ namespace GNULIB_NAMESPACE \ { \ - rettype (*const func) parameters = \ - reinterpret_cast(::rpl_func); \ + static const struct _gl_ ## func ## _wrapper \ + { \ + typedef rettype (*type) parameters; \ + \ + inline operator type () const \ + { \ + return reinterpret_cast(::rpl_func); \ + } \ + } func = {}; \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else @@ -144,25 +187,38 @@ _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) \ @@ -178,8 +234,15 @@ # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ namespace GNULIB_NAMESPACE \ { \ - static rettype (*func) parameters = \ - reinterpret_cast(::func); \ + static const struct _gl_ ## func ## _wrapper \ + { \ + typedef rettype (*type) parameters; \ + \ + inline operator type () const \ + { \ + return reinterpret_cast(::func); \ + } \ + } func = {}; \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else @@ -202,9 +265,15 @@ # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ namespace GNULIB_NAMESPACE \ { \ - static rettype (*func) parameters = \ - reinterpret_cast( \ - (rettype2(*)parameters2)(::func)); \ + static const struct _gl_ ## func ## _wrapper \ + { \ + typedef rettype (*type) parameters; \ + \ + inline operator type () const \ + { \ + return reinterpret_cast((rettype2 (*) parameters2)(::func)); \ + } \ + } func = {}; \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else @@ -221,9 +290,9 @@ _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) # define _GL_CXXALIASWARN_1(func,namespace) \ _GL_CXXALIASWARN_2 (func, namespace) -/* To work around GCC bug , +/* To work around GCC bug , 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. " \ @@ -249,16 +318,13 @@ 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 , +/* To work around GCC bug , 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 index 0000000..cdb0d74 --- /dev/null +++ b/gl/cloexec.c @@ -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 . */ + +/* The code is taken from glibc/manual/llio.texi */ + +#include + +#include "cloexec.h" + +#include +#include +#include + +/* 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 index 0000000..f52e5f2 --- /dev/null +++ b/gl/cloexec.h @@ -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 . */ + +/* 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); diff --git a/gltests/close.c b/gl/close.c similarity index 52% rename from gltests/close.c rename to gl/close.c index 4b7accb..830fd82 100644 --- a/gltests/close.c +++ b/gl/close.c @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #include @@ -22,11 +22,14 @@ #include #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 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 . */ + +/* written by Paul Eggert */ + +#include + +/* Specification. */ +#include + +#include +#include + +#undef dup2 + +#if defined _WIN32 && ! defined __CYGWIN__ + +/* Get declarations of the native Windows API functions. */ +# define WIN32_LEAN_AND_MEAN +# include + +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +# include "msvc-inval.h" +# endif + +/* Get _get_osfhandle. */ +# if GNULIB_MSVC_NOTHROW +# include "msvc-nothrow.h" +# else +# include +# 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 + +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; +} diff --git a/gl/errno.in.h b/gl/errno.in.h index 2f42612..aa658e6 100644 --- a/gl/errno.in.h +++ b/gl/errno.in.h @@ -1,19 +1,19 @@ /* A POSIX-like . - 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #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. */ @@ -84,6 +84,16 @@ # 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 @@ -108,15 +118,17 @@ # 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 @@ -227,6 +239,41 @@ # 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 */ diff --git a/gl/error.c b/gl/error.c index dc8c65f..c53dfeb 100644 --- a/gl/error.c +++ b/gl/error.c @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ /* Written by David MacKenzie . */ #if !_LIBC # include +# define _GL_NO_INLINE_ERROR #endif -#include "error.h" +#include #include #include @@ -39,6 +40,9 @@ # include # include # 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 -# 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 @@ -88,43 +92,45 @@ extern void __error_at_line (int status, int errnum, const char *file_name, # include # include -# 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 /* Get _get_osfhandle. */ -# include "msvc-nothrow.h" +# if GNULIB_MSVC_NOTHROW +# include "msvc-nothrow.h" +# else +# include +# 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 index 9c2cb8b..0000000 --- a/gl/error.h +++ /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 . */ - -#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 index 0000000..51f8caf --- /dev/null +++ b/gl/error.in.h @@ -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 . */ + +#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 + +/* Get _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM. */ +#include + +/* 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 index 0000000..7cd3a0f --- /dev/null +++ b/gl/fcntl.c @@ -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 . */ + +/* Written by Eric Blake . */ + +#include + +/* Specification. */ +#include + +#include +#include +#include +#include +#include + +#ifdef __KLIBC__ +# define INCL_DOS +# include +#endif + +#if defined _WIN32 && ! defined __CYGWIN__ +/* Get declarations of the native Windows API functions. */ +# define WIN32_LEAN_AND_MEAN +# include + +/* Get _get_osfhandle. */ +# if GNULIB_MSVC_NOTHROW +# include "msvc-nothrow.h" +# else +# include +# 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 diff --git a/gltests/fcntl.in.h b/gl/fcntl.in.h similarity index 63% rename from gltests/fcntl.in.h rename to gl/fcntl.in.h index 76e12f7..eea3b95 100644 --- a/gltests/fcntl.in.h +++ b/gl/fcntl.in.h @@ -1,19 +1,19 @@ /* Like , 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ /* written by Paul Eggert */ @@ -34,11 +34,17 @@ extern "C" { ... } block, which leads to errors in C++ mode with the overridden 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 #endif #@INCLUDE_NEXT@ @NEXT_FCNTL_H@ +/* Native Windows platforms declare open(), creat() in . */ +#if (@GNULIB_CREAT@ || @GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \ + && (defined _WIN32 && ! defined __CYGWIN__) +# include +#endif + #else /* Normal invocation convention. */ @@ -53,23 +59,28 @@ extern "C" { ... } block, which leads to errors in C++ mode with the overridden 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 #endif /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_FCNTL_H@ +/* Native Windows platforms declare open(), creat() in . */ +#if (@GNULIB_CREAT@ || @GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \ + && (defined _WIN32 && ! defined __CYGWIN__) +# include +#endif + #ifndef _@GUARD_PREFIX@_FCNTL_H #define _@GUARD_PREFIX@_FCNTL_H -#ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems. */ -# include +/* 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 . */ -#if (@GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \ - && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) -# include +#ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems. */ +# include #endif @@ -82,6 +93,47 @@ /* 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) @@ -90,9 +142,15 @@ # 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 +# 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 */ diff --git a/gltests/fd-hook.c b/gl/fd-hook.c similarity index 81% rename from gltests/fd-hook.c rename to gl/fd-hook.c index 8f4ffe2..75bbe49 100644 --- a/gltests/fd-hook.c +++ b/gl/fd-hook.c @@ -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 , 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #include diff --git a/gltests/fd-hook.h b/gl/fd-hook.h similarity index 86% rename from gltests/fd-hook.h rename to gl/fd-hook.h index 721e9ad..2150460 100644 --- a/gltests/fd-hook.h +++ b/gl/fd-hook.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #ifndef FD_HOOK_H diff --git a/gl/filename.h b/gl/filename.h new file mode 100644 index 0000000..a2400a9 --- /dev/null +++ b/gl/filename.h @@ -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 + . */ + +/* From Paul Eggert and Jim Meyering. */ + +#ifndef _FILENAME_H +#define _FILENAME_H + +#include + +#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 index 0000000..205d5aa --- /dev/null +++ b/gl/fstat.c @@ -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 . */ + +/* If the user's config.h happens to include , let it include only + the system's here, so that orig_fstat doesn't recurse to + rpl_fstat. */ +#define __need_system_sys_stat_h +#include + +/* Get the original definition of fstat. It might be defined as a macro. */ +#include +#include +#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 , otherwise OSF/1 5.1 DTK cc + eliminates this include because of the preliminary #include + above. */ +# include "sys/stat.h" +#else +# include +#endif + +#include "stat-time.h" + +#include +#include +#ifdef WINDOWS_NATIVE +# define WIN32_LEAN_AND_MEAN +# include +# if GNULIB_MSVC_NOTHROW +# include "msvc-nothrow.h" +# else +# include +# 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 + */ + 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 index 0000000..58063b1 --- /dev/null +++ b/gl/getdelim.c @@ -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 . */ + +/* 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 + +#include + +#include +#include +#include +#include + +#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 index 0000000..762c100 --- /dev/null +++ b/gl/getdtablesize.c @@ -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 , 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 . */ + +#include + +/* Specification. */ +#include + +#if defined _WIN32 && ! defined __CYGWIN__ + +# include + +# 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 +# include + +# 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 index 0000000..2d03b64 --- /dev/null +++ b/gl/getline.c @@ -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 . */ + +/* Written by Simon Josefsson. */ + +#include + +#include + +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 index 0000000..a1d304d --- /dev/null +++ b/gl/getopt-cdefs.in.h @@ -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 . */ + +#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 +#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 index 0000000..12d09a2 --- /dev/null +++ b/gl/getopt-core.h @@ -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 + . */ + +#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 index 0000000..e4b499d --- /dev/null +++ b/gl/getopt-ext.h @@ -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 + . */ + +#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 index 0000000..78b7816 --- /dev/null +++ b/gl/getopt-pfx-core.h @@ -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 . */ + +#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 . */ +# 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 + +#endif /* _GETOPT_PFX_CORE_H */ diff --git a/gl/getopt-pfx-ext.h b/gl/getopt-pfx-ext.h new file mode 100644 index 0000000..f001c11 --- /dev/null +++ b/gl/getopt-pfx-ext.h @@ -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 . */ + +#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 + +#endif /* _GETOPT_PFX_EXT_H */ diff --git a/gl/getopt.c b/gl/getopt.c index 4342a34..9283063 100644 --- a/gl/getopt.c +++ b/gl/getopt.c @@ -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 . */ + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ #ifndef _LIBC # include #endif -#include "getopt.h" +#include #include #include @@ -31,30 +29,54 @@ #include #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 +# 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 -#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; - - -#if defined HAVE_DECL_GETENV && !HAVE_DECL_GETENV -extern char *getenv (); -#endif -#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; } @@ -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 @@ -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"); } diff --git a/gl/getopt.in.h b/gl/getopt.in.h index 06b6dfc..c2411a7 100644 --- a/gl/getopt.in.h +++ b/gl/getopt.in.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #ifndef _@GUARD_PREFIX@_GETOPT_H @@ -32,222 +34,28 @@ # 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 , - 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 + , we have already included it). */ +#if defined __GETOPT_PREFIX # if !@HAVE_GETOPT_H@ +# define __need_system_stdlib_h # include +# undef __need_system_stdlib_h # include # include # 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 , but - that does not exist if we are standalone. So: if __GNU_LIBRARY__ is - not defined, include , which will pull in 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 -#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 +#include +#include -/* 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 */ diff --git a/gl/getopt1.c b/gl/getopt1.c index fb2a8f5..c42d29f 100644 --- a/gl/getopt1.c +++ b/gl/getopt1.c @@ -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 . */ + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ -#ifdef _LIBC -# include -#else +#ifndef _LIBC # include -# include "getopt.h" #endif -#include "getopt_int.h" - -#include -/* This needs to come after some library #include - to get __GNU_LIBRARY__ defined. */ -#ifdef __GNU_LIBRARY__ -#include -#endif - -#ifndef NULL -#define NULL 0 -#endif +#include +#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); } #ifdef TEST #include +#include 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"); } diff --git a/gl/getopt_int.h b/gl/getopt_int.h index 2da020c..c00c0b6 100644 --- a/gl/getopt_int.h +++ b/gl/getopt_int.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ #ifndef _GETOPT_INT_H -#define _GETOPT_INT_H 1 +#define _GETOPT_INT_H 1 #include 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); /* 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 index 0000000..392a9a2 --- /dev/null +++ b/gl/getprogname.c @@ -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 . */ + +#include + +/* Specification. Also get __argv declaration. */ +#include + +#include /* get program_invocation_name declaration */ + +#ifdef _AIX +# include +# include +# include +#endif + +#ifdef __MVS__ +# ifndef _OPEN_SYS +# define _OPEN_SYS +# endif +# include +# include +#endif + +#ifdef __hpux +# include +# include +# include +# include +#endif + +#if defined __sgi || defined __osf__ +# include +# include +# include +# include +# include +#endif + +#if defined __SCO_VERSION__ || defined __sysv5__ +# include +# include +#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 index 0000000..bee1c1a --- /dev/null +++ b/gl/getprogname.h @@ -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 . */ + +#ifndef _GL_GETPROGNAME_H +#define _GL_GETPROGNAME_H + +#include + +#if __GNUC__ || (__clang_major__ >= 4) +# warning "The include file getprogname.h is deprecated. Use instead." +#endif + +#endif diff --git a/gl/gettext.h b/gl/gettext.h index 3108e4a..39d5ae4 100644 --- a/gl/gettext.h +++ b/gl/gettext.h @@ -1,25 +1,26 @@ /* Convenience header for conditional use of GNU . - 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #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 @@ -107,4 +108,193 @@ 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 + +/* 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 +#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 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 + . */ + +#ifndef _IDX_H +#define _IDX_H + +/* Get ptrdiff_t. */ +#include + +/* Get PTRDIFF_MAX. */ +#include + +/* 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 + , + 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 index 0000000..c8a87d2 --- /dev/null +++ b/gl/intprops-internal.h @@ -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 . */ + +#ifndef _GL_INTPROPS_INTERNAL_H +#define _GL_INTPROPS_INTERNAL_H + +#include + +/* 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 + . */ +#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 + . */ +# 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 . */ +#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 . */ +# 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 +#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 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 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 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 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 */ diff --git a/gl/intprops.h b/gl/intprops.h index 2485c78..43734f3 100644 --- a/gl/intprops.h +++ b/gl/intprops.h @@ -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 . */ - -/* Written by Paul Eggert. */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #ifndef _GL_INTPROPS_H #define _GL_INTPROPS_H -#include - -/* 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 - . */ -#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. */ @@ -37,72 +27,27 @@ 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 @@ -110,30 +55,31 @@ #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__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__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__WRAPV, INT__OK, and INT__OVERFLOW macros described below. Example usage: @@ -157,6 +103,9 @@ 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. */ @@ -177,14 +126,12 @@ /* 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 - . */ + . */ #define INT_MULTIPLY_RANGE_OVERFLOW(a, b, min, max) \ ((b) < 0 \ ? ((a) < 0 \ @@ -223,24 +170,32 @@ ? (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 \ @@ -262,22 +217,31 @@ : (a) % - (b)) \ == 0) - -/* Integer overflow checks. +/* Check for integer overflow, and report low order bits of answer. The INT__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__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 @@ -286,7 +250,23 @@ 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. */ @@ -295,8 +275,7 @@ _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) \ @@ -313,7 +292,44 @@ 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 index 0000000..236fc58 --- /dev/null +++ b/gl/limits.in.h @@ -0,0 +1,151 @@ +/* A GNU-like . + + 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 . */ + +#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 + -> -> . + 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/gl/m4/00gnulib.m4 b/gl/m4/00gnulib.m4 index d978cb8..3448c40 100644 --- a/gl/m4/00gnulib.m4 +++ b/gl/m4/00gnulib.m4 @@ -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 index 0000000..0e9f9ba --- /dev/null +++ b/gl/m4/absolute-header.m4 @@ -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 , , + 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"`]) +]) diff --git a/gl/m4/alloca.m4 b/gl/m4/alloca.m4 index 656924b..9096021 100644 --- a/gl/m4/alloca.m4 +++ b/gl/m4/alloca.m4 @@ -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 , 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 . +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 index 0000000..a73e45f --- /dev/null +++ b/gl/m4/assert_h.m4 @@ -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 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 + #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 , 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 + #undef/**/assert + #ifdef __sgi + #undef/**/__ASSERT_H__ + #endif + /* Solaris 11.4 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]) +]) diff --git a/gl/m4/autobuild.m4 b/gl/m4/autobuild.m4 index 284dc60..814bc19 100644 --- a/gl/m4/autobuild.m4 +++ b/gl/m4/autobuild.m4 @@ -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 index 0000000..44fba3c --- /dev/null +++ b/gl/m4/c-bool.m4 @@ -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 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 +# else +# if defined __SUNPRO_C +# error " is not usable with this configuration. To make it usable, add -D_STDC_C99= to $CC." +# else +# error " 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]) +]) diff --git a/gl/m4/close.m4 b/gl/m4/close.m4 index 379e70d..6b6d382 100644 --- a/gl/m4/close.m4 +++ b/gl/m4/close.m4 @@ -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 diff --git a/m4/codeset.m4 b/gl/m4/codeset.m4 similarity index 58% rename from m4/codeset.m4 rename to gl/m4/codeset.m4 index a53c042..94dccce 100644 --- a/m4/codeset.m4 +++ b/gl/m4/codeset.m4 @@ -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 ], - [char* cs = nl_langinfo(CODESET); return !cs;], - [am_cv_langinfo_codeset=yes], - [am_cv_langinfo_codeset=no]) + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[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], diff --git a/gl/m4/csharp.m4 b/gl/m4/csharp.m4 index 6ec3223..f92f1c7 100644 --- a/gl/m4/csharp.m4 +++ b/gl/m4/csharp.m4 @@ -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.]) diff --git a/gl/m4/csharpcomp.m4 b/gl/m4/csharpcomp.m4 index dc7c588..5a236ed 100644 --- a/gl/m4/csharpcomp.m4 +++ b/gl/m4/csharpcomp.m4 @@ -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. diff --git a/gl/m4/csharpexec.m4 b/gl/m4/csharpexec.m4 index fab2611..079c572 100644 --- a/gl/m4/csharpexec.m4 +++ b/gl/m4/csharpexec.m4 @@ -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 index 0000000..00f23a7 --- /dev/null +++ b/gl/m4/double-slash-root.m4 @@ -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 + # . + 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 +]) diff --git a/gl/m4/dup2.m4 b/gl/m4/dup2.m4 index fc86e80..f6759b6 100644 --- a/gl/m4/dup2.m4 +++ b/gl/m4/dup2.m4 @@ -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 -#include -#include ]], - [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 + #include + #include + #include + #include + ]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 ]) ]) diff --git a/gl/m4/eealloc.m4 b/gl/m4/eealloc.m4 index 75f17e2..d8862a1 100644 --- a/gl/m4/eealloc.m4 +++ b/gl/m4/eealloc.m4 @@ -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 index 8eb57c9..0000000 --- a/gl/m4/environ.m4 +++ /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 to declare environ. - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - - AC_CHECK_HEADERS_ONCE([unistd.h]) - gt_CHECK_VAR_DECL( - [#if HAVE_UNISTD_H - #include - #endif - /* mingw, BeOS, Haiku declare environ in , not in . */ - #include - ], - [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]) -]) diff --git a/gl/m4/errno_h.m4 b/gl/m4/errno_h.m4 index 4f0bb83..8900d6c 100644 --- a/gl/m4/errno_h.m4 +++ b/gl/m4/errno_h.m4 @@ -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 +#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 @@ -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])]) -]) diff --git a/gl/m4/error.m4 b/gl/m4/error.m4 index 5d9c70a..5688afc 100644 --- a/gl/m4/error.m4 +++ b/gl/m4/error.m4 @@ -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_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 index 0000000..f8016ce --- /dev/null +++ b/gl/m4/error_h.m4 @@ -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 ]]) + 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 ]]) + 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_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 + 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 (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]) +]) diff --git a/gl/m4/extensions.m4 b/gl/m4/extensions.m4 index 0bfaef6..6fc2e30 100644 --- a/gl/m4/extensions.m4 +++ b/gl/m4/extensions.m4 @@ -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. @@ -26,68 +31,125 @@ # 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 + mbstate_t x;]])], + [], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + #define _XOPEN_SOURCE 500 + #include + 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 index 0000000..680250e --- /dev/null +++ b/gl/m4/extern-inline.m4 @@ -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 + #ifndef __header_inline + #error " 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 + . + + 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 . 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 . + 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 + and + . */ +#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 index 0000000..49ab34d --- /dev/null +++ b/gl/m4/fcntl-o.m4 @@ -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 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 + #include + #if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + # include + # defined sleep(n) _sleep ((n) * 1000) + #endif + #include + ]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 index 0000000..02b93f8 --- /dev/null +++ b/gl/m4/fcntl.m4 @@ -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 + #include + #include + #include + #include + ]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 + #include + 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 +]) diff --git a/gl/m4/fcntl_h.m4 b/gl/m4/fcntl_h.m4 index cac28ae..ba4eb44 100644 --- a/gl/m4/fcntl_h.m4 +++ b/gl/m4/fcntl_h.m4 @@ -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 index 9ca9d2a..0000000 --- a/gl/m4/fdopen.m4 +++ /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 -#include -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], []) diff --git a/gl/m4/fstat.m4 b/gl/m4/fstat.m4 index 3ab3297..5e73b4e 100644 --- a/gl/m4/fstat.m4 +++ b/gl/m4/fstat.m4 @@ -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 index 50b96c6..0000000 --- a/gl/m4/getcwd.m4 +++ /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 -# else /* on Windows with MSVC */ -# include -# 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 ]], - [[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 index 0000000..0dbd8bc --- /dev/null +++ b/gl/m4/getdelim.m4 @@ -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 to declare getdelim(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_CHECK_DECLS_ONCE([getdelim]) + + gl_CHECK_FUNCS_ANDROID([getdelim], [[#include ]]) + 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 +# include +# include + 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 +#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 index 0000000..3b89456 --- /dev/null +++ b/gl/m4/getdtablesize.m4 @@ -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 ] + 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 index 0000000..1a7e890 --- /dev/null +++ b/gl/m4/getline.m4 @@ -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 to declare getline(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_CHECK_DECLS_ONCE([getline]) + + gl_CHECK_FUNCS_ANDROID([getline], [[#include ]]) + 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 +# include +# include + 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 +#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], +[ + : +]) diff --git a/gl/m4/getopt.m4 b/gl/m4/getopt.m4 index 2aea895..be812d8 100644 --- a/gl/m4/getopt.m4 +++ b/gl/m4/getopt.m4 @@ -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 ]], - [[int *p = &optreset; return optreset;]])], - [gl_optind_min=1], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[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 and getopt() entirely). + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ #include #include #include @@ -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 and getopt() entirely). + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +#include - 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 +#include +#include +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 + #include + #include + ]], + [[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 index 0000000..b8f9f23 --- /dev/null +++ b/gl/m4/getprogname.m4 @@ -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 ]]) + 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 ]]) +]) + +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 ]) + AC_CHECK_DECLS([program_invocation_short_name], [ac_found=1], [], + [#include ]) + AC_CHECK_DECLS([__argv], [ac_found=1], [], [#include ]) + + # 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 +]) diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4 index 0525d68..0218f22 100644 --- a/gl/m4/gnulib-cache.m4 +++ b/gl/m4/gnulib-cache.m4 @@ -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 . +# along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that @@ -27,41 +27,70 @@ # 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]) diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4 index d62b767..5dd755f 100644 --- a/gl/m4/gnulib-common.m4 +++ b/gl/m4/gnulib-common.m4 @@ -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 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 + . + 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 or has already defined this macro, continue + to use this earlier definition, since may not have been included + yet. */ +#ifndef _GL_ATTRIBUTE_DEALLOC_FREE +# if defined __cplusplus && defined __GNUC__ && !defined __clang__ +/* Work around GCC bug */ +# 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 + + 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 -# , -# but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99 -# . -# Remaining problems: -# - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options -# to CC twice -# . -# - 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 ]]) +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 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_ to yes / no / "future OS version" +dnl - ac_cv_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 ]]) +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 ]]) +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 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_ to yes / no / "future OS version" +dnl - ac_cv_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 ]]) +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 ]]) +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 +' ]) diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4 index c295cdb..dc55bbf 100644 --- a/gl/m4/gnulib-comp.m4 +++ b/gl/m4/gnulib-comp.m4 @@ -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 . +# along with this file. If not, see . # # 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 ]) -AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include ]) -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 ]) + AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include ]) + 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 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 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 ]) diff --git a/gl/m4/include_next.m4 b/gl/m4/include_next.m4 index a60a261..8a1c52c 100644 --- a/gl/m4/include_next.m4 +++ b/gl/m4/include_next.m4 @@ -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 , , - dnl 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])), diff --git a/gl/m4/largefile.m4 b/gl/m4/largefile.m4 index a159f4a..cbe9bc1 100644 --- a/gl/m4/largefile.m4 +++ b/gl/m4/largefile.m4 @@ -1,107 +1,301 @@ # 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 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 + /* 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 - /* 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 + 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, diff --git a/lib/gl/m4/ld-output-def.m4 b/gl/m4/ld-output-def.m4 similarity index 87% rename from lib/gl/m4/ld-output-def.m4 rename to gl/m4/ld-output-def.m4 index 3511684..c0c5971 100644 --- a/lib/gl/m4/ld-output-def.m4 +++ b/gl/m4/ld-output-def.m4 @@ -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 index 0000000..1bfa2c2 --- /dev/null +++ b/gl/m4/ld-version-script.m4 @@ -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 < + 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 + #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 . +AC_DEFUN([gl_REPLACE_LIMITS_H], +[ + AC_REQUIRE([gl_LIMITS_H]) + GL_GENERATE_LIMITS_H=true +]) diff --git a/lib/gl/m4/locale-fr.m4 b/gl/m4/locale-fr.m4 similarity index 62% rename from lib/gl/m4/locale-fr.m4 rename to gl/m4/locale-fr.m4 index 04d801f..c952856 100644 --- a/lib/gl/m4/locale-fr.m4 +++ b/gl/m4/locale-fr.m4 @@ -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 #include #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 #include #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 index b7335bd..0000000 --- a/gl/m4/lstat.m4 +++ /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 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 index 8fa48e9..0000000 --- a/gl/m4/malloc.m4 +++ /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 - #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]) - ]) -]) diff --git a/gl/m4/malloca.m4 b/gl/m4/malloca.m4 index 7841979..77e1595 100644 --- a/gl/m4/malloca.m4 +++ b/gl/m4/malloca.m4 @@ -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]) ]) diff --git a/gl/m4/manywarnings.m4 b/gl/m4/manywarnings.m4 index fd0e372..4d44f3a 100644 --- a/gl/m4/manywarnings.m4 +++ b/gl/m4/manywarnings.m4 @@ -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]) ]) diff --git a/gl/m4/mode_t.m4 b/gl/m4/mode_t.m4 index 40f612a..af88da5 100644 --- a/gl/m4/mode_t.m4 +++ b/gl/m4/mode_t.m4 @@ -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. diff --git a/gl/m4/msvc-inval.m4 b/gl/m4/msvc-inval.m4 index 8db4617..b8ba598 100644 --- a/gl/m4/msvc-inval.m4 +++ b/gl/m4/msvc-inval.m4 @@ -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. diff --git a/gl/m4/msvc-nothrow.m4 b/gl/m4/msvc-nothrow.m4 index 0125050..3e332a0 100644 --- a/gl/m4/msvc-nothrow.m4 +++ b/gl/m4/msvc-nothrow.m4 @@ -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. diff --git a/gl/m4/multiarch.m4 b/gl/m4/multiarch.m4 index b424dce..5f8339f 100644 --- a/gl/m4/multiarch.m4 +++ b/gl/m4/multiarch.m4 @@ -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 index 0000000..34d2c1f --- /dev/null +++ b/gl/m4/musl.m4 @@ -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 +# +# . +# 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 +]) diff --git a/gl/m4/nocrash.m4 b/gl/m4/nocrash.m4 index 08ef825..9730fc0 100644 --- a/gl/m4/nocrash.m4 +++ b/gl/m4/nocrash.m4 @@ -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 #if defined __MACH__ && defined __APPLE__ -/* Avoid a crash on MacOS X. */ +/* Avoid a crash on Mac OS X. */ #include #include #include @@ -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 @@ -110,11 +110,12 @@ nocrash_init (void) #else /* Avoid a crash on POSIX systems. */ #include +#include /* A POSIX signal handler. */ static void exception_handler (int sig) { - exit (1); + _exit (1); } static void nocrash_init (void) diff --git a/gl/m4/off_t.m4 b/gl/m4/off_t.m4 index dfca2df..f3259f9 100644 --- a/gl/m4/off_t.m4 +++ b/gl/m4/off_t.m4 @@ -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 index 0000000..a2d5032 --- /dev/null +++ b/gl/m4/open-cloexec.m4 @@ -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 + #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 index 0000000..45310c0 --- /dev/null +++ b/gl/m4/open-slash.m4 @@ -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 +#if HAVE_UNISTD_H +# include +#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 +]) diff --git a/gl/m4/open.m4 b/gl/m4/open.m4 index c85971d..91e5c31 100644 --- a/gl/m4/open.m4 +++ b/gl/m4/open.m4 @@ -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 -#if HAVE_UNISTD_H -# include -#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]) : ]) diff --git a/gl/m4/pathmax.m4 b/gl/m4/pathmax.m4 index 0117861..a0fc296 100644 --- a/gl/m4/pathmax.m4 +++ b/gl/m4/pathmax.m4 @@ -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 index b971b12..0000000 --- a/gl/m4/putenv.m4 +++ /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 index e1931e7..0000000 --- a/gl/m4/setenv.m4 +++ /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 - #include - #include - ]], [[ - 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 */ -#include -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 - #include - 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]) -]) diff --git a/gl/m4/ssize_t.m4 b/gl/m4/ssize_t.m4 index 209d64c..25b28d7 100644 --- a/gl/m4/ssize_t.m4 +++ b/gl/m4/ssize_t.m4 @@ -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 ]], [[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 + 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 index 0000000..8bec2f5 --- /dev/null +++ b/gl/m4/stat-time.m4 @@ -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 + #include + #if HAVE_SYS_TIME_H + # include + #endif + #include + 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 + #include ])], + [#include + #include ])], + [#include + #include ])], + [#include + #include ]) +]) + +# 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 + #include ])], + [#include + #include ])], + [#include + #include ]) +]) diff --git a/gl/m4/stat.m4 b/gl/m4/stat.m4 index a8b79f5..1d2a9e2 100644 --- a/gl/m4/stat.m4 +++ b/gl/m4/stat.m4 @@ -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 -]], [[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 + 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 ]], [[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 +]) diff --git a/gl/m4/stdarg.m4 b/gl/m4/stdarg.m4 index 5c313cb..989383c 100644 --- a/gl/m4/stdarg.m4 +++ b/gl/m4/stdarg.m4 @@ -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 . AC_DEFUN([gl_STDARG_H], [ - STDARG_H='' + GL_GENERATE_STDARG_H=false NEXT_STDARG_H='' - AC_MSG_CHECKING([for va_copy]) - AC_CACHE_VAL([gl_cv_func_va_copy], [ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[ + AC_CACHE_CHECK([for va_copy], + [gl_cv_func_va_copy], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[ #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 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 file. - STDARG_H=stdarg.h + GL_GENERATE_STDARG_H=true gl_NEXT_HEADERS([stdarg.h]) dnl Fallback for the case when 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 index eabfa64..0000000 --- a/gl/m4/stdbool.m4 +++ /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 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 - #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]) -]) diff --git a/gl/m4/stddef_h.m4 b/gl/m4/stddef_h.m4 index cc11609..1bf9eb3 100644 --- a/gl/m4/stddef_h.m4 +++ b/gl/m4/stddef_h.m4 @@ -1,19 +1,61 @@ -dnl A placeholder for POSIX 2008 , 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 , 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 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 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 + 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 @@ -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 + ]], + [[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]) ]) diff --git a/gl/m4/stdint.m4 b/gl/m4/stdint.m4 index 28d342e..4aa2508 100644 --- a/gl/m4/stdint.m4 +++ b/gl/m4/stdint.m4 @@ -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 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 , 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 . - 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 . - 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 /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ #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 /* 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 ] 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 , and for - dnl (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 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 +] +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 predates C++11.]) + AC_DEFINE([__STDC_LIMIT_MACROS], [1], + [Define to 1 if the system 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 + ]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 , and for + dnl (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: , and must be - included before . */ #include #include #if HAVE_WCHAR_H - # include - # include # include #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 and 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: diff --git a/gl/m4/stdio_h.m4 b/gl/m4/stdio_h.m4 index b03393b..c19feef 100644 --- a/gl/m4/stdio_h.m4 +++ b/gl/m4/stdio_h.m4 @@ -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 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 + #include + /* 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 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 ]], [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]) diff --git a/gl/m4/stdlib_h.m4 b/gl/m4/stdlib_h.m4 index ab43728..92e67a7 100644 --- a/gl/m4/stdlib_h.m4 +++ b/gl/m4/stdlib_h.m4 @@ -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 #if HAVE_SYS_LOADAVG_H +/* OpenIndiana has a bug: must be included before + . */ +# include # include #endif #if HAVE_RANDOM_H # include #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 +#include +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]) ]) diff --git a/gl/m4/strerror.m4 b/gl/m4/strerror.m4 index 1c96e52..a1d1261 100644 --- a/gl/m4/strerror.m4 +++ b/gl/m4/strerror.m4 @@ -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 ]) ]) diff --git a/gl/m4/string_h.m4 b/gl/m4/string_h.m4 index 5677e09..3cbcbc7 100644 --- a/gl/m4/string_h.m4 +++ b/gl/m4/string_h.m4 @@ -1,25 +1,19 @@ # Configure a GNU-like replacement for . -# 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 ]], - [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 index cfd90ec..0000000 --- a/gl/m4/symlink.m4 +++ /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 - ]], - [[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 -]) diff --git a/gl/m4/sys_socket_h.m4 b/gl/m4/sys_socket_h.m4 index 8d4e7e1..af52484 100644 --- a/gl/m4/sys_socket_h.m4 +++ b/gl/m4/sys_socket_h.m4 @@ -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 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 ]], [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 replacement and of the @@ -143,32 +139,65 @@ AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2], AC_SUBST([HAVE_WINSOCK2_H]) ]) +# Common prerequisites of the replacement and of the +# 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]) diff --git a/gl/m4/sys_stat_h.m4 b/gl/m4/sys_stat_h.m4 index f45dee1..7501853 100644 --- a/gl/m4/sys_stat_h.m4 +++ b/gl/m4/sys_stat_h.m4 @@ -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 . -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 or dnl . @@ -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 - ]], [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]) ]) diff --git a/gl/m4/sys_types_h.m4 b/gl/m4/sys_types_h.m4 index f11eef2..37d0cca 100644 --- a/gl/m4/sys_types_h.m4 +++ b/gl/m4/sys_types_h.m4 @@ -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 +# 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 .])]) +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 .])]) +fi +])# AC_HEADER_MAJOR + +]) diff --git a/gl/m4/time_h.m4 b/gl/m4/time_h.m4 index b88da76..367f69e 100644 --- a/gl/m4/time_h.m4 +++ b/gl/m4/time_h.m4 @@ -1,8 +1,8 @@ # Configure a more-standard replacement for . -# 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, @@ -10,23 +10,45 @@ # 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 + ]], [ + 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 ], + [gl_cv_time_h_has_TIME_UTC], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[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 ], + [gl_cv_sys_struct_timespec_in_unistd_h], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[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]) ]) diff --git a/gl/m4/unistd_h.m4 b/gl/m4/unistd_h.m4 index 7e7651b..e078bd6 100644 --- a/gl/m4/unistd_h.m4 +++ b/gl/m4/unistd_h.m4 @@ -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 # include # include -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if defined _WIN32 && ! defined __CYGWIN__ # include # 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]) ]) diff --git a/gl/m4/valgrind-tests.m4 b/gl/m4/valgrind-tests.m4 index 6f2790e..d3ec128 100644 --- a/gl/m4/valgrind-tests.m4 +++ b/gl/m4/valgrind-tests.m4 @@ -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 ]) diff --git a/gl/m4/version-etc.m4 b/gl/m4/version-etc.m4 index 4c6c678..d992e30 100644 --- a/gl/m4/version-etc.m4 +++ b/gl/m4/version-etc.m4 @@ -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 index 0000000..b9b36a8 --- /dev/null +++ b/gl/m4/visibility.m4 @@ -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.]) +]) diff --git a/gl/m4/warn-on-use.m4 b/gl/m4/warn-on-use.m4 index a77802e..6e251fb 100644 --- a/gl/m4/warn-on-use.m4 +++ b/gl/m4/warn-on-use.m4 @@ -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 + ]) ]) diff --git a/gl/m4/warnings.m4 b/gl/m4/warnings.m4 index 28b8294..6c97ef1 100644 --- a/gl/m4/warnings.m4 +++ b/gl/m4/warnings.m4 @@ -1,61 +1,176 @@ -# 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 index c7a8b2d..0000000 --- a/gl/m4/wchar_h.m4 +++ /dev/null @@ -1,225 +0,0 @@ -dnl A placeholder for ISO C99 , 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 . - dnl Check for (missing in Linux uClibc when built without wide - dnl character support). - dnl 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: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#if !(defined __GLIBC__ && !defined __UCLIBC__) -# include -# include -# include -#endif -#include - ]], - [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 is usable at all. -AC_DEFUN([gl_WCHAR_H_INLINE_OK], -[ - dnl Test whether suffers due to the transition from '__inline' to - dnl 'gnu_inline'. See - dnl and . 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 . - AC_CACHE_CHECK([whether 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: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -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: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -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([ 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 - , 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]) -]) diff --git a/m4/wchar_t.m4 b/gl/m4/wchar_t.m4 similarity index 62% rename from m4/wchar_t.m4 rename to gl/m4/wchar_t.m4 index ed804e6..9435357 100644 --- a/m4/wchar_t.m4 +++ b/gl/m4/wchar_t.m4 @@ -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 - 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 + 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 index 0000000..21350f5 --- /dev/null +++ b/gl/m4/wint_t.m4 @@ -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 has the 'wint_t' type and whether gnulib's +dnl or 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 + 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 or 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 + 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 index 0000000..eed5ecb --- /dev/null +++ b/gl/m4/zzgnulib.m4 @@ -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 index 0000000..e75c72d --- /dev/null +++ b/gl/malloca.c @@ -0,0 +1,135 @@ +/* Safe automatic memory allocation. + Copyright (C) 2003, 2006-2007, 2009-2024 Free Software Foundation, Inc. + Written by Bruno Haible , 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 . */ + +#define _GL_USE_STDLIB_ALLOC 1 +#include + +/* Specification. */ +#include "malloca.h" + +#include +#if defined __CHERI_PURE_CAPABILITY__ +# include +#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: + */ diff --git a/lib/gltests/malloca.h b/gl/malloca.h similarity index 57% rename from lib/gltests/malloca.h rename to gl/malloca.h index 0cedf5f..c520842 100644 --- a/lib/gltests/malloca.h +++ b/gl/malloca.h @@ -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 , 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #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 #include #include +#include +#if defined __CHERI_PURE_CAPABILITY__ +# include +#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 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 */ diff --git a/gl/msvc-inval.c b/gl/msvc-inval.c index ba76a7e..da3fc86 100644 --- a/gl/msvc-inval.c +++ b/gl/msvc-inval.c @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #include @@ -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, diff --git a/gl/msvc-inval.h b/gl/msvc-inval.h index eb6930b..7aee6e5 100644 --- a/gl/msvc-inval.h +++ b/gl/msvc-inval.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #ifndef _MSVC_INVAL_H #define _MSVC_INVAL_H @@ -52,6 +52,11 @@ 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 - . + . 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 - . + . With __try/__except, we can use the multithread-safe exception handling. */ # ifdef __cplusplus diff --git a/gl/msvc-nothrow.c b/gl/msvc-nothrow.c index e5cf181..06b35a6 100644 --- a/gl/msvc-nothrow.c +++ b/gl/msvc-nothrow.c @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #include @@ -24,7 +24,9 @@ #define WIN32_LEAN_AND_MEAN #include -#include "msvc-inval.h" +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +# include "msvc-inval.h" +#endif #undef _get_osfhandle diff --git a/gl/msvc-nothrow.h b/gl/msvc-nothrow.h index 2b71945..dc6dd35 100644 --- a/gl/msvc-nothrow.h +++ b/gl/msvc-nothrow.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #ifndef _MSVC_NOTHROW_H #define _MSVC_NOTHROW_H @@ -25,7 +25,12 @@ 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 diff --git a/gltests/open.c b/gl/open.c similarity index 61% rename from gltests/open.c rename to gl/open.c index 27801b9..e690c9e 100644 --- a/gltests/open.c +++ 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ @@ -27,16 +27,26 @@ #include #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 , otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include above. */ -#include "fcntl.h" +# include "fcntl.h" +#else +# include +#endif + +#include "cloexec.h" #include #include @@ -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 - 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 + : + "A pathname that contains at least one non- character and that + ends with one or more trailing characters shall not be resolved + successfully unless the last pathname component before the trailing + 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 - says that it - fails with errno = EISDIR in this case. + + 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 - 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 + : + "A pathname that contains at least one non- character and that + ends with one or more trailing characters shall not be resolved + successfully unless the last pathname component before the trailing + characters names an existing directory" If the named file without the slash is not a directory, open() must fail with ENOTDIR. */ if (fd >= 0) diff --git a/gltests/pathmax.h b/gl/pathmax.h similarity index 69% rename from gltests/pathmax.h rename to gl/pathmax.h index 03db7cb..d6512c6 100644 --- a/gltests/pathmax.h +++ b/gl/pathmax.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #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. - + PATH_MAX is not defined on systems which have no limit on filename length, such as GNU/Hurd. @@ -39,6 +39,11 @@ #endif */ +/* This file uses HAVE_SYS_PARAM_H. */ +# if !_GL_CONFIG_H_INCLUDED +# error "Please include config.h first." +# endif + # include # include @@ -65,10 +70,10 @@ # 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", - + explains that the maximum size of a filename, including the terminating NUL byte, is 260 = 3 + 256 + 1. This is the same value as diff --git a/gl/progname.c b/gl/progname.c index bdd4dd7..db17f5b 100644 --- a/gl/progname.c +++ b/gl/progname.c @@ -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 , 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 . */ + along with this program. If not, see . */ #include diff --git a/gl/progname.h b/gl/progname.h index bb5e989..a61872b 100644 --- a/gl/progname.h +++ b/gl/progname.h @@ -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 , 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 . */ + along with this program. If not, see . */ #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 index 0000000..1ab01f5 --- /dev/null +++ b/gl/stat-time.c @@ -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 . */ + +#include + +#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 index 0000000..3cd8478 --- /dev/null +++ b/gl/stat-time.h @@ -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 . */ + +/* 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 +#include +#include +#include +#include + +_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 + . */ +# 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 index 0000000..ddd6f59 --- /dev/null +++ b/gl/stat-w32.c @@ -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 . */ + +/* Written by Bruno Haible. */ + +#include + +#if defined _WIN32 && ! defined __CYGWIN__ + +/* Attempt to make 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 +# 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 +#include +#include +#include +#include +#include +#include + +/* 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: */ + 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: */ + 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 + */ + DWORD type = GetFileType (h); + if (type == FILE_TYPE_DISK) + { +#if !WIN32_ASSUME_VISTA + if (!initialized) + initialize (); +#endif + + /* st_mode can be determined through + GetFileAttributesEx + + + or through + GetFileInformationByHandle + + + or through + GetFileInformationByHandleEx with argument FileBasicInfo + + + 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 + + + as 64 bits, or through + GetFileInformationByHandleEx with argument FileIdInfo + + + 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 + + or through + GetFileInformationByHandleEx with argument FileNameInfo + + + 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 + + + or through + GetFileInformationByHandleEx with argument FileStandardInfo + + + 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 + + or through + GetFileAttributesEx + + + or through + GetFileInformationByHandle + + + or through + GetFileInformationByHandleEx with argument FileStandardInfo + + + 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 + + or through + GetFileAttributesEx + + + or through + GetFileInformationByHandle + + + or through + GetFileInformationByHandleEx with argument FileBasicInfo + + + 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 + */ + 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 index 0000000..392faed --- /dev/null +++ b/gl/stat-w32.h @@ -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 . */ + +#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 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 . */ + +/* Written by Eric Blake and Bruno Haible. */ + +/* If the user's config.h happens to include , let it include only + the system's here, so that orig_stat doesn't recurse to + rpl_stat. */ +#define __need_system_sys_stat_h +#include + +/* Get the original definition of stat. It might be defined as a macro. */ +#include +#include +#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 , otherwise OSF/1 5.1 DTK cc + eliminates this include because of the preliminary #include + above. */ +# include "sys/stat.h" +#else +# include +#endif + +#include "stat-time.h" + +#include +#include +#include +#include "filename.h" +#include "malloca.h" + +#ifdef WINDOWS_NATIVE +# define WIN32_LEAN_AND_MEAN +# include +# 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 + */ + /* XXX Should we convert to wchar_t* and prepend '\\?\', in order to work + around length limitations + ? */ + + /* POSIX + specifies: "More than two leading characters shall be treated as + a single 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 + + */ + 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 + + + or through + FindFirstFileEx with argument FindExInfoBasic + + + */ + 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 +} diff --git a/gl/stdarg.in.h b/gl/stdarg.in.h index 53104a6..65a3977 100644 --- a/gl/stdarg.in.h +++ b/gl/stdarg.in.h @@ -1,18 +1,18 @@ /* Substitute for and wrapper around . - 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #ifndef _@GUARD_PREFIX@_STDARG_H @@ -27,6 +27,11 @@ #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 index 0000000..9184880 --- /dev/null +++ b/gl/stdckdint.in.h @@ -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 . */ + +#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 */ diff --git a/gl/stddef.in.h b/gl/stddef.in.h index 17fcaea..fa8998d 100644 --- a/gl/stddef.in.h +++ b/gl/stddef.in.h @@ -1,25 +1,25 @@ /* A substitute for POSIX 2008 , 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ /* Written by Eric Blake. */ /* - * POSIX 2008 for platforms that have issues. - * + * POSIX 2008 and ISO C 23 for platforms that have issues. + * */ #if __GNUC__ >= 3 @@ -37,12 +37,18 @@ 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 @@ -50,29 +56,75 @@ # ifndef _@GUARD_PREFIX@_STDDEF_H +/* On AIX 7.2, with xlc in 64-bit mode, 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 @@ -81,6 +133,81 @@ # 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 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 +#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 . */ +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 index 0000000..fea7483 --- /dev/null +++ b/gl/stdint.in.h @@ -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 . */ + +/* + * ISO C 99 for platforms that lack it. + * + */ + +#ifndef _@GUARD_PREFIX@_STDINT_H + +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ + +/* When including a system file that in turn includes , + use the system , not our substitute. This avoids + problems with (for example) VMS, whose includes + . */ +#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H + +/* On Android (Bionic libc), includes this file before + having defined 'time_t'. Therefore in this case avoid including + other system header files; just include the system's . + Ideally we should test __BIONIC__ here, but it is only defined after + 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 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 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 . + Include it before , since any "#include " + in 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 + +/* Override WINT_MIN and WINT_MAX if gnulib's or 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@ + +/* defines some of the stdint.h types as well, on glibc, + IRIX 6.5, and OpenBSD 3.8 (via ). + AIX 5.2 isn't needed and causes troubles. + Mac OS X 10.4.6 includes (which is us), but + relies on the system definitions, so include + after @NEXT_STDINT_H@. */ +# if @HAVE_SYS_TYPES_H@ && ! defined _AIX +# include +# endif + +# if @HAVE_INTTYPES_H@ + /* In OpenBSD 3.8, includes , which defines + int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. + also defines intptr_t and uintptr_t. */ +# include +# elif @HAVE_SYS_INTTYPES_H@ + /* Solaris 7 has the types except the *_fast*_t types, and + the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ +# include +# endif + +# if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__ + /* Linux libc4 >= 4.6.7 and libc5 have a that defines + int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is + included by . */ +# include +# 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 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 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 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 needs its own intptr_t and + uintptr_t to avoid conflicting declarations of system functions like + _findclose in . */ +# 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 + -> -> -> , and the latter includes + 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 +# 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 or 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 index 0000000..253b8aa --- /dev/null +++ b/gl/stdio-read.c @@ -0,0 +1,168 @@ +/* POSIX compatible FILE stream read function. + Copyright (C) 2008-2024 Free Software Foundation, Inc. + Written by Bruno Haible , 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 . */ + +#include + +/* Specification. */ +#include + +/* 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 +# include + +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ +# include + +# if GNULIB_MSVC_NOTHROW +# include "msvc-nothrow.h" +# else +# include +# 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 has prepared it. + Otherwise we get a function definition conflict with mingw64's . */ +# 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 has prepared it. + Otherwise we get a function definition conflict with mingw64's . */ +# 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 has prepared it. + Otherwise we get a function definition conflict with mingw64's . */ +# 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 has prepared it. + Otherwise we get a function definition conflict with mingw64's . */ +# 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 index 0000000..ca6aa00 --- /dev/null +++ b/gl/stdio-write.c @@ -0,0 +1,206 @@ +/* POSIX compatible FILE stream write function. + Copyright (C) 2008-2024 Free Software Foundation, Inc. + Written by Bruno Haible , 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 . */ + +#include + +/* Specification. */ +#include + +/* 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 +# include +# include + +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ +# include + +# if GNULIB_MSVC_NOTHROW +# include "msvc-nothrow.h" +# else +# include +# 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 diff --git a/gltests/stdio.in.h b/gl/stdio.in.h similarity index 58% rename from gltests/stdio.in.h rename to gl/stdio.in.h index b1b543d..4947307 100644 --- a/gltests/stdio.in.h +++ b/gl/stdio.in.h @@ -1,19 +1,19 @@ /* A GNU-like . - 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -36,6 +36,18 @@ #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 +# 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. */ @@ -43,9 +55,21 @@ #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 @@ -56,36 +80,135 @@ May also define off_t to a 64-bit type on native Windows. */ #include +/* Solaris 10 and NetBSD 7.0 declare renameat in , not in . */ +/* But in any case avoid namespace pollution on glibc systems. */ +#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && (defined __sun || defined __NetBSD__) \ + && ! defined __GLIBC__ +# include +#endif + +/* Android 4.3 declares renameat in , not in . */ +/* But in any case avoid namespace pollution on glibc systems. */ +#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \ + && ! defined __GLIBC__ +# include +#endif + +/* MSVC declares 'perror' in , not in . 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 +#endif + +/* MSVC declares 'remove' in , not in . We must include + it before we #define remove rpl_remove. */ +/* MSVC declares 'rename' in , not in . 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 +#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, @@ -106,14 +229,6 @@ #define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument) \ _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument)) -/* Solaris 10 declares renameat in , not in . */ -/* But in any case avoid namespace pollution on glibc systems. */ -#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __sun \ - && ! defined __GLIBC__ -# include -#endif - - /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ @@ -124,25 +239,66 @@ #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., + . + 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 - , +/* Work around bug 11959 when fortifying glibc 2.4 through 2.15 + , 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 index 0000000..5f92905 --- /dev/null +++ b/gl/stdlib.in.h @@ -0,0 +1,1851 @@ +/* A GNU-like . + + 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 . */ + +#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 + +/* MirBSD 10 defines WEXITSTATUS in , not in . */ +#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS +# include +#endif + +/* Solaris declares getloadavg() in . */ +#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@ +/* OpenIndiana has a bug: must be included before + . */ +# include +# include +#endif + +/* Native Windows platforms declare _mktemp() in . */ +#if defined _WIN32 && !defined __CYGWIN__ +# include +#endif + +#if @GNULIB_RANDOM_R@ + +/* OSF/1 5.1 declares 'struct random_data' in , which is included + from if _REENTRANT is defined. Include it whenever we need + 'struct random_data'. */ +# if @HAVE_RANDOM_H@ +# include +# endif + +# include + +# if !@HAVE_STRUCT_RANDOM_DATA@ +/* Define 'struct random_data'. + But allow multiple gnulib generated 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 declares mkstemp. */ +/* On Mac OS X 10.5, only declares mkstemps. */ +/* On Mac OS X 10.13, only declares mkostemp and mkostemps. */ +/* On Cygwin 1.7.1, only declares getsubopt. */ +/* But avoid namespace pollution on glibc systems and native Windows. */ +# include +#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 ) + 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 ) + 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 diff --git a/gl/strerror-override.c b/gl/strerror-override.c index 9ca6523..b9c1c7a 100644 --- a/gl/strerror-override.c +++ b/gl/strerror-override.c @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ /* Written by Bruno Haible , 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 */ +# if GNULIB_defined_ESOCK /* native Windows platforms with older */ 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 */ 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 diff --git a/gl/strerror-override.h b/gl/strerror-override.h index 09526ea..872fa7d 100644 --- a/gl/strerror-override.h +++ b/gl/strerror-override.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #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 # include @@ -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 \ @@ -43,10 +49,14 @@ || 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 */ diff --git a/gl/strerror.c b/gl/strerror.c index 587bd21..6b760ff 100644 --- a/gl/strerror.c +++ b/gl/strerror.c @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #include @@ -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; } diff --git a/gl/string.in.h b/gl/string.in.h index f8d7520..66be871 100644 --- a/gl/string.in.h +++ b/gl/string.in.h @@ -1,33 +1,56 @@ /* A GNU-like . - 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 . */ - -#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 . */ #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" + 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 @@ -36,14 +59,6 @@ # include #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 , not in . */ /* But in any case avoid namespace pollution on glibc systems. */ #if (@GNULIB_STRSIGNAL@ || defined GNULIB_POSIXCHECK) && defined __NetBSD__ \ @@ -51,12 +66,149 @@ # include #endif +/* AIX 7.2 and Android 13 declare ffsl and ffsll in , not in + . */ +/* 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 +#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 */ +# 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 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 diff --git a/gltests/sys_stat.in.h b/gl/sys_stat.in.h similarity index 56% rename from gltests/sys_stat.in.h rename to gl/sys_stat.in.h index 2efc1e9..bf08f33 100644 --- a/gltests/sys_stat.in.h +++ b/gl/sys_stat.in.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ /* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ @@ -25,6 +25,13 @@ #endif @PRAGMA_COLUMNS@ +/* This file uses #include_next of a system file that defines time_t. + For the 'year2038' module to work right, 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. */ @@ -48,22 +55,58 @@ #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 + , not in . */ +#ifdef __KLIBC__ +# include +#endif + /* Before doing "#define mkdir rpl_mkdir" below, we need to include all headers that may declare mkdir(). Native Windows platforms declare mkdir - in and/or , not in . */ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + in and/or , not in . */ +#if defined _WIN32 && ! defined __CYGWIN__ # include /* mingw32, mingw64 */ # include /* mingw64, MSVC 9 */ #endif /* Native Windows platforms declare umask() in . */ -#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +#if 0 && (defined _WIN32 && ! defined __CYGWIN__) # include #endif @@ -72,6 +115,75 @@ # 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 @@ -150,6 +262,10 @@ # 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) @@ -295,11 +411,11 @@ # 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 @@ -311,14 +427,70 @@ #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 and , 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 diff --git a/gl/sys_types.in.h b/gl/sys_types.in.h index 8139d98..0a0ccc3 100644 --- a/gl/sys_types.in.h +++ b/gl/sys_types.in.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #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, 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 @@ -40,12 +60,54 @@ # 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 , not in . */ /* But avoid namespace pollution on glibc systems. */ -#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \ - && ! defined __GLIBC__ +#if (defined _WIN32 && ! defined __CYGWIN__) && ! defined __GLIBC__ # include #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 index 0000000..58e103a --- /dev/null +++ b/gl/time.in.h @@ -0,0 +1,583 @@ +/* A more-standard . + + 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 . */ + +#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, 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 eventually includes itself + recursively; if that is happening, just include the system + 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 provides the functions asctime_r, ctime_r, gmtime_r, + localtime_r only if or has been included before. */ +# if defined __MINGW32__ +# include +# 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 + +/* 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 + (e.g., FreeBSD circa 1997). Stock Mingw prior to 3.0 does not define it, + but the pthreads-win32 library defines it in . */ +# if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@ +# if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +# include +# elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ +# include +# elif @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ +# include +# 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 + . */ +# 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 + and + . */ +# 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 + and + . */ +# 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 + . */ +# 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 + . */ +# 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 + . */ +# 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 index 0000000..f3b3f7b --- /dev/null +++ b/gl/unistd.c @@ -0,0 +1,22 @@ +/* Inline functions for . + + 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 . */ + +#include + +#define _GL_UNISTD_INLINE _GL_EXTERN_INLINE +#include +typedef int dummy; diff --git a/gl/unistd.in.h b/gl/unistd.in.h index 9115486..b412966 100644 --- a/gl/unistd.in.h +++ b/gl/unistd.in.h @@ -1,45 +1,61 @@ /* Substitute for and wrapper around . - 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#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 , include , - but we need to ensure that both the system and - are completely included before we replace gethostname. */ -#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \ - && !defined _GL_WINSOCK2_H_WITNESS && defined _WINSOCK2_H -/* is being indirectly included for the first time from - ; 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 + -> -> -> + 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 . + This bug is fixed after FreeBSD 13; see . + 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 +# endif +# if (!defined MAC_OS_X_VERSION_MIN_REQUIRED \ + || MAC_OS_X_VERSION_MIN_REQUIRED < 99990000) +# include /* It also defines the two macros. */ +# undef SEEK_DATA +# undef SEEK_HOLE +# endif #endif /* Get all possible declarations of gethostname(). */ @@ -53,22 +69,37 @@ #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 +/* But avoid namespace pollution on glibc systems. */ +#ifndef __GLIBC__ +# include +#endif /* mingw doesn't define the SEEK_* or *_FILENO macros in . */ +/* MSVC declares 'unlink' in , not in . We must include + it before we #define unlink rpl_unlink. */ /* Cygwin 1.7.1 declares symlinkat in , not in . */ /* 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 #endif -/* Cygwin 1.7.1 declares unlinkat in , not in . */ +/* Cygwin 1.7.1 and Android 4.3 declare unlinkat in , not in + . */ /* 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 #endif @@ -77,25 +108,27 @@ /* mingw, MSVC, BeOS, Haiku declare environ in , not in . */ /* Solaris declares getcwd not only in but also in . */ +/* OSF Tru64 Unix cannot see gnulib rpl_strtod when system is + included here. */ /* But avoid namespace pollution on glibc systems. */ -#ifndef __GLIBC__ +#if !defined __GLIBC__ && !defined __osf__ +# define __need_system_stdlib_h # include +# undef __need_system_stdlib_h #endif -/* Native Windows platforms declare chdir, getcwd, rmdir in +/* Native Windows platforms declare _chdir, _getcwd, _rmdir in and/or , not in . - They also declare access(), chmod(), close(), dup(), dup2(), isatty(), - lseek(), read(), unlink(), write() in . */ -#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \ - || defined GNULIB_POSIXCHECK) \ - && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) -# include /* mingw32, mingw64 */ -# include /* 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 . */ +#if defined _WIN32 && !defined __CYGWIN__ # include +# include +#endif + +/* Native Windows platforms declare _execl*, _execv* in . */ +#if defined _WIN32 && !defined __CYGWIN__ +# include #endif /* AIX and OSF/1 5.1 declare getdomainname in , not in . @@ -107,25 +140,28 @@ # include #endif -/* MSVC defines off_t in . - 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 +/* Mac OS X 10.13, Solaris 11.4, and Android 9.0 declare getentropy in + , not in . */ +/* 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 #endif -#if (@GNULIB_READ@ || @GNULIB_WRITE@ \ - || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \ - || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK) -/* Get ssize_t. */ -# include +/* Android 4.3 declares fchownat in , not in . */ +/* But avoid namespace pollution on glibc systems. */ +#if (@GNULIB_FCHOWNAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \ + && !defined __GLIBC__ +# include #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 -#endif +/* MSVC defines off_t in . + May also define off_t to a 64-bit type on native Windows. */ +/* Get off_t, ssize_t, mode_t. */ +#include /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -134,6 +170,17 @@ /* 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 +# include +#endif + +_GL_INLINE_HEADER_BEGIN +#ifndef _GL_UNISTD_INLINE +# define _GL_UNISTD_INLINE _GL_INLINE +#endif + /* Hide some function declarations from . */ #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ @@ -233,15 +280,61 @@ /* 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 - " "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 - " to GID (if GID is not -1). Follow symbolic links. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2008 specification - . */ + . */ # 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 - . */ -# if @HAVE_DUP3@ + . */ +# 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 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 +# if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR +# define _GL_USE_CRT_EXTERNS +# endif +# endif +# ifdef _GL_USE_CRT_EXTERNS # include # 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 - . */ -# if ! @HAVE_FCHDIR@ + . */ +# 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 - . */ -# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@ + . */ +# 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 - . */ + . */ # 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 - . */ + . */ # 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 - . - 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. */ + . + 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 . + See . 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 . + See . 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 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 - . */ + . */ # 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 - . */ + . */ # 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 - . */ + . */ # 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 - . */ -# if @HAVE_PIPE2@ + . */ +# 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 - . */ + . */ # 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 - . */ + . */ # 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 - . */ + . */ # 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 - . */ + . */ # 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 - . */ + . */ # 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 + . */ +# 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 - . */ + . */ # 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 - . */ + . */ # 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 */ diff --git a/gl/verify.h b/gl/verify.h index cef14ad..08268c2 100644 --- a/gl/verify.h +++ b/gl/verify.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ /* 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 , included by 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 +# 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 @@ -125,7 +136,7 @@ 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. @@ -133,108 +144,231 @@ 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 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 + . */ +# 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 + . 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 +# 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@ */ diff --git a/gl/version-etc.c b/gl/version-etc.c index ae1e44d..45d0c93 100644 --- a/gl/version-etc.c +++ b/gl/version-etc.c @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ /* Written by Jim Meyering. */ @@ -23,7 +23,6 @@ #include #include -#include #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 .\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: \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: \n"), - stdout); + printf (_("General help using GNU software: <%s>\n"), + "https://www.gnu.org/gethelp/"); } diff --git a/gl/version-etc.h b/gl/version-etc.h index 5548c02..505d2fa 100644 --- a/gl/version-etc.h +++ b/gl/version-etc.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ /* 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 # include -/* 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 index 0000000..8f4d40d --- /dev/null +++ b/gl/warn-on-use.h @@ -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 . */ + +/* _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 ]], + [getline]) in configure.ac, which potentially defines + HAVE_RAW_DECL_GETLINE + - adding this code to a header that wraps the system : + #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 index 0000000..0b7bb2c --- /dev/null +++ b/gl/xalloc-oversized.h @@ -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 . */ + +#ifndef XALLOC_OVERSIZED_H_ +#define XALLOC_OVERSIZED_H_ + +#include +#include + +/* 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 index 75bfa9d..0000000 --- a/gltests/Makefile.am +++ /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 . -# -# 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 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 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 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 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 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 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 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 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 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 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 index 78790e6..0000000 --- a/gltests/Makefile.in +++ /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 . -# -# 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 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 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 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 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 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 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 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 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 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 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 index e94eb68..0000000 --- a/gltests/alloca.in.h +++ /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 - . - */ - -/* 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 -# define alloca _alloca -# elif defined __DECC && defined __VMS -# define alloca __ALLOCA -# else -# include -# 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 index a33e32a..0000000 --- a/gltests/binary-io.h +++ /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 . */ - -#ifndef _BINARY_H -#define _BINARY_H - -/* For systems that distinguish between text and binary I/O. - O_BINARY is guaranteed by the gnulib . */ -#include - -/* The MSVC7 doesn't like to be included after '#define fileno ...', - so we include it here first. */ -#include - -/* 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 /* 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 /* 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 index 0468ce4..0000000 --- a/gltests/dosname.h +++ /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 . - - 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 index f6d0f1c..0000000 --- a/gltests/dup2.c +++ /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 . */ - -/* written by Paul Eggert */ - -#include - -/* Specification. */ -#include - -#include -#include - -#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 - -# 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 index 6595b16..0000000 --- a/gltests/fdopen.c +++ /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 . */ - -#include - -/* Specification. */ -#include - -#include - -#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 index ac2b1ef..0000000 --- a/gltests/fstat.c +++ /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 . */ - -/* If the user's config.h happens to include , let it include only - the system's here, so that orig_fstat doesn't recurse to - rpl_fstat. */ -#define __need_system_sys_stat_h -#include - -/* Get the original definition of fstat. It might be defined as a macro. */ -#include -#include -#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 , otherwise OSF/1 5.1 DTK cc - eliminates this include because of the preliminary #include - above. */ -#include "sys/stat.h" - -#include -#include - -#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 index f1e821b..0000000 --- a/gltests/getcwd-lgpl.c +++ /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 . */ - -#include - -/* Specification */ -#include - -#include -#include - -#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 index 2e34435..0000000 --- a/gltests/ignore-value.h +++ /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 . */ - -/* 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 index f525a7c..0000000 --- a/gltests/init.sh +++ /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 . - -# 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 index db119a1..0000000 --- a/gltests/lstat.c +++ /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 . */ - -/* written by Jim Meyering */ - -/* If the user's config.h happens to include , let it include only - the system's here, so that orig_lstat doesn't recurse to - rpl_lstat. */ -#define __need_system_sys_stat_h -#include - -#if !HAVE_LSTAT -/* On systems that lack symlinks, our replacement 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 -# include -# 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 , otherwise OSF/1 5.1 DTK cc - eliminates this include because of the preliminary #include - above. */ -# include "sys/stat.h" - -# include -# include - -/* 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 index 478004c..0000000 --- a/gltests/macros.h +++ /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 . */ - - -/* 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 -#include - -/* 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 .) - - 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 index e0d5c89..0000000 --- a/gltests/malloc.c +++ /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 . */ - -/* written by Jim Meyering and Bruno Haible */ - -#define _GL_USE_STDLIB_ALLOC 1 -#include -/* 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 - -#include - -/* 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 index 1f7533a..0000000 --- a/gltests/malloca.c +++ /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 , 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 . */ - -#define _GL_USE_STDLIB_ALLOC 1 -#include - -/* Specification. */ -#include "malloca.h" - -#include - -#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 index 0cedf5f..0000000 --- a/gltests/malloca.h +++ /dev/null @@ -1,133 +0,0 @@ -/* Safe automatic memory allocation. - Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc. - Written by Bruno Haible , 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 . */ - -#ifndef _MALLOCA_H -#define _MALLOCA_H - -#include -#include -#include - - -#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 struct sa_alignof_helper { char __slot1; type __slot2; }; -# define sa_alignof(type) offsetof (sa_alignof_helper, __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 index 52f0a50..0000000 --- a/gltests/malloca.valgrind +++ /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 index 3c0f7ea..0000000 --- a/gltests/putenv.c +++ /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 . */ - -#include - -/* Specification. */ -#include - -#include - -/* Include errno.h *after* sys/types.h to work around header problems - on AIX 3.2.5. */ -#include -#ifndef __set_errno -# define __set_errno(ev) ((errno) = (ev)) -#endif - -#include -#include - -#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 -__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 index 8c3900d..0000000 --- a/gltests/same-inode.h +++ /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 . */ - -#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 index 8201be2..0000000 --- a/gltests/setenv.c +++ /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 . */ - -#if !_LIBC -# define _GL_USE_STDLIB_ALLOC 1 -# include -#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 - -/* Specification. */ -#include - -#include -#ifndef __set_errno -# define __set_errno(ev) ((errno) = (ev)) -#endif - -#include -#if _LIBC || HAVE_UNISTD_H -# include -#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 -__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 -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 index d9d8b47..0000000 --- a/gltests/signature.h +++ /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 . */ - -#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 - 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 - #include - #include "signature.h" - SIGNATURE_CHECK (foo, int, (char, float)); - #include - ... -*/ -# 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 index 1fc633e..0000000 --- a/gltests/stat.c +++ /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 . */ - -/* written by Eric Blake */ - -/* If the user's config.h happens to include , let it include only - the system's here, so that orig_stat doesn't recurse to - rpl_stat. */ -#define __need_system_sys_stat_h -#include - -/* Get the original definition of stat. It might be defined as a macro. */ -#include -#include -#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 , otherwise OSF/1 5.1 DTK cc - eliminates this include because of the preliminary #include - above. */ -#include "sys/stat.h" - -#include -#include -#include -#include -#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 index ed1f9aa..0000000 --- a/gltests/stdbool.in.h +++ /dev/null @@ -1,121 +0,0 @@ -/* Copyright (C) 2001-2003, 2006-2012 Free Software Foundation, Inc. - Written by Bruno Haible , 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 . */ - -#ifndef _GL_STDBOOL_H -#define _GL_STDBOOL_H - -/* ISO C 99 for platforms that lack it. */ - -/* Usage suggestions: - - Programs that use should be aware of some limitations - and standards compliance issues. - - Standards compliance: - - - 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: - - - 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 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 /* 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 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 index 59c00d5..0000000 --- a/gltests/stdint.in.h +++ /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 . */ - -/* - * ISO C 99 for platforms that lack it. - * - */ - -#ifndef _@GUARD_PREFIX@_STDINT_H - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif -@PRAGMA_COLUMNS@ - -/* When including a system file that in turn includes , - use the system , not our substitute. This avoids - problems with (for example) VMS, whose includes - . */ -#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H - -/* On Android (Bionic libc), includes this file before - having defined 'time_t'. Therefore in this case avoid including - other system header files; just include the system's . - Ideally we should test __BIONIC__ here, but it is only defined after - 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 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 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 . - Include it before , since any "#include " - in 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 - -/* defines some of the stdint.h types as well, on glibc, - IRIX 6.5, and OpenBSD 3.8 (via ). - AIX 5.2 isn't needed and causes troubles. - MacOS X 10.4.6 includes (which is us), but - relies on the system definitions, so include - after @NEXT_STDINT_H@. */ -#if @HAVE_SYS_TYPES_H@ && ! defined _AIX -# include -#endif - -/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX, - LONG_MIN, LONG_MAX, ULONG_MAX. */ -#include - -#if @HAVE_INTTYPES_H@ - /* In OpenBSD 3.8, includes , which defines - int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. - also defines intptr_t and uintptr_t. */ -# include -#elif @HAVE_SYS_INTTYPES_H@ - /* Solaris 7 has the types except the *_fast*_t types, and - the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ -# include -#endif - -#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__ - /* Linux libc4 >= 4.6.7 and libc5 have a that defines - int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is - included by . */ -# include -#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 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 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 - -> -> -> , and the latter includes - 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: , and must be - included before . */ -# include -# include -# include -# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H -# include -# 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 index b546133..0000000 --- a/gltests/stdlib.in.h +++ /dev/null @@ -1,928 +0,0 @@ -/* A GNU-like . - - 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 . */ - -#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 - -/* MirBSD 10 defines WEXITSTATUS in , not in . */ -#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS -# include -#endif - -/* Solaris declares getloadavg() in . */ -#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@ -# include -#endif - -/* Native Windows platforms declare mktemp() in . */ -#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) -# include -#endif - -#if @GNULIB_RANDOM_R@ - -/* OSF/1 5.1 declares 'struct random_data' in , which is included - from if _REENTRANT is defined. Include it whenever we need - 'struct random_data'. */ -# if @HAVE_RANDOM_H@ -# include -# endif - -# if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@ -# include -# endif - -# if !@HAVE_STRUCT_RANDOM_DATA@ -/* Define 'struct random_data'. - But allow multiple gnulib generated 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 declares mkstemp. */ -/* On MacOS X 10.5, only declares mkstemps. */ -/* On Cygwin 1.7.1, only declares getsubopt. */ -/* But avoid namespace pollution on glibc systems and native Windows. */ -# include -#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 ) - 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 ) - 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 index 642ca66..0000000 --- a/gltests/symlink.c +++ /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 . */ - -#include - -/* Specification. */ -#include - -#include -#include -#include - - -#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 index 4e814c6..0000000 --- a/gltests/test-alloca-opt.c +++ /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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#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 index 4f284e7..0000000 --- a/gltests/test-binary-io.c +++ /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 . */ - -/* Written by Bruno Haible , 2005. */ - -#include - -#include "binary-io.h" - -#include -#include -#include -#include -#include -#include - -#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 index c4dd6e9..0000000 --- a/gltests/test-binary-io.sh +++ /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 index 83f71c0..0000000 --- a/gltests/test-close.c +++ /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 . */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (close, int, (int)); - -#include - -#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 index 5043c0c..0000000 --- a/gltests/test-dup2.c +++ /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 . */ - -/* Written by Eric Blake , 2009. */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (dup2, int, (int, int)); - -#include -#include - -#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 -/* 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 index 972ed06..0000000 --- a/gltests/test-environ.c +++ /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 . */ - -/* Written by Bruno Haible , 2008. */ - -#include - -#include - -#include - -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 index d9a030f..0000000 --- a/gltests/test-errno.c +++ /dev/null @@ -1,117 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 2008. */ - -#include - -#include - -/* 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 index 8e2f7bf..0000000 --- a/gltests/test-fdopen.c +++ /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 . */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (fdopen, FILE *, (int, const char *)); - -#include - -#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 index f7ebbc6..0000000 --- a/gltests/test-fgetc.c +++ /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 . */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (fgetc, int, (FILE *)); - -#include -#include -#include - -#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 index fd92ae8..0000000 --- a/gltests/test-fputc.c +++ /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 . */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (fputc, int, (int, FILE *)); - -#include -#include -#include - -#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 index 792299b..0000000 --- a/gltests/test-fread.c +++ /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 . */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (fread, size_t, (void *, size_t, size_t, FILE *)); - -#include -#include -#include - -#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 index 7f3c3c4..0000000 --- a/gltests/test-fstat.c +++ /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 . */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (fstat, int, (int, struct stat *)); - -#include - -#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 index 1f3a66d..0000000 --- a/gltests/test-fwrite.c +++ /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 . */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (fwrite, size_t, (const void *, size_t, size_t, FILE *)); - -#include -#include -#include - -#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 index 3010760..0000000 --- a/gltests/test-getcwd-lgpl.c +++ /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 . */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (getcwd, char *, (char *, size_t)); - -#include -#include -#include -#include - -#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 index e08a834..0000000 --- a/gltests/test-getopt.c +++ /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 . */ - -/* Written by Bruno Haible , 2009. */ - -#include - -/* 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 - -# 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 - -#include "signature.h" -SIGNATURE_CHECK (getopt, int, (int, char * const[], char const *)); - -#include -#include -#include - -/* 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 index 978b753..0000000 --- a/gltests/test-getopt.h +++ /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 . */ - -/* Written by Bruno Haible , 2009. */ - -#include - -/* 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 index 9d55c65..0000000 --- a/gltests/test-getopt_long.h +++ /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 . */ - -/* Written by Bruno Haible , 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 index f036134..0000000 --- a/gltests/test-ignore-value.c +++ /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 . */ - -/* Written by Eric Blake. */ - -#include - -#include "ignore-value.h" - -#include - -#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 index a2825cc..0000000 --- a/gltests/test-init.sh +++ /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 . */ - -: ${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 index aeb1168..0000000 --- a/gltests/test-intprops.c +++ /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 . */ - -/* 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 - -#include "intprops.h" -#include "verify.h" - -#include -#include - -#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 - . */ -#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__RANGE_OVERFLOW tests are equally valid as - INT__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__RANGE_OVERFLOW, INT__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__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 index 698d3dc..0000000 --- a/gltests/test-inttypes.c +++ /dev/null @@ -1,118 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#include - -/* 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 index 459bf88..0000000 --- a/gltests/test-lstat.c +++ /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 . */ - -/* Written by Simon Josefsson, 2008; and Eric Blake, 2009. */ - -#include - -#include - -/* 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 -#include -#include -#include -#include -#include - -#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 index 4a81494..0000000 --- a/gltests/test-lstat.h +++ /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 . */ - -/* 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 index d7732c3..0000000 --- a/gltests/test-malloca.c +++ /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 . */ - -/* Written by Bruno Haible , 2005. */ - -#include - -#include "malloca.h" - -#include - -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 index b9ec9bf..0000000 --- a/gltests/test-open.c +++ /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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (open, int, (char const *, int, ...)); - -#include -#include -#include -#include - -#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 index cab1d27..0000000 --- a/gltests/test-open.h +++ /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 . */ - -/* Written by Bruno Haible , 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 index c6d0ccc..0000000 --- a/gltests/test-pathmax.c +++ /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 . */ - -/* Written by Bruno Haible , 2011. */ - -#include - -#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 index 4752a11..0000000 --- a/gltests/test-setenv.c +++ /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 . */ - -/* Written by Eric Blake , 2009. */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (setenv, int, (char const *, char const *, int)); - -#include -#include -#include - -#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 index db9adf9..0000000 --- a/gltests/test-stat.c +++ /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 . */ - -/* Written by Eric Blake , 2009. */ - -#include - -#include - -/* 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 -#include -#include -#include -#include - -#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 index 2c9afc0..0000000 --- a/gltests/test-stat.h +++ /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 . */ - -/* Written by Eric Blake , 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 index c22ca1f..0000000 --- a/gltests/test-stdbool.c +++ /dev/null @@ -1,118 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 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 - -#include - -#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 , 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 index d7237b3..0000000 --- a/gltests/test-stddef.c +++ /dev/null @@ -1,52 +0,0 @@ -/* Test of 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 . */ - -/* Written by Eric Blake , 2009. */ - -#include - -#include - -#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 index 23b2b28..0000000 --- a/gltests/test-stdint.c +++ /dev/null @@ -1,359 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 2006. */ - -#include - -/* Whether to enable pedantic checks. */ -#define DO_PEDANTIC 0 - -#include - -#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 - -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 - -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 - -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 index 7bd67c2..0000000 --- a/gltests/test-stdio.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#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 index 33dd901..0000000 --- a/gltests/test-strerror.c +++ /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 . */ - -/* Written by Eric Blake , 2007. */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (strerror, char *, (int)); - -#include - -#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 index b3caac9..0000000 --- a/gltests/test-symlink.c +++ /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 . */ - -/* Written by Eric Blake , 2009. */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (symlink, int, (char const *, char const *)); - -#include -#include -#include -#include -#include -#include - -#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 index a7c4079..0000000 --- a/gltests/test-symlink.h +++ /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 . */ - -/* Written by Eric Blake , 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 index c2af992..0000000 --- a/gltests/test-sys_types.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 2011. */ - -#include - -#include - -/* 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 index 926526d..0000000 --- a/gltests/test-unsetenv.c +++ /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 . */ - -/* Written by Eric Blake , 2009. */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (unsetenv, int, (char const *)); - -#include -#include -#include - -#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 index 68b0a0f..0000000 --- a/gltests/test-vc-list-files-cvs.sh +++ /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 . */ - -: ${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 index 1ea6d89..0000000 --- a/gltests/test-vc-list-files-git.sh +++ /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 . */ - -: ${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 index 5ab9c58..0000000 --- a/gltests/test-verify.c +++ /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 . */ - -/* Written by Bruno Haible. */ - -#include - -#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 index 3e76761..0000000 --- a/gltests/test-verify.sh +++ /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 index 36ced60..0000000 --- a/gltests/test-version-etc.c +++ /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 . */ - -#include - -#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 index 945383b..0000000 --- a/gltests/test-version-etc.sh +++ /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 . - -TMP=ve-expected.tmp -LC_ALL=C -export LC_ALL -ERR=0 - -cat > $TMP <. -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 index 04cde05..0000000 --- a/gltests/time.in.h +++ /dev/null @@ -1,248 +0,0 @@ -/* A more-standard . - - 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 . */ - -#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 eventually includes itself - recursively; if that is happening, just include the system - 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 - -/* 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 - (e.g., FreeBSD circa 1997). Stock Mingw does not define it, but the - pthreads-win32 library defines it in . */ -# if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@ -# if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ -# include -# elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ -# include -/* The pthreads-win32 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 - . */ -# 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 - and - . */ -# 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 - . */ -# 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 index ddbe9a4..0000000 --- a/gltests/unsetenv.c +++ /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 . */ - -#include - -/* 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 - -#include -#if !_LIBC -# define __set_errno(ev) ((errno) = (ev)) -#endif - -#include -#include - -#if !_LIBC -# define __environ environ -#endif - -#if _LIBC -/* This lock protects against simultaneous modifications of 'environ'. */ -# include -__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 index c452f40..0000000 --- a/gltests/version-etc-fsf.c +++ /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 . */ - -/* Written by Jim Meyering. */ - -#include - -/* 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 index f9bc30c..0000000 --- a/gltests/wchar.in.h +++ /dev/null @@ -1,1028 +0,0 @@ -/* A substitute for ISO C99 , 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 . */ - -/* Written by Eric Blake. */ - -/* - * ISO C 99 for platforms that have issues. - * - * - * 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 - -> -> , and the latter includes , - once indirectly -> -> -> - 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 . - - On IRIX 6.5, similarly, we have an include -> , and - the latter includes . But here, we have no way to detect whether - 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 /* for __GLIBC__ */ -#endif - -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . - In some builds of uClibc, is nonexistent and wchar_t is defined - by . - But avoid namespace pollution on glibc systems. */ -#if !(defined __GLIBC__ && !defined __UCLIBC__) -# include -#endif -#ifndef __GLIBC__ -# include -# include -#endif - -/* Include the original 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 . - 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 -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 diff --git a/gtk-doc.make b/gtk-doc.make index 1f75dfd..c673175 100644 --- a/gtk-doc.make +++ b/gtk-doc.make @@ -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 . #################################### # 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 ""; \ + echo ""; \ + echo ""; \ + echo ""; \ + echo ""; \ + echo ""; \ + echo ""; \ + ) > $@ + #### 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 index 0000000..d645695 --- /dev/null +++ b/java/LICENSE-2.0.txt @@ -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. diff --git a/java/Makefile.am b/java/Makefile.am index 5f9739e..81e1d80 100644 --- a/java/Makefile.am +++ b/java/Makefile.am @@ -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,29 +14,52 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . -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) diff --git a/java/Makefile.in b/java/Makefile.in index b468205..60b6e32 100644 --- a/java/Makefile.in +++ b/java/Makefile.in @@ -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. # @@ -30,9 +29,64 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . 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 index 5d1d34c..0000000 --- a/java/gnu/Makefile.in +++ /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 . -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 index a658d5d..0000000 --- a/java/gnu/inet/Makefile.in +++ /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 . -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 index 2541d68..0000000 --- a/java/gnu/inet/encoding/Makefile.in +++ /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 . -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 index 80ee5711392edcfa944dac1cb4e63cab94532f34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150609 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≪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%0D;VNgjaNV(OeRsmql|UfWWD( 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 diff --git a/java/misc/Makefile.in b/java/misc/Makefile.in deleted file mode 100644 index 0f4bc18..0000000 --- a/java/misc/Makefile.in +++ /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 . -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 index 0000000..dc14bc1 --- /dev/null +++ b/java/pom.xml.in @@ -0,0 +1,112 @@ + + + 4.0.0 + org.gnu.inet + libidn + GNU IDN Library + @VERSION@ + + + 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. + + + + UTF-8 + 1.5 + 1.5 + true + true + + + https://www.gnu.org/software/libidn/ + + 2002 + + + + GNU Lesser General Public License version 3.0 or later + https://www.gnu.org/licenses/licenses.html + repo + + + + + scm:git:git://git.savannah.gnu.org/libidn.git + http://git.savannah.gnu.org/gitweb/?p=libidn.git + + + + GNU + https://www.gnu.org/ + + + + + com.google.code.findbugs + annotations + 2.0.1 + provided + + + + junit + junit + 4.11 + test + + + + com.google.guava + guava + 14.0.1 + test + + + + com.google.caliper + caliper + 0.5-rc1 + test + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.14.1 + + + + + + + caliper + + + + maven-surefire-plugin + + + **/Caliper*.java + + + + + + + + + diff --git a/tests/libidn.supp b/java/src/Makefile.am similarity index 59% rename from tests/libidn.supp rename to java/src/Makefile.am index 7da3445..b052905 100644 --- a/tests/libidn.supp +++ b/java/src/Makefile.am @@ -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. # @@ -14,22 +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 . +# along with this program. If not, see . -{ - 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 index 0000000..aeab7d5 --- /dev/null +++ b/java/src/Makefile.in @@ -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 . +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 index 0000000..46a5cc8 --- /dev/null +++ b/java/src/main/Makefile.am @@ -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 . + +SUBDIRS = java diff --git a/java/src/main/Makefile.in b/java/src/main/Makefile.in new file mode 100644 index 0000000..c8f5f22 --- /dev/null +++ b/java/src/main/Makefile.in @@ -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 . +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 index 0000000..3646190 --- /dev/null +++ b/java/src/main/java/Makefile.am @@ -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 . + +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 index 0000000..8168e28 --- /dev/null +++ b/java/src/main/java/Makefile.in @@ -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 . +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: diff --git a/java/gnu/Makefile.am b/java/src/main/java/gnu/Makefile.am similarity index 85% rename from java/gnu/Makefile.am rename to java/src/main/java/gnu/Makefile.am index e40dc86..265687a 100644 --- a/java/gnu/Makefile.am +++ b/java/src/main/java/gnu/Makefile.am @@ -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 . +# along with this program. If not, see . SUBDIRS = inet diff --git a/java/src/main/java/gnu/Makefile.in b/java/src/main/java/gnu/Makefile.in new file mode 100644 index 0000000..d47cb33 --- /dev/null +++ b/java/src/main/java/gnu/Makefile.in @@ -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 . +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: diff --git a/java/gnu/inet/Makefile.am b/java/src/main/java/gnu/inet/Makefile.am similarity index 85% rename from java/gnu/inet/Makefile.am rename to java/src/main/java/gnu/inet/Makefile.am index bdad4fc..3caeb3e 100644 --- a/java/gnu/inet/Makefile.am +++ b/java/src/main/java/gnu/inet/Makefile.am @@ -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 . +# along with this program. If not, see . 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 index 0000000..1a0e4cc --- /dev/null +++ b/java/src/main/java/gnu/inet/Makefile.in @@ -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 . +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: diff --git a/java/gnu/inet/encoding/CombiningClass.java b/java/src/main/java/gnu/inet/encoding/CombiningClass.java similarity index 100% rename from java/gnu/inet/encoding/CombiningClass.java rename to java/src/main/java/gnu/inet/encoding/CombiningClass.java diff --git a/java/gnu/inet/encoding/Composition.java b/java/src/main/java/gnu/inet/encoding/Composition.java similarity index 100% rename from java/gnu/inet/encoding/Composition.java rename to java/src/main/java/gnu/inet/encoding/Composition.java diff --git a/java/gnu/inet/encoding/DecompositionKeys.java b/java/src/main/java/gnu/inet/encoding/DecompositionKeys.java similarity index 100% rename from java/gnu/inet/encoding/DecompositionKeys.java rename to java/src/main/java/gnu/inet/encoding/DecompositionKeys.java diff --git a/java/gnu/inet/encoding/DecompositionMappings.java b/java/src/main/java/gnu/inet/encoding/DecompositionMappings.java similarity index 100% rename from java/gnu/inet/encoding/DecompositionMappings.java rename to java/src/main/java/gnu/inet/encoding/DecompositionMappings.java diff --git a/java/gnu/inet/encoding/IDNA.java b/java/src/main/java/gnu/inet/encoding/IDNA.java 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 --- a/java/gnu/inet/encoding/IDNA.java +++ b/java/src/main/java/gnu/inet/encoding/IDNA.java @@ -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 . */ + not, see . */ 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); } diff --git a/java/gnu/inet/encoding/IDNAException.java b/java/src/main/java/gnu/inet/encoding/IDNAException.java similarity index 93% rename from java/gnu/inet/encoding/IDNAException.java rename to java/src/main/java/gnu/inet/encoding/IDNAException.java index 09e11ea..5ab1115 100644 --- a/java/gnu/inet/encoding/IDNAException.java +++ b/java/src/main/java/gnu/inet/encoding/IDNAException.java @@ -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 . */ + not, see . */ package gnu.inet.encoding; diff --git a/java/gnu/inet/encoding/Makefile.am b/java/src/main/java/gnu/inet/encoding/Makefile.am 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 --- a/java/gnu/inet/encoding/Makefile.am +++ b/java/src/main/java/gnu/inet/encoding/Makefile.am @@ -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 . +# along with this program. If not, see . -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 index 0000000..b18dd1e --- /dev/null +++ b/java/src/main/java/gnu/inet/encoding/Makefile.in @@ -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 . +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: diff --git a/java/gnu/inet/encoding/NFKC.java b/java/src/main/java/gnu/inet/encoding/NFKC.java 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 --- a/java/gnu/inet/encoding/NFKC.java +++ b/java/src/main/java/gnu/inet/encoding/NFKC.java @@ -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 . */ + not, see . */ 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; diff --git a/java/gnu/inet/encoding/Punycode.java b/java/src/main/java/gnu/inet/encoding/Punycode.java 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 --- a/java/gnu/inet/encoding/Punycode.java +++ b/java/src/main/java/gnu/inet/encoding/Punycode.java @@ -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 . */ + not, see . */ 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) { diff --git a/java/gnu/inet/encoding/PunycodeException.java b/java/src/main/java/gnu/inet/encoding/PunycodeException.java similarity index 92% rename from java/gnu/inet/encoding/PunycodeException.java rename to java/src/main/java/gnu/inet/encoding/PunycodeException.java index 999bf60..92d9eac 100644 --- a/java/gnu/inet/encoding/PunycodeException.java +++ b/java/src/main/java/gnu/inet/encoding/PunycodeException.java @@ -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 . */ + not, see . */ package gnu.inet.encoding; diff --git a/java/gnu/inet/encoding/RFC3454.java b/java/src/main/java/gnu/inet/encoding/RFC3454.java similarity index 100% rename from java/gnu/inet/encoding/RFC3454.java rename to java/src/main/java/gnu/inet/encoding/RFC3454.java 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 index 0000000..efa307a --- /dev/null +++ b/java/src/main/java/gnu/inet/encoding/RangeSet.java @@ -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 . */ + +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 + { + 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 { + + 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 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 ranges = new ArrayList(); + + public Builder addRange(final Range range) { + ranges.add(range); + return this; + } + + public Builder addRanges(final Collection 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 mergedRanges = mergeRanges(ranges); + return new RangeSet(mergedRanges); + } + + static List mergeRanges(final List ranges) + { + if (ranges.isEmpty()) + { + return Collections.emptyList(); + } + + final List result = new ArrayList(); + final Iterator it = ranges.iterator(); + + Range leftRange = it.next(); + List 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 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 result = new ArrayList(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 + + '}'; + } +} diff --git a/java/gnu/inet/encoding/Stringprep.java b/java/src/main/java/gnu/inet/encoding/Stringprep.java similarity index 55% rename from java/gnu/inet/encoding/Stringprep.java rename to java/src/main/java/gnu/inet/encoding/Stringprep.java index 8f12729..c84b429 100644 --- a/java/gnu/inet/encoding/Stringprep.java +++ b/java/src/main/java/gnu/inet/encoding/Stringprep.java @@ -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,10 +25,12 @@ 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 . */ + not, see . */ 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; } } } diff --git a/java/gnu/inet/encoding/StringprepException.java b/java/src/main/java/gnu/inet/encoding/StringprepException.java similarity index 93% rename from java/gnu/inet/encoding/StringprepException.java rename to java/src/main/java/gnu/inet/encoding/StringprepException.java index 5880ebc..89c6715 100644 --- a/java/gnu/inet/encoding/StringprepException.java +++ b/java/src/main/java/gnu/inet/encoding/StringprepException.java @@ -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 . */ + not, see . */ package gnu.inet.encoding; diff --git a/java/src/test/Makefile.am b/java/src/test/Makefile.am new file mode 100644 index 0000000..46a5cc8 --- /dev/null +++ b/java/src/test/Makefile.am @@ -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 . + +SUBDIRS = java diff --git a/java/src/test/Makefile.in b/java/src/test/Makefile.in new file mode 100644 index 0000000..4b63d05 --- /dev/null +++ b/java/src/test/Makefile.in @@ -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 . +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: diff --git a/java/misc/Makefile.am b/java/src/test/java/Makefile.am similarity index 75% rename from java/misc/Makefile.am rename to java/src/test/java/Makefile.am index 3ce0c3e..9f3dad8 100644 --- a/java/misc/Makefile.am +++ b/java/src/test/java/Makefile.am @@ -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. # @@ -14,15 +14,12 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . -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 index 0000000..7dd9c4a --- /dev/null +++ b/java/src/test/java/Makefile.in @@ -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 . +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 index 0000000..46a5cc8 --- /dev/null +++ b/java/src/util/Makefile.am @@ -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 . + +SUBDIRS = java diff --git a/java/src/util/Makefile.in b/java/src/util/Makefile.in new file mode 100644 index 0000000..2dd11c0 --- /dev/null +++ b/java/src/util/Makefile.in @@ -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 . +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: diff --git a/java/misc/GenerateNFKC.java b/java/src/util/java/GenerateNFKC.java similarity index 97% rename from java/misc/GenerateNFKC.java rename to java/src/util/java/GenerateNFKC.java index efe3899..289b2f7 100644 --- a/java/misc/GenerateNFKC.java +++ b/java/src/util/java/GenerateNFKC.java @@ -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 . */ + not, see . */ 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 "); diff --git a/java/misc/GenerateRFC3454.java b/java/src/util/java/GenerateRFC3454.java similarity index 96% rename from java/misc/GenerateRFC3454.java rename to java/src/util/java/GenerateRFC3454.java index 3743c46..5c18026 100644 --- a/java/misc/GenerateRFC3454.java +++ b/java/src/util/java/GenerateRFC3454.java @@ -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 . */ + not, see . */ 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 index 0000000..bd6049d --- /dev/null +++ b/java/src/util/java/Makefile.am @@ -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 . + +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 index 0000000..67cbb05 --- /dev/null +++ b/java/src/util/java/Makefile.in @@ -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 . +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: diff --git a/java/misc/TestIDNA.java b/java/src/util/java/TestIDNA.java similarity index 88% rename from java/misc/TestIDNA.java rename to java/src/util/java/TestIDNA.java index 11a3bac..549be00 100644 --- a/java/misc/TestIDNA.java +++ b/java/src/util/java/TestIDNA.java @@ -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 . */ + not, see . */ 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(); diff --git a/java/misc/TestNFKC.java b/java/src/util/java/TestNFKC.java similarity index 94% rename from java/misc/TestNFKC.java rename to java/src/util/java/TestNFKC.java index 3a08c2d..a9b5e1d 100644 --- a/java/misc/TestNFKC.java +++ b/java/src/util/java/TestNFKC.java @@ -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 . */ + not, see . */ 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)); diff --git a/lib/Makefile.am b/lib/Makefile.am index 69d0989..3a8ed8b 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -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. # @@ -15,20 +15,23 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . 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 diff --git a/lib/Makefile.in b/lib/Makefile.in index 19ecf6e..01b47b3 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -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. # @@ -31,11 +30,66 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . 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 diff --git a/lib/gen-stringprep-tables.pl b/lib/gen-stringprep-tables.pl index 9c98b7b..a2efce8 100755 --- a/lib/gen-stringprep-tables.pl +++ b/lib/gen-stringprep-tables.pl @@ -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 . +# along with this program. If not, see . # 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 \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"; diff --git a/lib/gen-tld-tables.pl b/lib/gen-tld-tables.pl index 928dff9..184f654 100755 --- a/lib/gen-tld-tables.pl +++ b/lib/gen-tld-tables.pl @@ -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 . +# along with this program. If not, see . # # I consider the output of this program to be unrestricted. Use it as # you will. @@ -35,6 +35,7 @@ die "Usage: $0 " 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 \n"; print "#include \"tld.h\"\n"; print "\n"; diff --git a/lib/gen-unicode-tables.pl b/lib/gen-unicode-tables.pl index d43323c..bb4fc99 100755 --- a/lib/gen-unicode-tables.pl +++ b/lib/gen-unicode-tables.pl @@ -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 @@ -15,12 +15,12 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # I consider the output of this program to be unrestricted. Use it as # you will. -# Contributer(s): +# Contributor(s): # Andrew Taylor # 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; diff --git a/lib/gl/Makefile.am b/lib/gl/Makefile.am index f3af3c8..28e7a6c 100644 --- a/lib/gl/Makefile.am +++ b/lib/gl/Makefile.am @@ -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 . +# along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that @@ -21,9 +21,27 @@ # 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 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 +# 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 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 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 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 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 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 +# 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 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 diff --git a/lib/gl/Makefile.in b/lib/gl/Makefile.in index 78e393d..7808c51 100644 --- a/lib/gl/Makefile.in +++ b/lib/gl/Makefile.in @@ -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,11 +14,11 @@ @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 . +# along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that @@ -36,11 +35,84 @@ # 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 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 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 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 +# 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 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 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 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 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 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 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 +# 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 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 index 0000000..7326bd4 --- /dev/null +++ b/lib/gl/_Noreturn.h @@ -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 . */ + +#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 index 0000000..46c711c --- /dev/null +++ b/lib/gl/arg-nonnull.h @@ -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 . */ + +/* _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 index 0000000..710341b --- /dev/null +++ b/lib/gl/attribute.h @@ -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 . */ + +/* 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 index 0000000..eb66967 --- /dev/null +++ b/lib/gl/c++defs.h @@ -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 . */ + +#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" ; + 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(::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(::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((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 , + 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 , + 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 */ diff --git a/lib/gl/c-ctype.c b/lib/gl/c-ctype.c index 2506d02..d3f1b12 100644 --- a/lib/gl/c-ctype.c +++ b/lib/gl/c-ctype.c @@ -1,395 +1,21 @@ /* 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #include -/* 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 -} diff --git a/lib/gl/c-ctype.h b/lib/gl/c-ctype.h index cad6797..b582de4 100644 --- a/lib/gl/c-ctype.h +++ b/lib/gl/c-ctype.h @@ -5,26 +5,33 @@ 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #ifndef C_CTYPE_H #define C_CTYPE_H -#include +/* 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 , 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 */ diff --git a/lib/gl/c-strcase.h b/lib/gl/c-strcase.h index e1385ce..b75e8dd 100644 --- a/lib/gl/c-strcase.h +++ b/lib/gl/c-strcase.h @@ -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 . */ + along with this program. If not, see . */ #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 diff --git a/lib/gl/c-strcasecmp.c b/lib/gl/c-strcasecmp.c index a291207..1fa575a 100644 --- a/lib/gl/c-strcasecmp.c +++ b/lib/gl/c-strcasecmp.c @@ -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 . */ + along with this program. If not, see . */ #include @@ -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); } diff --git a/lib/gl/c-strncasecmp.c b/lib/gl/c-strncasecmp.c index 878d6e0..4c8b0b6 100644 --- a/lib/gl/c-strncasecmp.c +++ b/lib/gl/c-strncasecmp.c @@ -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 . */ + along with this program. If not, see . */ #include @@ -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 index 0000000..87ddce3 --- /dev/null +++ b/lib/gl/cdefs.h @@ -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 + . */ + +#ifndef _SYS_CDEFS_H +#define _SYS_CDEFS_H 1 + +/* We are almost always included from features.h. */ +#ifndef _FEATURES_H +# include +#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 +# include +#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, [, ]) */ +# 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 index 0000000..2f0c40b --- /dev/null +++ b/lib/gl/free.c @@ -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 . */ + +/* written by Paul Eggert */ + +#include + +/* Specification. */ +#include + +/* A function definition is only needed if HAVE_FREE_POSIX is not defined. */ +#if !HAVE_FREE_POSIX + +# include + +void +rpl_free (void *p) +# undef free +{ +# if defined __GNUC__ && !defined __clang__ + /* An invalid GCC optimization + + 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 diff --git a/lib/gl/gettext.h b/lib/gl/gettext.h index 5aa525e..39d5ae4 100644 --- a/lib/gl/gettext.h +++ b/lib/gl/gettext.h @@ -1,25 +1,26 @@ /* Convenience header for conditional use of GNU . - 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #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 @@ -107,4 +108,193 @@ 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 + +/* 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 +#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/lib/gl/iconv.c b/lib/gl/iconv.c index 826d990..310f404 100644 --- a/lib/gl/iconv.c +++ b/lib/gl/iconv.c @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #include @@ -26,9 +26,6 @@ # include # include # include "unistr.h" -# ifndef uintptr_t -# define uintptr_t unsigned long -# endif #endif #if REPLACE_ICONV_UTF diff --git a/lib/gl/iconv.in.h b/lib/gl/iconv.in.h index de78cbc..9e41e41 100644 --- a/lib/gl/iconv.in.h +++ b/lib/gl/iconv.in.h @@ -1,19 +1,19 @@ /* A GNU-like . - 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 . */ + along with this program. If not, see . */ #ifndef _@GUARD_PREFIX@_ICONV_H @@ -28,6 +28,11 @@ #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@ diff --git a/lib/gl/iconv_close.c b/lib/gl/iconv_close.c index 0bccd97..692cbb8 100644 --- a/lib/gl/iconv_close.c +++ b/lib/gl/iconv_close.c @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #include @@ -20,9 +20,6 @@ #include #include -#ifndef uintptr_t -# define uintptr_t unsigned long -#endif int rpl_iconv_close (iconv_t cd) diff --git a/lib/gl/iconv_open-aix.gperf b/lib/gl/iconv_open-aix.gperf index 6782b99..55cccd0 100644 --- a/lib/gl/iconv_open-aix.gperf +++ b/lib/gl/iconv_open-aix.gperf @@ -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 . */ + struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type %language=ANSI-C diff --git a/lib/gl/iconv_open-aix.h b/lib/gl/iconv_open-aix.h index 0ffc3fe..85ed767 100644 --- a/lib/gl/iconv_open-aix.h +++ b/lib/gl/iconv_open-aix.h @@ -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,$' */ @@ -26,10 +26,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 ." +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." #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) diff --git a/lib/gl/iconv_open-hpux.gperf b/lib/gl/iconv_open-hpux.gperf index 5a35c83..ddf51e3 100644 --- a/lib/gl/iconv_open-hpux.gperf +++ b/lib/gl/iconv_open-hpux.gperf @@ -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 . */ + struct mapping { int standard_name; const char vendor_name[9 + 1]; }; %struct-type %language=ANSI-C diff --git a/lib/gl/iconv_open-hpux.h b/lib/gl/iconv_open-hpux.h index 8f9f0a9..fe3c289 100644 --- a/lib/gl/iconv_open-hpux.h +++ b/lib/gl/iconv_open-hpux.h @@ -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,$' */ @@ -26,10 +26,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 ." +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." #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) diff --git a/lib/gl/iconv_open-irix.gperf b/lib/gl/iconv_open-irix.gperf index 3672a80..cd0ad54 100644 --- a/lib/gl/iconv_open-irix.gperf +++ b/lib/gl/iconv_open-irix.gperf @@ -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 . */ + struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type %language=ANSI-C diff --git a/lib/gl/iconv_open-irix.h b/lib/gl/iconv_open-irix.h index 520582e..9eec045 100644 --- a/lib/gl/iconv_open-irix.h +++ b/lib/gl/iconv_open-irix.h @@ -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,$' */ @@ -26,10 +26,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 ." +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." #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) diff --git a/lib/gl/iconv_open-osf.gperf b/lib/gl/iconv_open-osf.gperf index f468ff6..417f7e3 100644 --- a/lib/gl/iconv_open-osf.gperf +++ b/lib/gl/iconv_open-osf.gperf @@ -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 . */ + struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type %language=ANSI-C diff --git a/lib/gl/iconv_open-osf.h b/lib/gl/iconv_open-osf.h index 85e4c0f..cf23c08 100644 --- a/lib/gl/iconv_open-osf.h +++ b/lib/gl/iconv_open-osf.h @@ -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,$' */ @@ -26,10 +26,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 ." +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." #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) diff --git a/lib/gl/iconv_open-solaris.gperf b/lib/gl/iconv_open-solaris.gperf index 7d7da38..d5411de 100644 --- a/lib/gl/iconv_open-solaris.gperf +++ b/lib/gl/iconv_open-solaris.gperf @@ -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 . */ + struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type %language=ANSI-C diff --git a/lib/gl/iconv_open-solaris.h b/lib/gl/iconv_open-solaris.h index 2963145..b38b16c 100644 --- a/lib/gl/iconv_open-solaris.h +++ b/lib/gl/iconv_open-solaris.h @@ -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' */ @@ -26,10 +26,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 ." +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." #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 index 0000000..a7fc3dc --- /dev/null +++ b/lib/gl/iconv_open-zos.gperf @@ -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 . */ + +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 index 0000000..5f84725 --- /dev/null +++ b/lib/gl/iconv_open-zos.h @@ -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 ." +#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; +} diff --git a/lib/gl/iconv_open.c b/lib/gl/iconv_open.c index 740bc8d..2be02ef 100644 --- a/lib/gl/iconv_open.c +++ b/lib/gl/iconv_open.c @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ #include @@ -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 diff --git a/gltests/inttypes.in.h b/lib/gl/inttypes.in.h similarity index 57% rename from gltests/inttypes.in.h rename to lib/gl/inttypes.in.h index b9da2b5..b9ab8a4 100644 --- a/gltests/inttypes.in.h +++ b/lib/gl/inttypes.in.h @@ -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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ /* * ISO C 99 for platforms that lack it. - * + * */ #if __GNUC__ >= 3 @@ -38,22 +38,33 @@ # 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 or the gnulib replacement. But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ # include #endif -/* Get CHAR_BIT. */ +/* Get CHAR_BIT, INT_MAX, LONG_MAX, etc. */ #include +/* On mingw, __USE_MINGW_ANSI_STDIO only works if is also included */ +#if defined _WIN32 && ! defined __CYGWIN__ +# include +#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 ." +#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 ." #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -72,110 +83,92 @@ # 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 @@ -185,15 +178,13 @@ # 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 @@ -202,266 +193,220 @@ # 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 @@ -469,76 +414,64 @@ # 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 @@ -546,129 +479,108 @@ # 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 @@ -678,15 +590,13 @@ # 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 @@ -695,110 +605,86 @@ # 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 @@ -809,8 +695,7 @@ # 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 @@ -821,8 +706,7 @@ # 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 @@ -833,8 +717,7 @@ # 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 @@ -845,8 +728,7 @@ # 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 @@ -857,8 +739,7 @@ # 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 @@ -867,8 +748,7 @@ # 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 @@ -877,8 +757,7 @@ # 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 @@ -887,8 +766,7 @@ # 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 @@ -897,8 +775,7 @@ # 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 @@ -907,40 +784,35 @@ # 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 @@ -948,64 +820,54 @@ # 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 @@ -1013,32 +875,27 @@ # 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 index 0000000..febbd25 --- /dev/null +++ b/lib/gl/langinfo.in.h @@ -0,0 +1,229 @@ +/* Substitute for and wrapper around . + 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 . */ + +/* + * POSIX for platforms that lack it or have an incomplete one. + * + */ + +#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 . */ + +/* Assume that it also lacks 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 . */ + +# 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 index 0000000..7011460 --- /dev/null +++ b/lib/gl/libc-config.h @@ -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 + . */ + +/* Written by Paul Eggert. */ + +/* This is intended to be a good-enough substitute for glibc system + macros like those defined in , so that Gnulib code + shared with glibc can do this as the first #include: + + #ifndef _LIBC + # include + #endif + + When compiled as part of glibc this is a no-op; when compiled as + part of Gnulib this includes Gnulib's 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 + +/* On glibc this includes and and #defines + _FEATURES_H, __WORDSIZE, and __set_errno. On FreeBSD 11 and + DragonFlyBSD 5.9 it includes which defines __nonnull. + Elsewhere it is harmless. */ +#include + +/* From glibc . */ +#ifndef __set_errno +# define __set_errno(val) (errno = (val)) +#endif + +/* From glibc . */ + +#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__ +/* either does not exist, or is too old for Gnulib. + Prepare to include , which is Gnulib's version of a + more-recent glibc . */ + +/* Define _FEATURES_H so that does not include . */ +# ifndef _FEATURES_H +# define _FEATURES_H 1 +# endif +/* Define __GNULIB_CDEFS so that does not attempt to include + nonexistent files. */ +# define __GNULIB_CDEFS +/* Undef the macros unconditionally defined by our copy of glibc + , 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 . */ +# include + +/* __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 , 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 , 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 index 0000000..236fc58 --- /dev/null +++ b/lib/gl/limits.in.h @@ -0,0 +1,151 @@ +/* A GNU-like . + + 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 . */ + +#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 + -> -> . + 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 index 0000000..992e16f --- /dev/null +++ b/lib/gl/m4/__inline.m4 @@ -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 index 0000000..4f6dc2e --- /dev/null +++ b/lib/gl/m4/free.m4 @@ -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 + dnl * OpenBSD >= 4.5, thanks to this commit: + dnl + 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 + ]], + [[#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], [:]) diff --git a/lib/gl/m4/gnulib-cache.m4 b/lib/gl/m4/gnulib-cache.m4 index 050b67c..89b5a40 100644 --- a/lib/gl/m4/gnulib-cache.m4 +++ b/lib/gl/m4/gnulib-cache.m4 @@ -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 . +# along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that @@ -27,31 +27,46 @@ # 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]) diff --git a/lib/gl/m4/gnulib-comp.m4 b/lib/gl/m4/gnulib-comp.m4 index a28e198..40162bf 100644 --- a/lib/gl/m4/gnulib-comp.m4 +++ b/lib/gl/m4/gnulib-comp.m4 @@ -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 . +# along with this file. If not, see . # # 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 index 0000000..2aa413c --- /dev/null +++ b/lib/gl/m4/host-cpu-c-abi.m4 @@ -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 . +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 ), and _MIPS_SIM == _ABIN32. + # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but + # may later get defined by ), 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 <. +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 +#include + ]], + [[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 +#include + ]], + [[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 +#include + +#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 + */ + { + 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 +#include +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 . + 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 +]) diff --git a/lib/gl/m4/iconv_h.m4 b/lib/gl/m4/iconv_h.m4 index aa86cf8..7b56088 100644 --- a/lib/gl/m4/iconv_h.m4 +++ b/lib/gl/m4/iconv_h.m4 @@ -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 iconv_open]) + + AC_REQUIRE([AC_C_RESTRICT]) ]) dnl Unconditionally enables the replacement of . 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 always, to support the C++ GNULIB_NAMESPACE. + GL_GENERATE_ICONV_H=true + fi + ]) ]) diff --git a/lib/gl/m4/iconv_open.m4 b/lib/gl/m4/iconv_open.m4 index 07f4849..d4fd3ab 100644 --- a/lib/gl/m4/iconv_open.m4 +++ b/lib/gl/m4/iconv_open.m4 @@ -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 ]) diff --git a/lib/gl/m4/inline.m4 b/lib/gl/m4/inline.m4 index 6fa9972..208f742 100644 --- a/lib/gl/m4/inline.m4 +++ b/lib/gl/m4/inline.m4 @@ -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. diff --git a/gl/m4/inttypes.m4 b/lib/gl/m4/inttypes.m4 similarity index 72% rename from gl/m4/inttypes.m4 rename to lib/gl/m4/inttypes.m4 index eec4f41..6abf9db 100644 --- a/gl/m4/inttypes.m4 +++ b/lib/gl/m4/inttypes.m4 @@ -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 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 ]], [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 . It always defines intptr_t to 'long'. - PRIPTR_PREFIX='"l"' + if $GL_GENERATE_STDINT_H; then + dnl Using the gnulib . 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 . 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 index 0000000..888b161 --- /dev/null +++ b/lib/gl/m4/langinfo_h.m4 @@ -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 to define CODESET. + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + dnl is always overridden, because of GNULIB_POSIXCHECK. + gl_CHECK_NEXT_HEADERS([langinfo.h]) + + dnl Determine whether 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 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 +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 +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 +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 +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 +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 + ]], [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 index 5ed93ef..0000000 --- a/lib/gl/m4/ld-version-script.m4 +++ /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 < conftest.map <&1 /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 = 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 . + 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 index 0000000..d597553 --- /dev/null +++ b/lib/gl/m4/lib-prefix.m4 @@ -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 . + 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 . + 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 +]) diff --git a/lib/gl/m4/libunistring-base.m4 b/lib/gl/m4/libunistring-base.m4 index d91c42b..7c3f65e 100644 --- a/lib/gl/m4/libunistring-base.m4 +++ b/lib/gl/m4/libunistring-base.m4 @@ -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 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 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 . 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 + 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 index 201ac4e..0000000 --- a/lib/gl/m4/locale-ja.m4 +++ /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 -#include -#if HAVE_LANGINFO_CODESET -# include -#endif -#include -#include -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 index 26b2ba2..0000000 --- a/lib/gl/m4/locale-tr.m4 +++ /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 -#include -#if HAVE_LANGINFO_CODESET -# include -#endif -#include -#include -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 index 0cf5ada..0000000 --- a/lib/gl/m4/locale-zh.m4 +++ /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 -#include -#include -#if HAVE_LANGINFO_CODESET -# include -#endif -#include -#include -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 index fb72e4e..0000000 --- a/lib/gl/m4/locale_h.m4 +++ /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 to define locale_t and the int_p_*, int_n_* - dnl members of 'struct lconv'. - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - - dnl If is replaced, then 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 - 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 . - 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 , - dnl e.g. on MacOS X 10.5. If does not define locale_t by - dnl itself, we assume that 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_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 - 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 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 -/* Some systems provide declarations in a non-standard header. */ -#if HAVE_XLOCALE_H -# include -#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 index 2ba295e..0000000 --- a/lib/gl/m4/localename.m4 +++ /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 index c605241..0000000 --- a/lib/gl/m4/setlocale.m4 +++ /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], -[ - : -]) diff --git a/lib/gl/m4/strverscmp.m4 b/lib/gl/m4/strverscmp.m4 index d744647..a0eef7b 100644 --- a/lib/gl/m4/strverscmp.m4 +++ b/lib/gl/m4/strverscmp.m4 @@ -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 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 index cd66c3e..0000000 --- a/lib/gl/m4/thread.m4 +++ /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 index 0000000..3582fa7 --- /dev/null +++ b/lib/gl/m4/wchar_h.m4 @@ -0,0 +1,264 @@ +dnl A placeholder for ISO C99 , 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 . + dnl Check for (missing in Linux uClibc when built without wide + dnl character support). + dnl 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 + ]], + [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 + ]]) + if test $ac_cv_have_decl_wcsdup = no; then + HAVE_DECL_WCSDUP=0 + fi +]) + +dnl Check whether is usable at all. +AC_DEFUN([gl_WCHAR_H_INLINE_OK], +[ + dnl Test whether suffers due to the transition from '__inline' to + dnl 'gnu_inline'. See + dnl and . 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 . + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_CACHE_CHECK([whether 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 + 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 + 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([ 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 + , 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 index 94e69c4..0000000 --- a/lib/gl/m4/yield.m4 +++ /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 index a329c70..0000000 --- a/lib/gl/stdbool.in.h +++ /dev/null @@ -1,121 +0,0 @@ -/* Copyright (C) 2001-2003, 2006-2012 Free Software Foundation, Inc. - Written by Bruno Haible , 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 . */ - -#ifndef _GL_STDBOOL_H -#define _GL_STDBOOL_H - -/* ISO C 99 for platforms that lack it. */ - -/* Usage suggestions: - - Programs that use should be aware of some limitations - and standards compliance issues. - - Standards compliance: - - - 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: - - - 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 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 /* 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 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/lib/gl/stddef.in.h b/lib/gl/stddef.in.h index 9384cf6..fa8998d 100644 --- a/lib/gl/stddef.in.h +++ b/lib/gl/stddef.in.h @@ -1,25 +1,25 @@ /* A substitute for POSIX 2008 , 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 . */ + along with this program. If not, see . */ /* Written by Eric Blake. */ /* - * POSIX 2008 for platforms that have issues. - * + * POSIX 2008 and ISO C 23 for platforms that have issues. + * */ #if __GNUC__ >= 3 @@ -37,12 +37,18 @@ 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 @@ -50,29 +56,75 @@ # ifndef _@GUARD_PREFIX@_STDDEF_H +/* On AIX 7.2, with xlc in 64-bit mode, 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 @@ -81,6 +133,81 @@ # 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 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 +#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 . */ +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/lib/gl/stdint.in.h b/lib/gl/stdint.in.h index d6c3450..fea7483 100644 --- a/lib/gl/stdint.in.h +++ b/lib/gl/stdint.in.h @@ -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 . */ + along with this program. If not, see . */ /* * ISO C 99 for platforms that lack it. - * + * */ #ifndef _@GUARD_PREFIX@_STDINT_H @@ -38,8 +38,7 @@ other system header files; just include the system's . Ideally we should test __BIONIC__ here, but it is only defined after 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 @@ -80,54 +79,65 @@ #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 + +/* Override WINT_MIN and WINT_MAX if gnulib's or 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@ + /* defines some of the stdint.h types as well, on glibc, IRIX 6.5, and OpenBSD 3.8 (via ). AIX 5.2 isn't needed and causes troubles. - MacOS X 10.4.6 includes (which is us), but + Mac OS X 10.4.6 includes (which is us), but relies on the system definitions, so include after @NEXT_STDINT_H@. */ -#if @HAVE_SYS_TYPES_H@ && ! defined _AIX -# include -#endif - -/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX, - LONG_MIN, LONG_MAX, ULONG_MAX. */ -#include +# if @HAVE_SYS_TYPES_H@ && ! defined _AIX +# include +# endif -#if @HAVE_INTTYPES_H@ +# if @HAVE_INTTYPES_H@ /* In OpenBSD 3.8, includes , which defines int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. also defines intptr_t and uintptr_t. */ -# include -#elif @HAVE_SYS_INTTYPES_H@ +# include +# elif @HAVE_SYS_INTTYPES_H@ /* Solaris 7 has the types except the *_fast*_t types, and the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ -# include -#endif +# include +# 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 that defines int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is included by . */ -# include -#endif +# include +# 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 @@ -136,26 +146,26 @@ /* 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 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 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 needs its own intptr_t and + uintptr_t to avoid conflicting declarations of system functions like + _findclose in . */ +# 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 -> -> -> , and the latter includes 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: , and must be - included before . */ -# include -# include -# include -# 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 +# 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 or 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 index 0000000..5f92905 --- /dev/null +++ b/lib/gl/stdlib.in.h @@ -0,0 +1,1851 @@ +/* A GNU-like . + + 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 . */ + +#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 + +/* MirBSD 10 defines WEXITSTATUS in , not in . */ +#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS +# include +#endif + +/* Solaris declares getloadavg() in . */ +#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@ +/* OpenIndiana has a bug: must be included before + . */ +# include +# include +#endif + +/* Native Windows platforms declare _mktemp() in . */ +#if defined _WIN32 && !defined __CYGWIN__ +# include +#endif + +#if @GNULIB_RANDOM_R@ + +/* OSF/1 5.1 declares 'struct random_data' in , which is included + from if _REENTRANT is defined. Include it whenever we need + 'struct random_data'. */ +# if @HAVE_RANDOM_H@ +# include +# endif + +# include + +# if !@HAVE_STRUCT_RANDOM_DATA@ +/* Define 'struct random_data'. + But allow multiple gnulib generated 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 declares mkstemp. */ +/* On Mac OS X 10.5, only declares mkstemps. */ +/* On Mac OS X 10.13, only declares mkostemp and mkostemps. */ +/* On Cygwin 1.7.1, only declares getsubopt. */ +/* But avoid namespace pollution on glibc systems and native Windows. */ +# include +#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 ) + 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 ) + 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 diff --git a/lib/gl/striconv.c b/lib/gl/striconv.c index 6083fb7..9688a9f 100644 --- a/lib/gl/striconv.c +++ b/lib/gl/striconv.c @@ -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 . */ + along with this program. If not, see . */ #include @@ -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; } } diff --git a/lib/gl/striconv.h b/lib/gl/striconv.h index 8f09eef..cb42c7b 100644 --- a/lib/gl/striconv.h +++ b/lib/gl/striconv.h @@ -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 . */ + along with this program. If not, see . */ #ifndef _STRICONV_H #define _STRICONV_H -#include +/* This file uses _GL_ATTRIBUTE_MALLOC, HAVE_ICONV. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + +#include #if HAVE_ICONV #include #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 diff --git a/lib/gl/string.in.h b/lib/gl/string.in.h index ed187c9..66be871 100644 --- a/lib/gl/string.in.h +++ b/lib/gl/string.in.h @@ -1,33 +1,56 @@ /* A GNU-like . - 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 . */ - -#ifndef _@GUARD_PREFIX@_STRING_H + along with this program. If not, see . */ #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" + 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 @@ -36,14 +59,6 @@ # include #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 , not in . */ /* But in any case avoid namespace pollution on glibc systems. */ #if (@GNULIB_STRSIGNAL@ || defined GNULIB_POSIXCHECK) && defined __NetBSD__ \ @@ -51,12 +66,149 @@ # include #endif +/* AIX 7.2 and Android 13 declare ffsl and ffsll in , not in + . */ +/* 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 +#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 */ +# 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 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 diff --git a/lib/gl/strverscmp.c b/lib/gl/strverscmp.c index 46f3ebc..b0c11fc 100644 --- a/lib/gl/strverscmp.c +++ b/lib/gl/strverscmp.c @@ -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 , 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 . */ + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ -#if !_LIBC -# include +#ifndef _LIBC +# include +# define __strverscmp strverscmp #endif +#include #include #include /* 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 index 0000000..0a0ccc3 --- /dev/null +++ b/lib/gl/sys_types.in.h @@ -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 . */ + +#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, 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 . */ +# 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 , not in . */ +/* But avoid namespace pollution on glibc systems. */ +#if (defined _WIN32 && ! defined __CYGWIN__) && ! defined __GLIBC__ +# include +#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 index 0000000..f3b3f7b --- /dev/null +++ b/lib/gl/unistd.c @@ -0,0 +1,22 @@ +/* Inline functions for . + + 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 . */ + +#include + +#define _GL_UNISTD_INLINE _GL_EXTERN_INLINE +#include +typedef int dummy; diff --git a/lib/gltests/unistd.in.h b/lib/gl/unistd.in.h similarity index 55% rename from lib/gltests/unistd.in.h rename to lib/gl/unistd.in.h index 9115486..b412966 100644 --- a/lib/gltests/unistd.in.h +++ b/lib/gl/unistd.in.h @@ -1,45 +1,61 @@ /* Substitute for and wrapper around . - 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 . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#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 , include , - but we need to ensure that both the system and - are completely included before we replace gethostname. */ -#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \ - && !defined _GL_WINSOCK2_H_WITNESS && defined _WINSOCK2_H -/* is being indirectly included for the first time from - ; 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 + -> -> -> + 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 . + This bug is fixed after FreeBSD 13; see . + 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 +# endif +# if (!defined MAC_OS_X_VERSION_MIN_REQUIRED \ + || MAC_OS_X_VERSION_MIN_REQUIRED < 99990000) +# include /* It also defines the two macros. */ +# undef SEEK_DATA +# undef SEEK_HOLE +# endif #endif /* Get all possible declarations of gethostname(). */ @@ -53,22 +69,37 @@ #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 +/* But avoid namespace pollution on glibc systems. */ +#ifndef __GLIBC__ +# include +#endif /* mingw doesn't define the SEEK_* or *_FILENO macros in . */ +/* MSVC declares 'unlink' in , not in . We must include + it before we #define unlink rpl_unlink. */ /* Cygwin 1.7.1 declares symlinkat in , not in . */ /* 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 #endif -/* Cygwin 1.7.1 declares unlinkat in , not in . */ +/* Cygwin 1.7.1 and Android 4.3 declare unlinkat in , not in + . */ /* 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 #endif @@ -77,25 +108,27 @@ /* mingw, MSVC, BeOS, Haiku declare environ in , not in . */ /* Solaris declares getcwd not only in but also in . */ +/* OSF Tru64 Unix cannot see gnulib rpl_strtod when system is + included here. */ /* But avoid namespace pollution on glibc systems. */ -#ifndef __GLIBC__ +#if !defined __GLIBC__ && !defined __osf__ +# define __need_system_stdlib_h # include +# undef __need_system_stdlib_h #endif -/* Native Windows platforms declare chdir, getcwd, rmdir in +/* Native Windows platforms declare _chdir, _getcwd, _rmdir in and/or , not in . - They also declare access(), chmod(), close(), dup(), dup2(), isatty(), - lseek(), read(), unlink(), write() in . */ -#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \ - || defined GNULIB_POSIXCHECK) \ - && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) -# include /* mingw32, mingw64 */ -# include /* 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 . */ +#if defined _WIN32 && !defined __CYGWIN__ # include +# include +#endif + +/* Native Windows platforms declare _execl*, _execv* in . */ +#if defined _WIN32 && !defined __CYGWIN__ +# include #endif /* AIX and OSF/1 5.1 declare getdomainname in , not in . @@ -107,25 +140,28 @@ # include #endif -/* MSVC defines off_t in . - 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 +/* Mac OS X 10.13, Solaris 11.4, and Android 9.0 declare getentropy in + , not in . */ +/* 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 #endif -#if (@GNULIB_READ@ || @GNULIB_WRITE@ \ - || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \ - || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK) -/* Get ssize_t. */ -# include +/* Android 4.3 declares fchownat in , not in . */ +/* But avoid namespace pollution on glibc systems. */ +#if (@GNULIB_FCHOWNAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \ + && !defined __GLIBC__ +# include #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 -#endif +/* MSVC defines off_t in . + May also define off_t to a 64-bit type on native Windows. */ +/* Get off_t, ssize_t, mode_t. */ +#include /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -134,6 +170,17 @@ /* 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 +# include +#endif + +_GL_INLINE_HEADER_BEGIN +#ifndef _GL_UNISTD_INLINE +# define _GL_UNISTD_INLINE _GL_INLINE +#endif + /* Hide some function declarations from . */ #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ @@ -233,15 +280,61 @@ /* 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 - " "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 - " to GID (if GID is not -1). Follow symbolic links. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2008 specification - . */ + . */ # 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 - . */ -# if @HAVE_DUP3@ + . */ +# 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 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 +# if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR +# define _GL_USE_CRT_EXTERNS +# endif +# endif +# ifdef _GL_USE_CRT_EXTERNS # include # 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 - . */ -# if ! @HAVE_FCHDIR@ + . */ +# 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 - . */ -# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@ + . */ +# 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 - . */ + . */ # 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 - . */ + . */ # 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 - . - 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. */ + . + 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 . + See . 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 . + See . 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 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 - . */ + . */ # 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 - . */ + . */ # 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 - . */ + . */ # 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 - . */ -# if @HAVE_PIPE2@ + . */ +# 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 - . */ + . */ # 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 - . */ + . */ # 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 - . */ + . */ # 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 - . */ + . */ # 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 - . */ + . */ # 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 + . */ +# 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 - . */ + . */ # 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 - . */ + . */ # 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 */ diff --git a/lib/gl/unistr.in.h b/lib/gl/unistr.in.h index 1ee5085..424678f 100644 --- a/lib/gl/unistr.in.h +++ b/lib/gl/unistr.in.h @@ -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 . */ + along with this program. If not, see . */ #ifndef _UNISTR_H #define _UNISTR_H #include "unitypes.h" -/* Get common macros for C. */ -#include "unused-parameter.h" - /* Get bool. */ #include -/* Get size_t. */ +/* Get size_t, ptrdiff_t. */ #include +/* Get free(). */ +#include + #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 index 0000000..556f992 --- /dev/null +++ b/lib/gl/unistr/u8-check.c @@ -0,0 +1,77 @@ +/* Check UTF-8 string. + Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc. + Written by Bruno Haible , 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 . */ + +#include + +/* 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; +} diff --git a/lib/gl/unistr/u8-mbtoucr.c b/lib/gl/unistr/u8-mbtoucr.c index 6ba4d17..564e47e 100644 --- a/lib/gl/unistr/u8-mbtoucr.c +++ b/lib/gl/unistr/u8-mbtoucr.c @@ -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 , 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 . */ + along with this program. If not, see . */ #include @@ -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; diff --git a/lib/gl/unistr/u8-uctomb-aux.c b/lib/gl/unistr/u8-uctomb-aux.c index c157c72..ffe567d 100644 --- a/lib/gl/unistr/u8-uctomb-aux.c +++ b/lib/gl/unistr/u8-uctomb-aux.c @@ -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 , 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 . */ + along with this program. If not, see . */ #include /* 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; } diff --git a/lib/gl/unistr/u8-uctomb.c b/lib/gl/unistr/u8-uctomb.c index a7ffd15..0f903fd 100644 --- a/lib/gl/unistr/u8-uctomb.c +++ b/lib/gl/unistr/u8-uctomb.c @@ -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 , 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 . */ + along with this program. If not, see . */ #include @@ -25,10 +25,12 @@ /* 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; } diff --git a/lib/gl/unitypes.in.h b/lib/gl/unitypes.in.h index 54eaa4e..1b14d3b 100644 --- a/lib/gl/unitypes.in.h +++ b/lib/gl/unitypes.in.h @@ -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 . */ + along with this program. If not, see . */ #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 index 0000000..8f4d40d --- /dev/null +++ b/lib/gl/warn-on-use.h @@ -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 . */ + +/* _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 ]], + [getline]) in configure.ac, which potentially defines + HAVE_RAW_DECL_GETLINE + - adding this code to a header that wraps the system : + #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 index 0000000..a33a10f --- /dev/null +++ b/lib/gl/wchar.in.h @@ -0,0 +1,1707 @@ +/* A substitute for ISO C99 , 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 . */ + +/* Written by Eric Blake. */ + +/* + * ISO C 99 for platforms that have issues. + * + * + * 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 + -> -> , and the latter includes , + once indirectly -> -> -> + 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 . + - With MinGW 3.22, when includes , only some part of + is actually processed, and that doesn't include 'mbstate_t'. + - On IRIX 6.5, similarly, we have an include -> , and + the latter includes . But here, we have no way to detect whether + 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 /* for __GLIBC__ */ +#endif + +/* In some builds of uClibc, is nonexistent and wchar_t is defined + by . + But avoid namespace pollution on glibc systems. */ +#if !(defined __GLIBC__ && !defined __UCLIBC__) +# include +#endif + +/* Include the original 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 */ +# 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 or + . 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 +# else +# include +# 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 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 +#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 . + 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 . + 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 . + 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-/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 . + 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 . + 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 . + 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 + . */ +#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 index 642d8f2..0000000 --- a/lib/gltests/Makefile.am +++ /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 . -# -# 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 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 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 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 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 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 -# 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 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 index 51b62b7..0000000 --- a/lib/gltests/Makefile.in +++ /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 . -# -# 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 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 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 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 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 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 -# 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 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 index e94eb68..0000000 --- a/lib/gltests/alloca.in.h +++ /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 - . - */ - -/* 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 -# define alloca _alloca -# elif defined __DECC && defined __VMS -# define alloca __ALLOCA -# else -# include -# 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 index 9a391ea..0000000 --- a/lib/gltests/glthread/lock.c +++ /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 . */ - -/* Written by Bruno Haible , 2005. - Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, - gthr-win32.h. */ - -#include - -#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 index 6782d49..0000000 --- a/lib/gltests/glthread/lock.h +++ /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 . */ - -/* Written by Bruno Haible , 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 -#include - -/* ========================================================================= */ - -#if USE_POSIX_THREADS - -/* Use the POSIX threads library. */ - -# include - -# 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 - -# 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 -# include - -# 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 - -# 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 index d55b4e2..0000000 --- a/lib/gltests/glthread/thread.c +++ /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 . */ - -/* Written by Bruno Haible , 2005. - Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, - gthr-win32.h. */ - -#include - -/* Specification. */ -#include "glthread/thread.h" - -#include -#include "glthread/lock.h" - -/* ========================================================================= */ - -#if USE_POSIX_THREADS - -#include - -#ifdef PTW32_VERSION - -const gl_thread_t gl_null_thread /* = { .p = NULL } */; - -#endif - -#endif - -/* ========================================================================= */ - -#if USE_WINDOWS_THREADS - -#include - -/* -------------------------- 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 index 6653aa2..0000000 --- a/lib/gltests/glthread/thread.h +++ /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 . */ - -/* Written by Bruno Haible , 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 - - */ - - -#ifndef _GLTHREAD_THREAD_H -#define _GLTHREAD_THREAD_H - -#include -#include - -/* ========================================================================= */ - -#if USE_POSIX_THREADS - -/* Use the POSIX threads library. */ - -# include - -# 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 - -# 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 -# include - -# 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 - -# 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 index 946268e..0000000 --- a/lib/gltests/glthread/threadlib.c +++ /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 . */ - -/* Written by Bruno Haible , 2005. */ - -#include - -/* ========================================================================= */ - -#if USE_POSIX_THREADS - -/* Use the POSIX threads library. */ - -# include -# include - -# 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 index 63c45be..0000000 --- a/lib/gltests/glthread/yield.h +++ /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 . */ - -/* 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 - -/* ========================================================================= */ - -#if USE_POSIX_THREADS - -/* Use the POSIX threads library. */ - -# include - -# 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 - -# 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 - -# 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 - -# 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 index f525a7c..0000000 --- a/lib/gltests/init.sh +++ /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 . - -# 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 index 2485c78..0000000 --- a/lib/gltests/intprops.h +++ /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 . */ - -/* Written by Paul Eggert. */ - -#ifndef _GL_INTPROPS_H -#define _GL_INTPROPS_H - -#include - -/* 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 - . */ -#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__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__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 - . */ -#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__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 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 index b9da2b5..0000000 --- a/lib/gltests/inttypes.in.h +++ /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 . */ - -/* - * ISO C 99 for platforms that lack it. - * - */ - -#if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -#endif -@PRAGMA_COLUMNS@ - -/* Include the original 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 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 or the gnulib replacement. - But avoid namespace pollution on glibc systems. */ -#ifndef __GLIBC__ -# include -#endif -/* Get CHAR_BIT. */ -#include - -#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 ." -#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 index 7747902..0000000 --- a/lib/gltests/locale.in.h +++ /dev/null @@ -1,201 +0,0 @@ -/* A POSIX . - 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 . */ - -#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 - -/* MacOS X 10.5 defines the locale_t type in . */ -#if @HAVE_XLOCALE_H@ -# include -#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 - */ - - /* 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 - */ - - /* 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 index 869dbf2..0000000 --- a/lib/gltests/localename.c +++ /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 . */ - -/* Written by Ulrich Drepper , 1995. */ -/* Native Windows code written by Tor Lillqvist . */ -/* MacOS X code written by Bruno Haible . */ - -#include - -/* Specification. */ -#ifdef IN_LIBINTL -# include "gettextP.h" -#else -# include "localename.h" -#endif - -#include -#include -#include -#include -#include - -#if HAVE_USELOCALE -/* MacOS X 10.5 defines the locale_t type in . */ -# if defined __APPLE__ && defined __MACH__ -# include -# endif -# include -# if !defined IN_LIBINTL -# include "glthread/lock.h" -# endif -#endif - -#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE -# include -# if HAVE_CFLOCALECOPYCURRENT -# include -# elif HAVE_CFPREFERENCESCOPYAPPVALUE -# include -# 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 -/* 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 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: - /* calls - it "Sepedi"; according to - - - 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 . */ - 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 ), - 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 index 330932d..0000000 --- a/lib/gltests/localename.h +++ /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 . */ - -#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 , - 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 , - 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 , - 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 index 478004c..0000000 --- a/lib/gltests/macros.h +++ /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 . */ - - -/* 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 -#include - -/* 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 .) - - 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 index e0d5c89..0000000 --- a/lib/gltests/malloc.c +++ /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 . */ - -/* written by Jim Meyering and Bruno Haible */ - -#define _GL_USE_STDLIB_ALLOC 1 -#include -/* 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 - -#include - -/* 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 index 1f7533a..0000000 --- a/lib/gltests/malloca.c +++ /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 , 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 . */ - -#define _GL_USE_STDLIB_ALLOC 1 -#include - -/* Specification. */ -#include "malloca.h" - -#include - -#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 index 52f0a50..0000000 --- a/lib/gltests/malloca.valgrind +++ /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 index 3c0f7ea..0000000 --- a/lib/gltests/putenv.c +++ /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 . */ - -#include - -/* Specification. */ -#include - -#include - -/* Include errno.h *after* sys/types.h to work around header problems - on AIX 3.2.5. */ -#include -#ifndef __set_errno -# define __set_errno(ev) ((errno) = (ev)) -#endif - -#include -#include - -#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 -__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 index 8201be2..0000000 --- a/lib/gltests/setenv.c +++ /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 . */ - -#if !_LIBC -# define _GL_USE_STDLIB_ALLOC 1 -# include -#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 - -/* Specification. */ -#include - -#include -#ifndef __set_errno -# define __set_errno(ev) ((errno) = (ev)) -#endif - -#include -#if _LIBC || HAVE_UNISTD_H -# include -#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 -__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 -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 index 8a47cde..0000000 --- a/lib/gltests/setlocale.c +++ /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 . */ - -/* Written by Bruno Haible , 2009. */ - -#include - -/* 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 - -#include -#include - -#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 index d9d8b47..0000000 --- a/lib/gltests/signature.h +++ /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 . */ - -#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 - 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 - #include - #include "signature.h" - SIGNATURE_CHECK (foo, int, (char, float)); - #include - ... -*/ -# 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 index b546133..0000000 --- a/lib/gltests/stdlib.in.h +++ /dev/null @@ -1,928 +0,0 @@ -/* A GNU-like . - - 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 . */ - -#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 - -/* MirBSD 10 defines WEXITSTATUS in , not in . */ -#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS -# include -#endif - -/* Solaris declares getloadavg() in . */ -#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@ -# include -#endif - -/* Native Windows platforms declare mktemp() in . */ -#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) -# include -#endif - -#if @GNULIB_RANDOM_R@ - -/* OSF/1 5.1 declares 'struct random_data' in , which is included - from if _REENTRANT is defined. Include it whenever we need - 'struct random_data'. */ -# if @HAVE_RANDOM_H@ -# include -# endif - -# if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@ -# include -# endif - -# if !@HAVE_STRUCT_RANDOM_DATA@ -/* Define 'struct random_data'. - But allow multiple gnulib generated 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 declares mkstemp. */ -/* On MacOS X 10.5, only declares mkstemps. */ -/* On Cygwin 1.7.1, only declares getsubopt. */ -/* But avoid namespace pollution on glibc systems and native Windows. */ -# include -#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 ) - 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 ) - 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 index 8139d98..0000000 --- a/lib/gltests/sys_types.in.h +++ /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 . */ - -#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 . */ -# 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 , not in . */ -/* But avoid namespace pollution on glibc systems. */ -#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \ - && ! defined __GLIBC__ -# include -#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 index 4e814c6..0000000 --- a/lib/gltests/test-alloca-opt.c +++ /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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#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 index a9cb655..0000000 --- a/lib/gltests/test-c-ctype.c +++ /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 . */ - -/* Written by Bruno Haible , 2005. */ - -#include - -#include "c-ctype.h" - -#include - -#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 index 5fcf906..0000000 --- a/lib/gltests/test-c-strcase.sh +++ /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 index 1eb5958..0000000 --- a/lib/gltests/test-c-strcasecmp.c +++ /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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include "c-strcase.h" - -#include -#include - -#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 index 479528b..0000000 --- a/lib/gltests/test-c-strncasecmp.c +++ /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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include "c-strcase.h" - -#include -#include - -#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 index 972ed06..0000000 --- a/lib/gltests/test-environ.c +++ /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 . */ - -/* Written by Bruno Haible , 2008. */ - -#include - -#include - -#include - -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 index 333af2a..0000000 --- a/lib/gltests/test-iconv.c +++ /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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#if HAVE_ICONV -# include - -# 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 -#include - -#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 index a2825cc..0000000 --- a/lib/gltests/test-init.sh +++ /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 . */ - -: ${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 index aeb1168..0000000 --- a/lib/gltests/test-intprops.c +++ /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 . */ - -/* 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 - -#include "intprops.h" -#include "verify.h" - -#include -#include - -#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 - . */ -#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__RANGE_OVERFLOW tests are equally valid as - INT__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__RANGE_OVERFLOW, INT__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__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 index 698d3dc..0000000 --- a/lib/gltests/test-inttypes.c +++ /dev/null @@ -1,118 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#include - -/* 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 index e884ea1..0000000 --- a/lib/gltests/test-locale.c +++ /dev/null @@ -1,79 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#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 index f04c301..0000000 --- a/lib/gltests/test-localename.c +++ /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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include "localename.h" - -#include -#include -#include - -#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 index 5cada7d..0000000 --- a/lib/gltests/test-lock.c +++ /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 . */ - -/* Written by Bruno Haible , 2005. */ - -#include - -#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 -#include -#include - -#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 - -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 index d7732c3..0000000 --- a/lib/gltests/test-malloca.c +++ /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 . */ - -/* Written by Bruno Haible , 2005. */ - -#include - -#include "malloca.h" - -#include - -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 index 4752a11..0000000 --- a/lib/gltests/test-setenv.c +++ /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 . */ - -/* Written by Eric Blake , 2009. */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (setenv, int, (char const *, char const *, int)); - -#include -#include -#include - -#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 index 08f9224..0000000 --- a/lib/gltests/test-setlocale1.c +++ /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 . */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (setlocale, char *, (int, const char *)); - -#include -#include - -#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 index 59a0532..0000000 --- a/lib/gltests/test-setlocale1.sh +++ /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 index 7416647..0000000 --- a/lib/gltests/test-setlocale2.c +++ /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 . */ - -#include - -#include - -#include -#include -#include - -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 index 904e147..0000000 --- a/lib/gltests/test-setlocale2.sh +++ /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 index c22ca1f..0000000 --- a/lib/gltests/test-stdbool.c +++ /dev/null @@ -1,118 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 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 - -#include - -#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 , 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 index d7237b3..0000000 --- a/lib/gltests/test-stddef.c +++ /dev/null @@ -1,52 +0,0 @@ -/* Test of 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 . */ - -/* Written by Eric Blake , 2009. */ - -#include - -#include - -#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 index 23b2b28..0000000 --- a/lib/gltests/test-stdint.c +++ /dev/null @@ -1,359 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 2006. */ - -#include - -/* Whether to enable pedantic checks. */ -#define DO_PEDANTIC 0 - -#include - -#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 - -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 - -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 - -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 index 7eeb410..0000000 --- a/lib/gltests/test-stdlib.c +++ /dev/null @@ -1,54 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#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 index cd8d8ef..0000000 --- a/lib/gltests/test-striconv.c +++ /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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include "striconv.h" - -#if HAVE_ICONV -# include -#endif - -#include -#include -#include - -#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 index adf9bbf..0000000 --- a/lib/gltests/test-strverscmp.c +++ /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 . */ - -/* Written by Eric Blake , 2008. */ - -#include - -#include - -#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 index c2af992..0000000 --- a/lib/gltests/test-sys_types.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 2011. */ - -#include - -#include - -/* 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 index d3726df..0000000 --- a/lib/gltests/test-sys_wait.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Test of macros shared between and . - 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 . */ - -/* Written by Eric Blake , 2010. */ - -static int -test_sys_wait_macros (void) -{ - /* Check subset of 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 index 0f86771..0000000 --- a/lib/gltests/test-thread_create.c +++ /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 . */ - -/* Written by Bruno Haible , 2011. */ - -#include - -#include "glthread/thread.h" - -#include -#include - -#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 index 707f7fe..0000000 --- a/lib/gltests/test-thread_self.c +++ /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 . */ - -/* Written by Bruno Haible , 2011. */ - -#include - -#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 index e53fd7a..0000000 --- a/lib/gltests/test-unistd.c +++ /dev/null @@ -1,56 +0,0 @@ -/* Test of 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 . */ - -/* Written by Bruno Haible , 2007. */ - -#include - -#include - -#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 index 926526d..0000000 --- a/lib/gltests/test-unsetenv.c +++ /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 . */ - -/* Written by Eric Blake , 2009. */ - -#include - -#include - -#include "signature.h" -SIGNATURE_CHECK (unsetenv, int, (char const *)); - -#include -#include -#include - -#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 index 5ab9c58..0000000 --- a/lib/gltests/test-verify.c +++ /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 . */ - -/* Written by Bruno Haible. */ - -#include - -#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 index 3e76761..0000000 --- a/lib/gltests/test-verify.sh +++ /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 index 9e38885..0000000 --- a/lib/gltests/unistr/test-u8-mbtoucr.c +++ /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 . */ - -/* Written by Bruno Haible , 2010. */ - -#include - -#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 index 988808e..0000000 --- a/lib/gltests/unistr/test-u8-uctomb.c +++ /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 . */ - -/* Written by Bruno Haible , 2010. */ - -#include - -#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 index ddbe9a4..0000000 --- a/lib/gltests/unsetenv.c +++ /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 . */ - -#include - -/* 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 - -#include -#if !_LIBC -# define __set_errno(ev) ((errno) = (ev)) -#endif - -#include -#include - -#if !_LIBC -# define __environ environ -#endif - -#if _LIBC -/* This lock protects against simultaneous modifications of 'environ'. */ -# include -__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 index cef14ad..0000000 --- a/lib/gltests/verify.h +++ /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 . */ - -/* 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 - 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 index f9bc30c..0000000 --- a/lib/gltests/wchar.in.h +++ /dev/null @@ -1,1028 +0,0 @@ -/* A substitute for ISO C99 , 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 . */ - -/* Written by Eric Blake. */ - -/* - * ISO C 99 for platforms that have issues. - * - * - * 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 - -> -> , and the latter includes , - once indirectly -> -> -> - 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 . - - On IRIX 6.5, similarly, we have an include -> , and - the latter includes . But here, we have no way to detect whether - 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 /* for __GLIBC__ */ -#endif - -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . - In some builds of uClibc, is nonexistent and wchar_t is defined - by . - But avoid namespace pollution on glibc systems. */ -#if !(defined __GLIBC__ && !defined __UCLIBC__) -# include -#endif -#ifndef __GLIBC__ -# include -# include -#endif - -/* Include the original 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 . - 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 -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 diff --git a/lib/idn-free.c b/lib/idn-free.c index 651212b..cd62538 100644 --- a/lib/idn-free.c +++ b/lib/idn-free.c @@ -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 . */ + not, see . */ #include diff --git a/lib/idn-free.h b/lib/idn-free.h index 58f3a2a..07a6937 100644 --- a/lib/idn-free.h +++ b/lib/idn-free.h @@ -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,11 +25,19 @@ 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 . */ + not, see . */ #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 */ diff --git a/lib/idna.c b/lib/idna.c index 9ab413c..36f5335 100644 --- a/lib/idna.c +++ b/lib/idna.c @@ -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 . */ + not, see . */ #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 diff --git a/lib/idna.h b/lib/idna.h index 2b58f8a..6511325 100644 --- a/lib/idna.h +++ b/lib/idna.h @@ -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. @@ -25,11 +25,29 @@ 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 . */ + not, see . */ #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 */ diff --git a/lib/libidn.map b/lib/libidn.map index 07a4e80..565d001 100644 --- a/lib/libidn.map +++ b/lib/libidn.map @@ -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 . +# along with this program. If not, see . LIBIDN_1.0 { diff --git a/libidn.pc.in b/lib/libidn.pc.in similarity index 90% rename from libidn.pc.in rename to lib/libidn.pc.in index a69d5d3..cf86ce0 100644 --- a/libidn.pc.in +++ b/lib/libidn.pc.in @@ -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@ diff --git a/m4/gettext.m4 b/lib/m4/gettext.m4 similarity index 86% rename from m4/gettext.m4 rename to lib/m4/gettext.m4 index f84e6a5..eef5073 100644 --- a/m4/gettext.m4 +++ b/lib/m4/gettext.m4 @@ -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 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 -$gt_revision_test_code + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#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 -$gt_revision_test_code + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#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 -$gt_revision_test_code + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#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 index 0000000..2d12f01 --- /dev/null +++ b/lib/m4/gtk-doc.m4 @@ -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 . +# +# 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"]) +]) diff --git a/m4/intlmacosx.m4 b/lib/m4/intlmacosx.m4 similarity index 64% rename from m4/intlmacosx.m4 rename to lib/m4/intlmacosx.m4 index dd91025..aca924c 100644 --- a/m4/intlmacosx.m4 +++ b/lib/m4/intlmacosx.m4 @@ -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 ], - [CFPreferencesCopyAppValue(NULL, NULL)], + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[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 ], [CFLocaleCopyCurrent();], + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[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 diff --git a/m4/libtool.m4 b/lib/m4/libtool.m4 similarity index 72% rename from m4/libtool.m4 rename to lib/m4/libtool.m4 index 828104c..c4c0294 100644 --- a/m4/libtool.m4 +++ b/lib/m4/libtool.m4 @@ -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 @@ -10,36 +8,30 @@ # 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 . ]) -# 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.so # instead of lib.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/nec; then 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 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 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 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/nec; then _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 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 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], diff --git a/m4/ltoptions.m4 b/lib/m4/ltoptions.m4 similarity index 73% rename from m4/ltoptions.m4 rename to lib/m4/ltoptions.m4 index 5d9acd8..94b0829 100644 --- a/m4/ltoptions.m4 +++ b/lib/m4/ltoptions.m4 @@ -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: diff --git a/m4/ltsugar.m4 b/lib/m4/ltsugar.m4 similarity index 95% rename from m4/ltsugar.m4 rename to lib/m4/ltsugar.m4 index 9000a05..48bc934 100644 --- a/m4/ltsugar.m4 +++ b/lib/m4/ltsugar.m4 @@ -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 diff --git a/m4/ltversion.m4 b/lib/m4/ltversion.m4 similarity index 68% rename from m4/ltversion.m4 rename to lib/m4/ltversion.m4 index 07a8602..fa04b52 100644 --- a/m4/ltversion.m4 +++ b/lib/m4/ltversion.m4 @@ -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) ]) diff --git a/m4/lt~obsolete.m4 b/lib/m4/lt~obsolete.m4 similarity index 98% rename from m4/lt~obsolete.m4 rename to lib/m4/lt~obsolete.m4 index c573da9..c6b26f8 100644 --- a/m4/lt~obsolete.m4 +++ b/lib/m4/lt~obsolete.m4 @@ -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 diff --git a/m4/nls.m4 b/lib/m4/nls.m4 similarity index 81% rename from m4/nls.m4 rename to lib/m4/nls.m4 index 003704c..afdb9ca 100644 --- a/m4/nls.m4 +++ b/lib/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: diff --git a/m4/po.m4 b/lib/m4/po.m4 similarity index 92% rename from m4/po.m4 rename to lib/m4/po.m4 index 47f36a4..c5a2f6b 100644 --- a/m4/po.m4 +++ b/lib/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 , 1995-2000. dnl Bruno Haible , 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" <> "$ac_file.tmp" <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, diff --git a/lib/nfkc.c b/lib/nfkc.c index a52d74b..940b73d 100644 --- a/lib/nfkc.c +++ b/lib/nfkc.c @@ -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. @@ -25,10 +25,10 @@ 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 . */ + not, see . */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #endif #include @@ -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 @@ -78,11 +77,11 @@ */ #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 + /** * 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 /** * 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); diff --git a/lib/pr29.c b/lib/pr29.c index fcf798d..2a2d116 100644 --- a/lib/pr29.c +++ b/lib/pr29.c @@ -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 . */ + not, see . */ #include @@ -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; diff --git a/lib/pr29.h b/lib/pr29.h index bf1bba1..d855114 100644 --- a/lib/pr29.h +++ b/lib/pr29.h @@ -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. @@ -25,11 +25,19 @@ 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 . */ + not, see . */ #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"))) diff --git a/lib/profiles.c b/lib/profiles.c index 912ee43..c0832b9 100644 --- a/lib/profiles.c +++ b/lib/profiles.c @@ -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. @@ -25,10 +25,11 @@ 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 . */ + not, see . */ #include #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} }; diff --git a/lib/punycode.c b/lib/punycode.c index 9037f51..75ef074 100644 --- a/lib/punycode.c +++ b/lib/punycode.c @@ -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. @@ -25,10 +25,31 @@ 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 . */ + not, see . */ /* - * 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 @@ -39,35 +60,13 @@ * 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 + +/**********************************************************/ +/* Implementation (would normally go in its own .c file): */ + #include #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; diff --git a/lib/punycode.h b/lib/punycode.h index 0fea6c9..37c8fb7 100644 --- a/lib/punycode.h +++ b/lib/punycode.h @@ -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. @@ -25,11 +25,32 @@ 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 . */ + not, see . */ /* - * 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 @@ -40,37 +61,19 @@ * 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"))) @@ -83,13 +86,16 @@ # endif # endif -#ifdef __cplusplus +# ifdef __cplusplus extern "C" { -#endif +# endif + +/************************************************************/ +/* Public interface (would normally go in its own .h file): */ -#include /* size_t */ -#include /* uint32_t */ +# include /* size_t */ +# include /* 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 */ diff --git a/lib/rfc3454.c b/lib/rfc3454.c index f4e411f..2147882 100644 --- a/lib/rfc3454.c +++ b/lib/rfc3454.c @@ -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 index 0000000..eead996 --- /dev/null +++ b/lib/rfc3454.h @@ -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 diff --git a/lib/strerror-idna.c b/lib/strerror-idna.c index 2ef181d..ae61ade 100644 --- a/lib/strerror-idna.c +++ b/lib/strerror-idna.c @@ -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 . */ + not, see . */ #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: diff --git a/lib/strerror-pr29.c b/lib/strerror-pr29.c index 003ed59..2192d4c 100644 --- a/lib/strerror-pr29.c +++ b/lib/strerror-pr29.c @@ -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 . */ + not, see . */ #ifdef HAVE_CONFIG_H # include "config.h" diff --git a/lib/strerror-punycode.c b/lib/strerror-punycode.c index 856b808..4d7a562 100644 --- a/lib/strerror-punycode.c +++ b/lib/strerror-punycode.c @@ -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 . */ + not, see . */ #ifdef HAVE_CONFIG_H # include "config.h" diff --git a/lib/strerror-stringprep.c b/lib/strerror-stringprep.c index cb6f636..f95aca8 100644 --- a/lib/strerror-stringprep.c +++ b/lib/strerror-stringprep.c @@ -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 . */ + not, see . */ #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; diff --git a/lib/strerror-tld.c b/lib/strerror-tld.c index 7c87fb7..fff0116 100644 --- a/lib/strerror-tld.c +++ b/lib/strerror-tld.c @@ -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 . */ + not, see . */ #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: diff --git a/lib/stringprep.c b/lib/stringprep.c index 4c85970..585e563 100644 --- a/lib/stringprep.c +++ b/lib/stringprep.c @@ -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 . */ + not, see . */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -36,39 +36,68 @@ #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 diff --git a/lib/stringprep.h b/lib/stringprep.h index 1ff4db0..add9a15 100644 --- a/lib/stringprep.h +++ b/lib/stringprep.h @@ -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. @@ -25,11 +25,19 @@ 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 . */ + not, see . */ #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 + * 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, diff --git a/lib/tld.c b/lib/tld.c index 17a1ed9..767f4c1 100644 --- 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 . */ + not, see . */ #include @@ -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. diff --git a/lib/tld.h b/lib/tld.h index 4d23e6c..4381195 100644 --- 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 @@ -28,11 +28,19 @@ 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 . */ + not, see . */ #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 - /* 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 */ diff --git a/lib/tlds.c b/lib/tlds.c index 14263a4..7be88c8 100644 --- a/lib/tlds.c +++ b/lib/tlds.c @@ -1,6 +1,7 @@ /* This file is automatically generated. DO NOT EDIT! Instead, edit gen-tld-tables.pl and re-run. */ +#include #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] }; diff --git a/lib/toutf8.c b/lib/toutf8.c index c31a826..02dbb6d 100644 --- a/lib/toutf8.c +++ b/lib/toutf8.c @@ -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 . */ + not, see . */ #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); diff --git a/lib/version.c b/lib/version.c index 843f4b2..993a9d1 100644 --- a/lib/version.c +++ b/lib/version.c @@ -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 . */ + not, see . */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -33,7 +33,7 @@ #include "stringprep.h" -#include /* for strverscmp */ +#include /* for strverscmp */ /** * stringprep_check_version: diff --git a/libc/README b/libc/README index 725bd10..3e596da 100644 --- a/libc/README +++ b/libc/README @@ -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' $ diff --git a/libc/example.c b/libc/example.c index 062efd2..7fdf65a 100644 --- a/libc/example.c +++ b/libc/example.c @@ -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 . + * along with this program. If not, see . * */ @@ -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; } diff --git a/libc/getaddrinfo-idn.txt b/libc/getaddrinfo-idn.txt index 60f2fc1..fe8286f 100644 --- a/libc/getaddrinfo-idn.txt +++ b/libc/getaddrinfo-idn.txt @@ -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 index 7d5df71..0000000 --- a/m4/ac_prog_jar.m4 +++ /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 index 0000000..722d788 --- /dev/null +++ b/m4/ax_java_options.m4 @@ -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 +# +# 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 index 0000000..d474912 --- /dev/null +++ b/m4/ax_prog_jar.m4 @@ -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 +# +# 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 index 0000000..8abb733 --- /dev/null +++ b/m4/ax_prog_javac.m4 @@ -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 +# +# 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 . +# +# 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 index 0000000..9b48149 --- /dev/null +++ b/m4/ax_prog_javac_works.m4 @@ -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 +# +# 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 . +# +# 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 index 0000000..b9fcea4 --- /dev/null +++ b/m4/ax_prog_javadoc.m4 @@ -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 +# +# 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 index d416a61..0000000 --- a/m4/fcntl-o.m4 +++ /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 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 - #include - #include - #include - #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 index e337492..0000000 --- a/m4/gtk-doc.m4 +++ /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 index e2041b9..0000000 --- a/m4/iconv.m4 +++ /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 -#include ], - [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 -#include ], - [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 -#include -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 -#include -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 index 718a4f4..0000000 --- a/m4/inttypes-pri.m4 +++ /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 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 -#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 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 index 1a70543..0000000 --- a/m4/lcmessage.m4 +++ /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 , 1995. - -# Check whether LC_MESSAGES is available in . - -AC_DEFUN([gt_LC_MESSAGES], -[ - AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES], - [AC_TRY_LINK([#include ], [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 file defines LC_MESSAGES.]) - fi -]) diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 deleted file mode 100644 index ebb3052..0000000 --- a/m4/lib-ld.m4 +++ /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 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 index 1601cea..0000000 --- a/m4/lib-prefix.m4 +++ /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 . - 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 index 9da8465..0000000 --- a/m4/lock.m4 +++ /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 ]) - # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. - AC_TRY_COMPILE([#include ], - [#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 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 index cca3c1a..0000000 --- a/m4/longlong.m4 +++ /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 - @%:@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 index 05cc4ff..0000000 --- a/m4/threadlib.m4 +++ /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 . - 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 : - case "$host_os" in - osf*) - # On OSF/1, the compiler needs the flag -D_REENTRANT so that it - # groks . 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 . - 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 -#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 . 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_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 -#include ], - [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_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 index 27f9d03..0000000 --- a/m4/update-header-version.m4 +++ /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 index 077c476..0000000 --- a/m4/visibility.m4 +++ /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 index a6c7d15..0000000 --- a/m4/wint_t.m4 +++ /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 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: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be included - before . */ -#include -#include -#include -#include - 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 -]) diff --git a/maint.mk b/maint.mk index 1c7af03..1b4a2de 100644 --- 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 @@ -15,23 +15,45 @@ ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License -## along with this program. If not, see . +## along with this program. If not, see . # 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='\/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 ' \ $(_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 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 ' 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='\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='\ /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|\[ (]+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 diff --git a/packaging/libidn.spec b/packaging/libidn.spec index 848cf08..388aa7f 100644 --- a/packaging/libidn.spec +++ b/packaging/libidn.spec @@ -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 diff --git a/po/LINGUAS b/po/LINGUAS index 27686a9..fb12064 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -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 diff --git a/po/Makefile.in.in b/po/Makefile.in.in index 83d8838..38c293d 100644 --- a/po/Makefile.in.in +++ b/po/Makefile.in.in @@ -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 # -# 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) && "; \ diff --git a/po/Makevars b/po/Makevars index 7bd29b2..0003e29 100644 --- a/po/Makevars +++ b/po/Makevars @@ -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 diff --git a/po/Rules-quot b/po/Rules-quot index af52487..baf6528 100644 --- a/po/Rules-quot +++ b/po/Rules-quot @@ -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 \ diff --git a/po/cs.gmo b/po/cs.gmo index 5b9f38c1cafb8d2b2b046ccc6017abbb615f1336..756a46bb2b1ba39d29bcd3d36cadd99e6dda056f 100644 GIT binary patch delta 1706 zcmb8vPiP!f9KiA4Zn|mytVxsFn4121jY(INOuBArYPVu+HzI{twW%e95}52xlO@Sa zoY{@7f(zn7gn(oWs24Gc1#R)L{s9jv4e?M?K`iJ+JOmo;!AmcK2!4ONi3e{!`sVZA zWZu8u`)zLw|CM=jq;yk6hIfi2A|kDIB5m~3^&$`8a~Q`W_Ta0y$#>V#qQBfIau`?f ze!PSI7-P^wcy!AN)bC%%)A$A6gFH%d0GsIP3yVi5o z^snG;`f&!?co&!Oc~fjQ2*f+M7EIzXoW*|p5cT^X@d8HnRUD`@Z&WMWyz3m7AeNt{HTFGP*# z2iVX0@)-@jl?^$r>cSXRj)}S zQ$y9CpZ*lJq^bIA;=h5kkaLv;fl3+Vso~bp)l)UZ160l0?ZVGj4we7ju^O#EW6wGB zzBAttw$yd>8IvE)jGi`Uyjep(X7uFfh>j=^)jb*MwX+4sH;$Y2 za(Q>kWIcDm@q@hQ8proNUoz9SA2@}y=?=oh`kOl~E9XoWr^0N*@_~ev=rb2RhF`Mh z=4Ty~ur7KY?}`EKu&uGDJ#F$i*I3pI#k^B6mQB;>N8xzm?MNa#8Gn}NQrwCp%HPJ5 z(bzfvvPqQdo4<_K3=G=g^_IRa>#Vbo*Bx2IcEL%TR5F#clEf`L**e2G>6XLc9#lG)$fJ9o~# z_uM<#8UJ)*Z7TPdh)nDjiH1Z@REe}wPenxPaTSl?%ec++kIY; zD{>f5mh@5kzlM`|1M9GfpKd%*C%K^EI1P8xFogzv)B)De!i|!@-~sB*%&q|k@E#n; zVLXo=cnNi4A0lg$udoHb$7Z~Z8o#n3Co;`VFVS?M=a4bvD)J{A{OABTP$#&JJy_pZ ztPi5rA48qk^QZ&8fx5!$*p6Q!Ns{02F8mXR@J@~!ozXy3(Nm~f@C0hWG}1-ZG0PUb zg*U0U^OB4I;5xdD>f;}%sZQ<{*+c*Lum?XOsK))ZtvI2-F-|?##`G?SMIJ%Tz&3fi z4?DVwD}NXtpgxBq_$J2iJJkM>eIn;@1WAruL_Gsid=ZMMm)$5;rHy z+#ILj8tTBeQ3G|5KMiykk6{9dA#13I@?GS-$~S26C)8AjNt+JPh39YvZM=pWcMCP6 zzhjK?rNR{VDvk$v@Mx)?Db?5UUfMrE-P>=GvE&x&fOWj2fe)eX?J%Cg2eA)d#QX6& z>cqB?HA)u;s*&;KC^sS0^yn$pRkLkDdi9i+iw>qmXRn#kENDP2l|{sq>_^fYd<8lw zhLCD5Et)l5kQNp&i>_FU9-aX%ow=4?ErvHWV}^N3?vN$<(!^U?fF^{d^E#S3$O+IY{p3rq8!ajZGtr)@dI zeSUY%kxnL&Tr`&T%yNoAmdmXPI>qvnH8(>}-mX2v?+dk7$SJ&EYlk}$7cyCI!K7yW z#T7H>rsln*%%m?Er|@(AMmQYr&tGclo0_r4)1I46`HR+soAt&_-0qKC_K+1HF#Yz} zz(}thx9#dP)7DvUC6)PKzkbUewBn<@G8P}CU;b9p4~3fMmWqb0)l20pZmqr^, 2007, 2008, 2011. +# Petr Pisar , 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 \n" "Language-Team: Czech \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" diff --git a/po/da.gmo b/po/da.gmo index aefd003502bd2e94ca115166669f15a09efc289c..47c27f049a6c70fff3d15d58c2b81f52f08991eb 100644 GIT binary patch delta 2491 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, 2004-2011 +# Morten Bo Johansen , 2004-2011. +# Joe Hansen , 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 \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 \n" "Language-Team: Danish \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" diff --git a/po/de.gmo b/po/de.gmo index c598541b78b6bef8e4f1615083ff8294951f2456..a39ef4779d1f9fe5a1a3671488b5545b4433d4b9 100644 GIT binary patch delta 2292 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 diff --git a/po/de.po b/po/de.po index c2bce52..b938693 100644 --- 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 , 2004. -# Roland Illig , 2009. -# Roland Illig , 2011. +# Roland Illig , 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 \n" "Language-Team: German \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 index c9ff83c3d51c006875750e899379f33c1bd30c72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8304 zcmeHKON<;x8Lki;;(-L51QRfj3dHPgyglBBotUuMB}U4Q-czpLtZcklbQz;g=i<7jW)Cd2~pm$&1E=Z^hCTm>Eg2EgwDp9b!G zuMj@)D)21uZQx&l)9({v2t20l5aJN}`hXC30j~fb0)7+t2F8B^^w59l{X%>O_$u&Y zz`p>iz(XGpVgxu-paqitdEhMY72ut~gLr)sct4Q+&*Akc;5ncKS|Is<3+Mr_75E3> z{pjBV;XVkQ1b!M=2R;mJ13wCU0Z6%C20}IQ8{oab*MRo`-vpBXJ}{x(jsm&PSAbYT zd>@FPxP}+`zXGIuZvc+~@A^>QKMrL7Ng(C=Dv;}Z7fAhn1iTOUDqbJ_e-yF969e27*L91B_w+7lHKaAxxrQe*k3-MXt zJdl3<29S39HIRD$zUcoQNW0yMAeF!|Ao)K5DOyO`t@f(+UFNQ%0s1z_X27EVIYRY=YjO=3J~rQ zkDxt_MjOLrPG;Jve7F`L&KX9d?@pre*_VT}FaM6CokF9XC=>Oopz%R^iwE7m{6!xg zFZxJLryK3Vhx+oN+>>Z9rF)LzO&e1WKGe5-_T$enG`QW>kK2I=S?4?YtA_Rf8f}KK z>pyU}7(=5^X!iqX2u(4HHiX89cBBvQMysN^N4m%J{3x;;US|9x(QTtbd~VuyJ5q9X zdVWeyad>%qv=#YnIUK5%pGB#(t=34TEU|V7l**rHblb#B6O9#^FR;;)^bH~306K%PPo~J|O zd#UxDS)^}5x&19OIg`}8Wv;aw;AFL_Q>^WsC;7UH6KFp;BPTBh z`ZKtK;S|%l7!1C39r*bf35htxf_ayge#u1{7cb&1o-tEtmIX)YQ?s@JF|+Y`^MN*vb+R-s$^GnZM-Gw9Y0QxqN_)ep(?1Ta?c{M z6I!OD*K~@&S=)k`Jug!0Dw3h?`r3fB+hsgQ+9-rks^S*BLv_+l@xizRcd;B6(WZ&fQ5)UzTi6G>mGO{6uK1fMl@ojpVFcU)4tu%hE?EOf9v*6G~lbYo6Ofs&3zRF>nZwJt17E7F0}eocouhL12EvO!Z6@>FAY zfiT+ivQ*5(G5DZ6kdtM-!A_-(=45e(TUTIn&bd_zDsjffSSD0PMkr3SIT#}QHG-`z zyV_)lGmadF9Y+Sp2lh>ul0_)@MVqC7NP-w_x43wUPcpj;DU6vxmGDJ>a|9NY?P`7n@EJ84=_*iGF*MXV)1PfV8 z3vJj8J24Uv{+AKLM>!9mlVER(#11mG87O8fQf4h{AwjX_uoS?X>&T^0EDltX9ct|A zqXFvO$BQ~FTZjj6Z{+6!dI_s_dp2caLTw1rwC;R!Q<`!|8Kj+jOM6Iz=MW3X~@cnEax#g{`$K!w4C&Jum-=bB0+jc{P!tsJ}>E9xH}iSwL}S z5vB9px=6z2Ru2Wy4?4NKi|mq+$0N|a6$6}3hsT#GD0op-g{mqu;4I?a;iqrS%A zSL(e(?%4l90k$FBcQ%$?1ss^{a%@{%ZcAsH3=myEG#x>7v{fQtyblQBGlQb zh`_}Z-Bf0R+pjPOMQOQt#yfcr8kJTn0IXX5mHU>g(Nv&(1rEf}i z&QDUW8T%%QxPR5;RF$=jtWw7&fr8>O{c1?8&Gc9=!me?uJRh8PvAa!2c~AsBcNRo-uE~=) zMO7A~EcPQ0TU!_BX47-sqvy`+S_c&JeFP`NfuAlvJ zUP8<7Uh(yvUPz01yI)HSUjHYT)6#^6*8kdzYQdb>)jt1sc4^&x=H3N%?*jWSF0e&V X^{=r-OzvG~ufOl^U1tBCm)U;+-O+)! diff --git a/po/en@boldquot.po b/po/en@boldquot.po deleted file mode 100644 index f9e3bc3..0000000 --- a/po/en@boldquot.po +++ /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 (‘-’)" - -#: 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" diff --git a/po/en@quot.gmo b/po/en@quot.gmo deleted file mode 100644 index d5ec5d91f9256128d37971b11205840e5ce7c310..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8172 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 diff --git a/po/en@quot.po b/po/en@quot.po deleted file mode 100644 index 8ea82fd..0000000 --- a/po/en@quot.po +++ /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" diff --git a/po/eo.gmo b/po/eo.gmo index 05669240de82525cb282f7567bbb406d83ce2562..2249a8f37b175baba1d6d0bf51a1f076952ab2ff 100644 GIT binary patch literal 8269 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 diff --git a/po/eo.po b/po/eo.po index d6edebc..5b32875 100644 --- 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 , 2004-2005, 2007-2008. # +# Tradukoj kiuj komencas per "##" estas mesaĝoj por erarspurado; +# iliaj "msgid" devus malesti en ĉi tiu dosiero. +# +# Edmund GRIMLEY EVANS , 2004, 2005, 2007, 2008. +# Benno Schulenberg , 2012. +# Felipe Castro , 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 \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 \n" "Language-Team: Esperanto \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 .\n" +#~ "Raportu programmisojn al <%s>.\n" +#~ "Raportu tradukerarojn al .\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 index 0000000000000000000000000000000000000000..39ff055a2e4ec843d0d9e53994d19b9f8e97b991 GIT binary patch literal 8665 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 oVS*RzNT, 2018. +# Cristian Othón Martínez Vera , 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 \n" +"Language-Team: Spanish \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" diff --git a/po/fi.gmo b/po/fi.gmo index a90ddc899d0068e0f08f33793b5f629ea169c60e..6b50ea6e45ca23560c6ec8880458594cf52ac689 100644 GIT binary patch delta 1293 zcmY+^OGs2v7{Kvwrty`}e9e^BTpwjV#!NFUEF&M~qb4dy=mCRHDyUO4BerTbA+;!! zp)e>SYT+UZytcDd5kzjHg=kPwOAR6{+6eu>JEPEt$KN@Z>p9=~&bfYSTdRwF&UV}t zqK;Nbo3)7?!|qM|A_g2H_izw<^+AHjB=n&V|6mvPB#M;rw@)#j@qCg<1%5{lW+aR3 z!Y15?y;v?1k?V9icrcCW_zQQSq{PN^&3F|vF?X{_36|o1 zJdRs2f||g6Ok#bRrIX8pIrQQO)QO8yV+nXsC%lL{;V^1KleiOSo zEvOsnK^Kl8ugC-@vc5c^Q;$zD2N&c1KrN+>vgm{^%)&-oqSPJuoN+1H4d6$7fla)0 z8CUQUp4lSO#``nqWc)W<3JdTRat&k=EAShhz;x2D#q+3@ zxPzM5BdkIbb)m1=htOwU(Be>gE=%#gp5iPrxM1$lvLT|dBu?F|W3O?ok zf-lYbzhR&r3-{GJzCEbb;kd0bJ5cXQ8BGi;JRaZBP+-hsIumN_W^3{xTXZ6&DmtBd zE$U4xHs7U{+0Dw#*LKsHooZ|D@f;oP4;?g4`>zCoVIv&$jf94L;laR&;SUA_!H^LS z7~uiG(d`@QANBS7J!k#CVZ+zg7xafh)n-x7f<4-r>@wS(Ew<=GS97$p;AYfO*kwK| LT(+Cb?w|I5IlPSS delta 3442 zcmZ{kTWlOx8OM)}n>tIACUr@Gw&b+LankH=9lN2_Ev3dW!Er8NJ4J{J?eXqe@A1ye z+0M+mS*mFBzze)USP=wL5E2%sh)ac~79p-$q)LbfD5x(*AS%HF;em>akZ2`--|Vj4 zigL8Gzqy>t_x-=iYtt{yw|{@z$QKmjA+9^Q{xPJ~1^COi@W&XvNvUgaH!Q=i!mDs( zmr@2^gNyLr@Kt!~W~CR<3Ad<}|0)BAfo z4J8C0hq7M`nW8=qyM*9tu>Bogtg)&F4{+LdVH;NAeQ#6h6Yv^5$%22vd3gMwQvB2t zSR)618a@KA!*E!s-@ylYK68gsN8zX7Vfbx$0=@vxz>z!Af0COEWZrRj1zv#Pg0k_e zun70v)k~uHLz#abJ`CGXa^#17{u!Q<`N(xYya@TJ&+zvEd>TFq{|LpPdk&#L#;DWi zL&B;ulq?OPZ2ZMOe+JL-d;?Cw2X#-%0E(fPVIE$Ea`2Dgd*R=qgeHG?&wy1ZvHvne zWc8yqH)7!n5Y^NxP-2^7mL$&s_(6CW%0cx$+fZWLf!L(J2_?3_fJ0Ecl_VA?h+3AA zlB9znXUS;GB8icBEf&id=|Sl}C1wwCNfk)KafZrq$q>~<%E6GhivlvJ(9Ag!JsaY& z3^9C~i)gjwIg7o>DxSy?$p(XdqweF9Fi~kr`Vxtom8O*A3>Tthstv=zAa$}_k&=_D z+RY_ND`A@8k})QQDKg*2C5fiC?8pa(XB&B4C^TYUb%A}~^2*Y}`O{j)#l-5QVau-S zY(*z&?4q?sY#X{iSGy=lt*PWXSN9$4{Pd<>6OWm|z1hrUMwiZ;(8}tG{Pz4KCAU1c zyfBgHtFQFG>e7-;d^0W&p0}rumD1RhtxR8@T|S#_)_G?CU0XldH9oYbX5z%Ax-_0l z6my-IZ!WgO&_op-xX5B@YU3)4b?S9m>%WLh>U@OFpTxh44~>g-gqf^ajZNGt=5n(^ z(DyviCbrsMLXec{?6b;aRL1ZM`)9jiQq{&WFUmF3&g^L>wvtOIYV;>{-?wU zt2SKh+fitvRBxErnbpARxev`QEzhsu)QXo7mTiJheec+hbCcA>X`-KWX-$_32wn9t zE}O8y`ck3lJ?}V;`@%#HvlF+5ewi^=9H{DsiBS->lXhO4M3gDHN<@Y|(R9S8V7S%U zR#-LBe4K87PrWbZ)SQp1fh%YJueyqh zZAXvR4hQ6?NWv*}7pLtB5?`{M9N-cZoz=9d;17tUNbe?c#HH(P0UQ-|Hn?q=*#8w9OLzkKETPHpqh zYXu?|8m$|0V!Hw#e$2bjB#F^Jup1=I|6QBT$hSewbGuXZQ#@sLFK@G1{n{TqzrOyn zciZRR!DH3~22%%pfak4e_Lqjn&e^!`lC=A*Y&@Rum+Ra*_Go+2OLFGQ&UfxY1-6v z@5#|-BqdNYE^L^{=mxc#wt{vbvJY$vc*^J2S=#Ri1w-jJ>xoUAu1k=JQg^f13mEqV zOx94#flHIjc0B9%5AJkgOqxq&@@ zIN4kp(h?TA*f}~$;yRCyJ#}KskJw@*n}Wdl@#+xNbT4%J6>y34NnL diff --git a/po/fi.po b/po/fi.po index 5f60256..6c2cb92 100644 --- 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 \n" "Language-Team: Finnish \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" diff --git a/po/fr.gmo b/po/fr.gmo index ef0b5db938b6bcfb3d8f31d527f8a4d749f70776..7a29d2553a3cab903f205c5820724095f6e8d0a6 100644 GIT binary patch delta 1696 zcmb8vO-x)>6u|K_1C&p}g7!;+3$`5v9!>`Y8Db~}YN}YZ5JVS^&zV~~3CzRy-ZV8a zPBkuENTW=;bkl`4O9b-sf{}mQ5!Wb+_=)j|9LZLx8C&5@7$O7?#DTo zetG=QnfGRkH$`N+UL+9{X>SnO!#Le2@(@0cEm*)ld<*aJ-pA-LzSJyo7&q|%{)&TG z$48IgaMjbO@4tg5a0Bl_eu~nCt&H@6!%r`cqruat3l!1853An7ZpQIekv8l_-Eay= zZ~^z@8tTSALe40k;eGfO>b&2#7Db*V*u^ZmzydP2yp8;mb$)c>%cvXM!bA8=b=-Du zWt>9Y&?4#r=TQ%~hWqduk{tO0ci}hq7=BkI=pbm_U9lIn1S6;uK7+g>D|my{zkz=- zKFUYS_ynu{fLGDSwfjW^)Jbkbh&_Dw^xjHFSJ=%U&o82`Q~Z=5O>hf0;+&ei9c8@r zfXJg*|DedjIEs__a@EWDIO89296LKnKfZ{%;dfC}`~k9O`5dS4Hjd!|($mlSGEbnF z3!qO`hQDW;skm@cG?KRLAutqk*+DzdM4;QP3zZF{=0TF-f+@gv8%paExq5- z)t8%_nmb`mdfDiaIb{Q{;Abj>(04P|%uUYC>g(l+hM8Eun+dINY(C>uD3X`MEQD4GF~_Dzh)BU z#0d@aZcHDIo**n?S?jOQpr@(Nsc!o2L7MZf zdVXj)X+BtX!+*~an9wufS!-t9{8GVPvd+A9SB#s@`Zfp#%RL=G)ij#BGTHe*GFh5v z=q_*VJsg{!@qJtHP1fF>$ZUa8mNj`En2bvm!p$qJD^J-%^zMI;NOQSq|4@B-!Tb^b E2SXzRdH?_b delta 1728 zcmY+^TTEO<7{Kvww|GHVD;Ej)L`Et^T4~2CMe6W89>%xu7QcUq7VS@}MSAcD+=pA(hpjat z58!yw1nT$;IEkBBi;dh4U}vply^cre=%Ql^4JJ?*SV0TdivEI~w42#oJ@(@v9K|6# zjeGG!)Qw$6-c7#87QBwl_$TW8W%XH+6I6PcO&59@SwmKlKUw3Z3v8lp@D_GsT|=Qg zfZBcrbz`rhF7yHF8-9*^@EQ^%`5o`YJ2;5jSt`1t{>Fk6s3~|3b;2YvMBc$wQt&Zq z%AVq(c|68yH*gJ;`2KE@6xK3{rgRw(;%ZwVvfr{Bo%atM#%vAo`ob?VfsfPiPrJy2 z_}G4t`!Rtd_+HVU@F?y59U>3oDGcM=s2lwnHMBn>dzHI5igkqJA)Llud=ohu! z{*6o}O&qKy)|UY)K0LxT#HF8*KBxy$Ls=^NuohiRH>{tgrb0_u0Wn2GsOixS>ZVvz zs<^c9m3xuZx~}i#MMI>8Pt-fP8Y(TEE3fFAYgkFAS2R+ZE{%*9O;M@bLq*RJN6Gs? zvJ3Sr=%=YE(}SlGsMe~VN~v(R#O5L(-e*;b99%EontLtHT>6PN<+sZ={MF9!$b!3+ zbe96b+*hp~J;sU8jLu93g2p+Xh!uY^&a|6KWRlTRTZgt7C!LH$T^%|zGBf2(l5eOO z_f@9cv~jvqfxg`N%Bz)*WyRd*Gp7T&*{XLBI2I4gC6dN{DYCFM?;6LNOC;#aq^Rf0 zs}JvE53xmKSubYdOk_o<8gEcvZnFAUpOdp|PI6zav3yScvl`pKcjjCw?Jk&jG_iQr z%thk!ZcJvA=ZurTS$DtI%4x6wY3S0J|74A17d$|8d zuN}7Ss*@+IY4>bA^}lf;%O0}AM~!U{hr+qrjlbo0H{aZ)aR{$}x_+?~#r2EpSAs@+ zyfE%GOTqMd^szx5^xv@VjP=60(<}v7dvXmGo%u6uJ-)7EZpOr16OE9A^v0#6oAQ?J lPU*0|Dw%R~*E`ztf9+{0uitn*dd7{KSf&u6{8s0d|6i?_AJPB- diff --git a/po/fr.po b/po/fr.po index ff44a32..3edd54e 100644 --- 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 , 2008. -# Jean-Philippe Guérard , 2011. +# Jean-Philippe Guérard , 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 \n" "Language-Team: French \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 index 0000000000000000000000000000000000000000..ece0589792c5eb3e88925ac8c4c51b5638426755 GIT binary patch literal 6293 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 Jq3qvF{|^aY6u, 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 \n" +"Language-Team: Croatian \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 index 0000000000000000000000000000000000000000..ecc7d8d8b8c942b0a9c67b8efd70d4f8fd61f4b9 GIT binary patch literal 6428 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, 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 \n" +"Language-Team: Hungarian \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" diff --git a/po/id.gmo b/po/id.gmo index 6b91a537eba4047ac89025d05a2098708e7b88b7..fbf438e4d44cded3e33bca0b311adf69c83af7e6 100644 GIT binary patch delta 2427 zcmbW1U2IfE6vt;vTiQ!4(CzoI}5K}*%Fa)BBMvNrJ@Wz`T@Syml4;ugH-YrO?FHZK%Z|2O* znKS2{ySGMekDQw<-eipJUddP_#8_PwV~v<6su^1k9sp}V58MpC4E~6HAAl<6i>nyh z0Nwyw!Mk7-tiYj7;9!ZzK-&L0I01eFJ_e#IvQDrTGg7GNy1`+PgU3L+pa`nq`z3w{ zc41yt%h+nL8zhJ0;8ySu*a9wq`U-nuoLGpFiQ4b zYYJX|2_(D4Z!n---2qpYF;)$C>BVaiH{uqs1AGR20z3&u!Al^W`yT8ESsR=H;vjrv zFM;?mi4M_bSHL*<8Ay@555i87)wc&Z8v`R)cmX6&FMxFLdP#o^q}=`iQiNjg3O3j{ zNFhyu6v=ro2A%SMq(JrtD_p`(PfUy_Bjaax?ntxrI{{}t|eH*-@ zgCihRY!;;4x**le0!WU$4UU5sKyv7AiGP9QcpVQSx(QrUgkl^6q$mg@NMWUoRFKP! z9HWY^gWy4aG105GL53jZ5ORVVIk^Ec450{-Q7X;sFTN#&V;&Shw_N`HiybDUsI;wq8)=hYjt$+(?ckC-{`5`AU9JcP!6N z1ryg6DV--rlaq8{X=l}*P_Ib2y3KVnWod?)<|)fOq1%pOnOwJR%VuL4VLQ5;;6099 zsJ^*URW*IiOUsn9*cnkHef+qE6+p4foM$GpYv>yQ}MHGHfxqnpT-?5f{b?zpybabJDNAIRy3czJT> z;DkKep#A@{kUOh7YLbR1z#&c-EWOcK7MjfKW?JN|tZ)!jljrrkWgBdt?ueYoK#?sK z4liJ17Uf4eVT&xvizSi!3a^#|5c<>MH#iz9-humig{y>d#3AUxm9osUJ&LyYJ$&uY4ICtF3sxVh% z`5Xd-gg*32!+xZRXLXJbMcwx3E_u1LZSYam@^k!y{t-Ic<2<@c{@!^pl#%aref&4# C`t^ta delta 2409 zcmcJOUu;uV9LG<);#gN;|5-QModL6h?Ut?^4k{YTz`3xDK{p{Gnx5_6wU@T{mV0j* zL`+em#wXCDF=!;wB_=)?gheo#7!zX92Oo$&m>3g`e*-ZZAN&&~`2F2>1Y>ygco<7AXRHl;V4)qhMQru?^s^Dov2qp9aUk%is#I5x+3lwStx1f%`GA76aoT2ThPJI0Y);#VWr8 zyU=fjx>evHxDFfv?*TJl5Ih5tuy;Y&#y$gEz%RjO@E4HI_pK^3wg-(qoJJQt3gQm- zCWwz+#E&kx43fa>U=O&mq0%1$slOj2VUK}y(W@X?cphvAuYhn8y9V9`{swLaZ zMT3nMj)D||gCHGffmp(x2cJd=7QmO$--t~I!H>YxU^i~fg71Ul;QCg^{s0eyVeC7E zLrKW9t1I`s4pOMf7tmPiW$Y?Qme#;;#0VGycY~Wi9gKpfLE88+H~{_%?grO)BCcQ& z#K)e%4_;n)79E}JDbdW554y29eK#I|aAjS3vkUSHHDxASK zgXGG+AbIcr*aYT55>^KHf#*OC4W>5T&$gltQ3C}} z)U^(Y?iR9`3Mn5%g*V;Ohd;#?M!AKud8sTzgK~z#M4_xfCD+r_r01AG?MB6mNHFBy zt%4A<7%I7+o>d(x@{;wVQfR14XD@OYLvb(Lbm-Doq8cB^s z`gwZ7RI775y-%~vk~O>3cNe!}v15r@jTWbpsd4w9#fIg(Jax9_@N|zIiOLgopVp-n zMb&0XnTVY7zZgy{*f3{WTstZX#k|JT%A9FptYo7tYwI_5K!s{>MLAs3agZX=s;F6i<5bY#`9PW$7V=@2a9%Y|)M7RIDZeR-^7)}hu z<+a9+uB@IDd{U?dF)s|hO&BVTM2poC8Eld@C1*~aZCWQMn%8Wao)K9-qZz7Z37*X7 z&G~6V*tVWAG?kC-oJjIs+rcTq;suD5dzXcLv`1cQ?yjxQ$RC>@@u|8f$nln59}W`> zM_W8@LmqF9`*!S_NXqlA>i-d1*|0nmNa>=OgSm9|;>k9zr(5LBoUnCX&5lnoaK~Yw{Fo5J?fWVw-0)_Yz@ZiiqANo%7D`Pg%h{gIK>oovZV@40Sw(j9%!N#{bWbf%f!KLs23d7zK1g}^$Q?d8XQFl8oFBV%KXM&*q)_k}1@kd_e{k!L%EBW!M!XoM!@{!k>C z(r+|9gfIx6>&jCmQ*5#b>3t1 qoW`f89#FPKZ(k(e4tK8j_sGp~oBTOkTU$Lw-V85z9+V4R@B9N;aOHsj diff --git a/po/id.po b/po/id.po index f2a302f..529eda4 100644 --- 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 , 2008-2012. +# Andika Triwidada , 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 \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 \n" "Language-Team: Indonesian \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" diff --git a/po/it.gmo b/po/it.gmo index d1e9d68d844c77027d714eba709cc8021f357f1c..905bb39db13e911ccc9ea2809703268dd8b71469 100644 GIT binary patch delta 1292 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\n" "Language-Team: Italian \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" diff --git a/po/ja.gmo b/po/ja.gmo index 25c68ec32ca6b44c50bb245bff01ccc826870de1..99c8301768a6304abb16faee8c3c7977ac134aea 100644 GIT binary patch delta 893 zcmXxiF=!J}9LMo@&6(y}TWeaY)wVuc6%?Zg#$r1Nbu_4m6-N(p#9&S2E*TsolauWr zS0M<3gCY*a;dD?J1qZ>oPFip%ZZ2Iq`u$zbKlkqQ-f{2U|NY->Oum}vY!=<8hM1*I z(#|=?oWV*TH=>X;W*j{{i55$E8IR)wJcuvw1b)IH+`?(x&c;R8m>I?vEnY(AcTAOz z7JQuf0S`0&gL|-lS1-B!c%JbBPGE@o@Cx?hYaGM3con~*)*Z|D5?Vy9cMbL4ZJg%& zrcLJn57v;&taBU1cbVT%75IrGxQ#JYa`~#p-2zp^H>k>OqINp$8FLiRq7uJ}1GtJu zu!|#n-+ZKV3csT!?4XWfinmqrd7Q%lweWM)4nCuHxPfKN4H{F#3#iIekRqBIYJ!`{+L{(x9DNH&?>*zn=Q5u%J z-qptT(iBrVfBug&l+phsPB`5JjisC*ElM-dm5K4a_CS26vpK HJY=1J&?8-q delta 1311 zcmZwGS!h&O7{KvwoQyGQT6c}>(VE0)ua0BWRK*9;KKNq61^UnjCpy&&$(=ZJ-9Yrw ztq(1O6x!m0oGU&Up-cuF6No5GLIMs-TSVGm>q1cxH^c>(|93N?g?h-D-@P;6S-$U_ z1U0|SJUBR^;<(Tj&}Y)WiikAgPb2uCwM9jy;7oX&j$$PSI0@TvB3{HVSYLkUK^LeaN_Vyib>e2!0U2bcatNp4DP)NBpiWdQdmXh> z4{#jDMv3gFnp05Ub5%oH{Dk)cE@6GS%Y$Y`wcm=hDw~$kkx2P4U zpiEP77Ouob)Fau6gvfWO<4>T@|1)X@i>TvoqgL=uHTBmL#<*E(4QdG;)Qr|56_m+z zZB$aq_cC0NpTnl-ZRoS;n%Qupuwm0`k#xAm@I}`&t%{_fTfg_0H(#HDmr6!b_)Fl5AK-O=xZ|5;fI3l9_DEH(P46^@~U6=0s1; zZ%HM$x!!h@&KN(FbX)Yf)%A8|P1fD+nFU*%`i9*3sI$3kmv53S8N&COt!d9sx}I6R z=5y1QNqz0^C2+6j5G(6Ejog+_WsR5iP1a9le6z>(cf2n;e=B+;GIry>teNYuRSjl(Op0hUTr&gFmd}+doH#&)BW@&uIvZh7xL_D5fUs)BIC&6FA-@)Dd z<^DhIK==9HU#0(-u9rbqa4G03Cwh9+*`^Es6wlZ}+ha=u&-$L*0ejNk3kCxl^aq`V z_Rc$DrnXdgW()SdEm})(mwl4kT=m(;;+xAQTk3da2gvxsAH_4>?Zf%n#~p+AiR}&J rJ7p;H|53eNCFZ;I@4WeMs$N9K2j_y$pcvffxYqM@DE$Lt>Lc#}3G4;> diff --git a/po/ja.po b/po/ja.po index 8fcae47..dc1a5a7 100644 --- 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 \n" "Language-Team: Japanese \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 index 0000000000000000000000000000000000000000..b692d060f4f8caf9d69f4a587fed87addf184756 GIT binary patch literal 6325 zcmb`KON<;x8ONJAJTia@;T>LOCu{E}?(yz=k*skHN!AZJel6a0WZ4Rvc6ZH8OKX?iJICurz23`k`gTDvG&I1UE->-sVXAzXR6L2ed85{%OD8}y=<9~zV zf9wO+{(ey6J`H{vY=a*Jp9OK{ybOK`d=2~<_@@H@4obZ?-DBw7r|eFUz7RG+~Av_)cszPd;WIh8v`6uFX6pM!BTt z(hulu{A>p${|C8+FTyRU8}xBX+_E$P!^^`YF7?#D(F%3mQ?NK6MjE}O zsZ%TKDCO37DA%p)sJT{FSs!M>ivy*X!W`S~lOldzry0J6HLQ4Vp|9c0dU2fO%8R1J z_j0Wox{;)9XSVL8o}cSf>DW&KNy1O!p1MxcBsDUb&MRsxD>(-u&xll`(9hL{Ft4j- znpDZiIgq4h!ywSHinM1;C8^3&FO0-&BaB;_%EDT##<#oMC!9lZvn2tg2)D&+?uD^> zY<52ebv0ZN$dt;EzEaDI;SW*>+NQpe2B|hJKoAA=nF|J!k|`plBmc_Yg$RF46+6l zcGigLC12w{uWNO-RjpF$tm*k$%62{sbl}XTNj*Fp<_OUO77|#M4V=!k;CC4{y6AD?5=c<|}4bjOHb#mc=yL%&%le6>g%&n!wgh-8L8yf0~7>h$v zL86WwI6Mo%hic)3LF_H&$)cC}VYoPRQ4;J=wru$pcVC>jsKytL?3>td*)Et3XZN(w zH1VAzj@tAO`c{>jainPOfZOA438~#!`Ccqs&zjl~t07!!7KB_3wDivy@6VZY#Ln40 zCOlm%+GIrYC|LCC+CN7^YP^|bq2cgY)UpW-uNwt6$k*Ap?xDba(w=w~_{M&Y)l_+A zvUEZ>lQegaX0Kr%|1DT3C=ar5gI=X+5+*En8G|Pd= zTf&u1S7AFX`uVL&!PQvAMarYMoc}4B!P$|ttt<;NL4(CQzQE}4@ zv%S-Ml>NDPJXTxws;P-RrBkMO6=mxwN4F_}959A8W}nD8wkAF01wqQuQbzxvj^&*u zC7VlhzyY+YJYAkH@q&|UMdA8eG?smRwo~zx?m2T(xZfB+2xvC7j)a|_5?R>A> zVa*C%GxLQ+UmJ<<8yhGr-|YR{?fj_QdBqr8!3BCRcRSA+`@~_5FH6iDzLdM2%f{1B zdl3;D2A=7MO;CioCL%nE5?~{~YSR3UjdjEKxe>Clp+L$v&H5%j91{_ih}l}QR@aAZ zJ3-_>F!59Q!s8E3id2UzSe8y;)0$#H?#z-7&owq*G*c*HXLa40t%R*5{%AYyY2Qs< zjx@L|Cq;>XFhCFlRM@c6mP0Hs`(_MU8KDw@$FY>~&LCYXl7v=eN*YoC1VxBcKvku>y>iMELz75|>$q4LFl01JSy* z3S>vno{+27NuL1g$&GEh{e=)4#<-#Su!gl$Y%rpP&5)2W=@AB=g#V<-FUxw^$ePSr zJFMALM`j(91sq0~sL6=lU{E@Q#^7vVaAPYGe*x>PQBWMBC|lG#u}*APo!;MVT3iHY z?Tk42MjQY(aIDj5o_ND&e;@zf25o()hfTY%V`*tq5vq`vEg24R3*mX9L0&eyqEO5` zW)IqB4DbU3R%mdnM#nhkX7irms zBVp@yW%%2Kzwy1sB0YR&;O&YU>L;$48c@R~BRQB?0L#UJO&s{5mXJrN!Lh=a&Iwg^ zFoBNkCiZN}uQ7{^l`N>&R~zt|8rZ`d5iFRufk_vOHn2W3mQ7+z64ZdimQ75djgD=U z4Z$*NP(vab!BaJErb$^SFAnp*bx!f@p&Wxn1_t)P%h4K>YLS+O5=V;M}ee1FM)#4#rJ^_yXsDj1U{jmog) zXYS0MwU}4k-9r{lz_$_LI&GaT_e_f0Evj@6=vn{>zRPpRyaXsi4b% zB_qCci~YgZZqGZ%1>78dF=EGVz2g1MhG$#atu60l)>q9Y@Ba`E+C9tGw;O^g7wlt! cU+Z2!%XjwU+7yK#IV|vH4~u2B@t5|00KsX{yZ`_I literal 0 HcmV?d00001 diff --git a/po/ka.po b/po/ka.po new file mode 100644 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 , 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 \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 index 0000000000000000000000000000000000000000..794e51a920ba1ee968a0c7607fe93474768b0592 GIT binary patch literal 8874 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, 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 \n" +"Language-Team: Korean \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 정규화를 수행할 수 없습니다" diff --git a/po/libidn.pot b/po/libidn.pot index b2bb5dc..ceb42af 100644 --- a/po/libidn.pot +++ b/po/libidn.pot @@ -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 , 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 \n" "Language-Team: LANGUAGE \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 "" diff --git a/po/nl.gmo b/po/nl.gmo index d605a6ed4e0ec5ab6c8dbb981e44e253d97baac3..f6b1f3311835009c24d0aac09b11fe6b5b1e4099 100644 GIT binary patch delta 1638 zcmX}sUu;uV9Ki8kyKbyo-P|UBbTSXqSs1;ebfuFDP8gbyOb|AS@<6<{hf>*k$Gx`$ z6Jrx1i80P7g~a$mq6xlWd}yN4#KeGq65<{-Ci>=+8hz0x)CYs#Ut4z4dp_sa-Sh8v zPWR5tt^IG!)>cL2z&ep+L}ajAWCL+NF7hBA!30)u9M9u#y!RnG#Fu+T9>yDZAO3+8 z*h!~tm~DFk_5IiIAbyN@AyrLAu#ZT;aHvM{Q8ai0b%Gi?c(v^h_yBRVPoy75Q5T%S z93I1aaRqf@A0T^_>v#{|L>>3%zM9Bk8eNQ{6C6XvmRFIFT%^*0-$Py4*Eoj1x8wf1 zTX6<;LC>O2a1M22E4T@-A<2=iunWJ#UHDUt#t@CZftI7FN037u@G0aKS;UV>{VVt; z@dTYt{d@*B#Md^8Y{ga7jn;0_*g+%4GC$+REKU>u zN&fWAcaT3_&~elZoxu!V!4!UvlXx31;N);?!JneOe-j7sAAAUV@8@_ijY;O01sXcw zCESDGpr$&uS%kGo5|7|Cmhf%Vv-=m>oEY+~Db1lC&0f^M7jPC|$1MJc9J?e)t7dc< zw=%z^XlRFLP;c$a?f7atUPT@FZ`4b**@$exDP#@u9QNQ@&;GBraXOI% z8Aa{?7}fe3jpu1Za3_xzU4*7w(|4!nnd#)3N}W_MlOE3_JX1U|9z9PjdI5Dqnr59) zv!j>zPT^PH+>qWoonLnIXo~b6qhh~MVci~tw+qifxJX%aH-cyj+R~&yeF3VccbKKJSFLomuKjbdj zCEqUf)CanUQ^u6%X66o>Lte4@tvPA~uj&_CLFl^$Yv%UN&1#RvboUdH?QS8ozOj{p zS1eabrr=eUtsj)Vim|@$`7(3L^#dE`%~()hiLb76oT7c9TB;X%E{`OgWXhcM=zh*! zTw1Uu>74XDzN-eb>l=E1gM?|B^{I;{BgQJ0^2({rW)4I7jVrSy$v7a6_9nnRF)Yq^F!r*6d8@C$sgb!SMkW z9l8tb;PHZI2`Y7O@XFr()l!fr2TPtG8g^d^7Tj=cZ-EIt6P~hW)~%GPZpk|H)?GAi zvFO_%m}ra*eH+{Lq*tYD`Ng8G1Z&x`X4$Qn(4KDQ&HBtM^BT1?)wsRU?P^>Y8S3~S Ds|V|! delta 1614 zcmY+@UuauZ9Ki8kvbr^Gm#yvAt&QXZ%Yzjksxp(bp32k$` zo3wKd$rScFr$KR|^+6E?Q88d;uPXIHQPDS_1Shfy>VpMw1HZqU^ua^U{hV`h?)mdO z=Waay`pDH><+g~7ZWBpFL{2n|bWtzFMB;b}`|u^a#sAmQrv6^5$o=>u?!$jEiCt|X z58%m$K5GAKIEL%E9ou>I;DPN@2^$`z;a(bYXrYff!BwFzkK)sXI?Z6D)ha>n9 z&S5vMqAu(+WN-2V?!uq26aPdVziCHBWP(CJqv=E!kvZgjVA5jPI=1 z2T|*1P#5+*>O^m$?(h@bi{B$blAE{{H*g5=R4C|*GVOIwp&r3Ar~?K_7kLFgX&!&ZH}FYjJ&(WP1iHILZs5mwl=og^P>cF^d+Hne3m>FjiLkuubV%WG8h$5! zdgcSfPZx3qH8Mp^@a#mOOj3XkC&UO_#x4P;ZYpZIDhGpI+9MV-h+?ROb-_yG>$Kgh95lCWw- zAHl=SFXI&Sh4ZMlcePRfs!{&~b%JiIez}h0LF!KM*n)pP+o6AKH6Za`hdKdJ(b;p|e$$B3MPMC%oDtD3fa_Me0 znEonkCF8*=!MfuqlpV2exe<b^}2=pNPa9aV7cS|OxUdDNmKHdgXztB_1vzWPPZI*(?LB^xkS0T zt+j8T, 2005, 2007, 2008, 2011. +# Benno Schulenberg , 2005, 2007, 2008, 2011, 2020. # Elros Cyriatan , 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 \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 \n" "Language-Team: Dutch \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" diff --git a/po/pl.gmo b/po/pl.gmo index 987bc7fb0fde39ccb4382731aaeb92d82b4df842..d70765115e18213fcf8d7d7f069ff8de82e9ce68 100644 GIT binary patch delta 3284 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, 2004-2011. +# Jakub Bogusz , 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 \n" "Language-Team: Polish \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 wej¶ciu" +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 wej¶ciu" +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 wej¶ciu" +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 wej¶cia" +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 domy¶lny)\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 index 0000000000000000000000000000000000000000..bb6b151e343e8bc413e78a6dc2152c2faf5f7f8e GIT binary patch literal 8547 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 APyhe` literal 0 HcmV?d00001 diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..4899e8b --- /dev/null +++ b/po/pt_BR.po @@ -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 , 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 \n" +"Language-Team: Brazilian Portuguese \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" diff --git a/po/ro.gmo b/po/ro.gmo index 499d065e39f16b74711cbc198628c84d8a5b5b41..f855a6a2280263bdc39b1c9ce0d947188227e9a5 100644 GIT binary patch literal 8938 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 UP_g%&K5Mz{@Kj88=vmAE0nIeY2mk;8 delta 403 zcmZ9IKT88K7{<>(U2afXa1b3{2T`%P=B_Q)s|B?>2!)F6;MjOZ4aD4$OGGQ!-Su$w z3-}G3`XQWMy7?i*_v#`(&ybVRdJl29&y|U2?|nMEbW!YXn!`3qne9 z274Wr8q(KHrIMLghtOeGb7h2uLp!{**G$2lys*Q49ZPZVWq#?|J?V8xqfy@_K{hTm z>Om6{X*H9rO$BQ$@VA=o|A+M=E%>*9E5ReCIlN~TSguS!3MF_M4A-|pF*AY4f>nSW O7Gd~%PE>3s_&Yx;vS%0o diff --git a/po/ro.po b/po/ro.po index df713a2..185f0d5 100644 --- a/po/ro.po +++ b/po/ro.po @@ -1,177 +1,213 @@ -# 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 , 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 , 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 , 15.01.2022. +# Remus-Gabriel Chelu , 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 \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 \n" "Language-Team: Romanian \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" diff --git a/po/sr.gmo b/po/sr.gmo index b26bf39af883609751af000bb286d5c5d3fd4927..bae37793fa64b998f7382f623c13dbf35709c5f6 100644 GIT binary patch delta 1814 zcmYM!Uu;uV9Ki9j?hkaE8w}kBvT+#Oy0P7P+szHS)iJ;!X2SlEx%e=1X)mM6);sTQ z7fgsnq7h>-WDN;1;sX!zf?-l8hA1LL9yFLP@xgxy2@e_#iLYv6;`i5%dD7qgoO62q z-E&U+?dYwsb0g_{N~!(plnN9nRkL2HTFPO+Qaf-AD=~#T@ihKMyN}SIe7-`dR=k5- z@DJ?5QaZI`&#KcX?a$yr{1hKU9%o1E%K0oFQF{#F1FzB ztL5qqg>ndGK~pFboIrW8vsjN;kj+tFV;QdC)A&Q0%qB8b8w)m}96>M2fG;3T)EqYY zlzI(!a0D0Wbdmb6nC&LM{De~Hu#wI#Ud3VBHPtDV#W<@7QQyFJ4B;rs3#AvyOpsZ| zOT|k0pHymu@)edpjDMr-%pO+rA|~)K-o-(z)rA2k@g2$+umPL57q)mWGNg**bND9q z;CC2depSpeWC24cm*YIj8Qw=es+Rp9z}G7Cwbk-N9H!hED4eZ_a<*qs&h|3OWxItk@J~2~ zf1w=h^KAvEQI6I{rc`g^2If~+$rPcyl_dG;NJH87M~No+Nor6gk;^1M$z4PrQ9{VY zl_VFCHLHF?w!VyDv)0mja#5#g2mQP`xahy7lkgL=#oYwExt8R-w`cz? zx#RO6vgYi0*PbuWyk57pL&qofO&rvRoLIh6kK3M;a-)Sp(zT+to*0@Kkq+6x_0JY{ zSka{IYC92iV)4X`jyj12+x6m3LffwExN6^V%k}JJShskYv;KSQ3?pVAP0eJY<>wm% zMxaw4bLf7;nwy`sb-+00IMk&)@|oI-o%LZIk0rEWypoFBNo`nUwKU4SRPk$3ATv}s z%5$;OC<mTTha(b<%1%^JgwJLiRUVm@E=BHjJEkd3q@T7qUI64b4& zTC(Q$NHC}ewW(=N`I$)Q(N_bJ9?9l=m;*smpFCOULL0N4K0*3~+WX6=j01MUcCDl{ z>W1}X+)Y~6tTwy)x`KSSH#Ngj#_f5>O==Dz;mumfwQcrv($UG|wjQw(GbwAvHjdcV zoVH>y*Y>=wY{RCHOR^8^N_~4WE2nbHD`#>ya!We*WxjAacP+O>ZfWH`sl1W9nfoO7 x+5Z*Sb6@0^^3}A<{JFWlJggs_`k=*oaO(Z+#x3K;Md56;;oY+Aw&u=~{{RotHw*v( delta 1620 zcmZA0UuYaf9Ki9pOT6TgYuYq5rl%&OX*}Cx&%L{((X+LNw8qfT{JCHSU-p{YoCi%d z-k)eGaw#G{2pU`zg(fPB;FH>Yh!j!^f_*4Lr26EOK?PfoAn1!m{Qfo<9~?6KnVHP( z%=~_{*C%gIERR+HR!W_0P%0KsYN%1EcKU^|QZ2ZINAOL&!~d_MLI0Cxr5?iXFp7U+ z9NQyG9mZ2N9hCX+;V9m~J=n^l6T9}Psz2}q0}nDVh8i7|1(wmkwVFR;7yUMNw--~` zjl*~p^LP+fQ8xA^ayE4f58w~jhFd7_uisl$YMe$dZCB5SBmkw3M@Ll(G!vcWsp zgDv}Z`u!;VvnU&T8D*grloMXT4*V7glDdr{{1XRoyGlcLlxp2^1SJK}p}eq&Oi^#) zMN;q)c4HSmT48*c)vn=>xQrj%&2KQlOLENn7(EQLizMUgghvjtg&C~25vLF92px_w z5N6v?;WH=^S;4b-6UVWeU7f%Z4xxvy;~#iGUeY_EeIM_o|2001o7j)N4=8mUEo1{# zwMs)S$L}aPJjV89hb11z@Etsdw=jW6$%nk~c_fYM3w#8xqilE!N3ipdQm^4GK8wF0 zdsHLjOE#LvLDpBV(m27udd+QojQ(+Mh>X985|K5O-2Q_EL$$?ra+^fCbf-~XY~v)p zf|ALxA%lax!BY=ZciGX}Uq|rYOYyDT`B1w_^z)$>7^HCX~)bF5l zO^MXwRQU=*RD!3Ps8SlK1j8?~zJFTDjTAmn|8!h*zsQND$j(z#IiZwZs$8fp=}_c0 z@0Po0NJ=FClA<~)_tuY61E#5DTfT_23ewmu_t7w^q|gsh81JF>QHh#gB&70*?)SFq zzY0dIGub(Np=d9}`kLH8NA$4P+A3s*Go!ISZJlv)wSQ`B$}TyT;>>Q}pWQCA%f;-B zEweL2nKA!W-oD0DfpEz#YpbUei@QtVZ^D*gl+xrOt# zwv1WFVXRW3?KU(YiL#B{yf%y%Dg|C-WNB)DQrsPF{v}|!W@LirrHB!*yw4(L@L=Xb zscg^b!i+P&sAsc<^L9>67cXeb`>ACu7)b>^Gx@4>q1L@zVakzUUYJCr8i%!*fq0To#;deK#Zd}_~-?-vAhbHU) E1po!<1^@s6 diff --git a/po/sr.po b/po/sr.po index 9b6e1bd..d01188d 100644 --- 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 , 2004, 2005. -# Мирослав Николић , 2012. +# Мирослав Николић , 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: Мирослав Николић \n" -"Language-Team: Serbian \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 "Иконв система није успео" +#: 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 "Длопен система није успео" #: 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 index 0000000000000000000000000000000000000000..2a3231f8a4c7aa062691b2c7f723d983f5b3a315 GIT binary patch literal 8458 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 Qt&Hf*U4(n#+un=+4}g&t`Tzg` literal 0 HcmV?d00001 diff --git a/po/sv.po b/po/sv.po new file mode 100644 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 , 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 \n" +"Language-Team: Swedish \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." diff --git a/po/uk.gmo b/po/uk.gmo index 7cfbabaf600596835b91b7b51242fac8fd51d4e8..92f7a47dbade20554a11785769df1821ba025d64 100644 GIT binary patch delta 1819 zcmY+^Uu;uV9Ki9@?hjiTgKhj749Xb;iqKn2H#RMieCG2x?5^K^p%=K?UMpg1L~d@YS+k<8s>mdZp&# z3X}!MuoDMxF;1c^>@{SM>Ke|+FHpYwLw#PUhp1HZ6`5cF`L=on`KM0vkPn|nS=cAI z3V$uP=gymI$50lu4`qU*C>xu^W_$xlj`|p@v4|V+R-Q@|mHLJ$SD+k0C&~wVks)dv zZ;<+@Fo+NG((Cl6nC*9LTAaj^1*w=_`FHeFat=|(r=GD0pB-z#ON z3oD5^gcMmMn=Tz2r&(GQ$(<=R)MNp&IGJDFPjnFX5>a9~At{x@y($$s3MsO4DY9d^ zP@0e;w|Tl$Q3()B34SQ5f{>pdSFBXxJh=w)e@k5Xsc@-hN+&grT!o2RLQ>pLa9lHm zpRZ~y{8M?|U)yJnTN92o5pWx7TEbeV`n&sg={|e7)T{Sc89V1BrW#qtOjx>qYk!Zt z;a+WCRya_z#<$K)WGzQq>4ZI;N+)%~P9L$HOv+Ac%W-T+bssXFjFpY+RT+1(_U0_Z z7`7hECEY~eOfY1G!g|E!^`qwa#F(W+#)xgxm&;Ih7tUVmk88IzxX|4{`)6Os-CFlB z&(n2=FI4!bF6yt^>m1XeLhaml{1xq;rhBa+tc^X^k(A7DY&Wx3T*soZs1fZlV(nDp z>tk+L``+p^`yn@k!V+> zD_YplMgOXoKgpZ4DMF3TUh_lqxhmz4Li>n&YeBZm`E-Z}T& z$_0fVmu#w#oYzGH0q?B$CW9}9+?_#(q+brcxO7MpPn@ACWu)TzJiQmPSeU=99- zKHTY6Y9DrQm_X@&5qt1DZo@Ku>TvHiHDfn)(C{D)y{KUVWrFjlnIDn ziw#&(nyZIV>Vqf?dmd$?ODH>B#421v4oTg?E%+Pm$NMuBWJRH}oJUYXa0+F>6w*b# zhD(ItEv&;+ymW>3X=eKcJ(Ws*iRHXJg}2e5-`QPCy@S_SMVR&^$Kt`u*pD-xP*~4r zvRb7gG!!sv2ae#w(h&#ndz9w~wOlM;M;TxpFXN#Ha(Crhly)b_B`5kc4&tjgfwwS* zgBQs%cWHkA^cSJ6+tU7c-jFPvc{F6?fq8D6w@jtHibiTd)ha zU=ow~3`%HkZ+H)hiYlcuYgb+@Wqx&(f&<&g2gr=C2&a8~EdHM)lSz_YvqpQ@azc^{ zawu)X0804eE09HT>dHx$R7B=b?IiQ7L*%esWmhP>!S^RMj?Vni1{m?CbHiYR0j|@WwOEIBBL6lc}N2y4|^w z&Y4tX$dt}~hx>Z%fwHAV-Hzh4nbC}fwAW|N7Jpi7==!jEc5>8f^*b-r89FbFBvP9B zY-BtcGc`jWNhD~SOjEYDx|(ZP#c*8H^@+(S1L+Zpn%&7~^|*d?7?$6Cg5MY1y2Hr6 z>-OhW_f4fU=C~FeO2p4;Bavv#99I3QDb2{Pmn`Mw1q0T6S!++f-kCBZnP?)ecSSO0 zyB72Zg1Udd9t>##e|xB{#UJ$hohOd#C(U!w^ndyVbbnY6`L#f(Jsh^~ls)N*ok{z0=fw6#O<&y1Sf|U!b{#R}W-5|Nq}sLK#8@O2oi??AFPQaII0{Qv z7B+*hvYd;8Pt#Tw>@d(maWfFP+P^~~Ep{xbYCF{@KHLjI~hV;s^}5v?e^2SyydGeiJkQ@6k&~=j#0Gd#fL, 2011. +# Yuri Chornoivan , 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 \n" -"Language-Team: Ukrainian \n" +"Language-Team: Ukrainian \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-нормалізацію" diff --git a/po/vi.gmo b/po/vi.gmo index 54a07bc2cba73facc2affebcd46212c1c2e1a6a6..2bf9a5e1d9e5224d35a199e4dc0851da2e39a1e7 100644 GIT binary patch delta 3068 zcma)+U2GIp6vr=6sZ?p9RN4ZCO95$-S=#c^QV}SNN-ZB1wx&KP4l~o)v9ovT&J0+i zuErQ*8Y1-u5Rq7{iXTBBtx+GqWua>&H#*{^rik zJ@=gdIp-cE2S^4V0LfqqB!>pUCE#db{cU0W2S|=Ax;e5N2PvR#unOD<;uCfdoQm_= z%XnA~4uiA6ZwkBwl9ZDm3mL2eXMio>FOa$&`~d3>@a{42H}DP6#YfMAb7nHO6C48X z!S_Fb6u^2M(g5xOGk4%Y;^9v4E08>`gd8itHQ>Ww54f2A2bY4sf+XSmTW~nI7VHN5 z!A9_FFaZ|9`xfwi@HX%Tuns&2k^?`?hW`8TP*oY__8>?G&VmS@T?8p-KY|Z|CD3mr z*b9;puYeGNodILuIglK`1U7*+*i7qAkk(Iu8URnGv&L6>**_1SF^0NZyWCQ zmbzSHS7P(Zwq5b|_MPG1S8YujHzr$(%uQrbQG}y-Hu-aPY<9#_k84Ro>*cPOwuH%h zoHS2t-OSxSL$i7;jfY3e&hq)O9m4Jp|5p@C7pmepO6VL{g%0~;?|fltj&8_fMI$2} zQ}380j}$MLr>8wC?<=VtxlponvTU0ENk(&gI3pY!?})ud+T%TGC&ibz+;ezW;x46y z{lh0+@m`i3}~E!@^@iOJwqz&vZu)-drIsPv5r15`DhMjda>cvlL}l zV-D%y2m|Tjio2XE2BwawV)`5cDuQdO;CqZQ84X>oFC8dS8e>iJe5oR9%gVPku2LFW zl*T6B(A>Iu?QIRs4Gkq*Ro7DzX;rwk>N)9Fo=6ATlY(zIgWLg)-|OdJ6@1-ZvCp#g zlqxowDb=!Lnv;@GmDMcs3L7m)D4wCFl)ctQ+j2cO<~n{_Gmu-;hzY}6FW)QMGzH&E1~8BLi^$Iva0 zH^x@SR+n@u(NftJ9ve@pY1i;tBfU#lRDWZ=a$T!z3bLoX6<&}%jk*YO$0u%@x>S&T zU*n$*2Dt%|+$-pz zAp3FX(NS)txD5w|NueqpiejSP>qzED(Qm!5@l1+DhYdf-9kD=%KjQa?r-o5du!wJ% z8k4REnJBMb6NeAaaXmi-1!%|B28^0=Z+_^ScZH^`MOW6$Y!@8IdFdcG%uOqw?UPex zcE}wwjgc?P?MZTbMWftVHA^;EHcPMa{uS{c`+AC-`4a*GM((Ea!`Sb@e?7>Z<~9l8 za{&=f^~noWvy0aw#^$!&-W$p6CDr~gJ%=m``9v7~0IzdZpZ6v$$eTOMMScXwP>b35w?)0&KQ|_W z@>_}vHszOdAC!;J8=V%kNi-MT?_(8^_J={os)&EmfRZQe&= literal 7709 zcmd6rTaX-88OK||+khf?N73U2vMbw@O(GH&BZSFqCE291LrRO1-QJ#_nPYmohrUd9 zC`(IYRjNcww>F+z;Jv$S2qmN8w z_CKflobPy4JRi8cG)WLfWF+;EdN5NU}H{jdA_g!gO9|CU#WxN~wC^!!)umg(x?}4)Z=Q;iZ{4nF|uClDF!5Q#l z;Ag>4fdTk_@H8lTy$qtV^+)hs;NQV_g8u?V{*`Qg5ZnsNK3@a*XFbgyk^gg09rv`@kDPk#~EJ^Puq807cI)gYN*p5B?1P&VeE0IuB2Pe*h1I_g;g1-ai9= z7QAq6w(m7;D*N0FPJ?sck1n&UuYfxkfBe0fAD2MU>nC6Z{55z7cnynh0S|+Fz;A#p z@OR+H!P_BA^sIrx*Vn<@!5@J8!M}nMQ&YU$2i^;A2OkG-0{;ez->&*Vrr&0;%6Jjv zmGwL*>wgPExpf)AiAd{e5EZOR@K*3na1s0xxDEU>D7;;Beddpkf@Q|jAf{UjpxB#$ zBIiL+{P0wczW~J#zXuigDk$=@POGn=k5F zgtA5Wn>+!GeT1jcL&hJGKlw*=m3Wg_6n*6bCDsjm#jm5EO$<=iA_Oeb)0*HbAMw{G z_+HMJFf{xF<|8>Lew2^cy_qj5ZMX-lDZVye;XwG4m?qR9!F+7H<}Ia-Y*73?6zL#Q z=0!sX4W)y67`2>4he4@Wc3-N!q*##Qy!JiTg>5g&=2}YG%_(KuP0w$S&sEtT=7kf~ zl((!CWZOq%ddG`m_8MK0O)p*ySI7>5ED7pI-O>5{o)evYeZQyT1cMsNaosSg$*&|- zcL&-HYo6+CD{obEd+w@~L{?j5wWF|(DLdw?hiB*Z8mV{3NNIbnu4}KB%WFqoTjg`1 zC{8@5meX^QCdKdw>a4dqo>7Z)PRkRCo2D);V^Pmn=4Ureu>$q86>9OY7l&!&7UTaR zB8eQ=6A|+}=l2^C#`su_&$u$S6>1+sEhk!^#voU_AVPdtGbE-#R|qD)49^JLmHj%D zzmcil*i_5wG1`?=<#mCDiK@ zMoLWcy|Pjg_KSIm*d(Ir8coAAQOBANls9!el%Qi4d_GJ|t`n#bmqZ#4#D>v5gaUX< zBn!QuqoXirNzv#yk#?4RPgVBqJUqXT_sB^s-i;5IZWZO7#B6vNflP1~`$5bZ_ zc3N%LFWU7mYGYv9qUHm_(m5`^sg)88UEm!n0I2KWs%S#z_PMtJN#5e5{ewa zJx+p`VYZQqy0LKKhu9Fdr7C8eiyO0fqEOrniOS-A5{4!$g1WC=WBrn@=?EXO9Nn;# zvYBYlD5HaRnpnG|2s!9Bl9NTfA*OYpWwEu#cN)qKGszh%`7CQs7_m*w3zScB63!7w z_G^Nzp;|gfV?&ObfXB&^>1p7^!kR?LNGPLArrNA1ND@Sd?aJl}p=?q{LQ5|ra5;ee zNh_OK3o%Uc#`rE%QnK~6v+>DTxbHGqqNF^k3G#VTb~6c|mFM{>u?ewoA4!0t7(Qd) zj;Xepz6Ts%T9~BZ80{Ie)&Y&RFp^E4BlRxIQbH^xa)$QLg@Iku4V`TE31%B>vCB;kZ)@p}|BqnB~NHyF!Uzwe~{96DWJQ<~rIXn6>r)EXk|or6Q@b4%c*jhg zmXhXBUnArdc8{5y>!c=3MVAbxAcoN-vyTShu^<}`M@7Qk9XkzgMq$J~2M<+e56*p| zTrR77@=%vS$&wzpkc11S2QGZ_ewjXen0K>C*XBh#4}yiPO^-jz zx`uhSR)Q9CUCrafuPwMu&pnDBYN8#+rX;Bw{50El^u1X?P=1l3XV2E`BiSi$M!J|3 z-!0`^ONYHSRntBYH+0RuGi}6nHJl+E8g@46jz*A{!>Ca@bg*hys6G-)_AVSWqqa_O z*=kSUY;WDBwoK1#yXB_ot<%#?v=4h7E$7MMyy@-s^ey)EHnnx@%$DspP2ak0y0qVk z6T2EYLF`KnpHUUROF35a)K4;1ecCnSJ0eZ-@u@cDz)Q+b`WaRRjTE=pRnKY7s3V+< zr8(1oKHbswk-0k>Vc77!Mii#)xa@|l*=8P(CH1G5Kqud%VEJYA|#P)R;pLUo29 zTuwH(eJbp2MK9fvCUtxJ+C0&lf?=C;6P0X6ZRf;MI^?I37H7<$ZHDoVEw`!c z=Z@*yN}sd$dV!qS#pwN^yN9@@*X^!p0H@rtv`tQj@>%z?FdL}Ip=kA=qkz)cRAbOP zrTjtfdpbXc7F{(HlK;IcTdo7bdtGJ2C0e_<#$X<<; zwQ9lT=+$DQTgUxkPNtiEh!om8#C z>I<&<{Xo#X^xfnl@r3S^>xeH|d16U`A6G8f#U-^#Vi4fHlPcix!`7Yh^JxF2ECF75 zQX0-HJ$lRe?~s7UTZW;Ga0Iku=?|cdcV7*1nOM2{cxvs{PN-^cE)c&p&kKASuWiv;+6ZWGYEG3&zfR$++;6${#f~0 zxfyi<>$;-VGiJpptPp-*K)mb%ZT;sUGZH2q!HTs@()sU*o0kW@vxt3(c-i>Xd6`V=31q^C08F*v>e&G{E@N3c*K>u`s;qViF~V8q`u!N~ee^ zoSd=F^7ZdgCcJX@iceNZ5dMnIsJKKVoOJQhK+=;JXH|`jAtMhXDX6)3YW+uv5X0@* z;@8eZ`PFj)QN3%>JI5)5C`=^*R?oJLurstR5f-y672MGZLkL^8T~7HUdY(+I{nE;E z`v~qww0S|ks-V$4kC0&rT011EiJ~!NSwsy($fQ+aeI^|H@KmOBA)v@zw;4*#o@v9v z>gkk@x+)#66kS?EjGeBaymXGbKO|Z@d>R$V=45>mcJ9g8MaR zLvt(6uZnp|k)W2d<7kPXp_;}?sF09HO+%w+t(`5+{~ap4Km zd{%~UvJ3Oriz*|!2Xm1^0UzF=*V@1`_it+d6XtJz&L?^Hau%iIke6bLVD4JzkzQ{~ zT-LwoS}Kxrc4KO+m*mx87|hujf|Uh4x7cDdjhp(TXxdI~YZ215H diff --git a/po/vi.po b/po/vi.po index b33eb14..674c937 100644 --- 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 , 2005-2008. +# Trần Ngọc Quân , 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 \n" -"Language-Team: Vietnamese \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 \n" +"Language-Team: Vietnamese \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ệu nhập chứa ký tá»± khác chữ số/chữ/dấu gạch nối" +msgstr "Dữ liệu 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" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo index 3d9d54c95840874c13ed7ada4183f0d1d62f74c9..6ac456a3f666ee418df8015e41209c22e7b7ae79 100644 GIT binary patch delta 1853 zcmbW0U2GIp6oBt86uR5m+E)5Ui?>BwgihIRf563tKp{x1h_oT4QOtCAC=KjRGrLRR zg%yAJNo-I?kRMG9#L5H6!zv`YL;?X56HGMK_#}z3f4@N83&7Aw)b7#&y z=bm%sVfX#+_j}X#lu{cPDi!c3RavZ5HG0^m)Kd5=EQKk!0=@;O`R)od&`*^p^(?#% z>*1fU6&7Li9PB7?7nJXh!7cC_d;&71)e=~SCL0D*Gh7Qb+y%u!8X9oCzzO&?y0=WJ za@Y(d;1KMBJ766ggA&;1kUOed@G1B`lymQwrImVx#R5(d2Rk5Vt9KxeI>{slUw{(W zUAPR+7WDEb^LhwMKm$-59Ds7MF<1*PLz1KJzyV)z*;bW+*9r9ZKq>uoWJJE8!(54kw@l z_7IAFNu%@t^>1RqrPPa%cWS7hrwjU7h);D5is4UCN;3n+u9#@$;ASX+tb)>nT~JCJ zgA&+bNOIL_$fLess=&Xx$AZkOHbjO*D?K0$`DiR>ALy`#E$Q`oWzJ7*Ouehj_TQCIteQo*2@y^nD5>~!-!f#sbM$bKeZ%a1X}cN z8}kEZY;>Qc1IBLKW-pas?N*np@P@V9R9Ec|mP~m9?)uVg%qL3?Pat!%H0UkrcMj@6 z##esbJFmUVbZ=F(yku;*_K%2vW22e0!a5WTwHd*X5$w`!p>XFKBiI=X`g_ep(&%^0 zcw(QKw4JctU>{7GalO;z4le{(w~y{K<8Gw#tDOVJhSYE(Od>{YC#gw6&gSt26FO<@ z>H9V?M&^$!@Et+?gny==3s=txqBT02@pnVPEiy#A?AKKtXF zi&N*n&E?;{yJ%_YT=v}mFN(XaxG{6Iy3ErwojpDM>EW3hm#4-q%zk)w=IT{7dF7+& z%j2`>kKlrGT&&sT&ejb2bfG5N-B$aE0cd-<3v$_QW#9#u)9Fh?l|Ca@7t<4x{=hC2QC@|3E>D_Dtt zU<;Pnm1@A=jA4}dbJ&NMFdvJ!?7*6QHIo|H%fQ_X^rMDhlm*V9j*A&rv4(yL(G_4D z-hogc9IQ ztVKs*y5Ek{e;g&S=TR1V3*`$x!3z8qNs{^*x8d*Dfg3Y4B%-#Wv=5_f!ILO2j386g zD;Q@B&fy#Mojh~^KgC%rXVqu$W9-4I?Mme`-;V`2!Apx7f3939hSX`i3uoS?aghlZ zQTF--`I9gH2xY=|*o42L+^;0B_1KHD*CE`4v&iQ1&-DM!^z97F{CboC2Jv3j zR|jdh7&wKJvhygZzk(9T3hqK%RroZ0_&60n=BQ(t{(Po?0f|BVfD-vFloT6xZe^5QO(fCf+wRyP9v%h=${l(arvy=_S5c#6N1t z^r5by{?yBog|=QxPSl8LzS^j(#Z2T}&hhE`m~kK;aGAroukG;ZJTM-PXvPu$oL1-@g*1RZmV->IvO)3wcuztbXXhr z2Pcd%H5{4Ne90BZqSfkYH|L9*XNL9eh~bX~!y&!LA2Ym~$KC4D-5t88O>1>~+jcd% zJ#KgI{(btOaX1+L?>vv*+Rh_hPe+q`H}m@a(U?9Q@rR-l{#ZET)gB3IBL|I8;EA~Q z&{1hj$Da;%1}2H8Wi&i#))aqe+O}3DJ4?b=o3^ra?#9_K?x_zg^OQQdmZ7>UM z)yY7a!{S&!dvZB3TN_, 2005. # Ji ZhengYu , 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 \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) \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 index 26d53ac..0000000 --- a/pom.xml.in +++ /dev/null @@ -1,44 +0,0 @@ - - 4.0.0 - org.gnu.inet - libidn - GNU IDN Library - @VERSION@ - - 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. - - http://www.gnu.org/software/libidn/ - 2002 - - - GNU Lesser General Public License version 3.0 or later - http://www.gnu.org/licenses/licenses.html - repo - - - - scm:git:git://git.savannah.gnu.org/libidn.git - http://git.savannah.gnu.org/gitweb/?p=libidn.git - - - GNU - http://www.gnu.org/ - - - ${project.basedir}/java - - - org.apache.maven.plugins - maven-compiler-plugin - - - misc/** - - - - - - - diff --git a/src/Makefile.am b/src/Makefile.am index c59edb5..c59e824 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -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 . +# along with this program. If not, see . 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 diff --git a/src/Makefile.in b/src/Makefile.in index 6dccdc0..b574e38 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -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. # @@ -30,11 +29,66 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . 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 diff --git a/src/idn.c b/src/idn.c index b09762e..06d2934 100644 --- 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 . + * along with this program. If not, see . * */ @@ -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 .\n" + "information about these matters, see .\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; } diff --git a/src/idn.ggo b/src/idn.ggo index 025541c..c7a797d 100644 --- a/src/idn.ggo +++ b/src/idn.ggo @@ -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 . +# along with this program. If not, see . 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 diff --git a/src/idn_cmd.c b/src/idn_cmd.c index 56962fd..6e9423e 100644 --- a/src/idn_cmd.c +++ b/src/idn_cmd.c @@ -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, ¶ms, 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 : */ diff --git a/src/idn_cmd.h b/src/idn_cmd.h index 4b40030..47301b8 100644 --- a/src/idn_cmd.h +++ b/src/idn_cmd.h @@ -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) */ diff --git a/src/idna.el b/src/idna.el index 2f539d6..ffad43b 100644 --- a/src/idna.el +++ b/src/idna.el @@ -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 . +;; along with this program. If not, see . ;;; Commentary: @@ -26,14 +26,14 @@ ;; 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" diff --git a/src/punycode.el b/src/punycode.el index 32f81b4..d644409 100644 --- a/src/punycode.el +++ b/src/punycode.el @@ -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 . +;; along with this program. If not, see . ;;; Commentary: @@ -25,14 +25,14 @@ ;; 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" diff --git a/tests/Makefile.am b/tests/Makefile.am index f84e069..f942d1f 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -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,27 +14,28 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . 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) diff --git a/tests/Makefile.in b/tests/Makefile.in index 07244e7..9f2b8c1 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -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. # @@ -30,8 +29,63 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . 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=''; \ + grn=''; \ + lgn=''; \ + blu=''; \ + mgn=''; \ + brg=''; \ + std=''; \ + 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 index 0000000..92b5d1a --- /dev/null +++ b/tests/standalone.sh @@ -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 . + +# 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 index 0000000..85f0bd6 --- /dev/null +++ b/tests/tst_badutf8.c @@ -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 . + * + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include +#include +#include + +#include +#include + +#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 index 0000000..36991fb --- /dev/null +++ b/tests/tst_badutf8nfkc.c @@ -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 . + * + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include + +#include + +#include "utils.h" + +void +doit (void) +{ + char *badutf8 = strdup ("\xe4"); + char *s = NULL; + + s = stringprep_utf8_nfkc_normalize (badutf8, -1); + free (s); + free (badutf8); +} diff --git a/tests/tst_idna.c b/tests/tst_idna.c index 8c4ab78..20498a9 100644 --- a/tests/tst_idna.c +++ b/tests/tst_idna.c @@ -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 . + * along with this program. If not, see . * */ @@ -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"); } diff --git a/tests/tst_idna2.c b/tests/tst_idna2.c index 4528d17..772033c 100644 --- a/tests/tst_idna2.c +++ b/tests/tst_idna2.c @@ -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 . + * along with this program. If not, see . * */ @@ -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"); } diff --git a/tests/tst_idna3.c b/tests/tst_idna3.c index acf03cb..de7c9fa 100644 --- a/tests/tst_idna3.c +++ b/tests/tst_idna3.c @@ -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 . + * along with this program. If not, see . * */ @@ -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); diff --git a/tests/tst_idna4.c b/tests/tst_idna4.c index cfccee4..75b93bf 100644 --- a/tests/tst_idna4.c +++ b/tests/tst_idna4.c @@ -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 . + * along with this program. If not, see . * */ @@ -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); } diff --git a/tests/tst_nfkc.c b/tests/tst_nfkc.c index 86884d7..d9f42e0 100644 --- a/tests/tst_nfkc.c +++ b/tests/tst_nfkc.c @@ -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 . + * along with this program. If not, see . * */ @@ -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"); } diff --git a/tests/tst_pr29.c b/tests/tst_pr29.c index 4668c02..50f625d 100644 --- a/tests/tst_pr29.c +++ b/tests/tst_pr29.c @@ -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 . + * along with this program. If not, see . * */ @@ -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"); diff --git a/tests/tst_punycode.c b/tests/tst_punycode.c index 61a983a..b24f441 100644 --- a/tests/tst_punycode.c +++ b/tests/tst_punycode.c @@ -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 . + * along with this program. If not, see . * */ @@ -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"); } diff --git a/tests/tst_strerror.c b/tests/tst_strerror.c index 87e2dcf..94caca8 100644 --- a/tests/tst_strerror.c +++ b/tests/tst_strerror.c @@ -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 . + * along with this program. If not, see . * */ @@ -31,7 +31,9 @@ #include #include #include -#include +#ifdef WITH_TLD +# include +#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 } diff --git a/tests/tst_stringprep.c b/tests/tst_stringprep.c index a55f30b..b91f4fb 100644 --- a/tests/tst_stringprep.c +++ b/tests/tst_stringprep.c @@ -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 . + * along with this program. If not, see . * */ @@ -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"); } diff --git a/tests/tst_symbols.c b/tests/tst_symbols.c index 86d4f84..257a591 100644 --- a/tests/tst_symbols.c +++ b/tests/tst_symbols.c @@ -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 . + * along with this program. If not, see . * */ @@ -22,8 +22,6 @@ # include "config.h" #endif -#include - #include #include #include @@ -33,14 +31,20 @@ # include #endif +#include "utils.h" + +#include + 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 } diff --git a/tests/tst_tld.c b/tests/tst_tld.c index 919d560..e91b5f3 100644 --- a/tests/tst_tld.c +++ b/tests/tst_tld.c @@ -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 . + * along with this program. If not, see . * */ @@ -28,6 +28,7 @@ #include #include +#include #include #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 index 0000000..26dfa30 --- /dev/null +++ b/tests/tst_toascii64oob.c @@ -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 . + * + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include +#include +#include + +#include +#include + +#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); +} diff --git a/tests/tst_toutf8.c b/tests/tst_toutf8.c index a98f012..f510425 100644 --- a/tests/tst_toutf8.c +++ b/tests/tst_toutf8.c @@ -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 . + * along with this program. If not, see . * */ diff --git a/tests/tst_utf8crash.c b/tests/tst_utf8crash.c new file mode 100644 index 0000000..a14825d --- /dev/null +++ b/tests/tst_utf8crash.c @@ -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 . + * + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include +#include +#include + +#include +#include + +#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 index 0000000..bdbfe5f --- /dev/null +++ b/tests/tst_versions.c @@ -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 . + * + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include /* printf */ +#include /* EXIT_SUCCESS */ +#include /* strcmp */ + +#include + +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; +} diff --git a/tests/utils.c b/tests/utils.c index 15e4049..9fd0526 100644 --- a/tests/utils.c +++ b/tests/utils.c @@ -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 . + * along with this program. If not, see . * */ @@ -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; diff --git a/tests/utils.h b/tests/utils.h index 8709e79..8069c53 100644 --- a/tests/utils.h +++ b/tests/utils.h @@ -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 . + * along with this program. If not, see . * */ @@ -25,18 +25,18 @@ # include # include -#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); diff --git a/win32/include/ac-stdint.h b/windows/include/ac-stdint.h similarity index 66% rename from win32/include/ac-stdint.h rename to windows/include/ac-stdint.h index e5be451..7b92830 100644 --- a/win32/include/ac-stdint.h +++ b/windows/include/ac-stdint.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2012 Free Software Foundation, Inc. +/* Copyright (C) 2008-2024 Free Software Foundation, Inc. Written by Adam Strzelecki This file is part of GNU Libidn. @@ -25,27 +25,27 @@ 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 . */ + not, see . */ #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 diff --git a/win32/include/config.h b/windows/include/config.h similarity index 73% rename from win32/include/config.h rename to windows/include/config.h index 90409a4..aa75999 100644 --- a/win32/include/config.h +++ b/windows/include/config.h @@ -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. @@ -25,25 +25,25 @@ 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 . */ + not, see . */ #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 */ diff --git a/win32/include/idn-int.h b/windows/include/idn-int.h similarity index 90% rename from win32/include/idn-int.h rename to windows/include/idn-int.h index ca86658..7ef3c14 100644 --- a/win32/include/idn-int.h +++ b/windows/include/idn-int.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2012 Free Software Foundation, Inc. +/* Copyright (C) 2008-2024 Free Software Foundation, Inc. Written by Adam Strzelecki 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 . */ + not, see . */ #include "ac-stdint.h" diff --git a/win32/include/stdbool.h b/windows/include/stdbool.h similarity index 78% rename from win32/include/stdbool.h rename to windows/include/stdbool.h index 2a1eb8f..36a7617 100644 --- a/win32/include/stdbool.h +++ b/windows/include/stdbool.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2012 Free Software Foundation, Inc. +/* Copyright (C) 2008-2024 Free Software Foundation, Inc. Written by Adam Strzelecki This file is part of GNU Libidn. @@ -25,16 +25,17 @@ 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 . */ + not, see . */ #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 */ diff --git a/win32/include/unistd.h b/windows/include/unistd.h similarity index 100% rename from win32/include/unistd.h rename to windows/include/unistd.h diff --git a/win32/libidn.sln b/windows/libidn.sln similarity index 100% rename from win32/libidn.sln rename to windows/libidn.sln diff --git a/win32/libidn.vcproj b/windows/libidn.vcproj similarity index 100% rename from win32/libidn.vcproj rename to windows/libidn.vcproj diff --git a/win32/libidn4win.mk b/windows/libidn4win.mk similarity index 72% rename from win32/libidn4win.mk rename to windows/libidn4win.mk index 24f41f0..b2a503b 100644 --- a/win32/libidn4win.mk +++ b/windows/libidn4win.mk @@ -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 . +# along with this program. If not, see . 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 .. && \ -- 2.7.4