From 5ab968722f6f1a1343c27669773e3b5cb5138c7c Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Wed, 24 Apr 2024 07:43:39 +0000 Subject: [PATCH] Update to 1.17 --- source/ABOUT-NLS | 1380 +- source/COPYING.LIB | 218 +- source/ChangeLog | 261 +- source/DEPENDENCIES | 77 +- source/HACKING | 4 +- source/Makefile.devel | 41 +- source/Makefile.in | 3 +- source/NEWS | 11 + source/NOTES | 4 +- source/README | 40 +- source/aclocal.m4 | 140 +- source/build-aux/ar-lib | 21 +- source/build-aux/compile | 6 +- source/build-aux/config.guess | 1282 +- source/build-aux/config.libpath | 6 +- source/build-aux/config.rpath | 6 +- source/build-aux/config.sub | 673 +- source/build-aux/install-reloc | 24 +- source/build-aux/install-sh | 161 +- source/build-aux/libtool-reloc | 4 +- source/build-aux/ltmain.sh | 855 +- source/build-aux/missing | 2 +- source/build-aux/mkinstalldirs | 0 source/build-aux/reloc-ldflags | 21 +- source/config.h | 404 - source/config.h.in | 984 +- source/configure | 22257 ++++++++++------ source/configure.ac | 23 +- source/doc/relocatable.texi | 7 +- source/gnulib-local/lib/alloca.in.h | 14 +- source/gnulib-local/m4/alloca.m4 | 10 +- source/gnulib-local/modules/mbstate | 2 +- source/include/iconv.h | 248 - source/include/iconv.h.build.in | 12 +- source/include/iconv.h.in | 12 +- source/lib/Makefile.in | 69 +- source/lib/aliases.h | 755 +- source/lib/aliases.h.orig | 1732 -- source/lib/aliases2.h | 13 +- source/lib/aliases_sysaix.h | 49 +- source/lib/aliases_syshpux.h | 49 +- source/lib/aliases_sysosf1.h | 49 +- source/lib/aliases_syssolaris.h | 49 +- source/lib/aliases_zos.h | 241 + source/lib/armscii_8.h | 8 +- source/lib/ascii.h | 8 +- source/lib/atarist.h | 8 +- source/lib/big5.h | 8 +- source/lib/big5_2003.h | 8 +- source/lib/big5hkscs1999.h | 8 +- source/lib/big5hkscs2001.h | 8 +- source/lib/big5hkscs2004.h | 8 +- source/lib/big5hkscs2008.h | 8 +- source/lib/c99.h | 8 +- source/lib/canonical.h | 222 +- source/lib/canonical_dos.h | 30 +- source/lib/canonical_local.h | 4 +- source/lib/canonical_zos.h | 53 + source/lib/ces_big5.h | 8 +- source/lib/ces_gbk.h | 8 +- source/lib/cjk_variants.h | 8 +- source/lib/cns11643.h | 8 +- source/lib/cns11643_1.h | 8 +- source/lib/cns11643_15.h | 8 +- source/lib/cns11643_2.h | 8 +- source/lib/cns11643_3.h | 8 +- source/lib/cns11643_4.h | 8 +- source/lib/cns11643_4a.h | 8 +- source/lib/cns11643_4b.h | 8 +- source/lib/cns11643_5.h | 8 +- source/lib/cns11643_6.h | 8 +- source/lib/cns11643_7.h | 8 +- source/lib/cns11643_inv.h | 8 +- source/lib/config.h.in | 8 +- source/lib/converters.h | 67 +- source/lib/cp1046.h | 8 +- source/lib/cp1124.h | 8 +- source/lib/cp1125.h | 8 +- source/lib/cp1129.h | 8 +- source/lib/cp1131.h | 8 +- source/lib/cp1133.h | 8 +- source/lib/cp1161.h | 8 +- source/lib/cp1162.h | 8 +- source/lib/cp1163.h | 8 +- source/lib/cp1250.h | 8 +- source/lib/cp1251.h | 8 +- source/lib/cp1252.h | 8 +- source/lib/cp1253.h | 8 +- source/lib/cp1254.h | 8 +- source/lib/cp1255.h | 8 +- source/lib/cp1256.h | 8 +- source/lib/cp1257.h | 8 +- source/lib/cp1258.h | 8 +- source/lib/cp437.h | 8 +- source/lib/cp50221_0208_ext.h | 8 +- source/lib/cp50221_0212_ext.h | 8 +- source/lib/cp737.h | 8 +- source/lib/cp775.h | 8 +- source/lib/cp850.h | 8 +- source/lib/cp852.h | 8 +- source/lib/cp853.h | 8 +- source/lib/cp855.h | 8 +- source/lib/cp856.h | 8 +- source/lib/cp857.h | 8 +- source/lib/cp858.h | 8 +- source/lib/cp860.h | 8 +- source/lib/cp861.h | 8 +- source/lib/cp862.h | 8 +- source/lib/cp863.h | 8 +- source/lib/cp864.h | 8 +- source/lib/cp865.h | 8 +- source/lib/cp866.h | 8 +- source/lib/cp869.h | 8 +- source/lib/cp874.h | 8 +- source/lib/cp922.h | 8 +- source/lib/cp932.h | 8 +- source/lib/cp932ext.h | 8 +- source/lib/cp936.h | 8 +- source/lib/cp936ext.h | 8 +- source/lib/cp943.h | 8 +- source/lib/cp949.h | 8 +- source/lib/cp950.h | 8 +- source/lib/cp950ext.h | 8 +- source/lib/dec_hanyu.h | 8 +- source/lib/dec_kanji.h | 8 +- source/lib/ebcdic037.h | 129 + source/lib/ebcdic1025.h | 141 + source/lib/ebcdic1026.h | 142 + source/lib/ebcdic1047.h | 129 + source/lib/ebcdic1097.h | 186 + source/lib/ebcdic1112.h | 151 + source/lib/ebcdic1122.h | 137 + source/lib/ebcdic1123.h | 148 + source/lib/ebcdic1130.h | 164 + source/lib/ebcdic1132.h | 145 + source/lib/ebcdic1137.h | 146 + source/lib/ebcdic1140.h | 131 + source/lib/ebcdic1141.h | 131 + source/lib/ebcdic1142.h | 131 + source/lib/ebcdic1143.h | 131 + source/lib/ebcdic1144.h | 131 + source/lib/ebcdic1145.h | 131 + source/lib/ebcdic1146.h | 131 + source/lib/ebcdic1147.h | 131 + source/lib/ebcdic1148.h | 131 + source/lib/ebcdic1149.h | 131 + source/lib/ebcdic1153.h | 160 + source/lib/ebcdic1154.h | 143 + source/lib/ebcdic1155.h | 148 + source/lib/ebcdic1156.h | 157 + source/lib/ebcdic1157.h | 143 + source/lib/ebcdic1158.h | 154 + source/lib/ebcdic1160.h | 145 + source/lib/ebcdic1164.h | 171 + source/lib/ebcdic1165.h | 160 + source/lib/ebcdic1166.h | 161 + source/lib/ebcdic12712.h | 164 + source/lib/ebcdic16804.h | 178 + source/lib/ebcdic273.h | 129 + source/lib/ebcdic277.h | 129 + source/lib/ebcdic278.h | 129 + source/lib/ebcdic280.h | 129 + source/lib/ebcdic282.h | 129 + source/lib/ebcdic284.h | 129 + source/lib/ebcdic285.h | 129 + source/lib/ebcdic297.h | 129 + source/lib/ebcdic423.h | 147 + source/lib/ebcdic424.h | 150 + source/lib/ebcdic425.h | 164 + source/lib/ebcdic4971.h | 159 + source/lib/ebcdic500.h | 129 + source/lib/ebcdic838.h | 135 + source/lib/ebcdic870.h | 154 + source/lib/ebcdic871.h | 129 + source/lib/ebcdic875.h | 145 + source/lib/ebcdic880.h | 137 + source/lib/ebcdic905.h | 157 + source/lib/ebcdic924.h | 141 + source/lib/encodings.def | 8 +- source/lib/encodings_aix.def | 8 +- source/lib/encodings_dos.def | 8 +- source/lib/encodings_extra.def | 8 +- source/lib/encodings_local.def | 8 +- source/lib/encodings_osf1.def | 8 +- source/lib/encodings_zos.def | 471 + source/lib/euc_cn.h | 8 +- source/lib/euc_jisx0213.h | 8 +- source/lib/euc_jp.h | 8 +- source/lib/euc_kr.h | 8 +- source/lib/euc_tw.h | 8 +- source/lib/flags.h | 53 + source/lib/flushwc.h | 8 +- source/lib/gb12345.h | 8 +- source/lib/gb12345ext.h | 8 +- source/lib/gb18030.h | 8 +- source/lib/gb18030ext.h | 8 +- source/lib/gb18030uni.h | 8 +- source/lib/gb2312.h | 8 +- source/lib/gbk.h | 8 +- source/lib/gbkext1.h | 8 +- source/lib/gbkext2.h | 8 +- source/lib/gbkext_inv.h | 8 +- source/lib/genaliases.c | 8 +- source/lib/genaliases2.c | 13 +- source/lib/genflags.c | 12 +- source/lib/gentranslit.c | 24 +- source/lib/georgian_academy.h | 8 +- source/lib/georgian_ps.h | 8 +- source/lib/hkscs1999.h | 8 +- source/lib/hkscs2001.h | 8 +- source/lib/hkscs2004.h | 8 +- source/lib/hkscs2008.h | 8 +- source/lib/hp_roman8.h | 8 +- source/lib/hz.h | 8 +- source/lib/iconv.c | 38 +- source/lib/iconv_open1.h | 14 +- source/lib/iconv_open2.h | 8 +- source/lib/iso2022_cn.h | 8 +- source/lib/iso2022_cnext.h | 8 +- source/lib/iso2022_jp.h | 8 +- source/lib/iso2022_jp1.h | 8 +- source/lib/iso2022_jp2.h | 8 +- source/lib/iso2022_jp3.h | 8 +- source/lib/iso2022_jpms.h | 8 +- source/lib/iso2022_kr.h | 8 +- source/lib/iso646_cn.h | 8 +- source/lib/iso646_jp.h | 8 +- source/lib/iso8859_1.h | 8 +- source/lib/iso8859_10.h | 8 +- source/lib/iso8859_11.h | 8 +- source/lib/iso8859_13.h | 8 +- source/lib/iso8859_14.h | 8 +- source/lib/iso8859_15.h | 8 +- source/lib/iso8859_16.h | 8 +- source/lib/iso8859_2.h | 8 +- source/lib/iso8859_3.h | 8 +- source/lib/iso8859_4.h | 8 +- source/lib/iso8859_5.h | 8 +- source/lib/iso8859_6.h | 8 +- source/lib/iso8859_7.h | 8 +- source/lib/iso8859_8.h | 8 +- source/lib/iso8859_9.h | 8 +- source/lib/isoir165.h | 8 +- source/lib/isoir165ext.h | 8 +- source/lib/java.h | 8 +- source/lib/jisx0201.h | 8 +- source/lib/jisx0208.h | 8 +- source/lib/jisx0212.h | 8 +- source/lib/jisx0213.h | 10 +- source/lib/johab.h | 8 +- source/lib/johab_hangul.h | 8 +- source/lib/koi8_r.h | 8 +- source/lib/koi8_ru.h | 8 +- source/lib/koi8_t.h | 8 +- source/lib/koi8_u.h | 8 +- source/lib/ksc5601.h | 8 +- source/lib/localcharset.h | 48 - source/lib/loop_unicode.h | 8 +- source/lib/loop_wchar.h | 10 +- source/lib/loops.h | 8 +- source/lib/mac_arabic.h | 8 +- source/lib/mac_centraleurope.h | 8 +- source/lib/mac_croatian.h | 8 +- source/lib/mac_cyrillic.h | 8 +- source/lib/mac_greek.h | 8 +- source/lib/mac_hebrew.h | 8 +- source/lib/mac_iceland.h | 8 +- source/lib/mac_roman.h | 8 +- source/lib/mac_romania.h | 8 +- source/lib/mac_thai.h | 8 +- source/lib/mac_turkish.h | 8 +- source/lib/mac_ukraine.h | 8 +- source/lib/mulelao.h | 8 +- source/lib/nextstep.h | 8 +- source/lib/pt154.h | 8 +- source/lib/relocatable.c | 10 +- source/lib/relocatable.h | 6 +- source/lib/riscos1.h | 8 +- source/lib/rk1048.h | 8 +- source/lib/shift_jisx0213.h | 8 +- source/lib/sjis.h | 8 +- source/lib/tcvn.h | 8 +- source/lib/tds565.h | 8 +- source/lib/tis620.h | 8 +- source/lib/translit.def | 8 +- source/lib/translit.h | 22 +- source/lib/ucs2.h | 8 +- source/lib/ucs2be.h | 8 +- source/lib/ucs2internal.h | 8 +- source/lib/ucs2le.h | 8 +- source/lib/ucs2swapped.h | 8 +- source/lib/ucs4.h | 8 +- source/lib/ucs4be.h | 8 +- source/lib/ucs4internal.h | 8 +- source/lib/ucs4le.h | 8 +- source/lib/ucs4swapped.h | 8 +- source/lib/uhc_1.h | 8 +- source/lib/uhc_2.h | 8 +- source/lib/utf16.h | 8 +- source/lib/utf16be.h | 8 +- source/lib/utf16le.h | 8 +- source/lib/utf32.h | 8 +- source/lib/utf32be.h | 8 +- source/lib/utf32le.h | 8 +- source/lib/utf7.h | 8 +- source/lib/utf8.h | 8 +- source/lib/vietcomb.h | 8 +- source/lib/viscii.h | 8 +- source/libcharset/COPYING.LIB | 218 +- source/libcharset/ChangeLog | 99 + source/libcharset/INTEGRATE | 5 +- source/libcharset/Makefile.devel | 13 +- source/libcharset/Makefile.in | 22 +- source/libcharset/NEWS | 3 + source/libcharset/autoconf/aclocal.m4 | 9 +- source/libcharset/build-aux/config.guess | 1282 +- source/libcharset/build-aux/config.libpath | 6 +- source/libcharset/build-aux/config.sub | 673 +- source/libcharset/build-aux/install-sh | 161 +- source/libcharset/build-aux/libtool-reloc | 89 + source/libcharset/build-aux/ltmain.sh | 873 +- source/libcharset/build-aux/mkinstalldirs | 0 source/libcharset/config.h.in | 98 +- source/libcharset/configure | 5628 ++-- source/libcharset/configure.ac | 15 +- .../libcharset/include/libcharset.h.build.in | 53 + source/libcharset/include/libcharset.h.in | 6 +- .../include/localcharset.h.build.in | 37 +- source/libcharset/include/localcharset.h.in | 37 +- source/libcharset/lib/ChangeLog | 40 + source/libcharset/lib/localcharset.c | 279 +- source/libcharset/lib/relocatable-stub.c | 6 +- source/libcharset/m4/codeset.m4 | 2 +- source/libcharset/m4/fcntl-o.m4 | 5 +- source/libcharset/m4/glibc21.m4 | 34 - source/libcharset/m4/libtool.m4 | 227 +- source/libcharset/m4/ltoptions.m4 | 4 +- source/libcharset/m4/ltsugar.m4 | 7 +- source/libcharset/m4/ltversion.m4 | 13 +- source/libcharset/m4/lt~obsolete.m4 | 7 +- source/libcharset/m4/visibility.m4 | 9 +- source/libcharset/tools/all-charsets | 0 source/libcharset/tools/all-charsets-X11 | 0 source/libcharset/tools/all-locales | 0 source/libcharset/tools/locale_charmap | 0 source/m4/eilseq.m4 | 20 +- source/m4/endian.m4 | 50 - source/m4/libtool.m4 | 227 +- source/m4/ltoptions.m4 | 4 +- source/m4/ltsugar.m4 | 7 +- source/m4/ltversion.m4 | 13 +- source/m4/lt~obsolete.m4 | 7 +- source/man/iconv_open.3 | 50 +- source/man/iconv_open.3.html | 27 + source/po/ChangeLog | 27 + source/po/LINGUAS | 2 +- source/po/Makefile.in.in | 133 +- source/po/Makevars | 4 + source/po/Rules-quot | 6 +- source/po/af.po | 77 +- source/po/bg.gmo | Bin 8494 -> 9074 bytes source/po/bg.po | 87 +- source/po/ca.po | 77 +- source/po/cs.gmo | Bin 6796 -> 7245 bytes source/po/cs.po | 86 +- source/po/da.gmo | Bin 6387 -> 6218 bytes source/po/da.po | 80 +- source/po/de.gmo | Bin 7163 -> 7467 bytes source/po/de.po | 99 +- source/po/el.po | 77 +- source/po/en@boldquot.header | 2 +- source/po/en@quot.header | 2 +- source/po/eo.gmo | Bin 6278 -> 6171 bytes source/po/eo.po | 78 +- source/po/es.gmo | Bin 6489 -> 6372 bytes source/po/es.po | 79 +- source/po/et.gmo | Bin 6201 -> 6079 bytes source/po/et.po | 78 +- source/po/fi.gmo | Bin 6350 -> 6214 bytes source/po/fi.po | 80 +- source/po/fr.gmo | Bin 6587 -> 6460 bytes source/po/fr.po | 78 +- source/po/ga.gmo | Bin 6914 -> 6793 bytes source/po/ga.po | 78 +- source/po/gl.gmo | Bin 6586 -> 6462 bytes source/po/gl.po | 79 +- source/po/hr.gmo | Bin 6406 -> 6232 bytes source/po/hr.po | 85 +- source/po/hu.gmo | Bin 6855 -> 6731 bytes source/po/hu.po | 78 +- source/po/id.gmo | Bin 6328 -> 6841 bytes source/po/id.po | 129 +- source/po/insert-header.sin | 5 + source/po/it.gmo | Bin 6592 -> 6427 bytes source/po/it.po | 80 +- source/po/ja.gmo | Bin 6928 -> 6746 bytes source/po/ja.po | 80 +- source/po/ko.gmo | Bin 0 -> 7108 bytes source/po/ko.po | 348 + source/po/libiconv.pot | 71 +- source/po/lt.gmo | Bin 4352 -> 4223 bytes source/po/lt.po | 83 +- source/po/nl.gmo | Bin 6434 -> 6918 bytes source/po/nl.po | 102 +- source/po/pl.gmo | Bin 6717 -> 7174 bytes source/po/pl.po | 83 +- source/po/pt_BR.gmo | Bin 6660 -> 6549 bytes source/po/pt_BR.po | 78 +- source/po/remove-potcdate.sin | 8 +- source/po/rm.po | 69 +- source/po/ro.gmo | Bin 756 -> 7529 bytes source/po/ro.po | 226 +- source/po/ru.gmo | Bin 8523 -> 9082 bytes source/po/ru.po | 94 +- source/po/sk.gmo | Bin 6797 -> 7262 bytes source/po/sk.po | 82 +- source/po/sl.gmo | Bin 6381 -> 6267 bytes source/po/sl.po | 83 +- source/po/sq.po | 77 +- source/po/sr.gmo | Bin 7824 -> 8417 bytes source/po/sr.po | 88 +- source/po/sv.gmo | Bin 6487 -> 6918 bytes source/po/sv.po | 93 +- source/po/tr.po | 77 +- source/po/uk.gmo | Bin 8931 -> 9664 bytes source/po/uk.po | 92 +- source/po/vi.gmo | Bin 7050 -> 7473 bytes source/po/vi.po | 91 +- source/po/wa.gmo | Bin 6870 -> 6848 bytes source/po/wa.po | 112 +- source/po/zh_CN.gmo | Bin 6026 -> 6504 bytes source/po/zh_CN.po | 93 +- source/po/zh_TW.gmo | Bin 6057 -> 6439 bytes source/po/zh_TW.po | 92 +- source/src/iconv.c | 24 +- source/srclib/Makefile.am | 3 +- source/srclib/Makefile.gnulib | 1221 +- source/srclib/Makefile.in | 2202 +- source/srclib/_Noreturn.h | 32 +- source/srclib/alloca.in.h | 14 +- source/srclib/allocator.c | 17 + source/srclib/allocator.h | 16 +- source/srclib/areadlink.c | 16 +- source/srclib/areadlink.h | 30 +- source/srclib/arg-nonnull.h | 12 +- source/srclib/basename-lgpl.c | 36 +- source/srclib/basename-lgpl.h | 78 + source/srclib/binary-io.c | 32 +- source/srclib/binary-io.h | 34 +- source/srclib/c++defs.h | 37 +- source/srclib/c-ctype.c | 18 + source/srclib/c-ctype.h | 22 +- source/srclib/canonicalize-lgpl.c | 504 +- source/srclib/careadlinkat.c | 176 +- source/srclib/careadlinkat.h | 20 +- source/srclib/cdefs.h | 707 + source/srclib/cloexec.c | 83 + source/srclib/cloexec.h | 36 + source/srclib/close.c | 75 + source/srclib/dirname-lgpl.c | 86 - source/srclib/dirname.h | 54 - source/srclib/dosname.h | 52 - source/srclib/dup2.c | 189 + source/srclib/eloop-threshold.h | 83 + source/srclib/errno.in.h | 18 +- source/srclib/error.c | 22 +- source/srclib/error.h | 53 +- source/srclib/fcntl.c | 629 + source/srclib/fcntl.in.h | 107 +- source/srclib/fd-hook.c | 116 + source/srclib/fd-hook.h | 119 + source/srclib/filename.h | 110 +- source/srclib/free.c | 53 + source/srclib/fstat.c | 94 + source/srclib/getdtablesize.c | 124 + source/srclib/getprogname.c | 65 +- source/srclib/getprogname.h | 10 +- source/srclib/gettext.h | 31 +- source/srclib/idx.h | 134 + source/srclib/intprops.h | 307 +- source/srclib/inttypes.in.h | 1002 + source/srclib/libc-config.h | 202 + source/srclib/limits.in.h | 57 +- source/srclib/localcharset.h | 47 +- source/srclib/lstat.c | 104 - source/srclib/malloc.c | 43 +- source/srclib/malloc/scratch_buffer.h | 151 + source/srclib/malloc/scratch_buffer_dupfree.c | 41 + source/srclib/malloc/scratch_buffer_grow.c | 56 + .../malloc/scratch_buffer_grow_preserve.c | 67 + .../malloc/scratch_buffer_set_array_size.c | 64 + source/srclib/malloca.c | 42 +- source/srclib/malloca.h | 47 +- source/srclib/mempcpy.c | 33 + source/srclib/minmax.h | 60 + source/srclib/msvc-inval.c | 18 +- source/srclib/msvc-inval.h | 18 +- source/srclib/msvc-nothrow.c | 18 +- source/srclib/msvc-nothrow.h | 18 +- source/srclib/open.c | 209 + source/srclib/pathmax.h | 20 +- source/srclib/progname.c | 4 +- source/srclib/progname.h | 4 +- source/srclib/progreloc.c | 66 +- source/srclib/raise.c | 16 +- source/srclib/rawmemchr.c | 125 + source/srclib/rawmemchr.valgrind | 28 + source/srclib/read.c | 24 +- source/srclib/readlink.c | 66 +- source/srclib/realloc.c | 63 + source/srclib/relocatable.c | 45 +- source/srclib/relocatable.h | 21 +- source/srclib/relocwrapper.c | 32 +- source/srclib/safe-read.c | 16 +- source/srclib/safe-read.h | 16 +- source/srclib/scratch_buffer.h | 127 + source/srclib/setenv.c | 18 +- source/srclib/signal.in.h | 58 +- source/srclib/sigprocmask.c | 16 +- source/srclib/stat-time.c | 18 + source/srclib/stat-time.h | 22 +- source/srclib/stat-w32.c | 72 +- source/srclib/stat-w32.h | 16 +- source/srclib/stat.c | 29 +- source/srclib/stdalign.in.h | 127 + source/srclib/stdbool.in.h | 18 +- source/srclib/stddef.in.h | 75 +- source/srclib/stdint.in.h | 102 +- source/srclib/stdio-read.c | 168 + source/srclib/stdio-write.c | 20 +- source/srclib/stdio.in.h | 737 +- source/srclib/stdlib.in.h | 643 +- source/srclib/streq.h | 20 +- source/srclib/strerror-override.c | 102 +- source/srclib/strerror-override.h | 17 +- source/srclib/strerror.c | 16 +- source/srclib/string.in.h | 391 +- source/srclib/stripslash.c | 45 - source/srclib/sys-limits.h | 18 +- source/srclib/sys_stat.in.h | 223 +- source/srclib/sys_types.in.h | 18 +- source/srclib/time.in.h | 168 +- source/srclib/unictype/bitmap.h | 48 + source/srclib/unistd.c | 18 + source/srclib/unistd.in.h | 812 +- source/srclib/unitypes.in.h | 37 +- source/srclib/uniwidth.in.h | 18 +- source/srclib/uniwidth/cjk.h | 18 +- source/srclib/uniwidth/width.c | 455 +- source/srclib/uniwidth/width0.h | 485 + source/srclib/uniwidth/width2.h | 549 + source/srclib/unlocked-io.h | 30 +- source/srclib/verify.h | 151 +- source/srclib/warn-on-use.h | 58 +- source/srclib/wchar.in.h | 1338 + source/srclib/xalloc-oversized.h | 55 +- source/srclib/xreadlink.c | 4 +- source/srclib/xreadlink.h | 12 +- source/srcm4/00gnulib.m4 | 107 +- source/srcm4/__inline.m4 | 22 + source/srcm4/absolute-header.m4 | 12 +- source/srcm4/alloca.m4 | 10 +- source/srcm4/asm-underscore.m4 | 19 +- source/srcm4/builtin-expect.m4 | 49 + source/srcm4/canonicalize.m4 | 82 +- source/srcm4/close.m4 | 35 + source/srcm4/codeset.m4 | 2 +- source/srcm4/dirname.m4 | 19 - source/srcm4/double-slash-root.m4 | 2 +- source/srcm4/dup2.m4 | 105 + source/srcm4/eealloc.m4 | 2 +- source/srcm4/environ.m4 | 7 +- source/srcm4/errno_h.m4 | 12 +- source/srcm4/error.m4 | 8 +- source/srcm4/extensions.m4 | 174 +- source/srcm4/extern-inline.m4 | 30 +- source/srcm4/fcntl-o.m4 | 5 +- source/srcm4/fcntl.m4 | 151 + source/srcm4/fcntl_h.m4 | 38 +- source/srcm4/free.m4 | 52 + source/srcm4/fstat.m4 | 40 + source/srcm4/getdtablesize.m4 | 63 + source/srcm4/getprogname.m4 | 2 +- source/srcm4/gettext.m4 | 69 +- source/srcm4/glibc2.m4 | 31 - source/srcm4/glibc21.m4 | 34 - source/srcm4/gnulib-cache.m4 | 8 +- source/srcm4/gnulib-common.m4 | 817 +- source/srcm4/gnulib-comp.m4 | 431 +- source/srcm4/gnulib-tool.m4 | 10 +- source/srcm4/host-cpu-c-abi.m4 | 52 +- source/srcm4/iconv.m4 | 67 +- source/srcm4/include_next.m4 | 40 +- source/srcm4/intdiv0.m4 | 87 - source/srcm4/intl-thread-locale.m4 | 78 +- source/srcm4/intl.m4 | 309 - source/srcm4/intldir.m4 | 20 - source/srcm4/intlmacosx.m4 | 33 +- source/srcm4/intmax.m4 | 36 - source/srcm4/inttypes-pri.m4 | 42 - source/srcm4/inttypes.m4 | 180 + source/srcm4/inttypes_h.m4 | 29 - source/srcm4/largefile.m4 | 61 +- source/srcm4/lcmessage.m4 | 35 - source/srcm4/lib-ld.m4 | 6 +- source/srcm4/lib-link.m4 | 169 +- source/srcm4/lib-prefix.m4 | 206 +- source/srcm4/libunistring-base.m4 | 12 +- source/srcm4/limits-h.m4 | 14 +- source/srcm4/lock.m4 | 47 - source/srcm4/longlong.m4 | 113 - source/srcm4/lstat.m4 | 8 +- source/srcm4/malloc.m4 | 173 +- source/srcm4/malloca.m4 | 5 +- source/srcm4/mbstate_t.m4 | 13 +- source/srcm4/mempcpy.m4 | 26 + source/srcm4/minmax.m4 | 44 + source/srcm4/mode_t.m4 | 26 + source/srcm4/msvc-inval.m4 | 2 +- source/srcm4/msvc-nothrow.m4 | 2 +- source/srcm4/multiarch.m4 | 69 +- source/srcm4/nls.m4 | 10 +- source/srcm4/nocrash.m4 | 6 +- source/srcm4/off_t.m4 | 2 +- source/srcm4/open-cloexec.m4 | 21 + source/srcm4/open-slash.m4 | 60 + source/srcm4/open.m4 | 56 + source/srcm4/pathmax.m4 | 2 +- source/srcm4/pid_t.m4 | 38 + source/srcm4/po.m4 | 41 +- source/srcm4/printf-posix.m4 | 48 - source/srcm4/progtest.m4 | 16 +- source/srcm4/raise.m4 | 2 +- source/srcm4/rawmemchr.m4 | 20 + source/srcm4/read.m4 | 2 +- source/srcm4/readlink.m4 | 63 +- source/srcm4/realloc.m4 | 63 + source/srcm4/relocatable-lib.m4 | 2 +- source/srcm4/relocatable.m4 | 11 +- source/srcm4/safe-read.m4 | 2 +- source/srcm4/setenv.m4 | 70 +- source/srcm4/signal_h.m4 | 37 +- source/srcm4/signalblocking.m4 | 12 +- source/srcm4/sigpipe.m4 | 8 +- source/srcm4/size_max.m4 | 75 - source/srcm4/ssize_t.m4 | 2 +- source/srcm4/stat-time.m4 | 2 +- source/srcm4/stat.m4 | 21 +- source/srcm4/std-gnu11.m4 | 829 + source/srcm4/stdalign.m4 | 56 + source/srcm4/stdbool.m4 | 33 +- source/srcm4/stddef_h.m4 | 53 +- source/srcm4/stdint.m4 | 61 +- source/srcm4/stdint_h.m4 | 27 - source/srcm4/stdio_h.m4 | 200 +- source/srcm4/stdlib_h.m4 | 158 +- source/srcm4/strerror.m4 | 16 +- source/srcm4/string_h.m4 | 135 +- source/srcm4/sys_socket_h.m4 | 88 +- source/srcm4/sys_stat_h.m4 | 73 +- source/srcm4/sys_types_h.m4 | 38 +- source/srcm4/threadlib.m4 | 393 - source/srcm4/time_h.m4 | 83 +- source/srcm4/uintmax_t.m4 | 30 - source/srcm4/unistd_h.m4 | 353 +- source/srcm4/unlocked-io.m4 | 9 +- source/srcm4/vararrays.m4 | 72 + source/srcm4/visibility.m4 | 9 +- source/srcm4/warn-on-use.m4 | 16 +- source/srcm4/wchar_h.m4 | 257 + source/srcm4/wchar_t.m4 | 2 +- source/srcm4/wint_t.m4 | 47 +- source/srcm4/xsize.m4 | 12 - source/srcm4/year2038.m4 | 124 + source/srcm4/zzgnulib.m4 | 23 + source/tests/IBM-037.TXT | 256 + source/tests/IBM-1025.TXT | 256 + source/tests/IBM-1026.TXT | 256 + source/tests/IBM-1047.TXT | 256 + source/tests/IBM-1097.TXT | 256 + source/tests/IBM-1112.TXT | 256 + source/tests/IBM-1122.TXT | 256 + source/tests/IBM-1123.TXT | 256 + source/tests/IBM-1130.TXT | 256 + source/tests/IBM-1132.TXT | 230 + source/tests/IBM-1137.TXT | 254 + source/tests/IBM-1140.TXT | 256 + source/tests/IBM-1141.TXT | 256 + source/tests/IBM-1142.TXT | 256 + source/tests/IBM-1143.TXT | 256 + source/tests/IBM-1144.TXT | 256 + source/tests/IBM-1145.TXT | 256 + source/tests/IBM-1146.TXT | 256 + source/tests/IBM-1147.TXT | 256 + source/tests/IBM-1148.TXT | 256 + source/tests/IBM-1149.TXT | 256 + source/tests/IBM-1153.TXT | 256 + source/tests/IBM-1154.TXT | 256 + source/tests/IBM-1155.TXT | 256 + source/tests/IBM-1156.TXT | 256 + source/tests/IBM-1157.TXT | 256 + source/tests/IBM-1158.TXT | 256 + source/tests/IBM-1160.IRREVERSIBLE.TXT | 4 + source/tests/IBM-1160.TXT | 256 + source/tests/IBM-1164.TXT | 256 + source/tests/IBM-1165.TXT | 256 + source/tests/IBM-1166.TXT | 256 + source/tests/IBM-12712.TXT | 227 + source/tests/IBM-16804.TXT | 249 + source/tests/IBM-273.TXT | 256 + source/tests/IBM-277.TXT | 256 + source/tests/IBM-278.TXT | 256 + source/tests/IBM-280.TXT | 256 + source/tests/IBM-282.TXT | 256 + source/tests/IBM-284.TXT | 256 + source/tests/IBM-285.TXT | 256 + source/tests/IBM-297.TXT | 256 + source/tests/IBM-423.TXT | 249 + source/tests/IBM-424.TXT | 218 + source/tests/IBM-425.TXT | 255 + source/tests/IBM-4971.TXT | 251 + source/tests/IBM-500.TXT | 256 + source/tests/IBM-838.IRREVERSIBLE.TXT | 5 + source/tests/IBM-838.TXT | 256 + source/tests/IBM-870.TXT | 256 + source/tests/IBM-871.TXT | 256 + source/tests/IBM-875.TXT | 250 + source/tests/IBM-880.TXT | 256 + source/tests/IBM-905.TXT | 249 + source/tests/IBM-924.TXT | 256 + source/tests/Makefile.in | 121 +- source/tests/check-stateful | 0 source/tests/check-stateless | 0 source/tests/check-subst | 10 +- source/tests/check-translit | 0 source/tests/check-translitfailure | 0 source/tests/gengb18030z.c | 8 +- source/tests/genutf8.c | 8 +- source/tests/is-native.c | 30 + source/tests/qemu.h | 99 + source/tests/table-from.c | 8 +- source/tests/table-to.c | 8 +- source/tests/test-shiftseq.c | 12 +- source/tests/test-to-wchar.c | 8 +- source/tools/8bit_tab_to_h.c | 10 +- source/tools/Makefile | 213 + source/tools/cjk_tab_to_h.c | 6 +- source/tools/cjk_variants.c | 6 +- source/windows/iconv.rc | 2 +- source/windows/libiconv.rc | 4 +- source/windows/windres-options | 0 source/woe32dll/export.h | 15 +- source/woe32dll/iconv-exports.c | 15 +- 753 files changed, 70031 insertions(+), 27192 deletions(-) mode change 100644 => 100755 source/build-aux/ar-lib mode change 100644 => 100755 source/build-aux/compile mode change 100644 => 100755 source/build-aux/config.guess mode change 100644 => 100755 source/build-aux/config.libpath mode change 100644 => 100755 source/build-aux/config.rpath mode change 100644 => 100755 source/build-aux/config.sub mode change 100644 => 100755 source/build-aux/install-reloc mode change 100644 => 100755 source/build-aux/install-sh mode change 100644 => 100755 source/build-aux/libtool-reloc mode change 100644 => 100755 source/build-aux/missing mode change 100644 => 100755 source/build-aux/mkinstalldirs mode change 100644 => 100755 source/build-aux/reloc-ldflags delete mode 100644 source/config.h mode change 100644 => 100755 source/configure delete mode 100644 source/include/iconv.h delete mode 100644 source/lib/aliases.h.orig create mode 100644 source/lib/aliases_zos.h create mode 100644 source/lib/canonical_zos.h create mode 100644 source/lib/ebcdic037.h create mode 100644 source/lib/ebcdic1025.h create mode 100644 source/lib/ebcdic1026.h create mode 100644 source/lib/ebcdic1047.h create mode 100644 source/lib/ebcdic1097.h create mode 100644 source/lib/ebcdic1112.h create mode 100644 source/lib/ebcdic1122.h create mode 100644 source/lib/ebcdic1123.h create mode 100644 source/lib/ebcdic1130.h create mode 100644 source/lib/ebcdic1132.h create mode 100644 source/lib/ebcdic1137.h create mode 100644 source/lib/ebcdic1140.h create mode 100644 source/lib/ebcdic1141.h create mode 100644 source/lib/ebcdic1142.h create mode 100644 source/lib/ebcdic1143.h create mode 100644 source/lib/ebcdic1144.h create mode 100644 source/lib/ebcdic1145.h create mode 100644 source/lib/ebcdic1146.h create mode 100644 source/lib/ebcdic1147.h create mode 100644 source/lib/ebcdic1148.h create mode 100644 source/lib/ebcdic1149.h create mode 100644 source/lib/ebcdic1153.h create mode 100644 source/lib/ebcdic1154.h create mode 100644 source/lib/ebcdic1155.h create mode 100644 source/lib/ebcdic1156.h create mode 100644 source/lib/ebcdic1157.h create mode 100644 source/lib/ebcdic1158.h create mode 100644 source/lib/ebcdic1160.h create mode 100644 source/lib/ebcdic1164.h create mode 100644 source/lib/ebcdic1165.h create mode 100644 source/lib/ebcdic1166.h create mode 100644 source/lib/ebcdic12712.h create mode 100644 source/lib/ebcdic16804.h create mode 100644 source/lib/ebcdic273.h create mode 100644 source/lib/ebcdic277.h create mode 100644 source/lib/ebcdic278.h create mode 100644 source/lib/ebcdic280.h create mode 100644 source/lib/ebcdic282.h create mode 100644 source/lib/ebcdic284.h create mode 100644 source/lib/ebcdic285.h create mode 100644 source/lib/ebcdic297.h create mode 100644 source/lib/ebcdic423.h create mode 100644 source/lib/ebcdic424.h create mode 100644 source/lib/ebcdic425.h create mode 100644 source/lib/ebcdic4971.h create mode 100644 source/lib/ebcdic500.h create mode 100644 source/lib/ebcdic838.h create mode 100644 source/lib/ebcdic870.h create mode 100644 source/lib/ebcdic871.h create mode 100644 source/lib/ebcdic875.h create mode 100644 source/lib/ebcdic880.h create mode 100644 source/lib/ebcdic905.h create mode 100644 source/lib/ebcdic924.h create mode 100644 source/lib/encodings_zos.def delete mode 100644 source/lib/localcharset.h mode change 100644 => 100755 source/libcharset/build-aux/config.guess mode change 100644 => 100755 source/libcharset/build-aux/config.libpath mode change 100644 => 100755 source/libcharset/build-aux/config.sub mode change 100644 => 100755 source/libcharset/build-aux/install-sh create mode 100755 source/libcharset/build-aux/libtool-reloc mode change 100644 => 100755 source/libcharset/build-aux/mkinstalldirs mode change 100644 => 100755 source/libcharset/configure create mode 100644 source/libcharset/include/libcharset.h.build.in delete mode 100644 source/libcharset/m4/glibc21.m4 mode change 100644 => 100755 source/libcharset/tools/all-charsets mode change 100644 => 100755 source/libcharset/tools/all-charsets-X11 mode change 100644 => 100755 source/libcharset/tools/all-locales mode change 100644 => 100755 source/libcharset/tools/locale_charmap delete mode 100644 source/m4/endian.m4 create mode 100644 source/po/ko.gmo create mode 100644 source/po/ko.po create mode 100644 source/srclib/basename-lgpl.h create mode 100644 source/srclib/cdefs.h create mode 100644 source/srclib/cloexec.c create mode 100644 source/srclib/cloexec.h create mode 100644 source/srclib/close.c delete mode 100644 source/srclib/dirname-lgpl.c delete mode 100644 source/srclib/dirname.h delete mode 100644 source/srclib/dosname.h create mode 100644 source/srclib/dup2.c create mode 100644 source/srclib/eloop-threshold.h create mode 100644 source/srclib/fcntl.c create mode 100644 source/srclib/fd-hook.c create mode 100644 source/srclib/fd-hook.h create mode 100644 source/srclib/free.c create mode 100644 source/srclib/fstat.c create mode 100644 source/srclib/getdtablesize.c create mode 100644 source/srclib/idx.h create mode 100644 source/srclib/inttypes.in.h create mode 100644 source/srclib/libc-config.h delete mode 100644 source/srclib/lstat.c create mode 100644 source/srclib/malloc/scratch_buffer.h create mode 100644 source/srclib/malloc/scratch_buffer_dupfree.c create mode 100644 source/srclib/malloc/scratch_buffer_grow.c create mode 100644 source/srclib/malloc/scratch_buffer_grow_preserve.c create mode 100644 source/srclib/malloc/scratch_buffer_set_array_size.c create mode 100644 source/srclib/mempcpy.c create mode 100644 source/srclib/minmax.h create mode 100644 source/srclib/open.c create mode 100644 source/srclib/rawmemchr.c create mode 100644 source/srclib/rawmemchr.valgrind create mode 100644 source/srclib/realloc.c create mode 100644 source/srclib/scratch_buffer.h create mode 100644 source/srclib/stdalign.in.h create mode 100644 source/srclib/stdio-read.c delete mode 100644 source/srclib/stripslash.c create mode 100644 source/srclib/unictype/bitmap.h create mode 100644 source/srclib/uniwidth/width0.h create mode 100644 source/srclib/uniwidth/width2.h create mode 100644 source/srclib/wchar.in.h create mode 100644 source/srcm4/__inline.m4 create mode 100644 source/srcm4/builtin-expect.m4 create mode 100644 source/srcm4/close.m4 delete mode 100644 source/srcm4/dirname.m4 create mode 100644 source/srcm4/dup2.m4 create mode 100644 source/srcm4/fcntl.m4 create mode 100644 source/srcm4/free.m4 create mode 100644 source/srcm4/fstat.m4 create mode 100644 source/srcm4/getdtablesize.m4 delete mode 100644 source/srcm4/glibc2.m4 delete mode 100644 source/srcm4/glibc21.m4 delete mode 100644 source/srcm4/intdiv0.m4 delete mode 100644 source/srcm4/intl.m4 delete mode 100644 source/srcm4/intldir.m4 delete mode 100644 source/srcm4/intmax.m4 delete mode 100644 source/srcm4/inttypes-pri.m4 create mode 100644 source/srcm4/inttypes.m4 delete mode 100644 source/srcm4/inttypes_h.m4 delete mode 100644 source/srcm4/lcmessage.m4 delete mode 100644 source/srcm4/lock.m4 delete mode 100644 source/srcm4/longlong.m4 create mode 100644 source/srcm4/mempcpy.m4 create mode 100644 source/srcm4/minmax.m4 create mode 100644 source/srcm4/mode_t.m4 create mode 100644 source/srcm4/open-cloexec.m4 create mode 100644 source/srcm4/open-slash.m4 create mode 100644 source/srcm4/open.m4 create mode 100644 source/srcm4/pid_t.m4 delete mode 100644 source/srcm4/printf-posix.m4 create mode 100644 source/srcm4/rawmemchr.m4 create mode 100644 source/srcm4/realloc.m4 delete mode 100644 source/srcm4/size_max.m4 create mode 100644 source/srcm4/std-gnu11.m4 create mode 100644 source/srcm4/stdalign.m4 delete mode 100644 source/srcm4/stdint_h.m4 delete mode 100644 source/srcm4/threadlib.m4 delete mode 100644 source/srcm4/uintmax_t.m4 create mode 100644 source/srcm4/vararrays.m4 create mode 100644 source/srcm4/wchar_h.m4 delete mode 100644 source/srcm4/xsize.m4 create mode 100644 source/srcm4/year2038.m4 create mode 100644 source/srcm4/zzgnulib.m4 create mode 100644 source/tests/IBM-037.TXT create mode 100644 source/tests/IBM-1025.TXT create mode 100644 source/tests/IBM-1026.TXT create mode 100644 source/tests/IBM-1047.TXT create mode 100644 source/tests/IBM-1097.TXT create mode 100644 source/tests/IBM-1112.TXT create mode 100644 source/tests/IBM-1122.TXT create mode 100644 source/tests/IBM-1123.TXT create mode 100644 source/tests/IBM-1130.TXT create mode 100644 source/tests/IBM-1132.TXT create mode 100644 source/tests/IBM-1137.TXT create mode 100644 source/tests/IBM-1140.TXT create mode 100644 source/tests/IBM-1141.TXT create mode 100644 source/tests/IBM-1142.TXT create mode 100644 source/tests/IBM-1143.TXT create mode 100644 source/tests/IBM-1144.TXT create mode 100644 source/tests/IBM-1145.TXT create mode 100644 source/tests/IBM-1146.TXT create mode 100644 source/tests/IBM-1147.TXT create mode 100644 source/tests/IBM-1148.TXT create mode 100644 source/tests/IBM-1149.TXT create mode 100644 source/tests/IBM-1153.TXT create mode 100644 source/tests/IBM-1154.TXT create mode 100644 source/tests/IBM-1155.TXT create mode 100644 source/tests/IBM-1156.TXT create mode 100644 source/tests/IBM-1157.TXT create mode 100644 source/tests/IBM-1158.TXT create mode 100644 source/tests/IBM-1160.IRREVERSIBLE.TXT create mode 100644 source/tests/IBM-1160.TXT create mode 100644 source/tests/IBM-1164.TXT create mode 100644 source/tests/IBM-1165.TXT create mode 100644 source/tests/IBM-1166.TXT create mode 100644 source/tests/IBM-12712.TXT create mode 100644 source/tests/IBM-16804.TXT create mode 100644 source/tests/IBM-273.TXT create mode 100644 source/tests/IBM-277.TXT create mode 100644 source/tests/IBM-278.TXT create mode 100644 source/tests/IBM-280.TXT create mode 100644 source/tests/IBM-282.TXT create mode 100644 source/tests/IBM-284.TXT create mode 100644 source/tests/IBM-285.TXT create mode 100644 source/tests/IBM-297.TXT create mode 100644 source/tests/IBM-423.TXT create mode 100644 source/tests/IBM-424.TXT create mode 100644 source/tests/IBM-425.TXT create mode 100644 source/tests/IBM-4971.TXT create mode 100644 source/tests/IBM-500.TXT create mode 100644 source/tests/IBM-838.IRREVERSIBLE.TXT create mode 100644 source/tests/IBM-838.TXT create mode 100644 source/tests/IBM-870.TXT create mode 100644 source/tests/IBM-871.TXT create mode 100644 source/tests/IBM-875.TXT create mode 100644 source/tests/IBM-880.TXT create mode 100644 source/tests/IBM-905.TXT create mode 100644 source/tests/IBM-924.TXT mode change 100644 => 100755 source/tests/check-stateful mode change 100644 => 100755 source/tests/check-stateless mode change 100644 => 100755 source/tests/check-subst mode change 100644 => 100755 source/tests/check-translit mode change 100644 => 100755 source/tests/check-translitfailure create mode 100644 source/tests/is-native.c create mode 100644 source/tests/qemu.h mode change 100644 => 100755 source/windows/windres-options diff --git a/source/ABOUT-NLS b/source/ABOUT-NLS index 3cc8286..0a9d56d 100644 --- a/source/ABOUT-NLS +++ b/source/ABOUT-NLS @@ -1,1379 +1 @@ -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 -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, -itself available at your nearest GNU archive site. But you do _not_ -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 -explain how users should proceed for getting the programs to use the -available translations. They tell how people wanting to contribute and -work on translations can contact the appropriate team. - -1.1 INSTALL Matters -=================== - -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'. - - 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 -options at configuration time for changing the default behaviour. The -command: - - ./configure --disable-nls - -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. - - 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' -may be set, prior to configuration, to limit the installed set. -'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. - - 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 -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''. - - 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' -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'. - - Special advice for Norwegian users: The language code for Norwegian -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 -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. - -1.3 Translating Teams -===================== - -For the Free Translation Project to be a success, we need interested -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. - - 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: - - 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. - - The English team is special. It works at improving and uniformizing -the terminology in use. Proven linguistic skills are praised more than -programming skills, here. - -1.4 Available Packages -====================== - -Languages are not equally supported in all packages. The following -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 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 | [] | - 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 | [] [] [] | - +--------------------------------------------------+ - 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 - - 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 - - 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 - - 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 -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. - - 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 -=================================== - -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 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 -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 -to the translation teams. + diff --git a/source/COPYING.LIB b/source/COPYING.LIB index 778d0bb..4362b49 100644 --- a/source/COPYING.LIB +++ b/source/COPYING.LIB @@ -1,112 +1,125 @@ - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 - Copyright (C) 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] - Preamble + Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. - GNU LIBRARY GENERAL PUBLIC LICENSE + GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs @@ -133,7 +146,7 @@ such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. - + 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an @@ -255,7 +268,7 @@ distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. - 6. As an exception to the Sections above, you may also compile or + 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit @@ -282,23 +295,31 @@ of these things: Library will not necessarily be able to recompile the application to use the modified definitions.) - b) Accompany the work with a written offer, valid for at + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. - c) If distribution of the work is made by offering access to copy + d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. - d) Verify that the user has already received a copy of these + e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. @@ -347,7 +368,7 @@ Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to +You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent @@ -390,7 +411,7 @@ excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. +versions of the Lesser General Public 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. @@ -411,7 +432,7 @@ decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - NO WARRANTY + NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. @@ -434,9 +455,9 @@ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - END OF TERMS AND CONDITIONS + END OF TERMS AND CONDITIONS - Appendix: How to Apply These Terms to Your New Libraries + How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that @@ -453,19 +474,18 @@ convey the exclusion of warranty; and each file should have at least the Copyright (C) This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public + 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. + version 2.1 of the License, or (at your option) any later version. This 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - MA 02110-1301, USA + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. diff --git a/source/ChangeLog b/source/ChangeLog index 8a3b554..ca0b68a 100644 --- a/source/ChangeLog +++ b/source/ChangeLog @@ -1,3 +1,262 @@ +2022-05-15 Bruno Haible + + Switch to libtool 2.4.7. + * m4/libtool.m4: Update from libtool-2.4.7, with modifications: + 2008-04-06 Bruno Haible + * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use + CONFIG_SHELL; don't assume that the Makefile.in will set SHELL + to ${CONFIG_SHELL}. + * m4/ltoptions.m4: Likewise. + * m4/ltsugar.m4: Likewise. + * m4/ltversion.m4: Likewise. + * m4/lt~obsolete.m4: Likewise. + * build-aux/ltmain.sh: Update from libtool-2.4.7, with modifications: + 2017-07-15 Bruno Haible + Allow building statically linked binaries, through + LDFLAGS="-static". Apply patch from + . + * build-aux/ltmain.sh (func_mode_help, func_mode_link): In the + link mode, accept option '-static-uninstalled-libs' in place of + '-static', and make '-static' an equivalent of '-all-static'. + +2022-04-13 Bruno Haible + + Fix undefined behaviour. + * tests/test-shiftseq.c (main2): Make input array larger. + +2022-02-12 Bruno Haible + + Update translations. + * po/ro.po: Update Romanian translations. + * po/wa.po: Update Walloon translations. + +2022-02-12 Bruno Haible + + Prepare for version 1.17. + * configure.ac: Bump version number to 1.17. + * include/iconv.h.in (_LIBICONV_VERSION): Likewise. + * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 9:0:7. + * src/iconv.c (print_version): Update copyright year. + * windows/iconv.rc: Likewise. + * windows/libiconv.rc: Likewise. + * README: Update download link. + +2022-02-12 Bruno Haible + + Update source file list (regression 2022-01-23). + * lib/Makefile.in (SOURCE_FILES): Add encodings_zos.def, ebcdic*.h. + (GENERATED_FILES): Add aliases_zos.h, canonical_zos.h. + * tests/Makefile.in (SOURCE_FILES): Add IBM-*.TXT. + +2022-01-23 Bruno Haible + + Update NEWS. + * NEWS: Mention the EBCDIC encodings. + +2022-01-23 Bruno Haible + + Optimize the EBCDIC table sizes. + * lib/converters.h (DEDUPLICATE_TABLES): New macro. + * lib/ebcdic1025.h: Deduplicate tables with ebcdic880.h. + * lib/ebcdic1123.h: Deduplicate tables with ebcdic1025.h. + * lib/ebcdic1132.h: Deduplicate tables with ebcdic838.h. + * lib/ebcdic1153.h: Deduplicate tables with ebcdic870.h. + * lib/ebcdic1154.h: Deduplicate tables with ebcdic880.h. + * lib/ebcdic1155.h: Deduplicate tables with ebcdic1026.h. + * lib/ebcdic1156.h: Deduplicate tables with ebcdic1112.h. + * lib/ebcdic1157.h: Deduplicate tables with ebcdic1122.h. + * lib/ebcdic1158.h: Deduplicate tables with ebcdic1154.h, ebcdic1123.h. + * lib/ebcdic1160.h: Deduplicate tables with ebcdic838.h. + * lib/ebcdic1164.h: Deduplicate tables with ebcdic1130.h. + * lib/ebcdic1165.h: Deduplicate tables with ebcdic870.h. + * lib/ebcdic1166.h: Deduplicate tables with ebcdic1154.h. + * lib/ebcdic4971.h: Deduplicate tables with ebcdic875.h. + * lib/ebcdic12712.h: Deduplicate tables with ebcdic424.h. + +2022-01-23 Bruno Haible + + New EBCDIC encodings. + Reported by Ulrich Schwab and Calvin Buckley via Jack Woehr. + * NOTES: Mention how to enable EBCDIC encodings. + * tests/IBM-*.TXT: New files. + * tools/8bit_tab_to_h.c (main): Emit copyright header with year 2022. + * tools/Makefile: Add rules for generating ebcdic*.h. + * lib/ebcdic*.h: New files, automatically generated by tools/Makefile. + * lib/ebcdic838.h: Tweak reverse mapping manually. + * lib/ebcdic1160.h: Likewise. + * lib/converters.h: Include all ebcdic*.h. + * lib/encodings_zos.def: New file. + * lib/genaliases2.c: Include encodings_zos.def. + * lib/genflags.c: Likewise. + * Makefile.devel (lib/aliases_zos.h lib/canonical_zos.h): New rule. + (lib/flags.h, totally-clean): Update. + * lib/aliases2.h: Include aliases_zos.h. + * lib/iconv.c (USE_ZOS): New macro. + Include encodings_zos.def, canonical_zos.h. + * README, man/iconv_open.3: Document the IBM-* encodings. + * tests/Makefile.in (check-extra-yes): Also test the EBCDIC encodings. + +2022-01-04 Bruno Haible + + Update after gnulib changed. + * gnulib-local/m4/alloca.m4 (gl_FUNC_ALLOCA): Set GL_GENERATE_ALLOCA_H + instead of ALLOCA_H. Drop AC_SUBST and AM_CONDITIONAL invocations. + +2021-09-19 Bruno Haible + + tests: Avoid check-subst failures in QEMU user-mode environments. + * Makefile.devel (GNULIB_MODULES): Add stdbool. + (gnulib-imported-files): Copy also tests/qemu.h. + * tests/is-native.c: New file. + * tests/Makefile.in (is-native, is-native.@OBJEXT@): New targets. + (clean): Remove the 'is-native' program. + (SOURCE_FILES): Add is-native.c. + (IMPORTED_FILES): Add qemu.h. + * tests/check-subst: Invoke 'locale charmap' only in native + environments. + +2021-06-27 Bruno Haible + + README: Update. + Reported at . + * README: Overhaul the paragraph that mentions iconv.m4. + +2021-06-06 Bruno Haible + + gnulib-local: Put real license notice into the source files. + * gnulib-local/lib/alloca.in.h: Use an LGPLv2+ notice. + +2021-02-28 Bruno Haible + + Update DEPENDENCIES. + * DEPENDENCIES: List the normal dependencies of a package with an + Autoconf-generated configure file. + +2021-02-07 Bruno Haible + + Support creating shared libraries on MidnightBSD. + Patch from . + * m4/libtool.m4: Treat MidnightBSD like FreeBSD. + * build-aux/ltmain.sh: Likewise. + +2021-01-31 Bruno Haible + + Update after gnulib changed on 2020-08-26. + * configure.ac: Test $iconv_arg1, not $am_cv_proto_iconv_arg1. + +2021-01-31 Bruno Haible + + Switch to autoconf 2.71. + * autogen.sh: Update comment. + * configure.ac: Use AS_HELP_STRING instead of AC_HELP_STRING. Invoke + AC_C_BIGENDIAN instead of CL_WORDS_LITTLEENDIAN. + * m4/eilseq.m4: Require Autoconf >= 2.61. + (AC_EILSEQ): Improve quoting. Use AC_COMPUTE_INT instead of + _AC_COMPUTE_INT. + * m4/endian.m4: Remove file. + * Makefile.in (SOURCE_FILES): Remove it. + +2020-12-08 Bruno Haible + + Switch to autoconf 2.70. + * Makefile.devel (AUTOCONF, AUTOHEADER): Remove '-2.69' suffix. + * HACKING: Remove sentence about symbolic links. + * autogen.sh: Update comment. + +2020-08-31 Bruno Haible + + Fix some -Wcast-qual warning, reported by clang. + * lib/iconv.c (compare_by_name): Add more 'const'. + (iconv_canonicalize): Cast value to 'unsigned char', not pointer to 'unsigned char *'. + * lib/iconv_open1.h: Likewise. + +2020-08-30 Bruno Haible + + Make sure that build-aux/compile is in the tarball. + * autogen.sh: Fetch also 'build-aux/compile' through gnulib-tool. + * Makefile.devel (srclib/Makefile.in): Don't fetch nor delete + 'build-aux/compile'. + * Makefile.in (AUTOMAKE_IMPORTED_FILES): Remove build-aux/compile. + (IMPORTED_FILES): Add build-aux/compile. + +2020-08-29 Bruno Haible + + Update after gnulib changed. + * configure.ac (AC_PREREQ): Bump minimum Autoconf version to 2.64. + +2020-08-06 Bruno Haible + + Avoid a GCC warning with GCC >= 7. + Reported by Reini Urban + in . + * lib/gentranslit.c (main): Reset i to 0 each time p gets a new value. + Add assertion about i's possible values. + +2020-04-05 Bruno Haible + + Fix an autogen.sh failure (regression from 2016-12-04). + Reported by Petr Ovtchenkov in + . + * autogen.sh: Invoke also the Makefile target srclib/Makefile.in, so as + to get build-aux/install-sh. Finish the "copy files" phase before recursing + through the subpackages tree through Makefile.devel. + * Makefile.devel: Reorder targets. + +2020-04-04 Bruno Haible + + Don't use LGPLv3. + * gnulib-local/modules/mbstate (License): Set to LGPLv2+. + +2020-04-04 Bruno Haible + + Change the license of the library from LGPL 2.0 to LGPL 2.1. + * COPYING.LIB: Upgrade to LGPL 2.1. + +2019-12-23 Bruno Haible + + Do export the symbol 'locale_charset' (needed by GNU bash). + * lib/Makefile.in (DEFS): Define also BUILDING_LIBCHARSET. + +2019-09-01 Bruno Haible + + build: Add support for shallow-cloning of subdirectories. + * gitsub.sh (func_usage): Document allowed git options with 'git pull'. + (func_pull): Accept GIT_OPTIONS argument. + (pull): Parse git options before complaining about too many arguments. + Pass the git options to func_pull. + +2019-07-05 Bruno Haible + + Don't export the symbol 'aliases_lookup' on non-ELF platforms. + * Makefile.devel (lib/aliases.h, lib/aliases_sysaix.h, + lib/aliases_syshpux.h, lib/aliases_sysosf1.h, lib/aliases_syssolaris.h): + Add a 'static' keyword in front of the declaration of aliases_lookup. + +2019-07-02 Bruno Haible + + Update to current gnulib. + * Makefile.devel (GNULIB_MODULES): Add lib-symbol-visibility. + (srclib/Makefile.gnulib): Copy codeset.m4. + * srclib/Makefile.am (AM_CFLAGS): Initialize. + +2019-07-02 Bruno Haible + + Drop unused macro gl_GLIBC21. + * autogen.sh: Don't copy glibc21.m4. + +2019-05-22 Bruno Haible + + Fix comment. + Reported by Paul Hardy . + * lib/jisx0213.h: Fix comment about the underlying standard version. + +2019-05-11 Bruno Haible + + Update bug reporting instructions. + * README: Tell users to report bugs in the bug tracker or by email. + * src/iconv.c (usage): Likewise. + (print_version): Move URL out of translatable string. + 2019-04-26 Bruno Haible Update translations. @@ -17,7 +276,7 @@ 2019-04-26 Bruno Haible Prepare for version 1.16. - * configure.ac: Bump version number to 1.15. + * configure.ac: Bump version number to 1.16. * include/iconv.h.in (_LIBICONV_VERSION): Likewise. * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 8:1:6. * src/iconv.c (print_version): Update copyright year. diff --git a/source/DEPENDENCIES b/source/DEPENDENCIES index 64b08a9..748fb83 100644 --- a/source/DEPENDENCIES +++ b/source/DEPENDENCIES @@ -1 +1,76 @@ -No packages need to be installed before GNU libiconv is installed. +The following packages should be installed before GNU libiconv is installed +(runtime dependencies that are also build dependencies): + +None. + + +The following packages should be installed when GNU libiconv is installed +(runtime dependencies, but not build dependencies): + +None. + + +The following should be installed when GNU libiconv is built, but are not +needed later, once it is installed (build dependencies, but not runtime +dependencies): + +* A C runtime, compiler, linker, etc. + + Mandatory. + Either the platform's native 'cc', or GCC 3.1 or newer. + + GCC Homepage: + https://gcc.gnu.org/ + + Download: + https://ftp.gnu.org/gnu/gcc/ + +* A 'make' utility. + + Mandatory. + Either the platform's native 'make' (for in-tree builds only), + or GNU Make 3.79.1 or newer. + + GNU Make Homepage: + https://www.gnu.org/software/make/ + + Download: + https://ftp.gnu.org/gnu/make/ + +* A shell + + Mandatory. + Either the platform's native 'sh', or Bash. + + Homepage: + https://www.gnu.org/software/bash/ + + Download: + https://ftp.gnu.org/gnu/bash/ + +* Core POSIX utilities, including: + [ basename cat chgrp chmod chown cp dd echo expand expr + false hostname install kill ln ls md5sum mkdir mkfifo + mknod mv printenv pwd rm rmdir sleep sort tee test touch + true uname + + Mandatory. + Either the platform's native utilities, or GNU coreutils. + + Homepage: + https://www.gnu.org/software/coreutils/ + + Download: + https://ftp.gnu.org/gnu/coreutils/ + +* The comparison utilities 'cmp' and 'diff'. + + Mandatory. + Either the platform's native utilities, or GNU diffutils. + + Homepage: + https://www.gnu.org/software/diffutils/ + + Download: + https://ftp.gnu.org/gnu/diffutils/ + +* Grep. + + Mandatory. + Either the platform's native grep, or GNU grep. + + Homepage: + https://www.gnu.org/software/grep/ + + Download: + https://ftp.gnu.org/gnu/grep/ + +* Awk. + + Mandatory. + Either the platform's native awk, mawk, or nawk, or GNU awk. + + Homepage: + https://www.gnu.org/software/gawk/ + + Download: + https://ftp.gnu.org/gnu/gawk/ diff --git a/source/HACKING b/source/HACKING index 82e5a2c..8e5a63e 100644 --- a/source/HACKING +++ b/source/HACKING @@ -11,11 +11,11 @@ You will need reasonably recent versions of the build tools: + Homepage: https://gcc.gnu.org/ - * GNU automake + * GNU automake 1.16.x + Homepage: https://www.gnu.org/software/automake/ - * GNU autoconf + * GNU autoconf 2.69 or newer + Homepage: https://www.gnu.org/software/autoconf/ diff --git a/source/Makefile.devel b/source/Makefile.devel index 5fb5ea4..3102ad2 100644 --- a/source/Makefile.devel +++ b/source/Makefile.devel @@ -4,8 +4,8 @@ SHELL = /bin/sh MAKE = make -AUTOCONF = autoconf-2.69 -AUTOHEADER = autoheader-2.69 +AUTOCONF = autoconf +AUTOHEADER = autoheader AUTOMAKE = automake-1.16 ACLOCAL = aclocal-1.16 GPERF = gperf @@ -23,6 +23,7 @@ all : srclib/Makefile.gnulib srclib/Makefile.in \ lib/aliases_aix.h lib/aliases_aix_sysaix.h \ lib/aliases_osf1.h lib/aliases_osf1_sysosf1.h \ lib/aliases_dos.h \ + lib/aliases_zos.h \ lib/aliases_extra.h \ lib/flags.h lib/translit.h \ man/iconv.1.html man/iconv.3.html man/iconv_close.3.html man/iconv_open.3.html man/iconvctl.3.html man/iconv_open_into.3.html \ @@ -50,11 +51,13 @@ GNULIB_MODULES = \ error \ gettext \ gettext-h \ + lib-symbol-visibility \ mbstate \ progname \ relocatable-prog \ safe-read \ sigpipe \ + stdbool \ stdio \ stdlib \ strerror \ @@ -66,26 +69,25 @@ GNULIB_MODULES = \ srclib/Makefile.gnulib : if test -n "$$GNULIB_TOOL"; then \ + $$GNULIB_TOOL --copy-file m4/codeset.m4 srcm4/codeset.m4 || exit $$?; \ $$GNULIB_TOOL --lib=libicrt --source-base=srclib --m4-base=srcm4 --makefile-name=Makefile.gnulib --no-libtool --local-dir=gnulib-local --no-vc-files \ --import $(GNULIB_MODULES); \ fi -srclib/Makefile.in : srclib/Makefile.am srclib/Makefile.gnulib aclocal.m4 - if test -n "$$GNULIB_TOOL"; then \ - $$GNULIB_TOOL --copy-file build-aux/compile; \ - fi -# Make sure we get new versions of files brought in by automake. - (cd build-aux && rm -f compile depcomp install-sh mdate-sh missing test-driver) - $(AUTOMAKE) --gnits --add-missing --copy srclib/Makefile && rm -rf autom4te.cache - gnulib-imported-files : force if test -n "$$GNULIB_TOOL"; then \ for file in config.guess config.sub; do \ $$GNULIB_TOOL --copy-file build-aux/$$file || exit $$?; \ chmod a+x build-aux/$$file || exit $$?; \ done; \ + $$GNULIB_TOOL --copy-file tests/qemu.h || exit $$?; \ fi +srclib/Makefile.in : srclib/Makefile.am srclib/Makefile.gnulib aclocal.m4 +# Make sure we get new versions of files brought in by automake. + (cd build-aux && rm -f depcomp install-sh mdate-sh missing test-driver) + $(AUTOMAKE) --gnits --add-missing --copy srclib/Makefile && rm -rf autom4te.cache + CONFIGURES = configure CONFIGURES_IN = configure.ac @@ -119,7 +121,7 @@ lib/aliases.h lib/canonical.h lib/canonical_local.h : lib/encodings.def lib/enco ./genaliases lib/aliases.gperf canonical.sh canonical_local.sh $(RM) genaliases $(GPERF) -m 10 lib/aliases.gperf > tmp.h - $(CP) tmp.h lib/aliases.h + sed -e 's/^\(const struct alias \)/static \1/' < tmp.h > lib/aliases.h sh canonical.sh > lib/canonical.h sh canonical_local.sh > lib/canonical_local.h $(RM) tmp.h canonical.sh canonical_local.sh @@ -129,7 +131,7 @@ lib/aliases_sysaix.h lib/canonical_sysaix.h lib/canonical_local_sysaix.h : lib/e ./genaliases lib/aliases_sysaix.gperf canonical.sh canonical_local.sh $(RM) genaliases $(GPERF) -m 10 lib/aliases_sysaix.gperf > tmp.h - $(CP) tmp.h lib/aliases_sysaix.h + sed -e 's/^\(const struct alias \)/static \1/' < tmp.h > lib/aliases_sysaix.h sh canonical.sh > lib/canonical_sysaix.h sh canonical_local.sh > lib/canonical_local_sysaix.h $(RM) tmp.h canonical.sh canonical_local.sh @@ -139,7 +141,7 @@ lib/aliases_syshpux.h lib/canonical_syshpux.h lib/canonical_local_syshpux.h : li ./genaliases lib/aliases_syshpux.gperf canonical.sh canonical_local.sh $(RM) genaliases $(GPERF) -m 10 lib/aliases_syshpux.gperf > tmp.h - $(CP) tmp.h lib/aliases_syshpux.h + sed -e 's/^\(const struct alias \)/static \1/' < tmp.h > lib/aliases_syshpux.h sh canonical.sh > lib/canonical_syshpux.h sh canonical_local.sh > lib/canonical_local_syshpux.h $(RM) tmp.h canonical.sh canonical_local.sh @@ -149,7 +151,7 @@ lib/aliases_sysosf1.h lib/canonical_sysosf1.h lib/canonical_local_sysosf1.h : li ./genaliases lib/aliases_sysosf1.gperf canonical.sh canonical_local.sh $(RM) genaliases $(GPERF) -m 10 lib/aliases_sysosf1.gperf > tmp.h - $(CP) tmp.h lib/aliases_sysosf1.h + sed -e 's/^\(const struct alias \)/static \1/' < tmp.h > lib/aliases_sysosf1.h sh canonical.sh > lib/canonical_sysosf1.h sh canonical_local.sh > lib/canonical_local_sysosf1.h $(RM) tmp.h canonical.sh canonical_local.sh @@ -159,7 +161,7 @@ lib/aliases_syssolaris.h lib/canonical_syssolaris.h lib/canonical_local_syssolar ./genaliases lib/aliases_syssolaris.gperf canonical.sh canonical_local.sh $(RM) genaliases $(GPERF) -m 10 lib/aliases_syssolaris.gperf > tmp.h - $(CP) tmp.h lib/aliases_syssolaris.h + sed -e 's/^\(const struct alias \)/static \1/' < tmp.h > lib/aliases_syssolaris.h sh canonical.sh > lib/canonical_syssolaris.h sh canonical_local.sh > lib/canonical_local_syssolaris.h $(RM) tmp.h canonical.sh canonical_local.sh @@ -189,13 +191,18 @@ lib/aliases_dos.h lib/canonical_dos.h : lib/encodings_dos.def lib/genaliases2.c ./genaliases dos lib/aliases_dos.h lib/canonical_dos.h $(RM) genaliases +lib/aliases_zos.h lib/canonical_zos.h : lib/encodings_zos.def lib/genaliases2.c + $(CC) $(CFLAGS) -DUSE_ZOS lib/genaliases2.c -o genaliases + ./genaliases zos lib/aliases_zos.h lib/canonical_zos.h + $(RM) genaliases + lib/aliases_extra.h lib/canonical_extra.h : lib/encodings_extra.def lib/genaliases2.c $(CC) $(CFLAGS) -DUSE_EXTRA lib/genaliases2.c -o genaliases ./genaliases extra lib/aliases_extra.h lib/canonical_extra.h $(RM) genaliases -lib/flags.h : lib/encodings.def lib/encodings_aix.def lib/encodings_osf1.def lib/encodings_dos.def lib/encodings_extra.def lib/converters.h lib/genflags.c +lib/flags.h : lib/encodings.def lib/encodings_aix.def lib/encodings_osf1.def lib/encodings_dos.def lib/encodings_zos.def lib/encodings_extra.def lib/converters.h lib/genflags.c $(CC) $(CFLAGS) lib/genflags.c -o genflags ./genflags > lib/flags.h $(RM) genflags @@ -230,11 +237,13 @@ totally-clean : force rm -f lib/aliases_aix.h lib/aliases_aix_sysaix.h rm -f lib/aliases_osf1.h lib/aliases_osf1_sysosf1.h rm -f lib/aliases_dos.h + rm -f lib/aliases_zos.h rm -f lib/aliases_extra.h rm -f lib/canonical.h lib/canonical_sysaix.h lib/canonical_syshpux.h lib/canonical_sysosf1.h lib/canonical_syssolaris.h rm -f lib/canonical_aix.h lib/canonical_aix_sysaix.h rm -f lib/canonical_osf1.h lib/canonical_osf1_sysosf1.h rm -f lib/canonical_dos.h + rm -f lib/canonical_zos.h rm -f lib/canonical_extra.h rm -f lib/canonical_local.h lib/canonical_local_sysaix.h lib/canonical_local_syshpux.h lib/canonical_local_sysosf1.h lib/canonical_local_syssolaris.h rm -f lib/flags.h diff --git a/source/Makefile.in b/source/Makefile.in index 5d501ce..1ff4928 100644 --- a/source/Makefile.in +++ b/source/Makefile.in @@ -162,7 +162,6 @@ SOURCE_FILES = \ gnulib-local/modules/xalloc \ m4/cp.m4 \ m4/eilseq.m4 \ - m4/endian.m4 \ m4/general.m4 \ m4/ln.m4 \ m4/proto.m4 \ @@ -184,7 +183,6 @@ LIBTOOL_IMPORTED_FILES = \ AUTOMAKE_OLD_IMPORTED_FILES = \ build-aux/mkinstalldirs AUTOMAKE_IMPORTED_FILES = \ - build-aux/compile \ build-aux/install-sh \ build-aux/missing GNULIB_IMPORTED_FILES = \ @@ -198,6 +196,7 @@ GNULIB_IMPORTED_FILES = \ IMPORTED_FILES = \ COPYING COPYING.LIB \ ABOUT-NLS INSTALL.generic \ + build-aux/compile \ build-aux/ar-lib \ $(LIBTOOL_IMPORTED_FILES) $(AUTOMAKE_OLD_IMPORTED_FILES) $(AUTOMAKE_IMPORTED_FILES) $(GNULIB_IMPORTED_FILES) # List of distributed files generated by autotools or Makefile.devel. diff --git a/source/NEWS b/source/NEWS index 7bee459..9d3cdfb 100644 --- a/source/NEWS +++ b/source/NEWS @@ -1,3 +1,14 @@ +New in 1.17: +* The libiconv library is now licensed under the LGPL version 2.1, instead of + the LGPL version 2.0. The iconv program continues to be licensed under GPL + version 3. +* Added converters for many single-byte EBCDIC encodings: + IBM-{037,273,277,278,280,282,284,285,297,423,424,425,500,838,870,871,875}, + IBM-{880,905,924,1025,1026,1047,1097,1112,1122,1123,1130,1132,1137,1140}, + IBM-{1141,1142,1143,1144,1145,1146,1147,1148,1149,1153,1154,1155,1156,1157}, + IBM-{1158,1160,1164,1165,1166,4971,12712,16804}. + They are available through the configure option '--enable-extra-encodings'. + New in 1.16: * The preloadable library has been removed. diff --git a/source/NOTES b/source/NOTES index eb1c0e1..b3103f5 100644 --- a/source/NOTES +++ b/source/NOTES @@ -328,7 +328,9 @@ A: No, they are not in use any more. Supporting ISO-646 variants is pointless since ISO-8859-* have been adopted. Q: Support EBCDIC ? -A: No! +A: Available through --enable-extra-encodings. + Why? Because several people (Ulrich Schwab, Calvin Buckley) have shown + interest in these encodings, by preparing forks of GNU libiconv. Q: How do I add a new character set? A: 1. Explain the "why" in this file, above. diff --git a/source/README b/source/README index 7ed51eb..e7375cb 100644 --- a/source/README +++ b/source/README @@ -72,6 +72,24 @@ support for a few extra encodings: TDS565 Platform specifics ATARIST, RISCOS-LATIN1 + EBCDIC compatible (not ASCII compatible, very rarely used) + European languages + IBM-{037,273,277,278,280,282,284,285,297,423,500,870,871,875,880}, + IBM-{905,924,1025,1026,1047,1112,1122,1123,1140,1141,1142,1143}, + IBM-{1144,1145,1146,1147,1148,1149,1153,1154,1155,1156,1157,1158}, + IBM-{1165,1166,4971} + Semitic languages + IBM-{424,425,12712,16804} + Persian + IBM-1097 + Thai + IBM-{838,1160} + Laotian + IBM-1132 + Vietnamese + IBM-{1130,1164} + Indic languages + IBM-1137 It can convert from any of these encodings to any other, through Unicode conversion. @@ -115,16 +133,14 @@ This library installs: To use it, simply #include and use the functions. -To use it in an autoconfiguring package: - - If you don't use automake, append m4/iconv.m4 to your aclocal.m4 - file. - - If you do use automake, add m4/iconv.m4 to your m4 macro repository. +To use it in a package that uses GNU autoconf and GNU automake: + - Use gnulib-tool to import the Gnulib module 'iconv'. It consists + of a couple of *.m4 files (iconv.m4 and its dependencies) and a + file 'build-aux/config.rpath'. - Add to the link command line of libraries and executables that use the functions the placeholder @LIBICONV@ (or, if using libtool for - the link, @LTLIBICONV@). If you use automake, the right place for + the link, @LTLIBICONV@). In Makefile.am files, the right place for these additions are the *_LDADD variables. -Note that 'iconv.m4' is also part of GNU gnulib, available through -the gnulib module 'iconv'. Copyright @@ -139,17 +155,19 @@ The iconv _program_ and the documentation are under GPL, see file COPYING. Download -------- - https://ftp.gnu.org/gnu/libiconv/libiconv-1.16.tar.gz + https://ftp.gnu.org/gnu/libiconv/libiconv-1.17.tar.gz Homepage -------- https://www.gnu.org/software/libiconv/ -Bug reports to --------------- +Bug reports +----------- - +Report bugs + - in the bug tracker at + - or by email to . Bruno Haible diff --git a/source/aclocal.m4 b/source/aclocal.m4 index ab0e1d7..c19573a 100644 --- a/source/aclocal.m4 +++ b/source/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.1 -*- Autoconf -*- +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- -# Copyright (C) 1996-2018 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, @@ -14,13 +14,13 @@ 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.69],, -[m4_warning([this file was generated for autoconf 2.69. +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'.])]) -# Copyright (C) 2002-2018 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, @@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [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.16.1], [], +m4_if([$1], [1.16.5], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,14 +51,14 @@ 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.16.1])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]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2018 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, @@ -108,9 +108,46 @@ AC_DEFUN([AM_AUX_DIR_EXPAND], am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) +# AM_COND_IF -*- Autoconf -*- + +# 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. + +# _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-2018 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, @@ -141,7 +178,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2018 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, @@ -332,7 +369,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2018 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, @@ -371,7 +408,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the + 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 @@ -398,7 +437,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2018 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, @@ -426,6 +465,10 @@ m4_defn([AC_PROG_CC]) # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [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 @@ -462,7 +505,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + 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 @@ -514,6 +557,20 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) +# 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 @@ -595,7 +652,7 @@ 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-2018 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, @@ -616,7 +673,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2018 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, @@ -637,7 +694,7 @@ AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2018 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, @@ -680,7 +737,7 @@ AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2018 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, @@ -701,12 +758,7 @@ 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 --is-lightweight"; then @@ -719,7 +771,7 @@ fi # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2018 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, @@ -748,7 +800,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2018 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, @@ -795,7 +847,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2018 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, @@ -814,7 +866,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2018 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, @@ -895,7 +947,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2018 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, @@ -955,7 +1007,7 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2018 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, @@ -983,7 +1035,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2018 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, @@ -1002,7 +1054,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2018 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, @@ -1134,13 +1186,16 @@ AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([srcm4/00gnulib.m4]) +m4_include([srcm4/__inline.m4]) m4_include([srcm4/absolute-header.m4]) m4_include([srcm4/alloca.m4]) m4_include([srcm4/asm-underscore.m4]) +m4_include([srcm4/builtin-expect.m4]) m4_include([srcm4/canonicalize.m4]) +m4_include([srcm4/close.m4]) m4_include([srcm4/codeset.m4]) -m4_include([srcm4/dirname.m4]) m4_include([srcm4/double-slash-root.m4]) +m4_include([srcm4/dup2.m4]) m4_include([srcm4/eealloc.m4]) m4_include([srcm4/environ.m4]) m4_include([srcm4/errno_h.m4]) @@ -1148,7 +1203,11 @@ m4_include([srcm4/error.m4]) m4_include([srcm4/extensions.m4]) m4_include([srcm4/extern-inline.m4]) m4_include([srcm4/fcntl-o.m4]) +m4_include([srcm4/fcntl.m4]) m4_include([srcm4/fcntl_h.m4]) +m4_include([srcm4/free.m4]) +m4_include([srcm4/fstat.m4]) +m4_include([srcm4/getdtablesize.m4]) m4_include([srcm4/getprogname.m4]) m4_include([srcm4/gettext.m4]) m4_include([srcm4/gnulib-common.m4]) @@ -1157,29 +1216,37 @@ m4_include([srcm4/host-cpu-c-abi.m4]) m4_include([srcm4/iconv.m4]) m4_include([srcm4/include_next.m4]) m4_include([srcm4/intlmacosx.m4]) +m4_include([srcm4/inttypes.m4]) m4_include([srcm4/largefile.m4]) m4_include([srcm4/lib-ld.m4]) m4_include([srcm4/lib-link.m4]) m4_include([srcm4/lib-prefix.m4]) m4_include([srcm4/libunistring-base.m4]) m4_include([srcm4/limits-h.m4]) -m4_include([srcm4/longlong.m4]) m4_include([srcm4/lstat.m4]) m4_include([srcm4/malloc.m4]) m4_include([srcm4/malloca.m4]) m4_include([srcm4/mbstate_t.m4]) +m4_include([srcm4/mempcpy.m4]) +m4_include([srcm4/minmax.m4]) +m4_include([srcm4/mode_t.m4]) m4_include([srcm4/msvc-inval.m4]) m4_include([srcm4/msvc-nothrow.m4]) m4_include([srcm4/multiarch.m4]) m4_include([srcm4/nls.m4]) m4_include([srcm4/nocrash.m4]) m4_include([srcm4/off_t.m4]) +m4_include([srcm4/open-cloexec.m4]) +m4_include([srcm4/open-slash.m4]) +m4_include([srcm4/open.m4]) m4_include([srcm4/pathmax.m4]) m4_include([srcm4/po.m4]) m4_include([srcm4/progtest.m4]) m4_include([srcm4/raise.m4]) +m4_include([srcm4/rawmemchr.m4]) m4_include([srcm4/read.m4]) m4_include([srcm4/readlink.m4]) +m4_include([srcm4/realloc.m4]) m4_include([srcm4/relocatable-lib.m4]) m4_include([srcm4/relocatable.m4]) m4_include([srcm4/safe-read.m4]) @@ -1190,6 +1257,7 @@ m4_include([srcm4/sigpipe.m4]) m4_include([srcm4/ssize_t.m4]) m4_include([srcm4/stat-time.m4]) m4_include([srcm4/stat.m4]) +m4_include([srcm4/stdalign.m4]) m4_include([srcm4/stdbool.m4]) m4_include([srcm4/stddef_h.m4]) m4_include([srcm4/stdint.m4]) @@ -1205,11 +1273,13 @@ m4_include([srcm4/unistd_h.m4]) m4_include([srcm4/unlocked-io.m4]) m4_include([srcm4/visibility.m4]) m4_include([srcm4/warn-on-use.m4]) +m4_include([srcm4/wchar_h.m4]) m4_include([srcm4/wchar_t.m4]) m4_include([srcm4/wint_t.m4]) +m4_include([srcm4/year2038.m4]) +m4_include([srcm4/zzgnulib.m4]) m4_include([m4/cp.m4]) m4_include([m4/eilseq.m4]) -m4_include([m4/endian.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ln.m4]) m4_include([m4/ltoptions.m4]) diff --git a/source/build-aux/ar-lib b/source/build-aux/ar-lib old mode 100644 new mode 100755 index 0baa4f6..54c6bdb --- a/source/build-aux/ar-lib +++ b/source/build-aux/ar-lib @@ -2,9 +2,9 @@ # Wrapper for Microsoft lib.exe me=ar-lib -scriptversion=2012-03-01.08; # UTC +scriptversion=2019-07-04.01; # UTC -# Copyright (C) 2010-2018 Free Software Foundation, Inc. +# Copyright (C) 2010-2022 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -65,7 +65,7 @@ func_file_conv () mingw) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin) + cygwin | msys) file=`cygpath -m "$file" || echo "$file"` ;; wine) @@ -135,6 +135,10 @@ do AR="$AR $1" shift ;; + -nologo | -NOLOGO) + # We always invoke AR with -nologo, so don't need to add it again. + shift + ;; *) action=$1 shift @@ -224,10 +228,11 @@ elif test -n "$extract"; then esac done else - $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member - do - $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? - done + $AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \ + | while read member + do + $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? + done fi elif test -n "$quick$replace"; then diff --git a/source/build-aux/compile b/source/build-aux/compile old mode 100644 new mode 100755 index 99e5052..2078fc8 --- a/source/build-aux/compile +++ b/source/build-aux/compile @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2022 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,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/*) diff --git a/source/build-aux/config.guess b/source/build-aux/config.guess old mode 100644 new mode 100755 index 79d1317..160ecf0 --- a/source/build-aux/config.guess +++ b/source/build-aux/config.guess @@ -1,12 +1,14 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2019 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. -timestamp='2019-03-04' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2022-05-08' # 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 program is distributed in the hope that it will be useful, but @@ -27,11 +29,19 @@ timestamp='2019-03-04' # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# 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="\ @@ -50,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2019 Free Software Foundation, Inc. +Copyright 1992-2022 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." @@ -84,6 +94,9 @@ if test $# != 0; then exit 1 fi +# 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 @@ -99,8 +112,10 @@ tmp= 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 + # 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 ; } || @@ -110,7 +125,7 @@ set_cc_for_build() { ,,) 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" + CC_FOR_BUILD=$driver break fi done @@ -131,14 +146,12 @@ 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 +case $UNAME_SYSTEM in Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu + LIBC=unknown set_cc_for_build cat <<-EOF > "$dummy.c" @@ -147,24 +160,37 @@ Linux|GNU|GNU/*) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc - #else + #elif defined(__GLIBC__) LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" - # If ldd exists, use it to detect musl libc. - if command -v ldd >/dev/null && \ - ldd --version 2>&1 | grep -q ^musl - then - LIBC=musl + # 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*, @@ -176,12 +202,12 @@ 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=`(uname -p 2>/dev/null || \ - "/sbin/$sysctl" 2>/dev/null || \ - "/usr/sbin/$sysctl" 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 + case $UNAME_MACHINE_ARCH in + aarch64eb) machine=aarch64_be-unknown ;; armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; @@ -190,13 +216,13 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in 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=${arch}${endian}-unknown ;; - *) machine="$UNAME_MACHINE_ARCH"-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) and ABI. - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in earm*) os=netbsdelf ;; @@ -217,7 +243,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in ;; esac # Determine ABI tags. - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` @@ -228,7 +254,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # 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' ;; @@ -239,45 +265,57 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi-}" - exit ;; + GUESS=$machine-${os}${release}${abi-} + ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; + 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\.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" - exit ;; + 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:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; + GUESS=$UNAME_MACHINE-unknown-sortix + ;; + *:Twizzler:*:*) + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; + GUESS=$UNAME_MACHINE-unknown-redox + ;; mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; + 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}'` @@ -291,7 +329,7 @@ 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 ;; "EV4.5 (21064)") @@ -328,117 +366,121 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # 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 ;; + 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 ;; + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; + 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.*:*) 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 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 ;; + 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 + 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 @@ -448,41 +490,41 @@ 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) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -510,75 +552,76 @@ EOF 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 set_cc_for_build @@ -595,16 +638,16 @@ EOF EOF 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 @@ -612,56 +655,56 @@ EOF else IBM_ARCH=powerpc fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + 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 ;; + GUESS=rs6000-ibm-aix + ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; + 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 + 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 + 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 + 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 + if test "$HP_ARCH" = ""; then set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -700,7 +743,7 @@ EOF test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ "$HP_ARCH" = hppa2.0w ] + if test "$HP_ARCH" = hppa2.0w then set_cc_for_build @@ -721,12 +764,12 @@ EOF 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:*:*) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -756,36 +799,36 @@ EOF EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; + GUESS=unknown-hitachi-hiuxwe2 + ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; + 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 ;; + GUESS=hppa1.0-hp-mpeix + ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; + 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 @@ -793,17 +836,18 @@ 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" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ @@ -811,114 +855,129 @@ EOF -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 ;; + 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 ;; + 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 - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi else - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf fi - exit ;; + ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` - case "$UNAME_PROCESSOR" in + case $UNAME_PROCESSOR in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - 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*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - exit ;; + 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 ;; i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; + GUESS=$UNAME_MACHINE-pc-uwin + ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-pc-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-$LIBC`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 "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" - 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 + ;; *:Minix:*:*) - echo "$UNAME_MACHINE"-unknown-minix - exit ;; + GUESS=$UNAME_MACHINE-unknown-minix + ;; aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - 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 ;; @@ -929,60 +988,63 @@ EOF esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; arm*:Linux:*:*) 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-"$LIBC" + 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-"$LIBC"eabi + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf fi fi - exit ;; + ;; avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; mips:Linux:*:* | mips64:Linux:*:*) set_cc_for_build IS_GLIBC=0 @@ -1027,113 +1089,135 @@ EOF #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" + 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:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; + GUESS=or1k-unknown-linux-$LIBC + ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; + GUESS=sparc-unknown-linux-$LIBC + ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - 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-"$LIBC" ;; - PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; - *) echo hppa-unknown-linux-"$LIBC" ;; + 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-"$LIBC" - exit ;; + GUESS=powerpc64-unknown-linux-$LIBC + ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc-unknown-linux-$LIBC + ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc64le-unknown-linux-$LIBC + ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + 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-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; x86_64:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - 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-"$LIBC" - 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 # 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 ;; + 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 @@ -1141,12 +1225,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 @@ -1156,11 +1240,11 @@ 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 @@ -1168,31 +1252,31 @@ EOF # Note: whatever this is, it MUST be the same as what config.sub # 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) @@ -1217,250 +1301,264 @@ EOF /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { 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 # 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 + ;; x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; + GUESS=x86_64-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:*:*) - echo sxace-nec-superux"$UNAME_RELEASE" - exit ;; + 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 - set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + 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 "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then - 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 - 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 + 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 - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE fi - echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` 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 ;; + GUESS=i386-pc-qnx + ;; NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk"$UNAME_RELEASE" - exit ;; + 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. - # shellcheck disable=SC2154 - 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:*:*) - echo x86_64-unknown-onefs - exit ;; + GUESS=x86_64-unknown-onefs + ;; *:Unleashed:*:*) - echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; esac +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + # No uname command or uname output not recognized. set_cc_for_build cat > "$dummy.c" < "$dummy.c" < #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 () { #if defined (sony) @@ -1554,19 +1660,24 @@ main () #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__) -#include -#if defined(_SIZE_T_) /* >= ULTRIX4 */ - printf ("mips-dec-ultrix4\n"); exit (0); +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); #else -#if defined(ULTRIX3) || defined(ultrix3) || defined(SIGLOST) - printf ("mips-dec-ultrix3\n"); exit (0); -#endif + printf ("mips-dec-ultrix\n"); exit (0); #endif #endif #endif @@ -1579,7 +1690,7 @@ 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. @@ -1587,7 +1698,7 @@ test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } echo "$0: unable to guess system type" >&2 -case "$UNAME_MACHINE:$UNAME_SYSTEM" in +case $UNAME_MACHINE:$UNAME_SYSTEM in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 <, 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 -# 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, @@ -66,7 +66,7 @@ case $host_os in dgux*) shlibpath_var=LD_LIBRARY_PATH ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) shlibpath_var=LD_LIBRARY_PATH ;; gnu*) diff --git a/source/build-aux/config.rpath b/source/build-aux/config.rpath old mode 100644 new mode 100755 index be202c1..1e1ab67 --- a/source/build-aux/config.rpath +++ b/source/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-2019 Free Software Foundation, Inc. +# Copyright 1996-2022 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # @@ -371,7 +371,7 @@ else hardcode_direct=yes hardcode_minus_L=yes ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; @@ -547,7 +547,7 @@ case "$host_os" in freebsd[23].*) library_names_spec='$libname$shrext$versuffix' ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) library_names_spec='$libname$shrext' ;; gnu*) diff --git a/source/build-aux/config.sub b/source/build-aux/config.sub old mode 100644 new mode 100755 index a44fd8a..9b62e37 --- a/source/build-aux/config.sub +++ b/source/build-aux/config.sub @@ -1,12 +1,14 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2019 Free Software Foundation, Inc. +# Copyright 1992-2021 Free Software Foundation, Inc. -timestamp='2019-01-05' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-12-25' # 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 program is distributed in the hope that it will be useful, but @@ -33,7 +35,7 @@ timestamp='2019-01-05' # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +# 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 @@ -50,6 +52,13 @@ timestamp='2019-01-05' # 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="\ @@ -67,7 +76,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2019 Free Software Foundation, Inc. +Copyright 1992-2021 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." @@ -112,9 +121,11 @@ esac # Split fields of configuration type # shellcheck disable=SC2162 +saved_IFS=$IFS IFS="-" read field1 field2 field3 field4 <&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. @@ -1532,6 +1527,7 @@ else # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. +kernel= case $cpu-$vendor in score-*) os=elf @@ -1543,7 +1539,8 @@ case $cpu-$vendor in os=riscix1.2 ;; arm*-rebel) - os=linux + kernel=linux + os=gnu ;; arm*-semi) os=aout @@ -1709,84 +1706,180 @@ case $cpu-$vendor in os=none ;; esac + fi +# Now, validate our (potentially fixed-up) OS. +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) + ;; + # 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* \ + | 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* | aout* | elf* | oabi* \ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | udi* | lites* | ieee* | go32* | aux* | hcos* \ + | chorusrdb* | cegcc* | glidix* | serenity* \ + | cygwin* | msys* | pe* | 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* ) + ;; + # 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) + ;; + *) + echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 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 in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # 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 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS 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. case $vendor in unknown) - case $os in - riscix*) + 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 ;; - clix*) + *-clix*) vendor=intergraph ;; - mvs* | opened*) + *-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 ;; esac -echo "$cpu-$vendor-$os" +echo "$cpu-$vendor-${kernel:+$kernel-}$os" exit # Local variables: diff --git a/source/build-aux/install-reloc b/source/build-aux/install-reloc old mode 100644 new mode 100755 index aa17a60..63aeb9a --- a/source/build-aux/install-reloc +++ b/source/build-aux/install-reloc @@ -1,11 +1,11 @@ #!/bin/sh # install-reloc - install a program including a relocating wrapper -# Copyright (C) 2003-2019 Free Software Foundation, Inc. +# Copyright (C) 2003-2022 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, @@ -237,8 +237,16 @@ func_create_wrapper () "$srcdir"/readlink.c \ "$srcdir"/stat.c \ "$srcdir"/canonicalize-lgpl.c \ + "$srcdir"/malloc/scratch_buffer_dupfree.c \ + "$srcdir"/malloc/scratch_buffer_grow.c \ + "$srcdir"/malloc/scratch_buffer_grow_preserve.c \ + "$srcdir"/malloc/scratch_buffer_set_array_size.c \ + "$srcdir"/malloc.c \ + "$srcdir"/realloc.c \ + "$srcdir"/free.c \ + "$srcdir"/mempcpy.c \ + "$srcdir"/rawmemchr.c \ "$srcdir"/malloca.c \ - "$srcdir"/lstat.c \ "$srcdir"/relocatable.c \ "$srcdir"/setenv.c \ "$srcdir"/c-ctype.c \ @@ -255,8 +263,16 @@ func_create_wrapper () readlink.o \ stat.o \ canonicalize-lgpl.o \ + scratch_buffer_dupfree.o \ + scratch_buffer_grow.o \ + scratch_buffer_grow_preserve.o \ + scratch_buffer_set_array_size.o \ + malloc.o \ + realloc.o \ + free.o \ + mempcpy.o \ + rawmemchr.o \ malloca.o \ - lstat.o \ relocatable.o \ setenv.o \ c-ctype.o diff --git a/source/build-aux/install-sh b/source/build-aux/install-sh old mode 100644 new mode 100755 index 8175c64..ec298b5 --- a/source/build-aux/install-sh +++ b/source/build-aux/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2018-03-11.20; # UTC +scriptversion=2020-11-14.01; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -69,6 +69,11 @@ 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= @@ -99,18 +104,28 @@ 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. + +Email bug reports to bug-automake@gnu.org. +Automake home page: https://www.gnu.org/software/automake/ " while test $# -ne 0; do @@ -137,8 +152,13 @@ while test $# -ne 0; do -o) chowncmd="$chownprog $2" shift;; + -p) cpprog="$cpprog -p";; + -s) stripcmd=$stripprog;; + -S) backupsuffix="$2" + shift;; + -t) is_target_a_directory=always dst_arg=$2 @@ -255,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 @@ -301,22 +325,6 @@ do 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 @@ -326,52 +334,49 @@ do 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. - ;; - *) - # Note that $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' feature. - 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 - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac;; + # 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 + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; esac if @@ -382,7 +387,7 @@ do 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. @@ -411,7 +416,7 @@ do prefixes= else if $posix_mkdir; then - (umask=$mkdir_umask && + (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 @@ -451,7 +456,18 @@ do 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. # @@ -477,6 +493,13 @@ do 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 || @@ -491,9 +514,9 @@ do # file should still install successfully. { test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || + $doit $rmcmd "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 diff --git a/source/build-aux/libtool-reloc b/source/build-aux/libtool-reloc old mode 100644 new mode 100755 index 9d899ab..b06e76f --- a/source/build-aux/libtool-reloc +++ b/source/build-aux/libtool-reloc @@ -1,11 +1,11 @@ #!/bin/sh # libtool-reloc - libtool wrapper with support for relocatable programs -# Copyright (C) 2019 Free Software Foundation, Inc. +# Copyright (C) 2019-2022 Free Software Foundation, Inc. # Written by Bruno Haible , 2019. # # This program is free software: you can redistribute it and/or modify # 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, diff --git a/source/build-aux/ltmain.sh b/source/build-aux/ltmain.sh index 1d0185a..ef6949f 100644 --- a/source/build-aux/ltmain.sh +++ b/source/build-aux/ltmain.sh @@ -1,12 +1,12 @@ -#! /bin/sh +#! /usr/bin/env sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 +## by inline-source v2019-02-19.15 -# libtool (GNU libtool) 2.4.6 +# libtool (GNU libtool) 2.4.7 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2019, 2021-2022 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. @@ -31,8 +31,8 @@ PROGRAM=libtool PACKAGE=libtool -VERSION=2.4.6 -package_revision=2.4.6 +VERSION=2.4.7 +package_revision=2.4.7 ## ------ ## @@ -64,34 +64,25 @@ package_revision=2.4.6 # libraries, which are installed to $pkgauxdir. # Set a version string for this script. -scriptversion=2015-01-20.17; # UTC +scriptversion=2019-02-19.15; # 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 . +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# Please report bugs or propose patches to gary@gnu.org. +# Please report bugs or propose patches to: +# ## ------ ## @@ -139,9 +130,12 @@ do _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL # Make sure IFS has a sensible default sp=' ' @@ -159,6 +153,26 @@ if test "${PATH_SEPARATOR+set}" != set; then fi +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS + ## ------------------------- ## ## Locate command utilities. ## @@ -259,7 +273,7 @@ test -z "$SED" && { rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" rm -f conftest.sed SED=$func_path_progs_result } @@ -295,7 +309,7 @@ test -z "$GREP" && { rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" GREP=$func_path_progs_result } @@ -360,6 +374,35 @@ sed_double_backslash="\ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ + _G_save_IFS=$IFS + IFS='\' + _G_check_ifs_backshlash='a\\b' + for _G_i in $_G_check_ifs_backshlash + do + case $_G_i in + a) + check_ifs_backshlash_broken=false + ;; + '') + break + ;; + *) + check_ifs_backshlash_broken=: + break + ;; + esac + done + IFS=$_G_save_IFS + require_check_ifs_backslash=: +} + ## ----------------- ## ## Global variables. ## @@ -580,16 +623,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then { $debug_cmd - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" }' else func_append_quoted () { $debug_cmd - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1=\$$1\\ \$func_quote_arg_result" } fi @@ -1091,85 +1134,203 @@ func_relative_path () } -# 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 () +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg. Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable () { $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" + $require_check_ifs_backslash + + func_quote_portable_result=$2 + + # one-time-loop (easy break) + while true + do + if $1; then + func_quote_portable_result=`$ECHO "$2" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` + break 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\" + # Quote for eval. + case $func_quote_portable_result in + *[\\\`\"\$]*) + # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string + # contains the shell wildcard characters. + case $check_ifs_backshlash_broken$func_quote_portable_result in + :*|*[\[\*\?]*) + func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ + | $SED "$sed_quote_subst"` + break + ;; + esac + + func_quote_portable_old_IFS=$IFS + for _G_char in '\' '`' '"' '$' + do + # STATE($1) PREV($2) SEPARATOR($3) + set start "" "" + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy + IFS=$_G_char + for _G_part in $func_quote_portable_result + do + case $1 in + quote) + func_append func_quote_portable_result "$3$2" + set quote "$_G_part" "\\$_G_char" + ;; + start) + set first "" "" + func_quote_portable_result= + ;; + first) + set quote "$_G_part" "" + ;; + esac + done + done + IFS=$func_quote_portable_old_IFS ;; - *) - _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 + break done + + func_quote_portable_unquoted_result=$func_quote_portable_result + case $func_quote_portable_result 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. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_portable_result=\"$func_quote_portable_result\" + ;; + esac } -# 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 +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed. Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then + printf -v _GL_test_printf_tilde %q '~' + if test '\~' = "$_GL_test_printf_tilde"; then + func_quotefast_eval () + { + printf -v func_quotefast_eval_result %q "$1" + } + else + # Broken older Bash implementations. Make those faster too if possible. + func_quotefast_eval () + { + case $1 in + '~'*) + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + ;; + *) + printf -v func_quotefast_eval_result %q "$1" + ;; + esac + } + fi +else + func_quotefast_eval () + { + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + } +fi - case $1 in - *[\\\`\"]*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later. MODEs argument may contain zero or more +# specifiers listed below separated by ',' character. This function returns two +# values: +# i) func_quote_arg_result +# double-quoted (when needed), suitable for a subsequent eval +# ii) func_quote_arg_unquoted_result +# has all characters that are still active within double +# quotes backslashified. Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +# - escape shell special characters +# 'expand' +# - the same as 'eval'; but do not quote variable references +# 'pretty' +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might +# be used later in func_quote to get output like: 'echo "a b"' instead +# of 'echo a\ b'. This is slower than default on some shells. +# 'unquoted' +# - produce also $func_quote_arg_unquoted_result which does not contain +# wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +# string | *_result | *_unquoted_result +# ------------+-----------------------+------------------- +# " | \" | \" +# a b | "a b" | a b +# "a b" | "\"a b\"" | \"a b\" +# * | "*" | * +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +# string | *_result | *_unquoted_result +# --------------+---------------------+-------------------- +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" +func_quote_arg () +{ + _G_quote_expand=false + case ,$1, in + *,expand,*) + _G_quote_expand=: + ;; esac - 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. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_arg=\"$_G_arg\" + case ,$1, in + *,pretty,*|*,expand,*|*,unquoted,*) + func_quote_portable $_G_quote_expand "$2" + func_quote_arg_result=$func_quote_portable_result + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result + ;; + *) + # Faster quote-for-eval for some shells. + func_quotefast_eval "$2" + func_quote_arg_result=$func_quotefast_eval_result ;; esac +} + - func_quote_for_expand_result=$_G_arg +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command. See +# func_quote_arg's description for more info. +func_quote () +{ + $debug_cmd + _G_func_quote_mode=$1 ; shift + func_quote_result= + while test 0 -lt $#; do + func_quote_arg "$_G_func_quote_mode" "$1" + if test -n "$func_quote_result"; then + func_append func_quote_result " $func_quote_arg_result" + else + func_append func_quote_result "$func_quote_arg_result" + fi + shift + done } @@ -1215,8 +1376,8 @@ func_show_eval () _G_cmd=$1 _G_fail_exp=${2-':'} - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" + func_quote_arg pretty,expand "$_G_cmd" + eval "func_notquiet $func_quote_arg_result" $opt_dry_run || { eval "$_G_cmd" @@ -1241,8 +1402,8 @@ func_show_eval_locale () _G_fail_exp=${2-':'} $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$_G_cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || { @@ -1369,30 +1530,26 @@ func_lt_ver () # End: #! /bin/sh -# Set a version string for this script. -scriptversion=2014-01-07.03; # 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. +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# Please report bugs or propose patches to: +# -# Please report bugs or propose patches to gary@gnu.org. +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC ## ------ ## @@ -1415,7 +1572,7 @@ scriptversion=2014-01-07.03; # UTC # # 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; '. +# starting with '# Written by ' and ending with '# Copyright'. # # 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 @@ -1427,7 +1584,7 @@ scriptversion=2014-01-07.03; # UTC # to display verbose messages only when your user has specified # '--verbose'. # -# After sourcing this file, you can plug processing for additional +# After sourcing this file, you can plug in processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. @@ -1476,8 +1633,8 @@ fatal_help="Try '\$progname --help' for more information." ## ------------------------- ## # 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. +# in the main code. A hook is just a list of function names that can be +# run in order later on. # func_hookable FUNC_NAME # ----------------------- @@ -1510,7 +1667,8 @@ func_add_hook () # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. +# Remove HOOK_FUNC from the list of hook functions to be called by +# FUNC_NAME. func_remove_hook () { $debug_cmd @@ -1519,10 +1677,28 @@ func_remove_hook () } +# func_propagate_result FUNC_NAME_A FUNC_NAME_B +# --------------------------------------------- +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to +# *_result variable of FUNC_NAME_B. +func_propagate_result () +{ + $debug_cmd + + func_propagate_result_result=: + if eval "test \"\${${1}_result+set}\" = set" + then + eval "${2}_result=\$${1}_result" + else + func_propagate_result_result=false + fi +} + + # 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 +# It's 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. @@ -1532,22 +1708,19 @@ func_run_hooks () case " $hookable_fns " in *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook funcions.n" ;; + *) func_fatal_error "'$1' does not support hook functions." ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do - eval $_G_hook '"$@"' - - # 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 + func_unset "${_G_hook}_result" + eval $_G_hook '${1+"$@"}' + func_propagate_result $_G_hook func_run_hooks + if $func_propagate_result_result; then + eval set dummy "$func_run_hooks_result"; shift + fi done - - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result } @@ -1557,10 +1730,18 @@ func_run_hooks () ## --------------- ## # In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed -# options in '_result', escaped suitably for -# 'eval'. Like this: +# full positional parameter list from your hook function. You may remove +# or edit any options that you action, and then pass back the remaining +# unprocessed options in '_result', escaped +# suitably for 'eval'. +# +# The '_result' variable is automatically unset +# before your hook gets called; for best performance, only set the +# *_result variable when necessary (i.e. don't call the 'func_quote' +# function unnecessarily because it can be an expensive operation on some +# machines). +# +# Like this: # # my_options_prep () # { @@ -1570,9 +1751,8 @@ func_run_hooks () # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result +# # No change in '$@' (ignored completely by this hook). Leave +# # my_options_prep_result variable intact. # } # func_add_hook func_options_prep my_options_prep # @@ -1581,25 +1761,36 @@ func_run_hooks () # { # $debug_cmd # -# # Note that for efficiency, we parse as many options as we can +# 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=: ;; +# --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=: # ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # is added back to "$@" in case we need it later, +# # if $args_changed was set to 'true'. +# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result +# # Only call 'func_quote' here if we processed at least one argument. +# if $args_changed; then +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result +# fi # } # func_add_hook func_parse_options my_silent_option # @@ -1610,17 +1801,26 @@ func_run_hooks () # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." -# -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result # } # func_add_hook func_validate_options my_option_validation # -# You'll alse need to manually amend $usage_message to reflect the extra +# 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 + + func_run_hooks func_options ${1+"$@"} + func_propagate_result func_run_hooks func_options_finish +} + + # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the @@ -1630,17 +1830,27 @@ func_options () { $debug_cmd - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} + _G_options_quoted=false - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} + for my_func in options_prep parse_options validate_options options_finish + do + func_unset func_${my_func}_result + func_unset func_run_hooks_result + eval func_$my_func '${1+"$@"}' + func_propagate_result func_$my_func func_options + if $func_propagate_result_result; then + eval set dummy "$func_options_result"; shift + _G_options_quoted=: + fi + done - # save modified positional parameters for caller - func_options_result=$func_run_hooks_result + $_G_options_quoted || { + # As we (func_options) are top-level options-parser function and + # nobody quoted "$@" for us yet, we need to do it explicitly for + # caller. + func_quote eval ${1+"$@"} + func_options_result=$func_quote_result + } } @@ -1649,9 +1859,8 @@ func_options () # 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 propogate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning. +# 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. func_hookable func_options_prep func_options_prep () { @@ -1662,9 +1871,7 @@ func_options_prep () opt_warning_types= func_run_hooks func_options_prep ${1+"$@"} - - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result + func_propagate_result func_run_hooks func_options_prep } @@ -1676,25 +1883,32 @@ func_parse_options () { $debug_cmd - func_parse_options_result= - + _G_parse_options_requote=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. func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift + func_propagate_result func_run_hooks func_parse_options + if $func_propagate_result_result; then + eval set dummy "$func_parse_options_result"; shift + # Even though we may have changed "$@", we passed the "$@" array + # down into the hook and it quoted it for us (because we are in + # this if-branch). No need to quote it again. + _G_parse_options_requote=false + fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break + # We expect that one of the options parsed in this function matches + # and thus we remove _G_opt from "$@" and need to re-quote. + _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" + func_echo "enabling shell trace mode" >&2 $debug_cmd ;; @@ -1704,7 +1918,10 @@ func_parse_options () ;; --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break + if test $# = 0 && func_missing_arg $_G_opt; then + _G_parse_options_requote=: + break + fi case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above @@ -1757,15 +1974,24 @@ func_parse_options () shift ;; - --) break ;; + --) _G_parse_options_requote=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; esac + + if $_G_match_parse_options; then + _G_parse_options_requote=: + fi done - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result + if $_G_parse_options_requote; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result + fi } @@ -1782,12 +2008,10 @@ func_validate_options () test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" func_run_hooks func_validate_options ${1+"$@"} + func_propagate_result func_run_hooks func_validate_options # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE - - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result } @@ -1843,8 +2067,8 @@ func_missing_arg () # func_split_equals STRING # ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. +# 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 \ @@ -1859,8 +2083,9 @@ then func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} - test "x$func_split_equals_lhs" = "x$1" \ - && func_split_equals_rhs= + if test "x$func_split_equals_lhs" = "x$1"; then + func_split_equals_rhs= + fi }' else # ...otherwise fall back to using expr, which is often a shell builtin. @@ -1870,7 +2095,7 @@ else func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` func_split_equals_rhs= - test "x$func_split_equals_lhs" = "x$1" \ + test "x$func_split_equals_lhs=" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` } fi #func_split_equals @@ -1896,7 +2121,7 @@ else { $debug_cmd - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` + func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt @@ -1938,31 +2163,44 @@ func_usage_message () # func_version # ------------ # Echo version message to standard output and exit. +# The version message is extracted from the calling file's header +# comments, with leading '# ' stripped: +# 1. First display the progname and version +# 2. Followed by the header comment line matching /^# Written by / +# 3. Then a blank line followed by the first following line matching +# /^# Copyright / +# 4. Immediately followed by any lines between the previous matches, +# except lines preceding the intervening completely blank line. +# For example, see the header comments of this file. 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 /!b + s|^# ||; p; n + + :fwd2blnk + /./ { + n + b fwd2blnk } - /^# Written by / { - s|^# || - p + p; n + + :holdwrnt + s|^# || + s|^# *$|| + /^Copyright /!{ + /./H + n + b holdwrnt } - /^warranty; /q' < "$progpath" + + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + G + s|\(\n\)\n*|\1|g + p; q' < "$progpath" exit $? } @@ -1972,12 +2210,12 @@ func_version () # 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-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: # Set a version string. -scriptversion='(GNU libtool) 2.4.6' +scriptversion='(GNU libtool) 2.4.7' # func_echo ARG... @@ -2068,7 +2306,7 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.6 + version: $progname (GNU libtool) 2.4.7 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -2124,7 +2362,7 @@ fi # a configuration failure hint, and exit. func_fatal_configuration () { - func__fatal_error ${1+"$@"} \ + func_fatal_error ${1+"$@"} \ "See the $PACKAGE documentation for more information." \ "Fatal configuration error." } @@ -2270,6 +2508,8 @@ libtool_options_prep () nonopt= preserve_args= + _G_rc_lt_options_prep=: + # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) @@ -2293,11 +2533,16 @@ libtool_options_prep () uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; + *) + _G_rc_lt_options_prep=false + ;; esac - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result + if $_G_rc_lt_options_prep; then + # Pass back the list of options. + func_quote eval ${1+"$@"} + libtool_options_prep_result=$func_quote_result + fi } func_add_hook func_options_prep libtool_options_prep @@ -2309,9 +2554,12 @@ libtool_parse_options () { $debug_cmd + _G_rc_lt_parse_options=false + # 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 @@ -2386,15 +2634,20 @@ libtool_parse_options () func_append preserve_args " $_G_opt" ;; - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + # 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 - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result + if $_G_rc_lt_parse_options; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + libtool_parse_options_result=$func_quote_result + fi } func_add_hook func_parse_options libtool_parse_options @@ -2451,8 +2704,8 @@ libtool_validate_options () } # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + libtool_validate_options_result=$func_quote_result } func_add_hook func_validate_options libtool_validate_options @@ -3418,8 +3671,8 @@ func_mode_compile () esac done - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ + func_quote_arg pretty "$libobj" + test "X$libobj" != "X$func_quote_arg_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" @@ -3492,8 +3745,8 @@ compiler." func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result + func_quote_arg pretty "$srcfile" + qsrcfile=$func_quote_arg_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then @@ -3648,7 +3901,8 @@ This mode accepts the following additional options: -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 - -Wc,FLAG pass FLAG directly to the compiler + -Wc,FLAG + -Xcompiler FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. @@ -3756,6 +4010,8 @@ The following components of LINK-COMMAND are treated specially: -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wa,FLAG + -Xassembler FLAG pass linker-specific FLAG directly to the assembler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) @@ -4098,8 +4354,8 @@ func_mode_install () case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " + func_quote_arg pretty "$nonopt" + install_prog="$func_quote_arg_result " arg=$1 shift else @@ -4109,8 +4365,8 @@ func_mode_install () # The real first argument should be the name of the installation program. # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog "$func_quote_arg_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; @@ -4167,12 +4423,12 @@ func_mode_install () esac # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog " $func_quote_arg_result" if test -n "$arg2"; then - func_quote_for_eval "$arg2" + func_quote_arg pretty "$arg2" fi - func_append install_shared_prog " $func_quote_for_eval_result" + func_append install_shared_prog " $func_quote_arg_result" done test -z "$install_prog" && \ @@ -4183,8 +4439,8 @@ func_mode_install () if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" + func_quote_arg pretty "$install_override_mode" + func_append install_shared_prog " -m $func_quote_arg_result" fi fi @@ -4480,8 +4736,8 @@ func_mode_install () relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$relink_command" + eval "func_echo $func_quote_arg_result" } if eval "$relink_command"; then : else @@ -5260,7 +5516,8 @@ else if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + func_quote_arg pretty "$ECHO" + qECHO=$func_quote_arg_result $ECHO "\ # A function that is used when there is no print builtin or printf. @@ -5270,7 +5527,7 @@ func_fallback_echo () \$1 _LTECHO_EOF' } - ECHO=\"$qECHO\" + ECHO=$qECHO fi # Very basic option parsing. These options are (a) specific to @@ -6613,9 +6870,9 @@ func_mode_link () while test "$#" -gt 0; do arg=$1 shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" + func_quote_arg pretty,unquoted "$arg" + qarg=$func_quote_arg_unquoted_result + func_append libtool_args " $func_quote_arg_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then @@ -6851,6 +7108,13 @@ func_mode_link () prev= continue ;; + xassembler) + func_append compiler_flags " -Xassembler $qarg" + prev= + func_append compile_command " -Xassembler $qarg" + func_append finalize_command " -Xassembler $qarg" + continue + ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" @@ -7021,7 +7285,7 @@ func_mode_link () # These systems don't actually have a C library (as such) test X-lc = "X$arg" && continue ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && continue ;; @@ -7041,7 +7305,7 @@ func_mode_link () esac elif test X-lc_r = "X$arg"; then case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc_r directly, use -pthread flag. continue ;; @@ -7071,8 +7335,20 @@ func_mode_link () prev=xcompiler continue ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. + -pthread) + case $host in + *solaris2*) ;; + *) + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + ;; + esac + continue + ;; + -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" @@ -7213,9 +7489,9 @@ func_mode_link () save_ifs=$IFS; IFS=, for flag in $args; do 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" + func_quote_arg pretty "$flag" + func_append arg " $func_quote_arg_result" + func_append compiler_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" @@ -7229,16 +7505,21 @@ func_mode_link () save_ifs=$IFS; IFS=, for flag in $args; do 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" + func_quote_arg pretty "$flag" + func_append arg " $wl$func_quote_arg_result" + func_append compiler_flags " $wl$func_quote_arg_result" + func_append linker_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; + -Xassembler) + prev=xassembler + continue + ;; + -Xcompiler) prev=xcompiler continue @@ -7256,8 +7537,8 @@ func_mode_link () # -msg_* for osf cc -msg_*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; # Flags to be passed through unchanged, with rationale: @@ -7274,12 +7555,17 @@ func_mode_link () # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -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 + # -Wa,* Pass flags directly to the assembler -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*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ + -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" @@ -7300,15 +7586,15 @@ func_mode_link () continue else # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result fi ;; # Some other compiler flag. -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; *.$objext) @@ -7428,8 +7714,8 @@ 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 + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; esac # arg @@ -8634,7 +8920,7 @@ func_mode_link () test CXX = "$tagname" && { case $host_os in linux*) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 func_suncc_cstd_abi @@ -8807,7 +9093,7 @@ func_mode_link () # case $version_type in # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|osf|windows|none) + darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor @@ -8898,7 +9184,7 @@ func_mode_link () versuffix=.$current.$revision ;; - freebsd-elf) + freebsd-elf | midnightbsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision @@ -9124,7 +9410,7 @@ func_mode_link () *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) @@ -9935,8 +10221,8 @@ EOF for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10029,8 +10315,8 @@ EOF eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10504,12 +10790,13 @@ EOF elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty "$var_value" + relink_command="$var=$func_quote_arg_result; export $var; $relink_command" fi done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote eval cd "`pwd`" + func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" + relink_command=$func_quote_arg_unquoted_result fi # Only actually do things if not in dry run mode. @@ -10749,13 +11036,15 @@ EOF elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty,unquoted "$var_value" + relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" 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=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote eval cd "`pwd`" + relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + func_quote_arg pretty,unquoted "$relink_command" + relink_command=$func_quote_arg_unquoted_result if test yes = "$hardcode_automatic"; then relink_command= fi diff --git a/source/build-aux/missing b/source/build-aux/missing old mode 100644 new mode 100755 index 625aeb1..1fe1611 --- a/source/build-aux/missing +++ b/source/build-aux/missing @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify diff --git a/source/build-aux/mkinstalldirs b/source/build-aux/mkinstalldirs old mode 100644 new mode 100755 diff --git a/source/build-aux/reloc-ldflags b/source/build-aux/reloc-ldflags old mode 100644 new mode 100755 index 625fef2..f135c97 --- a/source/build-aux/reloc-ldflags +++ b/source/build-aux/reloc-ldflags @@ -2,12 +2,12 @@ # Output a system dependent linker command for putting a relocatable library # search path into an executable. # -# Copyright 2003-2019 Free Software Foundation, Inc. +# Copyright 2003-2022 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, @@ -56,7 +56,7 @@ esac origin_token= case "$host_os" in linux* | gnu* | kfreebsd* | \ - freebsd* | dragonfly* | \ + freebsd* | dragonfly* | midnightbsd* | \ netbsd* | \ openbsd* | \ solaris* | \ @@ -68,7 +68,9 @@ case "$host_os" in ;; esac if test -n "$origin_token"; then - rpath= + # We are not on AIX, HP-UX, or IRIX. Therefore the -rpath options are + # cumulative. + rpath_options= save_IFS="$IFS"; IFS=":" for dir in $library_path_value; do IFS="$save_IFS" @@ -89,8 +91,8 @@ if test -n "$origin_token"; then idir=`echo "$idir" | sed -e 's,^//*[^/]*,,'` done dir="$origin_token"`echo "$idir" | sed -e 's,//*[^/]*,/..,g'`"$dir" - # Add dir to rpath. - rpath="${rpath}${rpath:+ }$dir" + # Augment rpath_options with dir. + rpath_options="${rpath_options}${rpath_options:+ }-Wl,-rpath,$dir" ;; *) if test -n "$dir"; then @@ -101,15 +103,14 @@ if test -n "$origin_token"; then done IFS="$save_IFS" # Output it. - if test -n "$rpath"; then + if test -n "$rpath_options"; then case "$host_os" in # At least some versions of FreeBSD, DragonFly, and OpenBSD need the # linker option "-z origin". See . freebsd* | dragonfly* | openbsd*) - echo "-Wl,-z,origin -Wl,-rpath,$rpath" ;; - *) - echo "-Wl,-rpath,$rpath" ;; + rpath_options="-Wl,-z,origin $rpath_options" ;; esac + echo "$rpath_options" fi else echo "relocation via rpath not supported on this system: $host" 1>&2 diff --git a/source/config.h b/source/config.h deleted file mode 100644 index b83a2c5..0000000 --- a/source/config.h +++ /dev/null @@ -1,404 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to the number of bits in type 'ptrdiff_t'. */ -#define BITSIZEOF_PTRDIFF_T 0 - -/* Define to the number of bits in type 'sig_atomic_t'. */ -#define BITSIZEOF_SIG_ATOMIC_T 0 - -/* Define to the number of bits in type 'size_t'. */ -#define BITSIZEOF_SIZE_T 0 - -/* Define to the number of bits in type 'wchar_t'. */ -#define BITSIZEOF_WCHAR_T 0 - -/* Define to the number of bits in type 'wint_t'. */ -#define BITSIZEOF_WINT_T 0 - -/* 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 to 1 if using `alloca.c'. */ -#define C_ALLOCA 1 - -/* Define as good substitute value for EILSEQ. */ -/* #undef EILSEQ */ - -/* Define to 1 to enable a few rarely used encodings. */ -/* #undef ENABLE_EXTRA */ - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -/* #undef ENABLE_NLS */ - -/* Define to 1 if the package shall run at any location in the filesystem. */ -/* #define ENABLE_RELOCATABLE 1 */ - -/* Define to 1 if you have `alloca', as a function or macro. */ -/* #undef HAVE_ALLOCA */ - -/* Define to 1 if you have and it should be used (not on Ultrix). - */ -/* #undef HAVE_ALLOCA_H */ - -/* Define to 1 if you have the `canonicalize_file_name' function. */ -/* #undef HAVE_CANONICALIZE_FILE_NAME */ - -/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the - CoreFoundation framework. */ -/* #undef HAVE_CFLOCALECOPYCURRENT */ - -/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in - the CoreFoundation framework. */ -/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ - -/* Define if the GNU dcgettext() function is already present or preinstalled. - */ -/* #undef HAVE_DCGETTEXT */ - -/* Define to 1 if you have the declaration of `canonicalize_file_name', and to - 0 if you don't. */ -#define HAVE_DECL_CANONICALIZE_FILE_NAME 0 - -/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_CLEARERR_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you - don't. */ -#define HAVE_DECL_FEOF_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FERROR_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FFLUSH_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FGETS_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FPUTC_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FPUTS_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FREAD_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FWRITE_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_GETCHAR_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you - don't. */ -#define HAVE_DECL_GETC_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_PUTCHAR_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you - don't. */ -#define HAVE_DECL_PUTC_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `strerror', and to 0 if you - don't. */ -#define HAVE_DECL_STRERROR 0 - -/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you - don't. */ -#define HAVE_DECL_STRERROR_R 0 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DLFCN_H */ - -/* Define if you have the declaration of environ. */ -#define HAVE_ENVIRON_DECL 1 - -/* Define to 1 if you have the `getcwd' function. */ -/* #undef HAVE_GETCWD */ - -/* Define to 1 if you have the `getc_unlocked' function. */ -/* #undef HAVE_GETC_UNLOCKED */ - -/* Define if the GNU gettext() function is already present or preinstalled. */ -/* #undef HAVE_GETTEXT */ - -/* Define if you have the iconv() function and it works. */ -/* #undef HAVE_ICONV */ - -/* Define if your compiler supports the #include_next directive. */ -/* #undef HAVE_INCLUDE_NEXT */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_INTTYPES_H */ - -/* Define if you have and nl_langinfo(CODESET). */ -/* #undef HAVE_LANGINFO_CODESET */ - -/* Define to 1 if the system has the type `long long int'. */ -/* #undef HAVE_LONG_LONG_INT */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_MACH_O_DYLD_H */ - -/* Define if the 'malloc' function is POSIX compliant. */ -/* #undef HAVE_MALLOC_POSIX */ - -/* Define to 1 if you have the `mbrtowc' function. */ -#define HAVE_MBRTOWC 1 - -/* Define to 1 if you have the `mbsinit' function. */ -#define HAVE_MBSINIT 1 - -/* Define to 1 if declares mbstate_t. */ -#define HAVE_MBSTATE_T 1 - -/* Define to 1 if you have the `memmove' function. */ -#define HAVE_MEMMOVE 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_MEMORY_H */ - -/* Define to 1 if you have the `readlink' function. */ -/* #undef HAVE_READLINK */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SEARCH_H 1 - -/* 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 'sig_atomic_t' is a signed integer type. */ -/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ - -/* Define to 1 if 'wchar_t' is a signed integer type. */ -/* #undef HAVE_SIGNED_WCHAR_T */ - -/* Define to 1 if 'wint_t' is a signed integer type. */ -/* #undef HAVE_SIGNED_WINT_T */ - -/* Define to 1 if stdbool.h conforms to C99. */ -/* #undef HAVE_STDBOOL_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_STDINT_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_STDLIB_H */ - -/* Define to 1 if you have the `strerror_r' function. */ -/* #undef HAVE_STRERROR_R */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_STRINGS_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_STRING_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_BITYPES_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_INTTYPES_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_PARAM_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_STAT_H */ - -/* Define to 1 if you have the 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 header file. */ -/* #undef HAVE_UNISTD_H */ - -/* Define to 1 if the system has the type `unsigned long long int'. */ -/* #undef HAVE_UNSIGNED_LONG_LONG_INT */ - -/* Define to 1 or 0, depending whether the compiler supports simple visibility - declarations. */ -#define HAVE_VISIBILITY 0 - -/* Define to 1 if you have the header file. */ -#define HAVE_WCHAR_H 1 - -/* Define if you have the 'wchar_t' type. */ -/* #undef HAVE_WCHAR_T */ - -/* Define to 1 if you have the `wcrtomb' function. */ -/* #undef HAVE_WCRTOMB */ - -/* Define to 1 if the system has the type `_Bool'. */ -/* #undef HAVE__BOOL */ - -/* Define to 1 if you have the `_NSGetExecutablePath' function. */ -/* #undef HAVE__NSGETEXECUTABLEPATH */ - -/* Define as const if the declaration of iconv() needs const. */ -/* #undef ICONV_CONST */ - -/* Define to the value of ${prefix}, as a string. */ -/* #define INSTALLPREFIX "/usr/local" */ - -/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ -#define MALLOC_0_IS_NONNULL 0 - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#define NO_MINUS_C_MINUS_O 1 - -/* Name of package */ -#define PACKAGE "libiconv" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "" - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'ptrdiff_t'. */ -#define PTRDIFF_T_SUFFIX - -/* Define this to 1 if strerror is broken. */ -#define REPLACE_STRERROR 1 - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'sig_atomic_t'. */ -#define SIG_ATOMIC_T_SUFFIX - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'size_t'. */ -#define SIZE_T_SUFFIX - -/* 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 */ -#define STACK_DIRECTION -1 - -/* Define to 1 if you have the ANSI C header files. */ -/* #undef STDC_HEADERS */ - -/* Define to 1 if strerror_r returns char *. */ -/* #undef STRERROR_R_CHAR_P */ - -/* Define to 1 if you want getc etc. to use unlocked I/O if available. - Unlocked I/O can improve performance in unithreaded apps, but it is not - safe for multithreaded apps. */ -#define USE_UNLOCKED_IO 0 - -/* Version number of package */ -#define VERSION "1.12" - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'wchar_t'. */ -#define WCHAR_T_SUFFIX - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'wint_t'. */ -#define WINT_T_SUFFIX - -/* Define if the machine's byte ordering is little endian. */ -#define WORDS_LITTLEENDIAN 1 - -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -/* Define to 1 if on MINIX. */ -/* #undef _MINIX */ - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -/* #undef _POSIX_SOURCE */ - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# define _ALL_SOURCE 1 -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# define _POSIX_PTHREAD_SEMANTICS 1 -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# define _TANDEM_SOURCE 1 -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -/* # undef __EXTENSIONS__ */ -#endif - - -/* Define to a type if does not define. */ -#if !defined(HAVE_MBSTATE_T) || _MSC_VER < 1900 -#define mbstate_t int -#endif - -/* Define to a replacement function name for realpath(). */ -#define realpath rpl_realpath - -/* 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. */ -#define 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 -# define _Restrict -#endif - -/* Define as a signed type of the same size as size_t. */ -#define ssize_t int - -/* On Windows, variables that may be in a DLL must be marked specially. */ -#if defined _MSC_VER && defined _DLL -# define DLL_VARIABLE __declspec (dllimport) -#else -# define DLL_VARIABLE -#endif - diff --git a/source/config.h.in b/source/config.h.in index 59fa44c..816a858 100644 --- a/source/config.h.in +++ b/source/config.h.in @@ -1,5 +1,8 @@ /* config.h.in. Generated from configure.ac by autoheader. */ +/* Define if building universal (internal helper macro) */ +#undef AC_APPLE_UNIVERSAL_BUILD + /* Define to the number of bits in type 'ptrdiff_t'. */ #undef BITSIZEOF_PTRDIFF_T @@ -15,12 +18,7 @@ /* 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 to 1 if using `alloca.c'. */ +/* Define to 1 if using 'alloca.c'. */ #undef C_ALLOCA /* Define to 1 if // is a file system root distinct from /. */ @@ -39,8 +37,15 @@ /* Define to 1 if the package shall run at any location in the file system. */ #undef ENABLE_RELOCATABLE +/* Define this to 1 if F_DUPFD behavior does not match POSIX */ +#undef FCNTL_DUPFD_BUGGY + /* Define to 1 if realpath() can malloc memory, always gives an absolute path, - and handles trailing slash correctly. */ + and handles a trailing slash correctly. */ +#undef FUNC_REALPATH_NEARLY_WORKS + +/* Define to 1 if realpath() can malloc memory, always gives an absolute path, + and handles leading slashes and a trailing slash correctly. */ #undef FUNC_REALPATH_WORKS /* Define to a C preprocessor expression that evaluates to 1 or 0, depending @@ -67,6 +72,14 @@ whether the gnulib module sigpipe shall be considered present. */ #undef GNULIB_SIGPIPE +/* Define to 1 if you want the FILE stream functions getc, putc, etc. to use + unlocked I/O if available, throughout the package. Unlocked I/O can improve + performance, sometimes dramatically. But unlocked I/O is safe only in + single-threaded programs, as well as in multithreaded programs for which + you can guarantee that every FILE stream, including stdin, stdout, stderr, + is used only in a single thread. */ +#undef GNULIB_STDIO_SINGLE_THREAD + /* 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 @@ -75,27 +88,102 @@ */ #undef GNULIB_TEST_CANONICALIZE_FILE_NAME +/* 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 lstat should be tested. */ -#undef GNULIB_TEST_LSTAT +/* Define to 1 when the gnulib module fcntl should be tested. */ +#undef GNULIB_TEST_FCNTL + +/* 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 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 getchar should be tested. */ +#undef GNULIB_TEST_GETCHAR + +/* Define to 1 when the gnulib module getdtablesize should be tested. */ +#undef GNULIB_TEST_GETDTABLESIZE /* Define to 1 when the gnulib module malloc-posix should be tested. */ #undef GNULIB_TEST_MALLOC_POSIX +/* Define to 1 when the gnulib module mempcpy should be tested. */ +#undef GNULIB_TEST_MEMPCPY + +/* Define to 1 when the gnulib module open should be tested. */ +#undef GNULIB_TEST_OPEN + +/* 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 putchar should be tested. */ +#undef GNULIB_TEST_PUTCHAR + +/* Define to 1 when the gnulib module puts should be tested. */ +#undef GNULIB_TEST_PUTS + /* Define to 1 when the gnulib module raise should be tested. */ #undef GNULIB_TEST_RAISE +/* Define to 1 when the gnulib module rawmemchr should be tested. */ +#undef GNULIB_TEST_RAWMEMCHR + /* Define to 1 when the gnulib module read should be tested. */ #undef GNULIB_TEST_READ /* Define to 1 when the gnulib module readlink should be tested. */ #undef GNULIB_TEST_READLINK +/* Define to 1 when the gnulib module realloc-posix should be tested. */ +#undef GNULIB_TEST_REALLOC_POSIX + /* Define to 1 when the gnulib module realpath should be tested. */ #undef GNULIB_TEST_REALPATH +/* Define to 1 when the gnulib module scanf should be tested. */ +#undef GNULIB_TEST_SCANF + /* Define to 1 when the gnulib module sigprocmask should be tested. */ #undef GNULIB_TEST_SIGPROCMASK @@ -105,20 +193,21 @@ /* Define to 1 when the gnulib module strerror should be tested. */ #undef GNULIB_TEST_STRERROR -/* Define to 1 if you have `alloca', as a function or macro. */ +/* Define to 1 when the gnulib module vfprintf should be tested. */ +#undef GNULIB_TEST_VFPRINTF + +/* Define to 1 when the gnulib module vprintf should be tested. */ +#undef GNULIB_TEST_VPRINTF + +/* Define to 1 if you have 'alloca', as a function or macro. */ #undef HAVE_ALLOCA -/* Define to 1 if you have and it should be used (not on Ultrix). - */ +/* Define to 1 if works. */ #undef HAVE_ALLOCA_H /* Define to 1 if you have the `canonicalize_file_name' function. */ #undef HAVE_CANONICALIZE_FILE_NAME -/* 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 Mac OS X function CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES @@ -130,6 +219,12 @@ /* Define to 1 if you have the `copy_file_range' function. */ #undef HAVE_COPY_FILE_RANGE +/* Define to 1 if you have the header file. */ +#undef HAVE_CRTDEFS_H + +/* 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 @@ -138,6 +233,22 @@ you don't. */ #undef HAVE_DECL_CLEARERR_UNLOCKED +/* 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 `feof_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FEOF_UNLOCKED @@ -170,6 +281,10 @@ you don't. */ #undef HAVE_DECL_FWRITE_UNLOCKED +/* 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 `getchar_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETCHAR_UNLOCKED @@ -178,6 +293,10 @@ don't. */ #undef HAVE_DECL_GETC_UNLOCKED +/* 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 `program_invocation_name', and to 0 if you don't. */ #undef HAVE_DECL_PROGRAM_INVOCATION_NAME @@ -202,6 +321,10 @@ don't. */ #undef HAVE_DECL_STRERROR_R +/* 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 @@ -212,12 +335,27 @@ /* Define if you have the declaration of environ. */ #undef HAVE_ENVIRON_DECL +/* Define to 1 if you have the `faccessat' function. */ +#undef HAVE_FACCESSAT + +/* Define to 1 if you have the `fcntl' function. */ +#undef HAVE_FCNTL + +/* Define to 1 if you have the header file. */ +#undef HAVE_FEATURES_H + +/* Define if the 'free' function is guaranteed to preserve errno. */ +#undef HAVE_FREE_POSIX + /* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD /* Define to 1 if you have the `getc_unlocked' function. */ #undef HAVE_GETC_UNLOCKED +/* Define to 1 if you have the `getdtablesize' function. */ +#undef HAVE_GETDTABLESIZE + /* Define to 1 if you have the `getexecname' function. */ #undef HAVE_GETEXECNAME @@ -248,7 +386,7 @@ /* Define to 1 if you have the header file. */ #undef HAVE_MACH_O_DYLD_H -/* Define if the 'malloc' function is POSIX compliant. */ +/* Define if malloc, realloc, and calloc set errno on allocation failure. */ #undef HAVE_MALLOC_POSIX /* Define to 1 if you have the `mbrtowc' function. */ @@ -263,8 +401,17 @@ /* Define to 1 if you have the `memmove' function. */ #undef HAVE_MEMMOVE -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H +/* Define to 1 if you have the `mempcpy' function. */ +#undef HAVE_MEMPCPY + +/* Define to 1 if you have the header file. */ +#undef HAVE_MINIX_CONFIG_H + +/* Define to 1 if defines the MIN and MAX macros. */ +#undef HAVE_MINMAX_IN_LIMITS_H + +/* Define to 1 if defines the MIN and MAX macros. */ +#undef HAVE_MINMAX_IN_SYS_PARAM_H /* Define to 1 on MSVC platforms that have the "invalid parameter handler" concept. */ @@ -273,6 +420,9 @@ /* Define to 1 if you have the `raise' function. */ #undef HAVE_RAISE +/* Define to 1 if you have the `rawmemchr' function. */ +#undef HAVE_RAWMEMCHR + /* Define to 1 if you have the `readlink' function. */ #undef HAVE_READLINK @@ -282,9 +432,15 @@ /* Define to 1 if you have the `realpath' function. */ #undef HAVE_REALPATH +/* Define to 1 if you have the header file. */ +#undef HAVE_SDKDDKVER_H + /* Define to 1 if you have the header file. */ #undef HAVE_SEARCH_H +/* Define to 1 if you have the `setdtablesize' function. */ +#undef HAVE_SETDTABLESIZE + /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV @@ -306,10 +462,13 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the 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 header file. */ @@ -409,6 +568,127 @@ /* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ #undef HAVE__SET_INVALID_PARAMETER_HANDLER +/* Define to 1 if the compiler supports __builtin_expect, + and to 2 if does. */ +#undef HAVE___BUILTIN_EXPECT +#ifndef HAVE___BUILTIN_EXPECT +# define __builtin_expect(e, c) (e) +#elif HAVE___BUILTIN_EXPECT == 2 +# include +#endif + + +/* 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 + . + + 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__ \ + : (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 _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 + +/* 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 @@ -431,6 +711,9 @@ #endif +/* Define to 1 if open() fails to recognize a trailing slash. */ +#undef OPEN_TRAILING_SLASH_BUG + /* Name of package */ #undef PACKAGE @@ -452,6 +735,10 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION +/* Define to the type that is the result of default argument promotions of + type mode_t. */ +#undef PROMOTED_MODE_T + /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'ptrdiff_t'. */ #undef PTRDIFF_T_SUFFIX @@ -459,6 +746,10 @@ /* Define to 1 if readlink fails to recognize a trailing slash. */ #undef READLINK_TRAILING_SLASH_BUG +/* Define to 1 if readlink sets errno instead of truncating a too-long link. + */ +#undef READLINK_TRUNCATE_BUG + /* Define to 1 if stat needs help when passed a file name with a trailing slash */ #undef REPLACE_FUNC_STAT_FILE @@ -485,7 +776,9 @@ /* Define to 1 if the `S_IS*' macros in 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 *. */ @@ -507,19 +800,44 @@ #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 NetBSD extensions on NetBSD. */ +/* 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 extensions on NetBSD. */ +/* Enable OpenBSD compatibility extensions on NetBSD. + Oddly enough, this does nothing on OpenBSD. */ #ifndef _OPENBSD_SOURCE # undef _OPENBSD_SOURCE #endif -/* Enable threading extensions on Solaris. */ +/* 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 @@ -555,26 +873,14 @@ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif -/* Enable X/Open extensions if necessary. HP-UX 11.11 defines - mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of - whether compiling with -Ae or -D_HPUX_SOURCE=1. */ +/* Enable X/Open extensions. Define to 500 only if necessary + to make mbstate_t available. */ #ifndef _XOPEN_SOURCE # undef _XOPEN_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 -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif -/* Define to 1 if you want getc etc. to use unlocked I/O if available. - Unlocked I/O can improve performance in unithreaded apps, but it is not - safe for multithreaded apps. */ +/* An alias of GNULIB_STDIO_SINGLE_THREAD. */ #undef USE_UNLOCKED_IO /* Version number of package */ @@ -588,35 +894,61 @@ 'wint_t'. */ #undef WINT_T_SUFFIX +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# undef WORDS_BIGENDIAN +# endif +#endif + /* Define if the machine's byte ordering is little endian. */ #undef WORDS_LITTLEENDIAN -/* Enable large inode numbers on Mac OS X 10.5. */ -#undef _DARWIN_USE_64_BIT_INODE - /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES +/* 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 to 1 if on MINIX. */ -#undef _MINIX -/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ -#undef _NETBSD_SOURCE +/* Define to enable the declarations of ISO C 11 types and functions. */ +#undef _ISOC11_SOURCE + +/* Define for large files, on AIX-style hosts. */ +#undef _LARGE_FILES /* The _Noreturn keyword of C11. */ #ifndef _Noreturn # if (defined __cplusplus \ && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ - || (defined _MSC_VER && 1900 <= _MSC_VER))) + || (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 __cplusplus || defined __clang__) \ - && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) + && (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 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C +# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C # define _Noreturn __attribute__ ((__noreturn__)) # elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) # define _Noreturn __declspec (noreturn) @@ -626,28 +958,31 @@ #endif -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for 'stat' and other things to work. */ -#undef _POSIX_SOURCE +/* Number of bits in a timestamp, on hosts where this is settable. */ +#undef _TIME_BITS /* For standard stat data types on VMS. */ #undef _USE_STD_STAT +/* For 64-bit time_t on 32-bit mingw. */ +#undef __MINGW_USE_VC2005_COMPAT + /* Define to 1 if the system predates C++11. */ #undef __STDC_CONSTANT_MACROS /* Define to 1 if the system 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 - + 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 @@ -669,110 +1004,376 @@ #define _GL_ASYNC_SAFE -/* Please see the Gnulib manual for how to use these macros. +/* Attributes. */ +#if (defined __has_attribute \ + && (!defined __clang_minor__ \ + || (defined __apple_build_version__ \ + ? 6000000 <= __apple_build_version__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))) +# 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 - Suppress extern inline with HP-UX cc, as it appears to be broken; see - . +#ifdef __has_c_attribute +# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \ + && _GL_GNUC_PREREQ (4, 6)) +# pragma GCC diagnostic ignored "-Wpedantic" +# endif +# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) +#else +# define _GL_HAS_C_ATTRIBUTE(attr) 0 +#endif - 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 Sun C 5.12 SunOS_i386 2011/11/16. - 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: +/* _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. */ +#if _GL_HAS_ATTRIBUTE (alloc_size) +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) +#else +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +#endif - OS X 10.8 and earlier; see: - https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html +/* _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. */ +#if _GL_HAS_ATTRIBUTE (always_inline) +# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) +#else +# define _GL_ATTRIBUTE_ALWAYS_INLINE +#endif - DragonFly; see - http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log +/* _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. */ +#if _GL_HAS_ATTRIBUTE (artificial) +# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) +#else +# define _GL_ATTRIBUTE_ARTIFICIAL +#endif - FreeBSD; see: - https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html +/* _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__'. */ +#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 - 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. +/* _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. */ +#if _GL_HAS_ATTRIBUTE (const) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST +#endif - 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. +/* _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. */ +#if _GL_GNUC_PREREQ (11, 0) +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +#else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +#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 +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +#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. */ +#if _GL_HAS_C_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] +#elif _GL_HAS_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GL_ATTRIBUTE_DEPRECATED +#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 _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 + +/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain + visible to debuggers etc., even with '-fwhole-program'. */ +/* Applies to: functions, variables. */ +#if _GL_HAS_ATTRIBUTE (externally_visible) +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) +#else +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +#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. */ +#if _GL_HAS_C_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] +#elif _GL_HAS_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) +#else +# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +#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. */ +#if _GL_HAS_ATTRIBUTE (format) +# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#else +# define _GL_ATTRIBUTE_FORMAT(spec) +#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. */ +#if _GL_HAS_ATTRIBUTE (leaf) +# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) +#else +# define _GL_ATTRIBUTE_LEAF +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (malloc) +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +#else +# define _GL_ATTRIBUTE_MALLOC +#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. */ +#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C +# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) +#else +# define _GL_ATTRIBUTE_MAY_ALIAS +#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 C2x, this is spelled [[__maybe_unused__]]. + GCC's syntax is __attribute__ ((__unused__)). + clang supports both syntaxes. */ +#if _GL_HAS_C_ATTRIBUTE (maybe_unused) +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +#else +# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED +#endif +/* Alternative spelling of this macro, for convenience. */ +#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. */ +#if _GL_HAS_C_ATTRIBUTE (nodiscard) +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +#elif _GL_HAS_ATTRIBUTE (warn_unused_result) +# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) +#else +# define _GL_ATTRIBUTE_NODISCARD +#endif + +/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the + function. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (noinline) +# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) +#else +# define _GL_ATTRIBUTE_NOINLINE +#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. */ +#if _GL_HAS_ATTRIBUTE (nonnull) +# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) +#else +# define _GL_ATTRIBUTE_NONNULL(args) +#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'. */ +#if _GL_HAS_ATTRIBUTE (nonstring) +# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) +#else +# define _GL_ATTRIBUTE_NONSTRING +#endif + +/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. */ -#if (((defined __APPLE__ && defined __MACH__) \ - || defined __DragonFly__ || defined __FreeBSD__) \ - && (defined __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 +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +#else +# define _GL_ATTRIBUTE_NOTHROW #endif -#if ((__GNUC__ \ - ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ - : (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 _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 + +/* _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. */ +#if _GL_HAS_ATTRIBUTE (packed) +# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) #else -# define _GL_INLINE static _GL_UNUSED -# define _GL_EXTERN_INLINE static _GL_UNUSED +# define _GL_ATTRIBUTE_PACKED #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") +/* _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. */ +#if _GL_HAS_ATTRIBUTE (pure) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) #else -# define _GL_INLINE_HEADER_BEGIN -# define _GL_INLINE_HEADER_END +# define _GL_ATTRIBUTE_PURE #endif +/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is + a non-NULL pointer. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (returns_nonnull) +# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) +#else +# define _GL_ATTRIBUTE_RETURNS_NONNULL +#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. */ +#if _GL_HAS_ATTRIBUTE (sentinel) +# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) +#else +# define _GL_ATTRIBUTE_SENTINEL(pos) +#endif + +/* A helper macro. Don't use it directly. */ +#if _GL_HAS_ATTRIBUTE (unused) +# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_ATTRIBUTE_UNUSED +#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. */ +#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ +# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +#else +# define _GL_UNUSED_LABEL +#endif + + /* Define to `int' if doesn't define. */ #undef gid_t @@ -789,25 +1390,42 @@ /* Define to a type if does not define. */ #undef mbstate_t +/* _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 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 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 @@ -821,49 +1439,21 @@ /* Define to `int' if doesn't define. */ #undef uid_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 - -/* gcc supports the "unused" attribute on possibly unused labels, and - g++ has since version 4.5. Note to support C++ as well as C, - _GL_UNUSED_LABEL should be used with a trailing ; */ -#if !defined __cplusplus || __GNUC__ > 4 \ - || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) -# define _GL_UNUSED_LABEL _GL_UNUSED -#else -# define _GL_UNUSED_LABEL -#endif - -/* 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 - -/* The __malloc__ attribute was added in gcc 3. */ -#if 3 <= __GNUC__ -# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -#else -# define _GL_ATTRIBUTE_MALLOC /* 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 + /* On Windows, variables that may be in a DLL must be marked specially. */ diff --git a/source/configure b/source/configure old mode 100644 new mode 100755 index 3488d1d..668c3dd --- a/source/configure +++ b/source/configure @@ -1,9 +1,10 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libiconv 1.16. +# Generated by GNU Autoconf 2.71 for libiconv 1.17. # # -# Copyright (C) 1992-1996, 1998-2012 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 @@ -14,14 +15,16 @@ # 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 ;; #( @@ -31,46 +34,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&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 || @@ -79,13 +82,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 #(( @@ -94,8 +90,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 @@ -107,30 +107,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 # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. @@ -152,20 +132,22 @@ 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'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 +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 ;; #( @@ -185,12 +167,15 @@ 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 +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 @@ -205,30 +190,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 @@ -236,14 +229,21 @@ 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 : + +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$CONFIG_SHELL" != x; then : + 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 @@ -261,18 +261,19 @@ 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'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 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$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 about your system, + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." @@ -299,6 +300,7 @@ as_fn_unset () } as_unset=as_fn_unset + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -316,6 +318,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 # ------------- @@ -330,7 +340,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" @@ -339,7 +349,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 @@ -378,12 +388,13 @@ as_fn_executable_p () # 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 @@ -395,18 +406,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] # ---------------------------------------- @@ -418,9 +438,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 @@ -447,7 +467,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 @@ -491,7 +511,7 @@ 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 @@ -505,6 +525,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*) @@ -518,6 +542,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 @@ -587,54 +618,51 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libiconv' PACKAGE_TARNAME='libiconv' -PACKAGE_VERSION='1.16' -PACKAGE_STRING='libiconv 1.16' +PACKAGE_VERSION='1.17' +PACKAGE_STRING='libiconv 1.17' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_unique_file="lib/iconv.c" # Factoring default headers for most tests. ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include +#include +#ifdef HAVE_STDIO_H +# include #endif -#ifdef STDC_HEADERS +#ifdef HAVE_STDLIB_H # include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif #endif #ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif # include #endif -#ifdef HAVE_STRINGS_H -# include -#endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif #ifdef HAVE_UNISTD_H # include #endif" +ac_header_c_list= gt_needs= -ac_header_list= -ac_func_list= +ac_func_c_list= enable_option_checking=no -ac_subst_vars='gltests_LTLIBOBJS +ac_subst_vars='gltests_LIBOBJDEPS +gltests_LTLIBOBJS gltests_LIBOBJS +gl_LIBOBJDEPS gl_LTLIBOBJS gl_LIBOBJS am__EXEEXT_FALSE @@ -647,7 +675,113 @@ WOE32DLL SRCLIBOBJS LIBICRT_LTLIBDEPS LIBICRT_LIBDEPS +GL_CFLAG_GNULIB_WARNINGS +GL_CFLAG_ALLOW_WARNINGS gltests_WITNESS +GL_GNULIB_MDA_WCSDUP +GL_GNULIB_WCSFTIME +GL_GNULIB_WCSWIDTH +GL_GNULIB_WCSTOK +GL_GNULIB_WCSSTR +GL_GNULIB_WCSPBRK +GL_GNULIB_WCSSPN +GL_GNULIB_WCSCSPN +GL_GNULIB_WCSRCHR +GL_GNULIB_WCSCHR +GL_GNULIB_WCSDUP +GL_GNULIB_WCSXFRM +GL_GNULIB_WCSCOLL +GL_GNULIB_WCSNCASECMP +GL_GNULIB_WCSCASECMP +GL_GNULIB_WCSNCMP +GL_GNULIB_WCSCMP +GL_GNULIB_WCSNCAT +GL_GNULIB_WCSCAT +GL_GNULIB_WCPNCPY +GL_GNULIB_WCSNCPY +GL_GNULIB_WCPCPY +GL_GNULIB_WCSCPY +GL_GNULIB_WCSNLEN +GL_GNULIB_WCSLEN +GL_GNULIB_WMEMSET +GL_GNULIB_WMEMPCPY +GL_GNULIB_WMEMMOVE +GL_GNULIB_WMEMCPY +GL_GNULIB_WMEMCMP +GL_GNULIB_WMEMCHR +GL_GNULIB_WCWIDTH +GL_GNULIB_WCSNRTOMBS +GL_GNULIB_WCSRTOMBS +GL_GNULIB_WCRTOMB +GL_GNULIB_MBSNRTOWCS +GL_GNULIB_MBSRTOWCS +GL_GNULIB_MBRLEN +GL_GNULIB_MBRTOWC +GL_GNULIB_MBSINIT +GL_GNULIB_WCTOB +GL_GNULIB_BTOWC +HAVE_CRTDEFS_H +HAVE_WINT_T +HAVE_FEATURES_H +NEXT_AS_FIRST_DIRECTIVE_WCHAR_H +NEXT_WCHAR_H +REPLACE_WCSTOK +REPLACE_WCSFTIME +REPLACE_WCSWIDTH +REPLACE_WCWIDTH +REPLACE_WCSNRTOMBS +REPLACE_WCSRTOMBS +REPLACE_WCRTOMB +REPLACE_MBSNRTOWCS +REPLACE_MBSRTOWCS +REPLACE_MBRLEN +REPLACE_MBRTOWC +REPLACE_MBSINIT +REPLACE_WCTOB +REPLACE_BTOWC +REPLACE_MBSTATE_T +HAVE_DECL_WCWIDTH +HAVE_DECL_WCSDUP +HAVE_DECL_WCTOB +HAVE_WCSFTIME +HAVE_WCSWIDTH +HAVE_WCSTOK +HAVE_WCSSTR +HAVE_WCSPBRK +HAVE_WCSSPN +HAVE_WCSCSPN +HAVE_WCSRCHR +HAVE_WCSCHR +HAVE_WCSDUP +HAVE_WCSXFRM +HAVE_WCSCOLL +HAVE_WCSNCASECMP +HAVE_WCSCASECMP +HAVE_WCSNCMP +HAVE_WCSCMP +HAVE_WCSNCAT +HAVE_WCSCAT +HAVE_WCPNCPY +HAVE_WCSNCPY +HAVE_WCPCPY +HAVE_WCSCPY +HAVE_WCSNLEN +HAVE_WCSLEN +HAVE_WMEMSET +HAVE_WMEMPCPY +HAVE_WMEMMOVE +HAVE_WMEMCPY +HAVE_WMEMCMP +HAVE_WMEMCHR +HAVE_WCSNRTOMBS +HAVE_WCSRTOMBS +HAVE_WCRTOMB +HAVE_MBSNRTOWCS +HAVE_MBSRTOWCS +HAVE_MBRLEN +HAVE_MBRTOWC +HAVE_MBSINIT +HAVE_BTOWC LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE LIBUNISTRING_UNIWIDTH_H @@ -655,6 +789,20 @@ LIBUNISTRING_UNITYPES_H 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_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 @@ -672,150 +820,51 @@ REPLACE_MKTIME REPLACE_LOCALTIME_R REPLACE_CTIME HAVE_TIMEZONE_T -HAVE_TZSET +HAVE_TIMESPEC_GETRES +HAVE_TIMESPEC_GET HAVE_TIMEGM HAVE_STRPTIME HAVE_NANOSLEEP HAVE_DECL_LOCALTIME_R -GNULIB_TZSET -GNULIB_TIME_RZ -GNULIB_TIME_R -GNULIB_TIMEGM -GNULIB_STRPTIME -GNULIB_STRFTIME -GNULIB_NANOSLEEP -GNULIB_LOCALTIME -GNULIB_MKTIME -GNULIB_CTIME 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 -HAVE_WINSOCK2_H -UNDEFINE_STRTOK_R -REPLACE_STRSIGNAL -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_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_EXPLICIT_BZERO -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 -GNULIB_EXPLICIT_BZERO +GL_COND_OBJ_STRERROR_OVERRIDE_FALSE +GL_COND_OBJ_STRERROR_OVERRIDE_TRUE +GL_COND_OBJ_STRERROR_FALSE +GL_COND_OBJ_STRERROR_TRUE 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 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 -HAVE_UNSIGNED_LONG_LONG_INT -HAVE_LONG_LONG_INT -GNULIB_OVERRIDES_WINT_T -NEXT_AS_FIRST_DIRECTIVE_STDDEF_H -NEXT_STDDEF_H GL_GENERATE_STDDEF_H_FALSE GL_GENERATE_STDDEF_H_TRUE STDDEF_H +NEXT_AS_FIRST_DIRECTIVE_STDDEF_H +NEXT_STDDEF_H HAVE_MAX_ALIGN_T REPLACE_NULL -HAVE__BOOL GL_GENERATE_STDBOOL_H_FALSE GL_GENERATE_STDBOOL_H_TRUE STDBOOL_H -WINDOWS_64_BIT_ST_SIZE -WINDOWS_STAT_TIMESPEC -NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H -NEXT_SYS_STAT_H +HAVE__BOOL +GL_GENERATE_STDALIGN_H_FALSE +GL_GENERATE_STDALIGN_H_TRUE +STDALIGN_H +GL_COND_OBJ_STAT_FALSE +GL_COND_OBJ_STAT_TRUE +GL_COND_OBJ_SIGPROCMASK_FALSE +GL_COND_OBJ_SIGPROCMASK_TRUE ASM_SYMBOL_PREFIX REPLACE_VSPRINTF REPLACE_VSNPRINTF @@ -844,6 +893,7 @@ REPLACE_FSEEK REPLACE_FREOPEN REPLACE_FPURGE REPLACE_FPRINTF +REPLACE_FOPEN_FOR_FOPEN_GNU REPLACE_FOPEN REPLACE_FFLUSH REPLACE_FDOPEN @@ -865,61 +915,84 @@ 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_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 NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H NEXT_SIGNAL_H +GL_COND_OBJ_PROGRELOC_FALSE +GL_COND_OBJ_PROGRELOC_TRUE +GL_COND_OBJ_READLINK_FALSE +GL_COND_OBJ_READLINK_TRUE +GL_COND_OBJ_READ_FALSE +GL_COND_OBJ_READ_TRUE +GL_COND_OBJ_RAWMEMCHR_FALSE +GL_COND_OBJ_RAWMEMCHR_TRUE +GL_GNULIB_SIGACTION +GL_GNULIB_SIGPROCMASK +GL_GNULIB_SIGNAL_H_SIGPIPE +GL_GNULIB_RAISE +GL_GNULIB_PTHREAD_SIGMASK +GL_COND_OBJ_RAISE_FALSE +GL_COND_OBJ_RAISE_TRUE REPLACE_RAISE REPLACE_PTHREAD_SIGMASK HAVE_SIGHANDLER_T @@ -931,22 +1004,184 @@ HAVE_SIGSET_T HAVE_RAISE HAVE_PTHREAD_SIGMASK HAVE_POSIX_SIGNALBLOCKING -GNULIB_SIGACTION -GNULIB_SIGPROCMASK -GNULIB_SIGNAL_H_SIGPIPE -GNULIB_RAISE -GNULIB_PTHREAD_SIGMASK +GL_COND_OBJ_OPEN_FALSE +GL_COND_OBJ_OPEN_TRUE +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_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_MEMRCHR +GL_GNULIB_MEMPCPY +GL_GNULIB_MEMMEM +GL_GNULIB_MEMCHR +GL_GNULIB_FFSLL +GL_GNULIB_FFSL +GL_GNULIB_EXPLICIT_BZERO +GL_COND_OBJ_MEMPCPY_FALSE +GL_COND_OBJ_MEMPCPY_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_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_MEMPCPY +HAVE_DECL_MEMMEM +HAVE_FFSLL +HAVE_FFSL +HAVE_EXPLICIT_BZERO +HAVE_MBSLEN +GL_GENERATE_LIMITS_H_FALSE +GL_GENERATE_LIMITS_H_TRUE +LIMITS_H +GL_GNULIB_STRTOUMAX +GL_GNULIB_STRTOIMAX +GL_GNULIB_IMAXDIV +GL_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 +HAVE_IMAXDIV_T +HAVE_DECL_STRTOUMAX +HAVE_DECL_STRTOIMAX +HAVE_DECL_IMAXDIV +HAVE_DECL_IMAXABS +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 APPLE_UNIVERSAL_BUILD -HAVE_MSVC_INVALID_PARAMETER_HANDLER +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 +NEXT_AS_FIRST_DIRECTIVE_LIMITS_H +NEXT_LIMITS_H +GL_COND_OBJ_GETDTABLESIZE_FALSE +GL_COND_OBJ_GETDTABLESIZE_TRUE +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 +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 HAVE_UTIMENSAT HAVE_MKNODAT HAVE_MKNOD @@ -955,56 +1190,139 @@ HAVE_MKFIFO HAVE_MKDIRAT HAVE_LSTAT HAVE_LCHMOD +HAVE_GETUMASK HAVE_FUTIMENS HAVE_FSTATAT HAVE_FCHMODAT -GNULIB_OVERRIDES_STRUCT_STAT -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_GENERATE_LIMITS_H_FALSE -GL_GENERATE_LIMITS_H_TRUE -LIMITS_H -NEXT_AS_FIRST_DIRECTIVE_LIMITS_H -NEXT_LIMITS_H +GL_COND_OBJ_FREE_FALSE +GL_COND_OBJ_FREE_TRUE 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_COND_OBJ_ERROR_FALSE +GL_COND_OBJ_ERROR_TRUE +GL_GENERATE_ERRNO_H_FALSE +GL_GENERATE_ERRNO_H_TRUE +ERRNO_H 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 PRAGMA_COLUMNS PRAGMA_SYSTEM_HEADER INCLUDE_NEXT_AS_FIRST_DIRECTIVE INCLUDE_NEXT +GL_COND_OBJ_DUP2_FALSE +GL_COND_OBJ_DUP2_TRUE +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 +HAVE_MSVC_INVALID_PARAMETER_HANDLER 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 @@ -1025,6 +1343,7 @@ REPLACE_LINKAT REPLACE_LINK REPLACE_LCHOWN REPLACE_ISATTY +REPLACE_GETPASS_FOR_GETPASS_GNU REPLACE_GETPASS REPLACE_GETPAGESIZE REPLACE_GETGROUPS @@ -1035,10 +1354,19 @@ REPLACE_GETCWD REPLACE_FTRUNCATE REPLACE_FCHOWNAT REPLACE_FACCESSAT +REPLACE_EXECVPE +REPLACE_EXECVP +REPLACE_EXECVE +REPLACE_EXECV +REPLACE_EXECLP +REPLACE_EXECLE +REPLACE_EXECL 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 @@ -1051,6 +1379,7 @@ HAVE_DECL_GETLOGIN HAVE_DECL_GETDOMAINNAME HAVE_DECL_FDATASYNC HAVE_DECL_FCHDIR +HAVE_DECL_EXECVPE HAVE_DECL_ENVIRON HAVE_USLEEP HAVE_UNLINKAT @@ -1073,6 +1402,7 @@ HAVE_GETPAGESIZE HAVE_GETLOGIN HAVE_GETHOSTNAME HAVE_GETGROUPS +HAVE_GETENTROPY HAVE_GETDTABLESIZE HAVE_FTRUNCATE HAVE_FSYNC @@ -1080,87 +1410,101 @@ 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_TRUNCATE -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_GETPASS -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 +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_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_MALLOC_POSIX +GL_GNULIB_MALLOC_GNU +GL_GNULIB_GRANTPT +GL_GNULIB_GETSUBOPT +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_CANONICALIZE_LGPL_FALSE +GL_COND_OBJ_CANONICALIZE_LGPL_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_QSORT_R REPLACE_PUTENV REPLACE_PTSNAME_R REPLACE_PTSNAME +REPLACE_POSIX_MEMALIGN REPLACE_MKSTEMP REPLACE_MBTOWC -REPLACE_MALLOC +REPLACE_MALLOC_FOR_MALLOC_POSIX +REPLACE_MALLOC_FOR_MALLOC_GNU REPLACE_INITSTATE +REPLACE_FREE REPLACE_CANONICALIZE_FILE_NAME -REPLACE_CALLOC +REPLACE_CALLOC_FOR_CALLOC_POSIX +REPLACE_CALLOC_FOR_CALLOC_GNU +REPLACE_ALIGNED_ALLOC 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 @@ -1177,6 +1521,7 @@ HAVE_QSORT_R HAVE_PTSNAME_R HAVE_PTSNAME HAVE_POSIX_OPENPT +HAVE_POSIX_MEMALIGN HAVE_MKSTEMPS HAVE_MKSTEMP HAVE_MKOSTEMPS @@ -1188,44 +1533,13 @@ HAVE_INITSTATE HAVE_GRANTPT HAVE_GETSUBOPT 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_STRTOLD -GNULIB_STRTOD -GNULIB_SETENV -GNULIB_SECURE_GETENV -GNULIB_RPMATCH -GNULIB_REALPATH -GNULIB_REALLOC_POSIX -GNULIB_REALLOCARRAY -GNULIB_RANDOM_R -GNULIB_RANDOM -GNULIB_QSORT_R -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 GL_GENERATE_ALLOCA_H_FALSE GL_GENERATE_ALLOCA_H_TRUE ALLOCA_H @@ -1243,11 +1557,11 @@ LIBINTL INTLLIBS INTL_MACOSX_LIBS XGETTEXT_EXTRA_OPTIONS +MSGMERGE_FOR_MSGFMT_OPTION MSGMERGE XGETTEXT_015 XGETTEXT GMSGFMT_015 -MSGFMT_015 GMSGFMT MSGFMT GETTEXT_MACRO_VERSION @@ -1282,6 +1596,7 @@ NMEDIT DSYMUTIL MANIFEST_TOOL ac_ct_AR +FILECMD LN_S NM ac_ct_DUMPBIN @@ -1327,6 +1642,9 @@ AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V +CSCOPE +ETAGS +CTAGS am__untar am__tar AMTAR @@ -1369,6 +1687,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -1395,6 +1714,7 @@ enable_option_checking enable_silent_rules enable_dependency_tracking enable_largefile +enable_year2038 enable_static enable_shared with_pic @@ -1409,6 +1729,7 @@ enable_rpath with_libiconv_prefix enable_nls with_libintl_prefix +enable_cross_guesses ' ac_precious_vars='build_alias host_alias @@ -1458,6 +1779,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}' @@ -1487,8 +1809,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 ;; @@ -1529,9 +1849,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" @@ -1555,9 +1875,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" @@ -1710,6 +2030,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=* \ @@ -1759,9 +2088,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" @@ -1775,9 +2104,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" @@ -1821,9 +2150,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}" ;; @@ -1839,7 +2168,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 @@ -1847,7 +2176,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. @@ -1903,7 +2232,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 @@ -1960,7 +2289,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 libiconv 1.16 to adapt to many kinds of systems. +\`configure' configures libiconv 1.17 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2000,6 +2329,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] @@ -2030,7 +2360,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libiconv 1.16:";; + short | recursive ) echo "Configuration of libiconv 1.17:";; esac cat <<\_ACEOF @@ -2045,6 +2375,7 @@ Optional Features: --disable-dependency-tracking speeds up one-time build --disable-largefile omit support for large files + --disable-year2038 omit support for timestamps past the year 2038 --enable-static[=PKGS] build static libraries [default=no] --enable-shared[=PKGS] build shared libraries [default=yes] --enable-fast-install[=PKGS] @@ -2056,6 +2387,8 @@ Optional Features: add support for a few rarely used encodings --disable-rpath do not hardcode runtime library paths --disable-nls do not use Native Language Support + --enable-cross-guesses={conservative|risky} + specify policy for cross-compilation guesses Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -2105,9 +2438,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/ ;; @@ -2135,7 +2468,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 @@ -2143,7 +2477,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 @@ -2152,10 +2486,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libiconv configure 1.16 -generated by GNU Autoconf 2.69 +libiconv configure 1.17 +generated by GNU Autoconf 2.71 -Copyright (C) 2012 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. _ACEOF @@ -2172,14 +2506,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 @@ -2187,14 +2521,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 @@ -2216,7 +2551,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 @@ -2224,14 +2559,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 @@ -2241,162 +2577,35 @@ fi } # ac_fn_c_try_cpp -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ac_fn_c_check_header_compile 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 () +# 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 - 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 + { 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 : - ac_header_compiler=yes -else - ac_header_compiler=no +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.$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;} - ;; -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 +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; } + { 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 @@ -2407,14 +2616,14 @@ $as_echo "$ac_res" >&6; } 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 @@ -2422,17 +2631,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 || test -x conftest$ac_exeext - }; 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 @@ -2453,11 +2663,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 declares $2. @@ -2465,16 +2676,9 @@ else #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif + which can conflict with char $2 (); below. */ +#include #undef $2 /* Override any GCC internal prototype to avoid an error. @@ -2492,28 +2696,72 @@ 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_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes @@ -2528,7 +2776,7 @@ 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; @@ -2538,14 +2786,15 @@ 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; @@ -2555,9 +2804,10 @@ 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= @@ -2565,14 +2815,14 @@ 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; @@ -2582,14 +2832,15 @@ 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; @@ -2599,9 +2850,10 @@ 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= @@ -2609,14 +2861,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 @@ -2624,7 +2876,7 @@ 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; @@ -2634,12 +2886,13 @@ 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 ;; @@ -2649,12 +2902,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 #include int -main () +main (void) { FILE *f = fopen ("conftest.val", "w"); @@ -2682,9 +2935,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 &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 eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int -main () +main (void) { if (sizeof ($2)) return 0; @@ -2722,12 +2977,13 @@ if (sizeof ($2)) return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int -main () +main (void) { if (sizeof (($2))) return 0; @@ -2735,41 +2991,49 @@ if (sizeof (($2))) return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else +else $as_nop eval "$3=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 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_type -# 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 @@ -2783,19 +3047,23 @@ 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_member LINENO AGGR MEMBER VAR INCLUDES # ---------------------------------------------------- @@ -2804,16 +3072,17 @@ $as_echo "$ac_res" >&6; } 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.$3" >&5 -$as_echo_n "checking for $2.$3... " >&6; } -if eval \${$4+:} false; then : - $as_echo_n "(cached) " >&6 -else + { 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. */ $5 int -main () +main (void) { static $2 ac_aggr; if (ac_aggr.$3) @@ -2822,14 +3091,15 @@ 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 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int -main () +main (void) { static $2 ac_aggr; if (sizeof ac_aggr.$3) @@ -2838,29 +3108,50 @@ 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 +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=\$$4 - { $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_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 libiconv $as_me 1.16, which was -generated by GNU Autoconf 2.69. Invocation command line was +It was created by libiconv $as_me 1.17, which was +generated by GNU Autoconf 2.71. Invocation command line was - $ $0 $@ + $ $0$ac_configure_args_raw _ACEOF exec 5>>config.log @@ -2893,8 +3184,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 @@ -2929,7 +3224,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'" ;; @@ -2964,11 +3259,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 @@ -2979,8 +3276,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) ;; #( @@ -3004,7 +3301,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - $as_echo "## ----------------- ## + printf "%s\n" "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo @@ -3012,14 +3309,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 @@ -3027,15 +3324,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 @@ -3043,8 +3340,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 && @@ -3058,63 +3355,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 @@ -3124,185 +3406,580 @@ 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 need-ngettext" -as_fn_append ac_header_list " unistd.h" -as_fn_append ac_func_list " symlink" -as_fn_append ac_header_list " stdlib.h" -as_fn_append ac_header_list " string.h" -as_fn_append ac_func_list " canonicalize_file_name" -as_fn_append ac_func_list " getcwd" -as_fn_append ac_func_list " readlink" -as_fn_append ac_func_list " realpath" -as_fn_append ac_header_list " sys/param.h" -as_fn_append ac_func_list " readlinkat" -as_fn_append ac_func_list " getprogname" -as_fn_append ac_func_list " getexecname" -as_fn_append ac_header_list " limits.h" -as_fn_append ac_func_list " lstat" -as_fn_append ac_func_list " _set_invalid_parameter_handler" -as_fn_append ac_func_list " setenv" -as_fn_append ac_header_list " sys/stat.h" -as_fn_append ac_header_list " sys/time.h" -as_fn_append ac_header_list " wchar.h" -as_fn_append ac_header_list " stdint.h" -as_fn_append ac_header_list " sys/socket.h" -# 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. - 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=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - 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 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## +# 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 -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 +#include +#include +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]; -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 +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);' -# 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. +# 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 -am__api_version='1.16' +#include +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); +} -# 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 -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# 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; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&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=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - 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 - # 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 +// 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 need-ngettext" +as_fn_append ac_func_c_list " symlink HAVE_SYMLINK" +as_fn_append ac_func_c_list " canonicalize_file_name HAVE_CANONICALIZE_FILE_NAME" +as_fn_append ac_func_c_list " faccessat HAVE_FACCESSAT" +as_fn_append ac_func_c_list " realpath HAVE_REALPATH" +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_func_c_list " readlinkat HAVE_READLINKAT" +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_func_c_list " fcntl HAVE_FCNTL" +as_fn_append ac_func_c_list " getdtablesize HAVE_GETDTABLESIZE" +as_fn_append ac_func_c_list " getprogname HAVE_GETPROGNAME" +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 " readlink HAVE_READLINK" +as_fn_append ac_func_c_list " setenv HAVE_SETENV" +as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_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 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=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { 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. ## +## -------------------- ## + +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__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 +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# 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. +{ 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 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 + 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/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + 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 + # 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 # program-specific install script used by HP pwplus--don't use. : else @@ -3310,12 +3987,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 @@ -3331,7 +4008,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 @@ -3341,8 +4018,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. @@ -3352,8 +4029,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; } +{ 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=' @@ -3407,8 +4084,8 @@ 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= @@ -3427,26 +4104,23 @@ 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 + + if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL 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+set}" != xset; then @@ -3466,11 +4140,12 @@ 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 @@ -3478,11 +4153,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 as_fn_executable_p "$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 @@ -3493,11 +4172,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 @@ -3506,11 +4185,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 @@ -3518,11 +4198,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 as_fn_executable_p "$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 @@ -3533,11 +4217,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 @@ -3545,8 +4229,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 @@ -3558,25 +4242,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 - 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 (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 @@ -3587,7 +4277,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 @@ -3597,18 +4287,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; } +{ 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 @@ -3616,11 +4307,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 as_fn_executable_p "$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 @@ -3631,24 +4326,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: @@ -3664,12 +4360,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 @@ -3683,7 +4379,8 @@ fi rmdir .tst 2>/dev/null # 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 @@ -3693,12 +4390,13 @@ case $enable_silent_rules in # ((( *) AM_DEFAULT_VERBOSITY=1;; 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 @@ -3710,8 +4408,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)' @@ -3743,17 +4441,13 @@ fi # Define the identity of the package. PACKAGE='libiconv' - VERSION='1.16' + VERSION='1.17' -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. @@ -3793,6 +4487,20 @@ 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 @@ -3838,13 +4546,14 @@ fi ac_config_headers="$ac_config_headers config.h lib/config.h" -{ $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: @@ -3860,17 +4569,26 @@ 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 + + + + + + + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3879,11 +4597,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 @@ -3891,11 +4610,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 as_fn_executable_p "$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 @@ -3906,11 +4629,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 @@ -3919,11 +4642,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 @@ -3931,11 +4655,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 as_fn_executable_p "$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 @@ -3946,11 +4674,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 @@ -3958,8 +4686,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 @@ -3972,11 +4700,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 @@ -3984,11 +4713,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 as_fn_executable_p "$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 @@ -3999,11 +4732,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 @@ -4012,11 +4745,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 @@ -4025,15 +4759,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 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 + 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 @@ -4049,18 +4787,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 @@ -4071,11 +4809,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 @@ -4083,11 +4822,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 as_fn_executable_p "$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 @@ -4098,11 +4841,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 @@ -4115,11 +4858,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 @@ -4127,11 +4871,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 as_fn_executable_p "$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 @@ -4142,11 +4890,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 @@ -4158,8 +4906,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 @@ -4167,25 +4915,129 @@ esac 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;} -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 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +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" && { { 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. +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 -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 @@ -4195,7 +5047,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 @@ -4203,7 +5055,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -4215,9 +5067,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.*" @@ -4238,11 +5090,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, @@ -4259,7 +5112,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 @@ -4275,44 +5128,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 @@ -4326,15 +5181,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 @@ -4343,7 +5198,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; @@ -4355,8 +5210,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 @@ -4364,10 +5219,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 @@ -4375,39 +5230,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) { ; @@ -4421,11 +5277,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 @@ -4434,31 +5291,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 @@ -4468,29 +5326,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 @@ -4499,57 +5361,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 @@ -4564,94 +5429,144 @@ 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 -#include -struct stat; -/* 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 @@ -4660,21 +5575,23 @@ 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_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 whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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 () +main (void) { ; @@ -4702,8 +5619,8 @@ _ACEOF rm -f core conftest* unset am_i fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } +{ 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. @@ -4718,12 +5635,90 @@ 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" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 -$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +{ 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 >confinc.out @@ -4759,11 +5754,12 @@ esac fi done rm -f confinc.* confmf.* -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 -$as_echo "${_am_result}" >&6; } +{ 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 @@ -4784,11 +5780,12 @@ 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 @@ -4895,8 +5892,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 @@ -4915,40 +5912,36 @@ 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; } +{ 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 ${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" + 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. - # Prefer to if __STDC__ is defined, since - # 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 -#else -# include -#endif +#include Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -4960,10 +5953,11 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -4973,7 +5967,8 @@ 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 @@ -4985,29 +5980,24 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } +{ 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. - # Prefer to if __STDC__ is defined, since - # 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 -#else -# include -#endif +#include Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -5019,10 +6009,11 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -5032,11 +6023,12 @@ 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 : -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 $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi @@ -5051,11 +6043,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # 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_path_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_path_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $STRIP in [\\/]* | ?:[\\/]*) ac_cv_path_STRIP="$STRIP" # Let the user override the test with a path. @@ -5065,11 +6058,15 @@ else 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_STRIP="$as_dir/$ac_word$ac_exec_ext" - $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_path_STRIP="$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 @@ -5082,11 +6079,11 @@ esac fi STRIP=$ac_cv_path_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 # Installed binaries are usually stripped using 'strip' when the user @@ -5097,11 +6094,12 @@ 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 @@ -5109,11 +6107,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 as_fn_executable_p "$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 @@ -5124,11 +6126,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 @@ -5137,11 +6139,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 @@ -5149,11 +6152,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 as_fn_executable_p "$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 @@ -5164,11 +6171,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 @@ -5176,8 +6183,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 @@ -5190,26 +6197,29 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -# 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 + + # 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"` + 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 +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; } +{ 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;; @@ -5228,21 +6238,22 @@ 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 +{ 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 + 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } +{ 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;; @@ -5270,56 +6281,244 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - -{ $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 - if test -z "$GREP"; then - ac_path_GREP_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 +ac_header= ac_cache= +for ac_item in $ac_header_c_list do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - 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" - 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 -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_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 '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 - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + 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 - # 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_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done - $ac_path_GREP_found && break 3 - done - done - 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 + +fi + + + + + + + { 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. */ + +# 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 +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_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. */ + + #include + mbstate_t x; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #define _XOPEN_SOURCE 500 + #include + mbstate_t x; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_should_define__xopen_source=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 +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_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 + + + + + + case "$host_os" in + openbsd*) + +printf "%s\n" "#define _ISOC11_SOURCE 1" >>confdefs.h + + ;; + esac + + +{ 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 + 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 grep ggrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + 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 +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_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" '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 + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_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_GREP_found && break 3 + done + done + done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 @@ -5329,16 +6528,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 @@ -5349,10 +6549,15 @@ 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" + 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 @@ -5361,13 +6566,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 @@ -5396,396 +6601,139 @@ 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 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 -/* end confdefs.h. */ -#include -#include -#include -#include -int -main () -{ - ; - 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 + { 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. */ -#include + +#ifdef __ACK__ +Amsterdam +#endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no + $EGREP "Amsterdam" >/dev/null 2>&1 +then : + gl_cv_c_amsterdam_compiler=yes +else $as_nop + gl_cv_c_amsterdam_compiler=no fi -rm -f conftest* +rm -rf conftest* -fi -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 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5 +printf "%s\n" "$gl_cv_c_amsterdam_compiler" >&6; } -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : + if test $gl_cv_c_amsterdam_compiler = yes; then + if test -z "$AR"; then + AR='cc -c.a' + fi + if test -z "$ARFLAGS"; then + ARFLAGS='-o' + fi + else + : + 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 - ac_cv_header_stdc=no -fi -rm -f conftest* +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 - -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 : - : +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 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi -#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; - 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 +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 -{ $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 - -# 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 - - - - 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 - -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h - - -$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h - - -$as_echo "#define _MINIX 1" >>confdefs.h - - -$as_echo "#define _NETBSD_SOURCE 1" >>confdefs.h - - fi - - - { $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 () -{ - - ; - 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 - - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - - $as_echo "#define _NETBSD_SOURCE 1" >>confdefs.h - - $as_echo "#define _OPENBSD_SOURCE 1" >>confdefs.h - - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - - $as_echo "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h - - $as_echo "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h - - $as_echo "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h - - $as_echo "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h - - $as_echo "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h - - $as_echo "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h - - $as_echo "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h - - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5 -$as_echo_n "checking whether _XOPEN_SOURCE should be defined... " >&6; } -if ${ac_cv_should_define__xopen_source+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_should_define__xopen_source=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - mbstate_t x; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #define _XOPEN_SOURCE 500 - #include - mbstate_t x; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_should_define__xopen_source=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5 -$as_echo "$ac_cv_should_define__xopen_source" >&6; } - test $ac_cv_should_define__xopen_source = yes && - $as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h - - $as_echo "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h - - - - - - - - - - - - { $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 - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef __ACK__ -Amsterdam -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Amsterdam" >/dev/null 2>&1; then : - gl_cv_c_amsterdam_compiler=yes -else - gl_cv_c_amsterdam_compiler=no -fi -rm -f 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 $gl_cv_c_amsterdam_compiler = yes; then - if test -z "$AR"; then - AR='cc -c.a' - fi - if test -z "$ARFLAGS"; then - ARFLAGS='-o' - fi - else - : - 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 -{ $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 as_fn_executable_p "$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 - break 2 - fi -done - done -IFS=$as_save_IFS - -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; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "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 -{ $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 as_fn_executable_p "$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 - 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; } +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 @@ -5793,8 +6741,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 AR=$ac_ct_AR @@ -5816,11 +6764,12 @@ 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 +{ 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 @@ -5828,11 +6777,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 as_fn_executable_p "$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 @@ -5843,11 +6796,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 @@ -5856,11 +6809,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 @@ -5868,11 +6822,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 as_fn_executable_p "$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 @@ -5883,11 +6841,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 @@ -5895,8 +6853,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 @@ -5909,19 +6867,20 @@ fi fi - # Check whether --enable-largefile was given. -if test "${enable_largefile+set}" = set; then : +if test ${enable_largefile+y} +then : enableval=$enable_largefile; fi -if test "$enable_largefile" != no; then - - { $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 -else +if test "$enable_largefile" != no +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +printf %s "checking for special C compiler options needed for large files... " >&6; } +if test ${ac_cv_sys_largefile_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC @@ -5935,44 +6894,47 @@ else 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)) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int -main () +main (void) { ; return 0; } _ACEOF - if ac_fn_c_try_compile "$LINENO"; then : + if ac_fn_c_try_compile "$LINENO" +then : break fi -rm -f core conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.beam CC="$CC -n32" - if ac_fn_c_try_compile "$LINENO"; then : + if ac_fn_c_try_compile "$LINENO" +then : ac_cv_sys_largefile_CC=' -n32'; break fi -rm -f core conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.beam break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 -$as_echo "$ac_cv_sys_largefile_CC" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +printf "%s\n" "$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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if test ${ac_cv_sys_file_offset_bits+y} +then : + printf %s "(cached) " >&6 +else $as_nop while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5981,67 +6943,70 @@ else 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)) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; 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_sys_file_offset_bits=no; break 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 cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#undef _FILE_OFFSET_BITS #define _FILE_OFFSET_BITS 64 #include /* 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)) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; 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_sys_file_offset_bits=64; break 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_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; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +printf "%s\n" "$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 +printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h ;; 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 -else + case $ac_cv_sys_file_offset_bits in #( + unknown) : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +printf %s "checking for _LARGE_FILES value needed for large files... " >&6; } +if test ${ac_cv_sys_large_files+y} +then : + printf %s "(cached) " >&6 +else $as_nop while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -6050,118 +7015,270 @@ else 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)) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; 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_sys_large_files=no; break 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 cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#undef _LARGE_FILES #define _LARGE_FILES 1 #include /* 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)) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; 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_sys_large_files=1; break 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_sys_large_files=unknown 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; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +printf "%s\n" "$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 +printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h ;; esac -rm -rf conftest* - fi +rm -rf conftest* ;; #( + 64) : + + # Check whether --enable-year2038 was given. +if test ${enable_year2038+y} +then : + enableval=$enable_year2038; +fi + if test "$enable_year2038" != no +then : -$as_echo "#define _DARWIN_USE_64_BIT_INODE 1" >>confdefs.h + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for time_t past the year 2038" >&5 +printf %s "checking for time_t past the year 2038... " >&6; } +if test ${gl_cv_type_time_t_y2038+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #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]; + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_type_time_t_y2038=yes +else $as_nop + gl_cv_type_time_t_y2038=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_time_t_y2038" >&5 +printf "%s\n" "$gl_cv_type_time_t_y2038" >&6; } + if test "$gl_cv_type_time_t_y2038" = no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit time_t with _TIME_BITS=64" >&5 +printf %s "checking for 64-bit time_t with _TIME_BITS=64... " >&6; } +if test ${gl_cv_type_time_t_bits_macro+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _TIME_BITS 64 + #define _FILE_OFFSET_BITS 64 + + #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]; + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_type_time_t_bits_macro=yes +else $as_nop + gl_cv_type_time_t_bits_macro=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_time_t_bits_macro" >&5 +printf "%s\n" "$gl_cv_type_time_t_bits_macro" >&6; } + if test "$gl_cv_type_time_t_bits_macro" = yes; then +printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h - # Pre-early section. +printf "%s\n" "#define _FILE_OFFSET_BITS 64" >>confdefs.h + + gl_cv_type_time_t_y2038=yes + fi + fi + if test $gl_cv_type_time_t_y2038 = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef _USE_32BIT_TIME_T + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +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 $? "The 'time_t' type stops working after January 2038. + Remove _USE_32BIT_TIME_T from the compiler flags. +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + # If not cross-compiling and says we should check, + # and 'touch' works with a large timestamp, then evidently wider time_t + # is desired and supported, so fail and ask the builder to fix the + # problem. Otherwise, just warn the builder. + + if test "$gl_warned_about_y2038" != yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: The 'time_t' type stops working after January 2038, + and this package needs a wider 'time_t' type + if there is any way to access timestamps after that. + Configure with 'CC=\"${CC} -m64\"' perhaps?" >&5 +printf "%s\n" "$as_me: WARNING: The 'time_t' type stops working after January 2038, + and this package needs a wider 'time_t' type + if there is any way to access timestamps after that. + Configure with 'CC=\"${CC} -m64\"' perhaps?" >&2;} + gl_warned_about_y2038=yes + fi + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +fi + ;; #( + *) : + ;; +esac +fi + + + + case "$host_os" in + mingw*) + +printf "%s\n" "#define __MINGW_USE_VC2005_COMPAT 1" >>confdefs.h + + ;; + esac + + # Pre-early section. + # Code from module absolute-header: # Code from module alloca-opt: # Code from module allocator: # Code from module areadlink: + # Code from module basename-lgpl: # Code from module binary-io: + # Code from module builtin-expect: + # Code from module c99: # Code from module canonicalize-lgpl: # Code from module careadlinkat: - # Code from module dirname-lgpl: - # Code from module dosname: + # Code from module cloexec: + # Code from module close: # Code from module double-slash-root: + # Code from module dup2: + # Code from module eloop-threshold: # Code from module environ: # Code from module errno: # Code from module error: # 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 free-posix: + # Code from module fstat: + # Code from module gen-header: + # Code from module getdtablesize: # Code from module getprogname: # Code from module gettext: # Code from module gettext-h: # Code from module havelib: + # Code from module idx: # Code from module include_next: # Code from module intprops: + # Code from module inttypes-incomplete: # Code from module largefile: + + # Code from module lib-symbol-visibility: + # Code from module libc-config: # Code from module libiconv-misc: # Code from module limits-h: - # Code from module lstat: # Code from module malloc-posix: # Code from module malloca: # Code from module mbstate: + # Code from module mempcpy: + # Code from module minmax: # 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 progname: # Code from module raise: + # Code from module rawmemchr: # Code from module read: # Code from module readlink: + # Code from module realloc-posix: # Code from module relocatable-prog: # Code from module relocatable-prog-wrapper: + # Code from module safe-read: + # Code from module scratch_buffer: # Code from module signal-h: # Code from module sigpipe: # Code from module sigprocmask: @@ -6172,6 +7289,8 @@ fi # Code from module ssize_t: # Code from module stat: # Code from module stat-time: + # Code from module std-gnu11: + # Code from module stdalign: # Code from module stdbool: # Code from module stddef: # Code from module stdint: @@ -6189,7 +7308,10 @@ fi # Code from module uniwidth/base: # Code from module uniwidth/width: # Code from module unlocked-io: + # Code from module unlocked-io-internal: + # Code from module vararrays: # Code from module verify: + # Code from module wchar: # Code from module xalloc: # Code from module xalloc-oversized: # Code from module xreadlink: @@ -6198,14 +7320,15 @@ 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;} ;; + { 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 -macro_version='2.4.6' -macro_revision='2.4.6' +macro_version='2.4.7' +macro_revision='2.4.7' + @@ -6242,8 +7365,8 @@ 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; } +{ 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 @@ -6269,12 +7392,12 @@ func_echo_all () } 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*) { 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 @@ -6290,11 +7413,12 @@ 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 -else +{ 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" @@ -6308,10 +7432,15 @@ else 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_prog in sed gsed + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + 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 @@ -6320,13 +7449,13 @@ case `"$ac_path_SED" --version 2>&1` in ac_cv_path_SED="$ac_path_SED" ac_path_SED_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 '' >> "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 @@ -6354,8 +7483,8 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } +{ 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 @@ -6372,11 +7501,12 @@ Xsed="$SED -e 1s/^X//" -{ $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 -else +{ 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 @@ -6387,10 +7517,15 @@ 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 fgrep; do + 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" + 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 @@ -6399,13 +7534,13 @@ case `"$ac_path_FGREP" --version 2>&1` in ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_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 'FGREP' >> "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 @@ -6434,8 +7569,8 @@ fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&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" @@ -6460,17 +7595,18 @@ test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : +if test ${with_gnu_ld+y} +then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else +else $as_nop with_gnu_ld=no fi ac_prog=ld if test yes = "$GCC"; 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; } + { 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 @@ -6499,15 +7635,16 @@ $as_echo_n "checking for ld used by $CC... " >&6; } ;; esac elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else +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 @@ -6536,18 +7673,19 @@ 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; } + { 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 -{ $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 +{ 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 &1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } +{ 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 @@ -6570,11 +7708,12 @@ 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 +{ 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 @@ -6599,13 +7738,13 @@ else 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 + 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 + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -6624,8 +7763,8 @@ else : ${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; } +{ 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 @@ -6638,11 +7777,12 @@ else 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 +{ 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 @@ -6650,11 +7790,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6665,11 +7809,11 @@ 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; } + { 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 @@ -6682,11 +7826,12 @@ if test -z "$DUMPBIN"; 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_DUMPBIN+:} 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_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 @@ -6694,11 +7839,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 as_fn_executable_p "$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_DUMPBIN="$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 @@ -6709,11 +7858,11 @@ 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; } + { 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 @@ -6725,15 +7874,15 @@ 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 DUMPBIN=$ac_ct_DUMPBIN fi fi - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -6754,11 +7903,12 @@ 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 +{ 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) @@ -6774,26 +7924,27 @@ else 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; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +printf "%s\n" "$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; } +{ 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 - { $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, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } 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 +{ 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 @@ -6835,7 +7986,7 @@ else lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | 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` @@ -6878,7 +8029,7 @@ else 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/.*[ ]//'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi @@ -6920,11 +8071,11 @@ else 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; } + { 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { 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 @@ -6968,11 +8119,12 @@ 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 +{ 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 @@ -7008,18 +8160,19 @@ 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}: result: $lt_cv_to_host_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_host_file_cmd" >&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 -else +{ 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 @@ -7035,22 +8188,23 @@ esac 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; } +{ 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; } -{ $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 -else +{ 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&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 "" | " "*) ;; @@ -7080,14 +8234,123 @@ esac +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; 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_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # 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_FILECMD="${ac_tool_prefix}file" + 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 +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +printf "%s\n" "$FILECMD" >&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_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; 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_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # 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_FILECMD="file" + 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_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +printf "%s\n" "$ac_ct_FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + 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 + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +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 +{ 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 @@ -7095,11 +8358,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7110,11 +8377,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +printf "%s\n" "$OBJDUMP" >&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 @@ -7123,11 +8390,12 @@ 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 +{ 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 @@ -7135,11 +8403,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 as_fn_executable_p "$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_OBJDUMP="objdump" - $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 @@ -7150,11 +8422,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +printf "%s\n" "$ac_ct_OBJDUMP" >&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 @@ -7162,8 +8434,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 OBJDUMP=$ac_ct_OBJDUMP @@ -7179,11 +8451,12 @@ test -z "$OBJDUMP" && OBJDUMP=objdump -{ $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 +{ 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' @@ -7209,7 +8482,7 @@ beos*) 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_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -7243,14 +8516,14 @@ darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) 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_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -7264,7 +8537,7 @@ haiku*) ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD 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' @@ -7311,7 +8584,7 @@ netbsd*) 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_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -7379,8 +8652,8 @@ os2*) esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } +{ 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 @@ -7424,11 +8697,12 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown 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 +{ 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 @@ -7436,11 +8710,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7451,11 +8729,11 @@ 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; } + { 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 @@ -7464,11 +8742,12 @@ 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 +{ 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 @@ -7476,11 +8755,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 as_fn_executable_p "$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_DLLTOOL="dlltool" - $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 @@ -7491,11 +8774,11 @@ 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; } + { 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 if test "x$ac_ct_DLLTOOL" = x; then @@ -7503,8 +8786,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 DLLTOOL=$ac_ct_DLLTOOL @@ -7521,11 +8804,12 @@ test -z "$DLLTOOL" && DLLTOOL=dlltool -{ $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 +{ 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' case $host_os in @@ -7548,8 +8832,8 @@ cygwin* | mingw* | pw32* | cegcc*) esac 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; } +{ 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 @@ -7564,11 +8848,12 @@ if test -n "$ac_tool_prefix"; 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_AR+:} 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_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 @@ -7576,11 +8861,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7591,11 +8880,11 @@ 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 @@ -7608,11 +8897,12 @@ if test -z "$AR"; 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_AR+:} 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_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 @@ -7620,11 +8910,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 as_fn_executable_p "$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_AR="$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 @@ -7635,11 +8929,11 @@ 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 @@ -7651,8 +8945,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 AR=$ac_ct_AR @@ -7660,42 +8954,60 @@ esac fi : ${AR=ar} -: ${AR_FLAGS=cru} +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS -{ $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 + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + + + + + + +{ 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 () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +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 + 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. @@ -7703,7 +9015,7 @@ if ac_fn_c_try_compile "$LINENO"; then : { { 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 + 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=@ @@ -7712,11 +9024,11 @@ if ac_fn_c_try_compile "$LINENO"; then : rm -f conftest.* libconftest.a 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: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +printf "%s\n" "$lt_cv_ar_at_file" >&6; } if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= @@ -7733,11 +9045,12 @@ 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 +{ 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 @@ -7745,11 +9058,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 as_fn_executable_p "$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 @@ -7760,11 +9077,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 @@ -7773,11 +9090,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 @@ -7785,11 +9103,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 as_fn_executable_p "$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 @@ -7800,11 +9122,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 @@ -7812,8 +9134,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 @@ -7832,11 +9154,12 @@ test -z "$STRIP" && STRIP=: 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 @@ -7844,11 +9167,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 as_fn_executable_p "$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 @@ -7859,11 +9186,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 @@ -7872,11 +9199,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 @@ -7884,11 +9212,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 as_fn_executable_p "$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 @@ -7899,11 +9231,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 @@ -7911,8 +9243,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 @@ -8001,11 +9333,12 @@ compiler=$CC # 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 +{ 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?!! ;)] @@ -8060,7 +9393,7 @@ 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'" + 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'" @@ -8078,20 +9411,20 @@ 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_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"\ +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_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'"\ @@ -8115,7 +9448,7 @@ for ac_symprfx in "" "_"; do 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++, + # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ @@ -8133,9 +9466,9 @@ for ac_symprfx in "" "_"; do " 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'" + 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'" + 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 @@ -8157,14 +9490,14 @@ _LT_EOF 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 + printf "%s\n" "$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 @@ -8233,7 +9566,7 @@ _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 + 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 @@ -8268,11 +9601,11 @@ 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; } + { 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: ok" >&5 -$as_echo "ok" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } fi # Response file support. @@ -8318,13 +9651,14 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } +{ 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+set}" = set; then : +if test ${with_sysroot+y} +then : withval=$with_sysroot; -else +else $as_nop with_sysroot=no fi @@ -8337,29 +9671,30 @@ case $with_sysroot in #( fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + 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; } + { 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +printf "%s\n" "${lt_sysroot:-no}" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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} @@ -8370,10 +9705,15 @@ if test -z "$lt_DD"; then for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do + 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 - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + 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 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ @@ -8393,15 +9733,16 @@ fi rm -f conftest.i conftest2.i conftest.out fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +printf "%s\n" "$ac_cv_path_lt_DD" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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= @@ -8412,8 +9753,8 @@ fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +printf "%s\n" "$lt_cv_truncate_bin" >&6; } @@ -8436,7 +9777,8 @@ func_cc_basename () } # Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : +if test ${enable_libtool_lock+y} +then : enableval=$enable_libtool_lock; fi @@ -8452,9 +9794,9 @@ ia64-*-hpux*) 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 - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -8472,10 +9814,10 @@ ia64-*-hpux*) 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 if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -8487,7 +9829,7 @@ ia64-*-hpux*) ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -8510,10 +9852,10 @@ mips64*-*linux*) 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 emul=elf - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -8521,7 +9863,7 @@ mips64*-*linux*) emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -8529,7 +9871,7 @@ mips64*-*linux*) emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -8551,16 +9893,16 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) 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 - case `/usr/bin/file conftest.o` in + case `$FILECMD 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 + case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -8614,11 +9956,12 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # 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 + { 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' @@ -8629,19 +9972,20 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu /* 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_cc_needs_belf=yes -else +else $as_nop lt_cv_cc_needs_belf=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 ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -8650,8 +9994,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ 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; } +{ 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 @@ -8664,9 +10008,9 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; } 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 - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -8701,11 +10045,12 @@ 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 +{ 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 @@ -8713,11 +10058,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -8728,11 +10077,11 @@ 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; } + { 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: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -8741,11 +10090,12 @@ 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 +{ 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 @@ -8753,11 +10103,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 as_fn_executable_p "$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_MANIFEST_TOOL="mt" - $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 @@ -8768,11 +10122,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&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 @@ -8780,8 +10134,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 MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL @@ -8791,11 +10145,12 @@ else 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 +{ 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 @@ -8805,8 +10160,8 @@ else 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; } +{ 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 @@ -8821,11 +10176,12 @@ fi 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 +{ 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 @@ -8833,11 +10189,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -8848,11 +10208,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +printf "%s\n" "$DSYMUTIL" >&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 @@ -8861,11 +10221,12 @@ 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 +{ 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 @@ -8873,11 +10234,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 as_fn_executable_p "$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_DSYMUTIL="dsymutil" - $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 @@ -8888,11 +10253,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +printf "%s\n" "$ac_ct_DSYMUTIL" >&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_DSYMUTIL" = x; then @@ -8900,8 +10265,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 DSYMUTIL=$ac_ct_DSYMUTIL @@ -8913,11 +10278,12 @@ 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 +{ 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 @@ -8925,11 +10291,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -8940,11 +10310,11 @@ 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; } + { 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 @@ -8953,11 +10323,12 @@ 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 +{ 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 @@ -8965,11 +10336,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 as_fn_executable_p "$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_NMEDIT="nmedit" - $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 @@ -8980,11 +10355,11 @@ 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; } + { 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_NMEDIT" = x; then @@ -8992,8 +10367,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 NMEDIT=$ac_ct_NMEDIT @@ -9005,11 +10380,12 @@ 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 +{ 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 @@ -9017,11 +10393,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 as_fn_executable_p "$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 @@ -9032,11 +10412,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 @@ -9045,11 +10425,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 @@ -9057,11 +10438,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 as_fn_executable_p "$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 @@ -9072,11 +10457,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 @@ -9084,8 +10469,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 @@ -9097,11 +10482,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 @@ -9109,11 +10495,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 as_fn_executable_p "$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 @@ -9124,11 +10514,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 @@ -9137,11 +10527,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 @@ -9149,11 +10540,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 as_fn_executable_p "$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 @@ -9164,11 +10559,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 @@ -9176,8 +10571,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 @@ -9189,11 +10584,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 @@ -9201,11 +10597,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 as_fn_executable_p "$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 @@ -9216,11 +10616,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 @@ -9229,11 +10629,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 @@ -9241,11 +10642,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 as_fn_executable_p "$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 @@ -9256,11 +10661,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 @@ -9268,8 +10673,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 @@ -9304,11 +10709,12 @@ 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 # By default we will add the -single_module flag. You can override @@ -9337,14 +10743,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 @@ -9353,39 +10760,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 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 $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF @@ -9405,24 +10814,19 @@ _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' ;; darwin1.*) _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' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -9477,26 +10881,22 @@ func_munge_path_list () 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 +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 # 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 ;; @@ -9514,7 +10914,7 @@ if test "${enable_static+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_static=no fi @@ -9531,11 +10931,12 @@ case $host in 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 +{ 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 @@ -9543,11 +10944,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -9558,11 +10963,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 +printf "%s\n" "$AS" >&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 @@ -9571,11 +10976,12 @@ 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 +{ 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 @@ -9583,11 +10989,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 as_fn_executable_p "$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_AS="as" - $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 @@ -9598,11 +11008,11 @@ 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: $ac_ct_AS" >&5 +printf "%s\n" "$ac_ct_AS" >&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_AS" = x; then @@ -9610,8 +11020,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 AS=$ac_ct_AS @@ -9623,11 +11033,12 @@ 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 +{ 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 @@ -9635,11 +11046,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -9650,11 +11065,11 @@ 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; } + { 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 @@ -9663,11 +11078,12 @@ 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 +{ 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 @@ -9675,11 +11091,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 as_fn_executable_p "$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_DLLTOOL="dlltool" - $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 @@ -9690,11 +11110,11 @@ 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; } + { 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 if test "x$ac_ct_DLLTOOL" = x; then @@ -9702,8 +11122,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 DLLTOOL=$ac_ct_DLLTOOL @@ -9715,11 +11135,12 @@ 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 +{ 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 @@ -9727,11 +11148,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -9742,11 +11167,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +printf "%s\n" "$OBJDUMP" >&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 @@ -9755,11 +11180,12 @@ 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 +{ 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 @@ -9767,11 +11193,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 as_fn_executable_p "$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_OBJDUMP="objdump" - $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 @@ -9782,11 +11212,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +printf "%s\n" "$ac_ct_OBJDUMP" >&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 @@ -9794,8 +11224,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 OBJDUMP=$ac_ct_OBJDUMP @@ -9832,7 +11262,8 @@ test -z "$OBJDUMP" && OBJDUMP=objdump # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : +if test ${enable_shared+y} +then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; @@ -9850,7 +11281,7 @@ if test "${enable_shared+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_shared=yes fi @@ -9865,7 +11296,8 @@ 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 ;; @@ -9882,7 +11314,7 @@ if test "${with_pic+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop pic_mode=default fi @@ -9894,7 +11326,8 @@ fi # 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 ;; @@ -9912,7 +11345,7 @@ if test "${enable_fast_install+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_fast_install=yes fi @@ -9926,11 +11359,12 @@ fi shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + { 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+set}" = set; then : +if test ${with_aix_soname+y} +then : withval=$with_aix_soname; case $withval in aix|svr4|both) ;; @@ -9939,18 +11373,19 @@ if test "${with_aix_soname+set}" = set; then : ;; esac lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else +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 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } + { 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', @@ -10032,11 +11467,12 @@ 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 @@ -10047,17 +11483,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 @@ -10078,8 +11512,8 @@ esac ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -10103,11 +11537,12 @@ 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. @@ -10156,11 +11591,11 @@ fi 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 @@ -10169,11 +11604,12 @@ 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. @@ -10222,11 +11658,11 @@ fi 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 @@ -10311,11 +11747,12 @@ if test yes = "$GCC"; 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 @@ -10346,8 +11783,8 @@ 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 yes = "$lt_cv_prog_compiler_rtti_exceptions"; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" @@ -10588,7 +12025,7 @@ lt_prog_compiler_static= lt_prog_compiler_static='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + 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='-KPIC' @@ -10704,26 +12141,28 @@ 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 @@ -10754,8 +12193,8 @@ 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 yes = "$lt_cv_prog_compiler_pic_works"; then case $lt_prog_compiler_pic in @@ -10783,11 +12222,12 @@ 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 LDFLAGS="$LDFLAGS $lt_tmp_static_flag" @@ -10811,8 +12251,8 @@ else 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 yes = "$lt_cv_prog_compiler_static_works"; then : @@ -10826,11 +12266,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 @@ -10873,19 +12314,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 @@ -10928,8 +12370,8 @@ 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; } @@ -10937,19 +12379,19 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; } 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } if test no = "$hard_links"; 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}: 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 @@ -10961,8 +12403,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= @@ -11006,15 +12448,15 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -11066,7 +12508,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie whole_archive_flag_spec= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 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 ... @@ -11178,6 +12620,7 @@ _LT_EOF 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 + file_list_spec='@' ;; interix[3-9]*) @@ -11192,7 +12635,7 @@ _LT_EOF # 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_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) @@ -11235,7 +12678,7 @@ _LT_EOF compiler_needs_object=yes ;; esac - case `$CC -V 2>&1 | sed 5q` in + 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' compiler_needs_object=yes @@ -11247,7 +12690,7 @@ _LT_EOF 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~ + 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 @@ -11263,7 +12706,7 @@ _LT_EOF archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' 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~ + 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 @@ -11395,7 +12838,7 @@ _LT_EOF 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) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - 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' + 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 == "L") || (\$ 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 @@ -11517,21 +12960,23 @@ _LT_EOF 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/,/^$/ { @@ -11546,7 +12991,7 @@ 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 @@ -11570,21 +13015,23 @@ fi 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/,/^$/ { @@ -11599,7 +13046,7 @@ 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 @@ -11662,12 +13109,12 @@ fi cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl*) - # Native MSVC + cl* | icl*) + # Native MSVC or ICC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes @@ -11708,7 +13155,7 @@ fi fi' ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. @@ -11749,8 +13196,8 @@ fi 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_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 @@ -11784,7 +13231,7 @@ fi ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -11850,11 +13297,12 @@ fi # 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 LDFLAGS="$LDFLAGS -b" @@ -11878,8 +13326,8 @@ else 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 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' @@ -11919,28 +13367,30 @@ fi # 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 + { 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 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } +{ 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 @@ -12032,6 +13482,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; } 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 + file_list_spec='@' ;; osf3*) @@ -12220,8 +13671,8 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; } fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } +{ 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 @@ -12257,18 +13708,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 @@ -12286,7 +13738,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 @@ -12300,8 +13752,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 @@ -12460,8 +13912,8 @@ 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 yes = "$GCC"; then case $host_os in @@ -12723,7 +14175,7 @@ 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" ;; @@ -12733,14 +14185,14 @@ cygwin* | mingw* | pw32* | cegcc*) ;; 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' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -12759,7 +14211,7 @@ cygwin* | mingw* | pw32* | cegcc*) done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -12796,7 +14248,7 @@ cygwin* | mingw* | pw32* | cegcc*) ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -12829,7 +14281,7 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -13022,9 +14474,10 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 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 @@ -13034,19 +14487,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 @@ -13278,8 +14733,8 @@ uts4*) dynamic_linker=no ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } +{ 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" @@ -13400,8 +14855,8 @@ configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || @@ -13425,8 +14880,8 @@ 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 relink = "$hardcode_action" || test yes = "$inherit_rpath"; then @@ -13470,11 +14925,12 @@ else 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 + { 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 @@ -13483,32 +14939,31 @@ 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 : +{ 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 +else $as_nop lt_cv_dlopen=dyld lt_cv_dlopen_libs= @@ -13528,14 +14983,16 @@ fi *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : +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 +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 @@ -13544,41 +15001,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 : +{ 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 +else $as_nop ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : +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 +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 @@ -13587,37 +15045,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 : +{ 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_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 +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 @@ -13626,37 +15084,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 : +{ 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_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 +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 @@ -13665,30 +15123,29 @@ 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 : +{ 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 @@ -13727,11 +15184,12 @@ fi 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 + { 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 @@ -13810,7 +15268,7 @@ _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 + 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=$? @@ -13828,16 +15286,17 @@ 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 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 + { 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 @@ -13916,7 +15375,7 @@ _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 + 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=$? @@ -13934,8 +15393,8 @@ 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 @@ -13973,32 +15432,43 @@ 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; } -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; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then +{ 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 -z "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" - { $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; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { 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; } + fi + ;; + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + ;; + esac + fi fi @@ -14013,13 +15483,13 @@ fi # Report what 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; } + { 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; } + { 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 @@ -14043,15 +15513,15 @@ $as_echo_n "checking whether to build shared libraries... " >&6; } 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 yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +printf "%s\n" "$enable_static" >&6; } @@ -14090,9 +15560,10 @@ CC=$lt_save_CC # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : +if test ${with_gnu_ld+y} +then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else +else $as_nop with_gnu_ld=no fi @@ -14110,25 +15581,26 @@ if test "${PATH_SEPARATOR+set}" != set; then fi if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld" >&5 -$as_echo_n "checking for ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld" >&5 +printf %s "checking for ld... " >&6; } elif test "$GCC" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } + { 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "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; } + { 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 -n "$LD"; then # Let the user override the test with a path. : else - if ${acl_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else + 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 @@ -14190,14 +15662,15 @@ else *-*-aix*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if defined __powerpc64__ || defined _ARCH_PPC64 +#if defined __powerpc64__ || defined __LP64__ int ok; #else error fail #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +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 @@ -14206,7 +15679,7 @@ if ac_fn_c_try_compile "$LINENO"; then : esac 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 ;; sparc64-*-netbsd*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -14218,9 +15691,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else +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 @@ -14229,7 +15703,7 @@ else esac 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 ;; esac @@ -14238,18 +15712,19 @@ fi LD="$acl_cv_path_LD" fi if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } + { 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; } as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 fi -{ $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 +{ 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 &1 &5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } +{ 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library path variable" >&5 -$as_echo_n "checking for shared library path variable... " >&6; } -if ${acl_cv_libpath+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shared library path variable" >&5 +printf %s "checking for shared library path variable... " >&6; } +if test ${acl_cv_libpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop LD="$LD" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.libpath" "$host" > conftest.sh @@ -14279,28 +15755,29 @@ else acl_cv_libpath=${acl_cv_shlibpath_var:-none} fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libpath" >&5 -$as_echo "$acl_cv_libpath" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libpath" >&5 +printf "%s\n" "$acl_cv_libpath" >&6; } shlibpath_var="$acl_cv_shlibpath_var" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to activate relocatable installation" >&5 -$as_echo_n "checking whether to activate relocatable installation... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to activate relocatable installation" >&5 +printf %s "checking whether to activate relocatable installation... " >&6; } # Check whether --enable-relocatable was given. -if test "${enable_relocatable+set}" = set; then : +if test ${enable_relocatable+y} +then : enableval=$enable_relocatable; if test "$enableval" != no; then RELOCATABLE=yes else RELOCATABLE=no fi -else +else $as_nop RELOCATABLE=no fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RELOCATABLE" >&5 -$as_echo "$RELOCATABLE" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RELOCATABLE" >&5 +printf "%s\n" "$RELOCATABLE" >&6; } @@ -14310,13 +15787,11 @@ $as_echo "$RELOCATABLE" >&6; } reloc_final_prefix="$prefix" fi -cat >>confdefs.h <<_ACEOF -#define INSTALLPREFIX "${reloc_final_prefix}" -_ACEOF +printf "%s\n" "#define INSTALLPREFIX \"${reloc_final_prefix}\"" >>confdefs.h if test $RELOCATABLE = yes; then -$as_echo "#define ENABLE_RELOCATABLE 1" >>confdefs.h +printf "%s\n" "#define ENABLE_RELOCATABLE 1" >>confdefs.h fi @@ -14334,28 +15809,19 @@ $as_echo "#define ENABLE_RELOCATABLE 1" >>confdefs.h if test $RELOCATABLE = yes; then # --enable-relocatable implies --disable-rpath enable_rpath=no - for ac_header in mach-o/dyld.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "mach-o/dyld.h" "ac_cv_header_mach_o_dyld_h" "$ac_includes_default" -if test "x$ac_cv_header_mach_o_dyld_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MACH_O_DYLD_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "mach-o/dyld.h" "ac_cv_header_mach_o_dyld_h" "$ac_includes_default" +if test "x$ac_cv_header_mach_o_dyld_h" = xyes +then : + printf "%s\n" "#define HAVE_MACH_O_DYLD_H 1" >>confdefs.h fi -done - - for ac_func in _NSGetExecutablePath -do : - ac_fn_c_check_func "$LINENO" "_NSGetExecutablePath" "ac_cv_func__NSGetExecutablePath" -if test "x$ac_cv_func__NSGetExecutablePath" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE__NSGETEXECUTABLEPATH 1 -_ACEOF + ac_fn_c_check_func "$LINENO" "_NSGetExecutablePath" "ac_cv_func__NSGetExecutablePath" +if test "x$ac_cv_func__NSGetExecutablePath" = xyes +then : + printf "%s\n" "#define HAVE__NSGETEXECUTABLEPATH 1" >>confdefs.h fi -done case "$host_os" in mingw*) is_noop=yes ;; @@ -14364,30 +15830,27 @@ done # glibc systems, Linux with musl libc: yes. Android: no. linux*-android*) ;; linux* | kfreebsd*) use_elf_origin_trick=yes ;; - # Hurd: + # Hurd: # only after the glibc commit from 2018-01-08 # gnu*) # Test for a glibc version >= 2.27. - for ac_func in copy_file_range -do : - ac_fn_c_check_func "$LINENO" "copy_file_range" "ac_cv_func_copy_file_range" -if test "x$ac_cv_func_copy_file_range" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_COPY_FILE_RANGE 1 -_ACEOF + ac_fn_c_check_func "$LINENO" "copy_file_range" "ac_cv_func_copy_file_range" +if test "x$ac_cv_func_copy_file_range" = xyes +then : + printf "%s\n" "#define HAVE_COPY_FILE_RANGE 1" >>confdefs.h fi -done if test $ac_cv_func_copy_file_range = yes; then use_elf_origin_trick=yes fi ;; - # FreeBSD >= 7.3, DragonFly >= 3.0: yes. + # FreeBSD >= 7.3, DragonFly >= 3.0, MidnightBSD >= 1.1: yes. freebsd | freebsd[1-7] | freebsd[1-6].* | freebsd7.[0-2]) ;; dragonfly | dragonfly[1-2] | dragonfly[1-2].*) ;; - freebsd* | dragonfly*) use_elf_origin_trick=yes ;; + midnightbsd | midnightbsd0* | midnightbsd1.0*) ;; + freebsd* | dragonfly* | midnightbsd*) use_elf_origin_trick=yes ;; # NetBSD >= 8.0: yes. netbsd | netbsd[1-7] | netbsd[1-7].*) ;; netbsdelf | netbsdelf[1-7] | netbsdelf[1-7].*) ;; @@ -14470,23 +15933,25 @@ fi # Check whether --enable-extra-encodings was given. -if test "${enable_extra_encodings+set}" = set; then : +if test ${enable_extra_encodings+y} +then : enableval=$enable_extra_encodings; -$as_echo "#define ENABLE_EXTRA 1" >>confdefs.h +printf "%s\n" "#define ENABLE_EXTRA 1" >>confdefs.h USE_EXTRA_ENCODINGS=yes -else +else $as_nop USE_EXTRA_ENCODINGS=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to copy files" >&5 -$as_echo_n "checking how to copy files... " >&6; } -if ${cl_cv_prog_cp+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to copy files" >&5 +printf %s "checking how to copy files... " >&6; } +if test ${cl_cv_prog_cp+y} +then : + printf %s "(cached) " >&6 +else $as_nop echo "blabla" > conftest.x err=`/bin/sh -c "cp -p conftest.x conftest.y 2>&1"` @@ -14498,15 +15963,16 @@ fi rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cl_cv_prog_cp" >&5 -$as_echo "$cl_cv_prog_cp" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cl_cv_prog_cp" >&5 +printf "%s\n" "$cl_cv_prog_cp" >&6; } CP="$cl_cv_prog_cp" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to make hard links" >&5 -$as_echo_n "checking how to make hard links... " >&6; } -if ${cl_cv_prog_LN+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to make hard links" >&5 +printf %s "checking how to make hard links... " >&6; } +if test ${cl_cv_prog_LN+y} +then : + printf %s "(cached) " >&6 +else $as_nop rm -f conftestdata conftestfile echo data > conftestfile @@ -14518,19 +15984,19 @@ fi rm -f conftestdata conftestfile fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cl_cv_prog_LN" >&5 -$as_echo "$cl_cv_prog_LN" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cl_cv_prog_LN" >&5 +printf "%s\n" "$cl_cv_prog_LN" >&6; } LN="$cl_cv_prog_LN" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&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 - { $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, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } fi @@ -14542,11 +16008,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. set dummy ${ac_tool_prefix}windres; 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_RC+:} 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_RC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$RC"; then ac_cv_prog_RC="$RC" # Let the user override the test. else @@ -14554,11 +16021,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_RC="${ac_tool_prefix}windres" - $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 @@ -14569,11 +16040,11 @@ fi fi RC=$ac_cv_prog_RC if test -n "$RC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RC" >&5 -$as_echo "$RC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RC" >&5 +printf "%s\n" "$RC" >&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 @@ -14582,11 +16053,12 @@ if test -z "$ac_cv_prog_RC"; then ac_ct_RC=$RC # Extract the first word of "windres", so it can be a program name with args. set dummy windres; 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_RC+:} 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_RC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_RC"; then ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test. else @@ -14594,11 +16066,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 as_fn_executable_p "$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_RC="windres" - $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 @@ -14609,11 +16085,11 @@ fi fi ac_ct_RC=$ac_cv_prog_ac_ct_RC if test -n "$ac_ct_RC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5 -$as_echo "$ac_ct_RC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5 +printf "%s\n" "$ac_ct_RC" >&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_RC" = x; then @@ -14621,8 +16097,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 RC=$ac_ct_RC @@ -14720,11 +16196,12 @@ if test $WOE32 = yes; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. set dummy ${ac_tool_prefix}windres; 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_WINDRES+:} 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_WINDRES+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$WINDRES"; then ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test. else @@ -14732,11 +16209,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_WINDRES="${ac_tool_prefix}windres" - $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 @@ -14747,11 +16228,11 @@ fi fi WINDRES=$ac_cv_prog_WINDRES if test -n "$WINDRES"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WINDRES" >&5 -$as_echo "$WINDRES" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WINDRES" >&5 +printf "%s\n" "$WINDRES" >&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 @@ -14760,11 +16241,12 @@ if test -z "$ac_cv_prog_WINDRES"; then ac_ct_WINDRES=$WINDRES # Extract the first word of "windres", so it can be a program name with args. set dummy windres; 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_WINDRES+:} 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_WINDRES+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_WINDRES"; then ac_cv_prog_ac_ct_WINDRES="$ac_ct_WINDRES" # Let the user override the test. else @@ -14772,11 +16254,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 as_fn_executable_p "$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_WINDRES="windres" - $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 @@ -14787,11 +16273,11 @@ fi fi ac_ct_WINDRES=$ac_cv_prog_ac_ct_WINDRES if test -n "$ac_ct_WINDRES"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WINDRES" >&5 -$as_echo "$ac_ct_WINDRES" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WINDRES" >&5 +printf "%s\n" "$ac_ct_WINDRES" >&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_WINDRES" = x; then @@ -14799,8 +16285,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 WINDRES=$ac_ct_WINDRES @@ -14816,40 +16302,43 @@ fi 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 + { 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. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_cc_vis_werror=yes -else +else $as_nop gl_cv_cc_vis_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_ext CFLAGS="$gl_save_CFLAGS" fi -{ $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 +{ 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 @@ -14861,27 +16350,33 @@ 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) {} int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_cc_visibility=yes -else +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_cc_visibility" >&5 -$as_echo "$gl_cv_cc_visibility" >&6; } +{ 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 @@ -14890,9 +16385,7 @@ $as_echo "$gl_cv_cc_visibility" >&6; } -cat >>confdefs.h <<_ACEOF -#define HAVE_VISIBILITY $HAVE_VISIBILITY -_ACEOF +printf "%s\n" "#define HAVE_VISIBILITY $HAVE_VISIBILITY" >>confdefs.h @@ -14913,11 +16406,13 @@ _ACEOF - { $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 + + { 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 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 @@ -14926,8 +16421,8 @@ else acl_cv_rpath=done fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&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" @@ -14938,31 +16433,61 @@ $as_echo "$acl_cv_rpath" >&6; } 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 : +if test ${enable_rpath+y} +then : enableval=$enable_rpath; : -else +else $as_nop enable_rpath=yes fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking 32-bit host C ABI" >&5 -$as_echo_n "checking 32-bit host C ABI... " >&6; } -if ${gl_cv_host_cpu_c_abi_32bit+:} false; then : - $as_echo_n "(cached) " >&6 -else + { 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 | 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 - i[4567]86 ) + # 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 ;; @@ -14985,12 +16510,13 @@ else #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_host_cpu_c_abi_32bit=no -else +else $as_nop gl_cv_host_cpu_c_abi_32bit=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 ;; arm* | aarch64 ) @@ -15009,12 +16535,13 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_host_cpu_c_abi_32bit=no -else +else $as_nop gl_cv_host_cpu_c_abi_32bit=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 ;; hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) @@ -15029,12 +16556,13 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_host_cpu_c_abi_32bit=no -else +else $as_nop gl_cv_host_cpu_c_abi_32bit=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 ;; ia64* ) @@ -15049,12 +16577,13 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_host_cpu_c_abi_32bit=yes -else +else $as_nop gl_cv_host_cpu_c_abi_32bit=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 ;; mips* ) @@ -15069,12 +16598,13 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_host_cpu_c_abi_32bit=no -else +else $as_nop gl_cv_host_cpu_c_abi_32bit=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 ;; powerpc* ) @@ -15086,19 +16616,20 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # be generating 64-bit code. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if defined __powerpc64__ || defined _ARCH_PPC64 +#if defined __powerpc64__ || defined __LP64__ int ok; #else error fail #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_host_cpu_c_abi_32bit=no -else +else $as_nop gl_cv_host_cpu_c_abi_32bit=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 ;; rs6000 ) @@ -15117,12 +16648,13 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_host_cpu_c_abi_32bit=no -else +else $as_nop gl_cv_host_cpu_c_abi_32bit=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 ;; s390* ) @@ -15137,12 +16669,13 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_host_cpu_c_abi_32bit=no -else +else $as_nop gl_cv_host_cpu_c_abi_32bit=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 ;; sparc | sparc64 ) @@ -15157,23 +16690,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_host_cpu_c_abi_32bit=no -else +else $as_nop gl_cv_host_cpu_c_abi_32bit=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 ;; *) - gl_cv_host_cpu_c_abi_32bit=no + gl_cv_host_cpu_c_abi_32bit=unknown ;; esac fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi_32bit" >&5 -$as_echo "$gl_cv_host_cpu_c_abi_32bit" >&6; } +{ 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" @@ -15181,90 +16715,156 @@ $as_echo "$gl_cv_host_cpu_c_abi_32bit" >&6; } - 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 + { 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. */ -#ifdef _LP64 - int ok; - #else - error fail - #endif +#if defined __ELF__ || (defined __linux__ && defined __EDG__) + Extensible Linking Format + #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no +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 -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -rf conftest* + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; };; - esac +{ 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 + acl_is_expected_elfclass () + { + : + } + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5 -$as_echo_n "checking for the common suffixes of directories in the library search path... " >&6; } -if ${acl_cv_libdirstems+:} false; then : - $as_echo_n "(cached) " >&6 -else - acl_libdirstem=lib + { 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 $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 + if test $HOST_CPU_C_ABI_32BIT = no; then + acl_libdirstem2=lib/64 case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + sparc*) acl_libdirstem3=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem3=lib/amd64 ;; esac fi ;; *) - if test "$HOST_CPU_C_ABI_32BIT" != yes; then - searchpath=`(if test -f /usr/bin/gcc \ - && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \ - LC_ALL=C /usr/bin/gcc -print-search-dirs; \ - else \ - LC_ALL=C $CC -print-search-dirs; \ - fi) 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" + 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" - acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2" + 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: $acl_cv_libdirstems" >&5 -$as_echo "$acl_cv_libdirstems" >&6; } - # Decompose acl_cv_libdirstems into acl_libdirstem and acl_libdirstem2. - acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'` - acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e '/,/s/.*,//'` +{ 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/,.*//'` @@ -15285,13 +16885,16 @@ $as_echo "$acl_cv_libdirstems" >&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 @@ -15305,6 +16908,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" @@ -15312,15 +16917,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= @@ -15366,45 +16975,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 @@ -15421,7 +17036,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 @@ -15431,14 +17046,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 @@ -15448,7 +17063,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 @@ -15470,7 +17085,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= @@ -15549,6 +17165,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 @@ -15594,12 +17217,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;; @@ -15618,14 +17243,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= @@ -15639,14 +17264,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 @@ -15678,7 +17303,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$,,'` @@ -15760,11 +17392,12 @@ 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 + { 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 @@ -15775,7 +17408,7 @@ else #include int -main () +main (void) { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); @@ -15784,10 +17417,11 @@ iconv_t cd = iconv_open("",""); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +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 if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" @@ -15799,7 +17433,7 @@ rm -f core conftest.err conftest.$ac_objext \ #include int -main () +main (void) { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); @@ -15808,24 +17442,26 @@ iconv_t cd = iconv_open("",""); 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 + { 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 @@ -15833,12 +17469,13 @@ else fi am_cv_func_iconv_works=no for ac_iconv_const in '' 'const'; do - if test "$cross_compiling" = yes; then : + 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 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -15850,11 +17487,12 @@ else #endif int -main () +main (void) { int result = 0; - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ + /* 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)) @@ -15962,7 +17600,8 @@ int result = 0; 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 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ @@ -15974,8 +17613,8 @@ fi 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 ;; @@ -15985,14 +17624,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= @@ -16002,13 +17641,13 @@ $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 + { 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 @@ -16017,61 +17656,58 @@ extern #ifdef __cplusplus "C" #endif -#if defined(__STDC__) || defined(_MSC_VER) || 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 () +main (void) { ; 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);" +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 - 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; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_iconv_nonconst" >&5 +printf "%s\n" "$gl_cv_iconv_nonconst" >&6; } else - am_cv_proto_iconv_arg1="" + gl_cv_iconv_nonconst=yes + fi + if test $gl_cv_iconv_nonconst = yes; then + iconv_arg1="" + else + iconv_arg1="const" fi -cat >>confdefs.h <<_ACEOF -#define ICONV_CONST $am_cv_proto_iconv_arg1 -_ACEOF +printf "%s\n" "#define ICONV_CONST $iconv_arg1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 -$as_echo_n "checking whether NLS is requested... " >&6; } + { 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+set}" = set; then : +if test ${enable_nls+y} +then : enableval=$enable_nls; USE_NLS=$enableval -else +else $as_nop USE_NLS=yes fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +printf "%s\n" "$USE_NLS" >&6; } - GETTEXT_MACRO_VERSION=0.19 + GETTEXT_MACRO_VERSION=0.20 @@ -16105,11 +17741,12 @@ 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 -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_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. @@ -16137,20 +17774,21 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 +printf "%s\n" "$MSGFMT" >&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 # 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 +{ 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. @@ -16160,11 +17798,15 @@ else 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 as_fn_executable_p "$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 + 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 @@ -16177,21 +17819,16 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 +printf "%s\n" "$GMSGFMT" >&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 - 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 + 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 @@ -16227,11 +17864,12 @@ rm -f conf$$.file # 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 +{ 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. @@ -16259,11 +17897,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 +printf "%s\n" "$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: no" >&5 +printf "%s\n" "no" >&6; } fi rm -f messages.po @@ -16304,11 +17942,12 @@ rm -f conf$$.file # 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 +{ 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. @@ -16335,14 +17974,25 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 +printf "%s\n" "$MSGMERGE" >&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 LC_ALL=C $MSGMERGE --help | grep ' --for-msgfmt ' >/dev/null; then + MSGMERGE_FOR_MSGFMT_OPTION='--for-msgfmt' + else + if LC_ALL=C $MSGMERGE --help | grep ' --no-fuzzy-matching ' >/dev/null; then + MSGMERGE_FOR_MSGFMT_OPTION='--no-fuzzy-matching --no-location --quiet' + else + MSGMERGE_FOR_MSGFMT_OPTION='--no-location --quiet' + fi + fi + + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= @@ -16372,112 +18022,80 @@ fi - - { $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 + { 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 int -main () +main (void) { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : gt_cv_func_CFPreferencesCopyAppValue=yes -else +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 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; } +{ 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 -$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.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 -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 +printf "%s\n" "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyPreferredLanguages" >&5 -$as_echo_n "checking for CFLocaleCopyPreferredLanguages... " >&6; } -if ${gt_cv_func_CFLocaleCopyPreferredLanguages+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyPreferredLanguages" >&5 +printf %s "checking for CFLocaleCopyPreferredLanguages... " >&6; } +if test ${gt_cv_func_CFLocaleCopyPreferredLanguages+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 int -main () +main (void) { CFLocaleCopyPreferredLanguages(); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : gt_cv_func_CFLocaleCopyPreferredLanguages=yes -else +else $as_nop gt_cv_func_CFLocaleCopyPreferredLanguages=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="$gt_save_LIBS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyPreferredLanguages" >&5 -$as_echo "$gt_cv_func_CFLocaleCopyPreferredLanguages" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyPreferredLanguages" >&5 +printf "%s\n" "$gt_cv_func_CFLocaleCopyPreferredLanguages" >&6; } if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then -$as_echo "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h +printf "%s\n" "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes \ - || test $gt_cv_func_CFLocaleCopyCurrent = yes \ || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi @@ -16519,11 +18137,12 @@ typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; 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 + { 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. */ @@ -16538,7 +18157,7 @@ extern int *_nl_domain_bindings; $gt_revision_test_code int -main () +main (void) { bindtextdomain ("", ""); @@ -16548,17 +18167,18 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : eval "$gt_func_gnugettext_libc=yes" -else +else $as_nop eval "$gt_func_gnugettext_libc=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=\$$gt_func_gnugettext_libc - { $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; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then @@ -16591,11 +18211,12 @@ $as_echo "$ac_res" >&6; } 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 + { 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 @@ -16606,7 +18227,7 @@ else #include int -main () +main (void) { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); @@ -16615,10 +18236,11 @@ iconv_t cd = iconv_open("",""); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +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 if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" @@ -16630,7 +18252,7 @@ rm -f core conftest.err conftest.$ac_objext \ #include int -main () +main (void) { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); @@ -16639,24 +18261,26 @@ iconv_t cd = iconv_open("",""); 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 + { 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 @@ -16664,12 +18288,13 @@ else fi am_cv_func_iconv_works=no for ac_iconv_const in '' 'const'; do - if test "$cross_compiling" = yes; then : + 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 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -16681,11 +18306,12 @@ else #endif int -main () +main (void) { int result = 0; - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ + /* 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)) @@ -16793,7 +18419,8 @@ int result = 0; 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 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ @@ -16805,8 +18432,8 @@ fi 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 ;; @@ -16816,14 +18443,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= @@ -16848,13 +18475,16 @@ $as_echo "$LIBICONV" >&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-libintl-prefix was given. -if test "${with_libintl_prefix+set}" = set; then : +if test ${with_libintl_prefix+y} +then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no @@ -16868,6 +18498,8 @@ if test "${with_libintl_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" @@ -16875,15 +18507,19 @@ if test "${with_libintl_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 LIBINTL= LTLIBINTL= INCINTL= @@ -16929,45 +18565,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 $LTLIBINTL; do @@ -16984,7 +18626,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 @@ -16994,14 +18636,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 @@ -17011,7 +18653,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 @@ -17033,7 +18675,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 LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= @@ -17112,6 +18755,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" = '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 @@ -17157,12 +18807,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;; @@ -17181,14 +18833,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 - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" + if test -d "$dependency_libdir"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$dependency_libdir" fi fi haveit= @@ -17202,14 +18854,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 - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" + if test -d "$dependency_libdir"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$dependency_libdir" fi fi fi @@ -17241,7 +18893,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$,,'` @@ -17292,11 +18951,12 @@ fi - { $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 + { 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" @@ -17319,7 +18979,7 @@ const char *_nl_expand_alias (const char *); $gt_revision_test_code int -main () +main (void) { bindtextdomain ("", ""); @@ -17329,12 +18989,13 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : eval "$gt_func_gnugettext_libintl=yes" -else +else $as_nop eval "$gt_func_gnugettext_libintl=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 { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" @@ -17356,7 +19017,7 @@ const char *_nl_expand_alias (const char *); $gt_revision_test_code int -main () +main (void) { bindtextdomain ("", ""); @@ -17366,21 +19027,22 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +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 \ +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 - { $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; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ @@ -17407,20 +19069,20 @@ $as_echo "$ac_res" >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then -$as_echo "#define ENABLE_NLS 1" >>confdefs.h +printf "%s\n" "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi 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; } + { 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 - { $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; } + { 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" @@ -17430,18 +19092,18 @@ $as_echo_n "checking where the gettext function comes from... " >&6; } else gt_source="included intl directory" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 -$as_echo "$gt_source" >&6; } + { 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 - { $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; } + { 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= @@ -17468,10 +19130,10 @@ $as_echo "$LIBINTL" >&6; } fi -$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h +printf "%s\n" "#define HAVE_GETTEXT 1" >>confdefs.h -$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h +printf "%s\n" "#define HAVE_DCGETTEXT 1" >>confdefs.h fi @@ -17491,85 +19153,82 @@ $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5 -$as_echo_n "checking for mbstate_t... " >&6; } -if ${ac_cv_type_mbstate_t+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5 +printf %s "checking for mbstate_t... " >&6; } +if test ${ac_cv_type_mbstate_t+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default -/* 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 + #include int -main () +main (void) { mbstate_t x; return sizeof x; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_type_mbstate_t=yes -else +else $as_nop ac_cv_type_mbstate_t=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: $ac_cv_type_mbstate_t" >&5 -$as_echo "$ac_cv_type_mbstate_t" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_mbstate_t" >&5 +printf "%s\n" "$ac_cv_type_mbstate_t" >&6; } if test $ac_cv_type_mbstate_t = yes; then -$as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h +printf "%s\n" "#define HAVE_MBSTATE_T 1" >>confdefs.h else -$as_echo "#define mbstate_t int" >>confdefs.h +printf "%s\n" "#define mbstate_t int" >>confdefs.h 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 + { 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 wchar_t foo = (wchar_t)'\0'; int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gt_cv_c_wchar_t=yes -else +else $as_nop gt_cv_c_wchar_t=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_wchar_t" >&5 -$as_echo "$gt_cv_c_wchar_t" >&6; } +{ 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 -$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h +printf "%s\n" "#define HAVE_WCHAR_T 1" >>confdefs.h fi -if test "$am_cv_func_iconv" = yes -a -n "$am_cv_proto_iconv_arg1"; then +if test "$am_cv_func_iconv" = yes -a -n "$iconv_arg1"; then ICONV_CONST="const" else ICONV_CONST="" @@ -17583,17 +19242,36 @@ else fi -for ac_func in getc_unlocked mbrtowc wcrtomb mbsinit setlocale -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 +ac_fn_c_check_func "$LINENO" "getc_unlocked" "ac_cv_func_getc_unlocked" +if test "x$ac_cv_func_getc_unlocked" = xyes +then : + printf "%s\n" "#define HAVE_GETC_UNLOCKED 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "mbrtowc" "ac_cv_func_mbrtowc" +if test "x$ac_cv_func_mbrtowc" = xyes +then : + printf "%s\n" "#define HAVE_MBRTOWC 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "wcrtomb" "ac_cv_func_wcrtomb" +if test "x$ac_cv_func_wcrtomb" = xyes +then : + printf "%s\n" "#define HAVE_WCRTOMB 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "mbsinit" "ac_cv_func_mbsinit" +if test "x$ac_cv_func_mbsinit" = xyes +then : + printf "%s\n" "#define HAVE_MBSINIT 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "setlocale" "ac_cv_func_setlocale" +if test "x$ac_cv_func_setlocale" = xyes +then : + printf "%s\n" "#define HAVE_SETLOCALE 1" >>confdefs.h fi -done if test $ac_cv_func_wcrtomb = yes || test $ac_cv_func_mbrtowc = yes; then @@ -17603,32 +19281,34 @@ else fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is standalone" >&5 -$as_echo_n "checking whether is standalone... " >&6; } -if ${gl_cv_header_wchar_h_standalone+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether is standalone" >&5 +printf %s "checking whether is standalone... " >&6; } +if test ${gl_cv_header_wchar_h_standalone+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include wchar_t w; int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_header_wchar_h_standalone=yes -else +else $as_nop gl_cv_header_wchar_h_standalone=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_header_wchar_h_standalone" >&5 -$as_echo "$gl_cv_header_wchar_h_standalone" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_standalone" >&5 +printf "%s\n" "$gl_cv_header_wchar_h_standalone" >&6; } if test $gl_cv_header_wchar_h_standalone = yes; then BROKEN_WCHAR_H=0 else @@ -17636,108 +19316,144 @@ else fi -for ac_func in memmove + + for ac_func in memmove do : ac_fn_c_check_func "$LINENO" "memmove" "ac_cv_func_memmove" -if test "x$ac_cv_func_memmove" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MEMMOVE 1 -_ACEOF +if test "x$ac_cv_func_memmove" = xyes +then : + printf "%s\n" "#define HAVE_MEMMOVE 1" >>confdefs.h -else +else $as_nop SRCLIBOBJS="$SRCLIBOBJS $ac_func.$ac_objext" fi -done +done - { $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 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 int -main () +main (void) { char* cs = nl_langinfo(CODESET); return !cs; ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : am_cv_langinfo_codeset=yes -else +else $as_nop am_cv_langinfo_codeset=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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5 -$as_echo "$am_cv_langinfo_codeset" >&6; } +{ 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 -$as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h +printf "%s\n" "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h fi +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 +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 +' - 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 -done - - - - - - 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 - -fi -done - - - - - - - - - { $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 : + { 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*) gl_cv_header_working_fcntl_h='no' ;; *) gl_cv_header_working_fcntl_h=cross-compiling ;; esac -else +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -17750,6 +19466,10 @@ else # defined sleep(n) _sleep ((n) * 1000) #endif #include + + +$gl_mda_defines + #ifndef O_NOATIME #define O_NOATIME 0 #endif @@ -17763,7 +19483,7 @@ else }; int -main () +main (void) { int result = !constants; @@ -17833,9 +19553,10 @@ main () return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : +if ac_fn_c_try_run "$LINENO" +then : gl_cv_header_working_fcntl_h=yes -else +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)';; #( @@ -17849,17 +19570,15 @@ fi 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" "$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 -cat >>confdefs.h <<_ACEOF -#define HAVE_WORKING_O_NOATIME $ac_val -_ACEOF +printf "%s\n" "#define HAVE_WORKING_O_NOATIME $ac_val" >>confdefs.h case $gl_cv_header_working_fcntl_h in #( @@ -17867,32 +19586,26 @@ _ACEOF *) ac_val=1;; esac -cat >>confdefs.h <<_ACEOF -#define HAVE_WORKING_O_NOFOLLOW $ac_val -_ACEOF +printf "%s\n" "#define HAVE_WORKING_O_NOFOLLOW $ac_val" >>confdefs.h - for ac_header in wchar.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default" -if test "x$ac_cv_header_wchar_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WCHAR_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default" +if test "x$ac_cv_header_wchar_h" = xyes +then : + printf "%s\n" "#define HAVE_WCHAR_H 1" >>confdefs.h fi -done - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EILSEQ" >&5 -$as_echo_n "checking for EILSEQ... " >&6; } -if ${ac_cv_decl_EILSEQ+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EILSEQ" >&5 +printf %s "checking for EILSEQ... " >&6; } +if test ${ac_cv_decl_EILSEQ+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -17904,10 +19617,11 @@ yes _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : + $EGREP "yes" >/dev/null 2>&1 +then : have_eilseq=1 fi -rm -f conftest* +rm -rf conftest* if test -n "$have_eilseq"; then ac_cv_decl_EILSEQ=yes @@ -17925,10 +19639,11 @@ yes _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : + $EGREP "yes" >/dev/null 2>&1 +then : have_eilseq=1 fi -rm -f conftest* +rm -rf conftest* if test -n "$have_eilseq"; then if ac_fn_c_compute_int "$LINENO" "EILSEQ" "ac_cv_decl_EILSEQ" " @@ -17939,106 +19654,266 @@ rm -f conftest* /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include -"; then : +" +then : fi - else ac_cv_decl_EILSEQ=ENOENT fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_EILSEQ" >&5 -$as_echo "$ac_cv_decl_EILSEQ" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_EILSEQ" >&5 +printf "%s\n" "$ac_cv_decl_EILSEQ" >&6; } if test "$ac_cv_decl_EILSEQ" != yes; then -cat >>confdefs.h <<_ACEOF -#define EILSEQ $ac_cv_decl_EILSEQ -_ACEOF +printf "%s\n" "#define EILSEQ $ac_cv_decl_EILSEQ" >>confdefs.h EILSEQ="$ac_cv_decl_EILSEQ" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking byte ordering" >&5 -$as_echo_n "checking byte ordering... " >&6; } -if ${cl_cv_sys_endian+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +printf %s "checking whether byte ordering is bigendian... " >&6; } +if test ${ac_cv_c_bigendian+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + 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 : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include -if test "$cross_compiling" = yes; then : - : # must guess the endianness +int +main (void) +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -int main () { - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long l; - char c[sizeof (long)]; - } u; - u.l = 1; - exit (u.c[0] == 1); +#include + #include + +int +main (void) +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif + + ; + return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - cl_cv_sys_endian="big endian" -else - cl_cv_sys_endian="little endian" +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_c_bigendian=yes +else $as_nop + ac_cv_c_bigendian=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 +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -if test -z "$cl_cv_sys_endian"; then -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +int +main (void) +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if defined(m68k) || defined(__m68k__) || defined(mc68000) || defined(mc68020) || defined(__mc68020__) || defined(sparc) || defined(__sparc__) || defined(MIPSEB) || defined(__MIPSEB__) || defined(hppa) || defined(__hppa) || defined(m88000) || defined(__m88k__) - yes -#endif +#include + +int +main (void) +{ +#ifndef _BIG_ENDIAN + not big endian + #endif + ; + return 0; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - cl_cv_sys_endian="big endian" +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_c_bigendian=yes +else $as_nop + ac_cv_c_bigendian=no fi -rm -f conftest* - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -if test -z "$cl_cv_sys_endian"; then -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes +then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if defined(i386) || defined(__i386) || defined(__i386__) || defined(_I386) || defined(MIPSEL) || defined(__MIPSEL__) || defined(__alpha) - yes -#endif +unsigned short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + unsigned short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + unsigned short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + unsigned short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; +int +main (void) +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - cl_cv_sys_endian="little endian" +if ac_fn_c_try_compile "$LINENO" +then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi fi -rm -f conftest* +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main (void) +{ + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + ac_cv_c_bigendian=no +else $as_nop + ac_cv_c_bigendian=yes fi -if test -z "$cl_cv_sys_endian"; then -cl_cv_sys_endian="guessing little endian" +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: $cl_cv_sys_endian" >&5 -$as_echo "$cl_cv_sys_endian" >&6; } -case "$cl_cv_sys_endian" in - *little*) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +printf "%s\n" "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + printf "%s\n" "#define WORDS_BIGENDIAN 1" >>confdefs.h +;; #( + no) + +printf "%s\n" "#define WORDS_LITTLEENDIAN 1" >>confdefs.h + + ;; #( + universal) + +printf "%s\n" "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + esac + + -$as_echo "#define WORDS_LITTLEENDIAN 1" >>confdefs.h - ;; - *big*) ;; -esac @@ -18046,33 +19921,53 @@ esac + # 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 : +if test "x$ac_cv_type_size_t" = xyes +then : -else +else $as_nop -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF +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! -{ $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 +{ 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 int -main () +main (void) { char *p = (char *) alloca (2 * sizeof (int)); if (p) return 0; @@ -18080,52 +19975,52 @@ char *p = (char *) alloca (2 * sizeof (int)); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_working_alloca_h=yes -else +else $as_nop ac_cv_working_alloca_h=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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 -$as_echo "$ac_cv_working_alloca_h" >&6; } +{ 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 -$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_ALLOCA_H 1" >>confdefs.h 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 +{ 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. */ -#ifdef __GNUC__ -# define alloca __builtin_alloca -#else -# ifdef _MSC_VER +#include +#include +#ifndef alloca +# ifdef __GNUC__ +# define alloca __builtin_alloca +# elif defined _MSC_VER # include # define alloca _alloca # else -# ifdef HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -void *alloca (size_t); -# endif -# endif +# ifdef __cplusplus +extern "C" # endif +void *alloca (size_t); # endif #endif int -main () +main (void) { char *p = (char *) alloca (1); if (p) return 0; @@ -18133,20 +20028,22 @@ char *p = (char *) alloca (1); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_func_alloca_works=yes -else +else $as_nop ac_cv_func_alloca_works=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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 -$as_echo "$ac_cv_func_alloca_works" >&6; } +{ 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 -$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h +printf "%s\n" "#define HAVE_ALLOCA 1" >>confdefs.h else # The SVR3 libPW and SVR4 libucb both contain incompatible functions @@ -18160,58 +20057,19 @@ else ALLOCA=\${LIBOBJDIR}alloca.$ac_objext -$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 +printf "%s\n" "#define C_ALLOCA 1" >>confdefs.h - done -fi -{ $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 : +{ 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 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default @@ -18232,9 +20090,10 @@ main (int argc, char **argv) return find_stack_direction (0, argc + !argv + 20) < 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : +if ac_fn_c_try_run "$LINENO" +then : ac_cv_c_stack_direction=1 -else +else $as_nop ac_cv_c_stack_direction=-1 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ @@ -18242,58 +20101,21 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ fi 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" "$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 - - - - - 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_QSORT_R=0; - GNULIB_RANDOM=0; - GNULIB_RANDOM_R=0; - GNULIB_REALLOCARRAY=0; - GNULIB_REALLOC_POSIX=0; - GNULIB_REALPATH=0; - GNULIB_RPMATCH=0; - GNULIB_SECURE_GETENV=0; - GNULIB_SETENV=0; - GNULIB_STRTOD=0; - GNULIB_STRTOLD=0; - GNULIB_STRTOLL=0; - GNULIB_STRTOULL=0; - GNULIB_SYSTEM_POSIX=0; - GNULIB_UNLOCKPT=0; - GNULIB_UNSETENV=0; - GNULIB_WCTOMB=0; 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_GETSUBOPT=1; HAVE_GRANTPT=1; @@ -18305,6 +20127,7 @@ fi HAVE_MKOSTEMPS=1; HAVE_MKSTEMP=1; HAVE_MKSTEMPS=1; + HAVE_POSIX_MEMALIGN=1; HAVE_POSIX_OPENPT=1; HAVE_PTSNAME=1; HAVE_PTSNAME_R=1; @@ -18321,47 +20144,125 @@ fi 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_CALLOC=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_INITSTATE=0; - REPLACE_MALLOC=0; + REPLACE_MALLOC_FOR_MALLOC_GNU=0; + REPLACE_MALLOC_FOR_MALLOC_POSIX=0; REPLACE_MBTOWC=0; REPLACE_MKSTEMP=0; + REPLACE_POSIX_MEMALIGN=0; REPLACE_PTSNAME=0; REPLACE_PTSNAME_R=0; REPLACE_PUTENV=0; REPLACE_QSORT_R=0; REPLACE_RANDOM=0; REPLACE_RANDOM_R=0; - REPLACE_REALLOC=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; + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 +printf %s "checking whether lstat correctly handles trailing slash... " >&6; } +if test ${gl_cv_func_lstat_dereferences_slashed_symlink+y} +then : + printf %s "(cached) " >&6 +else $as_nop + rm -f conftest.sym conftest.file + echo >conftest.file + if test "$cross_compiling" = yes +then : + case "$host_os" in + linux-* | linux) + # Guess yes on Linux systems. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + *-gnu* | gnu*) + # Guess yes on glibc systems. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + mingw*) + # Guess no on native Windows. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; + *) + # If we don't know, obey --enable-cross-guesses. + gl_cv_func_lstat_dereferences_slashed_symlink="$gl_cross_guess_normal" ;; + esac + +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main (void) +{ +struct stat sbuf; + if (symlink ("conftest.file", "conftest.sym") != 0) + return 1; + /* 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; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_lstat_dereferences_slashed_symlink=yes +else $as_nop + gl_cv_func_lstat_dereferences_slashed_symlink=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.sym conftest.file +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5 +printf "%s\n" "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; } + case "$gl_cv_func_lstat_dereferences_slashed_symlink" in + *yes) +printf "%s\n" "#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1" >>confdefs.h + ;; + esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 -$as_echo_n "checking whether // is distinct from /... " >&6; } -if ${gl_cv_double_slash_root+:} false; then : - $as_echo_n "(cached) " >&6 -else + + { 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 @@ -18386,11 +20287,11 @@ else fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 -$as_echo "$gl_cv_double_slash_root" >&6; } +{ 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 -$as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h +printf "%s\n" "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h fi @@ -18398,27 +20299,36 @@ $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether realpath works" >&5 -$as_echo_n "checking whether realpath works... " >&6; } -if ${gl_cv_func_realpath_works+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether realpath works" >&5 +printf %s "checking whether realpath works... " >&6; } +if test ${gl_cv_func_realpath_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop + rm -rf conftest.a conftest.d touch conftest.a + # Assume that if we have lstat, we can also check symlinks. + if test $ac_cv_func_lstat = yes; then + ln -s conftest.a conftest.l + fi mkdir conftest.d - if test "$cross_compiling" = yes; then : + if test "$cross_compiling" = yes +then : case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;; - # Guess yes on musl systems. - *-musl*) gl_cv_func_realpath_works="guessing yes" ;; + # Guess 'nearly' on musl systems. + *-musl*) gl_cv_func_realpath_works="guessing nearly" ;; + # Guess no on Cygwin. + cygwin*) gl_cv_func_realpath_works="guessing no" ;; # Guess no on native Windows. mingw*) gl_cv_func_realpath_works="guessing no" ;; - # If we don't know, assume the worst. - *) gl_cv_func_realpath_works="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_realpath_works="$gl_cross_guess_normal" ;; esac -else +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -18461,7 +20371,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) { @@ -18480,7 +20390,7 @@ 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); } @@ -18537,40 +20447,65 @@ nocrash_init (void) } #endif + #include #include #include int -main () +main (void) { int result = 0; + /* This test fails on Solaris 10. */ { char *name = realpath ("conftest.a", NULL); if (!(name && *name == '/')) result |= 1; free (name); } + /* This test fails on older versions of Cygwin. */ { char *name = realpath ("conftest.b/../conftest.a", NULL); if (name != NULL) result |= 2; free (name); } + /* This test fails on Cygwin 2.9. */ + #if HAVE_LSTAT + { + char *name = realpath ("conftest.l/../conftest.a", NULL); + if (name != NULL || errno != ENOTDIR) + result |= 4; + free (name); + } + #endif + /* This test fails on Mac OS X 10.13, OpenBSD 6.0. */ { char *name = realpath ("conftest.a/", NULL); if (name != NULL) - result |= 4; + result |= 8; free (name); } + /* This test fails on AIX 7, Solaris 10. */ { char *name1 = realpath (".", NULL); char *name2 = realpath ("conftest.d//./..", NULL); if (! name1 || ! name2 || strcmp (name1, name2)) - result |= 8; + result |= 16; free (name1); free (name2); } + #ifdef __linux__ + /* On Linux, // is the same as /. See also double-slash-root.m4. + realpath() should respect this. + This test fails on musl libc 1.2.2. */ + { + char *name = realpath ("//", NULL); + if (! name || strcmp (name, "/")) + result |= 32; + free (name); + } + #endif return result; ; @@ -18578,24 +20513,34 @@ main () } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : +if ac_fn_c_try_run "$LINENO" +then : gl_cv_func_realpath_works=yes -else - gl_cv_func_realpath_works=no +else $as_nop + case $? in + 32) gl_cv_func_realpath_works=nearly ;; + *) gl_cv_func_realpath_works=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 - rm -rf conftest.a conftest.d + rm -rf conftest.a conftest.l conftest.d fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_realpath_works" >&5 -$as_echo "$gl_cv_func_realpath_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_realpath_works" >&5 +printf "%s\n" "$gl_cv_func_realpath_works" >&6; } case "$gl_cv_func_realpath_works" in *yes) -$as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h +printf "%s\n" "#define FUNC_REALPATH_WORKS 1" >>confdefs.h + + ;; + *nearly) + +printf "%s\n" "#define FUNC_REALPATH_NEARLY_WORKS 1" >>confdefs.h ;; esac @@ -18607,72 +20552,280 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h + case "$host_os" in + mingw*) ;; + *) ac_fn_c_check_func "$LINENO" "getcwd" "ac_cv_func_getcwd" +if test "x$ac_cv_func_getcwd" = xyes +then : + printf "%s\n" "#define HAVE_GETCWD 1" >>confdefs.h +fi + ;; + esac - 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_GETPASS=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_TRUNCATE=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; + + + + GL_GNULIB__EXIT=0 + + + + GL_GNULIB_ALIGNED_ALLOC=0 + + + + GL_GNULIB_ATOLL=0 + + + + GL_GNULIB_CALLOC_GNU=0 + + + + GL_GNULIB_CALLOC_POSIX=0 + + + + GL_GNULIB_CANONICALIZE_FILE_NAME=0 + + + + GL_GNULIB_FREE_POSIX=0 + + + + GL_GNULIB_GETLOADAVG=0 + + + + GL_GNULIB_GETSUBOPT=0 + + + + GL_GNULIB_GRANTPT=0 + + + + GL_GNULIB_MALLOC_GNU=0 + + + + GL_GNULIB_MALLOC_POSIX=0 + + + + GL_GNULIB_MBTOWC=0 + + + + GL_GNULIB_MKDTEMP=0 + + + + GL_GNULIB_MKOSTEMP=0 + + + + GL_GNULIB_MKOSTEMPS=0 + + + + GL_GNULIB_MKSTEMP=0 + + + + GL_GNULIB_MKSTEMPS=0 + + + + GL_GNULIB_POSIX_MEMALIGN=0 + + + + GL_GNULIB_POSIX_OPENPT=0 + + + + GL_GNULIB_PTSNAME=0 + + + + GL_GNULIB_PTSNAME_R=0 + + + + GL_GNULIB_PUTENV=0 + + + + GL_GNULIB_QSORT_R=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 + + + + GL_GNULIB_STRTOD=0 + + + + GL_GNULIB_STRTOL=0 + + + + GL_GNULIB_STRTOLD=0 + + + + GL_GNULIB_STRTOLL=0 + + + + GL_GNULIB_STRTOUL=0 + + + + GL_GNULIB_STRTOULL=0 + + + + GL_GNULIB_SYSTEM_POSIX=0 + + + + GL_GNULIB_UNLOCKPT=0 + + + + GL_GNULIB_UNSETENV=0 + + + + GL_GNULIB_WCTOMB=0 + + + + GL_GNULIB_MDA_ECVT=1 + + + + GL_GNULIB_MDA_FCVT=1 + + + + GL_GNULIB_MDA_GCVT=1 + + + + GL_GNULIB_MDA_MKTEMP=1 + + + + GL_GNULIB_MDA_PUTENV=1 + + + +{ 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 + + + + 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; @@ -18695,6 +20848,7 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h 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; @@ -18707,10 +20861,19 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h 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_EXECL=0; + REPLACE_EXECLE=0; + REPLACE_EXECLP=0; + REPLACE_EXECV=0; + REPLACE_EXECVE=0; + REPLACE_EXECVP=0; + REPLACE_EXECVPE=0; REPLACE_FACCESSAT=0; REPLACE_FCHOWNAT=0; REPLACE_FTRUNCATE=0; @@ -18721,6 +20884,7 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h REPLACE_GETGROUPS=0; REPLACE_GETPAGESIZE=0; REPLACE_GETPASS=0; + REPLACE_GETPASS_FOR_GETPASS_GNU=0; REPLACE_ISATTY=0; REPLACE_LCHOWN=0; REPLACE_LINK=0; @@ -18741,6 +20905,7 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h 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; @@ -18748,1642 +20913,609 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h + 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 - { $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 - #endif - /* mingw, BeOS, Haiku declare environ in , not in . */ - #include - extern struct { int foo; } environ; -int -main () -{ -environ.foo = 1; - ; - return 0; -} -_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 -{ $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 -$as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h - fi + GL_GNULIB_ACCESS=0 - if test $gt_cv_var_environ_declaration != yes; then - HAVE_DECL_ENVIRON=0 - fi + GL_GNULIB_CHDIR=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 < conftestd1a/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF - cat < conftestd1b/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF - cat < 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 -_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 -_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 + GL_GNULIB_CHOWN=0 -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_CLOSE=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_COPY_FILE_RANGE=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_DUP=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_DUP2=0 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#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 - gl_cv_header_errno_h_complete=yes -fi -rm -f conftest* + GL_GNULIB_DUP3=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_ENVIRON=0 + GL_GNULIB_EUIDACCESS=0 + GL_GNULIB_EXECL=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 " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_errno_h+:} false; then : - $as_echo_n "(cached) " >&6 -else + GL_GNULIB_EXECLE=0 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_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 '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_GNULIB_EXECLP=0 - gl_header=$gl_cv_absolute_errno_h - gl_cv_next_errno_h='"'$gl_header'"' -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 + GL_GNULIB_EXECV=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='<'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_EXECVE=0 - ERRNO_H='errno.h' - fi - 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 + GL_GNULIB_EXECVP=0 - 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 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + GL_GNULIB_EXECVPE=0 -#include -#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* - if test $gl_cv_header_errno_h_EMULTIHOP = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + GL_GNULIB_FACCESSAT=0 -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#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* - 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 -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -"; then : + GL_GNULIB_FCHDIR=0 -fi - fi - fi -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 + GL_GNULIB_FCHOWNAT=0 - fi + GL_GNULIB_FDATASYNC=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. */ -#include -#ifdef ENOLINK -yes -#endif + GL_GNULIB_FSYNC=0 -_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. */ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef ENOLINK -yes -#endif + GL_GNULIB_FTRUNCATE=0 -_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 -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -"; then : -fi + GL_GNULIB_GETCWD=0 - 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_GETDOMAINNAME=0 - fi - 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 + GL_GNULIB_GETDTABLESIZE=0 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#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 - gl_cv_header_errno_h_EOVERFLOW=no -fi -rm -f conftest* + GL_GNULIB_GETENTROPY=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 -#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_GETGROUPS=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 -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -"; then : -fi - fi - fi + GL_GNULIB_GETHOSTNAME=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_GETLOGIN=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_GETLOGIN_R=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_GETOPT_POSIX=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_GETPAGESIZE=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_GETPASS=0 -fi - XGETTEXT_EXTRA_OPTIONS= + GL_GNULIB_GETPASS_GNU=0 + GL_GNULIB_GETUSERSHELL=0 - 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; -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 : + GL_GNULIB_GROUP_MEMBER=0 -else -cat >>confdefs.h <<_ACEOF -#define pid_t int -_ACEOF -fi + GL_GNULIB_ISATTY=0 -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 -cat >>confdefs.h <<_ACEOF -#define mode_t int -_ACEOF + GL_GNULIB_LCHOWN=0 -fi + GL_GNULIB_LINK=0 + GL_GNULIB_LINKAT=0 - 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 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1]; -int -main () -{ + GL_GNULIB_LSEEK=0 - ; - 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 -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -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 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit st_size" >&5 -$as_echo_n "checking for 64-bit st_size... " >&6; } -if ${gl_cv_member_st_size_64+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - struct stat buf; - int verify_st_size_size[sizeof (buf.st_size) >= 8 ? 1 : -1]; -int -main () -{ + GL_GNULIB_PIPE=0 - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_member_st_size_64=yes -else - gl_cv_member_st_size_64=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_member_st_size_64" >&5 -$as_echo "$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 + GL_GNULIB_PIPE2=0 + GL_GNULIB_PREAD=0 + GL_GNULIB_PWRITE=0 + GL_GNULIB_READ=0 - if test $gl_cv_have_include_next = yes; then - gl_cv_next_limits_h='<'limits.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_limits_h+:} false; then : - $as_echo_n "(cached) " >&6 -else + GL_GNULIB_READLINK=0 - if test $ac_cv_header_limits_h = yes; then + GL_GNULIB_READLINKAT=0 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_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 '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_GNULIB_RMDIR=0 - 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_limits_h='<'limits.h'>' - fi + GL_GNULIB_SETHOSTNAME=0 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_limits_h" >&5 -$as_echo "$gl_cv_next_limits_h" >&6; } - fi - 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='<'limits.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_limits_h - fi - NEXT_AS_FIRST_DIRECTIVE_LIMITS_H=$gl_next_as_first_directive + GL_GNULIB_SLEEP=0 + GL_GNULIB_SYMLINK=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc." >&5 -$as_echo_n "checking whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.... " >&6; } -if ${gl_cv_header_limits_width+:} false; then : - $as_echo_n "(cached) " >&6 -else - 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 - long long llm = LLONG_MAX; - int wb = WORD_BIT; - int ullw = ULLONG_WIDTH; -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_limits_width=yes -else - gl_cv_header_limits_width=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_limits_width" >&5 -$as_echo "$gl_cv_header_limits_width" >&6; } - if test "$gl_cv_header_limits_width" = yes; then - LIMITS_H= - else - LIMITS_H=limits.h - fi + GL_GNULIB_SYMLINKAT=0 - if test -n "$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 + GL_GNULIB_TRUNCATE=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; - GNULIB_OVERRIDES_STRUCT_STAT=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; + GL_GNULIB_TTYNAME_R=0 - { $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 "$cross_compiling" = yes; then : - case "$host_os" in - linux-* | linux) - # Guess yes on Linux systems. - gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; - *-gnu* | gnu*) - # Guess yes on glibc systems. - gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; - mingw*) - # Guess no on native Windows. - gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; - *) - # If we don't know, assume the worst. - gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -struct stat sbuf; - if (symlink ("conftest.file", "conftest.sym") != 0) - return 1; - /* 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_GNULIB_UNISTD_H_GETOPT=0 - ; - 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 -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.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) + GL_GNULIB_UNISTD_H_NONBLOCKING=0 -cat >>confdefs.h <<_ACEOF -#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 -_ACEOF - ;; - esac + GL_GNULIB_UNISTD_H_SIGPIPE=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 __CYGWIN__ - choke me - #endif + GL_GNULIB_UNLINK=0 - ; - 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; } + GL_GNULIB_UNLINKAT=0 - 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 + GL_GNULIB_USLEEP=0 -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* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \ - | hpux* | solaris* | cygwin* | mingw*) - ac_cv_func_malloc_0_nonnull="guessing yes" ;; - # If we don't know, assume the worst. - *) ac_cv_func_malloc_0_nonnull="guessing no" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H - # include - #else - char *malloc (); - #endif + GL_GNULIB_WRITE=0 -int -main () -{ -char *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 - 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_GNULIB_MDA_ACCESS=1 -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; } - case "$ac_cv_func_malloc_0_nonnull" in - *yes) - gl_cv_func_malloc_0_nonnull=1 - ;; - *) - gl_cv_func_malloc_0_nonnull=0 - ;; - esac -cat >>confdefs.h <<_ACEOF -#define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull -_ACEOF + GL_GNULIB_MDA_CHDIR=1 - { $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 - ac_cv_type_unsigned_long_long_int=yes - if test "x${ac_cv_prog_cc_c99-no}" = xno; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + GL_GNULIB_MDA_CLOSE=1 - /* 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 : -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 -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 + GL_GNULIB_MDA_DUP=1 -$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h - fi + GL_GNULIB_MDA_DUP2=1 - { $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 - ac_cv_type_long_long_int=yes - if test "x${ac_cv_prog_cc_c99-no}" = xno; then - ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int - if test $ac_cv_type_long_long_int = yes; then - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #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 : -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 + GL_GNULIB_MDA_EXECL=1 - fi - fi -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 - fi + GL_GNULIB_MDA_EXECLE=1 + GL_GNULIB_MDA_EXECLP=1 - 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 + GL_GNULIB_MDA_EXECV=1 - else - HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 - fi + GL_GNULIB_MDA_EXECVE=1 + GL_GNULIB_MDA_EXECVP=1 - 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_MDA_EXECVPE=1 - GNULIB_PTHREAD_SIGMASK=0; - GNULIB_RAISE=0; - GNULIB_SIGNAL_H_SIGPIPE=0; - GNULIB_SIGPROCMASK=0; - GNULIB_SIGACTION=0; - HAVE_POSIX_SIGNALBLOCKING=1; - HAVE_PTHREAD_SIGMASK=1; - HAVE_RAISE=1; - HAVE_SIGSET_T=1; - HAVE_SIGINFO_T=1; - HAVE_SIGACTION=1; - HAVE_STRUCT_SIGACTION_SA_SIGACTION=1; + GL_GNULIB_MDA_GETCWD=1 - HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1; - HAVE_SIGHANDLER_T=1; - REPLACE_PTHREAD_SIGMASK=0; - REPLACE_RAISE=0; + GL_GNULIB_MDA_GETPID=1 - ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" " - #include - /* Mingw defines sigset_t not in , but in . */ - #include -" -if test "x$ac_cv_type_sigset_t" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_SIGSET_T 1 -_ACEOF + GL_GNULIB_MDA_ISATTY=1 -gl_cv_type_sigset_t=yes -else - gl_cv_type_sigset_t=no -fi - if test $gl_cv_type_sigset_t != yes; then - HAVE_SIGSET_T=0 - fi + GL_GNULIB_MDA_LSEEK=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIGPIPE" >&5 -$as_echo_n "checking for SIGPIPE... " >&6; } -if ${gl_cv_header_signal_h_SIGPIPE+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + GL_GNULIB_MDA_READ=1 -#include -#if !defined SIGPIPE -booboo -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "booboo" >/dev/null 2>&1; then : - gl_cv_header_signal_h_SIGPIPE=no -else - gl_cv_header_signal_h_SIGPIPE=yes -fi -rm -f conftest* + GL_GNULIB_MDA_RMDIR=1 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_signal_h_SIGPIPE" >&5 -$as_echo "$gl_cv_header_signal_h_SIGPIPE" >&6; } -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_MDA_SWAB=1 + GL_GNULIB_MDA_UNLINK=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 + + + GL_GNULIB_MDA_WRITE=1 + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5 +printf %s "checking if environ is properly declared... " >&6; } +if test ${gt_cv_var_environ_declaration+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#if HAVE_UNISTD_H + #include + #endif + /* mingw, BeOS, Haiku declare environ in , not in . */ + #include + + typedef struct { int foo; } foo_t; + extern foo_t environ; int -main () +main (void) { -int x = sizeof (ssize_t *) + sizeof (ssize_t); - return !x; +environ.foo = 1; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_ssize_t=yes -else - gt_cv_ssize_t=no +if ac_fn_c_try_compile "$LINENO" +then : + gt_cv_var_environ_declaration=no +else $as_nop + gt_cv_var_environ_declaration=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 -{ $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 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5 +printf "%s\n" "$gt_cv_var_environ_declaration" >&6; } + if test $gt_cv_var_environ_declaration = yes; then -$as_echo "#define ssize_t int" >>confdefs.h +printf "%s\n" "#define HAVE_ENVIRON_DECL 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 -$as_echo_n "checking for uid_t in sys/types.h... " >&6; } -if ${ac_cv_type_uid_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "uid_t" >/dev/null 2>&1; then : - ac_cv_type_uid_t=yes -else - ac_cv_type_uid_t=no -fi -rm -f conftest* + if test $gt_cv_var_environ_declaration != yes; then + HAVE_DECL_ENVIRON=0 + fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 -$as_echo "$ac_cv_type_uid_t" >&6; } -if test $ac_cv_type_uid_t = no; then - -$as_echo "#define uid_t int" >>confdefs.h - - -$as_echo "#define gid_t int" >>confdefs.h - -fi - - - 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; - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef _MSC_VER -MicrosoftCompiler + { 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 < conftestd1a/conftest.h +#define DEFINED_IN_CONFTESTD1 +#include_next +#ifdef DEFINED_IN_CONFTESTD2 +int foo; +#else +#error "include_next doesn't work" #endif - +EOF + cat < conftestd1b/conftest.h +#define DEFINED_IN_CONFTESTD1 +#include +#include_next +#ifdef DEFINED_IN_CONFTESTD2 +int foo; +#else +#error "include_next doesn't work" +#endif +EOF + cat < 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 _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "MicrosoftCompiler" >/dev/null 2>&1; then : - gl_asmext='asm' - gl_c_asm_opt='-c -Fa' - -else - gl_asmext='s' - gl_c_asm_opt='-S' - +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 +_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 conftest* - - - - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C symbols are prefixed with underscore at the linker level" >&5 -$as_echo_n "checking whether C symbols are prefixed with underscore at the linker level... " >&6; } -if ${gl_cv_prog_as_underscore+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.c <&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null 2>&1 - if LC_ALL=C $EGREP '(^|[^a-zA-Z0-9_])_foo([^a-zA-Z0-9_]|$)' conftest.$gl_asmext >/dev/null; then - gl_cv_prog_as_underscore=yes - else - gl_cv_prog_as_underscore=no - fi - rm -f conftest* +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CPPFLAGS="$gl_save_CPPFLAGS" + rm -rf conftestd1a conftestd1b conftestd2 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_prog_as_underscore" >&5 -$as_echo "$gl_cv_prog_as_underscore" >&6; } - if test $gl_cv_prog_as_underscore = yes; then - USER_LABEL_PREFIX=_ +{ 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 - USER_LABEL_PREFIX= + 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 -cat >>confdefs.h <<_ACEOF -#define USER_LABEL_PREFIX $USER_LABEL_PREFIX -_ACEOF - ASM_SYMBOL_PREFIX='"'${USER_LABEL_PREFIX}'"' -{ $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 + { 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. */ -#include -#include - -#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]; +#ifdef __TANDEM +choke me #endif _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 +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 -{ $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 +rm -rf conftest* -$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h 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 + { 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 +#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 @@ -20393,22 +21525,20 @@ fi if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_stat_h='<'sys/stat.h'>' + gl_cv_next_errno_h='<'errno.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&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" "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +printf %s "checking absolute name of ... " >&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 +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; @@ -20424,7 +21554,7 @@ _ACEOF ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'sys/stat.h' \ + 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/ @@ -20433,300 +21563,522 @@ _ACEOF q }' - gl_cv_absolute_sys_stat_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + 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_sys_stat_h - gl_cv_next_sys_stat_h='"'$gl_header'"' - else - gl_cv_next_sys_stat_h='<'sys/stat.h'>' - fi + gl_header=$gl_cv_absolute_errno_h + gl_cv_next_errno_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_errno_h" >&5 +printf "%s\n" "$gl_cv_next_errno_h" >&6; } fi - NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h + 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='<'sys/stat.h'>' + gl_next_as_first_directive='<'errno.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_stat_h + gl_next_as_first_directive=$gl_cv_next_errno_h fi - NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive - - + 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 - WINDOWS_STAT_TIMESPEC=0 - - + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#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 +#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* - ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include - #include + 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 +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include " -if test "x$ac_cv_type_nlink_t" = xyes; then : +then : -else +fi -$as_echo "#define nlink_t int" >>confdefs.h + 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 +#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* -{ $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 + if test $gl_cv_header_errno_h_ENOLINK = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include +#define _XOPEN_SOURCE_EXTENDED 1 +#include +#ifdef ENOLINK +yes +#endif - #ifdef __cplusplus - typedef bool Bool; - #else - typedef _Bool Bool; - #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 - #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* - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif + 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 +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +" +then : - struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s; +fi - 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 - https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html - */ - Bool q = true; - Bool *pq = &q; - bool *qq = &q; + fi + fi -int -main () -{ +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 - bool e = &s; - *pq |= q; *pq |= ! q; - *qq |= q; *qq |= ! 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 + !qq); - ; - return 0; -} + 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 +#ifdef EOVERFLOW +yes +#endif + _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 +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 -{ $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 : +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 +#ifdef EOVERFLOW +yes +#endif -cat >>confdefs.h <<_ACEOF -#define HAVE__BOOL 1 _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 +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +" +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 - REPLACE_NULL=0; - HAVE_MAX_ALIGN_T=1; - HAVE_WCHAR_T=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 +{ 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. */ -/* 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'; int -main () +main (void) { - +(void) strchr; ; 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 +if ac_fn_c_try_compile "$LINENO" +then : -$as_echo "#define HAVE_WINT_T 1" >>confdefs.h - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wint_t is too small" >&5 -$as_echo_n "checking whether wint_t is too small... " >&6; } -if ${gl_cv_type_wint_t_too_small+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +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. */ - -/* 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 - int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1]; +#include +#include +#include +#include +extern void ac_decl (int, char *); int -main () +main (void) { +(void) ac_decl (0, (char *) 0); + (void) ac_decl; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_type_wint_t_too_small=no -else - gl_cv_type_wint_t_too_small=yes +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 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + break fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wint_t_too_small" >&5 -$as_echo "$gl_cv_type_wint_t_too_small" >&6; } - if test $gl_cv_type_wint_t_too_small = yes; then - GNULIB_OVERRIDES_WINT_T=1 - else - GNULIB_OVERRIDES_WINT_T=0 - fi - else - GNULIB_OVERRIDES_WINT_T=0 - 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 +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 +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; - if test $ac_cv_type_long_long_int = yes; then - HAVE_LONG_LONG_INT=1 - else - HAVE_LONG_LONG_INT=0 - fi + ; + 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 - 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 +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 - if test $ac_cv_header_wchar_h = yes; then - HAVE_WCHAR_H=1 - else - HAVE_WCHAR_H=0 - fi + XGETTEXT_EXTRA_OPTIONS= - if test $ac_cv_header_inttypes_h = yes; then - HAVE_INTTYPES_H=1 - else - HAVE_INTTYPES_H=0 - fi + { 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 + #ifndef __header_inline + #error " 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 - if test $ac_cv_header_sys_types_h = yes; then - HAVE_SYS_TYPES_H=1 - else - HAVE_SYS_TYPES_H=0 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 + + + + + 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 + @@ -20734,23 +22086,25 @@ $as_echo "$gl_cv_type_wint_t_too_small" >&6; } - 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 " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_stdint_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_stdint_h = yes; then + 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 " >&5 +printf %s "checking absolute name of ... " >&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 +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; @@ -20766,7 +22120,7 @@ _ACEOF ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'stdint.h' \ + 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/ @@ -20775,157 +22129,900 @@ _ACEOF q }' - gl_cv_absolute_stdint_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + 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_stdint_h - gl_cv_next_stdint_h='"'$gl_header'"' - else - gl_cv_next_stdint_h='<'stdint.h'>' - fi + gl_header=$gl_cv_absolute_fcntl_h + gl_cv_next_fcntl_h='"'$gl_header'"' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 -$as_echo "$gl_cv_next_stdint_h" >&6; } +{ 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_STDINT_H=$gl_cv_next_stdint_h + 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='<'stdint.h'>' + gl_next_as_first_directive='<'fcntl.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdint_h + gl_next_as_first_directive=$gl_cv_next_fcntl_h fi - NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_FCNTL_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 - 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. */ -#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) -#error "WCHAR_MIN, WCHAR_MAX not defined in " -#endif - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -#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; + + + 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_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 +#include + +#if defined S_ISBLK && defined S_IFDIR +extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; #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; + +#if defined S_ISBLK && defined S_IFCHR +extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; #endif -#ifdef UINTPTR_MAX -uintptr_t h = UINTPTR_MAX; + +#if defined S_ISLNK && defined S_IFREG +extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; #endif -intmax_t i = INTMAX_MAX; -uintmax_t j = UINTMAX_MAX; -/* Check that SIZE_MAX has the correct type, if possible. */ -#if 201112 <= __STDC_VERSION__ -int k = _Generic (SIZE_MAX, size_t: 0); -#elif (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ - || (0x5110 <= __SUNPRO_C && !__STDC__)) -extern size_t k; -extern __typeof__ (SIZE_MAX) k; +#if defined S_ISSOCK && defined S_IFREG +extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; #endif -#include /* for CHAR_BIT */ -#define TYPE_MINIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) +_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*) + { 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 + 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 + 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 + + + + + + + + + + + + + + + + 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 " >&5 +printf %s "checking absolute name of ... " >&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 +_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_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 + #include +" +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*) + 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_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 + + + + +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 +printf "%s\n" "#define HAVE_DECL_GETDTABLESIZE $ac_have_decl" >>confdefs.h + + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_limits_h='<'limits.h'>' + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +printf %s "checking absolute name of ... " >&6; } +if test ${gl_cv_next_limits_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + if test $ac_cv_header_limits_h = yes; then + + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_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 '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_limits_h='<'limits.h'>' + fi + + +fi +{ 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_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='<'limits.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_limits_h + fi + 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 + long long llm = LLONG_MAX; + int wb = WORD_BIT; + int ullw = ULLONG_WIDTH; + int bw = BOOL_WIDTH; + +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; } + if test "$gl_cv_header_limits_width" = yes; then + GL_GENERATE_LIMITS_H=false + else + GL_GENERATE_LIMITS_H=true + 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 + wint_t foo = (wchar_t)'\0'; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +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 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 + +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 + 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 +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 + + + + { 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; + +_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 + +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_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 + + + + + + + + +printf "%s\n" "#define HAVE_LONG_LONG_INT 1" >>confdefs.h + + +printf "%s\n" "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>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 " >&5 +printf %s "checking absolute name of ... " >&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 +_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_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 + + + 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 +/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ +#if !(defined WCHAR_MIN && defined WCHAR_MAX) +#error "WCHAR_MIN, WCHAR_MAX not defined in " +#endif + + + #include + #include + #if HAVE_WCHAR_H + # include + #endif + + +#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. */ +#if 201112 <= __STDC_VERSION__ +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))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 \ ? (t) -1 \ @@ -20935,7 +23032,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) @@ -20951,798 +23048,5162 @@ struct s { && WINT_MAX == TYPE_MAXIMUM (wint_t) ? 1 : -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 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 (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_header_working_stdint_h="guessing yes" ;; + # In general, assume it works. + *) gl_cv_header_working_stdint_h="guessing yes" ;; + esac + +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 + + + #include + #include + #if HAVE_WCHAR_H + # include + #endif + + +#include +#include +#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 (void) +{ + + 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 + + +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_working_stdint_h" >&5 +printf "%s\n" "$gl_cv_header_working_stdint_h" >&6; } + fi + + 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. */ + + +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#include + + + #include + #include + #if HAVE_WCHAR_H + # include + #endif + + +intmax_t im = INTMAX_MAX; +int32_t i32 = INT32_C (0x7fffffff); + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +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.beam conftest.$ac_ext + +fi +{ 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 + + #include + #include + #if HAVE_WCHAR_H + # include + #endif + + int iw = UINTMAX_WIDTH; + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +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 +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 + +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 + #include + #if HAVE_WCHAR_H + # include + #endif + +#include " +then : + +else $as_nop + result=unknown +fi + + eval gl_cv_bitsizeof_${gltype}=\$result + +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 + + eval BITSIZEOF_${GLTYPE}=\$result + done + + + fi + + + 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 + #include + #if HAVE_WCHAR_H + # include + #endif + +#include " +then : + +else $as_nop + result=unknown +fi + + eval gl_cv_bitsizeof_${gltype}=\$result + +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 + + eval BITSIZEOF_${GLTYPE}=\$result + done + + + + + 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 + #include + #if HAVE_WCHAR_H + # include + #endif + + int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +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.beam conftest.$ac_ext + eval gl_cv_type_${gltype}_signed=\$result + +fi +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 + + + 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 + { 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. */ + + #include + #include + #if HAVE_WCHAR_H + # include + #endif + + extern $gltype foo; + extern $gltype1 foo; +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done +fi +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 + + done + + + 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. */ + + #include + #include + #if HAVE_WCHAR_H + # include + #endif + + extern $gltype foo; + extern $gltype1 foo; +int +main (void) +{ + + ; + 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.beam conftest.$ac_ext + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done +fi +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 + + done + + + + if test $GNULIBHEADERS_OVERRIDE_WINT_T = 1; then + BITSIZEOF_WINT_T=32 + fi + + ;; + esac + + + + GL_GENERATE_LIMITS_H=true + + + + + + + + HAVE_DECL_IMAXABS=1; + HAVE_DECL_IMAXDIV=1; + HAVE_DECL_STRTOIMAX=1; + HAVE_DECL_STRTOUMAX=1; + HAVE_IMAXDIV_T=1; + 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 $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 " >&5 +printf %s "checking absolute name of ... " >&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 +_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 '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_GNULIB_IMAXABS=0 + + + + GL_GNULIB_IMAXDIV=0 + + + + GL_GNULIB_STRTOIMAX=0 + + + + GL_GNULIB_STRTOUMAX=0 + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether malloc is ptrdiff_t safe" >&5 +printf %s "checking whether malloc is ptrdiff_t safe... " >&6; } +if test ${gl_cv_malloc_ptrdiff+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main (void) +{ +/* 64-bit ptrdiff_t is so wide that no practical platform + can exceed it. */ + #define WIDE_PTRDIFF (PTRDIFF_MAX >> 31 >> 31 != 0) + + /* On rare machines where size_t fits in ptrdiff_t there + is no problem. */ + #define NARROW_SIZE (SIZE_MAX <= PTRDIFF_MAX) + + /* glibc 2.30 and later malloc refuses to exceed ptrdiff_t + bounds even on 32-bit platforms. We don't know which + non-glibc systems are safe. */ + #define KNOWN_SAFE (2 < __GLIBC__ + (30 <= __GLIBC_MINOR__)) + + #if WIDE_PTRDIFF || NARROW_SIZE || KNOWN_SAFE + return 0; + #else + #error "malloc might not be ptrdiff_t safe" + syntax error + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_malloc_ptrdiff=yes +else $as_nop + gl_cv_malloc_ptrdiff=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_malloc_ptrdiff" >&5 +printf "%s\n" "$gl_cv_malloc_ptrdiff" >&6; } + + + + + test "$gl_cv_malloc_ptrdiff" = yes || REPLACE_MALLOC_FOR_MALLOC_POSIX=1 + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc set errno on failure" >&5 +printf %s "checking whether malloc, realloc, calloc set errno on failure... " >&6; } +if test ${gl_cv_func_malloc_posix+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + case "$host_os" in + mingw*) + gl_cv_func_malloc_posix=no ;; + irix* | solaris*) + + gl_cv_func_malloc_posix=no ;; + *) + gl_cv_func_malloc_posix=yes ;; + esac + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5 +printf "%s\n" "$gl_cv_func_malloc_posix" >&6; } + + + + + + if test "$gl_cv_func_malloc_posix" = yes; then + +printf "%s\n" "#define HAVE_MALLOC_POSIX 1" >>confdefs.h + + else + REPLACE_MALLOC_FOR_MALLOC_POSIX=1 + fi + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether malloc (0) returns nonnull" >&5 +printf %s "checking whether malloc (0) returns nonnull... " >&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* \ + | gnu* | *-musl* | midnightbsd* \ + | hpux* | solaris* | cygwin* | mingw* | msys* ) + ac_cv_func_malloc_0_nonnull="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;; + esac + +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +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; } + case $ac_cv_func_malloc_0_nonnull in #( + *yes) : + gl_cv_func_malloc_0_nonnull=1 ;; #( + *) : + gl_cv_func_malloc_0_nonnull=0 ;; +esac + + +printf "%s\n" "#define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull" >>confdefs.h + + + + HAVE_MBSLEN=0; + HAVE_EXPLICIT_BZERO=1; + HAVE_FFSL=1; + HAVE_FFSLL=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_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_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; + + + + GL_GNULIB_EXPLICIT_BZERO=0 + + + + GL_GNULIB_FFSL=0 + + + + GL_GNULIB_FFSLL=0 + + + + GL_GNULIB_MEMCHR=0 + + + + GL_GNULIB_MEMMEM=0 + + + + GL_GNULIB_MEMPCPY=0 + + + + GL_GNULIB_MEMRCHR=0 + + + + GL_GNULIB_RAWMEMCHR=0 + + + + GL_GNULIB_STPCPY=0 + + + + GL_GNULIB_STPNCPY=0 + + + + GL_GNULIB_STRCHRNUL=0 + + + + GL_GNULIB_STRDUP=0 + + + + GL_GNULIB_STRNCAT=0 + + + + GL_GNULIB_STRNDUP=0 + + + + GL_GNULIB_STRNLEN=0 + + + + GL_GNULIB_STRPBRK=0 + + + + GL_GNULIB_STRSEP=0 + + + + 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 + + + + GL_GNULIB_MBSNCASECMP=0 + + + + GL_GNULIB_MBSPCASECMP=0 + + + + GL_GNULIB_MBSCASESTR=0 + + + + GL_GNULIB_MBSCSPN=0 + + + + GL_GNULIB_MBSPBRK=0 + + + + GL_GNULIB_MBSSPN=0 + + + + GL_GNULIB_MBSSEP=0 + + + + GL_GNULIB_MBSTOK_R=0 + + + + GL_GNULIB_STRERROR=0 + + + + GL_GNULIB_STRERROR_R=0 + + + + GL_GNULIB_STRERRORNAME_NP=0 + + + + GL_GNULIB_SIGABBREV_NP=0 + + + + GL_GNULIB_SIGDESCR_NP=0 + + + + GL_GNULIB_STRSIGNAL=0 + + + + GL_GNULIB_STRVERSCMP=0 + + + + GL_GNULIB_MDA_MEMCCPY=1 + + + + GL_GNULIB_MDA_STRDUP=1 + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 +printf %s "checking whether defines MIN and MAX... " >&6; } +if test ${gl_cv_minmax_in_limits_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + int x = MIN (42, 17); +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_minmax_in_limits_h=yes +else $as_nop + gl_cv_minmax_in_limits_h=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_minmax_in_limits_h" >&5 +printf "%s\n" "$gl_cv_minmax_in_limits_h" >&6; } + if test $gl_cv_minmax_in_limits_h = yes; then + +printf "%s\n" "#define HAVE_MINMAX_IN_LIMITS_H 1" >>confdefs.h + + fi + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 +printf %s "checking whether defines MIN and MAX... " >&6; } +if test ${gl_cv_minmax_in_sys_param_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + int x = MIN (42, 17); +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_minmax_in_sys_param_h=yes +else $as_nop + gl_cv_minmax_in_sys_param_h=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_minmax_in_sys_param_h" >&5 +printf "%s\n" "$gl_cv_minmax_in_sys_param_h" >&6; } + if test $gl_cv_minmax_in_sys_param_h = yes; then + +printf "%s\n" "#define HAVE_MINMAX_IN_SYS_PARAM_H 1" >>confdefs.h + + fi + + + + + + + + + { 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 + #ifndef O_CLOEXEC + choke me; + #endif + +int +main (void) +{ +return O_CLOEXEC; + ; + return 0; +} +_ACEOF +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 +int +main (void) +{ +typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1]; + ; + return 0; +} +_ACEOF +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.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5 +printf "%s\n" "$gl_cv_promoted_mode_t" >&6; } + +printf "%s\n" "#define PROMOTED_MODE_T $gl_cv_promoted_mode_t" >>confdefs.h + + + + HAVE_POSIX_SIGNALBLOCKING=1; + HAVE_PTHREAD_SIGMASK=1; + HAVE_RAISE=1; + HAVE_SIGSET_T=1; + HAVE_SIGINFO_T=1; + HAVE_SIGACTION=1; + HAVE_STRUCT_SIGACTION_SA_SIGACTION=1; + + HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1; + + HAVE_SIGHANDLER_T=1; + REPLACE_PTHREAD_SIGMASK=0; + REPLACE_RAISE=0; + + + ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" " + #include + /* Mingw defines sigset_t not in , but in . */ + #include + +" +if test "x$ac_cv_type_sigset_t" = xyes +then : + +printf "%s\n" "#define HAVE_SIGSET_T 1" >>confdefs.h + +gl_cv_type_sigset_t=yes +else $as_nop + gl_cv_type_sigset_t=no +fi + + if test $gl_cv_type_sigset_t != yes; then + HAVE_SIGSET_T=0 + fi + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SIGPIPE" >&5 +printf %s "checking for SIGPIPE... " >&6; } +if test ${gl_cv_header_signal_h_SIGPIPE+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#if !defined SIGPIPE +booboo +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "booboo" >/dev/null 2>&1 +then : + gl_cv_header_signal_h_SIGPIPE=no +else $as_nop + gl_cv_header_signal_h_SIGPIPE=yes +fi +rm -rf conftest* + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_signal_h_SIGPIPE" >&5 +printf "%s\n" "$gl_cv_header_signal_h_SIGPIPE" >&6; } + + + + GL_GNULIB_PTHREAD_SIGMASK=0 + + + + GL_GNULIB_RAISE=0 + + + + GL_GNULIB_SIGNAL_H_SIGPIPE=0 + + + + GL_GNULIB_SIGPROCMASK=0 + + + + GL_GNULIB_SIGACTION=0 + + + + +ac_fn_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_setenv" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_SETENV $ac_have_decl" >>confdefs.h + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 +printf %s "checking for ssize_t... " >&6; } +if test ${gt_cv_ssize_t+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +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 $as_nop + gt_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: $gt_cv_ssize_t" >&5 +printf "%s\n" "$gt_cv_ssize_t" >&6; } + if test $gt_cv_ssize_t = no; then + +printf "%s\n" "#define ssize_t int" >>confdefs.h + + fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 +printf %s "checking for uid_t in sys/types.h... " >&6; } +if test ${ac_cv_type_uid_t+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "uid_t" >/dev/null 2>&1 +then : + ac_cv_type_uid_t=yes +else $as_nop + ac_cv_type_uid_t=no +fi +rm -rf conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 +printf "%s\n" "$ac_cv_type_uid_t" >&6; } +if test $ac_cv_type_uid_t = no; then + +printf "%s\n" "#define uid_t int" >>confdefs.h + + +printf "%s\n" "#define gid_t int" >>confdefs.h + +fi + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_signal_h='<'signal.h'>' + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +printf %s "checking absolute name of ... " >&6; } +if test ${gl_cv_next_signal_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_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 'signal.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_signal_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_signal_h + gl_cv_next_signal_h='"'$gl_header'"' + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5 +printf "%s\n" "$gl_cv_next_signal_h" >&6; } + fi + NEXT_SIGNAL_H=$gl_cv_next_signal_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='<'signal.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_signal_h + fi + NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H=$gl_next_as_first_directive + + + + + +# AIX declares sig_atomic_t to already include volatile, and C89 compilers +# then choke on 'volatile sig_atomic_t'. C99 requires that it compile. + ac_fn_c_check_type "$LINENO" "volatile sig_atomic_t" "ac_cv_type_volatile_sig_atomic_t" " +#include + +" +if test "x$ac_cv_type_volatile_sig_atomic_t" = xyes +then : + +else $as_nop + HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0 +fi + + + + + + + + ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" " +#include + +" +if test "x$ac_cv_type_sighandler_t" = xyes +then : + +else $as_nop + HAVE_SIGHANDLER_T=0 +fi + + + + + + + + + + + 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 + + + + 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 + + + + + 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_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_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; + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef _MSC_VER +MicrosoftCompiler +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "MicrosoftCompiler" >/dev/null 2>&1 +then : + rm -f conftest* + echo 'int dummy;' > conftest.c + { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c' + { { 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 + if test -f conftest.o; then + gl_asmext='s' + gl_c_asm_opt='-S' + else + gl_asmext='asm' + gl_c_asm_opt='-c -Fa' + fi + rm -f conftest* + +else $as_nop + gl_asmext='s' + gl_c_asm_opt='-S' + +fi +rm -rf conftest* + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C symbols are prefixed with underscore at the linker level" >&5 +printf %s "checking whether C symbols are prefixed with underscore at the linker level... " >&6; } +if test ${gl_cv_prog_as_underscore+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat > conftest.c <&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 + if LC_ALL=C $EGREP '(^|[^a-zA-Z0-9_])_foo([^a-zA-Z0-9_]|$)' conftest.$gl_asmext >/dev/null; then + gl_cv_prog_as_underscore=yes + else + gl_cv_prog_as_underscore=no + fi + rm -f conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_prog_as_underscore" >&5 +printf "%s\n" "$gl_cv_prog_as_underscore" >&6; } + if test $gl_cv_prog_as_underscore = yes; then + USER_LABEL_PREFIX=_ + else + USER_LABEL_PREFIX= + fi + +printf "%s\n" "#define USER_LABEL_PREFIX $USER_LABEL_PREFIX" >>confdefs.h + + ASM_SYMBOL_PREFIX='"'${USER_LABEL_PREFIX}'"' + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 +printf %s "checking for stdbool.h that conforms to C99... " >&6; } +if test ${ac_cv_header_stdbool_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + + #ifdef __cplusplus + typedef bool Bool; + #else + typedef _Bool Bool; + #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 + #endif + + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { Bool s: 1; Bool t; bool u: 1; bool v; } 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 + https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html + */ + Bool q = true; + Bool *pq = &q; + bool *qq = &q; + +int +main (void) +{ + + bool e = &s; + *pq |= q; *pq |= ! q; + *qq |= q; *qq |= ! 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 + !qq); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_header_stdbool_h=yes +else $as_nop + ac_cv_header_stdbool_h=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: $ac_cv_header_stdbool_h" >&5 +printf "%s\n" "$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 : + +printf "%s\n" "#define HAVE__BOOL 1" >>confdefs.h + + +fi + + + + REPLACE_NULL=0; + HAVE_MAX_ALIGN_T=1; + HAVE_WCHAR_T=1; + + + + + + + + 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 + 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]; + +int +main (void) +{ + + ; + return 0; +} +_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 + int test[2 * (sizeof NULL == sizeof (void *)) -1]; + +int +main (void) +{ + + ; + return 0; +} +_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 + + if $GL_GENERATE_STDDEF_H; then + + + + + + + + + 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 " >&5 +printf %s "checking absolute name of ... " >&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 +_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 '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 + + + +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 +printf "%s\n" "#define HAVE_DECL_FCLOSEALL $ac_have_decl" >>confdefs.h + + + + + printf "%s\n" "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.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 " >&5 +printf %s "checking absolute name of ... " >&6; } +if test ${gl_cv_next_stdio_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_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_absolute_stdio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_stdio_h + gl_cv_next_stdio_h='"'$gl_header'"' + + +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 $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 + + + + + + { 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. */ + + #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 + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +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 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 + +printf "%s\n" "#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1" >>confdefs.h + + fi + + + + + + + + if test $gl_cv_header_signal_h_SIGPIPE != yes; then + REPLACE_STDIO_WRITE_FUNCS=1 + fi + + + + + + + + + + + if test $ac_cv_have_decl_fcloseall = no; then + HAVE_DECL_FCLOSEALL=0 + fi + +ac_fn_check_decl "$LINENO" "ecvt" "ac_cv_have_decl_ecvt" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_ecvt" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_ECVT $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fcvt" "ac_cv_have_decl_fcvt" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fcvt" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_FCVT $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "gcvt" "ac_cv_have_decl_gcvt" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_gcvt" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_GCVT $ac_have_decl" >>confdefs.h + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdlib_h='<'stdlib.h'>' + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +printf %s "checking absolute name of ... " >&6; } +if test ${gl_cv_next_stdlib_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_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_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 +{ 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_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 + + + + + + + + + + + + + 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 + + + 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* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_strerror_0_works="guessing yes" ;; + # Guess yes on native Windows. + mingw*) 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 $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +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; + ; + return 0; +} +_ACEOF +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 +{ 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 + + ;; + esac + + + + + + + + + + + + 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 " >&5 +printf %s "checking absolute name of ... " >&6; } +if test ${gl_cv_next_string_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_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_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'"' + + +fi +{ 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 + + 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 + + + + + + + + + + + + + + + + + + + + + + + +printf "%s\n" "#define _USE_STD_STAT 1" >>confdefs.h + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_types_h='<'sys/types.h'>' + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +printf %s "checking absolute name of ... " >&6; } +if test ${gl_cv_next_sys_types_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_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_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 +{ 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_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 + + + + + + + + + + + + + WINDOWS_STAT_INODES=0 + + + + + + + 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=GNULIB_PORTCHECK; + REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; + REPLACE_MKTIME=GNULIB_PORTCHECK; + REPLACE_NANOSLEEP=GNULIB_PORTCHECK; + REPLACE_STRFTIME=GNULIB_PORTCHECK; + REPLACE_TIMEGM=GNULIB_PORTCHECK; + REPLACE_TZSET=GNULIB_PORTCHECK; + + : ${GNULIB_GETTIMEOFDAY=0}; + REPLACE_GMTIME=0; + REPLACE_LOCALTIME=0; + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +printf %s "checking for struct timespec in ... " >&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 + +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_time_h=yes +else $as_nop + gl_cv_sys_struct_timespec_in_time_h=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_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 " >&5 +printf %s "checking for struct timespec in ... " >&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 + +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 +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 " >&5 +printf %s "checking for struct timespec in ... " >&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 + +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_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.beam conftest.$ac_ext +fi +{ 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 " >&5 +printf %s "checking for struct timespec in ... " >&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. */ +#include + +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_unistd_h=yes +else $as_nop + gl_cv_sys_struct_timespec_in_unistd_h=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_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 + + + + + + + + + + + + + + + + + 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 " >&5 +printf %s "checking absolute name of ... " >&6; } +if test ${gl_cv_next_time_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_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_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 +{ 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 + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for TIME_UTC in " >&5 +printf %s "checking for TIME_UTC in ... " >&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 + +int +main (void) +{ +static int x = TIME_UTC; x++; + ; + return 0; +} +_ACEOF +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.beam conftest.$ac_ext +fi +{ 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 + + + + + GL_GNULIB_CTIME=0 + + + + GL_GNULIB_MKTIME=0 + + + + GL_GNULIB_LOCALTIME=0 + + + + GL_GNULIB_NANOSLEEP=0 + + + + GL_GNULIB_STRFTIME=0 + + + + GL_GNULIB_STRPTIME=0 + + + + GL_GNULIB_TIMEGM=0 + + + + GL_GNULIB_TIMESPEC_GET=0 + + + + GL_GNULIB_TIMESPEC_GETRES=0 + + + + GL_GNULIB_TIME_R=0 + + + + GL_GNULIB_TIME_RZ=0 + + + + GL_GNULIB_TZSET=0 + + + + 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 + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_unistd_h='<'unistd.h'>' + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +printf %s "checking absolute name of ... " >&6; } +if test ${gl_cv_next_unistd_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + if test $ac_cv_header_unistd_h = yes; then + + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_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_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 +{ 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_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 + + + + + if test $ac_cv_header_unistd_h = yes; then + HAVE_UNISTD_H=1 + else + HAVE_UNISTD_H=0 + fi + + + + + + + + + + + + + + if test $ac_cv_have_decl_execvpe = no; then + HAVE_DECL_EXECVPE=0 + fi + + + + + + + +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 + +ac_fn_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_clearerr_unlocked" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_feof_unlocked" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_ferror_unlocked" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fflush_unlocked" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fgets_unlocked" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fputc_unlocked" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fputs_unlocked" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fread_unlocked" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl" >>confdefs.h + +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 + +ac_fn_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_getchar_unlocked" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_putc_unlocked" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_PUTC_UNLOCKED $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_putchar_unlocked" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_PUTCHAR_UNLOCKED $ac_have_decl" >>confdefs.h + + + 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_WCSTOK=0; + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether uses 'inline' correctly" >&5 +printf %s "checking whether 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 + extern int zero (void); + int main () { return zero(); } + +_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. */ + + + #define wcstod renamed_wcstod + #include + 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 + +fi +{ 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 $? " 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." "$LINENO" 5 + fi + + + + + if test $ac_cv_header_features_h = yes; then + HAVE_FEATURES_H=1 + else + HAVE_FEATURES_H=0 + fi + + + + + + if test $ac_cv_header_crtdefs_h = yes; then + HAVE_CRTDEFS_H=1 + else + HAVE_CRTDEFS_H=0 + fi + + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_wchar_h='<'wchar.h'>' + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +printf %s "checking absolute name of ... " >&6; } +if test ${gl_cv_next_wchar_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + if test $ac_cv_header_wchar_h = yes; then + + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_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_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 +{ 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_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 + + + + + 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 + + + + + + + + + + + ac_fn_check_decl "$LINENO" "wcsdup" "ac_cv_have_decl_wcsdup" " + #include + +" "$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 +printf "%s\n" "#define HAVE_DECL_WCSDUP $ac_have_decl" >>confdefs.h + + if test $ac_cv_have_decl_wcsdup = no; then + HAVE_DECL_WCSDUP=0 + fi + + + + GL_GNULIB_BTOWC=0 + + + + GL_GNULIB_WCTOB=0 + + + + GL_GNULIB_MBSINIT=0 + + + + GL_GNULIB_MBRTOWC=0 + + + + GL_GNULIB_MBRLEN=0 + + + + GL_GNULIB_MBSRTOWCS=0 + + + + GL_GNULIB_MBSNRTOWCS=0 + + + + GL_GNULIB_WCRTOMB=0 + + + + GL_GNULIB_WCSRTOMBS=0 + + + + GL_GNULIB_WCSNRTOMBS=0 + + + + GL_GNULIB_WCWIDTH=0 + + + + GL_GNULIB_WMEMCHR=0 + + + + GL_GNULIB_WMEMCMP=0 + + + + GL_GNULIB_WMEMCPY=0 + + + + GL_GNULIB_WMEMMOVE=0 + + + + GL_GNULIB_WMEMPCPY=0 + + + + GL_GNULIB_WMEMSET=0 + + + + GL_GNULIB_WCSLEN=0 + + + + GL_GNULIB_WCSNLEN=0 + + + + GL_GNULIB_WCSCPY=0 + + + + GL_GNULIB_WCPCPY=0 + + + + GL_GNULIB_WCSNCPY=0 + + + + GL_GNULIB_WCPNCPY=0 + + + + GL_GNULIB_WCSCAT=0 + + + + GL_GNULIB_WCSNCAT=0 + + + + GL_GNULIB_WCSCMP=0 + + + + GL_GNULIB_WCSNCMP=0 + + + + GL_GNULIB_WCSCASECMP=0 + + + + GL_GNULIB_WCSNCASECMP=0 + + + + GL_GNULIB_WCSCOLL=0 + + + + GL_GNULIB_WCSXFRM=0 + + + + GL_GNULIB_WCSDUP=0 + + + + GL_GNULIB_WCSCHR=0 + + + + GL_GNULIB_WCSRCHR=0 + + + + GL_GNULIB_WCSCSPN=0 + + + + GL_GNULIB_WCSSPN=0 + + + + GL_GNULIB_WCSPBRK=0 + + + + GL_GNULIB_WCSSTR=0 + + + + GL_GNULIB_WCSTOK=0 + + + + GL_GNULIB_WCSWIDTH=0 + + + + GL_GNULIB_WCSFTIME=0 + + + + GL_GNULIB_MDA_WCSDUP=1 + + + + + + { 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 + + + + + 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 __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 + + + + if false; then + GL_COND_LIBTOOL_TRUE= + GL_COND_LIBTOOL_FALSE='#' +else + GL_COND_LIBTOOL_TRUE='#' + GL_COND_LIBTOOL_FALSE= +fi + + gl_cond_libtool=false + gl_libdeps= + gl_ltlibdeps= + gl_m4_base='srcm4' + + + + + + + + + + + + + gl_source_base='srclib' + gl_source_base_prefix= + + + + + + if test $ac_cv_func_alloca_works = no; then + + + : + + fi + + # Define an additional variable used in the Makefile substitution. + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#if defined __GNUC__ || defined _MSC_VER || !HAVE_ALLOCA_H + Need own alloca +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Need own alloca" >/dev/null 2>&1 +then : + GL_GENERATE_ALLOCA_H=true +else $as_nop + GL_GENERATE_ALLOCA_H=false +fi +rm -rf conftest* + + + + + + + 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 + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_expect" >&5 +printf %s "checking for __builtin_expect... " >&6; } +if test ${gl_cv___builtin_expect+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + int + main (int argc, char **argv) + { + argc = __builtin_expect (argc, 100); + return argv[argc != 100][0]; + } +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + gl_cv___builtin_expect=yes +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + int + main (int argc, char **argv) + { + argc = __builtin_expect (argc, 100); + return argv[argc != 100][0]; + } +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + gl_cv___builtin_expect="in " +else $as_nop + gl_cv___builtin_expect=no +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 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv___builtin_expect" >&5 +printf "%s\n" "$gl_cv___builtin_expect" >&6; } + if test "$gl_cv___builtin_expect" = yes; then + printf "%s\n" "#define HAVE___BUILTIN_EXPECT 1" >>confdefs.h + + elif test "$gl_cv___builtin_expect" = "in "; then + printf "%s\n" "#define HAVE___BUILTIN_EXPECT 2" >>confdefs.h + + fi + + + + + + if test $ac_cv_func_canonicalize_file_name = no; then + HAVE_CANONICALIZE_FILE_NAME=0 + if test $ac_cv_func_realpath = no; then + HAVE_REALPATH=0 + else + case "$gl_cv_func_realpath_works" in + *yes) ;; + *) REPLACE_REALPATH=1 ;; + esac + fi + else + case "$gl_cv_func_realpath_works" in + *yes) + ;; + *) + REPLACE_CANONICALIZE_FILE_NAME=1 + REPLACE_REALPATH=1 + ;; + esac + fi + + + if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then + GL_COND_OBJ_CANONICALIZE_LGPL_TRUE= + GL_COND_OBJ_CANONICALIZE_LGPL_FALSE='#' +else + GL_COND_OBJ_CANONICALIZE_LGPL_TRUE='#' + GL_COND_OBJ_CANONICALIZE_LGPL_FALSE= +fi +: + if test -z "${GL_COND_OBJ_CANONICALIZE_LGPL_TRUE}" && test -z "${GL_COND_OBJ_CANONICALIZE_LGPL_FALSE}"; then + GL_COND_OBJ_CANONICALIZE_LGPL_TRUE='#' + GL_COND_OBJ_CANONICALIZE_LGPL_FALSE='#' + fi + + + +printf "%s\n" "#define GNULIB_CANONICALIZE_LGPL 1" >>confdefs.h + + + + + + + + + + + + GL_GNULIB_CANONICALIZE_FILE_NAME=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1" >>confdefs.h + + + + + + + + + + + + + GL_GNULIB_REALPATH=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_REALPATH 1" >>confdefs.h + + + + + + + +printf "%s\n" "#define GNULIB_TEST_CLOEXEC 1" >>confdefs.h + + + + + + + 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 + + + + + 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 + + + + + + + + + + + GL_GNULIB_CLOSE=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_CLOSE 1" >>confdefs.h + + + + + + { 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 + # . + 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 + +printf "%s\n" "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h + + fi + + + + + { 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*) # 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 + #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 +main (void) +{ +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_run "$LINENO" +then : + gl_cv_func_dup2_works=yes +else $as_nop + gl_cv_func_dup2_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 +{ 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 + +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 : + + + +fi + + + + + + + + + + GL_GNULIB_DUP2=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_DUP2 1" >>confdefs.h + + + + + + + + + + + + + + GL_GNULIB_ENVIRON=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_ENVIRON 1" >>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 + ;; + *) echo "*** GL_GENERATE_ERRNO_H is not set correctly" 1>&2; exit 1 ;; + esac + + + if $GL_GENERATE_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 -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 + + + - /* 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; -}; + + + { 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 int -main () +main (void) { - +error_at_line (0, 0, "", 0, "an error occurred"); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on native Windows. - mingw*) gl_cv_header_working_stdint_h="guessing yes" ;; - # In general, assume it works. - *) gl_cv_header_working_stdint_h="guessing yes" ;; - esac +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; } + + if test "$ac_cv_lib_error_at_line" = no; then + GL_COND_OBJ_ERROR_TRUE= + GL_COND_OBJ_ERROR_FALSE='#' else + 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 -z "$GL_COND_OBJ_ERROR_TRUE"; then : + + + + + + : + + +fi + + + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" + + + + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" + + + + + + + + if test $ac_cv_func_fcntl = no; then + + + + if test $ac_cv_func_fcntl = no; then + HAVE_FCNTL=0 + else + REPLACE_FCNTL=1 + fi + + 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 + #include + #include + #include + #include -#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_mda_defines + #ifndef RLIM_SAVED_CUR + # define RLIM_SAVED_CUR RLIM_INFINITY + #endif + #ifndef RLIM_SAVED_MAX + # define RLIM_SAVED_MAX RLIM_INFINITY + #endif - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif +int +main (void) +{ +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_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 +{ 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) ;; + *) -#include -#include -#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), + + if test $ac_cv_func_fcntl = no; then + HAVE_FCNTL=0 + else + REPLACE_FCNTL=1 + fi + + +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 + #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); + } + + +_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 - NULL - }; int -main () +main (void) +{ + + ; + 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 + + +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 + + + + + + + + + + + GL_GNULIB_FCNTL=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_FCNTL 1" >>confdefs.h + + + + + + + + + + + + + + { 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 + +int +main (void) { - - 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; +#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_run "$LINENO"; then : - gl_cv_header_working_stdint_h=yes +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 *.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_free_preserves_errno" >&5 +printf "%s\n" "$gl_cv_func_free_preserves_errno" >&6; } + case $gl_cv_func_free_preserves_errno in + *yes) + +printf "%s\n" "#define HAVE_FREE_POSIX 1" >>confdefs.h + + ;; + *) REPLACE_FREE=1 ;; + esac -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $REPLACE_FREE = 1; then + GL_COND_OBJ_FREE_TRUE= + GL_COND_OBJ_FREE_FALSE='#' +else + GL_COND_OBJ_FREE_TRUE='#' + GL_COND_OBJ_FREE_FALSE= 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; } +: + 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 - HAVE_C99_STDINT_H=0 - HAVE_SYS_BITYPES_H=0 - HAVE_SYS_INTTYPES_H=0 - STDINT_H=stdint.h - case "$gl_cv_header_working_stdint_h" in - *yes) - HAVE_C99_STDINT_H=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h predates C++11" >&5 -$as_echo_n "checking whether stdint.h predates C++11... " >&6; } -if ${gl_cv_header_stdint_predates_cxx11_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_cv_header_stdint_predates_cxx11_h=yes - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + if test -z "$GL_COND_OBJ_FREE_TRUE"; then : + : -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include +fi - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -intmax_t im = INTMAX_MAX; -int32_t i32 = INT32_C (0x7fffffff); -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_stdint_predates_cxx11_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_header_stdint_predates_cxx11_h" >&5 -$as_echo "$gl_cv_header_stdint_predates_cxx11_h" >&6; } - if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then -$as_echo "#define __STDC_CONSTANT_MACROS 1" >>confdefs.h + GL_GNULIB_FREE_POSIX=1 -$as_echo "#define __STDC_LIMIT_MACROS 1" >>confdefs.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h has UINTMAX_WIDTH etc." >&5 -$as_echo_n "checking whether stdint.h has UINTMAX_WIDTH etc.... " >&6; } -if ${gl_cv_header_stdint_width+:} false; then : - $as_echo_n "(cached) " >&6 -else - 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 - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - int iw = UINTMAX_WIDTH; +printf "%s\n" "#define GNULIB_TEST_FREE_POSIX 1" >>confdefs.h -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_stdint_width=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_width" >&5 -$as_echo "$gl_cv_header_stdint_width" >&6; } - if test "$gl_cv_header_stdint_width" = yes; then - STDINT_H= - fi - ;; - *) - 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 -done - 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 + case "$host_os" in + mingw* | solaris*) + REPLACE_FSTAT=1 + ;; + esac - 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: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -#include "; then : + if test $REPLACE_FSTAT = 1; then + GL_COND_OBJ_FSTAT_TRUE= + GL_COND_OBJ_FSTAT_FALSE='#' else - result=unknown + 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 - eval gl_cv_bitsizeof_${gltype}=\$result + if test -z "$GL_COND_OBJ_FSTAT_TRUE"; then : -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 + case "$host_os" in + mingw*) - eval BITSIZEOF_${GLTYPE}=\$result - done - fi - 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: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -#include "; then : -else - result=unknown -fi - eval gl_cv_bitsizeof_${gltype}=\$result + gl_LIBOBJS="$gl_LIBOBJS stat-w32.$ac_objext" + + ;; + esac + + + + : + 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 + + + + + GL_GNULIB_FSTAT=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_FSTAT 1" >>confdefs.h + + + + + + + + + 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. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif + #include + + +$gl_mda_defines + - int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; int -main () +main (void) { +int size = getdtablesize(); + if (dup2 (0, getdtablesize()) != -1) + return 1; + if (size != getdtablesize()) + return 2; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - result=yes +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 core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + ;; + esac + +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 + HAVE_GETDTABLESIZE=0 + fi + + + if test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1; then + GL_COND_OBJ_GETDTABLESIZE_TRUE= + GL_COND_OBJ_GETDTABLESIZE_FALSE='#' else - result=no + GL_COND_OBJ_GETDTABLESIZE_TRUE='#' + GL_COND_OBJ_GETDTABLESIZE_FALSE= fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval gl_cv_type_${gltype}_signed=\$result +: + 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 -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 - 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 -/* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #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 + + GL_GNULIB_GETDTABLESIZE=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_GETDTABLESIZE 1" >>confdefs.h + + + + + + + ac_found=0 + ac_fn_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include +" "$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 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done +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 -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 + ac_fn_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include +" "$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 +" "$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 - 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 - 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 + gl_cv_var___progname= + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - extern $gltype foo; - extern $gltype1 foo; +extern char *__progname; int -main () +main (void) { +return *__progname; ; 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 +if ac_fn_c_try_link "$LINENO" +then : + gl_cv_var___progname=yes + 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 +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext - done +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 - if test $GNULIB_OVERRIDES_WINT_T = 1; then - BITSIZEOF_WINT_T=32 + fi fi - ;; - esac - - LIMITS_H='limits.h' - if test -n "$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 -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_EXPLICIT_BZERO=0; - 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_EXPLICIT_BZERO=1; - 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_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_STRSIGNAL=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 : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; - # Guess yes on musl systems. - *-musl*) gl_cv_func_strerror_0_works="guessing yes" ;; - # Guess yes on native Windows. - mingw*) 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 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + 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. */ -#include - #include 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; + ; 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_compile "$LINENO" +then : + gl_cv_cc_vis_werror=yes +else $as_nop + gl_cv_cc_vis_werror=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 + 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. */ +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) {} +int +main (void) +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_cc_visibility=yes +else $as_nop + gl_cv_cc_visibility=no 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 + CFLAGS="$gl_save_CFLAGS" -$as_echo "#define REPLACE_STRERROR_0 1" >>confdefs.h +fi +{ 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 - ;; - esac +printf "%s\n" "#define HAVE_VISIBILITY $HAVE_VISIBILITY" >>confdefs.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]; } - int bar (int [$ac_kw]); /* Catch GCC bug 14050. */ - int bar (int ip[$ac_kw]) { return ip[0]; } + + { 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 () +main (void) { -int s[1]; - int *$ac_kw t = s; - t[0] = 0; - return foo (t) + bar (t); - +return foo (); ; 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_c___inline=yes +else $as_nop + gl_cv_c___inline=no 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 +{ 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 + + + + + + + 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 -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 + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then @@ -21750,72 +28211,26 @@ _ACEOF - 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 " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_string_h+:} false; then : - $as_echo_n "(cached) " >&6 -else + gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" + fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_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_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'"' -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 - 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 + GL_GNULIB_MALLOC_POSIX=1 +printf "%s\n" "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h @@ -21824,11 +28239,43 @@ $as_echo "$gl_cv_next_string_h" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5 +printf %s "checking for mbstate_t... " >&6; } +if test ${ac_cv_type_mbstate_t+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default + #include +int +main (void) +{ +mbstate_t x; return sizeof x; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_type_mbstate_t=yes +else $as_nop + ac_cv_type_mbstate_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: $ac_cv_type_mbstate_t" >&5 +printf "%s\n" "$ac_cv_type_mbstate_t" >&6; } + if test $ac_cv_type_mbstate_t = yes; then +printf "%s\n" "#define HAVE_MBSTATE_T 1" >>confdefs.h + else +printf "%s\n" "#define mbstate_t int" >>confdefs.h -$as_echo "#define _USE_STD_STAT 1" >>confdefs.h + fi @@ -21836,69 +28283,42 @@ $as_echo "#define _USE_STD_STAT 1" >>confdefs.h + ac_fn_c_check_func "$LINENO" "mempcpy" "ac_cv_func_mempcpy" +if test "x$ac_cv_func_mempcpy" = xyes +then : + printf "%s\n" "#define HAVE_MEMPCPY 1" >>confdefs.h +fi + if test $ac_cv_func_mempcpy = no; then + HAVE_MEMPCPY=0 + fi - 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 " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sys_types_h+:} false; then : - $as_echo_n "(cached) " >&6 + if test $HAVE_MEMPCPY = 0; then + GL_COND_OBJ_MEMPCPY_TRUE= + GL_COND_OBJ_MEMPCPY_FALSE='#' else + GL_COND_OBJ_MEMPCPY_TRUE='#' + GL_COND_OBJ_MEMPCPY_FALSE= +fi +: + if test -z "${GL_COND_OBJ_MEMPCPY_TRUE}" && test -z "${GL_COND_OBJ_MEMPCPY_FALSE}"; then + GL_COND_OBJ_MEMPCPY_TRUE='#' + GL_COND_OBJ_MEMPCPY_FALSE='#' + fi + if test -z "$GL_COND_OBJ_MEMPCPY_TRUE"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_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_absolute_sys_types_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` +fi - 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_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 @@ -21909,247 +28329,169 @@ $as_echo "$gl_cv_next_sys_types_h" >&6; } + GL_GNULIB_MEMPCPY=1 - WINDOWS_STAT_INODES=0 +printf "%s\n" "#define GNULIB_TEST_MEMPCPY 1" >>confdefs.h - GNULIB_CTIME=0; - GNULIB_MKTIME=0; - GNULIB_LOCALTIME=0; - GNULIB_NANOSLEEP=0; - GNULIB_STRFTIME=0; - GNULIB_STRPTIME=0; - GNULIB_TIMEGM=0; - GNULIB_TIME_R=0; - GNULIB_TIME_RZ=0; - GNULIB_TZSET=0; - HAVE_DECL_LOCALTIME_R=1; - HAVE_NANOSLEEP=1; - HAVE_STRPTIME=1; - HAVE_TIMEGM=1; - HAVE_TZSET=1; - HAVE_TIMEZONE_T=0; - REPLACE_CTIME=GNULIB_PORTCHECK; - REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; - REPLACE_MKTIME=GNULIB_PORTCHECK; - REPLACE_NANOSLEEP=GNULIB_PORTCHECK; - REPLACE_STRFTIME=GNULIB_PORTCHECK; - REPLACE_TIMEGM=GNULIB_PORTCHECK; - REPLACE_TZSET=GNULIB_PORTCHECK; - : ${GNULIB_GETTIMEOFDAY=0}; - REPLACE_GMTIME=0; - REPLACE_LOCALTIME=0; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&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 -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; } - 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&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 -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 + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + GL_COND_OBJ_MSVC_INVAL_TRUE= + GL_COND_OBJ_MSVC_INVAL_FALSE='#' else - gl_cv_sys_struct_timespec_in_sys_time_h=no + GL_COND_OBJ_MSVC_INVAL_TRUE='#' + GL_COND_OBJ_MSVC_INVAL_FALSE= 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 " >&5 -$as_echo_n "checking for struct timespec in ... " >&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 +: + 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 -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 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&6; } -if ${gl_cv_sys_struct_timespec_in_unistd_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -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_unistd_h=yes + + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + GL_COND_OBJ_MSVC_NOTHROW_TRUE= + GL_COND_OBJ_MSVC_NOTHROW_FALSE='#' else - gl_cv_sys_struct_timespec_in_unistd_h=no + GL_COND_OBJ_MSVC_NOTHROW_TRUE='#' + GL_COND_OBJ_MSVC_NOTHROW_FALSE= 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_unistd_h" >&5 -$as_echo "$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 +: + 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 + case "$host_os" in + mingw* | 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. */ - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_time_h='<'time.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_time_h+:} false; then : - $as_echo_n "(cached) " >&6 -else +#include +#if HAVE_UNISTD_H +# include +#endif +$gl_mda_defines - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +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 - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac +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 - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' ;; - *) - gl_dirsep_regex='\/' + esac + + case "$gl_cv_func_open_slash" in + *no) + REPLACE_OPEN=1 + ;; + esac ;; 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_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'"' + 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5 -$as_echo "$gl_cv_next_time_h" >&6; } - fi - NEXT_TIME_H=$gl_cv_next_time_h +: + 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 $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 + if test -z "$GL_COND_OBJ_OPEN_TRUE"; then : + : +fi @@ -22157,276 +28499,166 @@ $as_echo "$gl_cv_next_time_h" >&6; } -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 + GL_GNULIB_OPEN=1 -ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_clearerr_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_feof_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_ferror_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi +printf "%s\n" "#define GNULIB_TEST_OPEN 1" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fflush_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fgets_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fputc_unlocked" = xyes; then : + ac_fn_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_program_invocation_name" = xyes +then : ac_have_decl=1 -else +else $as_nop ac_have_decl=0 fi +printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl -_ACEOF - -ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fputs_unlocked" = xyes; then : + ac_fn_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes +then : ac_have_decl=1 -else +else $as_nop ac_have_decl=0 fi +printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fread_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 + ac_fn_c_check_func "$LINENO" "raise" "ac_cv_func_raise" +if test "x$ac_cv_func_raise" = xyes +then : + printf "%s\n" "#define HAVE_RAISE 1" >>confdefs.h + fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl -_ACEOF + if test $ac_cv_func_raise = no; then + HAVE_RAISE=0 + else -ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl -_ACEOF + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_RAISE=1 + fi -ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_getchar_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_putc_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PUTC_UNLOCKED $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_putchar_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 + HAVE_POSIX_SIGNALBLOCKING=0 + if test "$gl_cv_type_sigset_t" = yes; then + ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" +if test "x$ac_cv_func_sigprocmask" = xyes +then : + HAVE_POSIX_SIGNALBLOCKING=1 fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PUTCHAR_UNLOCKED $ac_have_decl -_ACEOF + fi + if test $HAVE_POSIX_SIGNALBLOCKING = 0; then - if false; then - GL_COND_LIBTOOL_TRUE= - GL_COND_LIBTOOL_FALSE='#' -else - GL_COND_LIBTOOL_TRUE='#' - GL_COND_LIBTOOL_FALSE= -fi - gl_cond_libtool=false - gl_libdeps= - gl_ltlibdeps= - gl_m4_base='srcm4' + if test $gl_cv_header_signal_h_SIGPIPE != yes; then + REPLACE_RAISE=1 + fi + fi + fi + if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then + GL_COND_OBJ_RAISE_TRUE= + GL_COND_OBJ_RAISE_FALSE='#' +else + GL_COND_OBJ_RAISE_TRUE='#' + GL_COND_OBJ_RAISE_FALSE= +fi +: + if test -z "${GL_COND_OBJ_RAISE_TRUE}" && test -z "${GL_COND_OBJ_RAISE_FALSE}"; then + GL_COND_OBJ_RAISE_TRUE='#' + GL_COND_OBJ_RAISE_FALSE='#' + fi + if test -z "$GL_COND_OBJ_RAISE_TRUE"; then : + : - gl_source_base='srclib' +fi - if test $ac_cv_func_alloca_works = no; then - : - fi - # Define an additional variable used in the Makefile substitution. + GL_GNULIB_RAISE=1 - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __GNUC__ || defined _MSC_VER || !HAVE_ALLOCA_H - Need own alloca -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Need own alloca" >/dev/null 2>&1; then : - ALLOCA_H=alloca.h -else - ALLOCA_H= -fi -rm -f conftest* - 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 +printf "%s\n" "#define GNULIB_TEST_RAISE 1" >>confdefs.h - if test $ac_cv_func_canonicalize_file_name = no; then - HAVE_CANONICALIZE_FILE_NAME=0 - if test $ac_cv_func_realpath = no; then - HAVE_REALPATH=0 - else - case "$gl_cv_func_realpath_works" in - *yes) ;; - *) REPLACE_REALPATH=1 ;; - esac - fi - else - case "$gl_cv_func_realpath_works" in - *yes) - ;; - *) - REPLACE_CANONICALIZE_FILE_NAME=1 - REPLACE_REALPATH=1 - ;; - esac + + + ac_fn_c_check_func "$LINENO" "rawmemchr" "ac_cv_func_rawmemchr" +if test "x$ac_cv_func_rawmemchr" = xyes +then : + printf "%s\n" "#define HAVE_RAWMEMCHR 1" >>confdefs.h + +fi + + if test $ac_cv_func_rawmemchr = no; then + HAVE_RAWMEMCHR=0 fi - if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then + if test $HAVE_RAWMEMCHR = 0; then + GL_COND_OBJ_RAWMEMCHR_TRUE= + GL_COND_OBJ_RAWMEMCHR_FALSE='#' +else + GL_COND_OBJ_RAWMEMCHR_TRUE='#' + GL_COND_OBJ_RAWMEMCHR_FALSE= +fi +: + if test -z "${GL_COND_OBJ_RAWMEMCHR_TRUE}" && test -z "${GL_COND_OBJ_RAWMEMCHR_FALSE}"; then + GL_COND_OBJ_RAWMEMCHR_TRUE='#' + GL_COND_OBJ_RAWMEMCHR_FALSE='#' + fi + if test -z "$GL_COND_OBJ_RAWMEMCHR_TRUE"; then : + : +fi - gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext" - fi -cat >>confdefs.h <<_ACEOF -#define GNULIB_CANONICALIZE_LGPL 1 -_ACEOF @@ -22434,13 +28666,13 @@ _ACEOF - GNULIB_CANONICALIZE_FILE_NAME=1 + GL_GNULIB_RAWMEMCHR=1 -$as_echo "#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1" >>confdefs.h +printf "%s\n" "#define GNULIB_TEST_RAWMEMCHR 1" >>confdefs.h @@ -22448,15 +28680,31 @@ $as_echo "#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1" >>confdefs.h + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_READ=1 + fi - GNULIB_REALPATH=1 + if test $REPLACE_READ = 1; then + GL_COND_OBJ_READ_TRUE= + GL_COND_OBJ_READ_FALSE='#' +else + GL_COND_OBJ_READ_TRUE='#' + GL_COND_OBJ_READ_FALSE= +fi +: + if test -z "${GL_COND_OBJ_READ_TRUE}" && test -z "${GL_COND_OBJ_READ_FALSE}"; then + GL_COND_OBJ_READ_TRUE='#' + GL_COND_OBJ_READ_FALSE='#' + fi + if test -z "$GL_COND_OBJ_READ_TRUE"; then : -$as_echo "#define GNULIB_TEST_REALPATH 1" >>confdefs.h + : +fi @@ -22466,187 +28714,240 @@ $as_echo "#define GNULIB_TEST_REALPATH 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 -$as_echo_n "checking whether // is distinct from /... " >&6; } -if ${gl_cv_double_slash_root+:} false; then : - $as_echo_n "(cached) " >&6 -else - 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 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 -$as_echo "$gl_cv_double_slash_root" >&6; } - if test "$gl_cv_double_slash_root" = yes; then + GL_GNULIB_READ=1 -$as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h - fi +printf "%s\n" "#define GNULIB_TEST_READ 1" >>confdefs.h - GNULIB_ENVIRON=1 + if test $ac_cv_func_readlink = no; then + HAVE_READLINK=0 + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether readlink signature is correct" >&5 +printf %s "checking whether readlink signature is correct... " >&6; } +if test ${gl_cv_decl_readlink_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Cause compilation failure if original declaration has wrong type. */ + ssize_t readlink (const char *, char *, size_t); +int +main (void) +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_decl_readlink_works=yes +else $as_nop + gl_cv_decl_readlink_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_readlink_works" >&5 +printf "%s\n" "$gl_cv_decl_readlink_works" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether readlink handles trailing slash correctly" >&5 +printf %s "checking whether readlink handles trailing slash correctly... " >&6; } +if test ${gl_cv_func_readlink_trailing_slash+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # We have readlink, so assume ln -s works. + ln -s conftest.no-such conftest.link + ln -s conftest.link conftest.lnk2 + if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on Linux or glibc systems. + linux-* | linux | *-gnu* | gnu*) + gl_cv_func_readlink_trailing_slash="guessing yes" ;; + # Guess no on AIX or HP-UX. + aix* | hpux*) + gl_cv_func_readlink_trailing_slash="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) + gl_cv_func_readlink_trailing_slash="$gl_cross_guess_normal" ;; + esac +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -$as_echo "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h +int +main (void) +{ +char buf[20]; + return readlink ("conftest.lnk2/", buf, sizeof buf) != -1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_readlink_trailing_slash=yes +else $as_nop + gl_cv_func_readlink_trailing_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.link conftest.lnk2 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_trailing_slash" >&5 +printf "%s\n" "$gl_cv_func_readlink_trailing_slash" >&6; } + case "$gl_cv_func_readlink_trailing_slash" in + *yes) + if test "$gl_cv_decl_readlink_works" != yes; then + REPLACE_READLINK=1 + fi + ;; + *) +printf "%s\n" "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h + REPLACE_READLINK=1 + ;; + esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether readlink truncates results correctly" >&5 +printf %s "checking whether readlink truncates results correctly... " >&6; } +if test ${gl_cv_func_readlink_truncate+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # We have readlink, so assume ln -s works. + ln -s ab conftest.link + if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on Linux or glibc systems. + linux-* | linux | *-gnu* | gnu*) + gl_cv_func_readlink_truncate="guessing yes" ;; + # Guess no on AIX or HP-UX. + aix* | hpux*) + gl_cv_func_readlink_truncate="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) + gl_cv_func_readlink_truncate="$gl_cross_guess_normal" ;; + esac - { $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 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + int -main () +main (void) { -error_at_line (0, 0, "", 0, "an error occurred"); +char c; + return readlink ("conftest.link", &c, 1) != 1; ; 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 : + gl_cv_func_readlink_truncate=yes +else $as_nop + gl_cv_func_readlink_truncate=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 - - - + rm -f conftest.link conftest.lnk2 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_truncate" >&5 +printf "%s\n" "$gl_cv_func_readlink_truncate" >&6; } + case $gl_cv_func_readlink_truncate in + *yes) + if test "$gl_cv_decl_readlink_works" != yes; then + REPLACE_READLINK=1 + fi + ;; + *) +printf "%s\n" "#define READLINK_TRUNCATE_BUG 1" >>confdefs.h + REPLACE_READLINK=1 + ;; + esac + fi - gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext" + if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then + GL_COND_OBJ_READLINK_TRUE= + GL_COND_OBJ_READLINK_FALSE='#' +else + GL_COND_OBJ_READLINK_TRUE='#' + GL_COND_OBJ_READLINK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_READLINK_TRUE}" && test -z "${GL_COND_OBJ_READLINK_FALSE}"; then + GL_COND_OBJ_READLINK_TRUE='#' + GL_COND_OBJ_READLINK_FALSE='#' + fi + if test -z "$GL_COND_OBJ_READLINK_TRUE"; then : : - fi +fi - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" + GL_GNULIB_READLINK=1 +printf "%s\n" "#define GNULIB_TEST_READLINK 1" >>confdefs.h - 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 " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_fcntl_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then + REPLACE_REALLOC_FOR_REALLOC_POSIX=1 + 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 '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 - }' + if test $REPLACE_REALLOC_FOR_REALLOC_POSIX = 1; then - 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 -{ $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 + gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" + fi @@ -22656,97 +28957,40 @@ $as_echo "$gl_cv_next_fcntl_h" >&6; } + GL_GNULIB_REALLOC_POSIX=1 - ac_found=0 - ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include -" -if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl -_ACEOF -if test $ac_have_decl = 1; then : - ac_found=1 -fi - ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include -" -if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi +printf "%s\n" "#define GNULIB_TEST_REALLOC_POSIX 1" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl -_ACEOF -if test $ac_have_decl = 1; then : - ac_found=1 -fi - ac_fn_c_check_decl "$LINENO" "__argv" "ac_cv_have_decl___argv" "#include -" -if test "x$ac_cv_have_decl___argv" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL___ARGV $ac_have_decl -_ACEOF -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. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __progname is defined in default libraries" >&5 -$as_echo_n "checking whether __progname is defined in default libraries... " >&6; } -if ${gl_cv_var___progname+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_cv_var___progname= - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern char *__progname; -int -main () -{ -return *__progname; - ; - 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$ac_exeext conftest.$ac_ext + : ${RELOCATABLE_CONFIG_H_DIR='$(top_builddir)'} + RELOCATABLE_SRC_DIR="\$(top_srcdir)/$gl_source_base" + RELOCATABLE_BUILD_DIR="\$(top_builddir)/$gl_source_base" + if test $RELOCATABLE = yes; then + GL_COND_OBJ_PROGRELOC_TRUE= + GL_COND_OBJ_PROGRELOC_FALSE='#' +else + GL_COND_OBJ_PROGRELOC_TRUE='#' + GL_COND_OBJ_PROGRELOC_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var___progname" >&5 -$as_echo "$gl_cv_var___progname" >&6; } - if test "$gl_cv_var___progname" = yes; then - -$as_echo "#define HAVE_VAR___PROGNAME 1" >>confdefs.h - - fi +: + if test -z "${GL_COND_OBJ_PROGRELOC_TRUE}" && test -z "${GL_COND_OBJ_PROGRELOC_FALSE}"; then + GL_COND_OBJ_PROGRELOC_TRUE='#' + GL_COND_OBJ_PROGRELOC_FALSE='#' fi + if test -z "$GL_COND_OBJ_PROGRELOC_TRUE"; then : @@ -22756,134 +29000,104 @@ $as_echo "#define HAVE_VAR___PROGNAME 1" >>confdefs.h - if test $ac_cv_func_lstat = yes; then - - case $host_os,$gl_cv_func_lstat_dereferences_slashed_symlink in - solaris* | *no) - REPLACE_LSTAT=1 - ;; - esac - else - HAVE_LSTAT=0 - fi - - if test $REPLACE_LSTAT = 1; then - + gl_LIBOBJS="$gl_LIBOBJS relocatable.$ac_objext" +fi + : - gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext" - : - fi - GNULIB_LSTAT=1 + case "$host_os" in + mingw*) ;; + *) ac_fn_c_check_func "$LINENO" "getcwd" "ac_cv_func_getcwd" +if test "x$ac_cv_func_getcwd" = xyes +then : + printf "%s\n" "#define HAVE_GETCWD 1" >>confdefs.h +fi + ;; + esac -$as_echo "#define GNULIB_TEST_LSTAT 1" >>confdefs.h - if test $gl_cv_func_malloc_posix = yes; then + if test "$gl_cv_func_malloc_posix" = yes; then -$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h +printf "%s\n" "#define HAVE_MALLOC_POSIX 1" >>confdefs.h else - REPLACE_MALLOC=1 + REPLACE_MALLOC_FOR_MALLOC_POSIX=1 fi - if test $REPLACE_MALLOC = 1; then - - - - - - gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" - + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then + REPLACE_REALLOC_FOR_REALLOC_POSIX=1 fi - - GNULIB_MALLOC_POSIX=1 - - - - - -$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5 -$as_echo_n "checking for mbstate_t... " >&6; } -if ${ac_cv_type_mbstate_t+:} 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. */ -$ac_includes_default -/* 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 +#include + int -main () +main (void) { -mbstate_t x; return sizeof x; +#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_compile "$LINENO"; then : - ac_cv_type_mbstate_t=yes -else - ac_cv_type_mbstate_t=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_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_mbstate_t" >&5 -$as_echo "$ac_cv_type_mbstate_t" >&6; } - if test $ac_cv_type_mbstate_t = yes; then - -$as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h - - else +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -$as_echo "#define mbstate_t int" >>confdefs.h +fi +{ 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; } - fi + case $gl_cv_func_free_preserves_errno in + *yes) +printf "%s\n" "#define HAVE_FREE_POSIX 1" >>confdefs.h - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + ;; + *) REPLACE_FREE=1 ;; + esac @@ -22891,387 +29105,561 @@ $as_echo "#define mbstate_t int" >>confdefs.h + ac_fn_c_check_func "$LINENO" "mempcpy" "ac_cv_func_mempcpy" +if test "x$ac_cv_func_mempcpy" = xyes +then : + printf "%s\n" "#define HAVE_MEMPCPY 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS msvc-inval.$ac_objext" +fi + if test $ac_cv_func_mempcpy = no; then + HAVE_MEMPCPY=0 fi - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - - + ac_fn_c_check_func "$LINENO" "rawmemchr" "ac_cv_func_rawmemchr" +if test "x$ac_cv_func_rawmemchr" = xyes +then : + printf "%s\n" "#define HAVE_RAWMEMCHR 1" >>confdefs.h +fi - gl_LIBOBJS="$gl_LIBOBJS msvc-nothrow.$ac_objext" - + if test $ac_cv_func_rawmemchr = no; then + HAVE_RAWMEMCHR=0 fi -cat >>confdefs.h <<_ACEOF -#define GNULIB_MSVC_NOTHROW 1 -_ACEOF - ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include -" -if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl -_ACEOF - ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include -" -if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi + if test $ac_cv_have_decl_setenv = no; then + HAVE_DECL_SETENV=0 + fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl -_ACEOF - for ac_func in raise -do : - ac_fn_c_check_func "$LINENO" "raise" "ac_cv_func_raise" -if test "x$ac_cv_func_raise" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_RAISE 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default" +if test "x$ac_cv_header_search_h" = xyes +then : + printf "%s\n" "#define HAVE_SEARCH_H 1" >>confdefs.h fi -done - if test $ac_cv_func_raise = no; then - HAVE_RAISE=0 - else + ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch" +if test "x$ac_cv_func_tsearch" = xyes +then : + printf "%s\n" "#define HAVE_TSEARCH 1" >>confdefs.h + +fi - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - REPLACE_RAISE=1 - fi - if test $gl_cv_type_sigset_t = yes; then - ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" -if test "x$ac_cv_func_sigprocmask" = xyes; then : - gl_cv_func_sigprocmask=1 -fi - fi - if test -z "$gl_cv_func_sigprocmask"; then - HAVE_POSIX_SIGNALBLOCKING=0 - fi - if test $HAVE_POSIX_SIGNALBLOCKING = 0; then - if test $gl_cv_header_signal_h_SIGPIPE != yes; then - REPLACE_RAISE=1 - fi - fi - fi - if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then +printf "%s\n" "#define GNULIB_SIGPIPE 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS raise.$ac_objext" - : - fi + GL_GNULIB_SIGNAL_H_SIGPIPE=1 - GNULIB_RAISE=1 -$as_echo "#define GNULIB_TEST_RAISE 1" >>confdefs.h + GL_GNULIB_STDIO_H_SIGPIPE=1 - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - REPLACE_READ=1 - fi + GL_GNULIB_UNISTD_H_SIGPIPE=1 - if test $REPLACE_READ = 1; then + HAVE_POSIX_SIGNALBLOCKING=0 + if test "$gl_cv_type_sigset_t" = yes; then + ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" +if test "x$ac_cv_func_sigprocmask" = xyes +then : + HAVE_POSIX_SIGNALBLOCKING=1 +fi + fi + if test $HAVE_POSIX_SIGNALBLOCKING = 0; then + GL_COND_OBJ_SIGPROCMASK_TRUE= + GL_COND_OBJ_SIGPROCMASK_FALSE='#' +else + GL_COND_OBJ_SIGPROCMASK_TRUE='#' + GL_COND_OBJ_SIGPROCMASK_FALSE= +fi +: + if test -z "${GL_COND_OBJ_SIGPROCMASK_TRUE}" && test -z "${GL_COND_OBJ_SIGPROCMASK_FALSE}"; then + GL_COND_OBJ_SIGPROCMASK_TRUE='#' + GL_COND_OBJ_SIGPROCMASK_FALSE='#' + fi - gl_LIBOBJS="$gl_LIBOBJS read.$ac_objext" + if test -z "$GL_COND_OBJ_SIGPROCMASK_TRUE"; then : : - fi +fi - GNULIB_READ=1 -$as_echo "#define GNULIB_TEST_READ 1" >>confdefs.h + GL_GNULIB_SIGPROCMASK=1 +printf "%s\n" "#define GNULIB_TEST_SIGPROCMASK 1" >>confdefs.h - if test $ac_cv_func_readlink = no; then - HAVE_READLINK=0 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink signature is correct" >&5 -$as_echo_n "checking whether readlink signature is correct... " >&6; } -if ${gl_cv_decl_readlink_works+:} false; then : - $as_echo_n "(cached) " >&6 -else + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 +printf %s "checking for ssize_t... " >&6; } +if test ${gt_cv_ssize_t+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - /* Cause compilation failure if original declaration has wrong type. */ - ssize_t readlink (const char *, char *, size_t); +#include int -main () +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_decl_readlink_works=yes -else - gl_cv_decl_readlink_works=no +if ac_fn_c_try_compile "$LINENO" +then : + gt_cv_ssize_t=yes +else $as_nop + gt_cv_ssize_t=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_decl_readlink_works" >&5 -$as_echo "$gl_cv_decl_readlink_works" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink handles trailing slash correctly" >&5 -$as_echo_n "checking whether readlink handles trailing slash correctly... " >&6; } -if ${gl_cv_func_readlink_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - # We have readlink, so assume ln -s works. - ln -s conftest.no-such conftest.link - ln -s conftest.link conftest.lnk2 - if test "$cross_compiling" = yes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 +printf "%s\n" "$gt_cv_ssize_t" >&6; } + if test $gt_cv_ssize_t = no; then + +printf "%s\n" "#define ssize_t int" >>confdefs.h + + fi + + + + + case "$host_os" in - # Guess yes on Linux systems. - linux-* | linux) gl_cv_func_readlink_works="guessing yes" ;; - # Guess yes on glibc systems. - *-gnu* | gnu*) gl_cv_func_readlink_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_readlink_works="guessing no" ;; - esac + mingw*) + 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 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 -else +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include int -main () +main (void) { -char buf[20]; - return readlink ("conftest.lnk2/", buf, sizeof buf) != -1; +int result = 0; + struct stat st; + if (!stat ("conftest.tmp/", &st)) + result |= 1; +#if HAVE_LSTAT + if (!stat ("conftest.lnk/", &st)) + result |= 2; +#endif + return result; + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_readlink_works=yes -else - gl_cv_func_readlink_works=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.link conftest.lnk2 + rm -f conftest.tmp conftest.lnk fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_works" >&5 -$as_echo "$gl_cv_func_readlink_works" >&6; } - case "$gl_cv_func_readlink_works" in - *yes) - if test "$gl_cv_decl_readlink_works" != yes; then - REPLACE_READLINK=1 - fi - ;; - *) +{ 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 + +printf "%s\n" "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h +;; + esac + case $host_os in + solaris*) + REPLACE_FSTAT=1 ;; + esac + ;; + esac -$as_echo "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h - REPLACE_READLINK=1 - ;; - esac + 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 -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 $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then + if test -z "$GL_COND_OBJ_STAT_TRUE"; then : + + case "$host_os" in + mingw*) + + + gl_LIBOBJS="$gl_LIBOBJS stat-w32.$ac_objext" + ;; + esac - gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" : - fi - +fi - GNULIB_READLINK=1 -$as_echo "#define GNULIB_TEST_READLINK 1" >>confdefs.h + GL_GNULIB_STAT=1 +printf "%s\n" "#define GNULIB_TEST_STAT 1" >>confdefs.h - : ${RELOCATABLE_CONFIG_H_DIR='$(top_builddir)'} - RELOCATABLE_SRC_DIR="\$(top_srcdir)/$gl_source_base" - RELOCATABLE_BUILD_DIR="\$(top_builddir)/$gl_source_base" - if test $RELOCATABLE = yes; then + ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.tv_nsec" "ac_cv_member_struct_stat_st_atim_tv_nsec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = xyes +then : +printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1" >>confdefs.h +{ 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 + #include + #if HAVE_SYS_TIME_H + # include + #endif + #include + struct timespec ts; + struct stat st; - gl_LIBOBJS="$gl_LIBOBJS progreloc.$ac_objext" +int +main (void) +{ + st.st_atim = ts; + ; + return 0; +} +_ACEOF +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 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 +printf "%s\n" "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h + 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 + #include +" +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 + #include +" +if test "x$ac_cv_member_struct_stat_st_atimensec" = xyes +then : +printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS relocatable.$ac_objext" - fi +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 + #include +" +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 - : +fi +fi +fi +fi + ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimespec.tv_nsec" "ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" "#include + #include +" +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 +else $as_nop + ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimensec" "ac_cv_member_struct_stat_st_birthtimensec" "#include + #include +" +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 + #include +" +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 +fi +fi - if test $ac_cv_have_decl_setenv = no; then - HAVE_DECL_SETENV=0 - fi +fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working stdalign.h" >&5 +printf %s "checking for working stdalign.h... " >&6; } +if test ${gl_cv_header_working_stdalign_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + + /* Test that alignof yields a result consistent with offsetof. + This catches GCC bug 52023 + . */ + #ifdef __cplusplus + template struct alignof_helper { char a; t b; }; + # define ao(type) offsetof (alignof_helper, b) + #else + # define ao(type) offsetof (struct { char a; type b; }, b) + #endif + char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1]; + char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; + char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; + + /* Test _Alignas only on platforms where gnulib can help. */ + #if \ + ((defined __cplusplus && 201103 <= __cplusplus) \ + || (__TINYC__ && defined __attribute__) \ + || (defined __APPLE__ && defined __MACH__ \ + ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ + : __GNUC__) \ + || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \ + || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__ \ + || 1300 <= _MSC_VER) + struct alignas_test { char c; char alignas (8) alignas_8; }; + char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 + ? 1 : -1]; + #endif +int +main (void) +{ - 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 + ; + return 0; +} _ACEOF - +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_header_working_stdalign_h=yes +else $as_nop + gl_cv_header_working_stdalign_h=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_working_stdalign_h" >&5 +printf "%s\n" "$gl_cv_header_working_stdalign_h" >&6; } -done + if test $gl_cv_header_working_stdalign_h = yes; then + GL_GENERATE_STDALIGN_H=false + else + GL_GENERATE_STDALIGN_H=true + fi - 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 + case "$GL_GENERATE_STDALIGN_H" in + false) STDALIGN_H='' ;; + true) + if test -z "$STDALIGN_H"; then + STDALIGN_H="${gl_source_base_prefix}stdalign.h" + fi + ;; + *) echo "*** GL_GENERATE_STDALIGN_H is not set correctly" 1>&2; exit 1 ;; + esac + if $GL_GENERATE_STDALIGN_H; then + GL_GENERATE_STDALIGN_H_TRUE= + GL_GENERATE_STDALIGN_H_FALSE='#' +else + GL_GENERATE_STDALIGN_H_TRUE='#' + GL_GENERATE_STDALIGN_H_FALSE= +fi +: + if test -z "${GL_GENERATE_STDALIGN_H_TRUE}" && test -z "${GL_GENERATE_STDALIGN_H_FALSE}"; then + GL_GENERATE_STDALIGN_H_TRUE='#' + GL_GENERATE_STDALIGN_H_FALSE='#' + fi @@ -23282,83 +29670,96 @@ done + if test "$ac_cv_header_stdbool_h" = yes; then + case "$host_os" in + solaris*) + if test -z "$GCC"; then + GL_GENERATE_STDBOOL_H=true + else + GL_GENERATE_STDBOOL_H=false + fi + ;; + *) + GL_GENERATE_STDBOOL_H=false + ;; + esac + else + GL_GENERATE_STDBOOL_H=true + fi + if test "$ac_cv_type__Bool" = yes; then + HAVE__BOOL=1 + else + HAVE__BOOL=0 + fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_signal_h='<'signal.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_signal_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_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='\/' + + case "$GL_GENERATE_STDBOOL_H" in + false) STDBOOL_H='' ;; + true) + if test -z "$STDBOOL_H"; then + STDBOOL_H="${gl_source_base_prefix}stdbool.h" + fi ;; + *) echo "*** GL_GENERATE_STDBOOL_H is not set correctly" 1>&2; exit 1 ;; esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'signal.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_signal_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` - gl_header=$gl_cv_absolute_signal_h - gl_cv_next_signal_h='"'$gl_header'"' + if $GL_GENERATE_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 -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then + GL_GENERATE_STDBOOL_H_TRUE='#' + GL_GENERATE_STDBOOL_H_FALSE='#' + fi + + -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5 -$as_echo "$gl_cv_next_signal_h" >&6; } - fi - NEXT_SIGNAL_H=$gl_cv_next_signal_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='<'signal.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_signal_h - fi - NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H=$gl_next_as_first_directive -# AIX declares sig_atomic_t to already include volatile, and C89 compilers -# then choke on 'volatile sig_atomic_t'. C99 requires that it compile. - ac_fn_c_check_type "$LINENO" "volatile sig_atomic_t" "ac_cv_type_volatile_sig_atomic_t" " -#include -" -if test "x$ac_cv_type_volatile_sig_atomic_t" = xyes; then : + + + + + 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 + + + if $GL_GENERATE_STDDEF_H; then + GL_GENERATE_STDDEF_H_TRUE= + GL_GENERATE_STDDEF_H_FALSE='#' else - HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0 + GL_GENERATE_STDDEF_H_TRUE='#' + GL_GENERATE_STDDEF_H_FALSE= fi +: + 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 @@ -23366,15 +29767,33 @@ fi - ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" " -#include -" -if test "x$ac_cv_type_sighandler_t" = xyes; then : + + + 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 $GL_GENERATE_STDINT_H; then + GL_GENERATE_STDINT_H_TRUE= + GL_GENERATE_STDINT_H_FALSE='#' else - HAVE_SIGHANDLER_T=0 + 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 @@ -23384,187 +29803,116 @@ fi + 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 -cat >>confdefs.h <<_ACEOF -#define GNULIB_SIGPIPE 1 -_ACEOF + 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 - GNULIB_SIGNAL_H_SIGPIPE=1 - GNULIB_STDIO_H_SIGPIPE=1 - GNULIB_UNISTD_H_SIGPIPE=1 - if test $gl_cv_type_sigset_t = yes; then - ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" -if test "x$ac_cv_func_sigprocmask" = xyes; then : - gl_cv_func_sigprocmask=1 -fi - fi - if test -z "$gl_cv_func_sigprocmask"; then - HAVE_POSIX_SIGNALBLOCKING=0 - fi - if test $HAVE_POSIX_SIGNALBLOCKING = 0; then + if test $REPLACE_STDIO_READ_FUNCS = 1; then + GL_COND_OBJ_STDIO_READ_TRUE= + GL_COND_OBJ_STDIO_READ_FALSE='#' +else + 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 + 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 +: + 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 - gl_LIBOBJS="$gl_LIBOBJS sigprocmask.$ac_objext" - : - fi - GNULIB_SIGPROCMASK=1 + GL_GNULIB_FSCANF=1 -$as_echo "#define GNULIB_TEST_SIGPROCMASK 1" >>confdefs.h +printf "%s\n" "#define GNULIB_TEST_FSCANF 1" >>confdefs.h - { $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 -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 +printf "%s\n" "#define GNULIB_FSCANF 1" >>confdefs.h - case "$host_os" in - mingw*) - REPLACE_STAT=1 - ;; - *) - { $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 Linux systems. - linux-* | linux) 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, assume the worst. - *) gl_cv_func_stat_file_slash="guessing no" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int result = 0; - struct stat st; - if (!stat ("conftest.tmp/", &st)) - result |= 1; -#if HAVE_LSTAT - if (!stat ("conftest.lnk/", &st)) - result |= 2; -#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 -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.tmp conftest.lnk -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_file_slash in - *no) - REPLACE_STAT=1 -$as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h -;; - esac - case $host_os in - solaris*) - REPLACE_FSTAT=1 ;; - esac - ;; - esac - if test $REPLACE_STAT = 1; then + GL_GNULIB_SCANF=1 +printf "%s\n" "#define GNULIB_TEST_SCANF 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS stat.$ac_objext" - case "$host_os" in - mingw*) +printf "%s\n" "#define GNULIB_SCANF 1" >>confdefs.h @@ -23572,27 +29920,22 @@ $as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS stat-w32.$ac_objext" - ;; - esac - : - fi + GL_GNULIB_FGETC=1 - GNULIB_STAT=1 +printf "%s\n" "#define GNULIB_TEST_FGETC 1" >>confdefs.h -$as_echo "#define GNULIB_TEST_STAT 1" >>confdefs.h @@ -23600,336 +29943,108 @@ $as_echo "#define GNULIB_TEST_STAT 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 - #include -" -if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = xyes; then : + GL_GNULIB_GETC=1 -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 -_ACEOF -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct stat.st_atim is of type struct timespec" >&5 -$as_echo_n "checking whether struct stat.st_atim is of type struct timespec... " >&6; } -if ${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - #include - #include - #if HAVE_SYS_TIME_H - # include - #endif - #include - struct timespec ts; - struct stat st; -int -main () -{ - st.st_atim = ts; +printf "%s\n" "#define GNULIB_TEST_GETC 1" >>confdefs.h - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes -else - ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5 -$as_echo "$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 -$as_echo "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h - fi -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "#include - #include -" -if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1 -_ACEOF -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "#include - #include -" -if test "x$ac_cv_member_struct_stat_st_atimensec" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1 -_ACEOF -else - 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 - #include -" -if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1 -_ACEOF -fi + GL_GNULIB_GETCHAR=1 -fi -fi -fi +printf "%s\n" "#define GNULIB_TEST_GETCHAR 1" >>confdefs.h - ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimespec.tv_nsec" "ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" "#include - #include -" -if test "x$ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1 -_ACEOF -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimensec" "ac_cv_member_struct_stat_st_birthtimensec" "#include - #include -" -if test "x$ac_cv_member_struct_stat_st_birthtimensec" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC 1 -_ACEOF -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtim.tv_nsec" "ac_cv_member_struct_stat_st_birthtim_tv_nsec" "#include - #include -" -if test "x$ac_cv_member_struct_stat_st_birthtim_tv_nsec" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC 1 -_ACEOF -fi + GL_GNULIB_FGETS=1 -fi -fi +printf "%s\n" "#define GNULIB_TEST_FGETS 1" >>confdefs.h - # 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 - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 - else - HAVE__BOOL=0 - fi - STDDEF_H= - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for good max_align_t" >&5 -$as_echo_n "checking for good max_align_t... " >&6; } -if ${gl_cv_type_max_align_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - unsigned int s = sizeof (max_align_t); - #if defined __GNUC__ || 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 + GL_GNULIB_FREAD=1 + -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_type_max_align_t=yes -else - gl_cv_type_max_align_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_type_max_align_t" >&5 -$as_echo "$gl_cv_type_max_align_t" >&6; } - if test $gl_cv_type_max_align_t = no; then - HAVE_MAX_ALIGN_T=0 - STDDEF_H=stddef.h - fi - if test $gt_cv_c_wchar_t = no; then - HAVE_WCHAR_T=0 - STDDEF_H=stddef.h - fi +printf "%s\n" "#define GNULIB_TEST_FREAD 1" >>confdefs.h - { $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 - 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='#' -else - GL_GENERATE_STDDEF_H_TRUE='#' - GL_GENERATE_STDDEF_H_FALSE= -fi - if test -n "$STDDEF_H"; then + GL_GNULIB_FPRINTF=1 - 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 " >&5 -$as_echo_n "checking absolute name of ... " >&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 -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac +printf "%s\n" "#define GNULIB_TEST_FPRINTF 1" >>confdefs.h - 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_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 -{ $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 + GL_GNULIB_PRINTF=1 - $as_echo "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h +printf "%s\n" "#define GNULIB_TEST_PRINTF 1" >>confdefs.h @@ -23937,163 +30052,56 @@ $as_echo "$gl_cv_next_stddef_h" >&6; } - 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 " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_stdio_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_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_absolute_stdio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"` + GL_GNULIB_VFPRINTF=1 - gl_header=$gl_cv_absolute_stdio_h - gl_cv_next_stdio_h='"'$gl_header'"' -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 +printf "%s\n" "#define GNULIB_TEST_VFPRINTF 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which flavor of printf attribute matches inttypes macros" >&5 -$as_echo_n "checking which flavor of printf attribute matches inttypes macros... " >&6; } -if ${gl_cv_func_printf_attribute_flavor+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - #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 -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_printf_attribute_flavor=system -else - gl_cv_func_printf_attribute_flavor=gnu -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_attribute_flavor" >&5 -$as_echo "$gl_cv_func_printf_attribute_flavor" >&6; } - if test "$gl_cv_func_printf_attribute_flavor" = gnu; then -$as_echo "#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1" >>confdefs.h - fi - GNULIB_FSCANF=1 -cat >>confdefs.h <<_ACEOF -#define GNULIB_FSCANF 1 -_ACEOF + GL_GNULIB_VPRINTF=1 - GNULIB_SCANF=1 -cat >>confdefs.h <<_ACEOF -#define GNULIB_SCANF 1 -_ACEOF +printf "%s\n" "#define GNULIB_TEST_VPRINTF 1" >>confdefs.h - 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 - if test $gl_cv_header_signal_h_SIGPIPE != yes; then - REPLACE_STDIO_WRITE_FUNCS=1 + GL_GNULIB_FPUTC=1 - gl_LIBOBJS="$gl_LIBOBJS stdio-write.$ac_objext" - fi +printf "%s\n" "#define GNULIB_TEST_FPUTC 1" >>confdefs.h @@ -24106,153 +30114,56 @@ _ACEOF + GL_GNULIB_PUTC=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 " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_stdlib_h+:} false; then : - $as_echo_n "(cached) " >&6 -else +printf "%s\n" "#define GNULIB_TEST_PUTC 1" >>confdefs.h - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_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_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_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 + GL_GNULIB_PUTCHAR=1 +printf "%s\n" "#define GNULIB_TEST_PUTCHAR 1" >>confdefs.h - 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* | gnu*) gl_cv_func_working_strerror="guessing yes" ;; - # Guess yes on musl systems. - *-musl*) gl_cv_func_working_strerror="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_working_strerror="guessing no" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -if (!*strerror (-2)) return 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_working_strerror=yes -else - 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 -{ $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 - *yes) ;; - *) - REPLACE_STRERROR=1 - ;; - esac - else - REPLACE_STRERROR=1 - fi - if test $REPLACE_STRERROR = 1; then + GL_GNULIB_FPUTS=1 +printf "%s\n" "#define GNULIB_TEST_FPUTS 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext" - fi -cat >>confdefs.h <<_ACEOF -#define GNULIB_STRERROR 1 -_ACEOF @@ -24260,19 +30171,18 @@ _ACEOF - GNULIB_STRERROR=1 + GL_GNULIB_PUTS=1 -$as_echo "#define GNULIB_TEST_STRERROR 1" >>confdefs.h +printf "%s\n" "#define GNULIB_TEST_PUTS 1" >>confdefs.h - if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then @@ -24280,37 +30190,20 @@ $as_echo "#define GNULIB_TEST_STRERROR 1" >>confdefs.h + GL_GNULIB_FWRITE=1 - gl_LIBOBJS="$gl_LIBOBJS strerror-override.$ac_objext" +printf "%s\n" "#define GNULIB_TEST_FWRITE 1" >>confdefs.h + - 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 @@ -24319,116 +30212,147 @@ done + 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*) 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 +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 $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 - 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 " >&5 -$as_echo_n "checking absolute name of ... " >&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_STRERROR 1" >>confdefs.h - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_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_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 -{ $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_STRERROR=1 - WINDOWS_STAT_TIMESPEC=0 +printf "%s\n" "#define GNULIB_TEST_STRERROR 1" >>confdefs.h - ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include - #include -" -if test "x$ac_cv_type_nlink_t" = xyes; then : + 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 -$as_echo "#define nlink_t int" >>confdefs.h + if test -z "$GL_COND_OBJ_STRERROR_OVERRIDE_TRUE"; then : -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 +fi @@ -24444,80 +30368,21 @@ fi - 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 " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_unistd_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_unistd_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_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_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_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 - if test $ac_cv_header_unistd_h = yes; then - HAVE_UNISTD_H=1 - else - HAVE_UNISTD_H=0 - fi @@ -24539,7 +30404,7 @@ $as_echo "$gl_cv_next_unistd_h" >&6; } || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ - && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4 + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11 } } } @@ -24549,7 +30414,9 @@ $as_echo "$gl_cv_next_unistd_h" >&6; } } }; then - LIBUNISTRING_UNITYPES_H='unitypes.h' + if test -z "$LIBUNISTRING_UNITYPES_H"; then + LIBUNISTRING_UNITYPES_H="${gl_source_base_prefix}unitypes.h" + fi else LIBUNISTRING_UNITYPES_H= fi @@ -24557,6 +30424,8 @@ $as_echo "$gl_cv_next_unistd_h" >&6; } + + if { test "$HAVE_LIBUNISTRING" != yes \ || { @@ -24566,7 +30435,7 @@ $as_echo "$gl_cv_next_unistd_h" >&6; } || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ - && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4 + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11 } } } @@ -24576,7 +30445,9 @@ $as_echo "$gl_cv_next_unistd_h" >&6; } } }; then - LIBUNISTRING_UNIWIDTH_H='uniwidth.h' + if test -z "$LIBUNISTRING_UNIWIDTH_H"; then + LIBUNISTRING_UNIWIDTH_H="${gl_source_base_prefix}uniwidth.h" + fi else LIBUNISTRING_UNIWIDTH_H= fi @@ -24584,7 +30455,9 @@ $as_echo "$gl_cv_next_unistd_h" >&6; } - if { test "$HAVE_LIBUNISTRING" != yes \ + + + if { test "$HAVE_LIBUNISTRING" != yes \ || { @@ -24593,7 +30466,7 @@ $as_echo "$gl_cv_next_unistd_h" >&6; } || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ - && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11 } } } @@ -24609,16 +30482,117 @@ else LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE='#' LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE= fi +: + if test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE}"; then + LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE='#' + LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE='#' + fi + + + +printf "%s\n" "#define GNULIB_STDIO_SINGLE_THREAD 1" >>confdefs.h + + +printf "%s\n" "#define USE_UNLOCKED_IO GNULIB_STDIO_SINGLE_THREAD" >>confdefs.h + + + + + + + + + + + + -$as_echo "#define USE_UNLOCKED_IO 1" >>confdefs.h + { 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 (void) +{ + + ; + return 0; +} +_ACEOF +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* + +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 +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 @@ -24642,6 +30616,8 @@ $as_echo "#define USE_UNLOCKED_IO 1" >>confdefs.h + + gltests_libdeps= gltests_ltlibdeps= @@ -24653,7 +30629,11 @@ $as_echo "#define USE_UNLOCKED_IO 1" >>confdefs.h + + + gl_source_base='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 @@ -24666,6 +30646,9 @@ $as_echo "#define USE_UNLOCKED_IO 1" >>confdefs.h + + + LIBICRT_LIBDEPS="$gl_libdeps" LIBICRT_LTLIBDEPS="$gl_ltlibdeps" @@ -24747,8 +30730,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) ;; #( @@ -24778,15 +30761,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 @@ -24800,8 +30783,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 @@ -24818,7 +30801,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" @@ -24829,14 +30812,14 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } +{ 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } + { 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='#' @@ -24861,81 +30844,72 @@ if test -z "${RELOCATABLE_VIA_WRAPPER_TRUE}" && test -z "${RELOCATABLE_VIA_WRAPP as_fn_error $? "conditional \"RELOCATABLE_VIA_WRAPPER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 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_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_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 -if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_LIMITS_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 -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 "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_LIMITS_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 "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE}"; then - as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi 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.Po" done fi gl_LIBOBJS=$gl_libobjs gl_LTLIBOBJS=$gl_ltlibobjs + gl_LIBOBJDEPS=$gl_libobjdeps + 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.Po" done fi gltests_LIBOBJS=$gltests_libobjs gltests_LTLIBOBJS=$gltests_ltlibobjs + gltests_LIBOBJDEPS=$gltests_libobjdeps + : "${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 @@ -24958,14 +30932,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 ;; #( @@ -24975,46 +30951,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&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 || @@ -25023,13 +30999,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 #(( @@ -25038,8 +31007,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 @@ -25051,30 +31024,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] @@ -25087,13 +31040,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. @@ -25120,18 +31074,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 @@ -25143,12 +31099,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` @@ -25179,7 +31136,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 @@ -25201,6 +31158,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*) @@ -25214,6 +31175,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 @@ -25255,7 +31222,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" @@ -25264,7 +31231,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 @@ -25326,8 +31293,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 libiconv $as_me 1.16, which was -generated by GNU Autoconf 2.69. Invocation command line was +This file was extended by libiconv $as_me 1.17, which was +generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -25389,14 +31356,16 @@ $config_commands Report bugs to the package provider." _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="\\ -libiconv config.status 1.16 -configured by $0, generated by GNU Autoconf 2.69, +libiconv config.status 1.17 +configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" -Copyright (C) 2012 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." @@ -25436,15 +31405,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'" @@ -25452,7 +31421,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;; @@ -25461,7 +31430,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=: ;; @@ -25489,7 +31458,7 @@ 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 shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" @@ -25503,7 +31472,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 @@ -25558,12 +31527,14 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' @@ -25729,13 +31700,13 @@ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ +FILECMD \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ sharedlib_from_linklib_cmd \ AR \ -AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ @@ -25911,9 +31882,9 @@ 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_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_COMMANDS+y} || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree @@ -26249,7 +32220,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 @@ -26257,17 +32228,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 @@ -26284,7 +32255,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 @@ -26308,9 +32279,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/ ;; @@ -26372,8 +32343,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=' @@ -26417,9 +32388,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" @@ -26435,20 +32406,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 @@ -26468,7 +32439,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 @@ -26488,8 +32459,8 @@ $as_echo X"$_am_arg" | s/.*/./; q'`/stamp-h$_am_stamp_count ;; - :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 @@ -26515,7 +32486,7 @@ esac for am_mf do # Strip MF so we end up with the name of the file. - am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` + 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 @@ -26527,7 +32498,7 @@ $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$am_mf" : 'X\(//\)[^/]' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$am_mf" | +printf "%s\n" X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -26549,7 +32520,7 @@ $as_echo X"$am_mf" | $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$am_mf" | +printf "%s\n" X/"$am_mf" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -26574,10 +32545,12 @@ $as_echo X/"$am_mf" | (exit $ac_status); } || am_rc=$? done if test $am_rc -ne 0; then - { { $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 $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the + 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; } @@ -26733,6 +32706,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -26751,8 +32727,11 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + # Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS +AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec @@ -27120,6 +33099,7 @@ _LT_EOF esac + ltmain=$ac_aux_dir/ltmain.sh @@ -27127,7 +33107,7 @@ ltmain=$ac_aux_dir/ltmain.sh # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ + $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || @@ -27458,7 +33438,7 @@ if test "$no_recursion" != yes; then ;; *) case $ac_arg in - *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append ac_sub_configure_args " '$ac_arg'" ;; esac @@ -27468,7 +33448,7 @@ if test "$no_recursion" != yes; then # in subdir configurations. ac_arg="--prefix=$prefix" case $ac_arg in - *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args" @@ -27489,17 +33469,17 @@ if test "$no_recursion" != yes; then test -d "$srcdir/$ac_dir" || continue ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)" - $as_echo "$as_me:${as_lineno-$LINENO}: $ac_msg" >&5 - $as_echo "$ac_msg" >&6 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_msg" >&5 + printf "%s\n" "$ac_msg" >&6 as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. 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/ ;; @@ -27529,17 +33509,15 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" - # Check for guested configure; otherwise get Cygnus style 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 ac_sub_configure=$ac_srcdir/configure.gnu elif test -f "$ac_srcdir/configure"; then ac_sub_configure=$ac_srcdir/configure - elif test -f "$ac_srcdir/configure.in"; then - # This should be Cygnus configure. - ac_sub_configure=$ac_aux_dir/configure else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $ac_dir" >&5 -$as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $ac_dir" >&5 +printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} ac_sub_configure= fi @@ -27552,8 +33530,8 @@ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} ac_sub_cache_file=$ac_top_build_prefix$cache_file ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 -$as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 +printf "%s\n" "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} # The eval makes quoting arguments work. eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \ --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" || @@ -27564,7 +33542,8 @@ $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cach done 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;} + { 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 + diff --git a/source/configure.ac b/source/configure.ac index ae619d4..fec4920 100644 --- a/source/configure.ac +++ b/source/configure.ac @@ -1,22 +1,22 @@ -dnl Copyright (C) 1999-2011, 2016, 2018-2019 Free Software Foundation, Inc. +dnl Copyright (C) 1999-2011, 2016, 2018-2022 Free Software Foundation, Inc. dnl This file is part of the GNU LIBICONV Library. dnl dnl The GNU LIBICONV Library is free software; you can redistribute it -dnl and/or modify it under the terms of the GNU Library General Public -dnl License as published by the Free Software Foundation; either version 2 +dnl and/or modify it under the terms of the GNU Lesser General Public +dnl License as published by the Free Software Foundation; either version 2.1 dnl of the License, or (at your option) any later version. dnl dnl The GNU LIBICONV Library is distributed in the hope that it will be dnl useful, but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Library General Public License for more details. +dnl Lesser General Public License for more details. dnl -dnl You should have received a copy of the GNU Library General Public +dnl You should have received a copy of the GNU Lesser General Public dnl License along with the GNU LIBICONV Library; see the file COPYING.LIB. dnl If not, see . -AC_PREREQ([2.63]) -AC_INIT([libiconv], [1.16]) +AC_PREREQ([2.64]) +AC_INIT([libiconv], [1.17]) AC_CONFIG_SRCDIR([lib/iconv.c]) AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE @@ -56,7 +56,7 @@ LT_INIT([disable-static win32-dll]) gl_RELOCATABLE AC_ARG_ENABLE([extra-encodings], - [AC_HELP_STRING([--enable-extra-encodings], + [AS_HELP_STRING([--enable-extra-encodings], [add support for a few rarely used encodings])], [AC_DEFINE([ENABLE_EXTRA], 1, [Define to 1 to enable a few rarely used encodings.]) @@ -105,7 +105,7 @@ gt_TYPE_WCHAR_T dnl checks for header files, functions and declarations -if test "$am_cv_func_iconv" = yes -a -n "$am_cv_proto_iconv_arg1"; then +if test "$am_cv_func_iconv" = yes -a -n "$iconv_arg1"; then ICONV_CONST="const" else ICONV_CONST="" @@ -152,7 +152,10 @@ gl_FCNTL_O_FLAGS AC_EILSEQ -CL_WORDS_LITTLEENDIAN +AC_C_BIGENDIAN([], + [AC_DEFINE([WORDS_LITTLEENDIAN], [1], + [Define if the machine's byte ordering is little endian.]) + ]) gl_INIT diff --git a/source/doc/relocatable.texi b/source/doc/relocatable.texi index fca0ea5..f8eec1e 100644 --- a/source/doc/relocatable.texi +++ b/source/doc/relocatable.texi @@ -8,7 +8,8 @@ and have it work correctly (including i18n). So many users need to go through @code{configure; make; make install} with all its dependencies, options, and hurdles. -Red Hat, Debian, and similar package systems solve the ``ease of +Most package management systems, that allow the user to install +pre-built binaries of the packages, solve the ``ease of installation'' problem, but they hardwire path names, usually to @file{/usr} or @file{/usr/local}. This means that users need root privileges to install a binary package, and prevents installing two @@ -52,9 +53,7 @@ make install DESTDIR=/tmp/inst$$ Installation with @option{--enable-relocatable} will not work for setuid or setgid executables, because such executables search only -system library paths for security reasons. Also, installation with -@option{--enable-relocatable} might not work on OpenBSD, when the -package contains shared libraries and libtool versions 1.5.xx are used. +system library paths for security reasons. The runtime penalty and size penalty are negligible on GNU/Linux (just one system call more when an executable is launched), and small on diff --git a/source/gnulib-local/lib/alloca.in.h b/source/gnulib-local/lib/alloca.in.h index 4b6ff00..02694d1 100644 --- a/source/gnulib-local/lib/alloca.in.h +++ b/source/gnulib-local/lib/alloca.in.h @@ -1,17 +1,17 @@ /* Memory allocation on the stack. Copyright (C) 1995, 1999, 2001-2007 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* When this file is included, it may be preceded only by preprocessor diff --git a/source/gnulib-local/m4/alloca.m4 b/source/gnulib-local/m4/alloca.m4 index 58a61f8..a0900ca 100644 --- a/source/gnulib-local/m4/alloca.m4 +++ b/source/gnulib-local/m4/alloca.m4 @@ -1,5 +1,5 @@ -# alloca.m4 serial 4 (gettext-0.18.2) -dnl Copyright (C) 2002-2003, 2006, 2011 Free Software Foundation, Inc. +# alloca.m4 serial 5 +dnl Copyright (C) 2002-2003, 2006, 2011, 2021-2022 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. @@ -22,10 +22,8 @@ AC_DEFUN([gl_FUNC_ALLOCA], Need own alloca #endif ], - ALLOCA_H=alloca.h, - ALLOCA_H=) - AC_SUBST([ALLOCA_H]) - AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"]) + [GL_GENERATE_ALLOCA_H=true], + [GL_GENERATE_ALLOCA_H=false]) ]) # Prerequisites of lib/alloca.c. diff --git a/source/gnulib-local/modules/mbstate b/source/gnulib-local/modules/mbstate index 24e70e8..b9ad703 100644 --- a/source/gnulib-local/modules/mbstate +++ b/source/gnulib-local/modules/mbstate @@ -14,7 +14,7 @@ Makefile.am: Include: License: -LGPL +LGPLv2+ Maintainer: Bruno Haible diff --git a/source/include/iconv.h b/source/include/iconv.h deleted file mode 100644 index 3b3fc50..0000000 --- a/source/include/iconv.h +++ /dev/null @@ -1,248 +0,0 @@ -/* Copyright (C) 1999-2019 Free Software Foundation, Inc. - This file is part of the GNU LIBICONV Library. - - The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - The GNU LIBICONV 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, see . */ - -/* When installed, this file is called "iconv.h". */ - -#ifndef _LIBICONV_H -#define _LIBICONV_H - -#define _LIBICONV_VERSION 0x0110 /* version number: (major<<8) + minor */ - -#ifdef BUILDING_LIBICONV -#define LIBICONV_DLL_EXPORTED __declspec(dllexport) -#elif LIBICONV_DLL -#define LIBICONV_DLL_EXPORTED __declspec(dllimport) -#else -#define LIBICONV_DLL_EXPORTED -#endif -extern LIBICONV_DLL_EXPORTED int _libiconv_version; - -/* We would like to #include any system header file which could define - iconv_t, 1. in order to eliminate the risk that the user gets compilation - errors because some other system header file includes /usr/include/iconv.h - which defines iconv_t or declares iconv after this file, 2. when compiling - for LIBICONV_PLUG, we need the proper iconv_t type in order to produce - binary compatible code. - But gcc's #include_next is not portable. Thus, once libiconv's iconv.h - has been installed in /usr/local/include, there is no way any more to - include the original /usr/include/iconv.h. We simply have to get away - without it. - Ad 1. The risk that a system header file does - #include "iconv.h" or #include_next "iconv.h" - is small. They all do #include . - Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It - has to be a scalar type because (iconv_t)(-1) is a possible return value - from iconv_open().) */ - -/* Define iconv_t ourselves. */ -#undef iconv_t -#define iconv_t libiconv_t -typedef void* iconv_t; - -/* Get size_t declaration. - Get wchar_t declaration if it exists. */ -#include - -/* Get errno declaration and values. */ -#include -/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, - have EILSEQ in a different header. On these systems, define EILSEQ - ourselves. */ -#ifndef EILSEQ -#define EILSEQ -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Allocates descriptor for code conversion from encoding `fromcode' to - encoding `tocode'. */ -#ifndef LIBICONV_PLUG -#define iconv_open libiconv_open -#endif -extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode); - -/* Converts, using conversion descriptor `cd', at most `*inbytesleft' bytes - starting at `*inbuf', writing at most `*outbytesleft' bytes starting at - `*outbuf'. - Decrements `*inbytesleft' and increments `*inbuf' by the same amount. - Decrements `*outbytesleft' and increments `*outbuf' by the same amount. */ -#ifndef LIBICONV_PLUG -#define iconv libiconv -#endif -extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); - -/* Frees resources allocated for conversion descriptor `cd'. */ -#ifndef LIBICONV_PLUG -#define iconv_close libiconv_close -#endif -extern LIBICONV_DLL_EXPORTED int iconv_close (iconv_t cd); - -#ifdef __cplusplus -} -#endif - -#ifndef LIBICONV_PLUG - -/* Nonstandard extensions. */ - -#if USE_MBSTATE_T -#if BROKEN_WCHAR_H -/* 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 -#endif -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* A type that holds all memory needed by a conversion descriptor. - A pointer to such an object can be used as an iconv_t. */ -typedef struct { - void* dummy1[28]; -#if USE_MBSTATE_T - mbstate_t dummy2; -#endif -} iconv_allocation_t; - -/* Allocates descriptor for code conversion from encoding ‘fromcode’ to - encoding ‘tocode’ into preallocated memory. Returns an error indicator - (0 or -1 with errno set). */ -#define iconv_open_into libiconv_open_into -extern int iconv_open_into (const char* tocode, const char* fromcode, - iconv_allocation_t* resultp); - -/* Control of attributes. */ -#define iconvctl libiconvctl -extern LIBICONV_DLL_EXPORTED int iconvctl (iconv_t cd, int request, void* argument); - -/* Hook performed after every successful conversion of a Unicode character. */ -typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); -/* Hook performed after every successful conversion of a wide character. */ -typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); -/* Set of hooks. */ -struct iconv_hooks { - iconv_unicode_char_hook uc_hook; - iconv_wide_char_hook wc_hook; - void* data; -}; - -/* Fallback function. Invoked when a small number of bytes could not be - converted to a Unicode character. This function should process all - bytes from inbuf and may produce replacement Unicode characters by calling - the write_replacement callback repeatedly. */ -typedef void (*iconv_unicode_mb_to_uc_fallback) - (const char* inbuf, size_t inbufsize, - void (*write_replacement) (const unsigned int *buf, size_t buflen, - void* callback_arg), - void* callback_arg, - void* data); -/* Fallback function. Invoked when a Unicode character could not be converted - to the target encoding. This function should process the character and - may produce replacement bytes (in the target encoding) by calling the - write_replacement callback repeatedly. */ -typedef void (*iconv_unicode_uc_to_mb_fallback) - (unsigned int code, - void (*write_replacement) (const char *buf, size_t buflen, - void* callback_arg), - void* callback_arg, - void* data); -#if 0 -/* Fallback function. Invoked when a number of bytes could not be converted to - a wide character. This function should process all bytes from inbuf and may - produce replacement wide characters by calling the write_replacement - callback repeatedly. */ -typedef void (*iconv_wchar_mb_to_wc_fallback) - (const char* inbuf, size_t inbufsize, - void (*write_replacement) (const wchar_t *buf, size_t buflen, - void* callback_arg), - void* callback_arg, - void* data); -/* Fallback function. Invoked when a wide character could not be converted to - the target encoding. This function should process the character and may - produce replacement bytes (in the target encoding) by calling the - write_replacement callback repeatedly. */ -typedef void (*iconv_wchar_wc_to_mb_fallback) - (wchar_t code, - void (*write_replacement) (const char *buf, size_t buflen, - void* callback_arg), - void* callback_arg, - void* data); -#else -/* If the wchar_t type does not exist, these two fallback functions are never - invoked. Their argument list therefore does not matter. */ -typedef void (*iconv_wchar_mb_to_wc_fallback) (); -typedef void (*iconv_wchar_wc_to_mb_fallback) (); -#endif -/* Set of fallbacks. */ -struct iconv_fallbacks { - iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; - iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; - iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; - iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; - void* data; -}; - -/* Requests for iconvctl. */ -#define ICONV_TRIVIALP 0 /* int *argument */ -#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ -#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ -#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ -#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ -#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ -#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ - -/* Listing of locale independent encodings. */ -#define iconvlist libiconvlist -extern LIBICONV_DLL_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount, - const char * const * names, - void* data), - void* data); - -/* Canonicalize an encoding name. - The result is either a canonical encoding name, or name itself. */ -extern LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name); - -/* Support for relocatable packages. */ - -/* Sets the original and the current installation prefix of the package. - Relocation simply replaces a pathname starting with the original prefix - by the corresponding pathname with the current prefix instead. Both - prefixes should be directory names without trailing slash (i.e. use "" - instead of "/"). */ -extern LIBICONV_DLL_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix, - const char *curr_prefix); - - -#ifdef __cplusplus -} -#endif - -#endif - - -#endif /* _LIBICONV_H */ diff --git a/source/include/iconv.h.build.in b/source/include/iconv.h.build.in index 872cf9c..f0bb532 100644 --- a/source/include/iconv.h.build.in +++ b/source/include/iconv.h.build.in @@ -1,17 +1,17 @@ -/* Copyright (C) 1999-2019 Free Software Foundation, Inc. +/* Copyright (C) 1999-2022 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ @@ -20,7 +20,7 @@ #ifndef _LIBICONV_H #define _LIBICONV_H -#define _LIBICONV_VERSION 0x0110 /* version number: (major<<8) + minor */ +#define _LIBICONV_VERSION 0x0111 /* version number: (major<<8) + minor */ #if @HAVE_VISIBILITY@ && BUILDING_LIBICONV #define LIBICONV_DLL_EXPORTED __attribute__((__visibility__("default"))) diff --git a/source/include/iconv.h.in b/source/include/iconv.h.in index ea39628..62f7b35 100644 --- a/source/include/iconv.h.in +++ b/source/include/iconv.h.in @@ -1,17 +1,17 @@ -/* Copyright (C) 1999-2019 Free Software Foundation, Inc. +/* Copyright (C) 1999-2022 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ @@ -20,7 +20,7 @@ #ifndef _LIBICONV_H #define _LIBICONV_H -#define _LIBICONV_VERSION 0x0110 /* version number: (major<<8) + minor */ +#define _LIBICONV_VERSION 0x0111 /* version number: (major<<8) + minor */ extern @DLL_VARIABLE@ int _libiconv_version; /* Likewise */ /* We would like to #include any system header file which could define diff --git a/source/lib/Makefile.in b/source/lib/Makefile.in index 47a6aec..6f832be 100644 --- a/source/lib/Makefile.in +++ b/source/lib/Makefile.in @@ -20,11 +20,16 @@ LDFLAGS_yes = -Wl,--export-all-symbols LDFLAGS_no = INCLUDES = -I. -I$(srcdir) -I../include -I$(srcdir)/../include -I.. -I$(srcdir)/.. # -DBUILDING_LIBICONV: Change expansion of LIBICONV_DLL_EXPORTED macro. +# -DBUILDING_LIBCHARSET: Change expansion of LIBCHARSET_DLL_EXPORTED macro in +# localcharset.h. # -DBUILDING_DLL: Change expansion of RELOCATABLE_DLL_EXPORTED macro. -DEFS = -DLIBDIR=\"$(libdir)\" -DBUILDING_LIBICONV -DBUILDING_DLL \ --DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \ --Dset_relocation_prefix=libiconv_set_relocation_prefix \ --Drelocate=libiconv_relocate -Drelocate2=libiconv_relocate2 @DEFS@ +DEFS = \ + -DLIBDIR=\"$(libdir)\" \ + -DBUILDING_LIBICONV -DBUILDING_LIBCHARSET -DBUILDING_DLL \ + -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \ + -Dset_relocation_prefix=libiconv_set_relocation_prefix \ + -Drelocate=libiconv_relocate \ + -Drelocate2=libiconv_relocate2 @DEFS@ LIBTOOL = @LIBTOOL@ LIBTOOL_COMPILE = $(LIBTOOL) --mode=compile LIBTOOL_LINK = $(LIBTOOL) --mode=link @@ -142,6 +147,7 @@ SOURCE_FILES = \ encodings_aix.def \ encodings_osf1.def \ encodings_dos.def \ + encodings_zos.def \ encodings_extra.def \ encodings_local.def \ translit.def \ @@ -323,6 +329,59 @@ SOURCE_FILES = \ cp865.h \ cp869.h \ cp1125.h \ + ebcdic037.h \ + ebcdic273.h \ + ebcdic277.h \ + ebcdic278.h \ + ebcdic280.h \ + ebcdic282.h \ + ebcdic284.h \ + ebcdic285.h \ + ebcdic297.h \ + ebcdic423.h \ + ebcdic424.h \ + ebcdic425.h \ + ebcdic500.h \ + ebcdic838.h \ + ebcdic870.h \ + ebcdic871.h \ + ebcdic875.h \ + ebcdic880.h \ + ebcdic905.h \ + ebcdic924.h \ + ebcdic1025.h \ + ebcdic1026.h \ + ebcdic1047.h \ + ebcdic1097.h \ + ebcdic1112.h \ + ebcdic1122.h \ + ebcdic1123.h \ + ebcdic1130.h \ + ebcdic1132.h \ + ebcdic1137.h \ + ebcdic1140.h \ + ebcdic1141.h \ + ebcdic1142.h \ + ebcdic1143.h \ + ebcdic1144.h \ + ebcdic1145.h \ + ebcdic1146.h \ + ebcdic1147.h \ + ebcdic1148.h \ + ebcdic1149.h \ + ebcdic1153.h \ + ebcdic1154.h \ + ebcdic1155.h \ + ebcdic1156.h \ + ebcdic1157.h \ + ebcdic1158.h \ + ebcdic1160.h \ + ebcdic1164.h \ + ebcdic1165.h \ + ebcdic1166.h \ + ebcdic4971.h \ + ebcdic12712.h \ + ebcdic16804.h \ euc_jisx0213.h \ jisx0213.h \ shift_jisx0213.h \ @@ -349,11 +408,13 @@ GENERATED_FILES = \ aliases_aix.h aliases_aix_sysaix.h \ aliases_osf1.h aliases_osf1_sysosf1.h \ aliases_dos.h \ + aliases_zos.h \ aliases_extra.h \ canonical.h canonical_sysaix.h canonical_syshpux.h canonical_sysosf1.h canonical_syssolaris.h \ canonical_aix.h canonical_aix_sysaix.h \ canonical_osf1.h canonical_osf1_sysosf1.h \ canonical_dos.h \ + canonical_zos.h \ canonical_extra.h \ canonical_local.h canonical_local_sysaix.h canonical_local_syshpux.h canonical_local_sysosf1.h canonical_local_syssolaris.h \ flags.h \ diff --git a/source/lib/aliases.h b/source/lib/aliases.h index a59476b..6d3039c 100644 --- a/source/lib/aliases.h +++ b/source/lib/aliases.h @@ -1,15 +1,7 @@ -/* ANSI-C code produced by gperf version 3.1 */ +/* ANSI-C code produced by gperf version 3.2 */ /* Command-line: gperf -m 10 lib/aliases.gperf */ /* Computed positions: -k'1,3-11,$' */ -#ifndef INT_PTR -#if _WIN64 -#define INT_PTR __int64 -#else -#define INT_PTR __int32 -#endif -#endif - #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ @@ -79,30 +71,75 @@ aliases_hash (register const char *str, register size_t len) { default: hval += asso_values[(unsigned char)str[10]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 10: hval += asso_values[(unsigned char)str[9]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 9: hval += asso_values[(unsigned char)str[8]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 8: hval += asso_values[(unsigned char)str[7]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 7: hval += asso_values[(unsigned char)str[6]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 6: hval += asso_values[(unsigned char)str[5]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 5: hval += asso_values[(unsigned char)str[4]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 4: hval += asso_values[(unsigned char)str[3]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 3: hval += asso_values[(unsigned char)str[2]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 2: case 1: @@ -823,890 +860,890 @@ static const struct alias aliases[] = {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 134 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str15, ei_iso8859_10}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, ei_iso8859_10}, {-1}, #line 60 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str17, ei_iso8859_1}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, ei_iso8859_1}, {-1}, {-1}, #line 288 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str20, ei_iso646_cn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, ei_iso646_cn}, {-1}, {-1}, {-1}, {-1}, #line 84 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str25, ei_iso8859_4}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, ei_iso8859_4}, {-1}, #line 126 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str27, ei_iso8859_9}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, ei_iso8859_9}, {-1}, {-1}, #line 227 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str30, ei_hp_roman8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, ei_hp_roman8}, {-1}, {-1}, #line 151 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str33, ei_iso8859_14}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, ei_iso8859_14}, #line 308 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str34, ei_sjis}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, ei_sjis}, {-1}, #line 207 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str36, ei_cp866}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, ei_cp866}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 68 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str43, ei_iso8859_2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, ei_iso8859_2}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 16 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str51, ei_ascii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str51, ei_ascii}, {-1}, {-1}, #line 205 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str54, ei_cp866}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str54, ei_cp866}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 51 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str64, ei_c99}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64, ei_c99}, #line 252 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str65, ei_tis620}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str65, ei_tis620}, #line 320 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str66, ei_euc_cn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str66, ei_euc_cn}, #line 133 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str67, ei_iso8859_10}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str67, ei_iso8859_10}, {-1}, {-1}, #line 236 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str70, ei_pt154}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str70, ei_pt154}, #line 59 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str71, ei_iso8859_1}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str71, ei_iso8859_1}, #line 319 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str72, ei_euc_cn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str72, ei_euc_cn}, {-1}, #line 91 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str74, ei_iso8859_5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str74, ei_iso8859_5}, {-1}, #line 286 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str76, ei_iso646_cn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str76, ei_iso646_cn}, {-1}, #line 332 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str78, ei_hz}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str78, ei_hz}, #line 264 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str79, ei_iso646_jp}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str79, ei_iso646_jp}, {-1}, {-1}, {-1}, {-1}, #line 189 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str84, ei_cp1256}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str84, ei_cp1256}, {-1}, {-1}, #line 83 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str87, ei_iso8859_4}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str87, ei_iso8859_4}, #line 174 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str88, ei_cp1251}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str88, ei_cp1251}, #line 294 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str89, ei_isoir165}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str89, ei_isoir165}, {-1}, #line 125 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str91, ei_iso8859_9}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str91, ei_iso8859_9}, #line 203 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str92, ei_cp862}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str92, ei_cp862}, #line 107 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str93, ei_iso8859_7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str93, ei_iso8859_7}, {-1}, #line 90 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str95, ei_iso8859_5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str95, ei_iso8859_5}, #line 57 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str96, ei_iso8859_1}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str96, ei_iso8859_1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 150 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str103, ei_iso8859_14}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str103, ei_iso8859_14}, #line 183 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str104, ei_cp1254}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str104, ei_cp1254}, #line 291 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str105, ei_gb2312}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str105, ei_gb2312}, #line 353 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str106, ei_cp949}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str106, ei_cp949}, {-1}, #line 186 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str108, ei_cp1255}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str108, ei_cp1255}, {-1}, #line 201 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str110, ei_cp862}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str110, ei_cp862}, #line 124 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str111, ei_iso8859_9}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str111, ei_iso8859_9}, #line 76 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str112, ei_iso8859_3}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str112, ei_iso8859_3}, #line 158 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str113, ei_iso8859_15}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str113, ei_iso8859_15}, #line 293 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str114, ei_gb2312}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str114, ei_gb2312}, #line 299 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str115, ei_ksc5601}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str115, ei_ksc5601}, {-1}, #line 283 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str117, ei_jisx0212}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str117, ei_jisx0212}, {-1}, #line 163 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str119, ei_iso8859_16}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str119, ei_iso8859_16}, #line 195 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str120, ei_cp1258}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str120, ei_cp1258}, #line 234 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str121, ei_pt154}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str121, ei_pt154}, {-1}, #line 67 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str123, ei_iso8859_2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str123, ei_iso8859_2}, #line 102 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str124, ei_iso8859_6}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str124, ei_iso8859_6}, #line 149 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str125, ei_iso8859_14}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str125, ei_iso8859_14}, {-1}, {-1}, #line 62 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str128, ei_iso8859_1}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str128, ei_iso8859_1}, #line 152 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str129, ei_iso8859_14}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str129, ei_iso8859_14}, #line 94 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str130, ei_iso8859_6}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str130, ei_iso8859_6}, #line 95 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str131, ei_iso8859_6}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str131, ei_iso8859_6}, #line 166 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str132, ei_iso8859_16}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str132, ei_iso8859_16}, {-1}, #line 53 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str134, ei_iso8859_1}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str134, ei_iso8859_1}, #line 54 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str135, ei_iso8859_1}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str135, ei_iso8859_1}, #line 139 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str136, ei_iso8859_11}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str136, ei_iso8859_11}, {-1}, #line 160 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str138, ei_iso8859_16}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str138, ei_iso8859_16}, #line 161 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str139, ei_iso8859_16}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str139, ei_iso8859_16}, #line 177 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str140, ei_cp1252}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str140, ei_cp1252}, {-1}, #line 137 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str142, ei_iso8859_11}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str142, ei_iso8859_11}, #line 138 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str143, ei_iso8859_11}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str143, ei_iso8859_11}, #line 86 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str144, ei_iso8859_4}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str144, ei_iso8859_4}, #line 356 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str145, ei_johab}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str145, ei_johab}, #line 162 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str146, ei_iso8859_16}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str146, ei_iso8859_16}, #line 209 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str147, ei_cp1131}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str147, ei_cp1131}, #line 93 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str148, ei_iso8859_5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str148, ei_iso8859_5}, {-1}, #line 79 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str150, ei_iso8859_4}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str150, ei_iso8859_4}, #line 80 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str151, ei_iso8859_4}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str151, ei_iso8859_4}, #line 153 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str152, ei_iso8859_14}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str152, ei_iso8859_14}, #line 325 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str153, ei_cp936}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str153, ei_cp936}, #line 87 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_5}, #line 88 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str155, ei_iso8859_5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str155, ei_iso8859_5}, #line 159 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str156, ei_iso8859_15}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str156, ei_iso8859_15}, #line 212 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str157, ei_mac_roman}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str157, ei_mac_roman}, #line 146 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str158, ei_iso8859_14}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str158, ei_iso8859_14}, #line 147 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str159, ei_iso8859_14}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str159, ei_iso8859_14}, #line 120 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str160, ei_iso8859_8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str160, ei_iso8859_8}, #line 66 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str161, ei_iso8859_2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str161, ei_iso8859_2}, #line 154 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str162, ei_iso8859_15}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str162, ei_iso8859_15}, #line 155 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str163, ei_iso8859_15}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str163, ei_iso8859_15}, #line 128 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str164, ei_iso8859_9}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str164, ei_iso8859_9}, {-1}, #line 114 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str166, ei_iso8859_8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str166, ei_iso8859_8}, #line 115 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str167, ei_iso8859_8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str167, ei_iso8859_8}, {-1}, {-1}, #line 121 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str170, ei_iso8859_9}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str170, ei_iso8859_9}, #line 122 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str171, ei_iso8859_9}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str171, ei_iso8859_9}, #line 148 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str172, ei_iso8859_14}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str172, ei_iso8859_14}, {-1}, #line 156 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str174, ei_iso8859_15}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str174, ei_iso8859_15}, {-1}, #line 239 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str176, ei_rk1048}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str176, ei_rk1048}, {-1}, {-1}, #line 109 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str179, ei_iso8859_7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str179, ei_iso8859_7}, #line 70 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str180, ei_iso8859_2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str180, ei_iso8859_2}, {-1}, #line 206 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str182, ei_cp866}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str182, ei_cp866}, #line 144 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str183, ei_iso8859_13}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str183, ei_iso8859_13}, #line 21 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str184, ei_ascii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str184, ei_ascii}, {-1}, #line 63 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str186, ei_iso8859_2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str186, ei_iso8859_2}, #line 64 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str187, ei_iso8859_2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str187, ei_iso8859_2}, {-1}, {-1}, #line 282 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str190, ei_jisx0212}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str190, ei_jisx0212}, {-1}, {-1}, #line 359 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str193, ei_local_char}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str193, ei_local_char}, {-1}, {-1}, #line 235 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str196, ei_pt154}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str196, ei_pt154}, #line 74 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str197, ei_iso8859_3}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str197, ei_iso8859_3}, #line 117 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str198, ei_iso8859_8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str198, ei_iso8859_8}, #line 354 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str199, ei_cp949}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str199, ei_cp949}, {-1}, {-1}, #line 13 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str202, ei_ascii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str202, ei_ascii}, {-1}, #line 176 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str204, ei_cp1251}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str204, ei_cp1251}, #line 165 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str205, ei_iso8859_16}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str205, ei_iso8859_16}, #line 255 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str206, ei_viscii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str206, ei_viscii}, {-1}, {-1}, #line 311 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str209, ei_cp932}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str209, ei_cp932}, #line 337 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str210, ei_ces_big5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str210, ei_ces_big5}, #line 258 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str211, ei_tcvn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str211, ei_tcvn}, #line 318 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str212, ei_iso2022_jpms}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str212, ei_iso2022_jpms}, {-1}, {-1}, {-1}, #line 338 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str216, ei_ces_big5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str216, ei_ces_big5}, #line 173 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str217, ei_cp1250}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str217, ei_cp1250}, {-1}, {-1}, #line 199 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str220, ei_cp850}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str220, ei_cp850}, {-1}, #line 33 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str222, ei_ucs4}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str222, ei_ucs4}, #line 22 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str223, ei_ascii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str223, ei_ascii}, #line 58 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str224, ei_iso8859_1}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str224, ei_iso8859_1}, #line 257 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str225, ei_viscii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str225, ei_viscii}, {-1}, #line 321 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str227, ei_euc_cn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str227, ei_euc_cn}, #line 269 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str228, ei_jisx0201}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str228, ei_jisx0201}, #line 342 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str229, ei_ces_big5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str229, ei_ces_big5}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 341 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str235, ei_ces_big5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str235, ei_ces_big5}, #line 167 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str236, ei_koi8_r}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str236, ei_koi8_r}, #line 351 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str237, ei_euc_kr}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str237, ei_euc_kr}, #line 202 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str238, ei_cp862}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str238, ei_cp862}, #line 238 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str239, ei_pt154}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str239, ei_pt154}, #line 35 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str240, ei_ucs4}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str240, ei_ucs4}, #line 14 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str241, ei_ascii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str241, ei_ascii}, #line 253 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str242, ei_cp874}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str242, ei_cp874}, #line 350 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str243, ei_euc_kr}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str243, ei_euc_kr}, #line 256 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str244, ei_viscii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str244, ei_viscii}, {-1}, #line 15 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str246, ei_ascii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str246, ei_ascii}, {-1}, #line 218 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str248, ei_mac_cyrillic}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str248, ei_mac_cyrillic}, #line 168 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str249, ei_koi8_r}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str249, ei_koi8_r}, #line 197 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str250, ei_cp850}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str250, ei_cp850}, #line 82 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str251, ei_iso8859_4}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str251, ei_iso8859_4}, #line 343 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str252, ei_cp950}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str252, ei_cp950}, {-1}, #line 329 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str254, ei_iso2022_cn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str254, ei_iso2022_cn}, #line 295 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str255, ei_isoir165}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str255, ei_isoir165}, {-1}, #line 237 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str257, ei_pt154}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str257, ei_pt154}, #line 24 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str258, ei_ucs2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str258, ei_ucs2}, #line 164 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str259, ei_iso8859_16}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str259, ei_iso8859_16}, #line 275 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str260, ei_jisx0208}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str260, ei_jisx0208}, #line 75 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str261, ei_iso8859_3}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str261, ei_iso8859_3}, {-1}, #line 330 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str263, ei_iso2022_cn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str263, ei_iso2022_cn}, #line 131 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str264, ei_iso8859_10}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str264, ei_iso8859_10}, {-1}, {-1}, #line 37 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str267, ei_ucs4le}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str267, ei_ucs4le}, #line 171 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str268, ei_cp1250}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str268, ei_cp1250}, {-1}, {-1}, #line 135 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str271, ei_iso8859_10}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str271, ei_iso8859_10}, {-1}, #line 142 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str273, ei_iso8859_13}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str273, ei_iso8859_13}, #line 326 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str274, ei_cp936}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str274, ei_cp936}, #line 61 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str275, ei_iso8859_1}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str275, ei_iso8859_1}, #line 247 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str276, ei_tis620}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str276, ei_tis620}, {-1}, #line 180 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str278, ei_cp1253}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str278, ei_cp1253}, {-1}, {-1}, #line 331 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str281, ei_iso2022_cn_ext}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str281, ei_iso2022_cn_ext}, #line 246 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str282, ei_tis620}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str282, ei_tis620}, {-1}, {-1}, #line 31 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str285, ei_ucs2le}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str285, ei_ucs2le}, #line 233 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str286, ei_koi8_t}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str286, ei_koi8_t}, {-1}, {-1}, {-1}, #line 92 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str290, ei_iso8859_5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str290, ei_iso8859_5}, #line 85 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str291, ei_iso8859_4}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str291, ei_iso8859_4}, {-1}, {-1}, {-1}, #line 127 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str295, ei_iso8859_9}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str295, ei_iso8859_9}, #line 29 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str296, ei_ucs2be}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str296, ei_ucs2be}, {-1}, {-1}, {-1}, {-1}, #line 110 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str301, ei_iso8859_7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str301, ei_iso8859_7}, #line 49 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str302, ei_ucs4internal}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str302, ei_ucs4internal}, {-1}, #line 30 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str304, ei_ucs2be}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str304, ei_ucs2be}, {-1}, #line 26 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str306, ei_ucs2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str306, ei_ucs2}, #line 249 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str307, ei_tis620}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str307, ei_tis620}, {-1}, {-1}, {-1}, #line 229 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str311, ei_nextstep}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str311, ei_nextstep}, #line 232 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str312, ei_georgian_ps}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str312, ei_georgian_ps}, {-1}, {-1}, {-1}, #line 136 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str316, ei_iso8859_10}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str316, ei_iso8859_10}, {-1}, #line 78 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str318, ei_iso8859_3}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str318, ei_iso8859_3}, {-1}, #line 47 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str320, ei_ucs2internal}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str320, ei_ucs2internal}, {-1}, #line 129 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str322, ei_iso8859_10}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str322, ei_iso8859_10}, #line 130 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str323, ei_iso8859_10}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str323, ei_iso8859_10}, #line 71 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str324, ei_iso8859_3}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str324, ei_iso8859_3}, #line 72 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str325, ei_iso8859_3}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str325, ei_iso8859_3}, #line 145 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str326, ei_iso8859_13}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str326, ei_iso8859_13}, #line 69 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str327, ei_iso8859_2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str327, ei_iso8859_2}, {-1}, #line 285 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str329, ei_iso646_cn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str329, ei_iso646_cn}, {-1}, {-1}, #line 140 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str332, ei_iso8859_13}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str332, ei_iso8859_13}, #line 141 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str333, ei_iso8859_13}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str333, ei_iso8859_13}, {-1}, {-1}, {-1}, #line 244 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str337, ei_cp1133}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str337, ei_cp1133}, {-1}, #line 179 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str339, ei_cp1252}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str339, ei_cp1252}, {-1}, #line 56 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str341, ei_iso8859_1}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str341, ei_iso8859_1}, {-1}, {-1}, #line 296 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str344, ei_ksc5601}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str344, ei_ksc5601}, {-1}, {-1}, {-1}, {-1}, #line 211 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str349, ei_mac_roman}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str349, ei_mac_roman}, {-1}, {-1}, #line 322 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str352, ei_euc_cn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str352, ei_euc_cn}, {-1}, #line 208 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str354, ei_cp866}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str354, ei_cp866}, #line 34 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str355, ei_ucs4}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str355, ei_ucs4}, {-1}, #line 81 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str357, ei_iso8859_4}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str357, ei_iso8859_4}, {-1}, #line 89 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str359, ei_iso8859_5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str359, ei_iso8859_5}, {-1}, #line 38 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str361, ei_utf16}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str361, ei_utf16}, {-1}, #line 241 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str363, ei_rk1048}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str363, ei_rk1048}, #line 226 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str364, ei_hp_roman8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str364, ei_hp_roman8}, #line 116 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str365, ei_iso8859_8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str365, ei_iso8859_8}, #line 32 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str366, ei_ucs2le}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str366, ei_ucs2le}, {-1}, {-1}, #line 123 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str369, ei_iso8859_9}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str369, ei_iso8859_9}, {-1}, {-1}, #line 265 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str372, ei_iso646_jp}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str372, ei_iso646_jp}, #line 25 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str373, ei_ucs2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str373, ei_ucs2}, {-1}, #line 243 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str375, ei_mulelao}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str375, ei_mulelao}, #line 242 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str376, ei_rk1048}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str376, ei_rk1048}, #line 157 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str377, ei_iso8859_15}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str377, ei_iso8859_15}, #line 198 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str378, ei_cp850}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str378, ei_cp850}, {-1}, #line 248 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str380, ei_tis620}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str380, ei_tis620}, {-1}, #line 98 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str382, ei_iso8859_6}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str382, ei_iso8859_6}, {-1}, {-1}, {-1}, #line 298 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str386, ei_ksc5601}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str386, ei_ksc5601}, {-1}, #line 324 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str388, ei_ces_gbk}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str388, ei_ces_gbk}, #line 23 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str389, ei_utf8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str389, ei_utf8}, {-1}, #line 230 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str391, ei_armscii_8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str391, ei_armscii_8}, #line 12 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str392, ei_ascii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str392, ei_ascii}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 108 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str398, ei_iso8859_7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str398, ei_iso8859_7}, #line 323 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str399, ei_euc_cn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str399, ei_euc_cn}, {-1}, {-1}, {-1}, #line 143 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str403, ei_iso8859_13}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str403, ei_iso8859_13}, #line 301 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str404, ei_ksc5601}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str404, ei_ksc5601}, #line 287 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str405, ei_iso646_cn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str405, ei_iso646_cn}, {-1}, {-1}, #line 188 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str408, ei_cp1255}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str408, ei_cp1255}, #line 266 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str409, ei_iso646_jp}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str409, ei_iso646_jp}, {-1}, #line 276 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str411, ei_jisx0208}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str411, ei_jisx0208}, {-1}, #line 132 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str413, ei_iso8859_10}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str413, ei_iso8859_10}, {-1}, {-1}, #line 40 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str416, ei_utf16le}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str416, ei_utf16le}, {-1}, #line 36 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str418, ei_ucs4be}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str418, ei_ucs4be}, {-1}, #line 192 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str420, ei_cp1257}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str420, ei_cp1257}, #line 18 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str421, ei_ascii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str421, ei_ascii}, {-1}, {-1}, #line 352 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str424, ei_euc_kr}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str424, ei_euc_kr}, #line 357 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str425, ei_iso2022_kr}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str425, ei_iso2022_kr}, #line 290 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str426, ei_gb2312}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str426, ei_gb2312}, {-1}, {-1}, #line 97 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str429, ei_iso8859_6}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str429, ei_iso8859_6}, #line 224 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str430, ei_mac_thai}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str430, ei_mac_thai}, #line 335 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str431, ei_euc_tw}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str431, ei_euc_tw}, {-1}, #line 304 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str433, ei_euc_jp}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str433, ei_euc_jp}, #line 358 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str434, ei_iso2022_kr}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str434, ei_iso2022_kr}, {-1}, #line 27 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str436, ei_ucs2be}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str436, ei_ucs2be}, #line 334 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str437, ei_euc_tw}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str437, ei_euc_tw}, {-1}, #line 17 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str439, ei_ascii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str439, ei_ascii}, #line 111 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str440, ei_iso8859_7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str440, ei_iso8859_7}, {-1}, #line 215 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str442, ei_mac_iceland}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str442, ei_mac_iceland}, #line 328 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str443, ei_gb18030}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str443, ei_gb18030}, #line 73 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str444, ei_iso8859_3}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str444, ei_iso8859_3}, #line 101 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str445, ei_iso8859_6}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str445, ei_iso8859_6}, #line 231 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str446, ei_georgian_academy}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str446, ei_georgian_academy}, {-1}, #line 225 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str448, ei_hp_roman8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str448, ei_hp_roman8}, {-1}, {-1}, {-1}, {-1}, #line 251 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str453, ei_tis620}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str453, ei_tis620}, {-1}, #line 28 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str455, ei_ucs2be}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str455, ei_ucs2be}, {-1}, {-1}, {-1}, #line 260 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str459, ei_tcvn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str459, ei_tcvn}, #line 113 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str460, ei_iso8859_7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str460, ei_iso8859_7}, #line 289 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str461, ei_iso646_cn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str461, ei_iso646_cn}, {-1}, #line 214 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str463, ei_mac_centraleurope}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str463, ei_mac_centraleurope}, #line 112 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str464, ei_iso8859_7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str464, ei_iso8859_7}, #line 77 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str465, ei_iso8859_3}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str465, ei_iso8859_3}, #line 103 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str466, ei_iso8859_7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str466, ei_iso8859_7}, #line 104 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str467, ei_iso8859_7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str467, ei_iso8859_7}, #line 45 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str468, ei_utf7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str468, ei_utf7}, #line 19 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str469, ei_ascii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str469, ei_ascii}, #line 333 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str470, ei_hz}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str470, ei_hz}, {-1}, {-1}, #line 303 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str473, ei_euc_jp}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str473, ei_euc_jp}, #line 46 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str474, ei_utf7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str474, ei_utf7}, {-1}, #line 210 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str476, ei_mac_roman}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str476, ei_mac_roman}, #line 259 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str477, ei_tcvn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str477, ei_tcvn}, {-1}, #line 302 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str479, ei_euc_jp}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str479, ei_euc_jp}, {-1}, {-1}, {-1}, #line 263 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str483, ei_iso646_jp}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str483, ei_iso646_jp}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 348 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str489, ei_big5hkscs2008}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str489, ei_big5hkscs2008}, #line 292 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str490, ei_gb2312}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str490, ei_gb2312}, {-1}, #line 190 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str492, ei_cp1256}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str492, ei_cp1256}, {-1}, #line 175 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str494, ei_cp1251}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str494, ei_cp1251}, #line 347 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str495, ei_big5hkscs2008}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str495, ei_big5hkscs2008}, #line 360 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str496, ei_local_wchar_t}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str496, ei_local_wchar_t}, #line 96 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str497, ei_iso8859_6}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str497, ei_iso8859_6}, {-1}, #line 55 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str499, ei_iso8859_1}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str499, ei_iso8859_1}, {-1}, {-1}, #line 184 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str502, ei_cp1254}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str502, ei_cp1254}, {-1}, #line 187 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str504, ei_cp1255}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str504, ei_cp1255}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 196 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str510, ei_cp1258}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str510, ei_cp1258}, {-1}, #line 41 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str512, ei_utf32}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str512, ei_utf32}, {-1}, {-1}, {-1}, #line 119 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str516, ei_iso8859_8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str516, ei_iso8859_8}, #line 228 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str517, ei_hp_roman8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str517, ei_hp_roman8}, {-1}, #line 284 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str519, ei_jisx0212}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str519, ei_jisx0212}, #line 178 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str520, ei_cp1252}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str520, ei_cp1252}, {-1}, #line 240 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str522, ei_rk1048}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str522, ei_rk1048}, {-1}, {-1}, #line 65 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str525, ei_iso8859_2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str525, ei_iso8859_2}, {-1}, {-1}, {-1}, #line 100 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str529, ei_iso8859_6}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str529, ei_iso8859_6}, #line 213 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str530, ei_mac_roman}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str530, ei_mac_roman}, {-1}, {-1}, {-1}, #line 297 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str534, ei_ksc5601}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str534, ei_ksc5601}, {-1}, #line 262 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str536, ei_iso646_jp}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str536, ei_iso646_jp}, #line 277 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str537, ei_jisx0208}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str537, ei_jisx0208}, {-1}, #line 43 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str539, ei_utf32le}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str539, ei_utf32le}, {-1}, {-1}, {-1}, #line 250 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str543, ei_tis620}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str543, ei_tis620}, {-1}, {-1}, #line 245 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str546, ei_cp1133}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str546, ei_cp1133}, #line 307 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str547, ei_sjis}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str547, ei_sjis}, #line 306 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str548, ei_sjis}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str548, ei_sjis}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 204 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str555, ei_cp862}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str555, ei_cp862}, {-1}, #line 340 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str557, ei_ces_big5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str557, ei_ces_big5}, {-1}, {-1}, #line 300 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str560, ei_ksc5601}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str560, ei_ksc5601}, {-1}, #line 216 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str562, ei_mac_croatian}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str562, ei_mac_croatian}, #line 339 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str563, ei_ces_big5}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str563, ei_ces_big5}, {-1}, {-1}, #line 327 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str566, ei_cp936}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str566, ei_cp936}, #line 39 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str567, ei_utf16be}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str567, ei_utf16be}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 169 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str574, ei_koi8_u}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str574, ei_koi8_u}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 170 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str580, ei_koi8_ru}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str580, ei_koi8_ru}, {-1}, {-1}, {-1}, #line 172 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str584, ei_cp1250}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str584, ei_cp1250}, #line 182 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str585, ei_cp1253}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str585, ei_cp1253}, {-1}, {-1}, {-1}, #line 181 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str589, ei_cp1253}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str589, ei_cp1253}, {-1}, #line 220 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str591, ei_mac_greek}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str591, ei_mac_greek}, #line 200 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str592, ei_cp850}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str592, ei_cp850}, {-1}, #line 106 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str594, ei_iso8859_7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str594, ei_iso8859_7}, {-1}, #line 274 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str596, ei_jisx0208}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str596, ei_jisx0208}, #line 20 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str597, ei_ascii}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str597, ei_ascii}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 314 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str608, ei_iso2022_jp1}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str608, ei_iso2022_jp1}, {-1}, #line 317 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str610, ei_iso2022_jpms}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str610, ei_iso2022_jpms}, {-1}, {-1}, #line 279 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str613, ei_jisx0212}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str613, ei_jisx0212}, {-1}, {-1}, {-1}, {-1}, #line 336 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str618, ei_euc_tw}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str618, ei_euc_tw}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 310 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str624, ei_sjis}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str624, ei_sjis}, #line 118 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str625, ei_iso8859_8}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str625, ei_iso8859_8}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 315 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str634, ei_iso2022_jp2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str634, ei_iso2022_jp2}, #line 99 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str635, ei_iso8859_6}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str635, ei_iso8859_6}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 316 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str642, ei_iso2022_jp2}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str642, ei_iso2022_jp2}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 267 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str651, ei_jisx0201}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str651, ei_jisx0201}, {-1}, {-1}, {-1}, #line 254 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str655, ei_cp874}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str655, ei_cp874}, {-1}, {-1}, {-1}, {-1}, #line 193 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str660, ei_cp1257}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str660, ei_cp1257}, #line 312 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str661, ei_iso2022_jp}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str661, ei_iso2022_jp}, {-1}, {-1}, {-1}, #line 105 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str665, ei_iso8859_7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str665, ei_iso8859_7}, #line 278 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str666, ei_jisx0208}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str666, ei_jisx0208}, {-1}, {-1}, {-1}, #line 313 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str670, ei_iso2022_jp}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str670, ei_iso2022_jp}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 223 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str680, ei_mac_arabic}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str680, ei_mac_arabic}, {-1}, {-1}, #line 271 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str683, ei_jisx0208}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str683, ei_jisx0208}, #line 268 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str684, ei_jisx0201}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str684, ei_jisx0201}, {-1}, {-1}, {-1}, {-1}, #line 44 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str689, ei_utf7}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str689, ei_utf7}, #line 42 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str690, ei_utf32be}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str690, ei_utf32be}, {-1}, #line 345 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str692, ei_big5hkscs2001}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str692, ei_big5hkscs2001}, {-1}, #line 281 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str694, ei_jisx0212}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str694, ei_jisx0212}, {-1}, {-1}, #line 280 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str697, ei_jisx0212}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str697, ei_jisx0212}, {-1}, {-1}, #line 346 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str700, ei_big5hkscs2004}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str700, ei_big5hkscs2004}, {-1}, #line 221 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str702, ei_mac_turkish}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str702, ei_mac_turkish}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 349 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str708, ei_big5hkscs2008}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str708, ei_big5hkscs2008}, {-1}, #line 344 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str710, ei_big5hkscs1999}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str710, ei_big5hkscs1999}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 185 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str725, ei_cp1254}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str725, ei_cp1254}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 50 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str732, ei_ucs4swapped}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str732, ei_ucs4swapped}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 219 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str749, ei_mac_ukraine}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str749, ei_mac_ukraine}, #line 48 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str750, ei_ucs2swapped}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str750, ei_ucs2swapped}, {-1}, #line 261 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str752, ei_tcvn}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str752, ei_tcvn}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 273 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str774, ei_jisx0208}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str774, ei_jisx0208}, {-1}, {-1}, {-1}, {-1}, #line 272 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str779, ei_jisx0208}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str779, ei_jisx0208}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 222 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str796, ei_mac_hebrew}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str796, ei_mac_hebrew}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 191 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str803, ei_cp1256}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str803, ei_cp1256}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 52 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str811, ei_java}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str811, ei_java}, {-1}, #line 217 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str813, ei_mac_romania}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str813, ei_mac_romania}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 309 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str827, ei_sjis}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str827, ei_sjis}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 194 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str837, ei_cp1257}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str837, ei_cp1257}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 305 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str866, ei_euc_jp}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str866, ei_euc_jp}, {-1}, {-1}, #line 355 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str869, ei_johab}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str869, ei_johab}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, @@ -1714,10 +1751,10 @@ static const struct alias aliases[] = {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 270 "lib/aliases.gperf" - {(int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str921, ei_jisx0201} + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str921, ei_jisx0201} }; -const struct alias * +static const struct alias * aliases_lookup (register const char *str, register size_t len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) diff --git a/source/lib/aliases.h.orig b/source/lib/aliases.h.orig deleted file mode 100644 index ee7adf6..0000000 --- a/source/lib/aliases.h.orig +++ /dev/null @@ -1,1732 +0,0 @@ -/* ANSI-C code produced by gperf version 3.1 */ -/* Command-line: gperf -m 10 lib/aliases.gperf */ -/* Computed positions: -k'1,3-11,$' */ - -#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 1 "lib/aliases.gperf" -struct alias { int name; unsigned int encoding_index; }; - -#define TOTAL_KEYWORDS 349 -#define MIN_WORD_LENGTH 2 -#define MAX_WORD_LENGTH 45 -#define MIN_HASH_VALUE 15 -#define MAX_HASH_VALUE 921 -/* maximum key range = 907, duplicates = 0 */ - -#ifdef __GNUC__ -__inline -#else -#ifdef __cplusplus -inline -#endif -#endif -static unsigned int -aliases_hash (register const char *str, register size_t len) -{ - static const unsigned short asso_values[] = - { - 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, - 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, - 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, - 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, - 922, 922, 922, 922, 922, 5, 6, 922, 97, 7, - 33, 102, 15, 17, 5, 173, 23, 25, 193, 922, - 922, 922, 922, 922, 922, 168, 159, 11, 32, 25, - 159, 13, 70, 6, 308, 186, 8, 132, 7, 6, - 62, 922, 5, 8, 30, 174, 163, 180, 79, 28, - 6, 922, 922, 922, 922, 6, 922, 922, 922, 922, - 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, - 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, - 922, 922, 922, 922, 922, 922, 922, 922 - }; - register unsigned int hval = len; - - switch (hval) - { - default: - hval += asso_values[(unsigned char)str[10]]; - /*FALLTHROUGH*/ - case 10: - hval += asso_values[(unsigned char)str[9]]; - /*FALLTHROUGH*/ - case 9: - hval += asso_values[(unsigned char)str[8]]; - /*FALLTHROUGH*/ - case 8: - hval += asso_values[(unsigned char)str[7]]; - /*FALLTHROUGH*/ - case 7: - hval += asso_values[(unsigned char)str[6]]; - /*FALLTHROUGH*/ - case 6: - hval += asso_values[(unsigned char)str[5]]; - /*FALLTHROUGH*/ - case 5: - hval += asso_values[(unsigned char)str[4]]; - /*FALLTHROUGH*/ - case 4: - hval += asso_values[(unsigned char)str[3]]; - /*FALLTHROUGH*/ - case 3: - hval += asso_values[(unsigned char)str[2]]; - /*FALLTHROUGH*/ - case 2: - case 1: - hval += asso_values[(unsigned char)str[0]]; - break; - } - return hval + asso_values[(unsigned char)str[len - 1]]; -} - -struct stringpool_t - { - char stringpool_str15[sizeof("L6")]; - char stringpool_str17[sizeof("L1")]; - char stringpool_str20[sizeof("CN")]; - char stringpool_str25[sizeof("L4")]; - char stringpool_str27[sizeof("L5")]; - char stringpool_str30[sizeof("R8")]; - char stringpool_str33[sizeof("L8")]; - char stringpool_str34[sizeof("SJIS")]; - char stringpool_str36[sizeof("866")]; - char stringpool_str43[sizeof("L2")]; - char stringpool_str51[sizeof("ISO-IR-6")]; - char stringpool_str54[sizeof("CP866")]; - char stringpool_str64[sizeof("C99")]; - char stringpool_str65[sizeof("ISO-IR-166")]; - char stringpool_str66[sizeof("EUCCN")]; - char stringpool_str67[sizeof("LATIN6")]; - char stringpool_str70[sizeof("CP154")]; - char stringpool_str71[sizeof("LATIN1")]; - char stringpool_str72[sizeof("EUC-CN")]; - char stringpool_str74[sizeof("CYRILLIC")]; - char stringpool_str76[sizeof("ISO646-CN")]; - char stringpool_str78[sizeof("HZ")]; - char stringpool_str79[sizeof("ISO-IR-14")]; - char stringpool_str84[sizeof("CP1256")]; - char stringpool_str87[sizeof("LATIN4")]; - char stringpool_str88[sizeof("CP1251")]; - char stringpool_str89[sizeof("ISO-IR-165")]; - char stringpool_str91[sizeof("LATIN5")]; - char stringpool_str92[sizeof("862")]; - char stringpool_str93[sizeof("ISO-IR-126")]; - char stringpool_str95[sizeof("ISO-IR-144")]; - char stringpool_str96[sizeof("CP819")]; - char stringpool_str103[sizeof("LATIN8")]; - char stringpool_str104[sizeof("CP1254")]; - char stringpool_str105[sizeof("ISO-IR-58")]; - char stringpool_str106[sizeof("CP949")]; - char stringpool_str108[sizeof("CP1255")]; - char stringpool_str110[sizeof("CP862")]; - char stringpool_str111[sizeof("ISO-IR-148")]; - char stringpool_str112[sizeof("L3")]; - char stringpool_str113[sizeof("LATIN-9")]; - char stringpool_str114[sizeof("CHINESE")]; - char stringpool_str115[sizeof("ISO-IR-149")]; - char stringpool_str117[sizeof("ISO-IR-159")]; - char stringpool_str119[sizeof("ISO-IR-226")]; - char stringpool_str120[sizeof("CP1258")]; - char stringpool_str121[sizeof("PT154")]; - char stringpool_str123[sizeof("LATIN2")]; - char stringpool_str124[sizeof("ISO8859-6")]; - char stringpool_str125[sizeof("ISO-IR-199")]; - char stringpool_str128[sizeof("ISO8859-1")]; - char stringpool_str129[sizeof("ISO-CELTIC")]; - char stringpool_str130[sizeof("ISO-8859-6")]; - char stringpool_str131[sizeof("ISO_8859-6")]; - char stringpool_str132[sizeof("ISO8859-16")]; - char stringpool_str134[sizeof("ISO-8859-1")]; - char stringpool_str135[sizeof("ISO_8859-1")]; - char stringpool_str136[sizeof("ISO8859-11")]; - char stringpool_str138[sizeof("ISO-8859-16")]; - char stringpool_str139[sizeof("ISO_8859-16")]; - char stringpool_str140[sizeof("CP1252")]; - char stringpool_str142[sizeof("ISO-8859-11")]; - char stringpool_str143[sizeof("ISO_8859-11")]; - char stringpool_str144[sizeof("ISO8859-4")]; - char stringpool_str145[sizeof("CP1361")]; - char stringpool_str146[sizeof("ISO_8859-16:2001")]; - char stringpool_str147[sizeof("CP1131")]; - char stringpool_str148[sizeof("ISO8859-5")]; - char stringpool_str150[sizeof("ISO-8859-4")]; - char stringpool_str151[sizeof("ISO_8859-4")]; - char stringpool_str152[sizeof("ISO8859-14")]; - char stringpool_str153[sizeof("CP936")]; - char stringpool_str154[sizeof("ISO-8859-5")]; - char stringpool_str155[sizeof("ISO_8859-5")]; - char stringpool_str156[sizeof("ISO8859-15")]; - char stringpool_str157[sizeof("MAC")]; - char stringpool_str158[sizeof("ISO-8859-14")]; - char stringpool_str159[sizeof("ISO_8859-14")]; - char stringpool_str160[sizeof("ISO8859-8")]; - char stringpool_str161[sizeof("ISO-IR-101")]; - char stringpool_str162[sizeof("ISO-8859-15")]; - char stringpool_str163[sizeof("ISO_8859-15")]; - char stringpool_str164[sizeof("ISO8859-9")]; - char stringpool_str166[sizeof("ISO-8859-8")]; - char stringpool_str167[sizeof("ISO_8859-8")]; - char stringpool_str170[sizeof("ISO-8859-9")]; - char stringpool_str171[sizeof("ISO_8859-9")]; - char stringpool_str172[sizeof("ISO_8859-14:1998")]; - char stringpool_str174[sizeof("ISO_8859-15:1998")]; - char stringpool_str176[sizeof("RK1048")]; - char stringpool_str179[sizeof("ELOT_928")]; - char stringpool_str180[sizeof("ISO8859-2")]; - char stringpool_str182[sizeof("IBM866")]; - char stringpool_str183[sizeof("L7")]; - char stringpool_str184[sizeof("US")]; - char stringpool_str186[sizeof("ISO-8859-2")]; - char stringpool_str187[sizeof("ISO_8859-2")]; - char stringpool_str190[sizeof("X0212")]; - char stringpool_str193[sizeof("CHAR")]; - char stringpool_str196[sizeof("PTCP154")]; - char stringpool_str197[sizeof("ISO-IR-109")]; - char stringpool_str198[sizeof("ISO-IR-138")]; - char stringpool_str199[sizeof("UHC")]; - char stringpool_str202[sizeof("ASCII")]; - char stringpool_str204[sizeof("MS-CYRL")]; - char stringpool_str205[sizeof("L10")]; - char stringpool_str206[sizeof("VISCII")]; - char stringpool_str209[sizeof("CP932")]; - char stringpool_str210[sizeof("BIG5")]; - char stringpool_str211[sizeof("TCVN")]; - char stringpool_str212[sizeof("CP50221")]; - char stringpool_str216[sizeof("BIG-5")]; - char stringpool_str217[sizeof("MS-EE")]; - char stringpool_str220[sizeof("850")]; - char stringpool_str222[sizeof("UCS-4")]; - char stringpool_str223[sizeof("CSASCII")]; - char stringpool_str224[sizeof("IBM819")]; - char stringpool_str225[sizeof("CSVISCII")]; - char stringpool_str227[sizeof("GB2312")]; - char stringpool_str228[sizeof("X0201")]; - char stringpool_str229[sizeof("CSBIG5")]; - char stringpool_str235[sizeof("CN-BIG5")]; - char stringpool_str236[sizeof("KOI8-R")]; - char stringpool_str237[sizeof("EUCKR")]; - char stringpool_str238[sizeof("IBM862")]; - char stringpool_str239[sizeof("CSPTCP154")]; - char stringpool_str240[sizeof("CSUCS4")]; - char stringpool_str241[sizeof("ISO646-US")]; - char stringpool_str242[sizeof("CP874")]; - char stringpool_str243[sizeof("EUC-KR")]; - char stringpool_str244[sizeof("VISCII1.1-1")]; - char stringpool_str246[sizeof("ISO_646.IRV:1991")]; - char stringpool_str248[sizeof("MACCYRILLIC")]; - char stringpool_str249[sizeof("CSKOI8R")]; - char stringpool_str250[sizeof("CP850")]; - char stringpool_str251[sizeof("ISO-IR-110")]; - char stringpool_str252[sizeof("CP950")]; - char stringpool_str254[sizeof("ISO-2022-CN")]; - char stringpool_str255[sizeof("CN-GB-ISOIR165")]; - char stringpool_str257[sizeof("CYRILLIC-ASIAN")]; - char stringpool_str258[sizeof("UCS-2")]; - char stringpool_str259[sizeof("LATIN10")]; - char stringpool_str260[sizeof("X0208")]; - char stringpool_str261[sizeof("LATIN3")]; - char stringpool_str263[sizeof("CSISO2022CN")]; - char stringpool_str264[sizeof("ISO_8859-10:1992")]; - char stringpool_str267[sizeof("UCS-4LE")]; - char stringpool_str268[sizeof("CP1250")]; - char stringpool_str271[sizeof("CSISOLATIN6")]; - char stringpool_str273[sizeof("ISO-IR-179")]; - char stringpool_str274[sizeof("MS936")]; - char stringpool_str275[sizeof("CSISOLATIN1")]; - char stringpool_str276[sizeof("TIS620")]; - char stringpool_str278[sizeof("CP1253")]; - char stringpool_str281[sizeof("ISO-2022-CN-EXT")]; - char stringpool_str282[sizeof("TIS-620")]; - char stringpool_str285[sizeof("UCS-2LE")]; - char stringpool_str286[sizeof("KOI8-T")]; - char stringpool_str290[sizeof("CSISOLATINCYRILLIC")]; - char stringpool_str291[sizeof("CSISOLATIN4")]; - char stringpool_str295[sizeof("CSISOLATIN5")]; - char stringpool_str296[sizeof("UNICODE-1-1")]; - char stringpool_str301[sizeof("GREEK8")]; - char stringpool_str302[sizeof("UCS-4-INTERNAL")]; - char stringpool_str304[sizeof("CSUNICODE11")]; - char stringpool_str306[sizeof("CSUNICODE")]; - char stringpool_str307[sizeof("TIS620.2529-1")]; - char stringpool_str311[sizeof("NEXTSTEP")]; - char stringpool_str312[sizeof("GEORGIAN-PS")]; - char stringpool_str316[sizeof("ISO8859-10")]; - char stringpool_str318[sizeof("ISO8859-3")]; - char stringpool_str320[sizeof("UCS-2-INTERNAL")]; - char stringpool_str322[sizeof("ISO-8859-10")]; - char stringpool_str323[sizeof("ISO_8859-10")]; - char stringpool_str324[sizeof("ISO-8859-3")]; - char stringpool_str325[sizeof("ISO_8859-3")]; - char stringpool_str326[sizeof("ISO8859-13")]; - char stringpool_str327[sizeof("CSISOLATIN2")]; - char stringpool_str329[sizeof("GB_1988-80")]; - char stringpool_str332[sizeof("ISO-8859-13")]; - char stringpool_str333[sizeof("ISO_8859-13")]; - char stringpool_str337[sizeof("CP1133")]; - char stringpool_str339[sizeof("MS-ANSI")]; - char stringpool_str341[sizeof("ISO-IR-100")]; - char stringpool_str344[sizeof("KSC_5601")]; - char stringpool_str349[sizeof("MACINTOSH")]; - char stringpool_str352[sizeof("CN-GB")]; - char stringpool_str354[sizeof("CSIBM866")]; - char stringpool_str355[sizeof("ISO-10646-UCS-4")]; - char stringpool_str357[sizeof("ISO_8859-4:1988")]; - char stringpool_str359[sizeof("ISO_8859-5:1988")]; - char stringpool_str361[sizeof("UTF-16")]; - char stringpool_str363[sizeof("KZ-1048")]; - char stringpool_str364[sizeof("ROMAN8")]; - char stringpool_str365[sizeof("ISO_8859-8:1988")]; - char stringpool_str366[sizeof("UNICODELITTLE")]; - char stringpool_str369[sizeof("ISO_8859-9:1989")]; - char stringpool_str372[sizeof("JP")]; - char stringpool_str373[sizeof("ISO-10646-UCS-2")]; - char stringpool_str375[sizeof("MULELAO-1")]; - char stringpool_str376[sizeof("CSKZ1048")]; - char stringpool_str377[sizeof("ISO-IR-203")]; - char stringpool_str378[sizeof("IBM850")]; - char stringpool_str380[sizeof("TIS620-0")]; - char stringpool_str382[sizeof("ECMA-114")]; - char stringpool_str386[sizeof("KS_C_5601-1989")]; - char stringpool_str388[sizeof("GBK")]; - char stringpool_str389[sizeof("UTF-8")]; - char stringpool_str391[sizeof("ARMSCII-8")]; - char stringpool_str392[sizeof("US-ASCII")]; - char stringpool_str398[sizeof("ECMA-118")]; - char stringpool_str399[sizeof("CSGB2312")]; - char stringpool_str403[sizeof("LATIN7")]; - char stringpool_str404[sizeof("KOREAN")]; - char stringpool_str405[sizeof("ISO-IR-57")]; - char stringpool_str408[sizeof("MS-HEBR")]; - char stringpool_str409[sizeof("CSISO14JISC6220RO")]; - char stringpool_str411[sizeof("ISO-IR-87")]; - char stringpool_str413[sizeof("ISO-IR-157")]; - char stringpool_str416[sizeof("UTF-16LE")]; - char stringpool_str418[sizeof("UCS-4BE")]; - char stringpool_str420[sizeof("CP1257")]; - char stringpool_str421[sizeof("ANSI_X3.4-1986")]; - char stringpool_str424[sizeof("CSEUCKR")]; - char stringpool_str425[sizeof("ISO-2022-KR")]; - char stringpool_str426[sizeof("GB_2312-80")]; - char stringpool_str429[sizeof("ISO-IR-127")]; - char stringpool_str430[sizeof("MACTHAI")]; - char stringpool_str431[sizeof("EUCTW")]; - char stringpool_str433[sizeof("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE")]; - char stringpool_str434[sizeof("CSISO2022KR")]; - char stringpool_str436[sizeof("UCS-2BE")]; - char stringpool_str437[sizeof("EUC-TW")]; - char stringpool_str439[sizeof("ANSI_X3.4-1968")]; - char stringpool_str440[sizeof("GREEK")]; - char stringpool_str442[sizeof("MACICELAND")]; - char stringpool_str443[sizeof("GB18030")]; - char stringpool_str444[sizeof("ISO_8859-3:1988")]; - char stringpool_str445[sizeof("CSISOLATINARABIC")]; - char stringpool_str446[sizeof("GEORGIAN-ACADEMY")]; - char stringpool_str448[sizeof("HP-ROMAN8")]; - char stringpool_str453[sizeof("TIS620.2533-1")]; - char stringpool_str455[sizeof("UNICODEBIG")]; - char stringpool_str459[sizeof("TCVN5712-1")]; - char stringpool_str460[sizeof("ISO8859-7")]; - char stringpool_str461[sizeof("CSISO57GB1988")]; - char stringpool_str463[sizeof("MACCENTRALEUROPE")]; - char stringpool_str464[sizeof("CSISOLATINGREEK")]; - char stringpool_str465[sizeof("CSISOLATIN3")]; - char stringpool_str466[sizeof("ISO-8859-7")]; - char stringpool_str467[sizeof("ISO_8859-7")]; - char stringpool_str468[sizeof("UNICODE-1-1-UTF-7")]; - char stringpool_str469[sizeof("CP367")]; - char stringpool_str470[sizeof("HZ-GB-2312")]; - char stringpool_str473[sizeof("EUCJP")]; - char stringpool_str474[sizeof("CSUNICODE11UTF7")]; - char stringpool_str476[sizeof("MACROMAN")]; - char stringpool_str477[sizeof("TCVN-5712")]; - char stringpool_str479[sizeof("EUC-JP")]; - char stringpool_str483[sizeof("ISO646-JP")]; - char stringpool_str489[sizeof("BIG5HKSCS")]; - char stringpool_str490[sizeof("CSISO58GB231280")]; - char stringpool_str492[sizeof("WINDOWS-1256")]; - char stringpool_str494[sizeof("WINDOWS-1251")]; - char stringpool_str495[sizeof("BIG5-HKSCS")]; - char stringpool_str496[sizeof("WCHAR_T")]; - char stringpool_str497[sizeof("ISO_8859-6:1987")]; - char stringpool_str499[sizeof("ISO_8859-1:1987")]; - char stringpool_str502[sizeof("WINDOWS-1254")]; - char stringpool_str504[sizeof("WINDOWS-1255")]; - char stringpool_str510[sizeof("WINDOWS-1258")]; - char stringpool_str512[sizeof("UTF-32")]; - char stringpool_str516[sizeof("CSISOLATINHEBREW")]; - char stringpool_str517[sizeof("CSHPROMAN8")]; - char stringpool_str519[sizeof("CSISO159JISX02121990")]; - char stringpool_str520[sizeof("WINDOWS-1252")]; - char stringpool_str522[sizeof("STRK1048-2002")]; - char stringpool_str525[sizeof("ISO_8859-2:1987")]; - char stringpool_str529[sizeof("ARABIC")]; - char stringpool_str530[sizeof("CSMACINTOSH")]; - char stringpool_str534[sizeof("KS_C_5601-1987")]; - char stringpool_str536[sizeof("JIS_C6220-1969-RO")]; - char stringpool_str537[sizeof("JIS_C6226-1983")]; - char stringpool_str539[sizeof("UTF-32LE")]; - char stringpool_str543[sizeof("TIS620.2533-0")]; - char stringpool_str546[sizeof("IBM-CP1133")]; - char stringpool_str547[sizeof("SHIFT-JIS")]; - char stringpool_str548[sizeof("SHIFT_JIS")]; - char stringpool_str555[sizeof("CSPC862LATINHEBREW")]; - char stringpool_str557[sizeof("BIGFIVE")]; - char stringpool_str560[sizeof("CSKSC56011987")]; - char stringpool_str562[sizeof("MACCROATIAN")]; - char stringpool_str563[sizeof("BIG-FIVE")]; - char stringpool_str566[sizeof("WINDOWS-936")]; - char stringpool_str567[sizeof("UTF-16BE")]; - char stringpool_str574[sizeof("KOI8-U")]; - char stringpool_str580[sizeof("KOI8-RU")]; - char stringpool_str584[sizeof("WINDOWS-1250")]; - char stringpool_str585[sizeof("MS-GREEK")]; - char stringpool_str589[sizeof("WINDOWS-1253")]; - char stringpool_str591[sizeof("MACGREEK")]; - char stringpool_str592[sizeof("CSPC850MULTILINGUAL")]; - char stringpool_str594[sizeof("ISO_8859-7:2003")]; - char stringpool_str596[sizeof("JIS0208")]; - char stringpool_str597[sizeof("IBM367")]; - char stringpool_str608[sizeof("ISO-2022-JP-1")]; - char stringpool_str610[sizeof("ISO-2022-JP-MS")]; - char stringpool_str613[sizeof("JIS_X0212")]; - char stringpool_str618[sizeof("CSEUCTW")]; - char stringpool_str624[sizeof("CSSHIFTJIS")]; - char stringpool_str625[sizeof("HEBREW")]; - char stringpool_str634[sizeof("ISO-2022-JP-2")]; - char stringpool_str635[sizeof("ASMO-708")]; - char stringpool_str642[sizeof("CSISO2022JP2")]; - char stringpool_str651[sizeof("JIS_X0201")]; - char stringpool_str655[sizeof("WINDOWS-874")]; - char stringpool_str660[sizeof("WINDOWS-1257")]; - char stringpool_str661[sizeof("ISO-2022-JP")]; - char stringpool_str665[sizeof("ISO_8859-7:1987")]; - char stringpool_str666[sizeof("CSISO87JISX0208")]; - char stringpool_str670[sizeof("CSISO2022JP")]; - char stringpool_str680[sizeof("MACARABIC")]; - char stringpool_str683[sizeof("JIS_X0208")]; - char stringpool_str684[sizeof("JISX0201-1976")]; - char stringpool_str689[sizeof("UTF-7")]; - char stringpool_str690[sizeof("UTF-32BE")]; - char stringpool_str692[sizeof("BIG5-HKSCS:2001")]; - char stringpool_str694[sizeof("JIS_X0212-1990")]; - char stringpool_str697[sizeof("JIS_X0212.1990-0")]; - char stringpool_str700[sizeof("BIG5-HKSCS:2004")]; - char stringpool_str702[sizeof("MACTURKISH")]; - char stringpool_str708[sizeof("BIG5-HKSCS:2008")]; - char stringpool_str710[sizeof("BIG5-HKSCS:1999")]; - char stringpool_str725[sizeof("MS-TURK")]; - char stringpool_str732[sizeof("UCS-4-SWAPPED")]; - char stringpool_str749[sizeof("MACUKRAINE")]; - char stringpool_str750[sizeof("UCS-2-SWAPPED")]; - char stringpool_str752[sizeof("TCVN5712-1:1993")]; - char stringpool_str774[sizeof("JIS_X0208-1990")]; - char stringpool_str779[sizeof("JIS_X0208-1983")]; - char stringpool_str796[sizeof("MACHEBREW")]; - char stringpool_str803[sizeof("MS-ARAB")]; - char stringpool_str811[sizeof("JAVA")]; - char stringpool_str813[sizeof("MACROMANIA")]; - char stringpool_str827[sizeof("MS_KANJI")]; - char stringpool_str837[sizeof("WINBALTRIM")]; - char stringpool_str866[sizeof("CSEUCPKDFMTJAPANESE")]; - char stringpool_str869[sizeof("JOHAB")]; - char stringpool_str921[sizeof("CSHALFWIDTHKATAKANA")]; - }; -static const struct stringpool_t stringpool_contents = - { - "L6", - "L1", - "CN", - "L4", - "L5", - "R8", - "L8", - "SJIS", - "866", - "L2", - "ISO-IR-6", - "CP866", - "C99", - "ISO-IR-166", - "EUCCN", - "LATIN6", - "CP154", - "LATIN1", - "EUC-CN", - "CYRILLIC", - "ISO646-CN", - "HZ", - "ISO-IR-14", - "CP1256", - "LATIN4", - "CP1251", - "ISO-IR-165", - "LATIN5", - "862", - "ISO-IR-126", - "ISO-IR-144", - "CP819", - "LATIN8", - "CP1254", - "ISO-IR-58", - "CP949", - "CP1255", - "CP862", - "ISO-IR-148", - "L3", - "LATIN-9", - "CHINESE", - "ISO-IR-149", - "ISO-IR-159", - "ISO-IR-226", - "CP1258", - "PT154", - "LATIN2", - "ISO8859-6", - "ISO-IR-199", - "ISO8859-1", - "ISO-CELTIC", - "ISO-8859-6", - "ISO_8859-6", - "ISO8859-16", - "ISO-8859-1", - "ISO_8859-1", - "ISO8859-11", - "ISO-8859-16", - "ISO_8859-16", - "CP1252", - "ISO-8859-11", - "ISO_8859-11", - "ISO8859-4", - "CP1361", - "ISO_8859-16:2001", - "CP1131", - "ISO8859-5", - "ISO-8859-4", - "ISO_8859-4", - "ISO8859-14", - "CP936", - "ISO-8859-5", - "ISO_8859-5", - "ISO8859-15", - "MAC", - "ISO-8859-14", - "ISO_8859-14", - "ISO8859-8", - "ISO-IR-101", - "ISO-8859-15", - "ISO_8859-15", - "ISO8859-9", - "ISO-8859-8", - "ISO_8859-8", - "ISO-8859-9", - "ISO_8859-9", - "ISO_8859-14:1998", - "ISO_8859-15:1998", - "RK1048", - "ELOT_928", - "ISO8859-2", - "IBM866", - "L7", - "US", - "ISO-8859-2", - "ISO_8859-2", - "X0212", - "CHAR", - "PTCP154", - "ISO-IR-109", - "ISO-IR-138", - "UHC", - "ASCII", - "MS-CYRL", - "L10", - "VISCII", - "CP932", - "BIG5", - "TCVN", - "CP50221", - "BIG-5", - "MS-EE", - "850", - "UCS-4", - "CSASCII", - "IBM819", - "CSVISCII", - "GB2312", - "X0201", - "CSBIG5", - "CN-BIG5", - "KOI8-R", - "EUCKR", - "IBM862", - "CSPTCP154", - "CSUCS4", - "ISO646-US", - "CP874", - "EUC-KR", - "VISCII1.1-1", - "ISO_646.IRV:1991", - "MACCYRILLIC", - "CSKOI8R", - "CP850", - "ISO-IR-110", - "CP950", - "ISO-2022-CN", - "CN-GB-ISOIR165", - "CYRILLIC-ASIAN", - "UCS-2", - "LATIN10", - "X0208", - "LATIN3", - "CSISO2022CN", - "ISO_8859-10:1992", - "UCS-4LE", - "CP1250", - "CSISOLATIN6", - "ISO-IR-179", - "MS936", - "CSISOLATIN1", - "TIS620", - "CP1253", - "ISO-2022-CN-EXT", - "TIS-620", - "UCS-2LE", - "KOI8-T", - "CSISOLATINCYRILLIC", - "CSISOLATIN4", - "CSISOLATIN5", - "UNICODE-1-1", - "GREEK8", - "UCS-4-INTERNAL", - "CSUNICODE11", - "CSUNICODE", - "TIS620.2529-1", - "NEXTSTEP", - "GEORGIAN-PS", - "ISO8859-10", - "ISO8859-3", - "UCS-2-INTERNAL", - "ISO-8859-10", - "ISO_8859-10", - "ISO-8859-3", - "ISO_8859-3", - "ISO8859-13", - "CSISOLATIN2", - "GB_1988-80", - "ISO-8859-13", - "ISO_8859-13", - "CP1133", - "MS-ANSI", - "ISO-IR-100", - "KSC_5601", - "MACINTOSH", - "CN-GB", - "CSIBM866", - "ISO-10646-UCS-4", - "ISO_8859-4:1988", - "ISO_8859-5:1988", - "UTF-16", - "KZ-1048", - "ROMAN8", - "ISO_8859-8:1988", - "UNICODELITTLE", - "ISO_8859-9:1989", - "JP", - "ISO-10646-UCS-2", - "MULELAO-1", - "CSKZ1048", - "ISO-IR-203", - "IBM850", - "TIS620-0", - "ECMA-114", - "KS_C_5601-1989", - "GBK", - "UTF-8", - "ARMSCII-8", - "US-ASCII", - "ECMA-118", - "CSGB2312", - "LATIN7", - "KOREAN", - "ISO-IR-57", - "MS-HEBR", - "CSISO14JISC6220RO", - "ISO-IR-87", - "ISO-IR-157", - "UTF-16LE", - "UCS-4BE", - "CP1257", - "ANSI_X3.4-1986", - "CSEUCKR", - "ISO-2022-KR", - "GB_2312-80", - "ISO-IR-127", - "MACTHAI", - "EUCTW", - "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", - "CSISO2022KR", - "UCS-2BE", - "EUC-TW", - "ANSI_X3.4-1968", - "GREEK", - "MACICELAND", - "GB18030", - "ISO_8859-3:1988", - "CSISOLATINARABIC", - "GEORGIAN-ACADEMY", - "HP-ROMAN8", - "TIS620.2533-1", - "UNICODEBIG", - "TCVN5712-1", - "ISO8859-7", - "CSISO57GB1988", - "MACCENTRALEUROPE", - "CSISOLATINGREEK", - "CSISOLATIN3", - "ISO-8859-7", - "ISO_8859-7", - "UNICODE-1-1-UTF-7", - "CP367", - "HZ-GB-2312", - "EUCJP", - "CSUNICODE11UTF7", - "MACROMAN", - "TCVN-5712", - "EUC-JP", - "ISO646-JP", - "BIG5HKSCS", - "CSISO58GB231280", - "WINDOWS-1256", - "WINDOWS-1251", - "BIG5-HKSCS", - "WCHAR_T", - "ISO_8859-6:1987", - "ISO_8859-1:1987", - "WINDOWS-1254", - "WINDOWS-1255", - "WINDOWS-1258", - "UTF-32", - "CSISOLATINHEBREW", - "CSHPROMAN8", - "CSISO159JISX02121990", - "WINDOWS-1252", - "STRK1048-2002", - "ISO_8859-2:1987", - "ARABIC", - "CSMACINTOSH", - "KS_C_5601-1987", - "JIS_C6220-1969-RO", - "JIS_C6226-1983", - "UTF-32LE", - "TIS620.2533-0", - "IBM-CP1133", - "SHIFT-JIS", - "SHIFT_JIS", - "CSPC862LATINHEBREW", - "BIGFIVE", - "CSKSC56011987", - "MACCROATIAN", - "BIG-FIVE", - "WINDOWS-936", - "UTF-16BE", - "KOI8-U", - "KOI8-RU", - "WINDOWS-1250", - "MS-GREEK", - "WINDOWS-1253", - "MACGREEK", - "CSPC850MULTILINGUAL", - "ISO_8859-7:2003", - "JIS0208", - "IBM367", - "ISO-2022-JP-1", - "ISO-2022-JP-MS", - "JIS_X0212", - "CSEUCTW", - "CSSHIFTJIS", - "HEBREW", - "ISO-2022-JP-2", - "ASMO-708", - "CSISO2022JP2", - "JIS_X0201", - "WINDOWS-874", - "WINDOWS-1257", - "ISO-2022-JP", - "ISO_8859-7:1987", - "CSISO87JISX0208", - "CSISO2022JP", - "MACARABIC", - "JIS_X0208", - "JISX0201-1976", - "UTF-7", - "UTF-32BE", - "BIG5-HKSCS:2001", - "JIS_X0212-1990", - "JIS_X0212.1990-0", - "BIG5-HKSCS:2004", - "MACTURKISH", - "BIG5-HKSCS:2008", - "BIG5-HKSCS:1999", - "MS-TURK", - "UCS-4-SWAPPED", - "MACUKRAINE", - "UCS-2-SWAPPED", - "TCVN5712-1:1993", - "JIS_X0208-1990", - "JIS_X0208-1983", - "MACHEBREW", - "MS-ARAB", - "JAVA", - "MACROMANIA", - "MS_KANJI", - "WINBALTRIM", - "CSEUCPKDFMTJAPANESE", - "JOHAB", - "CSHALFWIDTHKATAKANA" - }; -#define stringpool ((const char *) &stringpool_contents) - -static const struct alias aliases[] = - { - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 134 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, ei_iso8859_10}, - {-1}, -#line 60 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, ei_iso8859_1}, - {-1}, {-1}, -#line 288 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, ei_iso646_cn}, - {-1}, {-1}, {-1}, {-1}, -#line 84 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, ei_iso8859_4}, - {-1}, -#line 126 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, ei_iso8859_9}, - {-1}, {-1}, -#line 227 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, ei_hp_roman8}, - {-1}, {-1}, -#line 151 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, ei_iso8859_14}, -#line 308 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, ei_sjis}, - {-1}, -#line 207 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, ei_cp866}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 68 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, ei_iso8859_2}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 16 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str51, ei_ascii}, - {-1}, {-1}, -#line 205 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str54, ei_cp866}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 51 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64, ei_c99}, -#line 252 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str65, ei_tis620}, -#line 320 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str66, ei_euc_cn}, -#line 133 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str67, ei_iso8859_10}, - {-1}, {-1}, -#line 236 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str70, ei_pt154}, -#line 59 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str71, ei_iso8859_1}, -#line 319 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str72, ei_euc_cn}, - {-1}, -#line 91 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str74, ei_iso8859_5}, - {-1}, -#line 286 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str76, ei_iso646_cn}, - {-1}, -#line 332 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str78, ei_hz}, -#line 264 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str79, ei_iso646_jp}, - {-1}, {-1}, {-1}, {-1}, -#line 189 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str84, ei_cp1256}, - {-1}, {-1}, -#line 83 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str87, ei_iso8859_4}, -#line 174 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str88, ei_cp1251}, -#line 294 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str89, ei_isoir165}, - {-1}, -#line 125 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str91, ei_iso8859_9}, -#line 203 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str92, ei_cp862}, -#line 107 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str93, ei_iso8859_7}, - {-1}, -#line 90 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str95, ei_iso8859_5}, -#line 57 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str96, ei_iso8859_1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 150 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str103, ei_iso8859_14}, -#line 183 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str104, ei_cp1254}, -#line 291 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str105, ei_gb2312}, -#line 353 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str106, ei_cp949}, - {-1}, -#line 186 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str108, ei_cp1255}, - {-1}, -#line 201 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str110, ei_cp862}, -#line 124 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str111, ei_iso8859_9}, -#line 76 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str112, ei_iso8859_3}, -#line 158 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str113, ei_iso8859_15}, -#line 293 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str114, ei_gb2312}, -#line 299 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str115, ei_ksc5601}, - {-1}, -#line 283 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str117, ei_jisx0212}, - {-1}, -#line 163 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str119, ei_iso8859_16}, -#line 195 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str120, ei_cp1258}, -#line 234 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str121, ei_pt154}, - {-1}, -#line 67 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str123, ei_iso8859_2}, -#line 102 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str124, ei_iso8859_6}, -#line 149 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str125, ei_iso8859_14}, - {-1}, {-1}, -#line 62 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str128, ei_iso8859_1}, -#line 152 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str129, ei_iso8859_14}, -#line 94 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str130, ei_iso8859_6}, -#line 95 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str131, ei_iso8859_6}, -#line 166 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str132, ei_iso8859_16}, - {-1}, -#line 53 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str134, ei_iso8859_1}, -#line 54 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str135, ei_iso8859_1}, -#line 139 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str136, ei_iso8859_11}, - {-1}, -#line 160 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str138, ei_iso8859_16}, -#line 161 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str139, ei_iso8859_16}, -#line 177 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str140, ei_cp1252}, - {-1}, -#line 137 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str142, ei_iso8859_11}, -#line 138 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str143, ei_iso8859_11}, -#line 86 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str144, ei_iso8859_4}, -#line 356 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str145, ei_johab}, -#line 162 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str146, ei_iso8859_16}, -#line 209 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str147, ei_cp1131}, -#line 93 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str148, ei_iso8859_5}, - {-1}, -#line 79 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str150, ei_iso8859_4}, -#line 80 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str151, ei_iso8859_4}, -#line 153 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str152, ei_iso8859_14}, -#line 325 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str153, ei_cp936}, -#line 87 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_5}, -#line 88 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str155, ei_iso8859_5}, -#line 159 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str156, ei_iso8859_15}, -#line 212 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str157, ei_mac_roman}, -#line 146 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str158, ei_iso8859_14}, -#line 147 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str159, ei_iso8859_14}, -#line 120 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str160, ei_iso8859_8}, -#line 66 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str161, ei_iso8859_2}, -#line 154 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str162, ei_iso8859_15}, -#line 155 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str163, ei_iso8859_15}, -#line 128 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str164, ei_iso8859_9}, - {-1}, -#line 114 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str166, ei_iso8859_8}, -#line 115 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str167, ei_iso8859_8}, - {-1}, {-1}, -#line 121 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str170, ei_iso8859_9}, -#line 122 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str171, ei_iso8859_9}, -#line 148 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str172, ei_iso8859_14}, - {-1}, -#line 156 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str174, ei_iso8859_15}, - {-1}, -#line 239 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str176, ei_rk1048}, - {-1}, {-1}, -#line 109 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str179, ei_iso8859_7}, -#line 70 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str180, ei_iso8859_2}, - {-1}, -#line 206 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str182, ei_cp866}, -#line 144 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str183, ei_iso8859_13}, -#line 21 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str184, ei_ascii}, - {-1}, -#line 63 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str186, ei_iso8859_2}, -#line 64 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str187, ei_iso8859_2}, - {-1}, {-1}, -#line 282 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str190, ei_jisx0212}, - {-1}, {-1}, -#line 359 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str193, ei_local_char}, - {-1}, {-1}, -#line 235 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str196, ei_pt154}, -#line 74 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str197, ei_iso8859_3}, -#line 117 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str198, ei_iso8859_8}, -#line 354 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str199, ei_cp949}, - {-1}, {-1}, -#line 13 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str202, ei_ascii}, - {-1}, -#line 176 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str204, ei_cp1251}, -#line 165 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str205, ei_iso8859_16}, -#line 255 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str206, ei_viscii}, - {-1}, {-1}, -#line 311 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str209, ei_cp932}, -#line 337 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str210, ei_ces_big5}, -#line 258 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str211, ei_tcvn}, -#line 318 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str212, ei_iso2022_jpms}, - {-1}, {-1}, {-1}, -#line 338 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str216, ei_ces_big5}, -#line 173 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str217, ei_cp1250}, - {-1}, {-1}, -#line 199 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str220, ei_cp850}, - {-1}, -#line 33 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str222, ei_ucs4}, -#line 22 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str223, ei_ascii}, -#line 58 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str224, ei_iso8859_1}, -#line 257 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str225, ei_viscii}, - {-1}, -#line 321 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str227, ei_euc_cn}, -#line 269 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str228, ei_jisx0201}, -#line 342 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str229, ei_ces_big5}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 341 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str235, ei_ces_big5}, -#line 167 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str236, ei_koi8_r}, -#line 351 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str237, ei_euc_kr}, -#line 202 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str238, ei_cp862}, -#line 238 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str239, ei_pt154}, -#line 35 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str240, ei_ucs4}, -#line 14 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str241, ei_ascii}, -#line 253 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str242, ei_cp874}, -#line 350 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str243, ei_euc_kr}, -#line 256 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str244, ei_viscii}, - {-1}, -#line 15 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str246, ei_ascii}, - {-1}, -#line 218 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str248, ei_mac_cyrillic}, -#line 168 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str249, ei_koi8_r}, -#line 197 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str250, ei_cp850}, -#line 82 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str251, ei_iso8859_4}, -#line 343 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str252, ei_cp950}, - {-1}, -#line 329 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str254, ei_iso2022_cn}, -#line 295 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str255, ei_isoir165}, - {-1}, -#line 237 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str257, ei_pt154}, -#line 24 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str258, ei_ucs2}, -#line 164 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str259, ei_iso8859_16}, -#line 275 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str260, ei_jisx0208}, -#line 75 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str261, ei_iso8859_3}, - {-1}, -#line 330 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str263, ei_iso2022_cn}, -#line 131 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str264, ei_iso8859_10}, - {-1}, {-1}, -#line 37 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str267, ei_ucs4le}, -#line 171 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str268, ei_cp1250}, - {-1}, {-1}, -#line 135 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str271, ei_iso8859_10}, - {-1}, -#line 142 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str273, ei_iso8859_13}, -#line 326 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str274, ei_cp936}, -#line 61 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str275, ei_iso8859_1}, -#line 247 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str276, ei_tis620}, - {-1}, -#line 180 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str278, ei_cp1253}, - {-1}, {-1}, -#line 331 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str281, ei_iso2022_cn_ext}, -#line 246 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str282, ei_tis620}, - {-1}, {-1}, -#line 31 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str285, ei_ucs2le}, -#line 233 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str286, ei_koi8_t}, - {-1}, {-1}, {-1}, -#line 92 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str290, ei_iso8859_5}, -#line 85 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str291, ei_iso8859_4}, - {-1}, {-1}, {-1}, -#line 127 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str295, ei_iso8859_9}, -#line 29 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str296, ei_ucs2be}, - {-1}, {-1}, {-1}, {-1}, -#line 110 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str301, ei_iso8859_7}, -#line 49 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str302, ei_ucs4internal}, - {-1}, -#line 30 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str304, ei_ucs2be}, - {-1}, -#line 26 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str306, ei_ucs2}, -#line 249 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str307, ei_tis620}, - {-1}, {-1}, {-1}, -#line 229 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str311, ei_nextstep}, -#line 232 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str312, ei_georgian_ps}, - {-1}, {-1}, {-1}, -#line 136 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str316, ei_iso8859_10}, - {-1}, -#line 78 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str318, ei_iso8859_3}, - {-1}, -#line 47 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str320, ei_ucs2internal}, - {-1}, -#line 129 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str322, ei_iso8859_10}, -#line 130 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str323, ei_iso8859_10}, -#line 71 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str324, ei_iso8859_3}, -#line 72 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str325, ei_iso8859_3}, -#line 145 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str326, ei_iso8859_13}, -#line 69 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str327, ei_iso8859_2}, - {-1}, -#line 285 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str329, ei_iso646_cn}, - {-1}, {-1}, -#line 140 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str332, ei_iso8859_13}, -#line 141 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str333, ei_iso8859_13}, - {-1}, {-1}, {-1}, -#line 244 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str337, ei_cp1133}, - {-1}, -#line 179 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str339, ei_cp1252}, - {-1}, -#line 56 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str341, ei_iso8859_1}, - {-1}, {-1}, -#line 296 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str344, ei_ksc5601}, - {-1}, {-1}, {-1}, {-1}, -#line 211 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str349, ei_mac_roman}, - {-1}, {-1}, -#line 322 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str352, ei_euc_cn}, - {-1}, -#line 208 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str354, ei_cp866}, -#line 34 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str355, ei_ucs4}, - {-1}, -#line 81 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str357, ei_iso8859_4}, - {-1}, -#line 89 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str359, ei_iso8859_5}, - {-1}, -#line 38 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str361, ei_utf16}, - {-1}, -#line 241 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str363, ei_rk1048}, -#line 226 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str364, ei_hp_roman8}, -#line 116 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str365, ei_iso8859_8}, -#line 32 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str366, ei_ucs2le}, - {-1}, {-1}, -#line 123 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str369, ei_iso8859_9}, - {-1}, {-1}, -#line 265 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str372, ei_iso646_jp}, -#line 25 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str373, ei_ucs2}, - {-1}, -#line 243 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str375, ei_mulelao}, -#line 242 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str376, ei_rk1048}, -#line 157 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str377, ei_iso8859_15}, -#line 198 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str378, ei_cp850}, - {-1}, -#line 248 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str380, ei_tis620}, - {-1}, -#line 98 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str382, ei_iso8859_6}, - {-1}, {-1}, {-1}, -#line 298 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str386, ei_ksc5601}, - {-1}, -#line 324 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str388, ei_ces_gbk}, -#line 23 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str389, ei_utf8}, - {-1}, -#line 230 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str391, ei_armscii_8}, -#line 12 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str392, ei_ascii}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 108 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str398, ei_iso8859_7}, -#line 323 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str399, ei_euc_cn}, - {-1}, {-1}, {-1}, -#line 143 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str403, ei_iso8859_13}, -#line 301 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str404, ei_ksc5601}, -#line 287 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str405, ei_iso646_cn}, - {-1}, {-1}, -#line 188 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str408, ei_cp1255}, -#line 266 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str409, ei_iso646_jp}, - {-1}, -#line 276 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str411, ei_jisx0208}, - {-1}, -#line 132 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str413, ei_iso8859_10}, - {-1}, {-1}, -#line 40 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str416, ei_utf16le}, - {-1}, -#line 36 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str418, ei_ucs4be}, - {-1}, -#line 192 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str420, ei_cp1257}, -#line 18 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str421, ei_ascii}, - {-1}, {-1}, -#line 352 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str424, ei_euc_kr}, -#line 357 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str425, ei_iso2022_kr}, -#line 290 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str426, ei_gb2312}, - {-1}, {-1}, -#line 97 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str429, ei_iso8859_6}, -#line 224 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str430, ei_mac_thai}, -#line 335 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str431, ei_euc_tw}, - {-1}, -#line 304 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str433, ei_euc_jp}, -#line 358 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str434, ei_iso2022_kr}, - {-1}, -#line 27 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str436, ei_ucs2be}, -#line 334 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str437, ei_euc_tw}, - {-1}, -#line 17 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str439, ei_ascii}, -#line 111 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str440, ei_iso8859_7}, - {-1}, -#line 215 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str442, ei_mac_iceland}, -#line 328 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str443, ei_gb18030}, -#line 73 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str444, ei_iso8859_3}, -#line 101 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str445, ei_iso8859_6}, -#line 231 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str446, ei_georgian_academy}, - {-1}, -#line 225 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str448, ei_hp_roman8}, - {-1}, {-1}, {-1}, {-1}, -#line 251 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str453, ei_tis620}, - {-1}, -#line 28 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str455, ei_ucs2be}, - {-1}, {-1}, {-1}, -#line 260 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str459, ei_tcvn}, -#line 113 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str460, ei_iso8859_7}, -#line 289 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str461, ei_iso646_cn}, - {-1}, -#line 214 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str463, ei_mac_centraleurope}, -#line 112 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str464, ei_iso8859_7}, -#line 77 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str465, ei_iso8859_3}, -#line 103 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str466, ei_iso8859_7}, -#line 104 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str467, ei_iso8859_7}, -#line 45 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str468, ei_utf7}, -#line 19 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str469, ei_ascii}, -#line 333 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str470, ei_hz}, - {-1}, {-1}, -#line 303 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str473, ei_euc_jp}, -#line 46 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str474, ei_utf7}, - {-1}, -#line 210 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str476, ei_mac_roman}, -#line 259 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str477, ei_tcvn}, - {-1}, -#line 302 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str479, ei_euc_jp}, - {-1}, {-1}, {-1}, -#line 263 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str483, ei_iso646_jp}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 348 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str489, ei_big5hkscs2008}, -#line 292 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str490, ei_gb2312}, - {-1}, -#line 190 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str492, ei_cp1256}, - {-1}, -#line 175 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str494, ei_cp1251}, -#line 347 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str495, ei_big5hkscs2008}, -#line 360 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str496, ei_local_wchar_t}, -#line 96 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str497, ei_iso8859_6}, - {-1}, -#line 55 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str499, ei_iso8859_1}, - {-1}, {-1}, -#line 184 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str502, ei_cp1254}, - {-1}, -#line 187 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str504, ei_cp1255}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 196 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str510, ei_cp1258}, - {-1}, -#line 41 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str512, ei_utf32}, - {-1}, {-1}, {-1}, -#line 119 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str516, ei_iso8859_8}, -#line 228 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str517, ei_hp_roman8}, - {-1}, -#line 284 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str519, ei_jisx0212}, -#line 178 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str520, ei_cp1252}, - {-1}, -#line 240 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str522, ei_rk1048}, - {-1}, {-1}, -#line 65 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str525, ei_iso8859_2}, - {-1}, {-1}, {-1}, -#line 100 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str529, ei_iso8859_6}, -#line 213 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str530, ei_mac_roman}, - {-1}, {-1}, {-1}, -#line 297 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str534, ei_ksc5601}, - {-1}, -#line 262 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str536, ei_iso646_jp}, -#line 277 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str537, ei_jisx0208}, - {-1}, -#line 43 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str539, ei_utf32le}, - {-1}, {-1}, {-1}, -#line 250 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str543, ei_tis620}, - {-1}, {-1}, -#line 245 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str546, ei_cp1133}, -#line 307 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str547, ei_sjis}, -#line 306 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str548, ei_sjis}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 204 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str555, ei_cp862}, - {-1}, -#line 340 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str557, ei_ces_big5}, - {-1}, {-1}, -#line 300 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str560, ei_ksc5601}, - {-1}, -#line 216 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str562, ei_mac_croatian}, -#line 339 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str563, ei_ces_big5}, - {-1}, {-1}, -#line 327 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str566, ei_cp936}, -#line 39 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str567, ei_utf16be}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 169 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str574, ei_koi8_u}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 170 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str580, ei_koi8_ru}, - {-1}, {-1}, {-1}, -#line 172 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str584, ei_cp1250}, -#line 182 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str585, ei_cp1253}, - {-1}, {-1}, {-1}, -#line 181 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str589, ei_cp1253}, - {-1}, -#line 220 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str591, ei_mac_greek}, -#line 200 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str592, ei_cp850}, - {-1}, -#line 106 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str594, ei_iso8859_7}, - {-1}, -#line 274 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str596, ei_jisx0208}, -#line 20 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str597, ei_ascii}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, -#line 314 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str608, ei_iso2022_jp1}, - {-1}, -#line 317 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str610, ei_iso2022_jpms}, - {-1}, {-1}, -#line 279 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str613, ei_jisx0212}, - {-1}, {-1}, {-1}, {-1}, -#line 336 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str618, ei_euc_tw}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 310 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str624, ei_sjis}, -#line 118 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str625, ei_iso8859_8}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 315 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str634, ei_iso2022_jp2}, -#line 99 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str635, ei_iso8859_6}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 316 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str642, ei_iso2022_jp2}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 267 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str651, ei_jisx0201}, - {-1}, {-1}, {-1}, -#line 254 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str655, ei_cp874}, - {-1}, {-1}, {-1}, {-1}, -#line 193 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str660, ei_cp1257}, -#line 312 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str661, ei_iso2022_jp}, - {-1}, {-1}, {-1}, -#line 105 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str665, ei_iso8859_7}, -#line 278 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str666, ei_jisx0208}, - {-1}, {-1}, {-1}, -#line 313 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str670, ei_iso2022_jp}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 223 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str680, ei_mac_arabic}, - {-1}, {-1}, -#line 271 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str683, ei_jisx0208}, -#line 268 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str684, ei_jisx0201}, - {-1}, {-1}, {-1}, {-1}, -#line 44 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str689, ei_utf7}, -#line 42 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str690, ei_utf32be}, - {-1}, -#line 345 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str692, ei_big5hkscs2001}, - {-1}, -#line 281 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str694, ei_jisx0212}, - {-1}, {-1}, -#line 280 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str697, ei_jisx0212}, - {-1}, {-1}, -#line 346 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str700, ei_big5hkscs2004}, - {-1}, -#line 221 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str702, ei_mac_turkish}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 349 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str708, ei_big5hkscs2008}, - {-1}, -#line 344 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str710, ei_big5hkscs1999}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, -#line 185 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str725, ei_cp1254}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 50 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str732, ei_ucs4swapped}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 219 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str749, ei_mac_ukraine}, -#line 48 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str750, ei_ucs2swapped}, - {-1}, -#line 261 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str752, ei_tcvn}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, -#line 273 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str774, ei_jisx0208}, - {-1}, {-1}, {-1}, {-1}, -#line 272 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str779, ei_jisx0208}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 222 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str796, ei_mac_hebrew}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 191 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str803, ei_cp1256}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 52 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str811, ei_java}, - {-1}, -#line 217 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str813, ei_mac_romania}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, -#line 309 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str827, ei_sjis}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 194 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str837, ei_cp1257}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, -#line 305 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str866, ei_euc_jp}, - {-1}, {-1}, -#line 355 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str869, ei_johab}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 270 "lib/aliases.gperf" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str921, ei_jisx0201} - }; - -const struct alias * -aliases_lookup (register const char *str, register size_t len) -{ - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - register unsigned int key = aliases_hash (str, len); - - if (key <= MAX_HASH_VALUE) - { - register int o = aliases[key].name; - if (o >= 0) - { - register const char *s = o + stringpool; - - if (*str == *s && !strcmp (str + 1, s + 1)) - return &aliases[key]; - } - } - } - return 0; -} diff --git a/source/lib/aliases2.h b/source/lib/aliases2.h index 01de93a..6a65c42 100644 --- a/source/lib/aliases2.h +++ b/source/lib/aliases2.h @@ -1,18 +1,18 @@ /* - * Copyright (C) 1999-2003, 2008 Free Software Foundation, Inc. + * Copyright (C) 1999-2003, 2008, 2022 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ @@ -34,6 +34,9 @@ #ifdef USE_DOS # include "aliases_dos.h" #endif +#ifdef USE_ZOS +# include "aliases_zos.h" +#endif #ifdef USE_EXTRA # include "aliases_extra.h" #endif diff --git a/source/lib/aliases_sysaix.h b/source/lib/aliases_sysaix.h index 9027c13..56e6d7e 100644 --- a/source/lib/aliases_sysaix.h +++ b/source/lib/aliases_sysaix.h @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.1 */ +/* ANSI-C code produced by gperf version 3.2 */ /* Command-line: gperf -m 10 lib/aliases_sysaix.gperf */ /* Computed positions: -k'1,3-11,$' */ @@ -71,30 +71,75 @@ aliases_hash (register const char *str, register size_t len) { default: hval += asso_values[(unsigned char)str[10]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 10: hval += asso_values[(unsigned char)str[9]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 9: hval += asso_values[(unsigned char)str[8]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 8: hval += asso_values[(unsigned char)str[7]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 7: hval += asso_values[(unsigned char)str[6]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 6: hval += asso_values[(unsigned char)str[5]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 5: hval += asso_values[(unsigned char)str[4]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 4: hval += asso_values[(unsigned char)str[3]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 3: hval += asso_values[(unsigned char)str[2]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 2: case 1: @@ -1746,7 +1791,7 @@ static const struct alias aliases[] = {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str1039, ei_jisx0208} }; -const struct alias * +static const struct alias * aliases_lookup (register const char *str, register size_t len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) diff --git a/source/lib/aliases_syshpux.h b/source/lib/aliases_syshpux.h index ca0579e..b54cc7c 100644 --- a/source/lib/aliases_syshpux.h +++ b/source/lib/aliases_syshpux.h @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.1 */ +/* ANSI-C code produced by gperf version 3.2 */ /* Command-line: gperf -m 10 lib/aliases_syshpux.gperf */ /* Computed positions: -k'1,3-11,$' */ @@ -71,30 +71,75 @@ aliases_hash (register const char *str, register size_t len) { default: hval += asso_values[(unsigned char)str[10]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 10: hval += asso_values[(unsigned char)str[9]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 9: hval += asso_values[(unsigned char)str[8]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 8: hval += asso_values[(unsigned char)str[7]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 7: hval += asso_values[(unsigned char)str[6]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 6: hval += asso_values[(unsigned char)str[5]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 5: hval += asso_values[(unsigned char)str[4]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 4: hval += asso_values[(unsigned char)str[3]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 3: hval += asso_values[(unsigned char)str[2]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 2: case 1: @@ -1751,7 +1796,7 @@ static const struct alias aliases[] = {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str1033, ei_mac_turkish} }; -const struct alias * +static const struct alias * aliases_lookup (register const char *str, register size_t len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) diff --git a/source/lib/aliases_sysosf1.h b/source/lib/aliases_sysosf1.h index f17505d..035e840 100644 --- a/source/lib/aliases_sysosf1.h +++ b/source/lib/aliases_sysosf1.h @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.1 */ +/* ANSI-C code produced by gperf version 3.2 */ /* Command-line: gperf -m 10 lib/aliases_sysosf1.gperf */ /* Computed positions: -k'1,3-11,$' */ @@ -71,30 +71,75 @@ aliases_hash (register const char *str, register size_t len) { default: hval += asso_values[(unsigned char)str[10]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 10: hval += asso_values[(unsigned char)str[9]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 9: hval += asso_values[(unsigned char)str[8]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 8: hval += asso_values[(unsigned char)str[7]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 7: hval += asso_values[(unsigned char)str[6]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 6: hval += asso_values[(unsigned char)str[5]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 5: hval += asso_values[(unsigned char)str[4]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 4: hval += asso_values[(unsigned char)str[3]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 3: hval += asso_values[(unsigned char)str[2]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 2: case 1: @@ -1721,7 +1766,7 @@ static const struct alias aliases[] = {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str981, ei_cp1256} }; -const struct alias * +static const struct alias * aliases_lookup (register const char *str, register size_t len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) diff --git a/source/lib/aliases_syssolaris.h b/source/lib/aliases_syssolaris.h index e9072b6..d112305 100644 --- a/source/lib/aliases_syssolaris.h +++ b/source/lib/aliases_syssolaris.h @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.1 */ +/* ANSI-C code produced by gperf version 3.2 */ /* Command-line: gperf -m 10 lib/aliases_syssolaris.gperf */ /* Computed positions: -k'1,3-11,$' */ @@ -71,30 +71,75 @@ aliases_hash (register const char *str, register size_t len) { default: hval += asso_values[(unsigned char)str[10]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 10: hval += asso_values[(unsigned char)str[9]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 9: hval += asso_values[(unsigned char)str[8]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 8: hval += asso_values[(unsigned char)str[7]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 7: hval += asso_values[(unsigned char)str[6]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 6: hval += asso_values[(unsigned char)str[5]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 5: hval += asso_values[(unsigned char)str[4]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 4: hval += asso_values[(unsigned char)str[3]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 3: hval += asso_values[(unsigned char)str[2]]; +#if defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang_major__ && defined __clang_minor__ && __clang_major__ + (__clang_minor__ >= 9) > 3)) + [[fallthrough]]; +#elif defined __GNUC__ && __GNUC__ >= 7 + __attribute__ ((__fallthrough__)); +#endif /*FALLTHROUGH*/ case 2: case 1: @@ -1731,7 +1776,7 @@ static const struct alias aliases[] = {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str956, ei_mac_hebrew} }; -const struct alias * +static const struct alias * aliases_lookup (register const char *str, register size_t len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) diff --git a/source/lib/aliases_zos.h b/source/lib/aliases_zos.h new file mode 100644 index 0000000..9143ea1 --- /dev/null +++ b/source/lib/aliases_zos.h @@ -0,0 +1,241 @@ + S(zos_0, "IBM-037", ei_ebcdic037 ) + S(zos_1, "IBM037", ei_ebcdic037 ) + S(zos_2, "CP037", ei_ebcdic037 ) + S(zos_3, "EBCDIC-CP-US", ei_ebcdic037 ) + S(zos_4, "EBCDIC-CP-CA", ei_ebcdic037 ) + S(zos_5, "EBCDIC-CP-WT", ei_ebcdic037 ) + S(zos_6, "EBCDIC-CP-NL", ei_ebcdic037 ) + S(zos_7, "CSIBM037", ei_ebcdic037 ) + S(zos_8, "IBM-273", ei_ebcdic273 ) + S(zos_9, "IBM273", ei_ebcdic273 ) + S(zos_10, "CP273", ei_ebcdic273 ) + S(zos_11, "CSIBM273", ei_ebcdic273 ) + S(zos_12, "IBM-277", ei_ebcdic277 ) + S(zos_13, "IBM277", ei_ebcdic277 ) + S(zos_14, "EBCDIC-CP-DK", ei_ebcdic277 ) + S(zos_15, "EBCDIC-CP-NO", ei_ebcdic277 ) + S(zos_16, "CSIBM277", ei_ebcdic277 ) + S(zos_17, "IBM-278", ei_ebcdic278 ) + S(zos_18, "IBM278", ei_ebcdic278 ) + S(zos_19, "CP278", ei_ebcdic278 ) + S(zos_20, "EBCDIC-CP-FI", ei_ebcdic278 ) + S(zos_21, "EBCDIC-CP-SE", ei_ebcdic278 ) + S(zos_22, "CSIBM278", ei_ebcdic278 ) + S(zos_23, "IBM-280", ei_ebcdic280 ) + S(zos_24, "IBM280", ei_ebcdic280 ) + S(zos_25, "CP280", ei_ebcdic280 ) + S(zos_26, "EBCDIC-CP-IT", ei_ebcdic280 ) + S(zos_27, "CSIBM280", ei_ebcdic280 ) + S(zos_28, "IBM-282", ei_ebcdic282 ) + S(zos_29, "IBM282", ei_ebcdic282 ) + S(zos_30, "IBM-284", ei_ebcdic284 ) + S(zos_31, "IBM284", ei_ebcdic284 ) + S(zos_32, "CP284", ei_ebcdic284 ) + S(zos_33, "EBCDIC-CP-ES", ei_ebcdic284 ) + S(zos_34, "CSIBM284", ei_ebcdic284 ) + S(zos_35, "IBM-285", ei_ebcdic285 ) + S(zos_36, "IBM285", ei_ebcdic285 ) + S(zos_37, "CP285", ei_ebcdic285 ) + S(zos_38, "EBCDIC-CP-GB", ei_ebcdic285 ) + S(zos_39, "CSIBM285", ei_ebcdic285 ) + S(zos_40, "IBM-297", ei_ebcdic297 ) + S(zos_41, "IBM297", ei_ebcdic297 ) + S(zos_42, "CP297", ei_ebcdic297 ) + S(zos_43, "EBCDIC-CP-FR", ei_ebcdic297 ) + S(zos_44, "CSIBM297", ei_ebcdic297 ) + S(zos_45, "IBM-423", ei_ebcdic423 ) + S(zos_46, "IBM423", ei_ebcdic423 ) + S(zos_47, "CP423", ei_ebcdic423 ) + S(zos_48, "EBCDIC-CP-GR", ei_ebcdic423 ) + S(zos_49, "CSIBM423", ei_ebcdic423 ) + S(zos_50, "IBM-424", ei_ebcdic424 ) + S(zos_51, "IBM424", ei_ebcdic424 ) + S(zos_52, "CP424", ei_ebcdic424 ) + S(zos_53, "EBCDIC-CP-HE", ei_ebcdic424 ) + S(zos_54, "CSIBM424", ei_ebcdic424 ) + S(zos_55, "IBM-425", ei_ebcdic425 ) + S(zos_56, "IBM425", ei_ebcdic425 ) + S(zos_57, "IBM-500", ei_ebcdic500 ) + S(zos_58, "IBM500", ei_ebcdic500 ) + S(zos_59, "CP500", ei_ebcdic500 ) + S(zos_60, "EBCDIC-CP-BE", ei_ebcdic500 ) + S(zos_61, "EBCDIC-CP-CH", ei_ebcdic500 ) + S(zos_62, "CSIBM500", ei_ebcdic500 ) + S(zos_63, "IBM-838", ei_ebcdic838 ) + S(zos_64, "IBM838", ei_ebcdic838 ) + S(zos_65, "IBM-THAI", ei_ebcdic838 ) + S(zos_66, "CSIBMTHAI", ei_ebcdic838 ) + S(zos_67, "IBM-870", ei_ebcdic870 ) + S(zos_68, "IBM870", ei_ebcdic870 ) + S(zos_69, "CP870", ei_ebcdic870 ) + S(zos_70, "EBCDIC-CP-ROECE", ei_ebcdic870 ) + S(zos_71, "EBCDIC-CP-YU", ei_ebcdic870 ) + S(zos_72, "CSIBM870", ei_ebcdic870 ) + S(zos_73, "IBM-871", ei_ebcdic871 ) + S(zos_74, "IBM871", ei_ebcdic871 ) + S(zos_75, "CP871", ei_ebcdic871 ) + S(zos_76, "EBCDIC-CP-IS", ei_ebcdic871 ) + S(zos_77, "CSIBM871", ei_ebcdic871 ) + S(zos_78, "IBM-875", ei_ebcdic875 ) + S(zos_79, "IBM875", ei_ebcdic875 ) + S(zos_80, "CP875", ei_ebcdic875 ) + S(zos_81, "EBCDIC-GREEK", ei_ebcdic875 ) + S(zos_82, "IBM-880", ei_ebcdic880 ) + S(zos_83, "IBM880", ei_ebcdic880 ) + S(zos_84, "CP880", ei_ebcdic880 ) + S(zos_85, "EBCDIC-CYRILLIC", ei_ebcdic880 ) + S(zos_86, "CSIBM880", ei_ebcdic880 ) + S(zos_87, "IBM-905", ei_ebcdic905 ) + S(zos_88, "IBM905", ei_ebcdic905 ) + S(zos_89, "CP905", ei_ebcdic905 ) + S(zos_90, "EBCDIC-CP-TR", ei_ebcdic905 ) + S(zos_91, "CSIBM905", ei_ebcdic905 ) + S(zos_92, "IBM-924", ei_ebcdic924 ) + S(zos_93, "IBM924", ei_ebcdic924 ) + S(zos_94, "IBM00924", ei_ebcdic924 ) + S(zos_95, "CCSID00924", ei_ebcdic924 ) + S(zos_96, "CP00924", ei_ebcdic924 ) + S(zos_97, "EBCDIC-LATIN9-EURO", ei_ebcdic924 ) + S(zos_98, "CSIBM00924", ei_ebcdic924 ) + S(zos_99, "IBM-1025", ei_ebcdic1025 ) + S(zos_100, "IBM1025", ei_ebcdic1025 ) + S(zos_101, "CP1025", ei_ebcdic1025 ) + S(zos_102, "IBM-1026", ei_ebcdic1026 ) + S(zos_103, "IBM1026", ei_ebcdic1026 ) + S(zos_104, "CP1026", ei_ebcdic1026 ) + S(zos_105, "CSIBM1026", ei_ebcdic1026 ) + S(zos_106, "IBM-1047", ei_ebcdic1047 ) + S(zos_107, "IBM1047", ei_ebcdic1047 ) + S(zos_108, "CP1047", ei_ebcdic1047 ) + S(zos_109, "CSIBM1047", ei_ebcdic1047 ) + S(zos_110, "IBM-1097", ei_ebcdic1097 ) + S(zos_111, "IBM1097", ei_ebcdic1097 ) + S(zos_112, "CP1097", ei_ebcdic1097 ) + S(zos_113, "IBM-1112", ei_ebcdic1112 ) + S(zos_114, "IBM1112", ei_ebcdic1112 ) + S(zos_115, "CP1112", ei_ebcdic1112 ) + S(zos_116, "IBM-1122", ei_ebcdic1122 ) + S(zos_117, "IBM1122", ei_ebcdic1122 ) + S(zos_118, "CP1122", ei_ebcdic1122 ) + S(zos_119, "IBM-1123", ei_ebcdic1123 ) + S(zos_120, "IBM1123", ei_ebcdic1123 ) + S(zos_121, "CP1123", ei_ebcdic1123 ) + S(zos_122, "IBM-1130", ei_ebcdic1130 ) + S(zos_123, "IBM1130", ei_ebcdic1130 ) + S(zos_124, "CP1130", ei_ebcdic1130 ) + S(zos_125, "IBM-1132", ei_ebcdic1132 ) + S(zos_126, "IBM1132", ei_ebcdic1132 ) + S(zos_127, "CP1132", ei_ebcdic1132 ) + S(zos_128, "IBM-1137", ei_ebcdic1137 ) + S(zos_129, "IBM1137", ei_ebcdic1137 ) + S(zos_130, "CP1137", ei_ebcdic1137 ) + S(zos_131, "IBM-1140", ei_ebcdic1140 ) + S(zos_132, "IBM1140", ei_ebcdic1140 ) + S(zos_133, "IBM01140", ei_ebcdic1140 ) + S(zos_134, "CCSID01140", ei_ebcdic1140 ) + S(zos_135, "CP01140", ei_ebcdic1140 ) + S(zos_136, "EBCDIC-US-37+EURO", ei_ebcdic1140 ) + S(zos_137, "CSIBM01140", ei_ebcdic1140 ) + S(zos_138, "IBM-1141", ei_ebcdic1141 ) + S(zos_139, "IBM1141", ei_ebcdic1141 ) + S(zos_140, "IBM01141", ei_ebcdic1141 ) + S(zos_141, "CCSID01141", ei_ebcdic1141 ) + S(zos_142, "CP01141", ei_ebcdic1141 ) + S(zos_143, "EBCDIC-DE-273+EURO", ei_ebcdic1141 ) + S(zos_144, "CSIBM01141", ei_ebcdic1141 ) + S(zos_145, "IBM-1142", ei_ebcdic1142 ) + S(zos_146, "IBM1142", ei_ebcdic1142 ) + S(zos_147, "IBM01142", ei_ebcdic1142 ) + S(zos_148, "CCSID01142", ei_ebcdic1142 ) + S(zos_149, "CP01142", ei_ebcdic1142 ) + S(zos_150, "EBCDIC-DK-277+EURO", ei_ebcdic1142 ) + S(zos_151, "EBCDIC-NO-277+EURO", ei_ebcdic1142 ) + S(zos_152, "CSIBM01142", ei_ebcdic1142 ) + S(zos_153, "IBM-1143", ei_ebcdic1143 ) + S(zos_154, "IBM1143", ei_ebcdic1143 ) + S(zos_155, "IBM01143", ei_ebcdic1143 ) + S(zos_156, "CCSID01143", ei_ebcdic1143 ) + S(zos_157, "CP01143", ei_ebcdic1143 ) + S(zos_158, "EBCDIC-FI-278+EURO", ei_ebcdic1143 ) + S(zos_159, "EBCDIC-SE-278+EURO", ei_ebcdic1143 ) + S(zos_160, "CSIBM01143", ei_ebcdic1143 ) + S(zos_161, "IBM-1144", ei_ebcdic1144 ) + S(zos_162, "IBM1144", ei_ebcdic1144 ) + S(zos_163, "IBM01144", ei_ebcdic1144 ) + S(zos_164, "CCSID01144", ei_ebcdic1144 ) + S(zos_165, "CP01144", ei_ebcdic1144 ) + S(zos_166, "EBCDIC-IT-280+EURO", ei_ebcdic1144 ) + S(zos_167, "CSPC8CODEPAGE1144", ei_ebcdic1144 ) + S(zos_168, "IBM-1145", ei_ebcdic1145 ) + S(zos_169, "IBM1145", ei_ebcdic1145 ) + S(zos_170, "IBM01145", ei_ebcdic1145 ) + S(zos_171, "CCSID01145", ei_ebcdic1145 ) + S(zos_172, "CP01145", ei_ebcdic1145 ) + S(zos_173, "EBCDIC-ES-284+EURO", ei_ebcdic1145 ) + S(zos_174, "CSIBM01145", ei_ebcdic1145 ) + S(zos_175, "IBM-1146", ei_ebcdic1146 ) + S(zos_176, "IBM1146", ei_ebcdic1146 ) + S(zos_177, "IBM01146", ei_ebcdic1146 ) + S(zos_178, "CCSID01146", ei_ebcdic1146 ) + S(zos_179, "CP01146", ei_ebcdic1146 ) + S(zos_180, "EBCDIC-GB-285+EURO", ei_ebcdic1146 ) + S(zos_181, "CSPC8CODEPAGE1146", ei_ebcdic1146 ) + S(zos_182, "IBM-1147", ei_ebcdic1147 ) + S(zos_183, "IBM1147", ei_ebcdic1147 ) + S(zos_184, "IBM01147", ei_ebcdic1147 ) + S(zos_185, "CCSID01147", ei_ebcdic1147 ) + S(zos_186, "CP01147", ei_ebcdic1147 ) + S(zos_187, "EBCDIC-FR-297+EURO", ei_ebcdic1147 ) + S(zos_188, "CSIBM01147", ei_ebcdic1147 ) + S(zos_189, "IBM-1148", ei_ebcdic1148 ) + S(zos_190, "IBM1148", ei_ebcdic1148 ) + S(zos_191, "IBM01148", ei_ebcdic1148 ) + S(zos_192, "CCSID01148", ei_ebcdic1148 ) + S(zos_193, "CP01148", ei_ebcdic1148 ) + S(zos_194, "EBCDIC-INTERNATIONAL-500+EURO", ei_ebcdic1148 ) + S(zos_195, "CSIBM01148", ei_ebcdic1148 ) + S(zos_196, "IBM-1149", ei_ebcdic1149 ) + S(zos_197, "IBM1149", ei_ebcdic1149 ) + S(zos_198, "IBM01149", ei_ebcdic1149 ) + S(zos_199, "CCSID01149", ei_ebcdic1149 ) + S(zos_200, "CP01149", ei_ebcdic1149 ) + S(zos_201, "EBCDIC-IS-871+EURO", ei_ebcdic1149 ) + S(zos_202, "CSIBM01149", ei_ebcdic1149 ) + S(zos_203, "IBM-1153", ei_ebcdic1153 ) + S(zos_204, "IBM1153", ei_ebcdic1153 ) + S(zos_205, "CP1153", ei_ebcdic1153 ) + S(zos_206, "IBM-1154", ei_ebcdic1154 ) + S(zos_207, "IBM1154", ei_ebcdic1154 ) + S(zos_208, "CP1154", ei_ebcdic1154 ) + S(zos_209, "IBM-1155", ei_ebcdic1155 ) + S(zos_210, "IBM1155", ei_ebcdic1155 ) + S(zos_211, "CP1155", ei_ebcdic1155 ) + S(zos_212, "IBM-1156", ei_ebcdic1156 ) + S(zos_213, "IBM1156", ei_ebcdic1156 ) + S(zos_214, "CP1156", ei_ebcdic1156 ) + S(zos_215, "IBM-1157", ei_ebcdic1157 ) + S(zos_216, "IBM1157", ei_ebcdic1157 ) + S(zos_217, "CP1157", ei_ebcdic1157 ) + S(zos_218, "IBM-1158", ei_ebcdic1158 ) + S(zos_219, "IBM1158", ei_ebcdic1158 ) + S(zos_220, "CP1158", ei_ebcdic1158 ) + S(zos_221, "IBM-1160", ei_ebcdic1160 ) + S(zos_222, "IBM1160", ei_ebcdic1160 ) + S(zos_223, "CP1160", ei_ebcdic1160 ) + S(zos_224, "IBM-1164", ei_ebcdic1164 ) + S(zos_225, "IBM1164", ei_ebcdic1164 ) + S(zos_226, "CP1164", ei_ebcdic1164 ) + S(zos_227, "IBM-1165", ei_ebcdic1165 ) + S(zos_228, "IBM1165", ei_ebcdic1165 ) + S(zos_229, "IBM-1166", ei_ebcdic1166 ) + S(zos_230, "IBM1166", ei_ebcdic1166 ) + S(zos_231, "CP1166", ei_ebcdic1166 ) + S(zos_232, "IBM-4971", ei_ebcdic4971 ) + S(zos_233, "IBM4971", ei_ebcdic4971 ) + S(zos_234, "CP4971", ei_ebcdic4971 ) + S(zos_235, "IBM-12712", ei_ebcdic12712 ) + S(zos_236, "IBM12712", ei_ebcdic12712 ) + S(zos_237, "CP12712", ei_ebcdic12712 ) + S(zos_238, "IBM-16804", ei_ebcdic16804 ) + S(zos_239, "IBM16804", ei_ebcdic16804 ) + S(zos_240, "CP16804", ei_ebcdic16804 ) diff --git a/source/lib/armscii_8.h b/source/lib/armscii_8.h index 5d5744d..6acee33 100644 --- a/source/lib/armscii_8.h +++ b/source/lib/armscii_8.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ascii.h b/source/lib/ascii.h index 0c22903..ec3da6c 100644 --- a/source/lib/ascii.h +++ b/source/lib/ascii.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/atarist.h b/source/lib/atarist.h index c0a9d84..f728664 100644 --- a/source/lib/atarist.h +++ b/source/lib/atarist.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/big5.h b/source/lib/big5.h index 68bfaea..2b60aca 100644 --- a/source/lib/big5.h +++ b/source/lib/big5.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/big5_2003.h b/source/lib/big5_2003.h index 37b1f5d..a42e1cd 100644 --- a/source/lib/big5_2003.h +++ b/source/lib/big5_2003.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/big5hkscs1999.h b/source/lib/big5hkscs1999.h index 85bd804..cd563c0 100644 --- a/source/lib/big5hkscs1999.h +++ b/source/lib/big5hkscs1999.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/big5hkscs2001.h b/source/lib/big5hkscs2001.h index cd2f83a..89c97cd 100644 --- a/source/lib/big5hkscs2001.h +++ b/source/lib/big5hkscs2001.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/big5hkscs2004.h b/source/lib/big5hkscs2004.h index 4fe9f52..87d8ae0 100644 --- a/source/lib/big5hkscs2004.h +++ b/source/lib/big5hkscs2004.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/big5hkscs2008.h b/source/lib/big5hkscs2008.h index 9390dc9..c9818e4 100644 --- a/source/lib/big5hkscs2008.h +++ b/source/lib/big5hkscs2008.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/c99.h b/source/lib/c99.h index d9b8f15..290dd9a 100644 --- a/source/lib/c99.h +++ b/source/lib/c99.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/canonical.h b/source/lib/canonical.h index c621936..fe7b18e 100644 --- a/source/lib/canonical.h +++ b/source/lib/canonical.h @@ -1,111 +1,111 @@ - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str392, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str389, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str258, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str436, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str285, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str222, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str418, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str267, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str361, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str567, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str416, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str512, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str690, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str539, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str689, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str320, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str750, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str302, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str732, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str64, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str811, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str134, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str186, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str324, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str150, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str154, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str130, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str466, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str166, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str170, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str322, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str142, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str332, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str158, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str162, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str138, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str236, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str574, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str580, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str268, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str88, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str140, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str278, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str104, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str108, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str84, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str420, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str120, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str250, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str110, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str54, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str147, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str476, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str463, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str442, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str562, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str813, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str248, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str749, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str591, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str702, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str796, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str680, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str430, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str448, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str311, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str391, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str446, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str312, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str286, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str121, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str176, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str375, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str337, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str282, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str242, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str206, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str211, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str536, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str651, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str683, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str613, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str329, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str426, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str89, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str344, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str479, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str548, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str209, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str661, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str608, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str634, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str610, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str72, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str388, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str153, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str443, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str254, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str281, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str78, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str437, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str210, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str252, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str710, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str692, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str700, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str495, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str243, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str106, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str869, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str425, + (int)(long)&((struct stringpool_t *)0)->stringpool_str392, + (int)(long)&((struct stringpool_t *)0)->stringpool_str389, + (int)(long)&((struct stringpool_t *)0)->stringpool_str258, + (int)(long)&((struct stringpool_t *)0)->stringpool_str436, + (int)(long)&((struct stringpool_t *)0)->stringpool_str285, + (int)(long)&((struct stringpool_t *)0)->stringpool_str222, + (int)(long)&((struct stringpool_t *)0)->stringpool_str418, + (int)(long)&((struct stringpool_t *)0)->stringpool_str267, + (int)(long)&((struct stringpool_t *)0)->stringpool_str361, + (int)(long)&((struct stringpool_t *)0)->stringpool_str567, + (int)(long)&((struct stringpool_t *)0)->stringpool_str416, + (int)(long)&((struct stringpool_t *)0)->stringpool_str512, + (int)(long)&((struct stringpool_t *)0)->stringpool_str690, + (int)(long)&((struct stringpool_t *)0)->stringpool_str539, + (int)(long)&((struct stringpool_t *)0)->stringpool_str689, + (int)(long)&((struct stringpool_t *)0)->stringpool_str320, + (int)(long)&((struct stringpool_t *)0)->stringpool_str750, + (int)(long)&((struct stringpool_t *)0)->stringpool_str302, + (int)(long)&((struct stringpool_t *)0)->stringpool_str732, + (int)(long)&((struct stringpool_t *)0)->stringpool_str64, + (int)(long)&((struct stringpool_t *)0)->stringpool_str811, + (int)(long)&((struct stringpool_t *)0)->stringpool_str134, + (int)(long)&((struct stringpool_t *)0)->stringpool_str186, + (int)(long)&((struct stringpool_t *)0)->stringpool_str324, + (int)(long)&((struct stringpool_t *)0)->stringpool_str150, + (int)(long)&((struct stringpool_t *)0)->stringpool_str154, + (int)(long)&((struct stringpool_t *)0)->stringpool_str130, + (int)(long)&((struct stringpool_t *)0)->stringpool_str466, + (int)(long)&((struct stringpool_t *)0)->stringpool_str166, + (int)(long)&((struct stringpool_t *)0)->stringpool_str170, + (int)(long)&((struct stringpool_t *)0)->stringpool_str322, + (int)(long)&((struct stringpool_t *)0)->stringpool_str142, + (int)(long)&((struct stringpool_t *)0)->stringpool_str332, + (int)(long)&((struct stringpool_t *)0)->stringpool_str158, + (int)(long)&((struct stringpool_t *)0)->stringpool_str162, + (int)(long)&((struct stringpool_t *)0)->stringpool_str138, + (int)(long)&((struct stringpool_t *)0)->stringpool_str236, + (int)(long)&((struct stringpool_t *)0)->stringpool_str574, + (int)(long)&((struct stringpool_t *)0)->stringpool_str580, + (int)(long)&((struct stringpool_t *)0)->stringpool_str268, + (int)(long)&((struct stringpool_t *)0)->stringpool_str88, + (int)(long)&((struct stringpool_t *)0)->stringpool_str140, + (int)(long)&((struct stringpool_t *)0)->stringpool_str278, + (int)(long)&((struct stringpool_t *)0)->stringpool_str104, + (int)(long)&((struct stringpool_t *)0)->stringpool_str108, + (int)(long)&((struct stringpool_t *)0)->stringpool_str84, + (int)(long)&((struct stringpool_t *)0)->stringpool_str420, + (int)(long)&((struct stringpool_t *)0)->stringpool_str120, + (int)(long)&((struct stringpool_t *)0)->stringpool_str250, + (int)(long)&((struct stringpool_t *)0)->stringpool_str110, + (int)(long)&((struct stringpool_t *)0)->stringpool_str54, + (int)(long)&((struct stringpool_t *)0)->stringpool_str147, + (int)(long)&((struct stringpool_t *)0)->stringpool_str476, + (int)(long)&((struct stringpool_t *)0)->stringpool_str463, + (int)(long)&((struct stringpool_t *)0)->stringpool_str442, + (int)(long)&((struct stringpool_t *)0)->stringpool_str562, + (int)(long)&((struct stringpool_t *)0)->stringpool_str813, + (int)(long)&((struct stringpool_t *)0)->stringpool_str248, + (int)(long)&((struct stringpool_t *)0)->stringpool_str749, + (int)(long)&((struct stringpool_t *)0)->stringpool_str591, + (int)(long)&((struct stringpool_t *)0)->stringpool_str702, + (int)(long)&((struct stringpool_t *)0)->stringpool_str796, + (int)(long)&((struct stringpool_t *)0)->stringpool_str680, + (int)(long)&((struct stringpool_t *)0)->stringpool_str430, + (int)(long)&((struct stringpool_t *)0)->stringpool_str448, + (int)(long)&((struct stringpool_t *)0)->stringpool_str311, + (int)(long)&((struct stringpool_t *)0)->stringpool_str391, + (int)(long)&((struct stringpool_t *)0)->stringpool_str446, + (int)(long)&((struct stringpool_t *)0)->stringpool_str312, + (int)(long)&((struct stringpool_t *)0)->stringpool_str286, + (int)(long)&((struct stringpool_t *)0)->stringpool_str121, + (int)(long)&((struct stringpool_t *)0)->stringpool_str176, + (int)(long)&((struct stringpool_t *)0)->stringpool_str375, + (int)(long)&((struct stringpool_t *)0)->stringpool_str337, + (int)(long)&((struct stringpool_t *)0)->stringpool_str282, + (int)(long)&((struct stringpool_t *)0)->stringpool_str242, + (int)(long)&((struct stringpool_t *)0)->stringpool_str206, + (int)(long)&((struct stringpool_t *)0)->stringpool_str211, + (int)(long)&((struct stringpool_t *)0)->stringpool_str536, + (int)(long)&((struct stringpool_t *)0)->stringpool_str651, + (int)(long)&((struct stringpool_t *)0)->stringpool_str683, + (int)(long)&((struct stringpool_t *)0)->stringpool_str613, + (int)(long)&((struct stringpool_t *)0)->stringpool_str329, + (int)(long)&((struct stringpool_t *)0)->stringpool_str426, + (int)(long)&((struct stringpool_t *)0)->stringpool_str89, + (int)(long)&((struct stringpool_t *)0)->stringpool_str344, + (int)(long)&((struct stringpool_t *)0)->stringpool_str479, + (int)(long)&((struct stringpool_t *)0)->stringpool_str548, + (int)(long)&((struct stringpool_t *)0)->stringpool_str209, + (int)(long)&((struct stringpool_t *)0)->stringpool_str661, + (int)(long)&((struct stringpool_t *)0)->stringpool_str608, + (int)(long)&((struct stringpool_t *)0)->stringpool_str634, + (int)(long)&((struct stringpool_t *)0)->stringpool_str610, + (int)(long)&((struct stringpool_t *)0)->stringpool_str72, + (int)(long)&((struct stringpool_t *)0)->stringpool_str388, + (int)(long)&((struct stringpool_t *)0)->stringpool_str153, + (int)(long)&((struct stringpool_t *)0)->stringpool_str443, + (int)(long)&((struct stringpool_t *)0)->stringpool_str254, + (int)(long)&((struct stringpool_t *)0)->stringpool_str281, + (int)(long)&((struct stringpool_t *)0)->stringpool_str78, + (int)(long)&((struct stringpool_t *)0)->stringpool_str437, + (int)(long)&((struct stringpool_t *)0)->stringpool_str210, + (int)(long)&((struct stringpool_t *)0)->stringpool_str252, + (int)(long)&((struct stringpool_t *)0)->stringpool_str710, + (int)(long)&((struct stringpool_t *)0)->stringpool_str692, + (int)(long)&((struct stringpool_t *)0)->stringpool_str700, + (int)(long)&((struct stringpool_t *)0)->stringpool_str495, + (int)(long)&((struct stringpool_t *)0)->stringpool_str243, + (int)(long)&((struct stringpool_t *)0)->stringpool_str106, + (int)(long)&((struct stringpool_t *)0)->stringpool_str869, + (int)(long)&((struct stringpool_t *)0)->stringpool_str425, diff --git a/source/lib/canonical_dos.h b/source/lib/canonical_dos.h index 7eb9b3e..aa82651 100644 --- a/source/lib/canonical_dos.h +++ b/source/lib/canonical_dos.h @@ -1,15 +1,15 @@ - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_0, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_4, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_5, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_8, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_12, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_13, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_17, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_21, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_22, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_26, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_31, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_35, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_38, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_42, - (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_dos_47, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_0, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_4, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_5, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_8, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_12, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_13, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_17, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_21, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_22, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_26, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_31, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_35, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_38, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_42, + (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_47, diff --git a/source/lib/canonical_local.h b/source/lib/canonical_local.h index f0dec91..7018202 100644 --- a/source/lib/canonical_local.h +++ b/source/lib/canonical_local.h @@ -1,2 +1,2 @@ - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str193, - (int)(INT_PTR)&((struct stringpool_t *)0)->stringpool_str496, + (int)(long)&((struct stringpool_t *)0)->stringpool_str193, + (int)(long)&((struct stringpool_t *)0)->stringpool_str496, diff --git a/source/lib/canonical_zos.h b/source/lib/canonical_zos.h new file mode 100644 index 0000000..bb9ff7e --- /dev/null +++ b/source/lib/canonical_zos.h @@ -0,0 +1,53 @@ + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_0, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_8, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_12, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_17, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_23, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_28, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_30, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_35, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_40, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_45, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_50, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_55, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_57, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_63, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_67, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_73, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_78, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_82, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_87, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_92, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_99, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_102, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_106, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_110, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_113, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_116, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_119, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_122, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_125, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_128, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_131, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_138, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_145, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_153, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_161, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_168, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_175, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_182, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_189, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_196, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_203, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_206, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_209, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_212, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_215, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_218, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_221, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_224, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_227, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_229, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_232, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_235, + (int)(long)&((struct stringpool2_t *)0)->stringpool_zos_238, diff --git a/source/lib/ces_big5.h b/source/lib/ces_big5.h index 14c8ea9..7a29204 100644 --- a/source/lib/ces_big5.h +++ b/source/lib/ces_big5.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ces_gbk.h b/source/lib/ces_gbk.h index 15e720d..02e658d 100644 --- a/source/lib/ces_gbk.h +++ b/source/lib/ces_gbk.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cjk_variants.h b/source/lib/cjk_variants.h index 62f89dd..3a30840 100644 --- a/source/lib/cjk_variants.h +++ b/source/lib/cjk_variants.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cns11643.h b/source/lib/cns11643.h index 6c6e74b..044bf9d 100644 --- a/source/lib/cns11643.h +++ b/source/lib/cns11643.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cns11643_1.h b/source/lib/cns11643_1.h index 08419fb..a6673ef 100644 --- a/source/lib/cns11643_1.h +++ b/source/lib/cns11643_1.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cns11643_15.h b/source/lib/cns11643_15.h index 89af3ae..672406b 100644 --- a/source/lib/cns11643_15.h +++ b/source/lib/cns11643_15.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cns11643_2.h b/source/lib/cns11643_2.h index ea66674..535051a 100644 --- a/source/lib/cns11643_2.h +++ b/source/lib/cns11643_2.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cns11643_3.h b/source/lib/cns11643_3.h index 94ed669..79d9dbd 100644 --- a/source/lib/cns11643_3.h +++ b/source/lib/cns11643_3.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cns11643_4.h b/source/lib/cns11643_4.h index 9edabeb..5aa04a0 100644 --- a/source/lib/cns11643_4.h +++ b/source/lib/cns11643_4.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cns11643_4a.h b/source/lib/cns11643_4a.h index 1962d39..779685c 100644 --- a/source/lib/cns11643_4a.h +++ b/source/lib/cns11643_4a.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cns11643_4b.h b/source/lib/cns11643_4b.h index 810908f..b209091 100644 --- a/source/lib/cns11643_4b.h +++ b/source/lib/cns11643_4b.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cns11643_5.h b/source/lib/cns11643_5.h index 0d30eb9..7002dfa 100644 --- a/source/lib/cns11643_5.h +++ b/source/lib/cns11643_5.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cns11643_6.h b/source/lib/cns11643_6.h index 4ff1199..acfafaf 100644 --- a/source/lib/cns11643_6.h +++ b/source/lib/cns11643_6.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cns11643_7.h b/source/lib/cns11643_7.h index eb9891c..2d23fda 100644 --- a/source/lib/cns11643_7.h +++ b/source/lib/cns11643_7.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cns11643_inv.h b/source/lib/cns11643_inv.h index 8ad8d98..665d30e 100644 --- a/source/lib/cns11643_inv.h +++ b/source/lib/cns11643_inv.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/config.h.in b/source/lib/config.h.in index 54656eb..cc1e726 100644 --- a/source/lib/config.h.in +++ b/source/lib/config.h.in @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/lib/converters.h b/source/lib/converters.h index 4ddeed2..e2e2227 100644 --- a/source/lib/converters.h +++ b/source/lib/converters.h @@ -1,18 +1,18 @@ /* - * Copyright (C) 1999-2002, 2004-2011, 2016 Free Software Foundation, Inc. + * Copyright (C) 1999-2002, 2004-2011, 2016, 2022 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ @@ -290,6 +290,63 @@ typedef struct { #include "cp1125.h" #endif +#ifdef USE_ZOS +#define DEDUPLICATE_TABLES 1 +#include "ebcdic037.h" +#include "ebcdic273.h" +#include "ebcdic277.h" +#include "ebcdic278.h" +#include "ebcdic280.h" +#include "ebcdic282.h" +#include "ebcdic284.h" +#include "ebcdic285.h" +#include "ebcdic297.h" +#include "ebcdic423.h" +#include "ebcdic424.h" +#include "ebcdic425.h" +#include "ebcdic500.h" +#include "ebcdic838.h" +#include "ebcdic870.h" +#include "ebcdic871.h" +#include "ebcdic875.h" +#include "ebcdic880.h" +#include "ebcdic905.h" +#include "ebcdic924.h" +#include "ebcdic1025.h" +#include "ebcdic1026.h" +#include "ebcdic1047.h" +#include "ebcdic1097.h" +#include "ebcdic1112.h" +#include "ebcdic1122.h" +#include "ebcdic1123.h" +#include "ebcdic1130.h" +#include "ebcdic1132.h" +#include "ebcdic1137.h" +#include "ebcdic1140.h" +#include "ebcdic1141.h" +#include "ebcdic1142.h" +#include "ebcdic1143.h" +#include "ebcdic1144.h" +#include "ebcdic1145.h" +#include "ebcdic1146.h" +#include "ebcdic1147.h" +#include "ebcdic1148.h" +#include "ebcdic1149.h" +#include "ebcdic1153.h" +#include "ebcdic1154.h" +#include "ebcdic1155.h" +#include "ebcdic1156.h" +#include "ebcdic1157.h" +#include "ebcdic1158.h" +#include "ebcdic1160.h" +#include "ebcdic1164.h" +#include "ebcdic1165.h" +#include "ebcdic1166.h" +#include "ebcdic4971.h" +#include "ebcdic12712.h" +#include "ebcdic16804.h" +#endif + #ifdef USE_EXTRA #include "euc_jisx0213.h" #include "shift_jisx0213.h" diff --git a/source/lib/cp1046.h b/source/lib/cp1046.h index 51fa595..7ea291f 100644 --- a/source/lib/cp1046.h +++ b/source/lib/cp1046.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1124.h b/source/lib/cp1124.h index 72f9f03..80f1432 100644 --- a/source/lib/cp1124.h +++ b/source/lib/cp1124.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1125.h b/source/lib/cp1125.h index 9d18cc1..ddafbf4 100644 --- a/source/lib/cp1125.h +++ b/source/lib/cp1125.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1129.h b/source/lib/cp1129.h index 4ab52e5..54944ea 100644 --- a/source/lib/cp1129.h +++ b/source/lib/cp1129.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1131.h b/source/lib/cp1131.h index e554a17..4062394 100644 --- a/source/lib/cp1131.h +++ b/source/lib/cp1131.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1133.h b/source/lib/cp1133.h index 36940dd..5e69f28 100644 --- a/source/lib/cp1133.h +++ b/source/lib/cp1133.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1161.h b/source/lib/cp1161.h index 5d2c74f..5016648 100644 --- a/source/lib/cp1161.h +++ b/source/lib/cp1161.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1162.h b/source/lib/cp1162.h index f8e1f1b..e7c0eb1 100644 --- a/source/lib/cp1162.h +++ b/source/lib/cp1162.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1163.h b/source/lib/cp1163.h index 05af3cd..6c56365 100644 --- a/source/lib/cp1163.h +++ b/source/lib/cp1163.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1250.h b/source/lib/cp1250.h index 95f7f6f..3b6f7b1 100644 --- a/source/lib/cp1250.h +++ b/source/lib/cp1250.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1251.h b/source/lib/cp1251.h index 2e5aa00..c7e3a29 100644 --- a/source/lib/cp1251.h +++ b/source/lib/cp1251.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1252.h b/source/lib/cp1252.h index d4c819d..b4c23b7 100644 --- a/source/lib/cp1252.h +++ b/source/lib/cp1252.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1253.h b/source/lib/cp1253.h index 14079cf..e5b36ca 100644 --- a/source/lib/cp1253.h +++ b/source/lib/cp1253.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1254.h b/source/lib/cp1254.h index ba3aaee..15bbc15 100644 --- a/source/lib/cp1254.h +++ b/source/lib/cp1254.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1255.h b/source/lib/cp1255.h index ee487b7..213daa2 100644 --- a/source/lib/cp1255.h +++ b/source/lib/cp1255.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1256.h b/source/lib/cp1256.h index 8a54b73..51fc13a 100644 --- a/source/lib/cp1256.h +++ b/source/lib/cp1256.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1257.h b/source/lib/cp1257.h index ef9a27b..dc5716e 100644 --- a/source/lib/cp1257.h +++ b/source/lib/cp1257.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp1258.h b/source/lib/cp1258.h index d4aef9a..b56557f 100644 --- a/source/lib/cp1258.h +++ b/source/lib/cp1258.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp437.h b/source/lib/cp437.h index 9582946..fb1d818 100644 --- a/source/lib/cp437.h +++ b/source/lib/cp437.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp50221_0208_ext.h b/source/lib/cp50221_0208_ext.h index 640871c..9519223 100644 --- a/source/lib/cp50221_0208_ext.h +++ b/source/lib/cp50221_0208_ext.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp50221_0212_ext.h b/source/lib/cp50221_0212_ext.h index 28cf087..78d4839 100644 --- a/source/lib/cp50221_0212_ext.h +++ b/source/lib/cp50221_0212_ext.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp737.h b/source/lib/cp737.h index 24ff7fc..32ef680 100644 --- a/source/lib/cp737.h +++ b/source/lib/cp737.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp775.h b/source/lib/cp775.h index 8417413..ada10bd 100644 --- a/source/lib/cp775.h +++ b/source/lib/cp775.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp850.h b/source/lib/cp850.h index 2ecf426..794e72b 100644 --- a/source/lib/cp850.h +++ b/source/lib/cp850.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp852.h b/source/lib/cp852.h index e0d457e..c6707bd 100644 --- a/source/lib/cp852.h +++ b/source/lib/cp852.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp853.h b/source/lib/cp853.h index 980b83d..3af252b 100644 --- a/source/lib/cp853.h +++ b/source/lib/cp853.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp855.h b/source/lib/cp855.h index 3cf0f95..9fc109a 100644 --- a/source/lib/cp855.h +++ b/source/lib/cp855.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp856.h b/source/lib/cp856.h index 83cde02..9cce575 100644 --- a/source/lib/cp856.h +++ b/source/lib/cp856.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp857.h b/source/lib/cp857.h index efa2b6d..3a191a2 100644 --- a/source/lib/cp857.h +++ b/source/lib/cp857.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp858.h b/source/lib/cp858.h index 89722f1..c7bddb2 100644 --- a/source/lib/cp858.h +++ b/source/lib/cp858.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp860.h b/source/lib/cp860.h index ceabf56..afa25fb 100644 --- a/source/lib/cp860.h +++ b/source/lib/cp860.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp861.h b/source/lib/cp861.h index 0c3332f..b131570 100644 --- a/source/lib/cp861.h +++ b/source/lib/cp861.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp862.h b/source/lib/cp862.h index 4d87e7c..9aaeca3 100644 --- a/source/lib/cp862.h +++ b/source/lib/cp862.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp863.h b/source/lib/cp863.h index 1c1115f..03f8ac6 100644 --- a/source/lib/cp863.h +++ b/source/lib/cp863.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp864.h b/source/lib/cp864.h index 3e813df..c20a855 100644 --- a/source/lib/cp864.h +++ b/source/lib/cp864.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp865.h b/source/lib/cp865.h index a1b78ce..d0476e1 100644 --- a/source/lib/cp865.h +++ b/source/lib/cp865.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp866.h b/source/lib/cp866.h index 18b2931..71548cb 100644 --- a/source/lib/cp866.h +++ b/source/lib/cp866.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp869.h b/source/lib/cp869.h index bf6ec58..4df05a1 100644 --- a/source/lib/cp869.h +++ b/source/lib/cp869.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp874.h b/source/lib/cp874.h index ef6e074..0655337 100644 --- a/source/lib/cp874.h +++ b/source/lib/cp874.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp922.h b/source/lib/cp922.h index b390639..3f4c143 100644 --- a/source/lib/cp922.h +++ b/source/lib/cp922.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp932.h b/source/lib/cp932.h index ba564ac..24c258f 100644 --- a/source/lib/cp932.h +++ b/source/lib/cp932.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp932ext.h b/source/lib/cp932ext.h index 772437f..854572c 100644 --- a/source/lib/cp932ext.h +++ b/source/lib/cp932ext.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp936.h b/source/lib/cp936.h index 716d5ab..e99129e 100644 --- a/source/lib/cp936.h +++ b/source/lib/cp936.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp936ext.h b/source/lib/cp936ext.h index 1a08bb0..6e0eae0 100644 --- a/source/lib/cp936ext.h +++ b/source/lib/cp936ext.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp943.h b/source/lib/cp943.h index 79f5526..8fad5b1 100644 --- a/source/lib/cp943.h +++ b/source/lib/cp943.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp949.h b/source/lib/cp949.h index c219105..685ad74 100644 --- a/source/lib/cp949.h +++ b/source/lib/cp949.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp950.h b/source/lib/cp950.h index 7cc1ed9..f7452a8 100644 --- a/source/lib/cp950.h +++ b/source/lib/cp950.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/cp950ext.h b/source/lib/cp950ext.h index d96d755..bf5a625 100644 --- a/source/lib/cp950ext.h +++ b/source/lib/cp950ext.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/dec_hanyu.h b/source/lib/dec_hanyu.h index d186f6e..10dd108 100644 --- a/source/lib/dec_hanyu.h +++ b/source/lib/dec_hanyu.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/dec_kanji.h b/source/lib/dec_kanji.h index 2a2066c..522b798 100644 --- a/source/lib/dec_kanji.h +++ b/source/lib/dec_kanji.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ebcdic037.h b/source/lib/ebcdic037.h new file mode 100644 index 0000000..2de9805 --- /dev/null +++ b/source/lib/ebcdic037.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-037 + */ + +static const unsigned short ebcdic037_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x005e, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic037_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic037_2uni[c]; + return 1; +} + +static const unsigned char ebcdic037_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic037_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic037_page00[wc]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1025.h b/source/lib/ebcdic1025.h new file mode 100644 index 0000000..28dcb2b --- /dev/null +++ b/source/lib/ebcdic1025.h @@ -0,0 +1,141 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1025 + */ + +static const unsigned short ebcdic1025_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0452, 0x0453, 0x0451, 0x0454, 0x0455, 0x0456, + 0x0457, 0x0458, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0459, 0x045a, 0x045b, 0x045c, 0x045e, 0x045f, 0x042a, + 0x2116, 0x0402, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0403, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, 0x044e, 0x0430, + 0x0431, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, + /* 0x90 */ + 0x0439, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + /* 0xa0 */ + 0x044f, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + /* 0xb0 */ + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + /* 0xe0 */ + 0x005c, 0x00a7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x009f, +}; + +static int +ebcdic1025_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1025_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1025_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1025_page04 ebcdic880_page04 +#else /* Unoptimized */ +static const unsigned char ebcdic1025_page04[96] = { + 0x00, 0x63, 0x59, 0x62, 0x64, 0x65, 0x66, 0x67, /* 0x00-0x07 */ + 0x68, 0x69, 0x70, 0x71, 0x72, 0x00, 0x74, 0x75, /* 0x08-0x0f */ + 0xb9, 0xba, 0xed, 0xbf, 0xbc, 0xbd, 0xec, 0xfa, /* 0x10-0x17 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0xdb, 0xdc, /* 0x18-0x1f */ + 0xde, 0xdf, 0xea, 0xeb, 0xbe, 0xca, 0xbb, 0xfe, /* 0x20-0x27 */ + 0xfb, 0xfd, 0x57, 0xef, 0xee, 0xfc, 0xb8, 0xdd, /* 0x28-0x2f */ + 0x77, 0x78, 0xaf, 0x8d, 0x8a, 0x8b, 0xae, 0xb2, /* 0x30-0x37 */ + 0x8f, 0x90, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 0x38-0x3f */ + 0xaa, 0xab, 0xac, 0xad, 0x8c, 0x8e, 0x80, 0xb6, /* 0x40-0x47 */ + 0xb3, 0xb5, 0xb7, 0xb1, 0xb0, 0xb4, 0x76, 0xa0, /* 0x48-0x4f */ + 0x00, 0x44, 0x42, 0x43, 0x45, 0x46, 0x47, 0x48, /* 0x50-0x57 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x00, 0x55, 0x56, /* 0x58-0x5f */ +}; +#endif + +static int +ebcdic1025_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1025_page00[wc]; + else if (wc >= 0x0400 && wc < 0x0460) + c = ebcdic1025_page04[wc-0x0400]; + else if (wc == 0x2116) + c = 0x58; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1026.h b/source/lib/ebcdic1026.h new file mode 100644 index 0000000..b4f2dc0 --- /dev/null +++ b/source/lib/ebcdic1026.h @@ -0,0 +1,142 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1026 + */ + +static const unsigned short ebcdic1026_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x007b, 0x00f1, 0x00c7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x011e, 0x0130, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x005b, 0x00d1, 0x015f, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0131, 0x003a, 0x00d6, 0x015e, 0x0027, 0x003d, 0x00dc, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x007d, 0x0060, 0x00a6, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x005d, 0x0024, 0x0040, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x011f, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x005c, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00fc, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0023, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x0022, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1026_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1026_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1026_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0xfc, 0xec, 0xad, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xae, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x68, 0xdc, 0xac, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x8d, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x48, 0xbb, 0x8c, 0xcc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x8e, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x4a, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7b, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0x7f, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xc0, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xa1, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xe0, 0x00, 0x00, 0xdf, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic1026_page01[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xd0, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x5b, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x6a, /* 0x58-0x5f */ +}; + +static int +ebcdic1026_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1026_page00[wc]; + else if (wc >= 0x0118 && wc < 0x0160) + c = ebcdic1026_page01[wc-0x0118]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1047.h b/source/lib/ebcdic1047.h new file mode 100644 index 0000000..1c9bc95 --- /dev/null +++ b/source/lib/ebcdic1047.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1047 + */ + +static const unsigned short ebcdic1047_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x005b, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00ac, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00dd, 0x00a8, 0x00af, 0x005d, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1047_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1047_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1047_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbb, 0xb4, 0x9a, 0x8a, 0xb0, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xba, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1047_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1047_page00[wc]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1097.h b/source/lib/ebcdic1097.h new file mode 100644 index 0000000..cb23176 --- /dev/null +++ b/source/lib/ebcdic1097.h @@ -0,0 +1,186 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1097 + */ + +static const unsigned short ebcdic1097_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x060c, 0x064b, 0xfe81, 0xfe82, 0xf8fa, 0xfe8d, + 0xfe8e, 0xf8fb, 0x00a4, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0xfe80, 0xfe83, 0xfe84, 0xf8f9, 0xfe85, 0xfe8b, 0xfe8f, + 0xfe91, 0xfb56, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0xfb58, 0xfe95, 0xfe97, 0xfe99, 0xfe9b, 0xfe9d, + 0xfe9f, 0xfb7a, 0x061b, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0xfb7c, 0xfea1, 0xfea3, 0xfea5, 0xfea7, 0xfea9, 0xfeab, 0xfead, + 0xfeaf, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0xfb8a, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0xfeb1, 0xfeb3, 0xfeb5, 0xfeb7, + /* 0x90 */ + 0xfeb9, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0xfebb, 0xfebd, 0xfebf, 0xfec1, 0xfec3, 0xfec5, + /* 0xa0 */ + 0xfec7, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0xfec9, 0xfeca, 0xfecb, 0xfecc, 0xfecd, 0xfece, + /* 0xb0 */ + 0xfecf, 0xfed0, 0xfed1, 0xfed3, 0xfed5, 0xfed7, 0xfb8e, 0xfedb, + 0xfb92, 0xfb94, 0x005b, 0x005d, 0xfedd, 0xfedf, 0xfee1, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0xfee3, 0xfee5, 0xfee7, 0xfeed, 0xfee9, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0xfeeb, 0xfeec, 0xfba4, 0xfbfc, 0xfbfd, 0xfbfe, + /* 0xe0 */ + 0x005c, 0x061f, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0640, 0x06f0, 0x06f1, 0x06f2, 0x06f3, 0x06f4, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x06f5, 0x06f6, 0x06f7, 0x06f8, 0x06f9, 0x009f, +}; + +static int +ebcdic1097_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1097_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1097_page00[216] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0x00, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x8a, 0x5f, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, /* 0xd0-0xd7 */ +}; +static const unsigned char ebcdic1097_page06[72] = { + 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0xe1, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ +}; +static const unsigned char ebcdic1097_page06_1[16] = { + 0xeb, 0xec, 0xed, 0xee, 0xef, 0xfa, 0xfb, 0xfc, /* 0xf0-0xf7 */ + 0xfd, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic1097_pagef8[8] = { + 0x00, 0x54, 0x46, 0x49, 0x00, 0x00, 0x00, 0x00, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic1097_pagefb[88] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, /* 0x50-0x57 */ + 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x69, 0x00, 0x70, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xb6, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0xb8, 0x00, 0xb9, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ +}; +static const unsigned char ebcdic1097_pagefb_2[8] = { + 0x00, 0x00, 0x00, 0x00, 0xdd, 0xde, 0xdf, 0x00, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic1097_pagefe[112] = { + 0x51, 0x44, 0x45, 0x52, 0x53, 0x55, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x56, 0x00, 0x47, 0x48, 0x57, /* 0x88-0x8f */ + 0x00, 0x58, 0x00, 0x00, 0x00, 0x63, 0x00, 0x64, /* 0x90-0x97 */ + 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, /* 0x98-0x9f */ + 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, /* 0xa0-0xa7 */ + 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, /* 0xa8-0xaf */ + 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, /* 0xb0-0xb7 */ + 0x00, 0x90, 0x00, 0x9a, 0x00, 0x9b, 0x00, 0x9c, /* 0xb8-0xbf */ + 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, /* 0xc0-0xc7 */ + 0x00, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, /* 0xc8-0xcf */ + 0xb1, 0xb2, 0x00, 0xb3, 0x00, 0xb4, 0x00, 0xb5, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0xb7, 0x00, 0xbc, 0x00, 0xbd, /* 0xd8-0xdf */ + 0x00, 0xbe, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, /* 0xe0-0xe7 */ + 0x00, 0xcf, 0x00, 0xda, 0xdb, 0xce, 0x00, 0x00, /* 0xe8-0xef */ +}; + +static int +ebcdic1097_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00d8) + c = ebcdic1097_page00[wc]; + else if (wc >= 0x0608 && wc < 0x0650) + c = ebcdic1097_page06[wc-0x0608]; + else if (wc >= 0x06f0 && wc < 0x0700) + c = ebcdic1097_page06_1[wc-0x06f0]; + else if (wc >= 0xf8f8 && wc < 0xf900) + c = ebcdic1097_pagef8[wc-0xf8f8]; + else if (wc >= 0xfb50 && wc < 0xfba8) + c = ebcdic1097_pagefb[wc-0xfb50]; + else if (wc >= 0xfbf8 && wc < 0xfc00) + c = ebcdic1097_pagefb_2[wc-0xfbf8]; + else if (wc >= 0xfe80 && wc < 0xfef0) + c = ebcdic1097_pagefe[wc-0xfe80]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1112.h b/source/lib/ebcdic1112.h new file mode 100644 index 0000000..7ee8e4a --- /dev/null +++ b/source/lib/ebcdic1112.h @@ -0,0 +1,151 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1112 + */ + +static const unsigned short ebcdic1112_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0161, 0x00e4, 0x0105, 0x012f, 0x016b, 0x00e5, + 0x0113, 0x017e, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x0119, 0x0117, 0x010d, 0x0173, 0x201e, 0x201c, + 0x0123, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x0160, 0x00c4, 0x0104, 0x012e, 0x016a, 0x00c5, + 0x0112, 0x017d, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x0118, 0x0116, 0x010c, 0x0172, 0x012a, 0x013b, + 0x0122, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0101, 0x017c, 0x0144, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0156, 0x0157, 0x00e6, 0x0137, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x201d, 0x017a, 0x0100, 0x017b, 0x0143, 0x00ae, + /* 0xb0 */ + 0x005e, 0x00a3, 0x012b, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x0179, 0x0136, 0x013c, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x014d, 0x00f6, 0x0146, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x0107, 0x00fc, 0x0142, 0x015b, 0x2019, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x014c, 0x00d6, 0x0145, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x0106, 0x00dc, 0x0141, 0x015a, 0x009f, +}; + +static int +ebcdic1112_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1112_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1112_page00[384] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x4a, 0xb1, 0x9f, 0x00, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0x00, 0xb4, 0x00, 0x8a, 0x5f, 0xca, 0xaf, 0x00, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0x00, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x00, 0xda, 0x00, 0x8b, 0xb7, 0xb8, 0xb9, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x9e, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0xee, 0x00, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x43, 0x47, 0x9c, 0x00, /* 0xe0-0xe7 */ + 0x00, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0xce, 0x00, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, /* 0xf8-0xff */ + /* 0x0100 */ + 0xac, 0x8c, 0x00, 0x00, 0x64, 0x44, 0xfb, 0xdb, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x74, 0x54, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x68, 0x48, 0x00, 0x00, 0x73, 0x53, /* 0x10-0x17 */ + 0x72, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x78, 0x58, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x76, 0xb2, 0x00, 0x00, 0x65, 0x45, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0x9d, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x77, 0xbe, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0xfd, 0xdd, 0xae, 0x8e, 0xed, 0xcd, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0xeb, 0xcb, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x9b, /* 0x50-0x57 */ + 0x00, 0x00, 0xfe, 0xde, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x62, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x66, 0x46, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x75, 0x55, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0xbc, 0xab, 0xad, 0x8d, 0x69, 0x49, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char ebcdic1112_page20[8] = { + 0x00, 0xdf, 0x00, 0x00, 0x57, 0xaa, 0x56, 0x00, /* 0x18-0x1f */ +}; + +static int +ebcdic1112_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0180) + c = ebcdic1112_page00[wc]; + else if (wc >= 0x2018 && wc < 0x2020) + c = ebcdic1112_page20[wc-0x2018]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1122.h b/source/lib/ebcdic1122.h new file mode 100644 index 0000000..2b97ac3 --- /dev/null +++ b/source/lib/ebcdic1122.h @@ -0,0 +1,137 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1122 + */ + +static const unsigned short ebcdic1122_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x00a7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0060, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a4, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x0023, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x005c, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00e9, 0x003a, 0x00c4, 0x00d6, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0161, 0x00fd, 0x017e, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x005d, + /* 0xa0 */ + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0160, 0x00dd, 0x017d, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x005b, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00c9, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0040, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1122_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1122_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1122_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x63, 0x67, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xec, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xb5, 0x71, 0x9f, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x51, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x43, 0xbb, 0x47, 0xdc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x5a, 0xb2, 0xcc, 0x4a, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x7b, 0x5b, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0xe0, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7c, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0xc0, 0xd0, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x79, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0x6a, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xa1, 0x8d, 0x00, 0xdf, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic1122_page01[32] = { + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xae, 0x8e, 0x00, /* 0x78-0x7f */ +}; + +static int +ebcdic1122_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1122_page00[wc]; + else if (wc >= 0x0160 && wc < 0x0180) + c = ebcdic1122_page01[wc-0x0160]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1123.h b/source/lib/ebcdic1123.h new file mode 100644 index 0000000..bcd1952 --- /dev/null +++ b/source/lib/ebcdic1123.h @@ -0,0 +1,148 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1123 + */ + +static const unsigned short ebcdic1123_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0452, 0x0491, 0x0451, 0x0454, 0x0455, 0x0456, + 0x0457, 0x0458, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0459, 0x045a, 0x045b, 0x045c, 0x045e, 0x045f, 0x042a, + 0x2116, 0x0402, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0490, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, 0x044e, 0x0430, + 0x0431, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, + /* 0x90 */ + 0x0439, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + /* 0xa0 */ + 0x044f, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + /* 0xb0 */ + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + /* 0xe0 */ + 0x005c, 0x00a7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x009f, +}; + +static int +ebcdic1123_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1123_2uni[c]; + return 1; +} + +#if DEDUPLICATE_TABLES +#define ebcdic1123_page00 ebcdic1025_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic1123_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#endif +static const unsigned char ebcdic1123_page04[152] = { + 0x00, 0x63, 0x59, 0x00, 0x64, 0x65, 0x66, 0x67, /* 0x00-0x07 */ + 0x68, 0x69, 0x70, 0x71, 0x72, 0x00, 0x74, 0x75, /* 0x08-0x0f */ + 0xb9, 0xba, 0xed, 0xbf, 0xbc, 0xbd, 0xec, 0xfa, /* 0x10-0x17 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0xdb, 0xdc, /* 0x18-0x1f */ + 0xde, 0xdf, 0xea, 0xeb, 0xbe, 0xca, 0xbb, 0xfe, /* 0x20-0x27 */ + 0xfb, 0xfd, 0x57, 0xef, 0xee, 0xfc, 0xb8, 0xdd, /* 0x28-0x2f */ + 0x77, 0x78, 0xaf, 0x8d, 0x8a, 0x8b, 0xae, 0xb2, /* 0x30-0x37 */ + 0x8f, 0x90, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 0x38-0x3f */ + 0xaa, 0xab, 0xac, 0xad, 0x8c, 0x8e, 0x80, 0xb6, /* 0x40-0x47 */ + 0xb3, 0xb5, 0xb7, 0xb1, 0xb0, 0xb4, 0x76, 0xa0, /* 0x48-0x4f */ + 0x00, 0x44, 0x42, 0x00, 0x45, 0x46, 0x47, 0x48, /* 0x50-0x57 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x00, 0x55, 0x56, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x62, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ +}; + +static int +ebcdic1123_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1123_page00[wc]; + else if (wc >= 0x0400 && wc < 0x0498) + c = ebcdic1123_page04[wc-0x0400]; + else if (wc == 0x2116) + c = 0x58; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1130.h b/source/lib/ebcdic1130.h new file mode 100644 index 0000000..ad9c8b4 --- /dev/null +++ b/source/lib/ebcdic1130.h @@ -0,0 +1,164 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1130 + */ + +static const unsigned short ebcdic1130_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x0103, 0x00e5, + 0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x0303, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x0102, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x20ab, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0111, 0x0309, 0x0300, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x0152, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0110, 0x0323, 0x0301, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x0153, 0x0178, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x01b0, 0x00f3, 0x01a1, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x01af, 0x00d3, 0x01a0, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1130_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1130_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1130_page00[440] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0x00, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0x00, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x00, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x00, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x00, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0x00, 0xee, 0xeb, 0x00, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x00, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x00, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0x00, 0xce, 0xcb, 0x00, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x00, 0x00, 0xdf, /* 0xf8-0xff */ + /* 0x0100 */ + 0x00, 0x00, 0x66, 0x46, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x9d, 0xbd, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0xef, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xed, /* 0xa8-0xaf */ + 0xcd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ +}; +static const unsigned char ebcdic1130_page03[40] = { + 0x8e, 0xae, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ + 0x00, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ +}; + +static int +ebcdic1130_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x01b8) + c = ebcdic1130_page00[wc]; + else if (wc >= 0x0300 && wc < 0x0328) + c = ebcdic1130_page03[wc-0x0300]; + else if (wc == 0x20ab) + c = 0x78; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1132.h b/source/lib/ebcdic1132.h new file mode 100644 index 0000000..1a6e91c --- /dev/null +++ b/source/lib/ebcdic1132.h @@ -0,0 +1,145 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1132 + */ + +static const unsigned short ebcdic1132_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0e81, 0x0e82, 0x0e84, 0x0e87, 0x0e88, 0x0eaa, + 0x0e8a, 0x005b, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0xfffd, 0x0e8d, 0x0e94, 0x0e95, 0x0e96, 0x0e97, 0x0e99, + 0x0e9a, 0x005d, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x0e9b, 0x0e9c, 0x0e9d, 0x0e9e, 0x0e9f, 0x0ea1, + 0x0ea2, 0x005e, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x20ad, 0xfffd, 0x0ea3, 0x0ea5, 0x0ea7, 0x0eab, 0x0ead, 0x0eae, + 0xfffd, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0xfffd, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0xfffd, 0xfffd, 0x0eaf, 0x0eb0, 0x0eb2, 0x0eb3, + /* 0x90 */ + 0xfffd, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0eb4, 0x0eb5, 0x0eb6, 0x0eb7, 0x0eb8, 0x0eb9, + /* 0xa0 */ + 0xfffd, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0ebc, 0x0eb1, 0x0ebb, 0x0ebd, 0xfffd, 0xfffd, + /* 0xb0 */ + 0x0ed0, 0x0ed1, 0x0ed2, 0x0ed3, 0x0ed4, 0x0ed5, 0x0ed6, 0x0ed7, + 0x0ed8, 0x0ed9, 0xfffd, 0x0ec0, 0x0ec1, 0x0ec2, 0x0ec3, 0x0ec4, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0xfffd, 0x0ec8, 0x0ec9, 0x0eca, 0x0ecb, 0x0ecc, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0ecd, 0x0ec6, 0xfffd, 0x0edc, 0x0edd, 0xfffd, + /* 0xe0 */ + 0x005c, 0xfffd, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x009f, +}; + +static int +ebcdic1132_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + unsigned short wc = ebcdic1132_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +#if DEDUPLICATE_TABLES +#define ebcdic1132_page00 ebcdic838_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic1132_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x49, 0xe0, 0x59, 0x69, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x6a, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#endif +static const unsigned char ebcdic1132_page0e[96] = { + 0x00, 0x42, 0x43, 0x00, 0x44, 0x00, 0x00, 0x45, /* 0x80-0x87 */ + 0x46, 0x00, 0x48, 0x00, 0x00, 0x52, 0x00, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x55, 0x56, /* 0x90-0x97 */ + 0x00, 0x57, 0x58, 0x62, 0x63, 0x64, 0x65, 0x66, /* 0x98-0x9f */ + 0x00, 0x67, 0x68, 0x72, 0x00, 0x73, 0x00, 0x74, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x47, 0x75, 0x00, 0x76, 0x77, 0x8c, /* 0xa8-0xaf */ + 0x8d, 0xab, 0x8e, 0x8f, 0x9a, 0x9b, 0x9c, 0x9d, /* 0xb0-0xb7 */ + 0x9e, 0x9f, 0x00, 0xac, 0xaa, 0xad, 0x00, 0x00, /* 0xb8-0xbf */ + 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0x00, 0xdb, 0x00, /* 0xc0-0xc7 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0x00, 0x00, /* 0xc8-0xcf */ + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, /* 0xd0-0xd7 */ + 0xb8, 0xb9, 0x00, 0x00, 0xdd, 0xde, 0x00, 0x00, /* 0xd8-0xdf */ +}; + +static int +ebcdic1132_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1132_page00[wc]; + else if (wc >= 0x0e80 && wc < 0x0ee0) + c = ebcdic1132_page0e[wc-0x0e80]; + else if (wc == 0x20ad) + c = 0x70; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1137.h b/source/lib/ebcdic1137.h new file mode 100644 index 0000000..19b28a7 --- /dev/null +++ b/source/lib/ebcdic1137.h @@ -0,0 +1,146 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1137 + */ + +static const unsigned short ebcdic1137_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0901, 0x0902, 0x0903, 0x0905, 0x0906, 0x0907, + 0x0908, 0x0909, 0x090a, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x090b, 0x090c, 0x090d, 0x090e, 0x090f, 0x0910, 0x0911, + 0x0912, 0x0913, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0914, 0x0915, 0x0916, 0x0917, 0x0918, 0x0919, + 0x091a, 0x091b, 0x091c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x091d, 0x091e, 0x091f, 0x0920, 0x0921, 0x0922, 0x0923, 0x0924, + 0x0925, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0926, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0927, 0x0928, 0x092a, 0x092b, 0x092c, 0x092d, + /* 0x90 */ + 0x092e, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x092f, 0x0930, 0x0932, 0x0933, 0x0935, 0x0936, + /* 0xa0 */ + 0x200c, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0937, 0x0938, 0x0939, 0x005b, 0x093c, 0x093d, + /* 0xb0 */ + 0x093e, 0x093f, 0x0940, 0x0941, 0x0942, 0x0943, 0x0944, 0x0945, + 0x0946, 0x0947, 0x0948, 0x0949, 0x094a, 0x005d, 0x094b, 0x094c, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x094d, 0x0950, 0x0951, 0x0952, 0xfffd, 0xfffd, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0960, 0x0961, 0x0962, 0x0963, 0x0964, 0x0965, + /* 0xe0 */ + 0x005c, 0x200d, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0966, 0x0967, 0x0968, 0x0969, 0x096a, 0x096b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x096c, 0x096d, 0x096e, 0x096f, 0x0970, 0x009f, +}; + +static int +ebcdic1137_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + unsigned short wc = ebcdic1137_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic1137_page00[168] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ +}; +static const unsigned char ebcdic1137_page09[120] = { + 0x00, 0x42, 0x43, 0x44, 0x00, 0x45, 0x46, 0x47, /* 0x00-0x07 */ + 0x48, 0x49, 0x4a, 0x51, 0x52, 0x53, 0x54, 0x55, /* 0x08-0x0f */ + 0x56, 0x57, 0x58, 0x59, 0x62, 0x63, 0x64, 0x65, /* 0x10-0x17 */ + 0x66, 0x67, 0x68, 0x69, 0x6a, 0x70, 0x71, 0x72, /* 0x18-0x1f */ + 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x80, 0x8a, /* 0x20-0x27 */ + 0x8b, 0x00, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x9a, /* 0x28-0x2f */ + 0x9b, 0x00, 0x9c, 0x9d, 0x00, 0x9e, 0x9f, 0xaa, /* 0x30-0x37 */ + 0xab, 0xac, 0x00, 0x00, 0xae, 0xaf, 0xb0, 0xb1, /* 0x38-0x3f */ + 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, /* 0x40-0x47 */ + 0xba, 0xbb, 0xbc, 0xbe, 0xbf, 0xca, 0x00, 0x00, /* 0x48-0x4f */ + 0xcb, 0xcc, 0xcd, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xea, 0xeb, /* 0x60-0x67 */ + 0xec, 0xed, 0xee, 0xef, 0xfa, 0xfb, 0xfc, 0xfd, /* 0x68-0x6f */ + 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ +}; +static const unsigned char ebcdic1137_page20[8] = { + 0x00, 0x00, 0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, /* 0x08-0x0f */ +}; + +static int +ebcdic1137_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00a8) + c = ebcdic1137_page00[wc]; + else if (wc >= 0x0900 && wc < 0x0978) + c = ebcdic1137_page09[wc-0x0900]; + else if (wc >= 0x2008 && wc < 0x2010) + c = ebcdic1137_page20[wc-0x2008]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1140.h b/source/lib/ebcdic1140.h new file mode 100644 index 0000000..f10c1cf --- /dev/null +++ b/source/lib/ebcdic1140.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1140 + */ + +static const unsigned short ebcdic1140_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x005e, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1140_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1140_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1140_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0x4a, 0xb1, 0x00, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1140_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1140_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1141.h b/source/lib/ebcdic1141.h new file mode 100644 index 0000000..94a1bba --- /dev/null +++ b/source/lib/ebcdic1141.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1141 + */ + +static const unsigned short ebcdic1141_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00c4, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x007e, 0x00dc, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x005b, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x00a7, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x00df, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x0040, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00fc, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007d, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00d6, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x005c, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x005d, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1141_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1141_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1141_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xb5, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x63, 0xec, 0xfc, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x43, 0xbb, 0xdc, 0x59, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0xcc, 0x7c, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x4a, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xe0, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0x5a, 0xad, 0xae, 0xa1, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0xc0, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0x6a, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xd0, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1141_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1141_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1142.h b/source/lib/ebcdic1142.h new file mode 100644 index 0000000..4676d66 --- /dev/null +++ b/source/lib/ebcdic1142.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1142 + */ + +static const unsigned short ebcdic1142_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x0023, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x20ac, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f8, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00a6, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x00c6, 0x00d8, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0040, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x007b, 0x00b8, 0x005b, 0x005d, + /* 0xa0 */ + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e6, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1142_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1142_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1142_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x4a, 0x67, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x80, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x9e, 0xe0, 0x9f, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x9c, 0xbb, 0x47, 0xdc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x70, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x5b, 0x7b, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x7c, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0xd0, 0xc0, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x6a, 0xdd, 0xde, 0xdb, 0xa1, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1142_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1142_page00[wc]; + else if (wc == 0x20ac) + c = 0x5a; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1143.h b/source/lib/ebcdic1143.h new file mode 100644 index 0000000..e602466 --- /dev/null +++ b/source/lib/ebcdic1143.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1143 + */ + +static const unsigned short ebcdic1143_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x00a7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0060, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x20ac, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x0023, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x005c, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00e9, 0x003a, 0x00c4, 0x00d6, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x005d, + /* 0xa0 */ + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x005b, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00c9, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0040, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1143_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1143_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1143_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x63, 0x67, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xec, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xb5, 0x71, 0x9f, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x51, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x43, 0xbb, 0x47, 0xdc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0xcc, 0x4a, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x7b, 0x5b, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0xe0, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7c, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0xc0, 0xd0, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x79, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0x6a, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xa1, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1143_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1143_page00[wc]; + else if (wc == 0x20ac) + c = 0x5a; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1144.h b/source/lib/ebcdic1144.h new file mode 100644 index 0000000..5d63eb8 --- /dev/null +++ b/source/lib/ebcdic1144.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1144 + */ + +static const unsigned short ebcdic1144_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x007b, 0x00e1, 0x00e3, 0x00e5, + 0x005c, 0x00f1, 0x00b0, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x005d, 0x00ea, 0x00eb, 0x007d, 0x00ed, 0x00ee, 0x00ef, + 0x007e, 0x00df, 0x00e9, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f2, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00f9, 0x003a, 0x00a3, 0x00a7, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x005b, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x00ec, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x0023, 0x00a5, 0x00b7, 0x00a9, 0x0040, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e0, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00a6, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e8, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x0060, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00e7, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1144_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1144_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1144_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0xb1, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xb5, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x90, 0x48, 0x51, 0x5f, 0x6d, /* 0x58-0x5f */ + 0xdd, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x44, 0xbb, 0x54, 0x58, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0x7b, 0x00, 0xb2, 0xcd, 0x7c, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x4a, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0xc0, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xe0, /* 0xe0-0xe7 */ + 0xd0, 0x5a, 0x52, 0x53, 0xa1, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0x6a, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0x79, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1144_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1144_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1145.h b/source/lib/ebcdic1145.h new file mode 100644 index 0000000..23788d5 --- /dev/null +++ b/source/lib/ebcdic1145.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1145 + */ + +static const unsigned short ebcdic1145_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00a6, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x0023, 0x00f1, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x00d1, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x00a8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005e, 0x0021, 0x00af, 0x007e, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1145_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1145_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1145_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0xbb, 0x7f, 0x69, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0xba, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xbd, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x49, 0xb5, /* 0xa0-0xa7 */ + 0xa1, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x7b, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x6a, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1145_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1145_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1146.h b/source/lib/ebcdic1146.h new file mode 100644 index 0000000..46a60b5 --- /dev/null +++ b/source/lib/ebcdic1146.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1146 + */ + +static const unsigned short ebcdic1146_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x0024, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x00a3, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x00af, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x005b, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005e, 0x005d, 0x007e, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1146_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1146_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1146_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x4a, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xb1, 0xe0, 0xbb, 0xba, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xbc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0x5b, 0x00, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xa1, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1146_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1146_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1147.h b/source/lib/ebcdic1147.h new file mode 100644 index 0000000..34e3645 --- /dev/null +++ b/source/lib/ebcdic1147.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1147 + */ + +static const unsigned short ebcdic1147_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x0040, 0x00e1, 0x00e3, 0x00e5, + 0x005c, 0x00f1, 0x00b0, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x007b, 0x00ea, 0x00eb, 0x007d, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a7, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f9, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00b5, 0x003a, 0x00a3, 0x00e0, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x005b, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x0060, 0x00a8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x0023, 0x00a5, 0x00b7, 0x00a9, 0x005d, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x007e, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e9, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e8, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00a6, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00e7, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1147_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1147_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1147_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0xb1, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x44, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x90, 0x48, 0xb5, 0x5f, 0x6d, /* 0x58-0x5f */ + 0xa0, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x51, 0xbb, 0x54, 0xbd, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0x7b, 0x00, 0xb2, 0xdd, 0x5a, /* 0xa0-0xa7 */ + 0xa1, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x4a, 0x8f, 0xea, 0xfa, 0xbe, 0x79, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x7c, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xe0, /* 0xe0-0xe7 */ + 0xd0, 0xc0, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0x6a, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1147_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1147_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1148.h b/source/lib/ebcdic1148.h new file mode 100644 index 0000000..fc51e27 --- /dev/null +++ b/source/lib/ebcdic1148.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1148 + */ + +static const unsigned short ebcdic1148_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1148_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1148_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1148_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1148_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1148_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1149.h b/source/lib/ebcdic1149.h new file mode 100644 index 0000000..027844e --- /dev/null +++ b/source/lib/ebcdic1149.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1149 + */ + +static const unsigned short ebcdic1149_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00de, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00c6, 0x0024, 0x002a, 0x0029, 0x003b, 0x00d6, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00f0, 0x003a, 0x0023, 0x00d0, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0060, 0x00fd, 0x007b, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x007d, 0x00b8, 0x005d, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0040, 0x00dd, 0x005b, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x005c, 0x00d7, + /* 0xc0 */ + 0x00fe, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e6, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00b4, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x005e, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1149_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1149_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1149_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xac, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xae, 0xbe, 0x9e, 0xec, 0x6d, /* 0x58-0x5f */ + 0x8c, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x8e, 0xbb, 0x9c, 0xcc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xe0, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x5a, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x7c, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x5f, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0x4a, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0xd0, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x79, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xa1, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0xc0, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic1149_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1149_page00[wc]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1153.h b/source/lib/ebcdic1153.h new file mode 100644 index 0000000..590e548 --- /dev/null +++ b/source/lib/ebcdic1153.h @@ -0,0 +1,160 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1153 + */ + +static const unsigned short ebcdic1153_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x0163, 0x00e1, 0x0103, 0x010d, + 0x00e7, 0x0107, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x0119, 0x00eb, 0x016f, 0x00ed, 0x00ee, 0x013e, + 0x013a, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x02dd, 0x00c1, 0x0102, 0x010c, + 0x00c7, 0x0106, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x02c7, 0x00c9, 0x0118, 0x00cb, 0x016e, 0x00cd, 0x00ce, 0x013d, + 0x0139, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x02d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x015b, 0x0148, 0x0111, 0x00fd, 0x0159, 0x015f, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0142, 0x0144, 0x0161, 0x00b8, 0x02db, 0x20ac, + /* 0xa0 */ + 0x0105, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x015a, 0x0147, 0x0110, 0x00dd, 0x0158, 0x015e, + /* 0xb0 */ + 0x02d9, 0x0104, 0x017c, 0x0162, 0x017b, 0x00a7, 0x017e, 0x017a, + 0x017d, 0x0179, 0x0141, 0x0143, 0x0160, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x0155, 0x00f3, 0x0151, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x011a, 0x0171, 0x00fc, 0x0165, 0x00fa, 0x011b, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x010f, 0x00d4, 0x00d6, 0x0154, 0x00d3, 0x0150, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x010e, 0x0170, 0x00dc, 0x0164, 0x00da, 0x009f, +}; + +static int +ebcdic1153_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1153_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1153_page00[384] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x90, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x9d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x65, 0x62, 0x00, 0x63, 0x00, 0x00, 0x68, /* 0xc0-0xc7 */ + 0x00, 0x71, 0x00, 0x73, 0x00, 0x75, 0x76, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0xee, 0xeb, 0x00, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0x00, 0xfe, 0x00, 0xfc, 0xad, 0x00, 0x59, /* 0xd8-0xdf */ + 0x00, 0x45, 0x42, 0x00, 0x43, 0x00, 0x00, 0x48, /* 0xe0-0xe7 */ + 0x00, 0x51, 0x00, 0x53, 0x00, 0x55, 0x56, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0xce, 0xcb, 0x00, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x00, 0x00, 0xde, 0x00, 0xdc, 0x8d, 0x00, 0x00, /* 0xf8-0xff */ + /* 0x0100 */ + 0x00, 0x00, 0x66, 0x46, 0xb1, 0xa0, 0x69, 0x49, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x67, 0x47, 0xfa, 0xea, /* 0x08-0x0f */ + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x72, 0x52, 0xda, 0xdf, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x78, 0x58, 0x00, 0x00, 0x77, 0x57, 0x00, /* 0x38-0x3f */ + 0x00, 0xba, 0x9a, 0xbb, 0x9b, 0x00, 0x00, 0xab, /* 0x40-0x47 */ + 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0xef, 0xcf, 0x00, 0x00, 0xed, 0xcd, 0x00, 0x00, /* 0x50-0x57 */ + 0xae, 0x8e, 0xaa, 0x8a, 0x00, 0x00, 0xaf, 0x8f, /* 0x58-0x5f */ + 0xbc, 0x9c, 0xb3, 0x44, 0xfd, 0xdd, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x54, /* 0x68-0x6f */ + 0xfb, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0xb9, 0xb7, 0xb4, 0xb2, 0xb8, 0xb6, 0x00, /* 0x78-0x7f */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1153_page02 ebcdic870_page02 +#else /* Unoptimized */ +static const unsigned char ebcdic1153_page02[32] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x80, 0xb0, 0x00, 0x9e, 0x00, 0x64, 0x00, 0x00, /* 0xd8-0xdf */ +}; +#endif + +static int +ebcdic1153_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0180) + c = ebcdic1153_page00[wc]; + else if (wc >= 0x02c0 && wc < 0x02e0) + c = ebcdic1153_page02[wc-0x02c0]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1154.h b/source/lib/ebcdic1154.h new file mode 100644 index 0000000..52095a9 --- /dev/null +++ b/source/lib/ebcdic1154.h @@ -0,0 +1,143 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1154 + */ + +static const unsigned short ebcdic1154_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0452, 0x0453, 0x0451, 0x0454, 0x0455, 0x0456, + 0x0457, 0x0458, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0459, 0x045a, 0x045b, 0x045c, 0x045e, 0x045f, 0x042a, + 0x2116, 0x0402, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0403, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, 0x044e, 0x0430, + 0x0431, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, + /* 0x90 */ + 0x0439, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + /* 0xa0 */ + 0x044f, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + /* 0xb0 */ + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + /* 0xe0 */ + 0x005c, 0x20ac, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x009f, +}; + +static int +ebcdic1154_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1154_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1154_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1154_page04 ebcdic880_page04 +#else /* Unoptimized */ +static const unsigned char ebcdic1154_page04[96] = { + 0x00, 0x63, 0x59, 0x62, 0x64, 0x65, 0x66, 0x67, /* 0x00-0x07 */ + 0x68, 0x69, 0x70, 0x71, 0x72, 0x00, 0x74, 0x75, /* 0x08-0x0f */ + 0xb9, 0xba, 0xed, 0xbf, 0xbc, 0xbd, 0xec, 0xfa, /* 0x10-0x17 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0xdb, 0xdc, /* 0x18-0x1f */ + 0xde, 0xdf, 0xea, 0xeb, 0xbe, 0xca, 0xbb, 0xfe, /* 0x20-0x27 */ + 0xfb, 0xfd, 0x57, 0xef, 0xee, 0xfc, 0xb8, 0xdd, /* 0x28-0x2f */ + 0x77, 0x78, 0xaf, 0x8d, 0x8a, 0x8b, 0xae, 0xb2, /* 0x30-0x37 */ + 0x8f, 0x90, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 0x38-0x3f */ + 0xaa, 0xab, 0xac, 0xad, 0x8c, 0x8e, 0x80, 0xb6, /* 0x40-0x47 */ + 0xb3, 0xb5, 0xb7, 0xb1, 0xb0, 0xb4, 0x76, 0xa0, /* 0x48-0x4f */ + 0x00, 0x44, 0x42, 0x43, 0x45, 0x46, 0x47, 0x48, /* 0x50-0x57 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x00, 0x55, 0x56, /* 0x58-0x5f */ +}; +#endif + +static int +ebcdic1154_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1154_page00[wc]; + else if (wc >= 0x0400 && wc < 0x0460) + c = ebcdic1154_page04[wc-0x0400]; + else if (wc == 0x20ac) + c = 0xe1; + else if (wc == 0x2116) + c = 0x58; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1155.h b/source/lib/ebcdic1155.h new file mode 100644 index 0000000..0638a31 --- /dev/null +++ b/source/lib/ebcdic1155.h @@ -0,0 +1,148 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1155 + */ + +static const unsigned short ebcdic1155_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x007b, 0x00f1, 0x00c7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x011e, 0x0130, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x005b, 0x00d1, 0x015f, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0131, 0x003a, 0x00d6, 0x015e, 0x0027, 0x003d, 0x00dc, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x007d, 0x0060, 0x00a6, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x005d, 0x0024, 0x0040, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x011f, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x005c, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00fc, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0023, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x0022, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1155_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1155_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1155_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0xfc, 0xec, 0xad, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xae, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x68, 0xdc, 0xac, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x8d, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x48, 0xbb, 0x8c, 0xcc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x8e, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x4a, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7b, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0x7f, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xc0, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xa1, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xe0, 0x00, 0x00, 0xdf, /* 0xf8-0xff */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1155_page01 ebcdic1026_page01 +#else /* Unoptimized */ +static const unsigned char ebcdic1155_page01[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xd0, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x5b, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x6a, /* 0x58-0x5f */ +}; +#endif + +static int +ebcdic1155_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1155_page00[wc]; + else if (wc >= 0x0118 && wc < 0x0160) + c = ebcdic1155_page01[wc-0x0118]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1156.h b/source/lib/ebcdic1156.h new file mode 100644 index 0000000..20ca348 --- /dev/null +++ b/source/lib/ebcdic1156.h @@ -0,0 +1,157 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1156 + */ + +static const unsigned short ebcdic1156_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0161, 0x00e4, 0x0105, 0x012f, 0x016b, 0x00e5, + 0x0113, 0x017e, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x0119, 0x0117, 0x010d, 0x0173, 0x201e, 0x201c, + 0x0123, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x0160, 0x00c4, 0x0104, 0x012e, 0x016a, 0x00c5, + 0x0112, 0x017d, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x0118, 0x0116, 0x010c, 0x0172, 0x012a, 0x013b, + 0x0122, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0101, 0x017c, 0x0144, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0156, 0x0157, 0x00e6, 0x0137, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x201d, 0x017a, 0x0100, 0x017b, 0x0143, 0x00ae, + /* 0xb0 */ + 0x005e, 0x00a3, 0x012b, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x0179, 0x0136, 0x013c, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x014d, 0x00f6, 0x0146, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x0107, 0x00fc, 0x0142, 0x015b, 0x2019, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x014c, 0x00d6, 0x0145, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x0106, 0x00dc, 0x0141, 0x015a, 0x009f, +}; + +static int +ebcdic1156_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1156_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1156_page00[384] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x4a, 0xb1, 0x00, 0x00, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0x00, 0xb4, 0x00, 0x8a, 0x5f, 0xca, 0xaf, 0x00, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0x00, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x00, 0xda, 0x00, 0x8b, 0xb7, 0xb8, 0xb9, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x9e, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0xee, 0x00, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x43, 0x47, 0x9c, 0x00, /* 0xe0-0xe7 */ + 0x00, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0xce, 0x00, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, /* 0xf8-0xff */ + /* 0x0100 */ + 0xac, 0x8c, 0x00, 0x00, 0x64, 0x44, 0xfb, 0xdb, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x74, 0x54, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x68, 0x48, 0x00, 0x00, 0x73, 0x53, /* 0x10-0x17 */ + 0x72, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x78, 0x58, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x76, 0xb2, 0x00, 0x00, 0x65, 0x45, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0x9d, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x77, 0xbe, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0xfd, 0xdd, 0xae, 0x8e, 0xed, 0xcd, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0xeb, 0xcb, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0x9b, /* 0x50-0x57 */ + 0x00, 0x00, 0xfe, 0xde, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x62, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x66, 0x46, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x75, 0x55, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0xbc, 0xab, 0xad, 0x8d, 0x69, 0x49, 0x00, /* 0x78-0x7f */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1156_page20 ebcdic1112_page20 +#else /* Unoptimized */ +static const unsigned char ebcdic1156_page20[8] = { + 0x00, 0xdf, 0x00, 0x00, 0x57, 0xaa, 0x56, 0x00, /* 0x18-0x1f */ +}; +#endif + +static int +ebcdic1156_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0180) + c = ebcdic1156_page00[wc]; + else if (wc >= 0x2018 && wc < 0x2020) + c = ebcdic1156_page20[wc-0x2018]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1157.h b/source/lib/ebcdic1157.h new file mode 100644 index 0000000..3a79ecf --- /dev/null +++ b/source/lib/ebcdic1157.h @@ -0,0 +1,143 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1157 + */ + +static const unsigned short ebcdic1157_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x00a7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0060, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x20ac, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x0023, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x005c, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00e9, 0x003a, 0x00c4, 0x00d6, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0161, 0x00fd, 0x017e, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x005d, + /* 0xa0 */ + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0160, 0x00dd, 0x017d, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x005b, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00c9, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0040, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1157_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1157_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1157_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x63, 0x67, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xec, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xb5, 0x71, 0x9f, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x51, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x43, 0xbb, 0x47, 0xdc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0xcc, 0x4a, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x7b, 0x5b, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0xe0, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7c, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0xc0, 0xd0, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x79, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0x6a, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xa1, 0x8d, 0x00, 0xdf, /* 0xf8-0xff */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1157_page01 ebcdic1122_page01 +#else /* Unoptimized */ +static const unsigned char ebcdic1157_page01[32] = { + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xae, 0x8e, 0x00, /* 0x78-0x7f */ +}; +#endif + +static int +ebcdic1157_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic1157_page00[wc]; + else if (wc >= 0x0160 && wc < 0x0180) + c = ebcdic1157_page01[wc-0x0160]; + else if (wc == 0x20ac) + c = 0x5a; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1158.h b/source/lib/ebcdic1158.h new file mode 100644 index 0000000..0d82b2a --- /dev/null +++ b/source/lib/ebcdic1158.h @@ -0,0 +1,154 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1158 + */ + +static const unsigned short ebcdic1158_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0452, 0x0491, 0x0451, 0x0454, 0x0455, 0x0456, + 0x0457, 0x0458, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0459, 0x045a, 0x045b, 0x045c, 0x045e, 0x045f, 0x042a, + 0x2116, 0x0402, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0490, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, 0x044e, 0x0430, + 0x0431, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, + /* 0x90 */ + 0x0439, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + /* 0xa0 */ + 0x044f, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + /* 0xb0 */ + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + /* 0xe0 */ + 0x005c, 0x20ac, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x009f, +}; + +static int +ebcdic1158_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1158_2uni[c]; + return 1; +} + +#if DEDUPLICATE_TABLES +#define ebcdic1158_page00 ebcdic1154_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic1158_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#endif +#if DEDUPLICATE_TABLES +#define ebcdic1158_page04 ebcdic1123_page04 +#else /* Unoptimized */ +static const unsigned char ebcdic1158_page04[152] = { + 0x00, 0x63, 0x59, 0x00, 0x64, 0x65, 0x66, 0x67, /* 0x00-0x07 */ + 0x68, 0x69, 0x70, 0x71, 0x72, 0x00, 0x74, 0x75, /* 0x08-0x0f */ + 0xb9, 0xba, 0xed, 0xbf, 0xbc, 0xbd, 0xec, 0xfa, /* 0x10-0x17 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0xdb, 0xdc, /* 0x18-0x1f */ + 0xde, 0xdf, 0xea, 0xeb, 0xbe, 0xca, 0xbb, 0xfe, /* 0x20-0x27 */ + 0xfb, 0xfd, 0x57, 0xef, 0xee, 0xfc, 0xb8, 0xdd, /* 0x28-0x2f */ + 0x77, 0x78, 0xaf, 0x8d, 0x8a, 0x8b, 0xae, 0xb2, /* 0x30-0x37 */ + 0x8f, 0x90, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 0x38-0x3f */ + 0xaa, 0xab, 0xac, 0xad, 0x8c, 0x8e, 0x80, 0xb6, /* 0x40-0x47 */ + 0xb3, 0xb5, 0xb7, 0xb1, 0xb0, 0xb4, 0x76, 0xa0, /* 0x48-0x4f */ + 0x00, 0x44, 0x42, 0x00, 0x45, 0x46, 0x47, 0x48, /* 0x50-0x57 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x00, 0x55, 0x56, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x62, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ +}; +#endif + +static int +ebcdic1158_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1158_page00[wc]; + else if (wc >= 0x0400 && wc < 0x0498) + c = ebcdic1158_page04[wc-0x0400]; + else if (wc == 0x20ac) + c = 0xe1; + else if (wc == 0x2116) + c = 0x58; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1160.h b/source/lib/ebcdic1160.h new file mode 100644 index 0000000..480bd8c --- /dev/null +++ b/source/lib/ebcdic1160.h @@ -0,0 +1,145 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1160 + */ + +static const unsigned short ebcdic1160_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, + 0x0e07, 0x005b, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x0e48, 0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, + 0x0e0e, 0x005d, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x0e0f, 0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, + 0x0e15, 0x005e, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x0e3f, 0x0e4e, 0x0e16, 0x0e17, 0x0e18, 0x0e19, 0x0e1a, 0x0e1b, + 0x0e1c, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0e4f, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0e1d, 0x0e1e, 0x0e1f, 0x0e20, 0x0e21, 0x0e22, + /* 0x90 */ + 0x0e5a, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27, 0x0e28, + /* 0xa0 */ + 0x0e5b, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, + /* 0xb0 */ + 0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57, + 0x0e58, 0x0e59, 0x0e2f, 0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0e49, 0x0e35, 0x0e36, 0x0e37, 0x0e38, 0x0e39, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0e3a, 0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, + /* 0xe0 */ + 0x005c, 0x0e4a, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0e45, 0x0e46, 0x0e47, 0x0e48, 0x0e49, 0x0e4a, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4b, 0x20ac, 0x009f, +}; + +static int +ebcdic1160_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1160_2uni[c]; + return 1; +} + +#if DEDUPLICATE_TABLES +#define ebcdic1160_page00 ebcdic838_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic1160_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x49, 0xe0, 0x59, 0x69, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x6a, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#endif +#if DEDUPLICATE_TABLES +#define ebcdic1160_page0e ebcdic838_page0e +#else /* Unoptimized */ +static const unsigned char ebcdic1160_page0e[96] = { + 0x00, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, /* 0x00-0x07 */ + 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x62, /* 0x08-0x0f */ + 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x72, 0x73, /* 0x10-0x17 */ + 0x74, 0x75, 0x76, 0x77, 0x78, 0x8a, 0x8b, 0x8c, /* 0x18-0x1f */ + 0x8d, 0x8e, 0x8f, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, /* 0x20-0x27 */ + 0x9f, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xba, /* 0x28-0x2f */ + 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xcb, 0xcc, 0xcd, /* 0x30-0x37 */ + 0xce, 0xcf, 0xda, 0x00, 0x00, 0x00, 0x00, 0x70, /* 0x38-0x3f */ + 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xea, 0xeb, 0xec, /* 0x40-0x47 */ + 0xed, 0xee, 0xef, 0xfa, 0xfb, 0xfc, 0x71, 0x80, /* 0x48-0x4f */ + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, /* 0x50-0x57 */ + 0xb8, 0xb9, 0x90, 0xa0, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ +}; +#endif + +static int +ebcdic1160_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1160_page00[wc]; + else if (wc >= 0x0e00 && wc < 0x0e60) + c = ebcdic1160_page0e[wc-0x0e00]; + else if (wc == 0x20ac) + c = 0xfe; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1164.h b/source/lib/ebcdic1164.h new file mode 100644 index 0000000..d7f38fb --- /dev/null +++ b/source/lib/ebcdic1164.h @@ -0,0 +1,171 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1164 + */ + +static const unsigned short ebcdic1164_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x0103, 0x00e5, + 0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x0303, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x0102, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x20ab, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0111, 0x0309, 0x0300, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x0152, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0110, 0x0323, 0x0301, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x0153, 0x0178, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x01b0, 0x00f3, 0x01a1, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x01af, 0x00d3, 0x01a0, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic1164_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1164_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1164_page00[440] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0x00, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0x00, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x00, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x00, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x00, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0x00, 0xee, 0xeb, 0x00, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x00, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x00, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0x00, 0xce, 0xcb, 0x00, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x00, 0x00, 0xdf, /* 0xf8-0xff */ + /* 0x0100 */ + 0x00, 0x00, 0x66, 0x46, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x9d, 0xbd, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0xef, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xed, /* 0xa8-0xaf */ + 0xcd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1164_page03 ebcdic1130_page03 +#else /* Unoptimized */ +static const unsigned char ebcdic1164_page03[40] = { + 0x8e, 0xae, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ + 0x00, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ +}; +#endif +static const unsigned char ebcdic1164_page20[8] = { + 0x00, 0x00, 0x00, 0x78, 0x9f, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ +}; + +static int +ebcdic1164_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x01b8) + c = ebcdic1164_page00[wc]; + else if (wc >= 0x0300 && wc < 0x0328) + c = ebcdic1164_page03[wc-0x0300]; + else if (wc >= 0x20a8 && wc < 0x20b0) + c = ebcdic1164_page20[wc-0x20a8]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1165.h b/source/lib/ebcdic1165.h new file mode 100644 index 0000000..79e99b7 --- /dev/null +++ b/source/lib/ebcdic1165.h @@ -0,0 +1,160 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1165 + */ + +static const unsigned short ebcdic1165_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x0163, 0x00e1, 0x0103, 0x010d, + 0x00e7, 0x0107, 0x00dd, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x0119, 0x00eb, 0x016f, 0x00ed, 0x00ee, 0x013e, + 0x013a, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x02dd, 0x00c1, 0x0102, 0x010c, + 0x00c7, 0x0106, 0x00a8, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x02c7, 0x00c9, 0x0118, 0x00cb, 0x016e, 0x00cd, 0x00ce, 0x013d, + 0x0139, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x02d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x015b, 0x0148, 0x0111, 0x00fd, 0x0159, 0x015f, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0142, 0x0144, 0x0161, 0x00b8, 0x02db, 0x20ac, + /* 0xa0 */ + 0x0105, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x015a, 0x0147, 0x0110, 0x005b, 0x0158, 0x015e, + /* 0xb0 */ + 0x02d9, 0x0104, 0x017c, 0x0162, 0x017b, 0x00a7, 0x017e, 0x017a, + 0x017d, 0x0179, 0x0141, 0x0143, 0x0160, 0x005d, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x0155, 0x00f3, 0x0151, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x011a, 0x0171, 0x00fc, 0x0165, 0x00fa, 0x011b, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x010f, 0x00d4, 0x00d6, 0x0154, 0x00d3, 0x0150, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x010e, 0x0170, 0x00dc, 0x0164, 0x00da, 0x009f, +}; + +static int +ebcdic1165_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1165_2uni[c]; + return 1; +} + +static const unsigned char ebcdic1165_page00[384] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, /* 0xa0-0xa7 */ + 0x6a, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x90, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x9d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x65, 0x62, 0x00, 0x63, 0x00, 0x00, 0x68, /* 0xc0-0xc7 */ + 0x00, 0x71, 0x00, 0x73, 0x00, 0x75, 0x76, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0xee, 0xeb, 0x00, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0x00, 0xfe, 0x00, 0xfc, 0x4a, 0x00, 0x59, /* 0xd8-0xdf */ + 0x00, 0x45, 0x42, 0x00, 0x43, 0x00, 0x00, 0x48, /* 0xe0-0xe7 */ + 0x00, 0x51, 0x00, 0x53, 0x00, 0x55, 0x56, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0xce, 0xcb, 0x00, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x00, 0x00, 0xde, 0x00, 0xdc, 0x8d, 0x00, 0x00, /* 0xf8-0xff */ + /* 0x0100 */ + 0x00, 0x00, 0x66, 0x46, 0xb1, 0xa0, 0x69, 0x49, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x67, 0x47, 0xfa, 0xea, /* 0x08-0x0f */ + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x72, 0x52, 0xda, 0xdf, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x78, 0x58, 0x00, 0x00, 0x77, 0x57, 0x00, /* 0x38-0x3f */ + 0x00, 0xba, 0x9a, 0xbb, 0x9b, 0x00, 0x00, 0xab, /* 0x40-0x47 */ + 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0xef, 0xcf, 0x00, 0x00, 0xed, 0xcd, 0x00, 0x00, /* 0x50-0x57 */ + 0xae, 0x8e, 0xaa, 0x8a, 0x00, 0x00, 0xaf, 0x8f, /* 0x58-0x5f */ + 0xbc, 0x9c, 0xb3, 0x44, 0xfd, 0xdd, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x54, /* 0x68-0x6f */ + 0xfb, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0xb9, 0xb7, 0xb4, 0xb2, 0xb8, 0xb6, 0x00, /* 0x78-0x7f */ +}; +#if DEDUPLICATE_TABLES +#define ebcdic1165_page02 ebcdic870_page02 +#else /* Unoptimized */ +static const unsigned char ebcdic1165_page02[32] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x80, 0xb0, 0x00, 0x9e, 0x00, 0x64, 0x00, 0x00, /* 0xd8-0xdf */ +}; +#endif + +static int +ebcdic1165_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0180) + c = ebcdic1165_page00[wc]; + else if (wc >= 0x02c0 && wc < 0x02e0) + c = ebcdic1165_page02[wc-0x02c0]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic1166.h b/source/lib/ebcdic1166.h new file mode 100644 index 0000000..e7aa22d --- /dev/null +++ b/source/lib/ebcdic1166.h @@ -0,0 +1,161 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-1166 + */ + +static const unsigned short ebcdic1166_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x04d9, 0x0493, 0x0451, 0x0454, 0x0455, 0x0456, + 0x049b, 0x0458, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x04a3, 0x04e9, 0x04b1, 0x04af, 0x045e, 0x04bb, 0x042a, + 0x2116, 0x04d8, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0492, 0x0401, 0x0404, 0x0405, 0x0406, 0x049a, + 0x0408, 0x04a2, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x04e8, 0x04b0, 0x04ae, 0x00ad, 0x040e, 0x04ba, 0x044e, 0x0430, + 0x0431, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, + /* 0x90 */ + 0x0439, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + /* 0xa0 */ + 0x044f, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + /* 0xb0 */ + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + /* 0xe0 */ + 0x005c, 0x20ac, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x009f, +}; + +static int +ebcdic1166_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic1166_2uni[c]; + return 1; +} + +#if DEDUPLICATE_TABLES +#define ebcdic1166_page00 ebcdic1154_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic1166_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, /* 0xa8-0xaf */ +}; +#endif +static const unsigned char ebcdic1166_page04[240] = { + 0x00, 0x63, 0x00, 0x00, 0x64, 0x65, 0x66, 0x00, /* 0x00-0x07 */ + 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, /* 0x08-0x0f */ + 0xb9, 0xba, 0xed, 0xbf, 0xbc, 0xbd, 0xec, 0xfa, /* 0x10-0x17 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0xdb, 0xdc, /* 0x18-0x1f */ + 0xde, 0xdf, 0xea, 0xeb, 0xbe, 0xca, 0xbb, 0xfe, /* 0x20-0x27 */ + 0xfb, 0xfd, 0x57, 0xef, 0xee, 0xfc, 0xb8, 0xdd, /* 0x28-0x2f */ + 0x77, 0x78, 0xaf, 0x8d, 0x8a, 0x8b, 0xae, 0xb2, /* 0x30-0x37 */ + 0x8f, 0x90, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 0x38-0x3f */ + 0xaa, 0xab, 0xac, 0xad, 0x8c, 0x8e, 0x80, 0xb6, /* 0x40-0x47 */ + 0xb3, 0xb5, 0xb7, 0xb1, 0xb0, 0xb4, 0x76, 0xa0, /* 0x48-0x4f */ + 0x00, 0x44, 0x00, 0x00, 0x45, 0x46, 0x47, 0x00, /* 0x50-0x57 */ + 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ + 0x00, 0x00, 0x62, 0x43, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ + 0x00, 0x00, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ + 0x00, 0x00, 0x69, 0x51, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x54, /* 0xa8-0xaf */ + 0x71, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x75, 0x56, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x59, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ + 0x70, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ +}; + +static int +ebcdic1166_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic1166_page00[wc]; + else if (wc >= 0x0400 && wc < 0x04f0) + c = ebcdic1166_page04[wc-0x0400]; + else if (wc == 0x20ac) + c = 0xe1; + else if (wc == 0x2116) + c = 0x58; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic12712.h b/source/lib/ebcdic12712.h new file mode 100644 index 0000000..42d9d33 --- /dev/null +++ b/source/lib/ebcdic12712.h @@ -0,0 +1,164 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-12712 + */ + +static const unsigned short ebcdic12712_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, + 0x05d7, 0x05d8, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df, + 0x05e0, 0x05e1, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7, + 0x05e8, 0x05e9, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0xfffd, 0x05ea, 0xfffd, 0xfffd, 0x00a0, 0xfffd, 0xfffd, 0xfffd, + 0x2017, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0xfffd, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0xfffd, 0xfffd, 0xfffd, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0xfffd, 0xfffd, 0x20ac, 0x00b8, 0x20aa, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x00ae, + /* 0xb0 */ + 0x005e, 0x00a3, 0x00a5, 0x2022, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x203e, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x202d, 0x202e, 0x202c, 0xfffd, 0xfffd, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x202a, 0x202b, 0x200e, 0x200f, 0x009f, +}; + +static int +ebcdic12712_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + unsigned short wc = ebcdic12712_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +#if DEDUPLICATE_TABLES +#define ebcdic12712_page00 ebcdic424_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic12712_page00[248] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x74, 0x00, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x00, 0x8a, 0x5f, 0xca, 0xaf, 0x00, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0x00, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x00, 0x8b, 0xb7, 0xb8, 0xb9, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, /* 0xf0-0xf7 */ +}; +#endif +#if DEDUPLICATE_TABLES +#define ebcdic12712_page05 ebcdic424_page05 +#else /* Unoptimized */ +static const unsigned char ebcdic12712_page05[32] = { + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, /* 0xd0-0xd7 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, /* 0xd8-0xdf */ + 0x58, 0x59, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0xe0-0xe7 */ + 0x68, 0x69, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ +}; +#endif +static const unsigned char ebcdic12712_page20[56] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0xfe, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0xfb, 0xfc, 0xdd, 0xdb, 0xdc, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0x00, /* 0x38-0x3f */ +}; +static const unsigned char ebcdic12712_page20_1[8] = { + 0x00, 0x00, 0x9e, 0x00, 0x9c, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ +}; + +static int +ebcdic12712_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00f8) + c = ebcdic12712_page00[wc]; + else if (wc >= 0x05d0 && wc < 0x05f0) + c = ebcdic12712_page05[wc-0x05d0]; + else if (wc >= 0x2008 && wc < 0x2040) + c = ebcdic12712_page20[wc-0x2008]; + else if (wc >= 0x20a8 && wc < 0x20b0) + c = ebcdic12712_page20_1[wc-0x20a8]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic16804.h b/source/lib/ebcdic16804.h new file mode 100644 index 0000000..fd7af59 --- /dev/null +++ b/source/lib/ebcdic16804.h @@ -0,0 +1,178 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-16804 + */ + +static const unsigned short ebcdic16804_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0651, 0xfe7d, 0x0640, 0x200b, 0x0621, 0x0622, + 0xfe82, 0x0623, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0xfe84, 0x0624, 0xfffd, 0xfffd, 0x0626, 0x0627, 0xfe8e, + 0x0628, 0xfe91, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x0629, 0x062a, 0xfe97, 0x062b, 0xfe9b, 0x062c, + 0xfe9f, 0x062d, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0xfea3, 0x062e, 0xfea7, 0x062f, 0x0630, 0x0631, 0x0632, 0x0633, + 0xfeb3, 0x060c, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0634, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0xfeb7, 0x0635, 0xfebb, 0x0636, 0xfebf, 0x0637, + /* 0x90 */ + 0x0638, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0639, 0xfeca, 0xfecb, 0xfecc, 0x063a, 0xfece, + /* 0xa0 */ + 0xfecf, 0x00f7, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0xfed0, 0x0641, 0xfed3, 0x0642, 0xfed7, 0x0643, + /* 0xb0 */ + 0xfedb, 0x0644, 0xfef5, 0xfef6, 0xfef7, 0xfef8, 0xfffd, 0xfffd, + 0xfefb, 0xfefc, 0xfedf, 0x0645, 0xfee3, 0x0646, 0xfee7, 0x0647, + /* 0xc0 */ + 0x061b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0xfeeb, 0xfffd, 0xfeec, 0xfffd, 0x0648, + /* 0xd0 */ + 0x061f, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0649, 0xfef0, 0x064a, 0xfef2, 0xfef3, 0x0660, + /* 0xe0 */ + 0x00d7, 0x2007, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0661, 0x0662, 0xfffd, 0x0663, 0x0664, 0x0665, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x20ac, 0x0666, 0x0667, 0x0668, 0x0669, 0x009f, +}; + +static int +ebcdic16804_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + unsigned short wc = ebcdic16804_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic16804_page00[248] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x00, 0x00, 0x00, 0x00, 0x6d, /* 0x58-0x5f */ + 0x00, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x00, 0x4f, 0x00, 0x00, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x6a, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x5f, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa1, /* 0xf0-0xf7 */ +}; +static const unsigned char ebcdic16804_page06[104] = { + 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xd0, /* 0x18-0x1f */ + 0x00, 0x46, 0x47, 0x49, 0x52, 0x00, 0x55, 0x56, /* 0x20-0x27 */ + 0x58, 0x62, 0x63, 0x65, 0x67, 0x69, 0x71, 0x73, /* 0x28-0x2f */ + 0x74, 0x75, 0x76, 0x77, 0x80, 0x8b, 0x8d, 0x8f, /* 0x30-0x37 */ + 0x90, 0x9a, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x44, 0xab, 0xad, 0xaf, 0xb1, 0xbb, 0xbd, 0xbf, /* 0x40-0x47 */ + 0xcf, 0xda, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0xdf, 0xea, 0xeb, 0xed, 0xee, 0xef, 0xfb, 0xfc, /* 0x60-0x67 */ + 0xfd, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ +}; +static const unsigned char ebcdic16804_page20[16] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ +}; +static const unsigned char ebcdic16804_pagefe[136] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, /* 0x78-0x7f */ + 0x00, 0x00, 0x48, 0x00, 0x51, 0x00, 0x00, 0x00, /* 0x80-0x87 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, /* 0x88-0x8f */ + 0x00, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, /* 0x90-0x97 */ + 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x68, /* 0x98-0x9f */ + 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x72, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ + 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x8a, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x8e, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x9b, 0x9c, 0x9d, 0x00, 0x9f, 0xa0, /* 0xc8-0xcf */ + 0xaa, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, 0xae, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0xba, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x00, 0xbe, /* 0xe0-0xe7 */ + 0x00, 0x00, 0x00, 0xcb, 0xcd, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0xdb, 0x00, 0xdd, 0xde, 0x00, 0xb2, 0xb3, 0xb4, /* 0xf0-0xf7 */ + 0xb5, 0x00, 0x00, 0xb8, 0xb9, 0x00, 0x00, 0x00, /* 0xf8-0xff */ +}; + +static int +ebcdic16804_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00f8) + c = ebcdic16804_page00[wc]; + else if (wc >= 0x0608 && wc < 0x0670) + c = ebcdic16804_page06[wc-0x0608]; + else if (wc >= 0x2000 && wc < 0x2010) + c = ebcdic16804_page20[wc-0x2000]; + else if (wc == 0x20ac) + c = 0xfa; + else if (wc >= 0xfe78 && wc < 0xff00) + c = ebcdic16804_pagefe[wc-0xfe78]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic273.h b/source/lib/ebcdic273.h new file mode 100644 index 0000000..6dc48f4 --- /dev/null +++ b/source/lib/ebcdic273.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-273 + */ + +static const unsigned short ebcdic273_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00c4, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x007e, 0x00dc, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x005b, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x00a7, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00df, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x0040, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00fc, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007d, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00d6, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x005c, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x005d, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic273_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic273_2uni[c]; + return 1; +} + +static const unsigned char ebcdic273_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xb5, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x63, 0xec, 0xfc, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x43, 0xbb, 0xdc, 0x59, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0xcc, 0x7c, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x4a, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xe0, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0x5a, 0xad, 0xae, 0xa1, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0xc0, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0x6a, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xd0, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic273_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic273_page00[wc]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic277.h b/source/lib/ebcdic277.h new file mode 100644 index 0000000..c21cfe2 --- /dev/null +++ b/source/lib/ebcdic277.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-277 + */ + +static const unsigned short ebcdic277_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x0023, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a4, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f8, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00a6, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x00c6, 0x00d8, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0040, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x007b, 0x00b8, 0x005b, 0x005d, + /* 0xa0 */ + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e6, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic277_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic277_2uni[c]; + return 1; +} + +static const unsigned char ebcdic277_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x4a, 0x67, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x80, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x9e, 0xe0, 0x9f, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x9c, 0xbb, 0x47, 0xdc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x5a, 0xb2, 0x70, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x5b, 0x7b, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x7c, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0xd0, 0xc0, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x6a, 0xdd, 0xde, 0xdb, 0xa1, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic277_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic277_page00[wc]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic278.h b/source/lib/ebcdic278.h new file mode 100644 index 0000000..37b06d4 --- /dev/null +++ b/source/lib/ebcdic278.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-278 + */ + +static const unsigned short ebcdic278_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x00a7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0060, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a4, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x0023, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x005c, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00e9, 0x003a, 0x00c4, 0x00d6, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x005d, + /* 0xa0 */ + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x005b, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00c9, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0040, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic278_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic278_2uni[c]; + return 1; +} + +static const unsigned char ebcdic278_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x63, 0x67, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xec, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xb5, 0x71, 0x9f, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x51, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x43, 0xbb, 0x47, 0xdc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x5a, 0xb2, 0xcc, 0x4a, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x7b, 0x5b, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0xe0, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7c, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0xc0, 0xd0, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x79, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0x6a, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xa1, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic278_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic278_page00[wc]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic280.h b/source/lib/ebcdic280.h new file mode 100644 index 0000000..2102f15 --- /dev/null +++ b/source/lib/ebcdic280.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-280 + */ + +static const unsigned short ebcdic280_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x007b, 0x00e1, 0x00e3, 0x00e5, + 0x005c, 0x00f1, 0x00b0, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x005d, 0x00ea, 0x00eb, 0x007d, 0x00ed, 0x00ee, 0x00ef, + 0x007e, 0x00df, 0x00e9, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f2, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00f9, 0x003a, 0x00a3, 0x00a7, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x005b, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00ec, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x0023, 0x00a5, 0x00b7, 0x00a9, 0x0040, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e0, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00a6, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e8, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x0060, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00e7, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic280_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic280_2uni[c]; + return 1; +} + +static const unsigned char ebcdic280_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0xb1, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xb5, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x90, 0x48, 0x51, 0x5f, 0x6d, /* 0x58-0x5f */ + 0xdd, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x44, 0xbb, 0x54, 0x58, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0x7b, 0x9f, 0xb2, 0xcd, 0x7c, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x4a, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0xc0, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xe0, /* 0xe0-0xe7 */ + 0xd0, 0x5a, 0x52, 0x53, 0xa1, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0x6a, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0x79, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic280_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic280_page00[wc]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic282.h b/source/lib/ebcdic282.h new file mode 100644 index 0000000..3779bc1 --- /dev/null +++ b/source/lib/ebcdic282.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-282 + */ + +static const unsigned short ebcdic282_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x007b, 0x00e5, + 0x007e, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x0023, 0x00c5, + 0x005c, 0x00d1, 0x00f5, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x00c3, 0x00d5, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00e7, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x007d, 0x00d7, + /* 0xc0 */ + 0x00e3, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00a6, + /* 0xd0 */ + 0x00b4, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00c7, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x0040, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic282_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic282_2uni[c]; + return 1; +} + +static const unsigned char ebcdic282_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x66, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xef, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0x68, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x46, 0xbb, 0xbe, 0x48, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0xcf, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xd0, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x7b, 0x63, 0x67, 0x9e, 0xe0, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0x7c, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0xc0, 0x43, 0x47, 0x9c, 0xa1, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0x6a, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic282_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic282_page00[wc]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic284.h b/source/lib/ebcdic284.h new file mode 100644 index 0000000..368a7de --- /dev/null +++ b/source/lib/ebcdic284.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-284 + */ + +static const unsigned short ebcdic284_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00a6, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x0023, 0x00f1, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x00d1, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00a8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005e, 0x0021, 0x00af, 0x007e, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic284_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic284_2uni[c]; + return 1; +} + +static const unsigned char ebcdic284_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0xbb, 0x7f, 0x69, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0xba, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xbd, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x49, 0xb5, /* 0xa0-0xa7 */ + 0xa1, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x7b, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x6a, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic284_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic284_page00[wc]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic285.h b/source/lib/ebcdic285.h new file mode 100644 index 0000000..feb65a8 --- /dev/null +++ b/source/lib/ebcdic285.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-285 + */ + +static const unsigned short ebcdic285_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x0024, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x00a3, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00af, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x005b, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005e, 0x005d, 0x007e, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic285_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic285_2uni[c]; + return 1; +} + +static const unsigned char ebcdic285_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x4a, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xb1, 0xe0, 0xbb, 0xba, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xbc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0x5b, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xa1, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic285_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic285_page00[wc]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic297.h b/source/lib/ebcdic297.h new file mode 100644 index 0000000..391dff3 --- /dev/null +++ b/source/lib/ebcdic297.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-297 + */ + +static const unsigned short ebcdic297_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x0040, 0x00e1, 0x00e3, 0x00e5, + 0x005c, 0x00f1, 0x00b0, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x007b, 0x00ea, 0x00eb, 0x007d, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a7, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f9, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00b5, 0x003a, 0x00a3, 0x00e0, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x005b, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x0060, 0x00a8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x0023, 0x00a5, 0x00b7, 0x00a9, 0x005d, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x007e, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e9, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e8, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00a6, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00e7, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic297_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic297_2uni[c]; + return 1; +} + +static const unsigned char ebcdic297_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0xb1, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x44, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x90, 0x48, 0xb5, 0x5f, 0x6d, /* 0x58-0x5f */ + 0xa0, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x51, 0xbb, 0x54, 0xbd, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0x7b, 0x9f, 0xb2, 0xdd, 0x5a, /* 0xa0-0xa7 */ + 0xa1, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x4a, 0x8f, 0xea, 0xfa, 0xbe, 0x79, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x7c, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xe0, /* 0xe0-0xe7 */ + 0xd0, 0xc0, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0x6a, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic297_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic297_page00[wc]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic423.h b/source/lib/ebcdic423.h new file mode 100644 index 0000000..6dd6388 --- /dev/null +++ b/source/lib/ebcdic423.h @@ -0,0 +1,147 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-423 + */ + +static const unsigned short ebcdic423_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, + 0x0398, 0x0399, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0, + 0x03a1, 0x03a3, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, + 0xfffd, 0xfffd, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0xfffd, 0x0386, 0x0388, 0x0389, 0x00a0, 0x038a, 0x038c, 0x038e, + 0x038f, 0x0060, 0x003a, 0x00a3, 0x00a7, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00c4, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, + /* 0x90 */ + 0x00d6, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, + /* 0xa0 */ + 0x00dc, 0x00a8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, + /* 0xb0 */ + 0xfffd, 0x03ac, 0x03ad, 0x03ae, 0x03ca, 0x03af, 0x03cc, 0x03cd, + 0x03cb, 0x03ce, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, + /* 0xc0 */ + 0x00b8, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x03c9, 0x00e2, 0x00e0, 0x00e4, 0x00ea, + /* 0xd0 */ + 0x00b4, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b1, 0x00e9, 0x00e8, 0x00eb, 0x00ee, 0x00ef, + /* 0xe0 */ + 0x00b0, 0xfffd, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00bd, 0x00f6, 0x00f4, 0x00fb, 0x00f9, 0x00fc, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00ff, 0x00e7, 0x00c7, 0xfffd, 0xfffd, 0x009f, +}; + +static int +ebcdic423_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + unsigned short wc = ebcdic423_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic423_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x00, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x00, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0x00, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x00, 0x6a, 0x00, 0x00, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x74, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x7c, /* 0xa0-0xa7 */ + 0xa1, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0xe0, 0xda, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0xc0, 0x00, 0x00, 0x00, 0x00, 0xea, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfc, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0x00, 0xfb, /* 0xe0-0xe7 */ + 0xdc, 0xdb, 0xcf, 0xdd, 0x00, 0x00, 0xde, 0xdf, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0x00, 0xec, 0x00, 0xeb, 0x00, /* 0xf0-0xf7 */ + 0x00, 0xee, 0x00, 0xed, 0xef, 0x00, 0x00, 0xfa, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic423_page03[80] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x00, /* 0x80-0x87 */ + 0x72, 0x73, 0x75, 0x00, 0x76, 0x00, 0x77, 0x78, /* 0x88-0x8f */ + 0x00, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* 0x90-0x97 */ + 0x48, 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, /* 0x98-0x9f */ + 0x57, 0x58, 0x00, 0x59, 0x62, 0x63, 0x64, 0x65, /* 0xa0-0xa7 */ + 0x66, 0x67, 0x00, 0x00, 0xb1, 0xb2, 0xb3, 0xb5, /* 0xa8-0xaf */ + 0x00, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x9a, /* 0xb0-0xb7 */ + 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xaa, 0xab, 0xac, /* 0xb8-0xbf */ + 0xad, 0xae, 0xba, 0xaf, 0xbb, 0xbc, 0xbd, 0xbe, /* 0xc0-0xc7 */ + 0xbf, 0xcb, 0xb4, 0xb8, 0xb6, 0xb7, 0xb9, 0x00, /* 0xc8-0xcf */ +}; + +static int +ebcdic423_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic423_page00[wc]; + else if (wc >= 0x0380 && wc < 0x03d0) + c = ebcdic423_page03[wc-0x0380]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic424.h b/source/lib/ebcdic424.h new file mode 100644 index 0000000..f426e89 --- /dev/null +++ b/source/lib/ebcdic424.h @@ -0,0 +1,150 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-424 + */ + +static const unsigned short ebcdic424_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, + 0x05d7, 0x05d8, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df, + 0x05e0, 0x05e1, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7, + 0x05e8, 0x05e9, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0xfffd, 0x05ea, 0xfffd, 0xfffd, 0x00a0, 0xfffd, 0xfffd, 0xfffd, + 0x2017, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0xfffd, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0xfffd, 0xfffd, 0xfffd, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0xfffd, 0xfffd, 0xfffd, 0x00b8, 0xfffd, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x00ae, + /* 0xb0 */ + 0x005e, 0x00a3, 0x00a5, 0x2022, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x203e, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x009f, +}; + +static int +ebcdic424_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + unsigned short wc = ebcdic424_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic424_page00[248] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x74, 0x00, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x00, 0x8a, 0x5f, 0xca, 0xaf, 0x00, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0x00, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x00, 0x8b, 0xb7, 0xb8, 0xb9, 0x00, /* 0xb8-0xbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, /* 0xf0-0xf7 */ +}; +static const unsigned char ebcdic424_page05[32] = { + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, /* 0xd0-0xd7 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, /* 0xd8-0xdf */ + 0x58, 0x59, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0xe0-0xe7 */ + 0x68, 0x69, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ +}; +static const unsigned char ebcdic424_page20[48] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0x00, /* 0x38-0x3f */ +}; + +static int +ebcdic424_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00f8) + c = ebcdic424_page00[wc]; + else if (wc >= 0x05d0 && wc < 0x05f0) + c = ebcdic424_page05[wc-0x05d0]; + else if (wc >= 0x2010 && wc < 0x2040) + c = ebcdic424_page20[wc-0x2010]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic425.h b/source/lib/ebcdic425.h new file mode 100644 index 0000000..d2f04b1 --- /dev/null +++ b/source/lib/ebcdic425.h @@ -0,0 +1,164 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-425 + */ + +static const unsigned short ebcdic425_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x060c, 0x00e0, 0x061b, 0x0640, 0x061f, + 0x00e7, 0x0621, 0x0622, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x0623, 0x00ee, 0x00ef, + 0x0624, 0x0625, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x0626, 0x00c0, 0x0627, 0x0628, 0x0629, + 0x00c7, 0x062a, 0x062b, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x062c, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x062d, 0x00ce, 0x00cf, + 0x062e, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x062f, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0630, 0x0631, 0x0632, 0x0633, + /* 0x90 */ + 0x0634, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0635, 0x0636, 0x00e6, 0x0637, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0638, 0x0639, 0x063a, 0x005b, 0x0641, 0x0642, + /* 0xb0 */ + 0x0643, 0x0644, 0x0645, 0x0646, 0x00a9, 0x00a7, 0x0647, 0x0152, + 0x0153, 0x0178, 0x0648, 0x0649, 0x064a, 0x005d, 0x064b, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x064c, 0x064d, 0x064e, 0x064f, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0650, 0x00fb, 0x00fc, 0x00f9, 0x0651, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0652, 0x00d4, 0x200c, 0x200d, 0x200e, 0x200f, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0xfffd, 0x00db, 0x00dc, 0x00d9, 0x00a4, 0x009f, +}; + +static int +ebcdic425_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + unsigned short wc = ebcdic425_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic425_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xb5, /* 0xa0-0xa7 */ + 0x00, 0xb4, 0x00, 0x8a, 0x00, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x64, 0x00, 0x62, 0x00, 0x00, 0x00, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x00, 0x00, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0xeb, 0x00, 0x00, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0xfd, 0x00, 0xfb, 0xfc, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ + 0x44, 0x00, 0x42, 0x00, 0x00, 0x00, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x00, 0x00, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0xe1, /* 0xf0-0xf7 */ + 0x00, 0xdd, 0x00, 0xdb, 0xdc, 0x00, 0x00, 0xdf, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic425_page01[48] = { + 0x00, 0x00, 0xb7, 0xb8, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char ebcdic425_page06[80] = { + 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x47, /* 0x18-0x1f */ + 0x00, 0x49, 0x4a, 0x55, 0x58, 0x59, 0x63, 0x65, /* 0x20-0x27 */ + 0x66, 0x67, 0x69, 0x6a, 0x70, 0x75, 0x78, 0x80, /* 0x28-0x2f */ + 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x9a, 0x9b, 0x9d, /* 0x30-0x37 */ + 0xaa, 0xab, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x46, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb6, /* 0x40-0x47 */ + 0xba, 0xbb, 0xbc, 0xbe, 0xcc, 0xcd, 0xce, 0xcf, /* 0x48-0x4f */ + 0xda, 0xde, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ +}; +static const unsigned char ebcdic425_page20[8] = { + 0x00, 0x00, 0x00, 0x00, 0xec, 0xed, 0xee, 0xef, /* 0x08-0x0f */ +}; + +static int +ebcdic425_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic425_page00[wc]; + else if (wc >= 0x0150 && wc < 0x0180) + c = ebcdic425_page01[wc-0x0150]; + else if (wc >= 0x0608 && wc < 0x0658) + c = ebcdic425_page06[wc-0x0608]; + else if (wc >= 0x2008 && wc < 0x2010) + c = ebcdic425_page20[wc-0x2008]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic4971.h b/source/lib/ebcdic4971.h new file mode 100644 index 0000000..63e23d9 --- /dev/null +++ b/source/lib/ebcdic4971.h @@ -0,0 +1,159 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-4971 + */ + +static const unsigned short ebcdic4971_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, + 0x0398, 0x0399, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0, + 0x03a1, 0x03a3, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, + 0x03aa, 0x03ab, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00a8, 0x0386, 0x0388, 0x0389, 0x00a0, 0x038a, 0x038c, 0x038e, + 0x038f, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0385, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, + /* 0xa0 */ + 0x00b4, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, + /* 0xb0 */ + 0x00a3, 0x03ac, 0x03ad, 0x03ae, 0x03ca, 0x03af, 0x03cc, 0x03cd, + 0x03cb, 0x03ce, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x03c9, 0x0390, 0x03b0, 0x2018, 0x2015, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b1, 0x00bd, 0xfffd, 0x0387, 0x2019, 0x00a6, + /* 0xe0 */ + 0x005c, 0xfffd, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00a7, 0xfffd, 0xfffd, 0x00ab, 0x00ac, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00a9, 0x20ac, 0xfffd, 0x00bb, 0x009f, +}; + +static int +ebcdic4971_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + unsigned short wc = ebcdic4971_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +#if DEDUPLICATE_TABLES +#define ebcdic4971_page00 ebcdic875_page00 +#else /* Unoptimized */ +static const unsigned char ebcdic4971_page00[192] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x74, 0x00, 0x00, 0xb0, 0x00, 0x00, 0xdf, 0xeb, /* 0xa0-0xa7 */ + 0x70, 0xfb, 0x00, 0xee, 0xef, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x90, 0xda, 0xea, 0xfa, 0xa0, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0xfe, 0x00, 0xdb, 0x00, 0x00, /* 0xb8-0xbf */ +}; +#endif +#if DEDUPLICATE_TABLES +#define ebcdic4971_page03 ebcdic875_page03 +#else /* Unoptimized */ +static const unsigned char ebcdic4971_page03[80] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x71, 0xdd, /* 0x80-0x87 */ + 0x72, 0x73, 0x75, 0x00, 0x76, 0x00, 0x77, 0x78, /* 0x88-0x8f */ + 0xcc, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* 0x90-0x97 */ + 0x48, 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, /* 0x98-0x9f */ + 0x57, 0x58, 0x00, 0x59, 0x62, 0x63, 0x64, 0x65, /* 0xa0-0xa7 */ + 0x66, 0x67, 0x68, 0x69, 0xb1, 0xb2, 0xb3, 0xb5, /* 0xa8-0xaf */ + 0xcd, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x9a, /* 0xb0-0xb7 */ + 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xaa, 0xab, 0xac, /* 0xb8-0xbf */ + 0xad, 0xae, 0xba, 0xaf, 0xbb, 0xbc, 0xbd, 0xbe, /* 0xc0-0xc7 */ + 0xbf, 0xcb, 0xb4, 0xb8, 0xb6, 0xb7, 0xb9, 0x00, /* 0xc8-0xcf */ +}; +#endif +#if DEDUPLICATE_TABLES +#define ebcdic4971_page20 ebcdic875_page20 +#else /* Unoptimized */ +static const unsigned char ebcdic4971_page20[16] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x00, /* 0x10-0x17 */ + 0xce, 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ +}; +#endif + +static int +ebcdic4971_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00c0) + c = ebcdic4971_page00[wc]; + else if (wc >= 0x0380 && wc < 0x03d0) + c = ebcdic4971_page03[wc-0x0380]; + else if (wc >= 0x2010 && wc < 0x2020) + c = ebcdic4971_page20[wc-0x2010]; + else if (wc == 0x20ac) + c = 0xfc; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic500.h b/source/lib/ebcdic500.h new file mode 100644 index 0000000..4270513 --- /dev/null +++ b/source/lib/ebcdic500.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-500 + */ + +static const unsigned short ebcdic500_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic500_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic500_2uni[c]; + return 1; +} + +static const unsigned char ebcdic500_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic500_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic500_page00[wc]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic838.h b/source/lib/ebcdic838.h new file mode 100644 index 0000000..99911bd --- /dev/null +++ b/source/lib/ebcdic838.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-838 + */ + +static const unsigned short ebcdic838_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, + 0x0e07, 0x005b, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x0e48, 0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, + 0x0e0e, 0x005d, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + /* 0x60 */ + 0x002d, 0x002f, 0x0e0f, 0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, + 0x0e15, 0x005e, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x0e3f, 0x0e4e, 0x0e16, 0x0e17, 0x0e18, 0x0e19, 0x0e1a, 0x0e1b, + 0x0e1c, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0e4f, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0e1d, 0x0e1e, 0x0e1f, 0x0e20, 0x0e21, 0x0e22, + /* 0x90 */ + 0x0e5a, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27, 0x0e28, + /* 0xa0 */ + 0x0e5b, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, + /* 0xb0 */ + 0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57, + 0x0e58, 0x0e59, 0x0e2f, 0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0e49, 0x0e35, 0x0e36, 0x0e37, 0x0e38, 0x0e39, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0e3a, 0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, + /* 0xe0 */ + 0x005c, 0x0e4a, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0e45, 0x0e46, 0x0e47, 0x0e48, 0x0e49, 0x0e4a, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4b, 0x0e4c, 0x009f, +}; + +static int +ebcdic838_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic838_2uni[c]; + return 1; +} + +static const unsigned char ebcdic838_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x49, 0xe0, 0x59, 0x69, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x6a, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ +}; +static const unsigned char ebcdic838_page0e[96] = { + 0x00, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, /* 0x00-0x07 */ + 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x62, /* 0x08-0x0f */ + 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x72, 0x73, /* 0x10-0x17 */ + 0x74, 0x75, 0x76, 0x77, 0x78, 0x8a, 0x8b, 0x8c, /* 0x18-0x1f */ + 0x8d, 0x8e, 0x8f, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, /* 0x20-0x27 */ + 0x9f, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xba, /* 0x28-0x2f */ + 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xcb, 0xcc, 0xcd, /* 0x30-0x37 */ + 0xce, 0xcf, 0xda, 0x00, 0x00, 0x00, 0x00, 0x70, /* 0x38-0x3f */ + 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xea, 0xeb, 0xec, /* 0x40-0x47 */ + 0xed, 0xee, 0xef, 0xfa, 0xfb, 0xfc, 0x71, 0x80, /* 0x48-0x4f */ + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, /* 0x50-0x57 */ + 0xb8, 0xb9, 0x90, 0xa0, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ +}; + +static int +ebcdic838_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic838_page00[wc]; + else if (wc >= 0x0e00 && wc < 0x0e60) + c = ebcdic838_page0e[wc-0x0e00]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic870.h b/source/lib/ebcdic870.h new file mode 100644 index 0000000..8b14f83 --- /dev/null +++ b/source/lib/ebcdic870.h @@ -0,0 +1,154 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-870 + */ + +static const unsigned short ebcdic870_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x0163, 0x00e1, 0x0103, 0x010d, + 0x00e7, 0x0107, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x0119, 0x00eb, 0x016f, 0x00ed, 0x00ee, 0x013e, + 0x013a, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x02dd, 0x00c1, 0x0102, 0x010c, + 0x00c7, 0x0106, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x02c7, 0x00c9, 0x0118, 0x00cb, 0x016e, 0x00cd, 0x00ce, 0x013d, + 0x0139, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x02d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x015b, 0x0148, 0x0111, 0x00fd, 0x0159, 0x015f, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0142, 0x0144, 0x0161, 0x00b8, 0x02db, 0x00a4, + /* 0xa0 */ + 0x0105, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x015a, 0x0147, 0x0110, 0x00dd, 0x0158, 0x015e, + /* 0xb0 */ + 0x02d9, 0x0104, 0x017c, 0x0162, 0x017b, 0x00a7, 0x017e, 0x017a, + 0x017d, 0x0179, 0x0141, 0x0143, 0x0160, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x0155, 0x00f3, 0x0151, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x011a, 0x0171, 0x00fc, 0x0165, 0x00fa, 0x011b, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x010f, 0x00d4, 0x00d6, 0x0154, 0x00d3, 0x0150, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x010e, 0x0170, 0x00dc, 0x0164, 0x00da, 0x009f, +}; + +static int +ebcdic870_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic870_2uni[c]; + return 1; +} + +static const unsigned char ebcdic870_page00[384] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0x9f, 0x00, 0x00, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x90, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x9d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ + 0x00, 0x65, 0x62, 0x00, 0x63, 0x00, 0x00, 0x68, /* 0xc0-0xc7 */ + 0x00, 0x71, 0x00, 0x73, 0x00, 0x75, 0x76, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0xee, 0xeb, 0x00, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0x00, 0xfe, 0x00, 0xfc, 0xad, 0x00, 0x59, /* 0xd8-0xdf */ + 0x00, 0x45, 0x42, 0x00, 0x43, 0x00, 0x00, 0x48, /* 0xe0-0xe7 */ + 0x00, 0x51, 0x00, 0x53, 0x00, 0x55, 0x56, 0x00, /* 0xe8-0xef */ + 0x00, 0x00, 0x00, 0xce, 0xcb, 0x00, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x00, 0x00, 0xde, 0x00, 0xdc, 0x8d, 0x00, 0x00, /* 0xf8-0xff */ + /* 0x0100 */ + 0x00, 0x00, 0x66, 0x46, 0xb1, 0xa0, 0x69, 0x49, /* 0x00-0x07 */ + 0x00, 0x00, 0x00, 0x00, 0x67, 0x47, 0xfa, 0xea, /* 0x08-0x0f */ + 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x72, 0x52, 0xda, 0xdf, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x78, 0x58, 0x00, 0x00, 0x77, 0x57, 0x00, /* 0x38-0x3f */ + 0x00, 0xba, 0x9a, 0xbb, 0x9b, 0x00, 0x00, 0xab, /* 0x40-0x47 */ + 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0xef, 0xcf, 0x00, 0x00, 0xed, 0xcd, 0x00, 0x00, /* 0x50-0x57 */ + 0xae, 0x8e, 0xaa, 0x8a, 0x00, 0x00, 0xaf, 0x8f, /* 0x58-0x5f */ + 0xbc, 0x9c, 0xb3, 0x44, 0xfd, 0xdd, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x54, /* 0x68-0x6f */ + 0xfb, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0xb9, 0xb7, 0xb4, 0xb2, 0xb8, 0xb6, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char ebcdic870_page02[32] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, /* 0xc0-0xc7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ + 0x80, 0xb0, 0x00, 0x9e, 0x00, 0x64, 0x00, 0x00, /* 0xd8-0xdf */ +}; + +static int +ebcdic870_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0180) + c = ebcdic870_page00[wc]; + else if (wc >= 0x02c0 && wc < 0x02e0) + c = ebcdic870_page02[wc-0x02c0]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic871.h b/source/lib/ebcdic871.h new file mode 100644 index 0000000..0e091cd --- /dev/null +++ b/source/lib/ebcdic871.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-871 + */ + +static const unsigned short ebcdic871_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00de, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00c6, 0x0024, 0x002a, 0x0029, 0x003b, 0x00d6, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00f0, 0x003a, 0x0023, 0x00d0, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0060, 0x00fd, 0x007b, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x007d, 0x00b8, 0x005d, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0040, 0x00dd, 0x005b, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x005c, 0x00d7, + /* 0xc0 */ + 0x00fe, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x00e6, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x00b4, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x005e, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic871_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic871_2uni[c]; + return 1; +} + +static const unsigned char ebcdic871_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xac, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xae, 0xbe, 0x9e, 0xec, 0x6d, /* 0x58-0x5f */ + 0x8c, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x8e, 0xbb, 0x9c, 0xcc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0xe0, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x5a, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x7c, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x5f, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0x4a, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0xd0, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x79, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xa1, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0xc0, 0xdf, /* 0xf8-0xff */ +}; + +static int +ebcdic871_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic871_page00[wc]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic875.h b/source/lib/ebcdic875.h new file mode 100644 index 0000000..dee3f46 --- /dev/null +++ b/source/lib/ebcdic875.h @@ -0,0 +1,145 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-875 + */ + +static const unsigned short ebcdic875_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, + 0x0398, 0x0399, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0, + 0x03a1, 0x03a3, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, + 0x03aa, 0x03ab, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00a8, 0x0386, 0x0388, 0x0389, 0x00a0, 0x038a, 0x038c, 0x038e, + 0x038f, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0385, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, + /* 0xa0 */ + 0x00b4, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, + /* 0xb0 */ + 0x00a3, 0x03ac, 0x03ad, 0x03ae, 0x03ca, 0x03af, 0x03cc, 0x03cd, + 0x03cb, 0x03ce, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x03c9, 0x0390, 0x03b0, 0x2018, 0x2015, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b1, 0x00bd, 0xfffd, 0x0387, 0x2019, 0x00a6, + /* 0xe0 */ + 0x005c, 0xfffd, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00a7, 0xfffd, 0xfffd, 0x00ab, 0x00ac, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00a9, 0xfffd, 0xfffd, 0x00bb, 0x009f, +}; + +static int +ebcdic875_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + unsigned short wc = ebcdic875_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic875_page00[192] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x74, 0x00, 0x00, 0xb0, 0x00, 0x00, 0xdf, 0xeb, /* 0xa0-0xa7 */ + 0x70, 0xfb, 0x00, 0xee, 0xef, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x90, 0xda, 0xea, 0xfa, 0xa0, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ + 0x00, 0x00, 0x00, 0xfe, 0x00, 0xdb, 0x00, 0x00, /* 0xb8-0xbf */ +}; +static const unsigned char ebcdic875_page03[80] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x71, 0xdd, /* 0x80-0x87 */ + 0x72, 0x73, 0x75, 0x00, 0x76, 0x00, 0x77, 0x78, /* 0x88-0x8f */ + 0xcc, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* 0x90-0x97 */ + 0x48, 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, /* 0x98-0x9f */ + 0x57, 0x58, 0x00, 0x59, 0x62, 0x63, 0x64, 0x65, /* 0xa0-0xa7 */ + 0x66, 0x67, 0x68, 0x69, 0xb1, 0xb2, 0xb3, 0xb5, /* 0xa8-0xaf */ + 0xcd, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x9a, /* 0xb0-0xb7 */ + 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xaa, 0xab, 0xac, /* 0xb8-0xbf */ + 0xad, 0xae, 0xba, 0xaf, 0xbb, 0xbc, 0xbd, 0xbe, /* 0xc0-0xc7 */ + 0xbf, 0xcb, 0xb4, 0xb8, 0xb6, 0xb7, 0xb9, 0x00, /* 0xc8-0xcf */ +}; +static const unsigned char ebcdic875_page20[16] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x00, /* 0x10-0x17 */ + 0xce, 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ +}; + +static int +ebcdic875_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00c0) + c = ebcdic875_page00[wc]; + else if (wc >= 0x0380 && wc < 0x03d0) + c = ebcdic875_page03[wc-0x0380]; + else if (wc >= 0x2010 && wc < 0x2020) + c = ebcdic875_page20[wc-0x2010]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic880.h b/source/lib/ebcdic880.h new file mode 100644 index 0000000..bcadc52 --- /dev/null +++ b/source/lib/ebcdic880.h @@ -0,0 +1,137 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-880 + */ + +static const unsigned short ebcdic880_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x0452, 0x0453, 0x0451, 0x0454, 0x0455, 0x0456, + 0x0457, 0x0458, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x0459, 0x045a, 0x045b, 0x045c, 0x045e, 0x045f, 0x042a, + 0x2116, 0x0402, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x0403, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, 0x044e, 0x0430, + 0x0431, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x0446, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, + /* 0x90 */ + 0x0439, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + /* 0xa0 */ + 0x044f, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + /* 0xb0 */ + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + /* 0xe0 */ + 0x005c, 0x00a4, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x009f, +}; + +static int +ebcdic880_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic880_2uni[c]; + return 1; +} + +static const unsigned char ebcdic880_page00[176] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, /* 0xa8-0xaf */ +}; +static const unsigned char ebcdic880_page04[96] = { + 0x00, 0x63, 0x59, 0x62, 0x64, 0x65, 0x66, 0x67, /* 0x00-0x07 */ + 0x68, 0x69, 0x70, 0x71, 0x72, 0x00, 0x74, 0x75, /* 0x08-0x0f */ + 0xb9, 0xba, 0xed, 0xbf, 0xbc, 0xbd, 0xec, 0xfa, /* 0x10-0x17 */ + 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xda, 0xdb, 0xdc, /* 0x18-0x1f */ + 0xde, 0xdf, 0xea, 0xeb, 0xbe, 0xca, 0xbb, 0xfe, /* 0x20-0x27 */ + 0xfb, 0xfd, 0x57, 0xef, 0xee, 0xfc, 0xb8, 0xdd, /* 0x28-0x2f */ + 0x77, 0x78, 0xaf, 0x8d, 0x8a, 0x8b, 0xae, 0xb2, /* 0x30-0x37 */ + 0x8f, 0x90, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 0x38-0x3f */ + 0xaa, 0xab, 0xac, 0xad, 0x8c, 0x8e, 0x80, 0xb6, /* 0x40-0x47 */ + 0xb3, 0xb5, 0xb7, 0xb1, 0xb0, 0xb4, 0x76, 0xa0, /* 0x48-0x4f */ + 0x00, 0x44, 0x42, 0x43, 0x45, 0x46, 0x47, 0x48, /* 0x50-0x57 */ + 0x49, 0x51, 0x52, 0x53, 0x54, 0x00, 0x55, 0x56, /* 0x58-0x5f */ +}; + +static int +ebcdic880_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x00b0) + c = ebcdic880_page00[wc]; + else if (wc >= 0x0400 && wc < 0x0460) + c = ebcdic880_page04[wc-0x0400]; + else if (wc == 0x2116) + c = 0x58; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic905.h b/source/lib/ebcdic905.h new file mode 100644 index 0000000..6041c99 --- /dev/null +++ b/source/lib/ebcdic905.h @@ -0,0 +1,157 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-905 + */ + +static const unsigned short ebcdic905_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0xfffd, 0x010b, + 0x007b, 0x00f1, 0x00c7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x011e, 0x0130, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0xfffd, 0x010a, + 0x005b, 0x00d1, 0x015f, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0xfffd, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0131, 0x003a, 0x00d6, 0x015e, 0x0027, 0x003d, 0x00dc, + /* 0x80 */ + 0x02d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x0127, 0x0109, 0x015d, 0x016d, 0xfffd, 0x007c, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0125, 0x011d, 0x0135, 0x00b8, 0xfffd, 0x00a4, + /* 0xa0 */ + 0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x0126, 0x0108, 0x015c, 0x016c, 0xfffd, 0x0040, + /* 0xb0 */ + 0x02d9, 0x00a3, 0x017c, 0x007d, 0x017b, 0x00a7, 0x005d, 0x00b7, + 0x00bd, 0x0024, 0x0124, 0x011c, 0x0134, 0x00a8, 0x00b4, 0x00d7, + /* 0xc0 */ + 0x00e7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x0121, + /* 0xd0 */ + 0x011f, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0060, 0x00fb, 0x005c, 0x00f9, 0x00fa, 0xfffd, + /* 0xe0 */ + 0x00fc, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0023, 0x00d2, 0x00d3, 0x0120, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x0022, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic905_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + unsigned short wc = ebcdic905_2uni[c]; + if (wc != 0xfffd) { + *pwc = (ucs4_t) wc; + return 1; + } + return RET_ILSEQ; +} + +static const unsigned char ebcdic905_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x4f, 0xfc, 0xec, 0xb9, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0xaf, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0x68, 0xdc, 0xb6, 0x5f, 0x6d, /* 0x58-0x5f */ + 0xda, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0x48, 0x8f, 0xb3, 0xcc, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0x00, 0x00, 0xb1, 0x9f, 0x00, 0x00, 0xb5, /* 0xa0-0xa7 */ + 0xbd, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, /* 0xa8-0xaf */ + 0x90, 0x00, 0xea, 0xfa, 0xbe, 0xa0, 0x00, 0xb7, /* 0xb0-0xb7 */ + 0x9d, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x00, 0x63, 0x00, 0x00, 0x4a, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0x00, 0x69, 0xed, 0xee, 0xeb, 0x00, 0x7b, 0xbf, /* 0xd0-0xd7 */ + 0x00, 0xfd, 0xfe, 0xfb, 0x7f, 0x00, 0x00, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x00, 0x43, 0x00, 0x00, 0xc0, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x00, 0x49, 0xcd, 0xce, 0xcb, 0x00, 0xa1, 0xe1, /* 0xf0-0xf7 */ + 0x00, 0xdd, 0xde, 0xdb, 0xe0, 0x00, 0x00, 0x00, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic905_page01[120] = { + 0xab, 0x8b, 0x67, 0x47, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ + 0x00, 0x00, 0x00, 0x00, 0xbb, 0x9b, 0x5a, 0xd0, /* 0x18-0x1f */ + 0xef, 0xcf, 0x00, 0x00, 0xba, 0x9a, 0xaa, 0x8a, /* 0x20-0x27 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ + 0x5b, 0x79, 0x00, 0x00, 0xbc, 0x9c, 0x00, 0x00, /* 0x30-0x37 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0xac, 0x8c, 0x7c, 0x6a, /* 0x58-0x5f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0xad, 0x8d, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0x00, 0x00, 0x00, 0xb4, 0xb2, 0x00, 0x00, 0x00, /* 0x78-0x7f */ +}; +static const unsigned char ebcdic905_page02[8] = { + 0x80, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ +}; + +static int +ebcdic905_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic905_page00[wc]; + else if (wc >= 0x0108 && wc < 0x0180) + c = ebcdic905_page01[wc-0x0108]; + else if (wc >= 0x02d8 && wc < 0x02e0) + c = ebcdic905_page02[wc-0x02d8]; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/ebcdic924.h b/source/lib/ebcdic924.h new file mode 100644 index 0000000..cc7cd7c --- /dev/null +++ b/source/lib/ebcdic924.h @@ -0,0 +1,141 @@ +/* + * Copyright (C) 1999-2022 Free Software Foundation, Inc. + * This file is part of the GNU LIBICONV Library. + * + * The GNU LIBICONV 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 + * of the License, or (at your option) any later version. + * + * The GNU LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + * If not, see . + */ + +/* + * IBM-924 + */ + +static const unsigned short ebcdic924_2uni[256] = { + /* 0x00 */ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + /* 0x10 */ + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + /* 0x20 */ + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + /* 0x30 */ + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + /* 0x40 */ + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00dd, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + /* 0x50 */ + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + /* 0x60 */ + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x0160, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + /* 0x70 */ + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + /* 0x80 */ + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + /* 0x90 */ + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x017e, 0x00c6, 0x20ac, + /* 0xa0 */ + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x005b, 0x00de, 0x00ae, + /* 0xb0 */ + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x0152, + 0x0153, 0x0178, 0x00ac, 0x0161, 0x00af, 0x005d, 0x017d, 0x00d7, + /* 0xc0 */ + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + /* 0xd0 */ + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + /* 0xe0 */ + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + /* 0xf0 */ + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f, +}; + +static int +ebcdic924_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n) +{ + unsigned char c = *s; + *pwc = (ucs4_t) ebcdic924_2uni[c]; + return 1; +} + +static const unsigned char ebcdic924_page00[256] = { + 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 0x00-0x07 */ + 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ + 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 0x10-0x17 */ + 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ + 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 0x20-0x27 */ + 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* 0x28-0x2f */ + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x30-0x37 */ + 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0x38-0x3f */ + 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x40-0x47 */ + 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* 0x48-0x4f */ + 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 0x50-0x57 */ + 0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* 0x58-0x5f */ + 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x60-0x67 */ + 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* 0x68-0x6f */ + 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 0x70-0x77 */ + 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* 0x78-0x7f */ + 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, /* 0x80-0x87 */ + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, /* 0x88-0x8f */ + 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, /* 0x90-0x97 */ + 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, /* 0x98-0x9f */ + 0x41, 0xaa, 0xb0, 0xb1, 0x00, 0xb2, 0x00, 0xb5, /* 0xa0-0xa7 */ + 0x00, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc, /* 0xa8-0xaf */ + 0x90, 0x8f, 0xea, 0xfa, 0x00, 0xa0, 0xb6, 0xb3, /* 0xb0-0xb7 */ + 0x00, 0xda, 0x9b, 0x8b, 0x00, 0x00, 0x00, 0xab, /* 0xb8-0xbf */ + 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* 0xc0-0xc7 */ + 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* 0xc8-0xcf */ + 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* 0xd0-0xd7 */ + 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0x4a, 0xae, 0x59, /* 0xd8-0xdf */ + 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* 0xe0-0xe7 */ + 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* 0xe8-0xef */ + 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* 0xf0-0xf7 */ + 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf, /* 0xf8-0xff */ +}; +static const unsigned char ebcdic924_page01[48] = { + 0x00, 0x00, 0xb7, 0xb8, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ + 0x6a, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ + 0xb9, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x9d, 0x00, /* 0x78-0x7f */ +}; + +static int +ebcdic924_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) +{ + unsigned char c = 0; + if (wc < 0x0100) + c = ebcdic924_page00[wc]; + else if (wc >= 0x0150 && wc < 0x0180) + c = ebcdic924_page01[wc-0x0150]; + else if (wc == 0x20ac) + c = 0x9f; + if (c != 0 || wc == 0) { + *r = c; + return 1; + } + return RET_ILUNI; +} diff --git a/source/lib/encodings.def b/source/lib/encodings.def index 402b5e3..41d8063 100644 --- a/source/lib/encodings.def +++ b/source/lib/encodings.def @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/lib/encodings_aix.def b/source/lib/encodings_aix.def index e53b565..0a065f7 100644 --- a/source/lib/encodings_aix.def +++ b/source/lib/encodings_aix.def @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/lib/encodings_dos.def b/source/lib/encodings_dos.def index 595c985..ae8cc55 100644 --- a/source/lib/encodings_dos.def +++ b/source/lib/encodings_dos.def @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/lib/encodings_extra.def b/source/lib/encodings_extra.def index 75e37a8..a72f690 100644 --- a/source/lib/encodings_extra.def +++ b/source/lib/encodings_extra.def @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/lib/encodings_local.def b/source/lib/encodings_local.def index 0484477..4cbff9e 100644 --- a/source/lib/encodings_local.def +++ b/source/lib/encodings_local.def @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/lib/encodings_osf1.def b/source/lib/encodings_osf1.def index d791a96..0ca581a 100644 --- a/source/lib/encodings_osf1.def +++ b/source/lib/encodings_osf1.def @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/lib/encodings_zos.def b/source/lib/encodings_zos.def new file mode 100644 index 0000000..838b6be --- /dev/null +++ b/source/lib/encodings_zos.def @@ -0,0 +1,471 @@ +/* Copyright (C) 2022 Free Software Foundation, Inc. + This file is part of the GNU LIBICONV Library. + + The GNU LIBICONV 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 LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + If not, see . */ + +/* Encodings used by system dependent locales on z/OS. */ + +DEFENCODING(( "IBM-037", + "IBM037", /* IANA */ + "CP037", /* IANA */ + "EBCDIC-CP-US", /* IANA */ + "EBCDIC-CP-CA", /* IANA */ + "EBCDIC-CP-WT", /* IANA */ + "EBCDIC-CP-NL", /* IANA */ + "csIBM037", /* IANA */ + ), + ebcdic037, + { ebcdic037_mbtowc, NULL }, { ebcdic037_wctomb, NULL }) + +DEFENCODING(( "IBM-273", + "IBM273", /* IANA */ + "CP273", /* IANA */ + "csIBM273", /* IANA */ + ), + ebcdic273, + { ebcdic273_mbtowc, NULL }, { ebcdic273_wctomb, NULL }) + +DEFENCODING(( "IBM-277", + "IBM277", /* IANA */ + "EBCDIC-CP-DK", /* IANA */ + "EBCDIC-CP-NO", /* IANA */ + "csIBM277", /* IANA */ + ), + ebcdic277, + { ebcdic277_mbtowc, NULL }, { ebcdic277_wctomb, NULL }) + +DEFENCODING(( "IBM-278", + "IBM278", /* IANA */ + "CP278", /* IANA */ + "EBCDIC-CP-FI", /* IANA */ + "EBCDIC-CP-SE", /* IANA */ + "csIBM278", /* IANA */ + ), + ebcdic278, + { ebcdic278_mbtowc, NULL }, { ebcdic278_wctomb, NULL }) + +DEFENCODING(( "IBM-280", + "IBM280", /* IANA */ + "CP280", /* IANA */ + "EBCDIC-CP-IT", /* IANA */ + "csIBM280", /* IANA */ + ), + ebcdic280, + { ebcdic280_mbtowc, NULL }, { ebcdic280_wctomb, NULL }) + +DEFENCODING(( "IBM-282", + "IBM282", + ), + ebcdic282, + { ebcdic282_mbtowc, NULL }, { ebcdic282_wctomb, NULL }) + +DEFENCODING(( "IBM-284", + "IBM284", /* IANA */ + "CP284", /* IANA */ + "EBCDIC-CP-ES", /* IANA */ + "csIBM284", /* IANA */ + ), + ebcdic284, + { ebcdic284_mbtowc, NULL }, { ebcdic284_wctomb, NULL }) + +DEFENCODING(( "IBM-285", + "IBM285", /* IANA */ + "CP285", /* IANA */ + "EBCDIC-CP-GB", /* IANA */ + "csIBM285", /* IANA */ + ), + ebcdic285, + { ebcdic285_mbtowc, NULL }, { ebcdic285_wctomb, NULL }) + +DEFENCODING(( "IBM-297", + "IBM297", /* IANA */ + "CP297", /* IANA */ + "EBCDIC-CP-FR", /* IANA */ + "csIBM297", /* IANA */ + ), + ebcdic297, + { ebcdic297_mbtowc, NULL }, { ebcdic297_wctomb, NULL }) + +DEFENCODING(( "IBM-423", + "IBM423", /* IANA */ + "CP423", /* IANA */ + "EBCDIC-CP-GR", /* IANA */ + "csIBM423", /* IANA */ + ), + ebcdic423, + { ebcdic423_mbtowc, NULL }, { ebcdic423_wctomb, NULL }) + +DEFENCODING(( "IBM-424", + "IBM424", /* IANA */ + "CP424", /* IANA */ + "EBCDIC-CP-HE", /* IANA */ + "csIBM424", /* IANA */ + ), + ebcdic424, + { ebcdic424_mbtowc, NULL }, { ebcdic424_wctomb, NULL }) + +DEFENCODING(( "IBM-425", + "IBM425", + ), + ebcdic425, + { ebcdic425_mbtowc, NULL }, { ebcdic425_wctomb, NULL }) + +DEFENCODING(( "IBM-500", + "IBM500", /* IANA */ + "CP500", /* IANA */ + "EBCDIC-CP-BE", /* IANA */ + "EBCDIC-CP-CH", /* IANA */ + "csIBM500", /* IANA */ + ), + ebcdic500, + { ebcdic500_mbtowc, NULL }, { ebcdic500_wctomb, NULL }) + +DEFENCODING(( "IBM-838", + "IBM838", + "IBM-THAI", /* IANA */ + "csIBMThai", /* IANA */ + ), + ebcdic838, + { ebcdic838_mbtowc, NULL }, { ebcdic838_wctomb, NULL }) + +DEFENCODING(( "IBM-870", + "IBM870", /* IANA */ + "CP870", /* IANA */ + "EBCDIC-CP-ROECE", /* IANA */ + "EBCDIC-CP-YU", /* IANA */ + "csIBM870", /* IANA */ + ), + ebcdic870, + { ebcdic870_mbtowc, NULL }, { ebcdic870_wctomb, NULL }) + +DEFENCODING(( "IBM-871", + "IBM871", /* IANA */ + "CP871", /* IANA */ + "EBCDIC-CP-IS", /* IANA */ + "csIBM871", /* IANA */ + ), + ebcdic871, + { ebcdic871_mbtowc, NULL }, { ebcdic871_wctomb, NULL }) + +DEFENCODING(( "IBM-875", + "IBM875", /* glibc */ + "CP875", /* glibc */ + "EBCDIC-GREEK", /* glibc */ + ), + ebcdic875, + { ebcdic875_mbtowc, NULL }, { ebcdic875_wctomb, NULL }) + +DEFENCODING(( "IBM-880", + "IBM880", /* IANA */ + "CP880", /* IANA */ + "EBCDIC-CYRILLIC", /* IANA */ + "csIBM880", /* IANA */ + ), + ebcdic880, + { ebcdic880_mbtowc, NULL }, { ebcdic880_wctomb, NULL }) + +DEFENCODING(( "IBM-905", + "IBM905", /* IANA */ + "CP905", /* IANA */ + "EBCDIC-CP-TR", /* IANA */ + "csIBM905", /* IANA */ + ), + ebcdic905, + { ebcdic905_mbtowc, NULL }, { ebcdic905_wctomb, NULL }) + +DEFENCODING(( "IBM-924", + "IBM924", + "IBM00924", /* IANA */ + "CCSID00924", /* IANA */ + "CP00924", /* IANA */ + "EBCDIC-LATIN9-EURO", /* IANA */ + "csIBM00924", /* IANA */ + ), + ebcdic924, + { ebcdic924_mbtowc, NULL }, { ebcdic924_wctomb, NULL }) + +DEFENCODING(( "IBM-1025", + "IBM1025", /* glibc */ + "CP1025", /* glibc */ + ), + ebcdic1025, + { ebcdic1025_mbtowc, NULL }, { ebcdic1025_wctomb, NULL }) + +DEFENCODING(( "IBM-1026", + "IBM1026", /* IANA */ + "CP1026", /* IANA */ + "csIBM1026", /* IANA */ + ), + ebcdic1026, + { ebcdic1026_mbtowc, NULL }, { ebcdic1026_wctomb, NULL }) + +DEFENCODING(( "IBM-1047", /* IANA */ + "IBM1047", /* IANA */ + "CP1047", /* glibc */ + "csIBM1047", /* IANA */ + ), + ebcdic1047, + { ebcdic1047_mbtowc, NULL }, { ebcdic1047_wctomb, NULL }) + +DEFENCODING(( "IBM-1097", + "IBM1097", /* glibc */ + "CP1097", /* glibc */ + ), + ebcdic1097, + { ebcdic1097_mbtowc, NULL }, { ebcdic1097_wctomb, NULL }) + +DEFENCODING(( "IBM-1112", + "IBM1112", /* glibc */ + "CP1112", /* glibc */ + ), + ebcdic1112, + { ebcdic1112_mbtowc, NULL }, { ebcdic1112_wctomb, NULL }) + +DEFENCODING(( "IBM-1122", + "IBM1122", /* glibc */ + "CP1122", /* glibc */ + ), + ebcdic1122, + { ebcdic1122_mbtowc, NULL }, { ebcdic1122_wctomb, NULL }) + +DEFENCODING(( "IBM-1123", + "IBM1123", /* glibc */ + "CP1123", /* glibc */ + ), + ebcdic1123, + { ebcdic1123_mbtowc, NULL }, { ebcdic1123_wctomb, NULL }) + +DEFENCODING(( "IBM-1130", + "IBM1130", /* glibc */ + "CP1130", /* glibc */ + ), + ebcdic1130, + { ebcdic1130_mbtowc, NULL }, { ebcdic1130_wctomb, NULL }) + +DEFENCODING(( "IBM-1132", + "IBM1132", /* glibc */ + "CP1132", /* glibc */ + ), + ebcdic1132, + { ebcdic1132_mbtowc, NULL }, { ebcdic1132_wctomb, NULL }) + +DEFENCODING(( "IBM-1137", + "IBM1137", /* glibc */ + "CP1137", /* glibc */ + ), + ebcdic1137, + { ebcdic1137_mbtowc, NULL }, { ebcdic1137_wctomb, NULL }) + +DEFENCODING(( "IBM-1140", + "IBM1140", + "IBM01140", /* IANA */ + "CCSID01140", /* IANA */ + "CP01140", /* IANA */ + "EBCDIC-US-37+EURO", /* IANA */ + "csIBM01140", /* IANA */ + ), + ebcdic1140, + { ebcdic1140_mbtowc, NULL }, { ebcdic1140_wctomb, NULL }) + +DEFENCODING(( "IBM-1141", + "IBM1141", + "IBM01141", /* IANA */ + "CCSID01141", /* IANA */ + "CP01141", /* IANA */ + "EBCDIC-DE-273+EURO", /* IANA */ + "csIBM01141", /* IANA */ + ), + ebcdic1141, + { ebcdic1141_mbtowc, NULL }, { ebcdic1141_wctomb, NULL }) + +DEFENCODING(( "IBM-1142", + "IBM1142", + "IBM01142", /* IANA */ + "CCSID01142", /* IANA */ + "CP01142", /* IANA */ + "EBCDIC-DK-277+EURO", /* IANA */ + "EBCDIC-NO-277+EURO", /* IANA */ + "csIBM01142", /* IANA */ + ), + ebcdic1142, + { ebcdic1142_mbtowc, NULL }, { ebcdic1142_wctomb, NULL }) + +DEFENCODING(( "IBM-1143", + "IBM1143", + "IBM01143", /* IANA */ + "CCSID01143", /* IANA */ + "CP01143", /* IANA */ + "EBCDIC-FI-278+EURO", /* IANA */ + "EBCDIC-SE-278+EURO", /* IANA */ + "csIBM01143", /* IANA */ + ), + ebcdic1143, + { ebcdic1143_mbtowc, NULL }, { ebcdic1143_wctomb, NULL }) + +DEFENCODING(( "IBM-1144", + "IBM1144", + "IBM01144", /* IANA */ + "CCSID01144", /* IANA */ + "CP01144", /* IANA */ + "EBCDIC-IT-280+EURO", /* IANA */ + "csPC8CodePage1144", /* IANA */ + ), + ebcdic1144, + { ebcdic1144_mbtowc, NULL }, { ebcdic1144_wctomb, NULL }) + +DEFENCODING(( "IBM-1145", + "IBM1145", + "IBM01145", /* IANA */ + "CCSID01145", /* IANA */ + "CP01145", /* IANA */ + "EBCDIC-ES-284+EURO", /* IANA */ + "csIBM01145", /* IANA */ + ), + ebcdic1145, + { ebcdic1145_mbtowc, NULL }, { ebcdic1145_wctomb, NULL }) + +DEFENCODING(( "IBM-1146", + "IBM1146", + "IBM01146", /* IANA */ + "CCSID01146", /* IANA */ + "CP01146", /* IANA */ + "EBCDIC-GB-285+EURO", /* IANA */ + "csPC8CodePage1146", /* IANA */ + ), + ebcdic1146, + { ebcdic1146_mbtowc, NULL }, { ebcdic1146_wctomb, NULL }) + +DEFENCODING(( "IBM-1147", + "IBM1147", + "IBM01147", /* IANA */ + "CCSID01147", /* IANA */ + "CP01147", /* IANA */ + "EBCDIC-FR-297+EURO", /* IANA */ + "csIBM01147", /* IANA */ + ), + ebcdic1147, + { ebcdic1147_mbtowc, NULL }, { ebcdic1147_wctomb, NULL }) + +DEFENCODING(( "IBM-1148", + "IBM1148", + "IBM01148", /* IANA */ + "CCSID01148", /* IANA */ + "CP01148", /* IANA */ + "EBCDIC-INTERNATIONAL-500+EURO", /* IANA */ + "csIBM01148", /* IANA */ + ), + ebcdic1148, + { ebcdic1148_mbtowc, NULL }, { ebcdic1148_wctomb, NULL }) + +DEFENCODING(( "IBM-1149", + "IBM1149", + "IBM01149", /* IANA */ + "CCSID01149", /* IANA */ + "CP01149", /* IANA */ + "EBCDIC-IS-871+EURO", /* IANA */ + "csIBM01149", /* IANA */ + ), + ebcdic1149, + { ebcdic1149_mbtowc, NULL }, { ebcdic1149_wctomb, NULL }) + +DEFENCODING(( "IBM-1153", + "IBM1153", /* glibc */ + "CP1153", /* glibc */ + ), + ebcdic1153, + { ebcdic1153_mbtowc, NULL }, { ebcdic1153_wctomb, NULL }) + +DEFENCODING(( "IBM-1154", + "IBM1154", /* glibc */ + "CP1154", /* glibc */ + ), + ebcdic1154, + { ebcdic1154_mbtowc, NULL }, { ebcdic1154_wctomb, NULL }) + +DEFENCODING(( "IBM-1155", + "IBM1155", /* glibc */ + "CP1155", /* glibc */ + ), + ebcdic1155, + { ebcdic1155_mbtowc, NULL }, { ebcdic1155_wctomb, NULL }) + +DEFENCODING(( "IBM-1156", + "IBM1156", /* glibc */ + "CP1156", /* glibc */ + ), + ebcdic1156, + { ebcdic1156_mbtowc, NULL }, { ebcdic1156_wctomb, NULL }) + +DEFENCODING(( "IBM-1157", + "IBM1157", /* glibc */ + "CP1157", /* glibc */ + ), + ebcdic1157, + { ebcdic1157_mbtowc, NULL }, { ebcdic1157_wctomb, NULL }) + +DEFENCODING(( "IBM-1158", + "IBM1158", /* glibc */ + "CP1158", /* glibc */ + ), + ebcdic1158, + { ebcdic1158_mbtowc, NULL }, { ebcdic1158_wctomb, NULL }) + +DEFENCODING(( "IBM-1160", + "IBM1160", /* glibc */ + "CP1160", /* glibc */ + ), + ebcdic1160, + { ebcdic1160_mbtowc, NULL }, { ebcdic1160_wctomb, NULL }) + +DEFENCODING(( "IBM-1164", + "IBM1164", /* glibc */ + "CP1164", /* glibc */ + ), + ebcdic1164, + { ebcdic1164_mbtowc, NULL }, { ebcdic1164_wctomb, NULL }) + +DEFENCODING(( "IBM-1165", + "IBM1165", + ), + ebcdic1165, + { ebcdic1165_mbtowc, NULL }, { ebcdic1165_wctomb, NULL }) + +DEFENCODING(( "IBM-1166", + "IBM1166", /* glibc */ + "CP1166", /* glibc */ + ), + ebcdic1166, + { ebcdic1166_mbtowc, NULL }, { ebcdic1166_wctomb, NULL }) + +DEFENCODING(( "IBM-4971", + "IBM4971", /* glibc */ + "CP4971", /* glibc */ + ), + ebcdic4971, + { ebcdic4971_mbtowc, NULL }, { ebcdic4971_wctomb, NULL }) + +DEFENCODING(( "IBM-12712", + "IBM12712", /* glibc */ + "CP12712", /* glibc */ + ), + ebcdic12712, + { ebcdic12712_mbtowc, NULL }, { ebcdic12712_wctomb, NULL }) + +DEFENCODING(( "IBM-16804", + "IBM16804", /* glibc */ + "CP16804", /* glibc */ + ), + ebcdic16804, + { ebcdic16804_mbtowc, NULL }, { ebcdic16804_wctomb, NULL }) diff --git a/source/lib/euc_cn.h b/source/lib/euc_cn.h index b37a996..d698617 100644 --- a/source/lib/euc_cn.h +++ b/source/lib/euc_cn.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/euc_jisx0213.h b/source/lib/euc_jisx0213.h index fa8f654..49becad 100644 --- a/source/lib/euc_jisx0213.h +++ b/source/lib/euc_jisx0213.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/euc_jp.h b/source/lib/euc_jp.h index 66c9098..f147c47 100644 --- a/source/lib/euc_jp.h +++ b/source/lib/euc_jp.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/euc_kr.h b/source/lib/euc_kr.h index 5771fe5..2687f88 100644 --- a/source/lib/euc_kr.h +++ b/source/lib/euc_kr.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/euc_tw.h b/source/lib/euc_tw.h index e35f7f2..4fd4e14 100644 --- a/source/lib/euc_tw.h +++ b/source/lib/euc_tw.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/flags.h b/source/lib/flags.h index 19de638..2bb0388 100644 --- a/source/lib/flags.h +++ b/source/lib/flags.h @@ -149,6 +149,59 @@ #define ei_cp865_oflags (0) #define ei_cp869_oflags (HAVE_QUOTATION_MARKS) #define ei_cp1125_oflags (0) +#define ei_ebcdic037_oflags (HAVE_ACCENTS) +#define ei_ebcdic273_oflags (HAVE_ACCENTS) +#define ei_ebcdic277_oflags (HAVE_ACCENTS) +#define ei_ebcdic278_oflags (HAVE_ACCENTS) +#define ei_ebcdic280_oflags (HAVE_ACCENTS) +#define ei_ebcdic282_oflags (HAVE_ACCENTS) +#define ei_ebcdic284_oflags (HAVE_ACCENTS) +#define ei_ebcdic285_oflags (HAVE_ACCENTS) +#define ei_ebcdic297_oflags (HAVE_ACCENTS) +#define ei_ebcdic423_oflags (HAVE_ACCENTS) +#define ei_ebcdic424_oflags (HAVE_ACCENTS) +#define ei_ebcdic425_oflags (0) +#define ei_ebcdic500_oflags (HAVE_ACCENTS) +#define ei_ebcdic838_oflags (0) +#define ei_ebcdic870_oflags (HAVE_ACCENTS) +#define ei_ebcdic871_oflags (HAVE_ACCENTS) +#define ei_ebcdic875_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) +#define ei_ebcdic880_oflags (0) +#define ei_ebcdic905_oflags (HAVE_ACCENTS) +#define ei_ebcdic924_oflags (0) +#define ei_ebcdic1025_oflags (0) +#define ei_ebcdic1026_oflags (HAVE_ACCENTS) +#define ei_ebcdic1047_oflags (HAVE_ACCENTS) +#define ei_ebcdic1097_oflags (0) +#define ei_ebcdic1112_oflags (0) +#define ei_ebcdic1122_oflags (HAVE_ACCENTS) +#define ei_ebcdic1123_oflags (0) +#define ei_ebcdic1130_oflags (0) +#define ei_ebcdic1132_oflags (0) +#define ei_ebcdic1137_oflags (0) +#define ei_ebcdic1140_oflags (HAVE_ACCENTS) +#define ei_ebcdic1141_oflags (HAVE_ACCENTS) +#define ei_ebcdic1142_oflags (HAVE_ACCENTS) +#define ei_ebcdic1143_oflags (HAVE_ACCENTS) +#define ei_ebcdic1144_oflags (HAVE_ACCENTS) +#define ei_ebcdic1145_oflags (HAVE_ACCENTS) +#define ei_ebcdic1146_oflags (HAVE_ACCENTS) +#define ei_ebcdic1147_oflags (HAVE_ACCENTS) +#define ei_ebcdic1148_oflags (HAVE_ACCENTS) +#define ei_ebcdic1149_oflags (HAVE_ACCENTS) +#define ei_ebcdic1153_oflags (HAVE_ACCENTS) +#define ei_ebcdic1154_oflags (0) +#define ei_ebcdic1155_oflags (HAVE_ACCENTS) +#define ei_ebcdic1156_oflags (0) +#define ei_ebcdic1157_oflags (HAVE_ACCENTS) +#define ei_ebcdic1158_oflags (0) +#define ei_ebcdic1160_oflags (0) +#define ei_ebcdic1164_oflags (0) +#define ei_ebcdic1165_oflags (HAVE_ACCENTS) +#define ei_ebcdic1166_oflags (0) +#define ei_ebcdic4971_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) +#define ei_ebcdic12712_oflags (HAVE_ACCENTS) +#define ei_ebcdic16804_oflags (0) #define ei_euc_jisx0213_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) #define ei_shift_jisx0213_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) #define ei_iso2022_jp3_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS) diff --git a/source/lib/flushwc.h b/source/lib/flushwc.h index 35f192a..ec47fee 100644 --- a/source/lib/flushwc.h +++ b/source/lib/flushwc.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/gb12345.h b/source/lib/gb12345.h index 53f46d3..b8d1eb6 100644 --- a/source/lib/gb12345.h +++ b/source/lib/gb12345.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/gb12345ext.h b/source/lib/gb12345ext.h index 53ec0e1..1e9e2fd 100644 --- a/source/lib/gb12345ext.h +++ b/source/lib/gb12345ext.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/gb18030.h b/source/lib/gb18030.h index c58042d..fc08b36 100644 --- a/source/lib/gb18030.h +++ b/source/lib/gb18030.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/gb18030ext.h b/source/lib/gb18030ext.h index 0469e5e..62d9a27 100644 --- a/source/lib/gb18030ext.h +++ b/source/lib/gb18030ext.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/gb18030uni.h b/source/lib/gb18030uni.h index d79e143..c61ae89 100644 --- a/source/lib/gb18030uni.h +++ b/source/lib/gb18030uni.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/gb2312.h b/source/lib/gb2312.h index 0fc7fba..fb0621a 100644 --- a/source/lib/gb2312.h +++ b/source/lib/gb2312.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/gbk.h b/source/lib/gbk.h index a0658d4..7ed3509 100644 --- a/source/lib/gbk.h +++ b/source/lib/gbk.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/gbkext1.h b/source/lib/gbkext1.h index c6f33b1..7aac6c7 100644 --- a/source/lib/gbkext1.h +++ b/source/lib/gbkext1.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/gbkext2.h b/source/lib/gbkext2.h index 8f5c462..af19aa5 100644 --- a/source/lib/gbkext2.h +++ b/source/lib/gbkext2.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/gbkext_inv.h b/source/lib/gbkext_inv.h index 40d2657..eeb76e4 100644 --- a/source/lib/gbkext_inv.h +++ b/source/lib/gbkext_inv.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/genaliases.c b/source/lib/genaliases.c index 30aa5e7..de7d705 100644 --- a/source/lib/genaliases.c +++ b/source/lib/genaliases.c @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/lib/genaliases2.c b/source/lib/genaliases2.c index c5f5085..51a951c 100644 --- a/source/lib/genaliases2.c +++ b/source/lib/genaliases2.c @@ -1,17 +1,17 @@ -/* Copyright (C) 1999-2003, 2005, 2008, 2012 Free Software Foundation, Inc. +/* Copyright (C) 1999-2003, 2005, 2008, 2012, 2022 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ @@ -93,6 +93,9 @@ int main (int argc, char* argv[]) #ifdef USE_DOS #include "encodings_dos.def" #endif +#ifdef USE_ZOS +#include "encodings_zos.def" +#endif #ifdef USE_EXTRA #include "encodings_extra.def" #endif diff --git a/source/lib/genflags.c b/source/lib/genflags.c index c21e88d..66732be 100644 --- a/source/lib/genflags.c +++ b/source/lib/genflags.c @@ -1,17 +1,17 @@ -/* Copyright (C) 2000-2002, 2005-2006, 2008-2009, 2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2002, 2005-2006, 2008-2009, 2016, 2022 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ @@ -31,6 +31,7 @@ #define USE_AIX #define USE_OSF1 #define USE_DOS +#define USE_ZOS #define USE_EXTRA struct loop_funcs {}; @@ -109,6 +110,7 @@ int main () #include "encodings_aix.def" #include "encodings_osf1.def" #include "encodings_dos.def" +#include "encodings_zos.def" #include "encodings_extra.def" #undef DEFALIAS #undef DEFENCODING diff --git a/source/lib/gentranslit.c b/source/lib/gentranslit.c index 5d0d84f..b9ee780 100644 --- a/source/lib/gentranslit.c +++ b/source/lib/gentranslit.c @@ -1,17 +1,17 @@ -/* Copyright (C) 1999-2003, 2005, 2011-2012, 2016, 2018 Free Software Foundation, Inc. +/* Copyright (C) 1999-2003, 2005, 2011-2012, 2016, 2018, 2020 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ @@ -46,16 +46,16 @@ int main (int argc, char *argv[]) printf(" * This file is part of the GNU LIBICONV Library.\n"); printf(" *\n"); printf(" * The GNU LIBICONV Library is free software; you can redistribute it\n"); - printf(" * and/or modify it under the terms of the GNU Library General Public\n"); + printf(" * and/or modify it under the terms of the GNU Lesser General Public\n"); printf(" * License as published by the Free Software Foundation; either version 2\n"); printf(" * of the License, or (at your option) any later version.\n"); printf(" *\n"); printf(" * The GNU LIBICONV Library is distributed in the hope that it will be\n"); printf(" * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of\n"); printf(" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"); - printf(" * Library General Public License for more details.\n"); + printf(" * Lesser General Public License for more details.\n"); printf(" *\n"); - printf(" * You should have received a copy of the GNU Library General Public\n"); + printf(" * You should have received a copy of the GNU Lesser General Public\n"); printf(" * License along with the GNU LIBICONV Library; see the file COPYING.LIB.\n"); printf(" * If not, see .\n"); printf(" */\n"); @@ -182,10 +182,16 @@ int main (int argc, char *argv[]) if (tables[t].usecount > 1) { char* s; if (p == tables[t].minline >> 5) { + i++; + /* i is the number of tables with the same (tables[t].minline >> 5) + that we have seen so far. Since the tables[t].minline values are + strongly monotonically increasing, there are at most 32 of them. */ + if (!(i >= 0 && i <= 32)) abort(); s = (char*) malloc(4+1+2+1); - sprintf(s, "%02x_%d", p, ++i); + sprintf(s, "%02x_%d", p, i); } else { p = tables[t].minline >> 5; + i = 0; s = (char*) malloc(4+1); sprintf(s, "%02x", p); } diff --git a/source/lib/georgian_academy.h b/source/lib/georgian_academy.h index fa283a0..ff00fd3 100644 --- a/source/lib/georgian_academy.h +++ b/source/lib/georgian_academy.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/georgian_ps.h b/source/lib/georgian_ps.h index 0ad8b82..2809f94 100644 --- a/source/lib/georgian_ps.h +++ b/source/lib/georgian_ps.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/hkscs1999.h b/source/lib/hkscs1999.h index 8e1d39d..91607d7 100644 --- a/source/lib/hkscs1999.h +++ b/source/lib/hkscs1999.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/hkscs2001.h b/source/lib/hkscs2001.h index c805415..6cfd3d5 100644 --- a/source/lib/hkscs2001.h +++ b/source/lib/hkscs2001.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/hkscs2004.h b/source/lib/hkscs2004.h index fa1a1bf..943a0b7 100644 --- a/source/lib/hkscs2004.h +++ b/source/lib/hkscs2004.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/hkscs2008.h b/source/lib/hkscs2008.h index 58ebb2a..656b778 100644 --- a/source/lib/hkscs2008.h +++ b/source/lib/hkscs2008.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/hp_roman8.h b/source/lib/hp_roman8.h index 6ff1639..671a166 100644 --- a/source/lib/hp_roman8.h +++ b/source/lib/hp_roman8.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/hz.h b/source/lib/hz.h index a619190..9e78518 100644 --- a/source/lib/hz.h +++ b/source/lib/hz.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iconv.c b/source/lib/iconv.c index b920820..673457e 100644 --- a/source/lib/iconv.c +++ b/source/lib/iconv.c @@ -1,26 +1,23 @@ /* - * Copyright (C) 1999-2008, 2011, 2016, 2018 Free Software Foundation, Inc. + * Copyright (C) 1999-2008, 2011, 2016, 2018, 2020, 2022 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ #include -#ifndef ICONV_CONST -# define ICONV_CONST -#endif #include #include @@ -40,6 +37,7 @@ #define USE_AIX #define USE_OSF1 #define USE_DOS +#define USE_ZOS #define USE_EXTRA #else /* @@ -55,6 +53,11 @@ #if defined(__DJGPP__) || (defined(_WIN32) && (defined(_MSC_VER) || defined(__MINGW32__))) #define USE_DOS #endif +/* Enable the EBCDIC encodings not only on z/OS but also on Linux/s390, for + easier interoperability between z/OS and Linux/s390. */ +#if defined(__MVS__) || (defined(__linux__) && (defined(__s390__) || defined(__s390x__))) +#define USE_ZOS +#endif #endif /* @@ -101,6 +104,9 @@ enum { #ifdef USE_DOS # include "encodings_dos.def" #endif +#ifdef USE_ZOS +# include "encodings_zos.def" +#endif #ifdef USE_EXTRA # include "encodings_extra.def" #endif @@ -122,6 +128,9 @@ static struct encoding const all_encodings[] = { #ifdef USE_DOS # include "encodings_dos.def" #endif +#ifdef USE_ZOS +# include "encodings_zos.def" +#endif #ifdef USE_EXTRA # include "encodings_extra.def" #endif @@ -162,7 +171,7 @@ static struct encoding const all_encodings[] = { * Defines * const struct alias * aliases2_lookup (const char *str); */ -#if defined(USE_AIX) || defined(USE_OSF1) || defined(USE_DOS) || defined(USE_EXTRA) /* || ... */ +#if defined(USE_AIX) || defined(USE_OSF1) || defined(USE_DOS) || defined(USE_ZOS) || defined(USE_EXTRA) /* || ... */ struct stringpool2_t { #define S(tag,name,encoding_index) char stringpool_##tag[sizeof(name)]; #include "aliases2.h" @@ -175,7 +184,7 @@ static const struct stringpool2_t stringpool2_contents = { }; #define stringpool2 ((const char *) &stringpool2_contents) static const struct alias sysdep_aliases[] = { -#define S(tag,name,encoding_index) { (int)(INT_PTR)&((struct stringpool2_t *)0)->stringpool_##tag, encoding_index }, +#define S(tag,name,encoding_index) { (int)(long)&((struct stringpool2_t *)0)->stringpool_##tag, encoding_index }, #include "aliases2.h" #undef S }; @@ -367,8 +376,8 @@ static int compare_by_index (const void * arg1, const void * arg2) static int compare_by_name (const void * arg1, const void * arg2) { - const char * name1 = *(const char **)arg1; - const char * name2 = *(const char **)arg2; + const char * name1 = *(const char * const *)arg1; + const char * name2 = *(const char * const *)arg2; /* Compare alphabetically, but put "CS" names at the end. */ int sign = strcmp(name1,name2); if (sign != 0) { @@ -475,6 +484,9 @@ static const unsigned short all_canonical[] = { #ifdef USE_DOS # include "canonical_dos.h" #endif +#ifdef USE_ZOS +# include "canonical_zos.h" +#endif #ifdef USE_EXTRA # include "canonical_extra.h" #endif @@ -510,7 +522,7 @@ const char * iconv_canonicalize (const char * name) for (code = name;;) { /* Search code in the table. */ for (cp = code, bp = buf, count = MAX_WORD_LENGTH+10+1; ; cp++, bp++) { - unsigned char c = * (unsigned char *) cp; + unsigned char c = (unsigned char) *cp; if (c >= 0x80) goto invalid; if (c >= 'a' && c <= 'z') diff --git a/source/lib/iconv_open1.h b/source/lib/iconv_open1.h index 93b8419..c6b24ef 100644 --- a/source/lib/iconv_open1.h +++ b/source/lib/iconv_open1.h @@ -1,18 +1,18 @@ /* - * Copyright (C) 1999-2008, 2011, 2018 Free Software Foundation, Inc. + * Copyright (C) 1999-2008, 2011, 2018, 2020 Free Software Foundation, Inc. * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ @@ -46,7 +46,7 @@ for (to_wchar = 0;;) { /* Search tocode in the table. */ for (cp = tocode, bp = buf, count = MAX_WORD_LENGTH+10+1; ; cp++, bp++) { - unsigned char c = * (unsigned char *) cp; + unsigned char c = (unsigned char) *cp; if (c >= 0x80) goto invalid; if (c >= 'a' && c <= 'z') @@ -138,7 +138,7 @@ for (from_wchar = 0;;) { /* Search fromcode in the table. */ for (cp = fromcode, bp = buf, count = MAX_WORD_LENGTH+10+1; ; cp++, bp++) { - unsigned char c = * (unsigned char *) cp; + unsigned char c = (unsigned char) *cp; if (c >= 0x80) goto invalid; if (c >= 'a' && c <= 'z') diff --git a/source/lib/iconv_open2.h b/source/lib/iconv_open2.h index e3a566f..aaac547 100644 --- a/source/lib/iconv_open2.h +++ b/source/lib/iconv_open2.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso2022_cn.h b/source/lib/iso2022_cn.h index 4ac4131..800863c 100644 --- a/source/lib/iso2022_cn.h +++ b/source/lib/iso2022_cn.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso2022_cnext.h b/source/lib/iso2022_cnext.h index 7d31864..8e6d309 100644 --- a/source/lib/iso2022_cnext.h +++ b/source/lib/iso2022_cnext.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso2022_jp.h b/source/lib/iso2022_jp.h index 351dc16..cdc0496 100644 --- a/source/lib/iso2022_jp.h +++ b/source/lib/iso2022_jp.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso2022_jp1.h b/source/lib/iso2022_jp1.h index d00fe7e..050184e 100644 --- a/source/lib/iso2022_jp1.h +++ b/source/lib/iso2022_jp1.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso2022_jp2.h b/source/lib/iso2022_jp2.h index 69ad928..2090cc0 100644 --- a/source/lib/iso2022_jp2.h +++ b/source/lib/iso2022_jp2.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso2022_jp3.h b/source/lib/iso2022_jp3.h index e7219a0..9b38f16 100644 --- a/source/lib/iso2022_jp3.h +++ b/source/lib/iso2022_jp3.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso2022_jpms.h b/source/lib/iso2022_jpms.h index 5cc5489..2c42405 100644 --- a/source/lib/iso2022_jpms.h +++ b/source/lib/iso2022_jpms.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso2022_kr.h b/source/lib/iso2022_kr.h index 9aeeacb..0256505 100644 --- a/source/lib/iso2022_kr.h +++ b/source/lib/iso2022_kr.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso646_cn.h b/source/lib/iso646_cn.h index 2f85ea9..3e7e2a0 100644 --- a/source/lib/iso646_cn.h +++ b/source/lib/iso646_cn.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso646_jp.h b/source/lib/iso646_jp.h index f6b5281..189dc73 100644 --- a/source/lib/iso646_jp.h +++ b/source/lib/iso646_jp.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_1.h b/source/lib/iso8859_1.h index a04c049..d6251d9 100644 --- a/source/lib/iso8859_1.h +++ b/source/lib/iso8859_1.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_10.h b/source/lib/iso8859_10.h index 6737c1e..5d47195 100644 --- a/source/lib/iso8859_10.h +++ b/source/lib/iso8859_10.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_11.h b/source/lib/iso8859_11.h index fec42b3..d42de9e 100644 --- a/source/lib/iso8859_11.h +++ b/source/lib/iso8859_11.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_13.h b/source/lib/iso8859_13.h index 061a6af..98df56a 100644 --- a/source/lib/iso8859_13.h +++ b/source/lib/iso8859_13.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_14.h b/source/lib/iso8859_14.h index f88b897..16630d7 100644 --- a/source/lib/iso8859_14.h +++ b/source/lib/iso8859_14.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_15.h b/source/lib/iso8859_15.h index 4a99c24..d3feb89 100644 --- a/source/lib/iso8859_15.h +++ b/source/lib/iso8859_15.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_16.h b/source/lib/iso8859_16.h index 0bd7a2d..cbb112a 100644 --- a/source/lib/iso8859_16.h +++ b/source/lib/iso8859_16.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_2.h b/source/lib/iso8859_2.h index ecd225a..2744bc6 100644 --- a/source/lib/iso8859_2.h +++ b/source/lib/iso8859_2.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_3.h b/source/lib/iso8859_3.h index 5c52631..85dde03 100644 --- a/source/lib/iso8859_3.h +++ b/source/lib/iso8859_3.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_4.h b/source/lib/iso8859_4.h index 8d0af49..50c777c 100644 --- a/source/lib/iso8859_4.h +++ b/source/lib/iso8859_4.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_5.h b/source/lib/iso8859_5.h index 3fdddb4..e56347f 100644 --- a/source/lib/iso8859_5.h +++ b/source/lib/iso8859_5.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_6.h b/source/lib/iso8859_6.h index d0836cf..bbe9370 100644 --- a/source/lib/iso8859_6.h +++ b/source/lib/iso8859_6.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_7.h b/source/lib/iso8859_7.h index c879dd8..3d9b724 100644 --- a/source/lib/iso8859_7.h +++ b/source/lib/iso8859_7.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_8.h b/source/lib/iso8859_8.h index 5a7a638..7e3ba96 100644 --- a/source/lib/iso8859_8.h +++ b/source/lib/iso8859_8.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/iso8859_9.h b/source/lib/iso8859_9.h index 4759c9b..eb09c58 100644 --- a/source/lib/iso8859_9.h +++ b/source/lib/iso8859_9.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/isoir165.h b/source/lib/isoir165.h index 3b17302..28f47e3 100644 --- a/source/lib/isoir165.h +++ b/source/lib/isoir165.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/isoir165ext.h b/source/lib/isoir165ext.h index c00898d..c92cc40 100644 --- a/source/lib/isoir165ext.h +++ b/source/lib/isoir165ext.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/java.h b/source/lib/java.h index e37f28e..841bfa9 100644 --- a/source/lib/java.h +++ b/source/lib/java.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/jisx0201.h b/source/lib/jisx0201.h index 5d2cdf5..739fae6 100644 --- a/source/lib/jisx0201.h +++ b/source/lib/jisx0201.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/jisx0208.h b/source/lib/jisx0208.h index e6fd421..262cd40 100644 --- a/source/lib/jisx0208.h +++ b/source/lib/jisx0208.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/jisx0212.h b/source/lib/jisx0212.h index f78de1b..05fbdc8 100644 --- a/source/lib/jisx0212.h +++ b/source/lib/jisx0212.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/jisx0213.h b/source/lib/jisx0213.h index 455f281..9c0016a 100644 --- a/source/lib/jisx0213.h +++ b/source/lib/jisx0213.h @@ -3,22 +3,22 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ /* - * JISX0213:2000 + * JISX0213:2004 */ #ifndef _JISX0213_H diff --git a/source/lib/johab.h b/source/lib/johab.h index e5b8d3a..6ac624d 100644 --- a/source/lib/johab.h +++ b/source/lib/johab.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/johab_hangul.h b/source/lib/johab_hangul.h index f64792d..1a9bc73 100644 --- a/source/lib/johab_hangul.h +++ b/source/lib/johab_hangul.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/koi8_r.h b/source/lib/koi8_r.h index 46c0473..a60c5fa 100644 --- a/source/lib/koi8_r.h +++ b/source/lib/koi8_r.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/koi8_ru.h b/source/lib/koi8_ru.h index 1120f2b..ee0b033 100644 --- a/source/lib/koi8_ru.h +++ b/source/lib/koi8_ru.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/koi8_t.h b/source/lib/koi8_t.h index 49bb11d..a2e9bf5 100644 --- a/source/lib/koi8_t.h +++ b/source/lib/koi8_t.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/koi8_u.h b/source/lib/koi8_u.h index 6fb2c68..f035b30 100644 --- a/source/lib/koi8_u.h +++ b/source/lib/koi8_u.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ksc5601.h b/source/lib/ksc5601.h index 7de7223..0a0b748 100644 --- a/source/lib/ksc5601.h +++ b/source/lib/ksc5601.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/localcharset.h b/source/lib/localcharset.h deleted file mode 100644 index 06e7bc0..0000000 --- a/source/lib/localcharset.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2003 Free Software Foundation, Inc. - This file is part of the GNU CHARSET Library. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. */ - -#ifndef _LOCALCHARSET_H -#define _LOCALCHARSET_H - -#if 0 && BUILDING_LIBCHARSET -#define LIBCHARSET_DLL_EXPORTED __attribute__((__visibility__("default"))) -#else -#define LIBCHARSET_DLL_EXPORTED -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Determine the current locale's character encoding, and canonicalize it - into one of the canonical names listed in config.charset. - The result must not be freed; it is statically allocated. - If the canonical name cannot be determined, the result is a non-canonical - name. */ -extern LIBCHARSET_DLL_EXPORTED const char * locale_charset (void); - - -#ifdef __cplusplus -} -#endif - - -#endif /* _LOCALCHARSET_H */ diff --git a/source/lib/loop_unicode.h b/source/lib/loop_unicode.h index 82322eb..973e8b7 100644 --- a/source/lib/loop_unicode.h +++ b/source/lib/loop_unicode.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/loop_wchar.h b/source/lib/loop_wchar.h index d5c8f01..b3edc29 100644 --- a/source/lib/loop_wchar.h +++ b/source/lib/loop_wchar.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ @@ -35,10 +35,8 @@ # include # include # define BUF_SIZE 64 /* assume MB_LEN_MAX <= 64 */ -#ifndef _WIN32 /* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ extern size_t mbrtowc (); -#endif # ifdef mbstate_t # define mbrtowc(pwc, s, n, ps) (mbrtowc)(pwc, s, n, 0) # define mbsinit(ps) 1 diff --git a/source/lib/loops.h b/source/lib/loops.h index ec0943d..8125c36 100644 --- a/source/lib/loops.h +++ b/source/lib/loops.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mac_arabic.h b/source/lib/mac_arabic.h index d7e4583..43ea38b 100644 --- a/source/lib/mac_arabic.h +++ b/source/lib/mac_arabic.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mac_centraleurope.h b/source/lib/mac_centraleurope.h index ba7373a..f38cf87 100644 --- a/source/lib/mac_centraleurope.h +++ b/source/lib/mac_centraleurope.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mac_croatian.h b/source/lib/mac_croatian.h index c7f1c66..2b023e2 100644 --- a/source/lib/mac_croatian.h +++ b/source/lib/mac_croatian.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mac_cyrillic.h b/source/lib/mac_cyrillic.h index c209112..41111b0 100644 --- a/source/lib/mac_cyrillic.h +++ b/source/lib/mac_cyrillic.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mac_greek.h b/source/lib/mac_greek.h index 00b4ade..98e9206 100644 --- a/source/lib/mac_greek.h +++ b/source/lib/mac_greek.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mac_hebrew.h b/source/lib/mac_hebrew.h index 4a06f52..d66bd9c 100644 --- a/source/lib/mac_hebrew.h +++ b/source/lib/mac_hebrew.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mac_iceland.h b/source/lib/mac_iceland.h index beac5a3..9a45bbf 100644 --- a/source/lib/mac_iceland.h +++ b/source/lib/mac_iceland.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mac_roman.h b/source/lib/mac_roman.h index d27ee5a..cb126bc 100644 --- a/source/lib/mac_roman.h +++ b/source/lib/mac_roman.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mac_romania.h b/source/lib/mac_romania.h index fd06a97..ac03b1d 100644 --- a/source/lib/mac_romania.h +++ b/source/lib/mac_romania.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mac_thai.h b/source/lib/mac_thai.h index 04b288f..804cc3c 100644 --- a/source/lib/mac_thai.h +++ b/source/lib/mac_thai.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mac_turkish.h b/source/lib/mac_turkish.h index 589640b..b61ed59 100644 --- a/source/lib/mac_turkish.h +++ b/source/lib/mac_turkish.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mac_ukraine.h b/source/lib/mac_ukraine.h index d7bb14f..b83444a 100644 --- a/source/lib/mac_ukraine.h +++ b/source/lib/mac_ukraine.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/mulelao.h b/source/lib/mulelao.h index c3ffbd4..8b92855 100644 --- a/source/lib/mulelao.h +++ b/source/lib/mulelao.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/nextstep.h b/source/lib/nextstep.h index 917fddb..481e621 100644 --- a/source/lib/nextstep.h +++ b/source/lib/nextstep.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/pt154.h b/source/lib/pt154.h index fa3f29b..9e9cec8 100644 --- a/source/lib/pt154.h +++ b/source/lib/pt154.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/relocatable.c b/source/lib/relocatable.c index 60612c8..b65a3be 100644 --- a/source/lib/relocatable.c +++ b/source/lib/relocatable.c @@ -3,16 +3,16 @@ Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published + under the terms of the GNU Lesser 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public License + You should have received a copy of the GNU Lesser General Public License along with this program; if not, see . */ @@ -329,7 +329,7 @@ DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) /* The DLL is being loaded into an application's address range. */ static char location[MAX_PATH]; - if (!GetModuleFileNameA (module_handle, location, sizeof (location))) + if (!GetModuleFileName (module_handle, location, sizeof (location))) /* Shouldn't happen. */ return FALSE; @@ -337,7 +337,7 @@ DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) /* Shouldn't happen. */ return FALSE; - shared_library_fullname = _strdup (location); + shared_library_fullname = strdup (location); } return TRUE; diff --git a/source/lib/relocatable.h b/source/lib/relocatable.h index c296025..57520b8 100644 --- a/source/lib/relocatable.h +++ b/source/lib/relocatable.h @@ -3,16 +3,16 @@ Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published + under the terms of the GNU Lesser 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public License + You should have received a copy of the GNU Lesser General Public License along with this program; if not, see . */ #ifndef _RELOCATABLE_H diff --git a/source/lib/riscos1.h b/source/lib/riscos1.h index beda916..0613d89 100644 --- a/source/lib/riscos1.h +++ b/source/lib/riscos1.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/rk1048.h b/source/lib/rk1048.h index 008ca26..4ffb890 100644 --- a/source/lib/rk1048.h +++ b/source/lib/rk1048.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/shift_jisx0213.h b/source/lib/shift_jisx0213.h index 8e41243..f67dbfc 100644 --- a/source/lib/shift_jisx0213.h +++ b/source/lib/shift_jisx0213.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/sjis.h b/source/lib/sjis.h index fa7dc2a..0dba78c 100644 --- a/source/lib/sjis.h +++ b/source/lib/sjis.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/tcvn.h b/source/lib/tcvn.h index 87a64d7..dd981c4 100644 --- a/source/lib/tcvn.h +++ b/source/lib/tcvn.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/tds565.h b/source/lib/tds565.h index ac89cd8..acb59a9 100644 --- a/source/lib/tds565.h +++ b/source/lib/tds565.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/tis620.h b/source/lib/tis620.h index 56d60c3..b22fa1c 100644 --- a/source/lib/tis620.h +++ b/source/lib/tis620.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/translit.def b/source/lib/translit.def index 4c26959..15a9412 100644 --- a/source/lib/translit.def +++ b/source/lib/translit.def @@ -2,16 +2,16 @@ # This file is part of the GNU LIBICONV Library. # # The GNU LIBICONV Library is free software; you can redistribute it -# and/or modify it under the terms of the GNU Library General Public -# License as published by the Free Software Foundation; either version 2 +# and/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 LIBICONV 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 -# Library General Public License for more details. +# Lesser General Public License for more details. # -# You should have received a copy of the GNU Library General Public +# You should have received a copy of the GNU Lesser General Public # License along with the GNU LIBICONV Library; see the file COPYING.LIB. # If not, see . # diff --git a/source/lib/translit.h b/source/lib/translit.h index 2880f18..a60863a 100644 --- a/source/lib/translit.h +++ b/source/lib/translit.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public + * 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. * * The GNU LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ @@ -3805,7 +3805,7 @@ static const short translit_page1e[160] = { -1, -1, -1, -1, -1, -1, -1, -1, /* 0x90-0x97 */ -1, -1, 742, -1, -1, -1, -1, -1, /* 0x98-0x9f */ }; -static const short translit_page1e_2[8] = { +static const short translit_page1e_1[8] = { -1, -1, 745, 748, -1, -1, -1, -1, /* 0xf0-0xf7 */ }; static const short translit_page20[88] = { @@ -3821,7 +3821,7 @@ static const short translit_page20[88] = { 841, 844, -1, -1, -1, -1, -1, -1, /* 0x48-0x4f */ -1, -1, -1, -1, -1, -1, -1, 847, /* 0x50-0x57 */ }; -static const short translit_page20_3[8] = { +static const short translit_page20_1[8] = { 852, -1, -1, 855, 860, -1, -1, -1, /* 0xa8-0xaf */ }; static const short translit_page21[216] = { @@ -3867,7 +3867,7 @@ static const short translit_page22[96] = { 1210, -1, -1, -1, 1213, 1216, -1, -1, /* 0x60-0x67 */ -1, -1, 1219, 1222, -1, -1, -1, -1, /* 0x68-0x6f */ }; -static const short translit_page22_4[48] = { +static const short translit_page22_1[48] = { -1, -1, -1, -1, -1, 1225, -1, -1, /* 0xc0-0xc7 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xc8-0xcf */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xd0-0xd7 */ @@ -3996,7 +3996,7 @@ static const short translit_page31[96] = { 2699, 2701, 2703, 2705, 2707, 2709, 2711, 2713, /* 0x80-0x87 */ 2715, 2717, 2719, 2721, 2723, 2725, 2727, -1, /* 0x88-0x8f */ }; -static const short translit_page31_5[528] = { +static const short translit_page31_1[528] = { 2729, 2731, 2733, 2735, 2737, 2739, 2741, 2743, /* 0xf0-0xf7 */ 2745, 2747, 2749, 2751, 2753, 2755, 2757, 2759, /* 0xf8-0xff */ /* 0x3200 */ @@ -4384,12 +4384,12 @@ static const short translit_page2f8[544] = { wc >= 0x0eb0 && wc < 0x0ee0 ? translit_page0e[wc-0x0eb0] : \ wc >= 0x0f70 && wc < 0x0f80 ? translit_page0f[wc-0x0f70] : \ wc >= 0x1e00 && wc < 0x1ea0 ? translit_page1e[wc-0x1e00] : \ - wc >= 0x1ef0 && wc < 0x1ef8 ? translit_page1e_2[wc-0x1ef0] : \ + wc >= 0x1ef0 && wc < 0x1ef8 ? translit_page1e_1[wc-0x1ef0] : \ wc >= 0x2000 && wc < 0x2058 ? translit_page20[wc-0x2000] : \ - wc >= 0x20a8 && wc < 0x20b0 ? translit_page20_3[wc-0x20a8] : \ + wc >= 0x20a8 && wc < 0x20b0 ? translit_page20_1[wc-0x20a8] : \ wc >= 0x2100 && wc < 0x21d8 ? translit_page21[wc-0x2100] : \ wc >= 0x2210 && wc < 0x2270 ? translit_page22[wc-0x2210] : \ - wc >= 0x22c0 && wc < 0x22f0 ? translit_page22_4[wc-0x22c0] : \ + wc >= 0x22c0 && wc < 0x22f0 ? translit_page22_1[wc-0x22c0] : \ wc >= 0x2400 && wc < 0x24f0 ? translit_page24[wc-0x2400] : \ wc >= 0x2500 && wc < 0x2540 ? translit_page25[wc-0x2500] : \ wc == 0x25e6 ? 2025 : \ @@ -4400,7 +4400,7 @@ static const short translit_page2f8[544] = { wc >= 0x2f00 && wc < 0x2fd8 ? translit_page2f[wc-0x2f00] : \ wc >= 0x3000 && wc < 0x30f8 ? translit_page30[wc-0x3000] : \ wc >= 0x3130 && wc < 0x3190 ? translit_page31[wc-0x3130] : \ - wc >= 0x31f0 && wc < 0x3400 ? translit_page31_5[wc-0x31f0] : \ + wc >= 0x31f0 && wc < 0x3400 ? translit_page31_1[wc-0x31f0] : \ wc >= 0xf900 && wc < 0xfa70 ? translit_pagef9[wc-0xf900] : \ wc >= 0xfb00 && wc < 0xfb50 ? translit_pagefb[wc-0xfb00] : \ wc >= 0xfe48 && wc < 0xfe70 ? translit_pagefe[wc-0xfe48] : \ diff --git a/source/lib/ucs2.h b/source/lib/ucs2.h index 65b04b0..68769b1 100644 --- a/source/lib/ucs2.h +++ b/source/lib/ucs2.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ucs2be.h b/source/lib/ucs2be.h index 889845c..f11062f 100644 --- a/source/lib/ucs2be.h +++ b/source/lib/ucs2be.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ucs2internal.h b/source/lib/ucs2internal.h index 7b53be1..ffb565f 100644 --- a/source/lib/ucs2internal.h +++ b/source/lib/ucs2internal.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ucs2le.h b/source/lib/ucs2le.h index 4db18c4..51e9e42 100644 --- a/source/lib/ucs2le.h +++ b/source/lib/ucs2le.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ucs2swapped.h b/source/lib/ucs2swapped.h index bf36ee7..ace7e2c 100644 --- a/source/lib/ucs2swapped.h +++ b/source/lib/ucs2swapped.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ucs4.h b/source/lib/ucs4.h index 9ca913d..e7a0c37 100644 --- a/source/lib/ucs4.h +++ b/source/lib/ucs4.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ucs4be.h b/source/lib/ucs4be.h index ba6ea8d..2bbd8cf 100644 --- a/source/lib/ucs4be.h +++ b/source/lib/ucs4be.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ucs4internal.h b/source/lib/ucs4internal.h index 8e6347c..c5bf3e2 100644 --- a/source/lib/ucs4internal.h +++ b/source/lib/ucs4internal.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ucs4le.h b/source/lib/ucs4le.h index 8888a39..e1627c9 100644 --- a/source/lib/ucs4le.h +++ b/source/lib/ucs4le.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/ucs4swapped.h b/source/lib/ucs4swapped.h index cf51565..8ce7c5b 100644 --- a/source/lib/ucs4swapped.h +++ b/source/lib/ucs4swapped.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/uhc_1.h b/source/lib/uhc_1.h index 9cf92d6..1a46477 100644 --- a/source/lib/uhc_1.h +++ b/source/lib/uhc_1.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/uhc_2.h b/source/lib/uhc_2.h index b262cb5..3dd03e6 100644 --- a/source/lib/uhc_2.h +++ b/source/lib/uhc_2.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/utf16.h b/source/lib/utf16.h index 607629b..463c7ab 100644 --- a/source/lib/utf16.h +++ b/source/lib/utf16.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/utf16be.h b/source/lib/utf16be.h index b8a5520..2cfab52 100644 --- a/source/lib/utf16be.h +++ b/source/lib/utf16be.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/utf16le.h b/source/lib/utf16le.h index e7b7ca2..97e94bc 100644 --- a/source/lib/utf16le.h +++ b/source/lib/utf16le.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/utf32.h b/source/lib/utf32.h index 86f410a..9ed5454 100644 --- a/source/lib/utf32.h +++ b/source/lib/utf32.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/utf32be.h b/source/lib/utf32be.h index 1caf45c..1d33772 100644 --- a/source/lib/utf32be.h +++ b/source/lib/utf32be.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/utf32le.h b/source/lib/utf32le.h index 0f907e0..41cf550 100644 --- a/source/lib/utf32le.h +++ b/source/lib/utf32le.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/utf7.h b/source/lib/utf7.h index 62c2b97..6f237ed 100644 --- a/source/lib/utf7.h +++ b/source/lib/utf7.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/utf8.h b/source/lib/utf8.h index 8a48716..43727ea 100644 --- a/source/lib/utf8.h +++ b/source/lib/utf8.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/vietcomb.h b/source/lib/vietcomb.h index c5b0316..ed06d9d 100644 --- a/source/lib/vietcomb.h +++ b/source/lib/vietcomb.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/lib/viscii.h b/source/lib/viscii.h index a298e99..e0802f8 100644 --- a/source/lib/viscii.h +++ b/source/lib/viscii.h @@ -3,16 +3,16 @@ * This file is part of the GNU LIBICONV Library. * * The GNU LIBICONV Library is free software; you can redistribute it - * and/or modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either version 2 + * and/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 LIBICONV 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with the GNU LIBICONV Library; see the file COPYING.LIB. * If not, see . */ diff --git a/source/libcharset/COPYING.LIB b/source/libcharset/COPYING.LIB index 778d0bb..4362b49 100644 --- a/source/libcharset/COPYING.LIB +++ b/source/libcharset/COPYING.LIB @@ -1,112 +1,125 @@ - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 - Copyright (C) 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] - Preamble + Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. - GNU LIBRARY GENERAL PUBLIC LICENSE + GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs @@ -133,7 +146,7 @@ such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. - + 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an @@ -255,7 +268,7 @@ distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. - 6. As an exception to the Sections above, you may also compile or + 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit @@ -282,23 +295,31 @@ of these things: Library will not necessarily be able to recompile the application to use the modified definitions.) - b) Accompany the work with a written offer, valid for at + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. - c) If distribution of the work is made by offering access to copy + d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. - d) Verify that the user has already received a copy of these + e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. @@ -347,7 +368,7 @@ Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to +You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent @@ -390,7 +411,7 @@ excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. +versions of the Lesser General Public 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. @@ -411,7 +432,7 @@ decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - NO WARRANTY + NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. @@ -434,9 +455,9 @@ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - END OF TERMS AND CONDITIONS + END OF TERMS AND CONDITIONS - Appendix: How to Apply These Terms to Your New Libraries + How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that @@ -453,19 +474,18 @@ convey the exclusion of warranty; and each file should have at least the Copyright (C) This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public + 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. + version 2.1 of the License, or (at your option) any later version. This 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - MA 02110-1301, USA + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. diff --git a/source/libcharset/ChangeLog b/source/libcharset/ChangeLog index 079cb0a..9a9912b 100644 --- a/source/libcharset/ChangeLog +++ b/source/libcharset/ChangeLog @@ -1,3 +1,102 @@ +2022-05-15 Bruno Haible + + Switch to libtool 2.4.7. + * m4/libtool.m4: Update from libtool-2.4.7, with modifications: + 2008-04-06 Bruno Haible + * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use + CONFIG_SHELL; don't assume that the Makefile.in will set SHELL + to ${CONFIG_SHELL}. + * m4/ltoptions.m4: Likewise. + * m4/ltsugar.m4: Likewise. + * m4/ltversion.m4: Likewise. + * m4/lt~obsolete.m4: Likewise. + * build-aux/ltmain.sh: Update from libtool-2.4.7, with modifications: + 2017-07-15 Bruno Haible + Allow building statically linked binaries, through + LDFLAGS="-static". Apply patch from + . + * build-aux/ltmain.sh (func_mode_help, func_mode_link): In the + link mode, accept option '-static-uninstalled-libs' in place of + '-static', and make '-static' an equivalent of '-all-static'. + +2022-02-12 Bruno Haible + + build: Remove leftover file (regression 2019-06-30). + * Makefile.in (distclean, maintainer-clean): Remove + include/libcharset.h.inst. + +2021-02-07 Bruno Haible + + Support creating shared libraries on MidnightBSD. + Patch from . + * m4/libtool.m4: Treat MidnightBSD like FreeBSD. + * build-aux/ltmain.sh: Likewise. + +2021-01-31 Bruno Haible + + Switch to autoconf 2.71. + * autogen.sh: Update comment. + +2020-12-08 Bruno Haible + + Switch to autoconf 2.70. + * Makefile.devel (AUTOCONF, AUTOHEADER): Remove '-2.69' suffix. + * autogen.sh: Update comment. + +2020-08-29 Bruno Haible + + Update after gnulib changed. + * configure.ac (AC_PREREQ): Bump minimum Autoconf version to 2.64. + +2019-12-23 Bruno Haible + + Allow libiconv to export the symbol 'locale_charset'. + * Makefile.in (install-lib): Install localcharset.h, not + localcharset.h.inst. + +2019-12-22 Bruno Haible + + Mark a new version. + * configure.ac: Bump version to 1.5. + * NEWS: Mention fixes. + +2019-12-22 Bruno Haible + + Update from gnulib. + * include/localcharset.h.in: Update from gnulib. + 2019-12-20 Bruno Haible + * localcharset.h: Mention which encodings are used as locale + encodings on z/OS. + 2019-12-17 Bruno Haible + * localcharset.h (locale_charset): Clarify when the result + becomes invalid. + +2019-12-02 Bruno Haible + + build: Fix build error with --enable-relocatable on macOS + (regression from 2019-03-04). + Reported by Roy Belio . + * Makefile.in (PARENT_IMPORTED_FILES): Add libtool-reloc. + +2019-07-02 Bruno Haible + + Drop unused macro gl_GLIBC21. + * configure.ac: Don't invoke gl_GLIBC21. + * Makefile.in (PARENT_IMPORTED_FILES): Remove m4/glibc21.m4. + * INTEGRATE: Update. + +2019-06-30 Bruno Haible + + Fix build error with MSVC. + * libcharset/Makefile.devel (include/libcharset.h.build.in): New target. + (all): Depend on it. + (totally-clean): Remove include/libcharset.h.build.in. + * libcharset/configure.ac: Generate include/libcharset.h and + include/libcharset.h.inst. + * libcharset/Makefile.in (include/libcharset.h): Remove rule. + (install-lib, install): Install libcharset.h.inst, not libcharset.h. + (GENERATED_FILES): Add include/libcharset.h.build.in. + 2019-03-04 Bruno Haible Add support for --enable-relocatable. diff --git a/source/libcharset/INTEGRATE b/source/libcharset/INTEGRATE index 454c557..a9b59ea 100644 --- a/source/libcharset/INTEGRATE +++ b/source/libcharset/INTEGRATE @@ -8,15 +8,14 @@ many small changes to your package: * Copy the lib/ source file (localcharset.c) and the include file (include/localcharset.h) into your package. -* Add the m4/ files (codeset.m4, fcntl_h.m4, glibc21.m4) to your aclocal.m4 - file or, if you are using automake, to your m4/ directory. +* Add the m4/ files (codeset.m4, fcntl_h.m4) to your aclocal.m4 file + or, if you are using automake, to your m4/ directory. * Add the following lines to your configure.ac file: AC_CANONICAL_HOST AM_LANGINFO_CODESET gl_FCNTL_O_FLAGS - jm_GLIBC21 AC_CHECK_HEADERS([stddef.h stdlib.h string.h]) and make sure that it sets and AC_SUBSTs the PACKAGE variable. diff --git a/source/libcharset/Makefile.devel b/source/libcharset/Makefile.devel index 77b0823..7a991cd 100644 --- a/source/libcharset/Makefile.devel +++ b/source/libcharset/Makefile.devel @@ -3,13 +3,13 @@ SHELL = /bin/sh MAKE = make -AUTOCONF = autoconf-2.69 -AUTOHEADER = autoheader-2.69 +AUTOCONF = autoconf +AUTOHEADER = autoheader ACLOCAL = aclocal-1.16 CP = cp RM = rm -f -all : configures include/localcharset.h.build.in +all : configures include/libcharset.h.build.in include/localcharset.h.build.in autoconf/aclocal.m4 : $(wildcard m4/*.m4) test -d autoconf || mkdir autoconf @@ -24,12 +24,17 @@ config.h.in : configure.ac autoconf/aclocal.m4 $(AUTOHEADER) --include autoconf && rm -rf autom4te.cache touch config.h.in +include/libcharset.h.build.in : include/libcharset.h.in include/export.h + sed -e 's/extern \([^"]\)/extern LIBCHARSET_DLL_EXPORTED \1/' \ + -e '/#define _LIBCHARSET_H/r include/export.h' \ + < $< > $@ + include/localcharset.h.build.in : include/localcharset.h.in include/export.h sed -e 's/extern \([^"]\)/extern LIBCHARSET_DLL_EXPORTED \1/' \ -e '/#define _LOCALCHARSET_H/r include/export.h' \ < $< > $@ totally-clean : force - rm -f autoconf/aclocal.m4 configure config.h.in include/localcharset.h.build.in + rm -f autoconf/aclocal.m4 configure config.h.in include/libcharset.h.build.in include/localcharset.h.build.in force : diff --git a/source/libcharset/Makefile.in b/source/libcharset/Makefile.in index 5f599fe..15fd831 100644 --- a/source/libcharset/Makefile.in +++ b/source/libcharset/Makefile.in @@ -30,25 +30,22 @@ mkinstalldirs = $(SHELL) @top_srcdir@/build-aux/mkinstalldirs SHELL = @SHELL@ -all : include/libcharset.h force +all : force cd lib && $(MAKE) all -include/libcharset.h : - if [ ! -d include ] ; then mkdir include ; fi - $(CP) $(srcdir)/include/libcharset.h.in include/libcharset.h - # Installs the library and include files only. Typically called with only # $(libdir) and $(includedir) - don't use $(prefix) and $(exec_prefix) here. install-lib : all force cd lib && $(MAKE) install-lib libdir='$(libdir)' includedir='$(includedir)' $(mkinstalldirs) $(includedir) - $(INSTALL_DATA) include/libcharset.h $(includedir)/libcharset.h - $(INSTALL_DATA) include/localcharset.h.inst $(includedir)/localcharset.h + $(INSTALL_DATA) include/libcharset.h.inst $(includedir)/libcharset.h +# Here, use the include file that contains LIBCHARSET_DLL_EXPORTED annotations. + $(INSTALL_DATA) include/localcharset.h $(includedir)/localcharset.h -install : include/libcharset.h include/localcharset.h force +install : all force cd lib && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)' $(mkinstalldirs) $(DESTDIR)$(includedir) - $(INSTALL_DATA) include/libcharset.h $(DESTDIR)$(includedir)/libcharset.h + $(INSTALL_DATA) include/libcharset.h.inst $(DESTDIR)$(includedir)/libcharset.h $(INSTALL_DATA) include/localcharset.h.inst $(DESTDIR)$(includedir)/localcharset.h install-strip : install @@ -73,12 +70,12 @@ clean : force distclean : force cd lib && if test -f Makefile; then $(MAKE) distclean; fi - $(RM) include/libcharset.h include/localcharset.h include/localcharset.h.inst + $(RM) include/libcharset.h include/libcharset.h.inst include/localcharset.h include/localcharset.h.inst $(RM) config.status config.log config.cache Makefile config.h libtool maintainer-clean : force cd lib && if test -f Makefile; then $(MAKE) maintainer-clean; fi - $(RM) include/libcharset.h include/localcharset.h include/localcharset.h.inst + $(RM) include/libcharset.h include/libcharset.h.inst include/localcharset.h include/localcharset.h.inst $(RM) config.status config.log config.cache Makefile config.h libtool # List of source files. @@ -122,10 +119,10 @@ PARENT_IMPORTED_FILES = \ build-aux/config.libpath \ build-aux/config.sub \ build-aux/install-sh \ + build-aux/libtool-reloc \ build-aux/mkinstalldirs \ m4/codeset.m4 \ m4/fcntl-o.m4 \ - m4/glibc21.m4 \ m4/visibility.m4 IMPORTED_FILES = \ COPYING.LIB \ @@ -133,6 +130,7 @@ IMPORTED_FILES = \ # List of distributed files generated by autotools or Makefile.devel. GENERATED_FILES = \ autoconf/aclocal.m4 configure config.h.in \ + include/libcharset.h.build.in \ include/localcharset.h.build.in # List of distributed files generated by "make". DISTRIBUTED_BUILT_FILES = diff --git a/source/libcharset/NEWS b/source/libcharset/NEWS index 85caf00..1305b0d 100644 --- a/source/libcharset/NEWS +++ b/source/libcharset/NEWS @@ -1,3 +1,6 @@ +New in 1.5: +* Fixed a multithread-safety bug on Cygwin and native Windows. + New in 1.4: * Tidy up the list of symbols exported from libcharset (assumes gcc >= 4.0). diff --git a/source/libcharset/autoconf/aclocal.m4 b/source/libcharset/autoconf/aclocal.m4 index d50a9e8..2ad8a98 100644 --- a/source/libcharset/autoconf/aclocal.m4 +++ b/source/libcharset/autoconf/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.1 -*- Autoconf -*- +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- -# Copyright (C) 1996-2018 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, @@ -14,7 +14,7 @@ m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2018 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, @@ -45,7 +45,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 2006-2018 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, @@ -64,7 +64,6 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) m4_include([m4/codeset.m4]) m4_include([m4/fcntl-o.m4]) -m4_include([m4/glibc21.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) diff --git a/source/libcharset/build-aux/config.guess b/source/libcharset/build-aux/config.guess old mode 100644 new mode 100755 index 79d1317..160ecf0 --- a/source/libcharset/build-aux/config.guess +++ b/source/libcharset/build-aux/config.guess @@ -1,12 +1,14 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2019 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. -timestamp='2019-03-04' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2022-05-08' # 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 program is distributed in the hope that it will be useful, but @@ -27,11 +29,19 @@ timestamp='2019-03-04' # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# 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="\ @@ -50,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2019 Free Software Foundation, Inc. +Copyright 1992-2022 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." @@ -84,6 +94,9 @@ if test $# != 0; then exit 1 fi +# 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 @@ -99,8 +112,10 @@ tmp= 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 + # 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 ; } || @@ -110,7 +125,7 @@ set_cc_for_build() { ,,) 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" + CC_FOR_BUILD=$driver break fi done @@ -131,14 +146,12 @@ 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 +case $UNAME_SYSTEM in Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu + LIBC=unknown set_cc_for_build cat <<-EOF > "$dummy.c" @@ -147,24 +160,37 @@ Linux|GNU|GNU/*) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc - #else + #elif defined(__GLIBC__) LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" - # If ldd exists, use it to detect musl libc. - if command -v ldd >/dev/null && \ - ldd --version 2>&1 | grep -q ^musl - then - LIBC=musl + # 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*, @@ -176,12 +202,12 @@ 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=`(uname -p 2>/dev/null || \ - "/sbin/$sysctl" 2>/dev/null || \ - "/usr/sbin/$sysctl" 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 + case $UNAME_MACHINE_ARCH in + aarch64eb) machine=aarch64_be-unknown ;; armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; @@ -190,13 +216,13 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in 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=${arch}${endian}-unknown ;; - *) machine="$UNAME_MACHINE_ARCH"-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) and ABI. - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in earm*) os=netbsdelf ;; @@ -217,7 +243,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in ;; esac # Determine ABI tags. - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` @@ -228,7 +254,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # 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' ;; @@ -239,45 +265,57 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi-}" - exit ;; + GUESS=$machine-${os}${release}${abi-} + ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; + 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\.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" - exit ;; + 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:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; + GUESS=$UNAME_MACHINE-unknown-sortix + ;; + *:Twizzler:*:*) + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; + GUESS=$UNAME_MACHINE-unknown-redox + ;; mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; + 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}'` @@ -291,7 +329,7 @@ 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 ;; "EV4.5 (21064)") @@ -328,117 +366,121 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # 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 ;; + 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 ;; + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; + 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.*:*) 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 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 ;; + 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 + 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 @@ -448,41 +490,41 @@ 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) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -510,75 +552,76 @@ EOF 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 set_cc_for_build @@ -595,16 +638,16 @@ EOF EOF 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 @@ -612,56 +655,56 @@ EOF else IBM_ARCH=powerpc fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + 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 ;; + GUESS=rs6000-ibm-aix + ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; + 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 + 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 + 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 + 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 + if test "$HP_ARCH" = ""; then set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -700,7 +743,7 @@ EOF test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ "$HP_ARCH" = hppa2.0w ] + if test "$HP_ARCH" = hppa2.0w then set_cc_for_build @@ -721,12 +764,12 @@ EOF 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:*:*) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -756,36 +799,36 @@ EOF EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; + GUESS=unknown-hitachi-hiuxwe2 + ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; + 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 ;; + GUESS=hppa1.0-hp-mpeix + ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; + 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 @@ -793,17 +836,18 @@ 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" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ @@ -811,114 +855,129 @@ EOF -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 ;; + 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 ;; + 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 - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi else - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf fi - exit ;; + ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` - case "$UNAME_PROCESSOR" in + case $UNAME_PROCESSOR in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - 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*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - exit ;; + 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 ;; i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; + GUESS=$UNAME_MACHINE-pc-uwin + ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-pc-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-$LIBC`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 "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" - 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 + ;; *:Minix:*:*) - echo "$UNAME_MACHINE"-unknown-minix - exit ;; + GUESS=$UNAME_MACHINE-unknown-minix + ;; aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - 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 ;; @@ -929,60 +988,63 @@ EOF esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; arm*:Linux:*:*) 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-"$LIBC" + 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-"$LIBC"eabi + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf fi fi - exit ;; + ;; avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; mips:Linux:*:* | mips64:Linux:*:*) set_cc_for_build IS_GLIBC=0 @@ -1027,113 +1089,135 @@ EOF #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" + 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:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; + GUESS=or1k-unknown-linux-$LIBC + ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; + GUESS=sparc-unknown-linux-$LIBC + ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - 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-"$LIBC" ;; - PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; - *) echo hppa-unknown-linux-"$LIBC" ;; + 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-"$LIBC" - exit ;; + GUESS=powerpc64-unknown-linux-$LIBC + ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc-unknown-linux-$LIBC + ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc64le-unknown-linux-$LIBC + ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + 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-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; x86_64:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - 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-"$LIBC" - 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 # 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 ;; + 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 @@ -1141,12 +1225,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 @@ -1156,11 +1240,11 @@ 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 @@ -1168,31 +1252,31 @@ EOF # Note: whatever this is, it MUST be the same as what config.sub # 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) @@ -1217,250 +1301,264 @@ EOF /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { 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 # 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 + ;; x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; + GUESS=x86_64-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:*:*) - echo sxace-nec-superux"$UNAME_RELEASE" - exit ;; + 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 - set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + 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 "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then - 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 - 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 + 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 - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE fi - echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` 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 ;; + GUESS=i386-pc-qnx + ;; NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk"$UNAME_RELEASE" - exit ;; + 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. - # shellcheck disable=SC2154 - 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:*:*) - echo x86_64-unknown-onefs - exit ;; + GUESS=x86_64-unknown-onefs + ;; *:Unleashed:*:*) - echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; esac +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + # No uname command or uname output not recognized. set_cc_for_build cat > "$dummy.c" < "$dummy.c" < #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 () { #if defined (sony) @@ -1554,19 +1660,24 @@ main () #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__) -#include -#if defined(_SIZE_T_) /* >= ULTRIX4 */ - printf ("mips-dec-ultrix4\n"); exit (0); +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); #else -#if defined(ULTRIX3) || defined(ultrix3) || defined(SIGLOST) - printf ("mips-dec-ultrix3\n"); exit (0); -#endif + printf ("mips-dec-ultrix\n"); exit (0); #endif #endif #endif @@ -1579,7 +1690,7 @@ 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. @@ -1587,7 +1698,7 @@ test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } echo "$0: unable to guess system type" >&2 -case "$UNAME_MACHINE:$UNAME_SYSTEM" in +case $UNAME_MACHINE:$UNAME_SYSTEM in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 <, 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 -# 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, @@ -66,7 +66,7 @@ case $host_os in dgux*) shlibpath_var=LD_LIBRARY_PATH ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) shlibpath_var=LD_LIBRARY_PATH ;; gnu*) diff --git a/source/libcharset/build-aux/config.sub b/source/libcharset/build-aux/config.sub old mode 100644 new mode 100755 index a44fd8a..9b62e37 --- a/source/libcharset/build-aux/config.sub +++ b/source/libcharset/build-aux/config.sub @@ -1,12 +1,14 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2019 Free Software Foundation, Inc. +# Copyright 1992-2021 Free Software Foundation, Inc. -timestamp='2019-01-05' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-12-25' # 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 program is distributed in the hope that it will be useful, but @@ -33,7 +35,7 @@ timestamp='2019-01-05' # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +# 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 @@ -50,6 +52,13 @@ timestamp='2019-01-05' # 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="\ @@ -67,7 +76,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2019 Free Software Foundation, Inc. +Copyright 1992-2021 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." @@ -112,9 +121,11 @@ esac # Split fields of configuration type # shellcheck disable=SC2162 +saved_IFS=$IFS IFS="-" read field1 field2 field3 field4 <&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. @@ -1532,6 +1527,7 @@ else # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. +kernel= case $cpu-$vendor in score-*) os=elf @@ -1543,7 +1539,8 @@ case $cpu-$vendor in os=riscix1.2 ;; arm*-rebel) - os=linux + kernel=linux + os=gnu ;; arm*-semi) os=aout @@ -1709,84 +1706,180 @@ case $cpu-$vendor in os=none ;; esac + fi +# Now, validate our (potentially fixed-up) OS. +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) + ;; + # 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* \ + | 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* | aout* | elf* | oabi* \ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | udi* | lites* | ieee* | go32* | aux* | hcos* \ + | chorusrdb* | cegcc* | glidix* | serenity* \ + | cygwin* | msys* | pe* | 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* ) + ;; + # 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) + ;; + *) + echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 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 in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # 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 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS 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. case $vendor in unknown) - case $os in - riscix*) + 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 ;; - clix*) + *-clix*) vendor=intergraph ;; - mvs* | opened*) + *-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 ;; esac -echo "$cpu-$vendor-$os" +echo "$cpu-$vendor-${kernel:+$kernel-}$os" exit # Local variables: diff --git a/source/libcharset/build-aux/install-sh b/source/libcharset/build-aux/install-sh old mode 100644 new mode 100755 index 8175c64..ec298b5 --- a/source/libcharset/build-aux/install-sh +++ b/source/libcharset/build-aux/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2018-03-11.20; # UTC +scriptversion=2020-11-14.01; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -69,6 +69,11 @@ 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= @@ -99,18 +104,28 @@ 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. + +Email bug reports to bug-automake@gnu.org. +Automake home page: https://www.gnu.org/software/automake/ " while test $# -ne 0; do @@ -137,8 +152,13 @@ while test $# -ne 0; do -o) chowncmd="$chownprog $2" shift;; + -p) cpprog="$cpprog -p";; + -s) stripcmd=$stripprog;; + -S) backupsuffix="$2" + shift;; + -t) is_target_a_directory=always dst_arg=$2 @@ -255,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 @@ -301,22 +325,6 @@ do 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 @@ -326,52 +334,49 @@ do 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. - ;; - *) - # Note that $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' feature. - 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 - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac;; + # 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 + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; esac if @@ -382,7 +387,7 @@ do 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. @@ -411,7 +416,7 @@ do prefixes= else if $posix_mkdir; then - (umask=$mkdir_umask && + (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 @@ -451,7 +456,18 @@ do 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. # @@ -477,6 +493,13 @@ do 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 || @@ -491,9 +514,9 @@ do # file should still install successfully. { test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || + $doit $rmcmd "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 diff --git a/source/libcharset/build-aux/libtool-reloc b/source/libcharset/build-aux/libtool-reloc new file mode 100755 index 0000000..b06e76f --- /dev/null +++ b/source/libcharset/build-aux/libtool-reloc @@ -0,0 +1,89 @@ +#!/bin/sh +# libtool-reloc - libtool wrapper with support for relocatable programs +# Copyright (C) 2019-2022 Free Software Foundation, Inc. +# Written by Bruno Haible , 2019. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Usage: libtool-reloc libtool LIBTOOL_ARGUMENTS + +# Outputs a command and runs it. +func_verbose () +{ + # Make it easy to copy&paste the printed command into a shell in most cases, + # by escaping '\\', '"', and '$'. This is not perfect, just good enough. + echo "$@" | sed -e 's/\([\\"$]\)/\\\1/g' + "$@" +} + +# Determine the mode from the arguments. +mode= +for arg +do + case "$arg" in + --mode=link) mode=link ;; + esac +done + +if test "$mode" = link; then + # Determine the target from the arguments. + target= + next_is_target=false + for arg + do + if $next_is_target; then + target="$arg" + next_is_target=false + else + case "$arg" in + -o) next_is_target=true ;; + *) next_is_target=false ;; + esac + fi + done + case "$target" in + *.la) + # When creating a library: + # 1. Add a '-Wl,-rpath,@loader_path' option. + # (A '-R @loader_path' option does not work: libtool produces + # an error "error: only absolute run-paths are allowed".) + # (Also note that 'install_name_tool -add_rpath @loader_path ...' + # does not work on Mac OS X 10.5.) + # This is done through the RELOCATABLE_LDFLAGS macro. + # 2. After creating the library, run + # install_name_tool -id @rpath/$dlname $target_dir/.libs/$dlname + # (This is easier than to modify the libtool script to emit a different + # install_name. Also, an option '-Wl,-install_name,@rpath/$dlname' does + # not work since libtool emits another option '-Wl,-install_name,...' + # after it. + "$@" && { + dlname_assignment=`grep '^dlname=' "$target"` + dlname= + eval "$dlname_assignment" + # Nothing to do when --disable-shared was specified. + if test -n "$dlname"; then + target_dir=`dirname "$target"` + if test -f "$target_dir/.libs/$dlname"; then + func_verbose install_name_tool -id "@rpath/$dlname" "$target_dir/.libs/$dlname" + fi + fi + } + ;; + *) + "$@" + ;; + esac +else + "$@" +fi diff --git a/source/libcharset/build-aux/ltmain.sh b/source/libcharset/build-aux/ltmain.sh index 0f0a2da..ef6949f 100644 --- a/source/libcharset/build-aux/ltmain.sh +++ b/source/libcharset/build-aux/ltmain.sh @@ -1,12 +1,12 @@ -#! /bin/sh +#! /usr/bin/env sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 +## by inline-source v2019-02-19.15 -# libtool (GNU libtool) 2.4.6 +# libtool (GNU libtool) 2.4.7 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2019, 2021-2022 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. @@ -31,8 +31,8 @@ PROGRAM=libtool PACKAGE=libtool -VERSION=2.4.6 -package_revision=2.4.6 +VERSION=2.4.7 +package_revision=2.4.7 ## ------ ## @@ -64,34 +64,25 @@ package_revision=2.4.6 # libraries, which are installed to $pkgauxdir. # Set a version string for this script. -scriptversion=2015-01-20.17; # UTC +scriptversion=2019-02-19.15; # 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 . +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# Please report bugs or propose patches to gary@gnu.org. +# Please report bugs or propose patches to: +# ## ------ ## @@ -139,9 +130,12 @@ do _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL # Make sure IFS has a sensible default sp=' ' @@ -159,6 +153,26 @@ if test "${PATH_SEPARATOR+set}" != set; then fi +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS + ## ------------------------- ## ## Locate command utilities. ## @@ -259,7 +273,7 @@ test -z "$SED" && { rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" rm -f conftest.sed SED=$func_path_progs_result } @@ -295,7 +309,7 @@ test -z "$GREP" && { rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" GREP=$func_path_progs_result } @@ -360,6 +374,35 @@ sed_double_backslash="\ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ + _G_save_IFS=$IFS + IFS='\' + _G_check_ifs_backshlash='a\\b' + for _G_i in $_G_check_ifs_backshlash + do + case $_G_i in + a) + check_ifs_backshlash_broken=false + ;; + '') + break + ;; + *) + check_ifs_backshlash_broken=: + break + ;; + esac + done + IFS=$_G_save_IFS + require_check_ifs_backslash=: +} + ## ----------------- ## ## Global variables. ## @@ -580,16 +623,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then { $debug_cmd - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" }' else func_append_quoted () { $debug_cmd - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1=\$$1\\ \$func_quote_arg_result" } fi @@ -1091,85 +1134,203 @@ func_relative_path () } -# 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 () +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg. Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable () { $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" + $require_check_ifs_backslash + + func_quote_portable_result=$2 + + # one-time-loop (easy break) + while true + do + if $1; then + func_quote_portable_result=`$ECHO "$2" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` + break 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\" + # Quote for eval. + case $func_quote_portable_result in + *[\\\`\"\$]*) + # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string + # contains the shell wildcard characters. + case $check_ifs_backshlash_broken$func_quote_portable_result in + :*|*[\[\*\?]*) + func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ + | $SED "$sed_quote_subst"` + break + ;; + esac + + func_quote_portable_old_IFS=$IFS + for _G_char in '\' '`' '"' '$' + do + # STATE($1) PREV($2) SEPARATOR($3) + set start "" "" + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy + IFS=$_G_char + for _G_part in $func_quote_portable_result + do + case $1 in + quote) + func_append func_quote_portable_result "$3$2" + set quote "$_G_part" "\\$_G_char" + ;; + start) + set first "" "" + func_quote_portable_result= + ;; + first) + set quote "$_G_part" "" + ;; + esac + done + done + IFS=$func_quote_portable_old_IFS ;; - *) - _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 + break done + + func_quote_portable_unquoted_result=$func_quote_portable_result + case $func_quote_portable_result 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. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_portable_result=\"$func_quote_portable_result\" + ;; + esac } -# 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 +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed. Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then + printf -v _GL_test_printf_tilde %q '~' + if test '\~' = "$_GL_test_printf_tilde"; then + func_quotefast_eval () + { + printf -v func_quotefast_eval_result %q "$1" + } + else + # Broken older Bash implementations. Make those faster too if possible. + func_quotefast_eval () + { + case $1 in + '~'*) + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + ;; + *) + printf -v func_quotefast_eval_result %q "$1" + ;; + esac + } + fi +else + func_quotefast_eval () + { + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + } +fi - case $1 in - *[\\\`\"]*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later. MODEs argument may contain zero or more +# specifiers listed below separated by ',' character. This function returns two +# values: +# i) func_quote_arg_result +# double-quoted (when needed), suitable for a subsequent eval +# ii) func_quote_arg_unquoted_result +# has all characters that are still active within double +# quotes backslashified. Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +# - escape shell special characters +# 'expand' +# - the same as 'eval'; but do not quote variable references +# 'pretty' +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might +# be used later in func_quote to get output like: 'echo "a b"' instead +# of 'echo a\ b'. This is slower than default on some shells. +# 'unquoted' +# - produce also $func_quote_arg_unquoted_result which does not contain +# wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +# string | *_result | *_unquoted_result +# ------------+-----------------------+------------------- +# " | \" | \" +# a b | "a b" | a b +# "a b" | "\"a b\"" | \"a b\" +# * | "*" | * +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +# string | *_result | *_unquoted_result +# --------------+---------------------+-------------------- +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" +func_quote_arg () +{ + _G_quote_expand=false + case ,$1, in + *,expand,*) + _G_quote_expand=: + ;; esac - 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. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_arg=\"$_G_arg\" + case ,$1, in + *,pretty,*|*,expand,*|*,unquoted,*) + func_quote_portable $_G_quote_expand "$2" + func_quote_arg_result=$func_quote_portable_result + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result + ;; + *) + # Faster quote-for-eval for some shells. + func_quotefast_eval "$2" + func_quote_arg_result=$func_quotefast_eval_result ;; esac +} + - func_quote_for_expand_result=$_G_arg +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command. See +# func_quote_arg's description for more info. +func_quote () +{ + $debug_cmd + _G_func_quote_mode=$1 ; shift + func_quote_result= + while test 0 -lt $#; do + func_quote_arg "$_G_func_quote_mode" "$1" + if test -n "$func_quote_result"; then + func_append func_quote_result " $func_quote_arg_result" + else + func_append func_quote_result "$func_quote_arg_result" + fi + shift + done } @@ -1215,8 +1376,8 @@ func_show_eval () _G_cmd=$1 _G_fail_exp=${2-':'} - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" + func_quote_arg pretty,expand "$_G_cmd" + eval "func_notquiet $func_quote_arg_result" $opt_dry_run || { eval "$_G_cmd" @@ -1241,8 +1402,8 @@ func_show_eval_locale () _G_fail_exp=${2-':'} $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$_G_cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || { @@ -1369,30 +1530,26 @@ func_lt_ver () # End: #! /bin/sh -# Set a version string for this script. -scriptversion=2014-01-07.03; # 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. +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# Please report bugs or propose patches to: +# -# Please report bugs or propose patches to gary@gnu.org. +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC ## ------ ## @@ -1415,7 +1572,7 @@ scriptversion=2014-01-07.03; # UTC # # 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; '. +# starting with '# Written by ' and ending with '# Copyright'. # # 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 @@ -1427,7 +1584,7 @@ scriptversion=2014-01-07.03; # UTC # to display verbose messages only when your user has specified # '--verbose'. # -# After sourcing this file, you can plug processing for additional +# After sourcing this file, you can plug in processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. @@ -1476,8 +1633,8 @@ fatal_help="Try '\$progname --help' for more information." ## ------------------------- ## # 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. +# in the main code. A hook is just a list of function names that can be +# run in order later on. # func_hookable FUNC_NAME # ----------------------- @@ -1510,7 +1667,8 @@ func_add_hook () # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. +# Remove HOOK_FUNC from the list of hook functions to be called by +# FUNC_NAME. func_remove_hook () { $debug_cmd @@ -1519,10 +1677,28 @@ func_remove_hook () } +# func_propagate_result FUNC_NAME_A FUNC_NAME_B +# --------------------------------------------- +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to +# *_result variable of FUNC_NAME_B. +func_propagate_result () +{ + $debug_cmd + + func_propagate_result_result=: + if eval "test \"\${${1}_result+set}\" = set" + then + eval "${2}_result=\$${1}_result" + else + func_propagate_result_result=false + fi +} + + # 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 +# It's 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. @@ -1532,22 +1708,19 @@ func_run_hooks () case " $hookable_fns " in *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook funcions.n" ;; + *) func_fatal_error "'$1' does not support hook functions." ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do - eval $_G_hook '"$@"' - - # 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 + func_unset "${_G_hook}_result" + eval $_G_hook '${1+"$@"}' + func_propagate_result $_G_hook func_run_hooks + if $func_propagate_result_result; then + eval set dummy "$func_run_hooks_result"; shift + fi done - - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result } @@ -1557,10 +1730,18 @@ func_run_hooks () ## --------------- ## # In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed -# options in '_result', escaped suitably for -# 'eval'. Like this: +# full positional parameter list from your hook function. You may remove +# or edit any options that you action, and then pass back the remaining +# unprocessed options in '_result', escaped +# suitably for 'eval'. +# +# The '_result' variable is automatically unset +# before your hook gets called; for best performance, only set the +# *_result variable when necessary (i.e. don't call the 'func_quote' +# function unnecessarily because it can be an expensive operation on some +# machines). +# +# Like this: # # my_options_prep () # { @@ -1570,9 +1751,8 @@ func_run_hooks () # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result +# # No change in '$@' (ignored completely by this hook). Leave +# # my_options_prep_result variable intact. # } # func_add_hook func_options_prep my_options_prep # @@ -1581,25 +1761,36 @@ func_run_hooks () # { # $debug_cmd # -# # Note that for efficiency, we parse as many options as we can +# 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=: ;; +# --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=: # ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # is added back to "$@" in case we need it later, +# # if $args_changed was set to 'true'. +# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result +# # Only call 'func_quote' here if we processed at least one argument. +# if $args_changed; then +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result +# fi # } # func_add_hook func_parse_options my_silent_option # @@ -1610,17 +1801,26 @@ func_run_hooks () # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." -# -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result # } # func_add_hook func_validate_options my_option_validation # -# You'll alse need to manually amend $usage_message to reflect the extra +# 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 + + func_run_hooks func_options ${1+"$@"} + func_propagate_result func_run_hooks func_options_finish +} + + # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the @@ -1630,17 +1830,27 @@ func_options () { $debug_cmd - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} + _G_options_quoted=false - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} + for my_func in options_prep parse_options validate_options options_finish + do + func_unset func_${my_func}_result + func_unset func_run_hooks_result + eval func_$my_func '${1+"$@"}' + func_propagate_result func_$my_func func_options + if $func_propagate_result_result; then + eval set dummy "$func_options_result"; shift + _G_options_quoted=: + fi + done - # save modified positional parameters for caller - func_options_result=$func_run_hooks_result + $_G_options_quoted || { + # As we (func_options) are top-level options-parser function and + # nobody quoted "$@" for us yet, we need to do it explicitly for + # caller. + func_quote eval ${1+"$@"} + func_options_result=$func_quote_result + } } @@ -1649,9 +1859,8 @@ func_options () # 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 propogate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning. +# 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. func_hookable func_options_prep func_options_prep () { @@ -1662,9 +1871,7 @@ func_options_prep () opt_warning_types= func_run_hooks func_options_prep ${1+"$@"} - - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result + func_propagate_result func_run_hooks func_options_prep } @@ -1676,25 +1883,32 @@ func_parse_options () { $debug_cmd - func_parse_options_result= - + _G_parse_options_requote=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. func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift + func_propagate_result func_run_hooks func_parse_options + if $func_propagate_result_result; then + eval set dummy "$func_parse_options_result"; shift + # Even though we may have changed "$@", we passed the "$@" array + # down into the hook and it quoted it for us (because we are in + # this if-branch). No need to quote it again. + _G_parse_options_requote=false + fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break + # We expect that one of the options parsed in this function matches + # and thus we remove _G_opt from "$@" and need to re-quote. + _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" + func_echo "enabling shell trace mode" >&2 $debug_cmd ;; @@ -1704,7 +1918,10 @@ func_parse_options () ;; --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break + if test $# = 0 && func_missing_arg $_G_opt; then + _G_parse_options_requote=: + break + fi case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above @@ -1757,15 +1974,24 @@ func_parse_options () shift ;; - --) break ;; + --) _G_parse_options_requote=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; esac + + if $_G_match_parse_options; then + _G_parse_options_requote=: + fi done - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result + if $_G_parse_options_requote; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result + fi } @@ -1782,12 +2008,10 @@ func_validate_options () test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" func_run_hooks func_validate_options ${1+"$@"} + func_propagate_result func_run_hooks func_validate_options # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE - - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result } @@ -1843,8 +2067,8 @@ func_missing_arg () # func_split_equals STRING # ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. +# 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 \ @@ -1859,8 +2083,9 @@ then func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} - test "x$func_split_equals_lhs" = "x$1" \ - && func_split_equals_rhs= + if test "x$func_split_equals_lhs" = "x$1"; then + func_split_equals_rhs= + fi }' else # ...otherwise fall back to using expr, which is often a shell builtin. @@ -1870,7 +2095,7 @@ else func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` func_split_equals_rhs= - test "x$func_split_equals_lhs" = "x$1" \ + test "x$func_split_equals_lhs=" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` } fi #func_split_equals @@ -1896,7 +2121,7 @@ else { $debug_cmd - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` + func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt @@ -1938,31 +2163,44 @@ func_usage_message () # func_version # ------------ # Echo version message to standard output and exit. +# The version message is extracted from the calling file's header +# comments, with leading '# ' stripped: +# 1. First display the progname and version +# 2. Followed by the header comment line matching /^# Written by / +# 3. Then a blank line followed by the first following line matching +# /^# Copyright / +# 4. Immediately followed by any lines between the previous matches, +# except lines preceding the intervening completely blank line. +# For example, see the header comments of this file. 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 /!b + s|^# ||; p; n + + :fwd2blnk + /./ { + n + b fwd2blnk } - /^# Written by / { - s|^# || - p + p; n + + :holdwrnt + s|^# || + s|^# *$|| + /^Copyright /!{ + /./H + n + b holdwrnt } - /^warranty; /q' < "$progpath" + + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + G + s|\(\n\)\n*|\1|g + p; q' < "$progpath" exit $? } @@ -1972,12 +2210,12 @@ func_version () # 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-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: # Set a version string. -scriptversion='(GNU libtool) 2.4.6' +scriptversion='(GNU libtool) 2.4.7' # func_echo ARG... @@ -2068,7 +2306,7 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.6 + version: $progname (GNU libtool) 2.4.7 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -2124,7 +2362,7 @@ fi # a configuration failure hint, and exit. func_fatal_configuration () { - func__fatal_error ${1+"$@"} \ + func_fatal_error ${1+"$@"} \ "See the $PACKAGE documentation for more information." \ "Fatal configuration error." } @@ -2270,6 +2508,8 @@ libtool_options_prep () nonopt= preserve_args= + _G_rc_lt_options_prep=: + # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) @@ -2293,11 +2533,16 @@ libtool_options_prep () uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; + *) + _G_rc_lt_options_prep=false + ;; esac - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result + if $_G_rc_lt_options_prep; then + # Pass back the list of options. + func_quote eval ${1+"$@"} + libtool_options_prep_result=$func_quote_result + fi } func_add_hook func_options_prep libtool_options_prep @@ -2309,9 +2554,12 @@ libtool_parse_options () { $debug_cmd + _G_rc_lt_parse_options=false + # 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 @@ -2386,15 +2634,20 @@ libtool_parse_options () func_append preserve_args " $_G_opt" ;; - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + # 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 - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result + if $_G_rc_lt_parse_options; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + libtool_parse_options_result=$func_quote_result + fi } func_add_hook func_parse_options libtool_parse_options @@ -2451,8 +2704,8 @@ libtool_validate_options () } # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + libtool_validate_options_result=$func_quote_result } func_add_hook func_validate_options libtool_validate_options @@ -3418,8 +3671,8 @@ func_mode_compile () esac done - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ + func_quote_arg pretty "$libobj" + test "X$libobj" != "X$func_quote_arg_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" @@ -3492,8 +3745,8 @@ compiler." func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result + func_quote_arg pretty "$srcfile" + qsrcfile=$func_quote_arg_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then @@ -3648,7 +3901,8 @@ This mode accepts the following additional options: -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 - -Wc,FLAG pass FLAG directly to the compiler + -Wc,FLAG + -Xcompiler FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. @@ -3720,6 +3974,7 @@ a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all + -static do not do any dynamic linking at all -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) @@ -3746,7 +4001,8 @@ The following components of LINK-COMMAND are treated specially: -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries + -static-uninstalled-libs + do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] @@ -3754,6 +4010,8 @@ The following components of LINK-COMMAND are treated specially: -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wa,FLAG + -Xassembler FLAG pass linker-specific FLAG directly to the assembler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) @@ -4096,8 +4354,8 @@ func_mode_install () case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " + func_quote_arg pretty "$nonopt" + install_prog="$func_quote_arg_result " arg=$1 shift else @@ -4107,8 +4365,8 @@ func_mode_install () # The real first argument should be the name of the installation program. # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog "$func_quote_arg_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; @@ -4165,12 +4423,12 @@ func_mode_install () esac # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog " $func_quote_arg_result" if test -n "$arg2"; then - func_quote_for_eval "$arg2" + func_quote_arg pretty "$arg2" fi - func_append install_shared_prog " $func_quote_for_eval_result" + func_append install_shared_prog " $func_quote_arg_result" done test -z "$install_prog" && \ @@ -4181,8 +4439,8 @@ func_mode_install () if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" + func_quote_arg pretty "$install_override_mode" + func_append install_shared_prog " -m $func_quote_arg_result" fi fi @@ -4478,8 +4736,8 @@ func_mode_install () relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$relink_command" + eval "func_echo $func_quote_arg_result" } if eval "$relink_command"; then : else @@ -5258,7 +5516,8 @@ else if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + func_quote_arg pretty "$ECHO" + qECHO=$func_quote_arg_result $ECHO "\ # A function that is used when there is no print builtin or printf. @@ -5268,7 +5527,7 @@ func_fallback_echo () \$1 _LTECHO_EOF' } - ECHO=\"$qECHO\" + ECHO=$qECHO fi # Very basic option parsing. These options are (a) specific to @@ -6573,9 +6832,9 @@ func_mode_link () build_old_libs=no break ;; - -all-static | -static | -static-libtool-libs) + -all-static | -static | -static-uninstalled-libs | -static-libtool-libs) case $arg in - -all-static) + -all-static | -static) if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi @@ -6584,7 +6843,7 @@ func_mode_link () fi prefer_static_libs=yes ;; - -static) + -static-uninstalled-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi @@ -6611,9 +6870,9 @@ func_mode_link () while test "$#" -gt 0; do arg=$1 shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" + func_quote_arg pretty,unquoted "$arg" + qarg=$func_quote_arg_unquoted_result + func_append libtool_args " $func_quote_arg_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then @@ -6849,6 +7108,13 @@ func_mode_link () prev= continue ;; + xassembler) + func_append compiler_flags " -Xassembler $qarg" + prev= + func_append compile_command " -Xassembler $qarg" + func_append finalize_command " -Xassembler $qarg" + continue + ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" @@ -6883,7 +7149,7 @@ func_mode_link () prevarg=$arg case $arg in - -all-static) + -all-static | -static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" @@ -7019,7 +7285,7 @@ func_mode_link () # These systems don't actually have a C library (as such) test X-lc = "X$arg" && continue ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && continue ;; @@ -7039,7 +7305,7 @@ func_mode_link () esac elif test X-lc_r = "X$arg"; then case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc_r directly, use -pthread flag. continue ;; @@ -7069,8 +7335,20 @@ func_mode_link () prev=xcompiler continue ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. + -pthread) + case $host in + *solaris2*) ;; + *) + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + ;; + esac + continue + ;; + -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" @@ -7174,9 +7452,9 @@ func_mode_link () continue ;; - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that + -static-uninstalled-libs | -static-libtool-libs) + # The effects of -static-uninstalled-libs are defined in a previous + # loop. We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. @@ -7211,9 +7489,9 @@ func_mode_link () save_ifs=$IFS; IFS=, for flag in $args; do 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" + func_quote_arg pretty "$flag" + func_append arg " $func_quote_arg_result" + func_append compiler_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" @@ -7227,16 +7505,21 @@ func_mode_link () save_ifs=$IFS; IFS=, for flag in $args; do 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" + func_quote_arg pretty "$flag" + func_append arg " $wl$func_quote_arg_result" + func_append compiler_flags " $wl$func_quote_arg_result" + func_append linker_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; + -Xassembler) + prev=xassembler + continue + ;; + -Xcompiler) prev=xcompiler continue @@ -7254,8 +7537,8 @@ func_mode_link () # -msg_* for osf cc -msg_*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; # Flags to be passed through unchanged, with rationale: @@ -7272,12 +7555,17 @@ func_mode_link () # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -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 + # -Wa,* Pass flags directly to the assembler -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*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ + -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" @@ -7298,15 +7586,15 @@ func_mode_link () continue else # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result fi ;; # Some other compiler flag. -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; *.$objext) @@ -7426,8 +7714,8 @@ 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 + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; esac # arg @@ -8632,7 +8920,7 @@ func_mode_link () test CXX = "$tagname" && { case $host_os in linux*) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 func_suncc_cstd_abi @@ -8805,7 +9093,7 @@ func_mode_link () # case $version_type in # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|osf|windows|none) + darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor @@ -8896,7 +9184,7 @@ func_mode_link () versuffix=.$current.$revision ;; - freebsd-elf) + freebsd-elf | midnightbsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision @@ -9122,7 +9410,7 @@ func_mode_link () *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) @@ -9933,8 +10221,8 @@ EOF for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10027,8 +10315,8 @@ EOF eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10502,12 +10790,13 @@ EOF elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty "$var_value" + relink_command="$var=$func_quote_arg_result; export $var; $relink_command" fi done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote eval cd "`pwd`" + func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" + relink_command=$func_quote_arg_unquoted_result fi # Only actually do things if not in dry run mode. @@ -10747,13 +11036,15 @@ EOF elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty,unquoted "$var_value" + relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" 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=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote eval cd "`pwd`" + relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + func_quote_arg pretty,unquoted "$relink_command" + relink_command=$func_quote_arg_unquoted_result if test yes = "$hardcode_automatic"; then relink_command= fi diff --git a/source/libcharset/build-aux/mkinstalldirs b/source/libcharset/build-aux/mkinstalldirs old mode 100644 new mode 100755 diff --git a/source/libcharset/config.h.in b/source/libcharset/config.h.in index 78e45f9..ee64b7e 100644 --- a/source/libcharset/config.h.in +++ b/source/libcharset/config.h.in @@ -18,8 +18,8 @@ /* Define to 1 if you have the header file. */ #undef HAVE_MACH_O_DYLD_H -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H +/* Define to 1 if you have the header file. */ +#undef HAVE_MINIX_CONFIG_H /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE @@ -27,6 +27,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H @@ -52,6 +55,9 @@ declarations. */ #undef HAVE_VISIBILITY +/* Define to 1 if you have the header file. */ +#undef HAVE_WCHAR_H + /* Define to 1 if O_NOATIME works. */ #undef HAVE_WORKING_O_NOATIME @@ -85,37 +91,95 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* 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 /* 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 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 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 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 - -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE diff --git a/source/libcharset/configure b/source/libcharset/configure old mode 100644 new mode 100755 index cf4f9d2..9869901 --- a/source/libcharset/configure +++ b/source/libcharset/configure @@ -1,9 +1,10 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libcharset 1.4. +# Generated by GNU Autoconf 2.71 for libcharset 1.5. # # -# Copyright (C) 1992-1996, 1998-2012 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 @@ -14,14 +15,16 @@ # 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 ;; #( @@ -31,46 +34,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&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 || @@ -79,13 +82,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 #(( @@ -94,8 +90,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 @@ -107,30 +107,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 # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. @@ -152,20 +132,22 @@ 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'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 +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 ;; #( @@ -185,18 +167,20 @@ 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 +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'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' @@ -204,31 +188,40 @@ test \$(( 1 + 1 )) = 2 || exit 1 ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO 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 : + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + 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 @@ -236,14 +229,21 @@ 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 : + +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$CONFIG_SHELL" != x; then : + 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 @@ -261,18 +261,19 @@ 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'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 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$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 about your system, + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." @@ -299,6 +300,7 @@ as_fn_unset () } as_unset=as_fn_unset + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -316,6 +318,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 # ------------- @@ -330,7 +340,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" @@ -339,7 +349,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 @@ -378,12 +388,13 @@ as_fn_executable_p () # 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 @@ -395,18 +406,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] # ---------------------------------------- @@ -418,9 +438,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 @@ -447,7 +467,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 @@ -491,7 +511,7 @@ 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 @@ -505,6 +525,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*) @@ -518,6 +542,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 @@ -587,53 +618,47 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libcharset' PACKAGE_TARNAME='libcharset' -PACKAGE_VERSION='1.4' -PACKAGE_STRING='libcharset 1.4' +PACKAGE_VERSION='1.5' +PACKAGE_STRING='libcharset 1.5' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_unique_file="lib/localcharset.c" # Factoring default headers for most tests. ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include +#include +#ifdef HAVE_STDIO_H +# include #endif -#ifdef STDC_HEADERS +#ifdef HAVE_STDLIB_H # include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif #endif #ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif # include #endif -#ifdef HAVE_STRINGS_H -# include -#endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif #ifdef HAVE_UNISTD_H # include #endif" -ac_header_list= -ac_func_list= +ac_header_c_list= +ac_func_c_list= ac_subst_vars='LTLIBOBJS LIBOBJS -GLIBC21 HAVE_VISIBILITY CFLAG_VISIBILITY RELOCATABLE_STRIP @@ -660,19 +685,20 @@ RANLIB STRIP ac_ct_AR AR +FILECMD LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP +EGREP +GREP SED LIBTOOL OBJDUMP DLLTOOL AS -EGREP -GREP host_os host_vendor host_cpu @@ -712,6 +738,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -792,6 +819,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}' @@ -821,8 +849,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 ;; @@ -863,9 +889,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" @@ -889,9 +915,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" @@ -1044,6 +1070,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=* \ @@ -1093,9 +1128,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" @@ -1109,9 +1144,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" @@ -1155,9 +1190,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}" ;; @@ -1173,7 +1208,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 @@ -1181,7 +1216,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. @@ -1237,7 +1272,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 @@ -1294,7 +1329,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 libcharset 1.4 to adapt to many kinds of systems. +\`configure' configures libcharset 1.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1334,6 +1369,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] @@ -1359,7 +1395,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libcharset 1.4:";; + short | recursive ) echo "Configuration of libcharset 1.5:";; esac cat <<\_ACEOF @@ -1419,9 +1455,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/ ;; @@ -1449,7 +1485,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 @@ -1457,7 +1494,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 @@ -1466,10 +1503,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libcharset configure 1.4 -generated by GNU Autoconf 2.69 +libcharset configure 1.5 +generated by GNU Autoconf 2.71 -Copyright (C) 2012 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. _ACEOF @@ -1486,14 +1523,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 @@ -1501,14 +1538,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 @@ -1530,7 +1568,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 @@ -1538,14 +1576,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 @@ -1555,135 +1594,6 @@ 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 () -{ - 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;} - ;; -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 @@ -1691,26 +1601,28 @@ fi 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 + { 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 : +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 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_header_compile @@ -1721,14 +1633,14 @@ $as_echo "$ac_res" >&6; } 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 @@ -1736,17 +1648,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 || test -x conftest$ac_exeext - }; 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 @@ -1767,11 +1680,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 declares $2. @@ -1779,16 +1693,9 @@ else #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif + which can conflict with char $2 (); below. */ +#include #undef $2 /* Override any GCC internal prototype to avoid an error. @@ -1806,35 +1713,99 @@ 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_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 libcharset $as_me 1.4, which was -generated by GNU Autoconf 2.69. Invocation command line was +It was created by libcharset $as_me 1.5, which was +generated by GNU Autoconf 2.71. Invocation command line was - $ $0 $@ + $ $0$ac_configure_args_raw _ACEOF exec 5>>config.log @@ -1867,8 +1838,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 @@ -1903,7 +1878,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'" ;; @@ -1938,11 +1913,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 @@ -1953,8 +1930,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) ;; #( @@ -1978,7 +1955,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - $as_echo "## ----------------- ## + printf "%s\n" "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo @@ -1986,14 +1963,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 @@ -2001,15 +1978,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 @@ -2017,8 +1994,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 && @@ -2032,63 +2009,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 @@ -2098,128 +2060,518 @@ 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 -as_fn_append ac_header_list " unistd.h" -as_fn_append ac_func_list " symlink" -# 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. - 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=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - 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 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## +# 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 -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 +#include +#include +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]; -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" +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 +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" +as_fn_append ac_func_c_list " symlink HAVE_SYMLINK" + +# Auxiliary files required by this configure script. +ac_aux_files="ltmain.sh config.guess config.sub 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 -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 +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. -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. +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=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { 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. ## +## -------------------- ## + +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_config_headers="$ac_config_headers config.h" -{ $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: @@ -2235,17 +2587,26 @@ 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 + + + + + + + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -2254,11 +2615,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 @@ -2266,11 +2628,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 as_fn_executable_p "$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 @@ -2281,11 +2647,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 @@ -2294,11 +2660,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 @@ -2306,11 +2673,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 as_fn_executable_p "$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 @@ -2321,11 +2692,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 @@ -2333,8 +2704,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 @@ -2347,11 +2718,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 @@ -2359,11 +2731,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 as_fn_executable_p "$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 @@ -2374,11 +2750,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 @@ -2387,11 +2763,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 @@ -2400,15 +2777,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 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 + 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 @@ -2424,18 +2805,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 @@ -2446,11 +2827,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 @@ -2458,11 +2840,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 as_fn_executable_p "$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 @@ -2473,11 +2859,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 @@ -2490,11 +2876,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 @@ -2502,11 +2889,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 as_fn_executable_p "$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 @@ -2517,11 +2908,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 @@ -2533,34 +2924,138 @@ 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 + fi +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 @@ -2570,7 +3065,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 @@ -2578,7 +3073,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -2590,9 +3085,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.*" @@ -2613,11 +3108,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, @@ -2634,7 +3130,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 @@ -2650,44 +3146,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 @@ -2701,15 +3199,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 @@ -2718,7 +3216,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; @@ -2730,8 +3228,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 @@ -2739,10 +3237,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 @@ -2750,39 +3248,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) { ; @@ -2796,11 +3295,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 @@ -2809,31 +3309,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 @@ -2843,29 +3344,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 @@ -2874,57 +3379,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 @@ -2939,94 +3447,144 @@ 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 -#include -struct stat; -/* 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 @@ -3040,40 +3598,36 @@ 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; } +{ 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 ${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" + 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. - # Prefer to if __STDC__ is defined, since - # 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 -#else -# include -#endif +#include Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -3085,10 +3639,11 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -3098,7 +3653,8 @@ 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 @@ -3110,29 +3666,24 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } +{ 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. - # Prefer to if __STDC__ is defined, since - # 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 -#else -# include -#endif +#include Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -3144,10 +3695,11 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -3157,11 +3709,12 @@ 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 : -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 $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi @@ -3172,7 +3725,9 @@ 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 -# Find a good install program. We prefer a C program (faster), + + + # 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 @@ -3186,20 +3741,25 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # 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/* ) ;; @@ -3209,13 +3769,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 as_fn_executable_p "$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 @@ -3223,12 +3783,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 @@ -3244,7 +3804,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 @@ -3254,8 +3814,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. @@ -3267,26 +3827,29 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -# 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 + + # 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"` + 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 +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; } +{ 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;; @@ -3305,21 +3868,22 @@ 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 +{ 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 + 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } +{ 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;; @@ -3343,325 +3907,175 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - -{ $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 - if test -z "$GREP"; then - ac_path_GREP_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 +ac_header= ac_cache= +for ac_item in $ac_header_c_list do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - 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" - 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 -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_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 '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 - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count + 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 - # 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_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item fi -else - ac_cv_path_GREP=$GREP -fi +done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$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 - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_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 - test -z "$as_dir" && as_dir=. - 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" - 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 -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_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 '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 - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_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_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - fi + + + +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 + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" -{ $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 + + + + + { 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 -#include -#include -#include +# define __EXTENSIONS__ 1 + $ac_includes_default 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 - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no +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 -rm -f conftest* - +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_safe_to_define___extensions__" >&5 +printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; } -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + { 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. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : -else - ac_cv_header_stdc=no -fi -rm -f conftest* + #include + mbstate_t x; +int +main (void) +{ -fi + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : -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 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#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))) + #define _XOPEN_SOURCE 500 + #include + mbstate_t x; 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 +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_should_define__xopen_source=yes 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 - +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext 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 +{ 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; } -fi + printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h -# 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 + printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h -fi + printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h -done + 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 - 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 + printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h - if test "$MINIX" = yes; then + printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h -$as_echo "#define _POSIX_1_SOURCE 2" >>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 -$as_echo "#define _MINIX 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h - fi + 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 - { $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. */ + printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ + printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h - ; - 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 +else $as_nop + MINIX= 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 + if test $ac_cv_safe_to_define___extensions__ = yes +then : + printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h +fi + if test $ac_cv_should_define__xopen_source = yes +then : + printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h +fi @@ -3672,14 +4086,15 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } 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;} ;; + { 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 -macro_version='2.4.6' -macro_revision='2.4.6' +macro_version='2.4.7' +macro_revision='2.4.7' + @@ -3716,8 +4131,8 @@ 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; } +{ 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 @@ -3743,12 +4158,12 @@ func_echo_all () } 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*) { 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 @@ -3764,11 +4179,12 @@ 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 -else +{ 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" @@ -3782,10 +4198,15 @@ else 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_prog in sed gsed + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + 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 @@ -3794,13 +4215,13 @@ case `"$ac_path_SED" --version 2>&1` in ac_cv_path_SED="$ac_path_SED" ac_path_SED_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 '' >> "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 @@ -3828,8 +4249,8 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } +{ 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 @@ -3846,11 +4267,154 @@ Xsed="$SED -e 1s/^X//" -{ $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 +{ 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 + 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 grep ggrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + 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 +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_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" '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 + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_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_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ 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" + + +{ 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 + if test -z "$EGREP"; then + ac_path_EGREP_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 egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + 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 +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_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" '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 + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_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_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ 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" + + +{ 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 @@ -3861,10 +4425,15 @@ 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 fgrep; do + 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" + 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 @@ -3873,13 +4442,13 @@ case `"$ac_path_FGREP" --version 2>&1` in ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_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 'FGREP' >> "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 @@ -3908,8 +4477,8 @@ fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&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" @@ -3934,17 +4503,18 @@ test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : +if test ${with_gnu_ld+y} +then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else +else $as_nop with_gnu_ld=no fi ac_prog=ld if test yes = "$GCC"; 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; } + { 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 @@ -3973,15 +4543,16 @@ $as_echo_n "checking for ld used by $CC... " >&6; } ;; esac elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else +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 @@ -4010,18 +4581,19 @@ 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; } + { 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 -{ $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 +{ 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 &1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } +{ 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 @@ -4044,11 +4616,12 @@ 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 +{ 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 @@ -4073,13 +4646,13 @@ else 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 + 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 + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -4098,8 +4671,8 @@ else : ${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; } +{ 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 @@ -4112,11 +4685,12 @@ else 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 +{ 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 @@ -4124,11 +4698,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4139,11 +4717,11 @@ 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; } + { 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 @@ -4156,11 +4734,12 @@ if test -z "$DUMPBIN"; 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_DUMPBIN+:} 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_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 @@ -4168,11 +4747,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 as_fn_executable_p "$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_DUMPBIN="$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 @@ -4183,11 +4766,11 @@ 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; } + { 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 @@ -4199,15 +4782,15 @@ 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 DUMPBIN=$ac_ct_DUMPBIN fi fi - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -4228,11 +4811,12 @@ 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 +{ 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) @@ -4248,26 +4832,27 @@ else 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; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +printf "%s\n" "$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; } +{ 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 - { $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, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } 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 +{ 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 @@ -4309,7 +4894,7 @@ else lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | 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` @@ -4352,7 +4937,7 @@ else 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/.*[ ]//'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi @@ -4394,11 +4979,11 @@ else 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; } + { 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { 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 @@ -4442,11 +5027,12 @@ 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 +{ 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 @@ -4482,18 +5068,19 @@ 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}: result: $lt_cv_to_host_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_host_file_cmd" >&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 -else +{ 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 @@ -4509,22 +5096,23 @@ esac 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; } +{ 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; } -{ $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 -else +{ 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&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 "" | " "*) ;; @@ -4554,14 +5142,123 @@ esac +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; 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_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # 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_FILECMD="${ac_tool_prefix}file" + 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 +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +printf "%s\n" "$FILECMD" >&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_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; 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_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # 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_FILECMD="file" + 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_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +printf "%s\n" "$ac_ct_FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + 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 + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +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 +{ 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 @@ -4569,11 +5266,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4584,11 +5285,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +printf "%s\n" "$OBJDUMP" >&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 @@ -4597,11 +5298,12 @@ 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 +{ 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 @@ -4609,11 +5311,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 as_fn_executable_p "$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_OBJDUMP="objdump" - $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 @@ -4624,11 +5330,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +printf "%s\n" "$ac_ct_OBJDUMP" >&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 @@ -4636,8 +5342,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 OBJDUMP=$ac_ct_OBJDUMP @@ -4653,11 +5359,12 @@ test -z "$OBJDUMP" && OBJDUMP=objdump -{ $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 +{ 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' @@ -4683,7 +5390,7 @@ beos*) 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_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -4717,14 +5424,14 @@ darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) 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_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -4738,7 +5445,7 @@ haiku*) ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD 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' @@ -4785,7 +5492,7 @@ netbsd*) 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_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -4853,8 +5560,8 @@ os2*) esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } +{ 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 @@ -4898,11 +5605,12 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown 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 +{ 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 @@ -4910,11 +5618,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4925,11 +5637,11 @@ 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; } + { 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 @@ -4938,11 +5650,12 @@ 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 +{ 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 @@ -4950,11 +5663,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 as_fn_executable_p "$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_DLLTOOL="dlltool" - $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 @@ -4965,11 +5682,11 @@ 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; } + { 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 if test "x$ac_ct_DLLTOOL" = x; then @@ -4977,8 +5694,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 DLLTOOL=$ac_ct_DLLTOOL @@ -4995,11 +5712,12 @@ test -z "$DLLTOOL" && DLLTOOL=dlltool -{ $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 +{ 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' case $host_os in @@ -5022,8 +5740,8 @@ cygwin* | mingw* | pw32* | cegcc*) esac 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; } +{ 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 @@ -5038,11 +5756,12 @@ if test -n "$ac_tool_prefix"; 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_AR+:} 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_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 @@ -5050,11 +5769,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5065,11 +5788,11 @@ 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 @@ -5082,11 +5805,12 @@ if test -z "$AR"; 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_AR+:} 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_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 @@ -5094,11 +5818,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 as_fn_executable_p "$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_AR="$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 @@ -5109,11 +5837,11 @@ 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 @@ -5125,51 +5853,69 @@ 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 AR=$ac_ct_AR fi fi -: ${AR=ar} -: ${AR_FLAGS=cru} +: ${AR=ar} + + + + + + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. -{ $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 +{ 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 () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +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 + 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. @@ -5177,7 +5923,7 @@ if ac_fn_c_try_compile "$LINENO"; then : { { 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 + 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=@ @@ -5186,11 +5932,11 @@ if ac_fn_c_try_compile "$LINENO"; then : rm -f conftest.* libconftest.a 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: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +printf "%s\n" "$lt_cv_ar_at_file" >&6; } if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= @@ -5207,11 +5953,12 @@ 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 +{ 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 @@ -5219,11 +5966,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 as_fn_executable_p "$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 @@ -5234,11 +5985,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 @@ -5247,11 +5998,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 @@ -5259,11 +6011,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 as_fn_executable_p "$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 @@ -5274,11 +6030,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 @@ -5286,8 +6042,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 @@ -5306,11 +6062,12 @@ test -z "$STRIP" && STRIP=: 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 @@ -5318,11 +6075,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 as_fn_executable_p "$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 @@ -5333,11 +6094,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 @@ -5346,11 +6107,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 @@ -5358,11 +6120,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 as_fn_executable_p "$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 @@ -5373,11 +6139,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 @@ -5385,8 +6151,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 @@ -5450,11 +6216,12 @@ 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 @@ -5462,11 +6229,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 as_fn_executable_p "$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 @@ -5477,11 +6248,11 @@ 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 @@ -5517,11 +6288,12 @@ compiler=$CC # 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 +{ 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?!! ;)] @@ -5576,7 +6348,7 @@ 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'" + 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'" @@ -5594,20 +6366,20 @@ 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_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"\ +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_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'"\ @@ -5631,7 +6403,7 @@ for ac_symprfx in "" "_"; do 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++, + # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ @@ -5649,9 +6421,9 @@ for ac_symprfx in "" "_"; do " 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'" + 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'" + 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 @@ -5673,14 +6445,14 @@ _LT_EOF 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 + printf "%s\n" "$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 @@ -5749,7 +6521,7 @@ _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 + 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 @@ -5784,11 +6556,11 @@ 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; } + { 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: ok" >&5 -$as_echo "ok" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } fi # Response file support. @@ -5834,13 +6606,14 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } +{ 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+set}" = set; then : +if test ${with_sysroot+y} +then : withval=$with_sysroot; -else +else $as_nop with_sysroot=no fi @@ -5853,29 +6626,30 @@ case $with_sysroot in #( fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + 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; } + { 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +printf "%s\n" "${lt_sysroot:-no}" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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} @@ -5886,10 +6660,15 @@ if test -z "$lt_DD"; then for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do + 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 - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + 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 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ @@ -5909,15 +6688,16 @@ fi rm -f conftest.i conftest2.i conftest.out fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +printf "%s\n" "$ac_cv_path_lt_DD" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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= @@ -5928,8 +6708,8 @@ fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +printf "%s\n" "$lt_cv_truncate_bin" >&6; } @@ -5952,7 +6732,8 @@ func_cc_basename () } # Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : +if test ${enable_libtool_lock+y} +then : enableval=$enable_libtool_lock; fi @@ -5968,9 +6749,9 @@ ia64-*-hpux*) 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 - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -5988,10 +6769,10 @@ ia64-*-hpux*) 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 if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -6003,7 +6784,7 @@ ia64-*-hpux*) ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -6026,10 +6807,10 @@ mips64*-*linux*) 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 emul=elf - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -6037,7 +6818,7 @@ mips64*-*linux*) emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -6045,7 +6826,7 @@ mips64*-*linux*) emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -6067,16 +6848,16 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) 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 - case `/usr/bin/file conftest.o` in + case `$FILECMD 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 + case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -6130,11 +6911,12 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # 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 + { 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' @@ -6145,19 +6927,20 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu /* 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_cc_needs_belf=yes -else +else $as_nop lt_cv_cc_needs_belf=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 ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6166,8 +6949,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ 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; } +{ 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 @@ -6180,9 +6963,9 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; } 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 - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -6217,11 +7000,12 @@ 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 +{ 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 @@ -6229,11 +7013,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6244,11 +7032,11 @@ 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; } + { 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: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6257,11 +7045,12 @@ 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 +{ 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 @@ -6269,11 +7058,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 as_fn_executable_p "$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_MANIFEST_TOOL="mt" - $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 @@ -6284,11 +7077,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&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 @@ -6296,8 +7089,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 MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL @@ -6307,11 +7100,12 @@ else 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 +{ 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 @@ -6321,8 +7115,8 @@ else 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; } +{ 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 @@ -6337,11 +7131,12 @@ fi 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 +{ 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 @@ -6349,11 +7144,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6364,11 +7163,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +printf "%s\n" "$DSYMUTIL" >&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 @@ -6377,11 +7176,12 @@ 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 +{ 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 @@ -6389,11 +7189,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 as_fn_executable_p "$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_DSYMUTIL="dsymutil" - $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 @@ -6404,11 +7208,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +printf "%s\n" "$ac_ct_DSYMUTIL" >&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_DSYMUTIL" = x; then @@ -6416,8 +7220,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 DSYMUTIL=$ac_ct_DSYMUTIL @@ -6429,11 +7233,12 @@ 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 +{ 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 @@ -6441,11 +7246,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6456,11 +7265,11 @@ 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; } + { 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 @@ -6469,11 +7278,12 @@ 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 +{ 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 @@ -6481,11 +7291,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 as_fn_executable_p "$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_NMEDIT="nmedit" - $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 @@ -6496,11 +7310,11 @@ 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; } + { 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_NMEDIT" = x; then @@ -6508,8 +7322,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 NMEDIT=$ac_ct_NMEDIT @@ -6521,11 +7335,12 @@ 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 +{ 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 @@ -6533,11 +7348,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 as_fn_executable_p "$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 @@ -6548,11 +7367,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 @@ -6561,11 +7380,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 @@ -6573,11 +7393,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 as_fn_executable_p "$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 @@ -6588,11 +7412,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 @@ -6600,8 +7424,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 @@ -6613,11 +7437,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 @@ -6625,11 +7450,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 as_fn_executable_p "$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 @@ -6640,11 +7469,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 @@ -6653,11 +7482,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 @@ -6665,11 +7495,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 as_fn_executable_p "$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 @@ -6680,11 +7514,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 @@ -6692,8 +7526,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 @@ -6705,11 +7539,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 @@ -6717,11 +7552,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 as_fn_executable_p "$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 @@ -6732,11 +7571,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 @@ -6745,11 +7584,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 @@ -6757,11 +7597,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 as_fn_executable_p "$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 @@ -6772,11 +7616,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 @@ -6784,8 +7628,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 @@ -6820,11 +7664,12 @@ 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 # By default we will add the -single_module flag. You can override @@ -6853,14 +7698,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 @@ -6869,39 +7715,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 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 $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF @@ -6921,24 +7769,19 @@ _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' ;; darwin1.*) _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' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -6993,19 +7836,14 @@ func_munge_path_list () 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 +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 - @@ -7018,11 +7856,12 @@ case $host in 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 +{ 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 @@ -7030,11 +7869,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7045,11 +7888,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 +printf "%s\n" "$AS" >&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 @@ -7058,11 +7901,12 @@ 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 +{ 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 @@ -7070,11 +7914,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 as_fn_executable_p "$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_AS="as" - $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 @@ -7085,11 +7933,11 @@ 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: $ac_ct_AS" >&5 +printf "%s\n" "$ac_ct_AS" >&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_AS" = x; then @@ -7097,8 +7945,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 AS=$ac_ct_AS @@ -7110,11 +7958,12 @@ 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 +{ 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 @@ -7122,11 +7971,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7137,11 +7990,11 @@ 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; } + { 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 @@ -7150,11 +8003,12 @@ 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 +{ 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 @@ -7162,11 +8016,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 as_fn_executable_p "$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_DLLTOOL="dlltool" - $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 @@ -7177,11 +8035,11 @@ 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; } + { 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 if test "x$ac_ct_DLLTOOL" = x; then @@ -7189,8 +8047,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 DLLTOOL=$ac_ct_DLLTOOL @@ -7202,11 +8060,12 @@ 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 +{ 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 @@ -7214,11 +8073,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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7229,11 +8092,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +printf "%s\n" "$OBJDUMP" >&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 @@ -7242,11 +8105,12 @@ 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 +{ 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 @@ -7254,11 +8118,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 as_fn_executable_p "$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_OBJDUMP="objdump" - $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 @@ -7269,11 +8137,11 @@ 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +printf "%s\n" "$ac_ct_OBJDUMP" >&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 @@ -7281,8 +8149,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 OBJDUMP=$ac_ct_OBJDUMP @@ -7319,7 +8187,8 @@ test -z "$OBJDUMP" && OBJDUMP=objdump # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : +if test ${enable_shared+y} +then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; @@ -7337,7 +8206,7 @@ if test "${enable_shared+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_shared=yes fi @@ -7350,7 +8219,8 @@ 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 ;; @@ -7368,7 +8238,7 @@ if test "${enable_static+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_static=yes fi @@ -7382,7 +8252,8 @@ 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 ;; @@ -7399,7 +8270,7 @@ if test "${with_pic+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop pic_mode=default fi @@ -7411,7 +8282,8 @@ fi # 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 ;; @@ -7429,7 +8301,7 @@ if test "${enable_fast_install+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_fast_install=yes fi @@ -7443,11 +8315,12 @@ fi shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + { 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+set}" = set; then : +if test ${with_aix_soname+y} +then : withval=$with_aix_soname; case $withval in aix|svr4|both) ;; @@ -7456,18 +8329,19 @@ if test "${with_aix_soname+set}" = set; then : ;; esac lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else +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 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } + { 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', @@ -7549,11 +8423,12 @@ 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 @@ -7564,17 +8439,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 @@ -7595,8 +8468,8 @@ esac ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -7620,11 +8493,12 @@ 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. @@ -7673,11 +8547,11 @@ fi 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 @@ -7686,11 +8560,12 @@ 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. @@ -7739,11 +8614,11 @@ fi 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 @@ -7828,11 +8703,12 @@ if test yes = "$GCC"; 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 @@ -7863,8 +8739,8 @@ 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 yes = "$lt_cv_prog_compiler_rtti_exceptions"; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" @@ -8105,7 +8981,7 @@ lt_prog_compiler_static= lt_prog_compiler_static='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + 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='-KPIC' @@ -8221,26 +9097,28 @@ 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 @@ -8271,8 +9149,8 @@ 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 yes = "$lt_cv_prog_compiler_pic_works"; then case $lt_prog_compiler_pic in @@ -8300,11 +9178,12 @@ 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 LDFLAGS="$LDFLAGS $lt_tmp_static_flag" @@ -8328,8 +9207,8 @@ else 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 yes = "$lt_cv_prog_compiler_static_works"; then : @@ -8343,11 +9222,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 @@ -8390,19 +9270,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 @@ -8445,8 +9326,8 @@ 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; } @@ -8454,19 +9335,19 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; } 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; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } if test no = "$hard_links"; 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}: 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 @@ -8478,8 +9359,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= @@ -8523,15 +9404,15 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -8583,7 +9464,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie whole_archive_flag_spec= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 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 ... @@ -8695,6 +9576,7 @@ _LT_EOF 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 + file_list_spec='@' ;; interix[3-9]*) @@ -8709,7 +9591,7 @@ _LT_EOF # 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_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) @@ -8752,7 +9634,7 @@ _LT_EOF compiler_needs_object=yes ;; esac - case `$CC -V 2>&1 | sed 5q` in + 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' compiler_needs_object=yes @@ -8764,7 +9646,7 @@ _LT_EOF 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~ + 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 @@ -8780,7 +9662,7 @@ _LT_EOF archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' 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~ + 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 @@ -8912,7 +9794,7 @@ _LT_EOF 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) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - 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' + 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 == "L") || (\$ 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 @@ -9034,21 +9916,23 @@ _LT_EOF 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/,/^$/ { @@ -9063,7 +9947,7 @@ 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 @@ -9087,21 +9971,23 @@ fi 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/,/^$/ { @@ -9116,7 +10002,7 @@ 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 @@ -9179,12 +10065,12 @@ fi cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl*) - # Native MSVC + cl* | icl*) + # Native MSVC or ICC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes @@ -9225,7 +10111,7 @@ fi fi' ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. @@ -9266,8 +10152,8 @@ fi 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_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 @@ -9301,7 +10187,7 @@ fi ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -9367,11 +10253,12 @@ fi # 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 LDFLAGS="$LDFLAGS -b" @@ -9395,8 +10282,8 @@ else 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 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' @@ -9436,28 +10323,30 @@ fi # 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 + { 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 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } +{ 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 @@ -9549,6 +10438,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; } 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 + file_list_spec='@' ;; osf3*) @@ -9737,8 +10627,8 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; } fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } +{ 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 @@ -9774,18 +10664,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 @@ -9803,7 +10694,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 @@ -9817,8 +10708,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 @@ -9977,8 +10868,8 @@ 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 yes = "$GCC"; then case $host_os in @@ -10240,7 +11131,7 @@ 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" ;; @@ -10250,14 +11141,14 @@ cygwin* | mingw* | pw32* | cegcc*) ;; 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' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -10276,7 +11167,7 @@ cygwin* | mingw* | pw32* | cegcc*) done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -10313,7 +11204,7 @@ cygwin* | mingw* | pw32* | cegcc*) ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -10346,7 +11237,7 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -10539,9 +11430,10 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 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 @@ -10551,19 +11443,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 @@ -10795,8 +11689,8 @@ uts4*) dynamic_linker=no ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } +{ 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" @@ -10917,8 +11811,8 @@ configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || @@ -10942,8 +11836,8 @@ 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 relink = "$hardcode_action" || test yes = "$inherit_rpath"; then @@ -10987,11 +11881,12 @@ else 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 + { 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 @@ -11000,32 +11895,31 @@ 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 : +{ 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 +else $as_nop lt_cv_dlopen=dyld lt_cv_dlopen_libs= @@ -11045,14 +11939,16 @@ fi *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : +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 +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 @@ -11061,41 +11957,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 : +{ 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 +else $as_nop ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : +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 +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 @@ -11104,37 +12001,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 : +{ 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_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 +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 @@ -11143,37 +12040,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 : +{ 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_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 +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 @@ -11182,30 +12079,29 @@ 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 : +{ 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 @@ -11244,11 +12140,12 @@ fi 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 + { 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 @@ -11327,7 +12224,7 @@ _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 + 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=$? @@ -11345,16 +12242,17 @@ 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 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 + { 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 @@ -11433,7 +12331,7 @@ _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 + 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=$? @@ -11451,8 +12349,8 @@ 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 @@ -11490,32 +12388,43 @@ 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; } -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; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then +{ 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 -z "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" - { $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; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { 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; } + fi + ;; + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + ;; + esac + fi fi @@ -11530,13 +12439,13 @@ fi # Report what 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; } + { 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; } + { 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 @@ -11560,15 +12469,15 @@ $as_echo_n "checking whether to build shared libraries... " >&6; } 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 yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +printf "%s\n" "$enable_static" >&6; } @@ -11607,9 +12516,10 @@ CC=$lt_save_CC # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : +if test ${with_gnu_ld+y} +then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else +else $as_nop with_gnu_ld=no fi @@ -11627,25 +12537,26 @@ if test "${PATH_SEPARATOR+set}" != set; then fi if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld" >&5 -$as_echo_n "checking for ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld" >&5 +printf %s "checking for ld... " >&6; } elif test "$GCC" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } + { 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "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; } + { 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 -n "$LD"; then # Let the user override the test with a path. : else - if ${acl_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else + 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 @@ -11707,14 +12618,15 @@ else *-*-aix*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if defined __powerpc64__ || defined _ARCH_PPC64 +#if defined __powerpc64__ || defined __LP64__ int ok; #else error fail #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +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 @@ -11723,7 +12635,7 @@ if ac_fn_c_try_compile "$LINENO"; then : esac 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 ;; sparc64-*-netbsd*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11735,9 +12647,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext #endif _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else +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 @@ -11746,7 +12659,7 @@ else esac 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 ;; esac @@ -11755,18 +12668,19 @@ fi LD="$acl_cv_path_LD" fi if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } + { 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; } as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 fi -{ $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 +{ 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 &1 &5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } +{ 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library path variable" >&5 -$as_echo_n "checking for shared library path variable... " >&6; } -if ${acl_cv_libpath+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shared library path variable" >&5 +printf %s "checking for shared library path variable... " >&6; } +if test ${acl_cv_libpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop LD="$LD" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.libpath" "$host" > conftest.sh @@ -11796,28 +12711,29 @@ else acl_cv_libpath=${acl_cv_shlibpath_var:-none} fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libpath" >&5 -$as_echo "$acl_cv_libpath" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libpath" >&5 +printf "%s\n" "$acl_cv_libpath" >&6; } shlibpath_var="$acl_cv_shlibpath_var" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to activate relocatable installation" >&5 -$as_echo_n "checking whether to activate relocatable installation... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to activate relocatable installation" >&5 +printf %s "checking whether to activate relocatable installation... " >&6; } # Check whether --enable-relocatable was given. -if test "${enable_relocatable+set}" = set; then : +if test ${enable_relocatable+y} +then : enableval=$enable_relocatable; if test "$enableval" != no; then RELOCATABLE=yes else RELOCATABLE=no fi -else +else $as_nop RELOCATABLE=no fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RELOCATABLE" >&5 -$as_echo "$RELOCATABLE" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RELOCATABLE" >&5 +printf "%s\n" "$RELOCATABLE" >&6; } @@ -11827,13 +12743,11 @@ $as_echo "$RELOCATABLE" >&6; } reloc_final_prefix="$prefix" fi -cat >>confdefs.h <<_ACEOF -#define INSTALLPREFIX "${reloc_final_prefix}" -_ACEOF +printf "%s\n" "#define INSTALLPREFIX \"${reloc_final_prefix}\"" >>confdefs.h if test $RELOCATABLE = yes; then -$as_echo "#define ENABLE_RELOCATABLE 1" >>confdefs.h +printf "%s\n" "#define ENABLE_RELOCATABLE 1" >>confdefs.h fi @@ -11851,28 +12765,19 @@ $as_echo "#define ENABLE_RELOCATABLE 1" >>confdefs.h if test $RELOCATABLE = yes; then # --enable-relocatable implies --disable-rpath enable_rpath=no - for ac_header in mach-o/dyld.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "mach-o/dyld.h" "ac_cv_header_mach_o_dyld_h" "$ac_includes_default" -if test "x$ac_cv_header_mach_o_dyld_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MACH_O_DYLD_H 1 -_ACEOF + ac_fn_c_check_header_compile "$LINENO" "mach-o/dyld.h" "ac_cv_header_mach_o_dyld_h" "$ac_includes_default" +if test "x$ac_cv_header_mach_o_dyld_h" = xyes +then : + printf "%s\n" "#define HAVE_MACH_O_DYLD_H 1" >>confdefs.h fi -done - - for ac_func in _NSGetExecutablePath -do : - ac_fn_c_check_func "$LINENO" "_NSGetExecutablePath" "ac_cv_func__NSGetExecutablePath" -if test "x$ac_cv_func__NSGetExecutablePath" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE__NSGETEXECUTABLEPATH 1 -_ACEOF + ac_fn_c_check_func "$LINENO" "_NSGetExecutablePath" "ac_cv_func__NSGetExecutablePath" +if test "x$ac_cv_func__NSGetExecutablePath" = xyes +then : + printf "%s\n" "#define HAVE__NSGETEXECUTABLEPATH 1" >>confdefs.h fi -done case "$host_os" in mingw*) is_noop=yes ;; @@ -11881,30 +12786,27 @@ done # glibc systems, Linux with musl libc: yes. Android: no. linux*-android*) ;; linux* | kfreebsd*) use_elf_origin_trick=yes ;; - # Hurd: + # Hurd: # only after the glibc commit from 2018-01-08 # gnu*) # Test for a glibc version >= 2.27. - for ac_func in copy_file_range -do : - ac_fn_c_check_func "$LINENO" "copy_file_range" "ac_cv_func_copy_file_range" -if test "x$ac_cv_func_copy_file_range" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_COPY_FILE_RANGE 1 -_ACEOF + ac_fn_c_check_func "$LINENO" "copy_file_range" "ac_cv_func_copy_file_range" +if test "x$ac_cv_func_copy_file_range" = xyes +then : + printf "%s\n" "#define HAVE_COPY_FILE_RANGE 1" >>confdefs.h fi -done if test $ac_cv_func_copy_file_range = yes; then use_elf_origin_trick=yes fi ;; - # FreeBSD >= 7.3, DragonFly >= 3.0: yes. + # FreeBSD >= 7.3, DragonFly >= 3.0, MidnightBSD >= 1.1: yes. freebsd | freebsd[1-7] | freebsd[1-6].* | freebsd7.[0-2]) ;; dragonfly | dragonfly[1-2] | dragonfly[1-2].*) ;; - freebsd* | dragonfly*) use_elf_origin_trick=yes ;; + midnightbsd | midnightbsd0* | midnightbsd1.0*) ;; + freebsd* | dragonfly* | midnightbsd*) use_elf_origin_trick=yes ;; # NetBSD >= 8.0: yes. netbsd | netbsd[1-7] | netbsd[1-7].*) ;; netbsdelf | netbsdelf[1-7] | netbsdelf[1-7].*) ;; @@ -11990,40 +12892,43 @@ fi 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 + { 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. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_cc_vis_werror=yes -else +else $as_nop gl_cv_cc_vis_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_ext CFLAGS="$gl_save_CFLAGS" fi -{ $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 +{ 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 @@ -12035,27 +12940,33 @@ 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) {} int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : gl_cv_cc_visibility=yes -else +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_cc_visibility" >&5 -$as_echo "$gl_cv_cc_visibility" >&6; } +{ 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 @@ -12064,101 +12975,80 @@ $as_echo "$gl_cv_cc_visibility" >&6; } -cat >>confdefs.h <<_ACEOF -#define HAVE_VISIBILITY $HAVE_VISIBILITY -_ACEOF +printf "%s\n" "#define HAVE_VISIBILITY $HAVE_VISIBILITY" >>confdefs.h - { $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 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 int -main () +main (void) { char* cs = nl_langinfo(CODESET); return !cs; ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : am_cv_langinfo_codeset=yes -else +else $as_nop am_cv_langinfo_codeset=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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5 -$as_echo "$am_cv_langinfo_codeset" >&6; } +{ 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 -$as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h +printf "%s\n" "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h fi - - - - 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 - -done - - - - - - - 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 - -fi +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 - - - - { $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 : + { 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*) gl_cv_header_working_fcntl_h='no' ;; *) gl_cv_header_working_fcntl_h=cross-compiling ;; esac -else +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -12171,6 +13061,7 @@ else # defined sleep(n) _sleep ((n) * 1000) #endif #include + GL_MDA_DEFINES #ifndef O_NOATIME #define O_NOATIME 0 #endif @@ -12184,7 +13075,7 @@ else }; int -main () +main (void) { int result = !constants; @@ -12254,9 +13145,10 @@ main () return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : +if ac_fn_c_try_run "$LINENO" +then : gl_cv_header_working_fcntl_h=yes -else +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)';; #( @@ -12270,17 +13162,15 @@ fi 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" "$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 -cat >>confdefs.h <<_ACEOF -#define HAVE_WORKING_O_NOATIME $ac_val -_ACEOF +printf "%s\n" "#define HAVE_WORKING_O_NOATIME $ac_val" >>confdefs.h case $gl_cv_header_working_fcntl_h in #( @@ -12288,64 +13178,25 @@ _ACEOF *) ac_val=1;; esac -cat >>confdefs.h <<_ACEOF -#define HAVE_WORKING_O_NOFOLLOW $ac_val -_ACEOF - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library >= 2.1 or uClibc" >&5 -$as_echo_n "checking whether we are using the GNU C Library >= 2.1 or uClibc... " >&6; } -if ${ac_cv_gnu_library_2_1+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif -#ifdef __UCLIBC__ - Lucky user -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky" >/dev/null 2>&1; then : - ac_cv_gnu_library_2_1=yes -else - ac_cv_gnu_library_2_1=no -fi -rm -f conftest* - - +printf "%s\n" "#define HAVE_WORKING_O_NOFOLLOW $ac_val" >>confdefs.h -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5 -$as_echo "$ac_cv_gnu_library_2_1" >&6; } - - GLIBC21="$ac_cv_gnu_library_2_1" - -for ac_func in setlocale -do : - ac_fn_c_check_func "$LINENO" "setlocale" "ac_cv_func_setlocale" -if test "x$ac_cv_func_setlocale" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SETLOCALE 1 -_ACEOF +ac_fn_c_check_func "$LINENO" "setlocale" "ac_cv_func_setlocale" +if test "x$ac_cv_func_setlocale" = xyes +then : + printf "%s\n" "#define HAVE_SETLOCALE 1" >>confdefs.h fi -done ac_config_files="$ac_config_files Makefile" ac_config_files="$ac_config_files lib/Makefile" +ac_config_files="$ac_config_files include/libcharset.h:include/libcharset.h.build.in" + +ac_config_files="$ac_config_files include/libcharset.h.inst:include/libcharset.h.in" + ac_config_files="$ac_config_files include/localcharset.h:include/localcharset.h.build.in" ac_config_files="$ac_config_files include/localcharset.h.inst:include/localcharset.h.in" @@ -12377,8 +13228,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) ;; #( @@ -12408,15 +13259,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 @@ -12430,8 +13281,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 @@ -12448,7 +13299,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" @@ -12472,8 +13323,8 @@ fi 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 @@ -12496,14 +13347,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 ;; #( @@ -12513,46 +13366,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&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 || @@ -12561,13 +13414,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 #(( @@ -12576,8 +13422,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 @@ -12589,30 +13439,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] @@ -12625,13 +13455,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. @@ -12658,18 +13489,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 @@ -12681,12 +13514,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` @@ -12717,7 +13551,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 @@ -12739,6 +13573,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*) @@ -12752,6 +13590,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 @@ -12793,7 +13637,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" @@ -12802,7 +13646,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 @@ -12864,8 +13708,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 libcharset $as_me 1.4, which was -generated by GNU Autoconf 2.69. Invocation command line was +This file was extended by libcharset $as_me 1.5, which was +generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -12927,14 +13771,16 @@ $config_commands Report bugs to the package provider." _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="\\ -libcharset config.status 1.4 -configured by $0, generated by GNU Autoconf 2.69, +libcharset config.status 1.5 +configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" -Copyright (C) 2012 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." @@ -12973,15 +13819,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'" @@ -12989,7 +13835,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;; @@ -12998,7 +13844,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=: ;; @@ -13026,7 +13872,7 @@ 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 shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" @@ -13040,7 +13886,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 @@ -13094,12 +13940,14 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' @@ -13223,13 +14071,13 @@ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ +FILECMD \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ sharedlib_from_linklib_cmd \ AR \ -AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ @@ -13346,6 +14194,8 @@ do "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; + "include/libcharset.h") CONFIG_FILES="$CONFIG_FILES include/libcharset.h:include/libcharset.h.build.in" ;; + "include/libcharset.h.inst") CONFIG_FILES="$CONFIG_FILES include/libcharset.h.inst:include/libcharset.h.in" ;; "include/localcharset.h") CONFIG_FILES="$CONFIG_FILES include/localcharset.h:include/localcharset.h.build.in" ;; "include/localcharset.h.inst") CONFIG_FILES="$CONFIG_FILES include/localcharset.h.inst:include/localcharset.h.in" ;; @@ -13359,9 +14209,9 @@ 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_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_COMMANDS+y} || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree @@ -13697,7 +14547,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 @@ -13705,17 +14555,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 @@ -13732,7 +14582,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 @@ -13756,9 +14606,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/ ;; @@ -13815,8 +14665,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=' @@ -13859,9 +14709,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" @@ -13877,27 +14727,27 @@ 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 ;; - :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 @@ -14047,6 +14897,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -14065,8 +14918,11 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + # Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS +AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec @@ -14434,6 +15290,7 @@ _LT_EOF esac + ltmain=$ac_aux_dir/ltmain.sh @@ -14441,7 +15298,7 @@ ltmain=$ac_aux_dir/ltmain.sh # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ + $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || @@ -14483,7 +15340,8 @@ 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;} + { 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 + diff --git a/source/libcharset/configure.ac b/source/libcharset/configure.ac index 362bde3..b4cdb0b 100644 --- a/source/libcharset/configure.ac +++ b/source/libcharset/configure.ac @@ -1,22 +1,22 @@ -dnl Copyright (C) 2000-2003, 2005-2009, 2016, 2018-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2000-2003, 2005-2009, 2016, 2018-2020 Free Software Foundation, Inc. dnl This file is part of the GNU CHARSET Library. dnl dnl The GNU CHARSET Library is free software; you can redistribute it and/or -dnl modify it under the terms of the GNU Library General Public License as +dnl modify it under the terms of the GNU Lesser General Public License as dnl published by the Free Software Foundation; either version 2 of the dnl License, or (at your option) any later version. dnl dnl The GNU CHARSET Library is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Library General Public License for more details. +dnl Lesser General Public License for more details. dnl -dnl You should have received a copy of the GNU Library General Public License +dnl You should have received a copy of the GNU Lesser General Public License dnl along with the GNU CHARSET Library; see the file COPYING.LIB. If not, dnl see . -AC_PREREQ([2.63]) -AC_INIT([libcharset], [1.4]) +AC_PREREQ([2.64]) +AC_INIT([libcharset], [1.5]) AC_CONFIG_SRCDIR([lib/localcharset.c]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([config.h]) @@ -55,11 +55,12 @@ dnl checks for header files and functions AM_LANGINFO_CODESET gl_FCNTL_O_FLAGS -gl_GLIBC21 AC_CHECK_FUNCS([setlocale]) AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([lib/Makefile]) +AC_CONFIG_FILES([include/libcharset.h:include/libcharset.h.build.in]) +AC_CONFIG_FILES([include/libcharset.h.inst:include/libcharset.h.in]) AC_CONFIG_FILES([include/localcharset.h:include/localcharset.h.build.in]) AC_CONFIG_FILES([include/localcharset.h.inst:include/localcharset.h.in]) AC_OUTPUT diff --git a/source/libcharset/include/libcharset.h.build.in b/source/libcharset/include/libcharset.h.build.in new file mode 100644 index 0000000..46e911a --- /dev/null +++ b/source/libcharset/include/libcharset.h.build.in @@ -0,0 +1,53 @@ +/* Copyright (C) 2003 Free Software Foundation, Inc. + This file is part of the GNU CHARSET Library. + + The GNU CHARSET 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 of the + License, or (at your option) any later version. + + The GNU CHARSET 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 CHARSET Library; see the file COPYING.LIB. If not, + see . */ + +#ifndef _LIBCHARSET_H +#define _LIBCHARSET_H + +#if @HAVE_VISIBILITY@ && BUILDING_LIBCHARSET +#define LIBCHARSET_DLL_EXPORTED __attribute__((__visibility__("default"))) +#elif defined _MSC_VER && BUILDING_LIBCHARSET +#define LIBCHARSET_DLL_EXPORTED __declspec(dllexport) +#else +#define LIBCHARSET_DLL_EXPORTED +#endif + +#include + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Support for relocatable packages. */ + +/* Sets the original and the current installation prefix of the package. + Relocation simply replaces a pathname starting with the original prefix + by the corresponding pathname with the current prefix instead. Both + prefixes should be directory names without trailing slash (i.e. use "" + instead of "/"). */ +extern LIBCHARSET_DLL_EXPORTED void libcharset_set_relocation_prefix (const char *orig_prefix, + const char *curr_prefix); + + +#ifdef __cplusplus +} +#endif + + +#endif /* _LIBCHARSET_H */ diff --git a/source/libcharset/include/libcharset.h.in b/source/libcharset/include/libcharset.h.in index c8c1de8..fcf2274 100644 --- a/source/libcharset/include/libcharset.h.in +++ b/source/libcharset/include/libcharset.h.in @@ -2,16 +2,16 @@ This file is part of the GNU CHARSET Library. The GNU CHARSET Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as + 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. The GNU CHARSET 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public License + You should have received a copy of the GNU Lesser General Public License along with the GNU CHARSET Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/libcharset/include/localcharset.h.build.in b/source/libcharset/include/localcharset.h.build.in index bddead3..a1628d2 100644 --- a/source/libcharset/include/localcharset.h.build.in +++ b/source/libcharset/include/localcharset.h.build.in @@ -1,18 +1,18 @@ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2003, 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2009-2019 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published + under the terms of the GNU Lesser 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public License + You should have received a copy of the GNU Lesser General Public License along with this program; if not, see . */ #ifndef _LOCALCHARSET_H @@ -34,7 +34,10 @@ extern "C" { /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed below. - The result must not be freed; it is statically allocated. + The result must not be freed; it is statically allocated. The result + becomes invalid when setlocale() is used to change the global locale, or + when the value of one of the environment variables LC_ALL, LC_CTYPE, LANG + is changed; threads in multithreaded programs should not do this. If the canonical name cannot be determined, the result is a non-canonical name. */ extern LIBCHARSET_DLL_EXPORTED const char * locale_charset (void); @@ -53,15 +56,15 @@ extern LIBCHARSET_DLL_EXPORTED const char * locale_charset (void); (darwin = Mac OS X, windows = native Windows) ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin minix cygwin - ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin - ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin + ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos + ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos ISO-8859-3 Y glibc solaris cygwin ISO-8859-4 Y hpux osf solaris freebsd netbsd openbsd darwin - ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin + ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos ISO-8859-6 Y glibc aix hpux solaris cygwin - ISO-8859-7 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin - ISO-8859-8 Y glibc aix hpux osf solaris cygwin - ISO-8859-9 Y glibc aix hpux irix osf solaris freebsd darwin cygwin + ISO-8859-7 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos + ISO-8859-8 Y glibc aix hpux osf solaris cygwin zos + ISO-8859-9 Y glibc aix hpux irix osf solaris freebsd darwin cygwin zos ISO-8859-13 glibc hpux solaris freebsd netbsd openbsd darwin cygwin ISO-8859-14 glibc cygwin ISO-8859-15 glibc aix irix osf solaris freebsd netbsd openbsd darwin cygwin @@ -84,7 +87,7 @@ extern LIBCHARSET_DLL_EXPORTED const char * locale_charset (void); CP874 windows dos CP922 aix CP932 aix cygwin windows dos - CP943 aix + CP943 aix zos CP949 osf darwin windows dos CP950 windows dos CP1046 aix @@ -100,17 +103,17 @@ extern LIBCHARSET_DLL_EXPORTED const char * locale_charset (void); CP1255 glibc windows CP1256 windows CP1257 windows - GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin cygwin + GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin cygwin zos EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin - EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin + EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin zos EUC-TW glibc aix hpux irix osf solaris netbsd - BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin + BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin zos BIG5-HKSCS glibc hpux solaris netbsd darwin GBK glibc aix osf solaris freebsd darwin cygwin windows dos GB18030 glibc hpux solaris freebsd netbsd darwin SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin JOHAB glibc solaris windows - TIS-620 glibc aix hpux osf solaris cygwin + TIS-620 glibc aix hpux osf solaris cygwin zos VISCII Y glibc TCVN5712-1 glibc ARMSCII-8 glibc freebsd netbsd darwin @@ -124,7 +127,7 @@ extern LIBCHARSET_DLL_EXPORTED const char * locale_charset (void); HP-KANA8 hpux DEC-KANJI osf DEC-HANYU osf - UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin + UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin zos Note: Names which are not marked as being a MIME name should not be used in Internet protocols for information interchange (mail, news, etc.). diff --git a/source/libcharset/include/localcharset.h.in b/source/libcharset/include/localcharset.h.in index e6f2627..34ce0ad 100644 --- a/source/libcharset/include/localcharset.h.in +++ b/source/libcharset/include/localcharset.h.in @@ -1,18 +1,18 @@ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2003, 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2009-2019 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published + under the terms of the GNU Lesser 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public License + You should have received a copy of the GNU Lesser General Public License along with this program; if not, see . */ #ifndef _LOCALCHARSET_H @@ -26,7 +26,10 @@ extern "C" { /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed below. - The result must not be freed; it is statically allocated. + The result must not be freed; it is statically allocated. The result + becomes invalid when setlocale() is used to change the global locale, or + when the value of one of the environment variables LC_ALL, LC_CTYPE, LANG + is changed; threads in multithreaded programs should not do this. If the canonical name cannot be determined, the result is a non-canonical name. */ extern const char * locale_charset (void); @@ -45,15 +48,15 @@ extern const char * locale_charset (void); (darwin = Mac OS X, windows = native Windows) ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin minix cygwin - ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin - ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin + ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos + ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos ISO-8859-3 Y glibc solaris cygwin ISO-8859-4 Y hpux osf solaris freebsd netbsd openbsd darwin - ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin + ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos ISO-8859-6 Y glibc aix hpux solaris cygwin - ISO-8859-7 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin - ISO-8859-8 Y glibc aix hpux osf solaris cygwin - ISO-8859-9 Y glibc aix hpux irix osf solaris freebsd darwin cygwin + ISO-8859-7 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos + ISO-8859-8 Y glibc aix hpux osf solaris cygwin zos + ISO-8859-9 Y glibc aix hpux irix osf solaris freebsd darwin cygwin zos ISO-8859-13 glibc hpux solaris freebsd netbsd openbsd darwin cygwin ISO-8859-14 glibc cygwin ISO-8859-15 glibc aix irix osf solaris freebsd netbsd openbsd darwin cygwin @@ -76,7 +79,7 @@ extern const char * locale_charset (void); CP874 windows dos CP922 aix CP932 aix cygwin windows dos - CP943 aix + CP943 aix zos CP949 osf darwin windows dos CP950 windows dos CP1046 aix @@ -92,17 +95,17 @@ extern const char * locale_charset (void); CP1255 glibc windows CP1256 windows CP1257 windows - GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin cygwin + GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin cygwin zos EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin - EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin + EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin zos EUC-TW glibc aix hpux irix osf solaris netbsd - BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin + BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin zos BIG5-HKSCS glibc hpux solaris netbsd darwin GBK glibc aix osf solaris freebsd darwin cygwin windows dos GB18030 glibc hpux solaris freebsd netbsd darwin SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin JOHAB glibc solaris windows - TIS-620 glibc aix hpux osf solaris cygwin + TIS-620 glibc aix hpux osf solaris cygwin zos VISCII Y glibc TCVN5712-1 glibc ARMSCII-8 glibc freebsd netbsd darwin @@ -116,7 +119,7 @@ extern const char * locale_charset (void); HP-KANA8 hpux DEC-KANJI osf DEC-HANYU osf - UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin + UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin zos Note: Names which are not marked as being a MIME name should not be used in Internet protocols for information interchange (mail, news, etc.). diff --git a/source/libcharset/lib/ChangeLog b/source/libcharset/lib/ChangeLog index 9d14ce8..bab618e 100644 --- a/source/libcharset/lib/ChangeLog +++ b/source/libcharset/lib/ChangeLog @@ -1,3 +1,43 @@ +2019-12-24 Bruno Haible + + Update from gnulib. + 2019-12-24 Bruno Haible + localcharset: Avoid referencing rpl_setlocale on native Windows. + * localcharset.c (setlocale): Undefine. + +2019-12-22 Bruno Haible + + Update from gnulib. + 2019-12-22 Bruno Haible + localcharset: Update support for OpenBSD. + * localcharset.c (alias_table): Map "US-ASCII" to "ASCII". + 2019-12-17 Bruno Haible + localcharset: Fix multithread-safety bug on Windows and OS/2. + * localcharset.c (locale_charset): Use a stack-allocated buffer + to assemble the result. + 2019-12-17 Bruno Haible + localcharset: Optimize code for native Windows. + * localcharset.c (locale_charset): Don't bother calling + setlocale (LC_ALL, NULL) since we're not interested in its + result. + 2019-09-23 Paul Eggert + Update URLs and associated text + +2019-08-11 Bruno Haible + + Update from gnulib. + 2019-08-11 Bruno Haible + Based on patch by KO Myung-Hun in + . + * localcharset.c (alias_table) [OS2]: Add more aliases. + +2019-07-02 Bruno Haible + + Update from gnulib. + 2019-07-02 Bruno Haible + * localcharset.c (locale_charset): Return "UTF-8" instead of + "CPutf8". + 2019-01-27 Bruno Haible Accommodate a shell that is not in /bin/sh. diff --git a/source/libcharset/lib/localcharset.c b/source/libcharset/lib/localcharset.c index 3effe1d..dbcd384 100644 --- a/source/libcharset/lib/localcharset.c +++ b/source/libcharset/lib/localcharset.c @@ -1,18 +1,18 @@ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2006, 2008-2018 Free Software Foundation, Inc. + Copyright (C) 2000-2006, 2008-2019 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published + under the terms of the GNU Lesser 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public License + You should have received a copy of the GNU Lesser General Public License along with this program; if not, see . */ /* Written by Bruno Haible . */ @@ -58,6 +58,9 @@ #elif defined WINDOWS_NATIVE # define WIN32_LEAN_AND_MEAN # include + /* For the use of setlocale() below, the Gnulib override in setlocale.c is + not needed; see the platform lists in setlocale_null.m4. */ +# undef setlocale #endif #if defined OS2 # define INCL_DOS @@ -150,7 +153,8 @@ static const struct table_entry alias_table[] = { "ISO8859-2", "ISO-8859-2" }, { "ISO8859-4", "ISO-8859-4" }, { "ISO8859-5", "ISO-8859-5" }, - { "ISO8859-7", "ISO-8859-7" } + { "ISO8859-7", "ISO-8859-7" }, + { "US-ASCII", "ASCII" } # define alias_table_defined # endif # if defined __APPLE__ && defined __MACH__ /* Mac OS X */ @@ -377,27 +381,164 @@ static const struct table_entry alias_table[] = /* The list of encodings is taken from "List of OS/2 Codepages" by Alex Taylor: . - See also "IBM Globalization - Code page identifiers": - . */ - { "CP1089", "ISO-8859-6" }, - { "CP1208", "UTF-8" }, - { "CP1381", "GB2312" }, - { "CP1386", "GBK" }, - { "CP3372", "EUC-JP" }, - { "CP813", "ISO-8859-7" }, - { "CP819", "ISO-8859-1" }, - { "CP878", "KOI8-R" }, - { "CP912", "ISO-8859-2" }, - { "CP913", "ISO-8859-3" }, - { "CP914", "ISO-8859-4" }, - { "CP915", "ISO-8859-5" }, - { "CP916", "ISO-8859-8" }, - { "CP920", "ISO-8859-9" }, - { "CP921", "ISO-8859-13" }, - { "CP923", "ISO-8859-15" }, - { "CP954", "EUC-JP" }, - { "CP964", "EUC-TW" }, - { "CP970", "EUC-KR" } + See also "__convcp() of kLIBC": + . */ + { "CP1004", "CP1252" }, + /*{ "CP1041", "CP943" },*/ + /*{ "CP1088", "CP949" },*/ + { "CP1089", "ISO-8859-6" }, + /*{ "CP1114", "CP950" },*/ + /*{ "CP1115", "GB2312" },*/ + { "CP1208", "UTF-8" }, + /*{ "CP1380", "GB2312" },*/ + { "CP1381", "GB2312" }, + { "CP1383", "GB2312" }, + { "CP1386", "GBK" }, + /*{ "CP301", "CP943" },*/ + { "CP3372", "EUC-JP" }, + { "CP4946", "CP850" }, + /*{ "CP5048", "JIS_X0208-1990" },*/ + /*{ "CP5049", "JIS_X0212-1990" },*/ + /*{ "CP5067", "KS_C_5601-1987" },*/ + { "CP813", "ISO-8859-7" }, + { "CP819", "ISO-8859-1" }, + { "CP878", "KOI8-R" }, + /*{ "CP897", "CP943" },*/ + { "CP912", "ISO-8859-2" }, + { "CP913", "ISO-8859-3" }, + { "CP914", "ISO-8859-4" }, + { "CP915", "ISO-8859-5" }, + { "CP916", "ISO-8859-8" }, + { "CP920", "ISO-8859-9" }, + { "CP921", "ISO-8859-13" }, + { "CP923", "ISO-8859-15" }, + /*{ "CP941", "CP943" },*/ + /*{ "CP947", "CP950" },*/ + /*{ "CP951", "CP949" },*/ + /*{ "CP952", "JIS_X0208-1990" },*/ + /*{ "CP953", "JIS_X0212-1990" },*/ + { "CP954", "EUC-JP" }, + { "CP964", "EUC-TW" }, + { "CP970", "EUC-KR" }, + /*{ "CP971", "KS_C_5601-1987" },*/ + { "IBM-1004", "CP1252" }, + /*{ "IBM-1006", "?" },*/ + /*{ "IBM-1008", "?" },*/ + /*{ "IBM-1041", "CP943" },*/ + /*{ "IBM-1051", "?" },*/ + /*{ "IBM-1088", "CP949" },*/ + { "IBM-1089", "ISO-8859-6" }, + /*{ "IBM-1098", "?" },*/ + /*{ "IBM-1114", "CP950" },*/ + /*{ "IBM-1115", "GB2312" },*/ + /*{ "IBM-1116", "?" },*/ + /*{ "IBM-1117", "?" },*/ + /*{ "IBM-1118", "?" },*/ + /*{ "IBM-1119", "?" },*/ + { "IBM-1124", "CP1124" }, + { "IBM-1125", "CP1125" }, + { "IBM-1131", "CP1131" }, + { "IBM-1208", "UTF-8" }, + { "IBM-1250", "CP1250" }, + { "IBM-1251", "CP1251" }, + { "IBM-1252", "CP1252" }, + { "IBM-1253", "CP1253" }, + { "IBM-1254", "CP1254" }, + { "IBM-1255", "CP1255" }, + { "IBM-1256", "CP1256" }, + { "IBM-1257", "CP1257" }, + /*{ "IBM-1275", "?" },*/ + /*{ "IBM-1276", "?" },*/ + /*{ "IBM-1277", "?" },*/ + /*{ "IBM-1280", "?" },*/ + /*{ "IBM-1281", "?" },*/ + /*{ "IBM-1282", "?" },*/ + /*{ "IBM-1283", "?" },*/ + /*{ "IBM-1380", "GB2312" },*/ + { "IBM-1381", "GB2312" }, + { "IBM-1383", "GB2312" }, + { "IBM-1386", "GBK" }, + /*{ "IBM-301", "CP943" },*/ + { "IBM-3372", "EUC-JP" }, + { "IBM-367", "ASCII" }, + { "IBM-437", "CP437" }, + { "IBM-4946", "CP850" }, + /*{ "IBM-5048", "JIS_X0208-1990" },*/ + /*{ "IBM-5049", "JIS_X0212-1990" },*/ + /*{ "IBM-5067", "KS_C_5601-1987" },*/ + { "IBM-813", "ISO-8859-7" }, + { "IBM-819", "ISO-8859-1" }, + { "IBM-850", "CP850" }, + /*{ "IBM-851", "?" },*/ + { "IBM-852", "CP852" }, + { "IBM-855", "CP855" }, + { "IBM-856", "CP856" }, + { "IBM-857", "CP857" }, + /*{ "IBM-859", "?" },*/ + { "IBM-860", "CP860" }, + { "IBM-861", "CP861" }, + { "IBM-862", "CP862" }, + { "IBM-863", "CP863" }, + { "IBM-864", "CP864" }, + { "IBM-865", "CP865" }, + { "IBM-866", "CP866" }, + /*{ "IBM-868", "?" },*/ + { "IBM-869", "CP869" }, + { "IBM-874", "CP874" }, + { "IBM-878", "KOI8-R" }, + /*{ "IBM-895", "?" },*/ + /*{ "IBM-897", "CP943" },*/ + /*{ "IBM-907", "?" },*/ + /*{ "IBM-909", "?" },*/ + { "IBM-912", "ISO-8859-2" }, + { "IBM-913", "ISO-8859-3" }, + { "IBM-914", "ISO-8859-4" }, + { "IBM-915", "ISO-8859-5" }, + { "IBM-916", "ISO-8859-8" }, + { "IBM-920", "ISO-8859-9" }, + { "IBM-921", "ISO-8859-13" }, + { "IBM-922", "CP922" }, + { "IBM-923", "ISO-8859-15" }, + { "IBM-932", "CP932" }, + /*{ "IBM-941", "CP943" },*/ + /*{ "IBM-942", "?" },*/ + { "IBM-943", "CP943" }, + /*{ "IBM-947", "CP950" },*/ + { "IBM-949", "CP949" }, + { "IBM-950", "CP950" }, + /*{ "IBM-951", "CP949" },*/ + /*{ "IBM-952", "JIS_X0208-1990" },*/ + /*{ "IBM-953", "JIS_X0212-1990" },*/ + { "IBM-954", "EUC-JP" }, + /*{ "IBM-955", "?" },*/ + { "IBM-964", "EUC-TW" }, + { "IBM-970", "EUC-KR" }, + /*{ "IBM-971", "KS_C_5601-1987" },*/ + { "IBM-eucCN", "GB2312" }, + { "IBM-eucJP", "EUC-JP" }, + { "IBM-eucKR", "EUC-KR" }, + { "IBM-eucTW", "EUC-TW" }, + { "IBM33722", "EUC-JP" }, + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-3", "ISO-8859-3" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-6", "ISO-8859-6" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-8", "ISO-8859-8" }, + { "ISO8859-9", "ISO-8859-9" }, + /*{ "JISX0201-1976", "JISX0201-1976" },*/ + /*{ "JISX0208-1978", "?" },*/ + /*{ "JISX0208-1983", "JIS_X0208-1983" },*/ + /*{ "JISX0208-1990", "JIS_X0208-1990" },*/ + /*{ "JISX0212-1990", "JIS_X0212-1990" },*/ + /*{ "KSC5601-1987", "KS_C_5601-1987" },*/ + { "SJIS-1", "CP943" }, + { "SJIS-2", "CP943" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" }, + { "eucTW-1993", "EUC-TW" } # define alias_table_defined # endif # if defined VMS /* OpenVMS */ @@ -675,8 +816,11 @@ static const struct table_entry locale_table[] = /* Determine the current locale's character encoding, and canonicalize it - into one of the canonical names listed in localcharset.h. - The result must not be freed; it is statically allocated. + into one of the canonical names listed below. + The result must not be freed; it is statically allocated. The result + becomes invalid when setlocale() is used to change the global locale, or + when the value of one of the environment variables LC_ALL, LC_CTYPE, LANG + is changed; threads in multithreaded programs should not do this. If the canonical name cannot be determined, the result is a non-canonical name. */ @@ -688,6 +832,13 @@ locale_charset (void) { const char *codeset; + /* This function must be multithread-safe. To achieve this without using + thread-local storage, we use a simple strcpy or memcpy to fill this static + buffer. Filling it through, for example, strcpy + strcat would not be + guaranteed to leave the buffer's contents intact if another thread is + currently accessing it. If necessary, the contents is first assembled in + a stack-allocated buffer. */ + #if HAVE_LANGINFO_CODESET || defined WINDOWS_NATIVE || defined OS2 # if HAVE_LANGINFO_CODESET @@ -702,7 +853,7 @@ locale_charset (void) if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0) { const char *locale; - static char buf[2 + 10 + 1]; + static char resultbuf[2 + 10 + 1]; locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') @@ -726,11 +877,12 @@ locale_charset (void) modifier = strchr (dot, '@'); if (modifier == NULL) return dot; - if (modifier - dot < sizeof (buf)) + if (modifier - dot < sizeof (resultbuf)) { - memcpy (buf, dot, modifier - dot); - buf [modifier - dot] = '\0'; - return buf; + /* This way of filling resultbuf is multithread-safe. */ + memcpy (resultbuf, dot, modifier - dot); + resultbuf [modifier - dot] = '\0'; + return resultbuf; } } } @@ -746,8 +898,13 @@ locale_charset (void) converting to GetConsoleOutputCP(). This leads to correct results, except when SetConsoleOutputCP has been called and a raster font is in use. */ - sprintf (buf, "CP%u", GetACP ()); - codeset = buf; + { + char buf[2 + 10 + 1]; + + sprintf (buf, "CP%u", GetACP ()); + strcpy (resultbuf, buf); + codeset = resultbuf; + } } # endif @@ -757,42 +914,44 @@ locale_charset (void) # elif defined WINDOWS_NATIVE - static char buf[2 + 10 + 1]; + char buf[2 + 10 + 1]; + static char resultbuf[2 + 10 + 1]; /* The Windows API has a function returning the locale's codepage as a number, but the value doesn't change according to what the 'setlocale' call specified. So we use it as a last resort, in case the string returned by 'setlocale' doesn't specify the codepage. */ - char *current_locale = setlocale (LC_ALL, NULL); - char *pdot; + char *current_locale = setlocale (LC_CTYPE, NULL); + char *pdot = strrchr (current_locale, '.'); - /* If they set different locales for different categories, - 'setlocale' will return a semi-colon separated list of locale - values. To make sure we use the correct one, we choose LC_CTYPE. */ - if (strchr (current_locale, ';')) - current_locale = setlocale (LC_CTYPE, NULL); - - pdot = strrchr (current_locale, '.'); if (pdot && 2 + strlen (pdot + 1) + 1 <= sizeof (buf)) sprintf (buf, "CP%s", pdot + 1); else { /* The Windows API has a function returning the locale's codepage as a - number: GetACP(). - When the output goes to a console window, it needs to be provided in - GetOEMCP() encoding if the console is using a raster font, or in - GetConsoleOutputCP() encoding if it is using a TrueType font. - But in GUI programs and for output sent to files and pipes, GetACP() - encoding is the best bet. */ + number: GetACP(). + When the output goes to a console window, it needs to be provided in + GetOEMCP() encoding if the console is using a raster font, or in + GetConsoleOutputCP() encoding if it is using a TrueType font. + But in GUI programs and for output sent to files and pipes, GetACP() + encoding is the best bet. */ sprintf (buf, "CP%u", GetACP ()); } - codeset = buf; + /* For a locale name such as "French_France.65001", in Windows 10, + setlocale now returns "French_France.utf8" instead. */ + if (strcmp (buf + 2, "65001") == 0 || strcmp (buf + 2, "utf8") == 0) + codeset = "UTF-8"; + else + { + strcpy (resultbuf, buf); + codeset = resultbuf; + } # elif defined OS2 const char *locale; - static char buf[2 + 10 + 1]; + static char resultbuf[2 + 10 + 1]; ULONG cp[3]; ULONG cplen; @@ -821,11 +980,12 @@ locale_charset (void) modifier = strchr (dot, '@'); if (modifier == NULL) return dot; - if (modifier - dot < sizeof (buf)) + if (modifier - dot < sizeof (resultbuf)) { - memcpy (buf, dot, modifier - dot); - buf [modifier - dot] = '\0'; - return buf; + /* This way of filling resultbuf is multithread-safe. */ + memcpy (resultbuf, dot, modifier - dot); + resultbuf [modifier - dot] = '\0'; + return resultbuf; } } @@ -841,8 +1001,11 @@ locale_charset (void) codeset = ""; else { + char buf[2 + 10 + 1]; + sprintf (buf, "CP%u", cp[0]); - codeset = buf; + strcpy (resultbuf, buf); + codeset = resultbuf; } } diff --git a/source/libcharset/lib/relocatable-stub.c b/source/libcharset/lib/relocatable-stub.c index e83475b..cbfc595 100644 --- a/source/libcharset/lib/relocatable-stub.c +++ b/source/libcharset/lib/relocatable-stub.c @@ -3,16 +3,16 @@ Written by Bruno Haible , 2018. This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published + under the terms of the GNU Lesser 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public License + You should have received a copy of the GNU Lesser General Public License along with this program; if not, see . */ #include diff --git a/source/libcharset/m4/codeset.m4 b/source/libcharset/m4/codeset.m4 index 280f556..eb73260 100644 --- a/source/libcharset/m4/codeset.m4 +++ b/source/libcharset/m4/codeset.m4 @@ -1,5 +1,5 @@ # codeset.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019 Free Software +dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2022 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, diff --git a/source/libcharset/m4/fcntl-o.m4 b/source/libcharset/m4/fcntl-o.m4 index 6ab3387..4dcde9e 100644 --- a/source/libcharset/m4/fcntl-o.m4 +++ b/source/libcharset/m4/fcntl-o.m4 @@ -1,5 +1,5 @@ -# fcntl-o.m4 serial 6 -dnl Copyright (C) 2006, 2009-2019 Free Software Foundation, Inc. +# fcntl-o.m4 serial 7 +dnl Copyright (C) 2006, 2009-2022 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. @@ -32,6 +32,7 @@ AC_DEFUN([gl_FCNTL_O_FLAGS], # defined sleep(n) _sleep ((n) * 1000) #endif #include + ]GL_MDA_DEFINES[ #ifndef O_NOATIME #define O_NOATIME 0 #endif diff --git a/source/libcharset/m4/glibc21.m4 b/source/libcharset/m4/glibc21.m4 deleted file mode 100644 index 0ab0f23..0000000 --- a/source/libcharset/m4/glibc21.m4 +++ /dev/null @@ -1,34 +0,0 @@ -# glibc21.m4 serial 5 -dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2019 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. - -# Test for the GNU C Library, version 2.1 or newer, or uClibc. -# From Bruno Haible. - -AC_DEFUN([gl_GLIBC21], - [ - AC_CACHE_CHECK([whether we are using the GNU C Library >= 2.1 or uClibc], - [ac_cv_gnu_library_2_1], - [AC_EGREP_CPP([Lucky], - [ -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif -#ifdef __UCLIBC__ - Lucky user -#endif - ], - [ac_cv_gnu_library_2_1=yes], - [ac_cv_gnu_library_2_1=no]) - ] - ) - AC_SUBST([GLIBC21]) - GLIBC21="$ac_cv_gnu_library_2_1" - ] -) diff --git a/source/libcharset/m4/libtool.m4 b/source/libcharset/m4/libtool.m4 index 5d294be..d25ce68 100644 --- a/source/libcharset/m4/libtool.m4 +++ b/source/libcharset/m4/libtool.m4 @@ -1,6 +1,7 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # -# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives @@ -31,7 +32,7 @@ m4_define([_LT_COPYING], [dnl # along with this program. If not, see . ]) -# serial 58 LT_INIT +# serial 59 LT_INIT # LT_PREREQ(VERSION) @@ -181,6 +182,7 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_DECL_FILECMD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl @@ -219,8 +221,8 @@ esac ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -778,7 +780,7 @@ _LT_EOF # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ + $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || @@ -1042,8 +1044,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 $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR $AR_FLAGS 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 @@ -1067,17 +1069,12 @@ _LT_EOF _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _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' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -1126,12 +1123,12 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES], 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_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 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" + _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 @@ -1245,7 +1242,8 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) +[m4_require([_LT_DECL_SED])dnl +AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [Search for dependent libraries within DIR (or the compiler's sysroot @@ -1262,7 +1260,7 @@ case $with_sysroot in #( fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -1292,7 +1290,7 @@ ia64-*-hpux*) # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -1309,7 +1307,7 @@ ia64-*-hpux*) echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -1321,7 +1319,7 @@ ia64-*-hpux*) ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -1343,7 +1341,7 @@ mips64*-*linux*) echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then emul=elf - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -1351,7 +1349,7 @@ mips64*-*linux*) emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -1359,7 +1357,7 @@ mips64*-*linux*) emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -1379,14 +1377,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # 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 + case `$FILECMD 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 + case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -1454,7 +1452,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -1493,9 +1491,22 @@ need_locks=$enable_libtool_lock m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} -: ${AR_FLAGS=cru} _LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS +_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. +_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], + [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no @@ -1714,7 +1725,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | 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` @@ -1757,7 +1768,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 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/.*[[ ]]//'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi @@ -2207,26 +2218,35 @@ m4_defun([_LT_CMD_STRIPLIB], striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) -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" - AC_MSG_RESULT([yes]) +if test -z "$STRIP"; then + AC_MSG_RESULT([no]) else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) - else + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac + ;; + esac + fi fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) @@ -2549,7 +2569,7 @@ 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"]) ;; @@ -2559,14 +2579,14 @@ m4_if([$1], [],[ ;; 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' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -2585,7 +2605,7 @@ m4_if([$1], [],[ done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -2622,7 +2642,7 @@ m4_if([$1], [],[ ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -2655,7 +2675,7 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -3454,7 +3474,7 @@ beos*) 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_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -3488,14 +3508,14 @@ darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) 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_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -3509,7 +3529,7 @@ haiku*) ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD 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' @@ -3556,7 +3576,7 @@ netbsd*) 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_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -3683,13 +3703,13 @@ else 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 + 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 + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -3715,7 +3735,7 @@ else # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -3955,7 +3975,7 @@ 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'" + 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'" @@ -3973,20 +3993,20 @@ 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_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"\ +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_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'"\ @@ -4010,7 +4030,7 @@ for ac_symprfx in "" "_"; do 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++, + # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ @@ -4028,9 +4048,9 @@ for ac_symprfx in "" "_"; do " 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'" + 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'" + 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 @@ -4317,7 +4337,7 @@ m4_if([$1], [CXX], [ ;; esac ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) @@ -4400,7 +4420,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4736,7 +4756,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + 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_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4919,7 +4939,7 @@ m4_if([$1], [CXX], [ 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) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _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' + _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 == "L") || (\$ 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*) @@ -4927,7 +4947,7 @@ m4_if([$1], [CXX], [ ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl*) + cl* | icl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) @@ -4984,15 +5004,15 @@ dnl Note also adjust exclude_expsyms for C++ above. case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -5044,7 +5064,7 @@ dnl Note also adjust exclude_expsyms for C++ above. _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 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 ... @@ -5156,6 +5176,7 @@ _LT_EOF 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 + _LT_TAGVAR(file_list_spec, $1)='@' ;; interix[[3-9]]*) @@ -5170,7 +5191,7 @@ _LT_EOF # 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_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) @@ -5213,7 +5234,7 @@ _LT_EOF _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac - case `$CC -V 2>&1 | sed 5q` in + 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(compiler_needs_object, $1)=yes @@ -5225,7 +5246,7 @@ _LT_EOF 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~ + 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 @@ -5241,7 +5262,7 @@ _LT_EOF _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $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~ + 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 @@ -5373,7 +5394,7 @@ _LT_EOF 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) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _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' + _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 == "L") || (\$ 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 @@ -5556,12 +5577,12 @@ _LT_EOF cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl*) - # Native MSVC + cl* | icl*) + # Native MSVC or ICC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes @@ -5602,7 +5623,7 @@ _LT_EOF fi' ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. @@ -5650,7 +5671,7 @@ _LT_EOF ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes @@ -5861,6 +5882,7 @@ _LT_EOF 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 + _LT_TAGVAR(file_list_spec, $1)='@' ;; osf3*) @@ -6631,8 +6653,8 @@ if test yes != "$_lt_caught_CXX_error"; then cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' @@ -6730,6 +6752,7 @@ if test yes != "$_lt_caught_CXX_error"; then 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 + _LT_TAGVAR(file_list_spec, $1)='@' ;; dgux*) @@ -6760,7 +6783,7 @@ if test yes != "$_lt_caught_CXX_error"; then _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes @@ -6897,7 +6920,7 @@ if test yes != "$_lt_caught_CXX_error"; then # 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_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 @@ -7037,13 +7060,13 @@ if test yes != "$_lt_caught_CXX_error"; then _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~ + 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 ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' @@ -8189,6 +8212,14 @@ _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) +# _LT_DECL_FILECMD +# ---------------- +# Check for a file(cmd) program that can be used to detect file type and magic +m4_defun([_LT_DECL_FILECMD], +[AC_CHECK_TOOL([FILECMD], [file], [:]) +_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) +])# _LD_DECL_FILECMD + # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates diff --git a/source/libcharset/m4/ltoptions.m4 b/source/libcharset/m4/ltoptions.m4 index 94b0829..b0b5e9c 100644 --- a/source/libcharset/m4/ltoptions.m4 +++ b/source/libcharset/m4/ltoptions.m4 @@ -1,7 +1,7 @@ # Helper functions for option handling. -*- Autoconf -*- # -# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives diff --git a/source/libcharset/m4/ltsugar.m4 b/source/libcharset/m4/ltsugar.m4 index 9000a05..902508b 100644 --- a/source/libcharset/m4/ltsugar.m4 +++ b/source/libcharset/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-2019, 2021-2022 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/source/libcharset/m4/ltversion.m4 b/source/libcharset/m4/ltversion.m4 index fa04b52..b155d0a 100644 --- a/source/libcharset/m4/ltversion.m4 +++ b/source/libcharset/m4/ltversion.m4 @@ -1,6 +1,7 @@ # ltversion.m4 -- version numbers -*- Autoconf -*- # -# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives @@ -9,15 +10,15 @@ # @configure_input@ -# serial 4179 ltversion.m4 +# serial 4245 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.4.6]) -m4_define([LT_PACKAGE_REVISION], [2.4.6]) +m4_define([LT_PACKAGE_VERSION], [2.4.7]) +m4_define([LT_PACKAGE_REVISION], [2.4.7]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.6' -macro_revision='2.4.6' +[macro_version='2.4.7' +macro_revision='2.4.7' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff --git a/source/libcharset/m4/lt~obsolete.m4 b/source/libcharset/m4/lt~obsolete.m4 index c573da9..0f7a875 100644 --- a/source/libcharset/m4/lt~obsolete.m4 +++ b/source/libcharset/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-2019, 2021-2022 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/source/libcharset/m4/visibility.m4 b/source/libcharset/m4/visibility.m4 index 8c266a8..4a212a4 100644 --- a/source/libcharset/m4/visibility.m4 +++ b/source/libcharset/m4/visibility.m4 @@ -1,5 +1,5 @@ -# visibility.m4 serial 6 -dnl Copyright (C) 2005, 2008, 2010-2019 Free Software Foundation, Inc. +# visibility.m4 serial 8 +dnl Copyright (C) 2005, 2008, 2010-2022 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. @@ -58,6 +58,11 @@ AC_DEFUN([gl_VISIBILITY], 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) {} ]], [[]])], diff --git a/source/libcharset/tools/all-charsets b/source/libcharset/tools/all-charsets old mode 100644 new mode 100755 diff --git a/source/libcharset/tools/all-charsets-X11 b/source/libcharset/tools/all-charsets-X11 old mode 100644 new mode 100755 diff --git a/source/libcharset/tools/all-locales b/source/libcharset/tools/all-locales old mode 100644 new mode 100755 diff --git a/source/libcharset/tools/locale_charmap b/source/libcharset/tools/locale_charmap old mode 100644 new mode 100755 diff --git a/source/m4/eilseq.m4 b/source/m4/eilseq.m4 index 792d514..5f86ab3 100644 --- a/source/m4/eilseq.m4 +++ b/source/m4/eilseq.m4 @@ -1,6 +1,6 @@ -#serial 1 +#serial 2 -AC_PREREQ(2.50) +AC_PREREQ([2.61]) # The EILSEQ errno value ought to be defined in , according to # ISO C 99 and POSIX. But some systems (like SunOS 4) don't define it, @@ -16,20 +16,20 @@ AC_DEFUN([AC_EILSEQ], AC_REQUIRE([AC_PROG_CC])dnl dnl Check for any extra headers that could define EILSEQ. - AC_CHECK_HEADERS(wchar.h) + AC_CHECK_HEADERS([wchar.h]) - AC_CACHE_CHECK([for EILSEQ], ac_cv_decl_EILSEQ, [ - AC_EGREP_CPP(yes,[ + AC_CACHE_CHECK([for EILSEQ], [ac_cv_decl_EILSEQ], [ + AC_EGREP_CPP([yes],[ #include #ifdef EILSEQ yes #endif - ], have_eilseq=1) + ], [have_eilseq=1]) if test -n "$have_eilseq"; then dnl EILSEQ exists in . Don't need to define EILSEQ ourselves. ac_cv_decl_EILSEQ=yes else - AC_EGREP_CPP(yes,[ + AC_EGREP_CPP([yes],[ #include #if HAVE_WCHAR_H #include @@ -37,11 +37,11 @@ yes #ifdef EILSEQ yes #endif - ], have_eilseq=1) + ], [have_eilseq=1]) if test -n "$have_eilseq"; then dnl EILSEQ exists in some other system header. dnl Define it to the same value. - _AC_COMPUTE_INT([EILSEQ], ac_cv_decl_EILSEQ, [ + AC_COMPUTE_INT([ac_cv_decl_EILSEQ], [EILSEQ], [ #include #if HAVE_WCHAR_H #include @@ -62,6 +62,6 @@ yes AC_DEFINE_UNQUOTED([EILSEQ], [$ac_cv_decl_EILSEQ], [Define as good substitute value for EILSEQ.]) EILSEQ="$ac_cv_decl_EILSEQ" - AC_SUBST(EILSEQ) + AC_SUBST([EILSEQ]) fi ]) diff --git a/source/m4/endian.m4 b/source/m4/endian.m4 deleted file mode 100644 index dfdf846..0000000 --- a/source/m4/endian.m4 +++ /dev/null @@ -1,50 +0,0 @@ -dnl Copyright (C) 1993-2003 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels. - -AC_PREREQ(2.13) - -AC_DEFUN([CL_WORDS_LITTLEENDIAN], -[AC_CACHE_CHECK(byte ordering, cl_cv_sys_endian, [ -AC_TRY_RUN([int main () { - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long l; - char c[sizeof (long)]; - } u; - u.l = 1; - exit (u.c[0] == 1); -}], -cl_cv_sys_endian="big endian", -cl_cv_sys_endian="little endian", -: # must guess the endianness -) -if test -z "$cl_cv_sys_endian"; then -AC_EGREP_CPP(yes,[#if defined(m68k) || defined(__m68k__) || defined(mc68000) || defined(mc68020) || defined(__mc68020__) || defined(sparc) || defined(__sparc__) || defined(MIPSEB) || defined(__MIPSEB__) || defined(hppa) || defined(__hppa) || defined(m88000) || defined(__m88k__) - yes -#endif -], cl_cv_sys_endian="big endian") -fi -if test -z "$cl_cv_sys_endian"; then -AC_EGREP_CPP(yes,[#if defined(i386) || defined(__i386) || defined(__i386__) || defined(_I386) || defined(MIPSEL) || defined(__MIPSEL__) || defined(__alpha) - yes -#endif -], cl_cv_sys_endian="little endian") -fi -if test -z "$cl_cv_sys_endian"; then -cl_cv_sys_endian="guessing little endian" -fi -]) -case "$cl_cv_sys_endian" in - *little*) - AC_DEFINE(WORDS_LITTLEENDIAN, 1, - [Define if the machine's byte ordering is little endian.]) ;; - *big*) ;; -esac -]) diff --git a/source/m4/libtool.m4 b/source/m4/libtool.m4 index 5d294be..d25ce68 100644 --- a/source/m4/libtool.m4 +++ b/source/m4/libtool.m4 @@ -1,6 +1,7 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # -# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives @@ -31,7 +32,7 @@ m4_define([_LT_COPYING], [dnl # along with this program. If not, see . ]) -# serial 58 LT_INIT +# serial 59 LT_INIT # LT_PREREQ(VERSION) @@ -181,6 +182,7 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_DECL_FILECMD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl @@ -219,8 +221,8 @@ esac ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -778,7 +780,7 @@ _LT_EOF # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ + $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || @@ -1042,8 +1044,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 $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR $AR_FLAGS 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 @@ -1067,17 +1069,12 @@ _LT_EOF _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _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' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -1126,12 +1123,12 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES], 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_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 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" + _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 @@ -1245,7 +1242,8 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) +[m4_require([_LT_DECL_SED])dnl +AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [Search for dependent libraries within DIR (or the compiler's sysroot @@ -1262,7 +1260,7 @@ case $with_sysroot in #( fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -1292,7 +1290,7 @@ ia64-*-hpux*) # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -1309,7 +1307,7 @@ ia64-*-hpux*) echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -1321,7 +1319,7 @@ ia64-*-hpux*) ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -1343,7 +1341,7 @@ mips64*-*linux*) echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then emul=elf - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -1351,7 +1349,7 @@ mips64*-*linux*) emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -1359,7 +1357,7 @@ mips64*-*linux*) emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -1379,14 +1377,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # 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 + case `$FILECMD 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 + case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -1454,7 +1452,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -1493,9 +1491,22 @@ need_locks=$enable_libtool_lock m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} -: ${AR_FLAGS=cru} _LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS +_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. +_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], + [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no @@ -1714,7 +1725,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | 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` @@ -1757,7 +1768,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 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/.*[[ ]]//'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi @@ -2207,26 +2218,35 @@ m4_defun([_LT_CMD_STRIPLIB], striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) -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" - AC_MSG_RESULT([yes]) +if test -z "$STRIP"; then + AC_MSG_RESULT([no]) else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) - else + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac + ;; + esac + fi fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) @@ -2549,7 +2569,7 @@ 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"]) ;; @@ -2559,14 +2579,14 @@ m4_if([$1], [],[ ;; 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' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -2585,7 +2605,7 @@ m4_if([$1], [],[ done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -2622,7 +2642,7 @@ m4_if([$1], [],[ ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -2655,7 +2675,7 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -3454,7 +3474,7 @@ beos*) 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_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -3488,14 +3508,14 @@ darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) 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_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -3509,7 +3529,7 @@ haiku*) ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD 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' @@ -3556,7 +3576,7 @@ netbsd*) 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_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -3683,13 +3703,13 @@ else 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 + 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 + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -3715,7 +3735,7 @@ else # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -3955,7 +3975,7 @@ 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'" + 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'" @@ -3973,20 +3993,20 @@ 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_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"\ +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_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'"\ @@ -4010,7 +4030,7 @@ for ac_symprfx in "" "_"; do 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++, + # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ @@ -4028,9 +4048,9 @@ for ac_symprfx in "" "_"; do " 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'" + 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'" + 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 @@ -4317,7 +4337,7 @@ m4_if([$1], [CXX], [ ;; esac ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) @@ -4400,7 +4420,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4736,7 +4756,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + 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_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4919,7 +4939,7 @@ m4_if([$1], [CXX], [ 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) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _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' + _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 == "L") || (\$ 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*) @@ -4927,7 +4947,7 @@ m4_if([$1], [CXX], [ ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl*) + cl* | icl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) @@ -4984,15 +5004,15 @@ dnl Note also adjust exclude_expsyms for C++ above. case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -5044,7 +5064,7 @@ dnl Note also adjust exclude_expsyms for C++ above. _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 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 ... @@ -5156,6 +5176,7 @@ _LT_EOF 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 + _LT_TAGVAR(file_list_spec, $1)='@' ;; interix[[3-9]]*) @@ -5170,7 +5191,7 @@ _LT_EOF # 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_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) @@ -5213,7 +5234,7 @@ _LT_EOF _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac - case `$CC -V 2>&1 | sed 5q` in + 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(compiler_needs_object, $1)=yes @@ -5225,7 +5246,7 @@ _LT_EOF 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~ + 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 @@ -5241,7 +5262,7 @@ _LT_EOF _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $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~ + 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 @@ -5373,7 +5394,7 @@ _LT_EOF 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) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _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' + _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 == "L") || (\$ 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 @@ -5556,12 +5577,12 @@ _LT_EOF cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl*) - # Native MSVC + cl* | icl*) + # Native MSVC or ICC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes @@ -5602,7 +5623,7 @@ _LT_EOF fi' ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. @@ -5650,7 +5671,7 @@ _LT_EOF ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes @@ -5861,6 +5882,7 @@ _LT_EOF 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 + _LT_TAGVAR(file_list_spec, $1)='@' ;; osf3*) @@ -6631,8 +6653,8 @@ if test yes != "$_lt_caught_CXX_error"; then cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' @@ -6730,6 +6752,7 @@ if test yes != "$_lt_caught_CXX_error"; then 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 + _LT_TAGVAR(file_list_spec, $1)='@' ;; dgux*) @@ -6760,7 +6783,7 @@ if test yes != "$_lt_caught_CXX_error"; then _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes @@ -6897,7 +6920,7 @@ if test yes != "$_lt_caught_CXX_error"; then # 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_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 @@ -7037,13 +7060,13 @@ if test yes != "$_lt_caught_CXX_error"; then _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~ + 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 ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' @@ -8189,6 +8212,14 @@ _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) +# _LT_DECL_FILECMD +# ---------------- +# Check for a file(cmd) program that can be used to detect file type and magic +m4_defun([_LT_DECL_FILECMD], +[AC_CHECK_TOOL([FILECMD], [file], [:]) +_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) +])# _LD_DECL_FILECMD + # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates diff --git a/source/m4/ltoptions.m4 b/source/m4/ltoptions.m4 index 94b0829..b0b5e9c 100644 --- a/source/m4/ltoptions.m4 +++ b/source/m4/ltoptions.m4 @@ -1,7 +1,7 @@ # Helper functions for option handling. -*- Autoconf -*- # -# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives diff --git a/source/m4/ltsugar.m4 b/source/m4/ltsugar.m4 index 9000a05..902508b 100644 --- a/source/m4/ltsugar.m4 +++ b/source/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-2019, 2021-2022 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/source/m4/ltversion.m4 b/source/m4/ltversion.m4 index fa04b52..b155d0a 100644 --- a/source/m4/ltversion.m4 +++ b/source/m4/ltversion.m4 @@ -1,6 +1,7 @@ # ltversion.m4 -- version numbers -*- Autoconf -*- # -# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives @@ -9,15 +10,15 @@ # @configure_input@ -# serial 4179 ltversion.m4 +# serial 4245 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.4.6]) -m4_define([LT_PACKAGE_REVISION], [2.4.6]) +m4_define([LT_PACKAGE_VERSION], [2.4.7]) +m4_define([LT_PACKAGE_REVISION], [2.4.7]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.6' -macro_revision='2.4.6' +[macro_version='2.4.7' +macro_revision='2.4.7' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff --git a/source/m4/lt~obsolete.m4 b/source/m4/lt~obsolete.m4 index c573da9..0f7a875 100644 --- a/source/m4/lt~obsolete.m4 +++ b/source/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-2019, 2021-2022 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/source/man/iconv_open.3 b/source/man/iconv_open.3 index b458c50..fb6316d 100644 --- a/source/man/iconv_open.3 +++ b/source/man/iconv_open.3 @@ -9,7 +9,7 @@ .\" GNU glibc-2 source code and manual .\" OpenGroup's Single Unix specification http://www.UNIX-systems.org/online.html .\" -.TH ICONV_OPEN 3 "October 23, 2011" "GNU" "Linux Programmer's Manual" +.TH ICONV_OPEN 3 "January 23, 2022" "GNU" "Linux Programmer's Manual" .SH NAME iconv_open \- allocate descriptor for character set conversion .SH SYNOPSIS @@ -169,6 +169,54 @@ Platform specifics .fi ATARIST, RISCOS\-LATIN1 .PP +.TP +EBCDIC compatible (not ASCII compatible, very rarely used) +.nf +.fi +European languages: +.nf +.fi + IBM-{037,273,277,278,280,282,284,285,297,423,500,870,871,875,880}, + IBM-{905,924,1025,1026,1047,1112,1122,1123,1140,1141,1142,1143}, + IBM-{1144,1145,1146,1147,1148,1149,1153,1154,1155,1156,1157,1158}, + IBM-{1165,1166,4971} +.nf +.fi +Semitic languages: +.nf +.fi + IBM-{424,425,12712,16804} +.nf +.fi +Persian: +.nf +.fi + IBM-1097 +.nf +.fi +Thai: +.nf +.fi + IBM-{838,1160} +.nf +.fi +Laotian: +.nf +.fi + IBM-1132 +.nf +.fi +Vietnamese: +.nf +.fi + IBM-{1130,1164} +.nf +.fi +Indic languages: +.nf +.fi + IBM-1137 +.PP The empty encoding name "" is equivalent to "char": it denotes the locale dependent character encoding. .PP diff --git a/source/man/iconv_open.3.html b/source/man/iconv_open.3.html index af0a252..c9482a3 100644 --- a/source/man/iconv_open.3.html +++ b/source/man/iconv_open.3.html @@ -233,6 +233,33 @@

DESCRIPTION

ATARIST, RISCOS−LATIN1

+

EBCDIC compatible (not ASCII +compatible, very rarely used)

+ +

European languages:
+ +IBM-{037,273,277,278,280,282,284,285,297,423,500,870,871,875,880}, +
+ +IBM-{905,924,1025,1026,1047,1112,1122,1123,1140,1141,1142,1143}, +
+ +IBM-{1144,1145,1146,1147,1148,1149,1153,1154,1155,1156,1157,1158}, +
+IBM-{1165,1166,4971}
+Semitic languages:
+IBM-{424,425,12712,16804}
+Persian:
+IBM-1097
+Thai:
+IBM-{838,1160}
+Laotian:
+IBM-1132
+Vietnamese:
+IBM-{1130,1164}
+Indic languages:
+IBM-1137

+

The empty encoding name "" is equivalent to "char": it denotes the locale dependent character diff --git a/source/po/ChangeLog b/source/po/ChangeLog index f06d636..d157f45 100644 --- a/source/po/ChangeLog +++ b/source/po/ChangeLog @@ -1,3 +1,30 @@ +2022-05-15 Bruno Haible + + Use the newest gettext release. + * Makefile.in.in: Upgrade to gettext-0.21, keeping the change + 2019-01-27 Bruno Haible + Accommodate a shell that is not in /bin/sh. + * Makefile.in.in (SHELL): Use the value found by configure. + +2022-05-15 Bruno Haible + + Update translations. + * *.po: Update from TP, with 'msgmerge --previous'. + * LINGUAS: Add ko. + +2019-07-02 Bruno Haible + + Use the newest gettext release. + * Makefile.in.in: Upgrade to gettext-0.20.1, keeping the change + 2019-01-27 Bruno Haible + Accommodate a shell that is not in /bin/sh. + * Makefile.in.in (SHELL): Use the value found by configure. + * Rules-quot: Upgrade to gettext-0.20.1. + * en@boldquot.header: Upgrade to gettext-0.20.1. + * en@quot.header: Upgrade to gettext-0.20.1. + * insert-header.sin: Upgrade to gettext-0.20.1. + * remove-potcdate.sin: Upgrade to gettext-0.20.1. + 2019-04-26 Bruno Haible * cs.po: Update from Petr Pisar . diff --git a/source/po/LINGUAS b/source/po/LINGUAS index a7224aa..9b226ab 100644 --- a/source/po/LINGUAS +++ b/source/po/LINGUAS @@ -1,2 +1,2 @@ # Set of available languages. -af bg ca cs da de el eo es et fi fr ga gl hr hu id it ja lt nl pl pt_BR rm ro ru sk sl sq sr sv tr uk vi wa zh_CN zh_TW +af bg ca cs da de el eo es et fi fr ga gl hr hu id it ja ko lt nl pl pt_BR rm ro ru sk sl sq sr sv tr uk vi wa zh_CN zh_TW diff --git a/source/po/Makefile.in.in b/source/po/Makefile.in.in index 0594ffc..c61ef7b 100644 --- a/source/po/Makefile.in.in +++ b/source/po/Makefile.in.in @@ -1,13 +1,14 @@ # Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper +# Copyright (C) 1995-2000 Ulrich Drepper +# Copyright (C) 2000-2020 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 any warranty. # -# Origin: gettext-0.19.8 -GETTEXT_MACRO_VERSION = 0.19 +# Origin: gettext-0.21 +GETTEXT_MACRO_VERSION = 0.20 PACKAGE = @PACKAGE@ VERSION = @VERSION@ @@ -52,16 +53,13 @@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) -MSGFMT_ = @MSGFMT@ -MSGFMT_no = @MSGFMT@ -MSGFMT_yes = @MSGFMT_015@ -MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) -MSGMERGE = msgmerge +MSGMERGE = @MSGMERGE@ MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter @@ -92,27 +90,44 @@ DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO)) # Makevars gets inserted here. (Don't remove this line!) -.SUFFIXES: -.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update +all: all-@USE_NLS@ -.po.mo: - @echo "$(MSGFMT) -c -o $@ $<"; \ - $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ +.SUFFIXES: +.SUFFIXES: .po .gmo .sed .sin .nop .po-create .po-update + +# The .pot file, stamp-po, .po files, and .gmo files appear in release tarballs. +# The GNU Coding Standards say in +# : +# "GNU distributions usually contain some files which are not source files +# ... . Since these files normally appear in the source directory, they +# should always appear in the source directory, not in the build directory. +# So Makefile rules to update them should put the updated files in the +# source directory." +# Therefore we put these files in the source directory, not the build directory. + +# During .po -> .gmo conversion, take into account the most recent changes to +# the .pot file. This eliminates the need to update the .po files when the +# .pot file has changed, which would be troublesome if the .po files are put +# under version control. +$(GMOFILES): $(srcdir)/$(DOMAIN).pot .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ - cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + echo "$${cdcmd}rm -f $${lang}.gmo && $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.1po && rm -f $${lang}.1po"; \ + cd $(srcdir) && \ + rm -f $${lang}.gmo && \ + $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && \ + $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.1po && \ + mv t-$${lang}.gmo $${lang}.gmo && \ + rm -f $${lang}.1po .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ -all: all-@USE_NLS@ - -all-yes: stamp-po +all-yes: $(srcdir)/stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. @@ -126,24 +141,24 @@ CHECK_MACRO_VERSION = \ # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. -# In this case, stamp-po is a nop (i.e. a phony target). - -# stamp-po is a timestamp denoting the last time at which the CATALOGS have -# been loosely updated. Its purpose is that when a developer or translator -# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, -# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent -# invocations of "make" will do nothing. This timestamp would not be necessary -# if updating the $(CATALOGS) would always touch them; however, the rule for -# $(POFILES) has been designed to not touch files that don't need to be -# changed. -stamp-po: $(srcdir)/$(DOMAIN).pot +# In this case, $(srcdir)/stamp-po is a nop (i.e. a phony target). + +# $(srcdir)/stamp-po is a timestamp denoting the last time at which the CATALOGS +# have been loosely updated. Its purpose is that when a developer or translator +# checks out the package from a version control system, and the $(DOMAIN).pot +# file is not under version control, "make" will update the $(DOMAIN).pot and +# the $(CATALOGS), but subsequent invocations of "make" will do nothing. This +# timestamp would not be necessary if updating the $(CATALOGS) would always +# touch them; however, the rule for $(POFILES) has been designed to not touch +# files that don't need to be changed. +$(srcdir)/stamp-po: $(srcdir)/$(DOMAIN).pot @$(CHECK_MACRO_VERSION) test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ - echo "touch stamp-po" && \ - echo timestamp > stamp-poT && \ - mv stamp-poT stamp-po; \ + echo "touch $(srcdir)/stamp-po" && \ + echo timestamp > $(srcdir)/stamp-poT && \ + mv $(srcdir)/stamp-poT $(srcdir)/stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', @@ -159,11 +174,9 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed 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; \ + LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f -size -10000000c -exec grep -i 'GNU @PACKAGE@' /dev/null '{}' ';' 2>/dev/null; \ else \ - LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ + LC_ALL=C grep -i 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ fi; \ } | grep -v 'libtool:' >/dev/null; then \ package_gnu=yes; \ @@ -184,26 +197,29 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --add-comments=TRANSLATORS: \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" \ + $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ ;; \ *) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --add-comments=TRANSLATORS: \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --package-name="$${package_prefix}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ + $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ ;; \ 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; \ + cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po && \ + rm -f $(DOMAIN).1po \ + || exit 1; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ @@ -228,17 +244,19 @@ $(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): $(POFILESDEPS) + @test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot @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"; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) \ - && { 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].*) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + 0.1[6-7] | 0.1[6-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \ *) \ - $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \ esac; \ }; \ else \ @@ -373,34 +391,41 @@ check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: +install-dvi install-ps install-pdf install-html: + mostlyclean: rm -f remove-potcdate.sed - rm -f stamp-poT + rm -f $(srcdir)/stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean - rm -f Makefile Makefile.in POTFILES *.mo + rm -f Makefile Makefile.in POTFILES maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." - rm -f stamp-po $(GMOFILES) + rm -f $(srcdir)/$(DOMAIN).pot $(srcdir)/stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS) @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. -dist2: stamp-po $(DISTFILES) - dists="$(DISTFILES)"; \ +dist2: $(srcdir)/stamp-po $(DISTFILES) + @dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ + else \ + case $(XGETTEXT) in \ + :) echo "Warning: Creating a tarball without '$(DOMAIN).pot', because a suitable 'xgettext' program was not found in PATH." 1>&2;; \ + *) echo "Warning: Creating a tarball without '$(DOMAIN).pot', because 'xgettext' found no strings to extract. Check the contents of the POTFILES.in file and the XGETTEXT_OPTIONS in the Makevars file." 1>&2;; \ + esac; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ @@ -439,13 +464,15 @@ update-po: Makefile tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if { 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].*) \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + 0.1[6-7] | 0.1[6-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ *) \ - $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ esac; \ }; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ diff --git a/source/po/Makevars b/source/po/Makevars index fdcfc02..28eedb6 100644 --- a/source/po/Makevars +++ b/source/po/Makevars @@ -1,4 +1,8 @@ # Makefile variables for libiconv/po. +# +# Copyright (C) 2003-2019 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation gives +# unlimited permission to use, copy, distribute, and modify it. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) diff --git a/source/po/Rules-quot b/source/po/Rules-quot index baf6528..18c024b 100644 --- a/source/po/Rules-quot +++ b/source/po/Rules-quot @@ -1,5 +1,9 @@ -# This file, Rules-quot, can be copied and used freely without restrictions. # Special Makefile rules for English message catalogs with quotation marks. +# +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# This file, Rules-quot, and its auxiliary files (listed under +# DISTFILES.common.extra1) are free software; the Free Software Foundation +# gives unlimited permission to use, copy, distribute, and modify them. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot diff --git a/source/po/af.po b/source/po/af.po index 69a6624..ee4d04b 100644 --- a/source/po/af.po +++ b/source/po/af.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libiconv 1.9.1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2004-03-08 13:42+0200\n" "Last-Translator: Petri Jooste \n" "Language-Team: Afrikaans \n" @@ -45,6 +45,7 @@ msgstr "" #. The %s placeholder expands to the program name. #: src/iconv.c:122 #, fuzzy, c-format, no-wrap +#| msgid "or: iconv -l" msgid "or: %s -l\n" msgstr "of: iconv -l" @@ -132,31 +133,36 @@ msgstr "" msgid " --version output version information and exit\n" msgstr "" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -#: src/iconv.c:196 -#, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Geskryf deur %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -164,7 +170,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -173,14 +179,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "" @@ -188,14 +194,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -205,7 +211,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -216,43 +222,44 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, fuzzy, c-format +#| msgid "iconv: %s: cannot convert\n" msgid "%s:%u:%u: cannot convert" msgstr "iconv: %s: kan nie omskakeling doen nie\n" @@ -260,70 +267,76 @@ msgstr "iconv: %s: kan nie omskakeling doen nie\n" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, fuzzy, c-format +#| msgid "iconv: %s: incomplete character or shift sequence\n" msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "iconv: %s: onvolledige karakter of skuifreeks\n" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, fuzzy, c-format +#| msgid "iconv: %s: I/O error\n" msgid "%s: I/O error" msgstr "iconv: %s: T/A-fout\n" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, fuzzy, c-format +#| msgid "iconv: conversion from %s unsupported\n" msgid "conversion from %s unsupported" msgstr "iconv: omskakeling van %s word nie ondersteun nie\n" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, fuzzy, c-format +#| msgid "iconv: conversion to %s unsupported\n" msgid "conversion to %s unsupported" msgstr "iconv: omskakeling na %s word nie ondersteun nie\n" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, fuzzy, c-format +#| msgid "iconv: conversion from %s to %s unsupported\n" msgid "conversion from %s to %s unsupported" msgstr "iconv: omskakeling van %s na %s word nie ondersteun nie\n" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, fuzzy, c-format +#| msgid "iconv: I/O error\n" msgid "I/O error" msgstr "iconv: T/A-fout\n" diff --git a/source/po/bg.gmo b/source/po/bg.gmo index bf2d1ac31ec60e3f7620a39af12cd06091622be2..a7f5b10ae33060f40d4f2be3e01fb85540c28ddf 100644 GIT binary patch delta 1775 zcmY+DU2IfE6vt0XOLc9F1&e%?IwDmI-L>5YD$8f9*hrcRq_yz_!?wM!t8~}w-qP~4 z?Lq_}u)snj1hjr8nrPPUHq_QFCMG@@66Yp9Xrdg1G!b4j{^s7b!AYmTnRCuP zbLKy1KkoSBiPVov%gzhq5oR6pT#3kIuyPUq7%R%W{Yto*{eBpSufq;lQ7$qBcf%cU z20jmO!7Z?NvB(~H20jOWf~9bKg~(2kl(e(x#*l`)p#vX>b$5si!Z5rDzl0&Pzf+_N zUV@n9L%0IwU^Bc1Ng;p3jj-G&!cw-td*Ckk0eluVa=w(^C9)Pn0Jgxra4S3pAB3O7 zcK8c4H)^aDSpqF+R2znE@IBZHe}JaY8mct$U2q*d3G3lU&?tQkR&l=EU||y8gh5zQ zEi%nBgkXmK?>H0i_}wD!nmG6lyi_AH33o0Pc@bWR$6?npPdNv^#eNglHui6!k$!)z z_k;&v>JJC8-E=#3E)3IzJguOvEB}I{xM+a%t~<o*vd%1+=8ZNm%`hEWpZjgm zuEnXY=ztYVTB>tT*OAr@A=TO4Yu4(Bl}JY8G1aQ#33WJZTM4zbA-Ubx6Nx4je+Ltm zrIPW3_DDEkh1Ajbuwvnv?YJ6 z`}VbW_dL_2_{xr0${Mw;n5|y65<^kjwgy%IQO+L;WSV`a{Lz>j(?5Jj*@^JLOH>uM zy}~GyNNXq@J#11@Z0J;}nbE2ztAjy*bI{+?s#=1fU|a6%s-eo%q|WLq&X}Hd zPU;yat*7;zF6j9MDfC%fW6n6v33R}hU64o55Im!B&hcGdPwA}lDt=cZ{kEPr7Nw_6 z#1y+vn0X=#N?+y3d7X1oW1Rol?Y6vgOwT&$(EmRwxaXMq6e&oWqsC$u_j6~$b5f2; zdByWN<4)S$7n}*d&n=J?0j2b1udEI)pXV{w3;Loy%{;3wD4k(B$-J!J$AKZwsU{}{ zUo}Ou%4Sa2*4E5BX~m&gJL;ZCV-T4BzEQ1pSrhn#tGy_#*q#g2+G}By{Y_Pvp&>z delta 1186 zcmZ|OT}V@59LMqhY+5;;HaAn7c3R6UJu|1Xe96?psEaTPgtQCPnH0oCqMKe2 z58Vh!(!A&QBfB~MBnEe@FM78&-t9^VQ1%ge$Rj3dLDJB z-g}&Pg%+aw>9-srd+~P;7uuIKBKz?xwqV3562~}p;|CnVK(5F>oWKDzu?_V+kzR~p zKhC52>C&|#ogyhI=jI3#C-5*n!~^&p&tl6uktv+URyAHPQiw@pO2)AaZ{jXYBag~k zjNlUTk&=87FIM6X3}b-z%K$eGOr)?DpI|jEVHY}G_D*`Ri19eq<0S6J*Vu@^P%SW2 zV1GY`LB_LKg$t+>UO}~iJT67NU%cFeF^F@---ia{Lf)3Z8BDA16^lH;XLuh^ZV)+- zfABiSJa%HAafb1+5_|p!s>rXh{WxC38~6!R>cON>WE6kmJYFmn@v)G)jUuNRcav`& zrcp({hmxQsioxWfKk8>*w8!aiK7ApbYqbZxTFu8@3^j63ig zW|7T^ztS$UdQ>aFhhrEd*E=|is*0Of#X(#^Rm2|6F3Mgc1erkgC~3Te^BVcH(bX2@ zj&!Z_QIiz0^`I&!x0;~wZmVtMN`h7*s-Qx20I7?L z)R0ggvYoDqCO}tF*3xyllg_CK$y#U1ze%Xm)uswewXJlOoNB6=DG}=^C?z3mR-ozn z;FY8?!bB+3wajkuDB&tV;NAwG^!PuGj@a0Yhp?D&ieeRmhaYT%M z_aS#fv)&NqqlFt=o5I, 2008, 2009, 2016. +# Roumen Petrov , 2008, 2009, 2016, 2022. # msgid "" msgstr "" -"Project-Id-Version: libiconv 1.15-pre1\n" +"Project-Id-Version: libiconv 1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2016-12-12 23:42+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-13 12:27+0200\n" "Last-Translator: Roumen Petrov \n" "Language-Team: Bulgarian \n" "Language: bg\n" @@ -148,36 +148,42 @@ msgstr "" " --version извеждане на сведение за версията и изход от\n" " програмата\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"Подавайте доклади за грешки в програмата на .\n" -"Подавайте доклади за грешки в превода на .\n" +"Подавайте доклади за грешки на <%s>\n" +"или с е-поща до <%s>, а за грешки в превода\n" +"докладвайте с писмо до .\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"Разрешително GPLv3+: Версия 3 на GNU GPL или следваща \n" +"Разрешително GPLv3+: Версия 3 на GNU GPL или следваща <%s>\n" "Това е свободен програмен продукт: свободни сте да го променяте и разпространя-\n" "вате. Не се дават НИКАКВИ ГАРАНЦИИ до степента позволена от закона.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Автори: %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -186,7 +192,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -196,14 +202,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "%s аргумент: не е позволена директива за форматиране с размер." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "%s аргумент: низът завършва по средата на директивата." @@ -211,14 +217,14 @@ msgstr "%s аргумент: низът завършва по средата н #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "%s аргумент: знакът '%c' не е правилен определител за преобразуване." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -230,7 +236,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -244,14 +250,14 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "заместителят за байт към Уникод не може да се преобразува: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" @@ -260,7 +266,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "" @@ -268,7 +274,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" @@ -277,7 +283,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" @@ -285,7 +291,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: не може да се преобразува" @@ -294,7 +300,7 @@ msgstr "%s:%u:%u: не може да се преобразува" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: непълен знак или изместваща последователност" @@ -302,61 +308,66 @@ msgstr "%s:%u:%u: непълен знак или изместваща после #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: входно/изходна грешка" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "не се поддържа преобразуване от %s" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "не се поддържа преобразуване към %s" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "не се поддържа преобразуване от %s към %s" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "опитайте с '%s -l', за да получите списък с поддържаните кодирания" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(стандартен вход)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "входно/изходна грешка" + +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "Подавайте доклади за грешки в програмата на .\n" +#~ "Подавайте доклади за грешки в превода на .\n" diff --git a/source/po/ca.po b/source/po/ca.po index 332fd1d..7bdf40f 100644 --- a/source/po/ca.po +++ b/source/po/ca.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: libiconv 1.9.1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2004-03-20 16:18+0100\n" "Last-Translator: Ivan Vilata i Balaguer \n" "Language-Team: Catalan \n" @@ -45,6 +45,7 @@ msgstr "" #. The %s placeholder expands to the program name. #: src/iconv.c:122 #, fuzzy, c-format, no-wrap +#| msgid "or: iconv -l" msgid "or: %s -l\n" msgstr "o: iconv -l" @@ -132,31 +133,36 @@ msgstr "" msgid " --version output version information and exit\n" msgstr "" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -#: src/iconv.c:196 -#, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Escrit per %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -164,7 +170,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -173,14 +179,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "" @@ -188,14 +194,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -205,7 +211,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -216,43 +222,44 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, fuzzy, c-format +#| msgid "iconv: %s: cannot convert\n" msgid "%s:%u:%u: cannot convert" msgstr "iconv: %s: no s'ha pogut convertir\n" @@ -260,70 +267,76 @@ msgstr "iconv: %s: no s'ha pogut convertir\n" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, fuzzy, c-format +#| msgid "iconv: %s: incomplete character or shift sequence\n" msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "iconv: %s: hi ha un caràcter o seqüència de desplaçament incompleta\n" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, fuzzy, c-format +#| msgid "iconv: %s: I/O error\n" msgid "%s: I/O error" msgstr "iconv: %s: error d'E/S\n" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, fuzzy, c-format +#| msgid "iconv: conversion from %s unsupported\n" msgid "conversion from %s unsupported" msgstr "iconv: la conversió des de «%s» no és suportada\n" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, fuzzy, c-format +#| msgid "iconv: conversion to %s unsupported\n" msgid "conversion to %s unsupported" msgstr "iconv: la conversió fins a «%s» no és suportada\n" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, fuzzy, c-format +#| msgid "iconv: conversion from %s to %s unsupported\n" msgid "conversion from %s to %s unsupported" msgstr "iconv: la conversió des de «%s» fins a «%s» no és suportada\n" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(entrada estàndard)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, fuzzy, c-format +#| msgid "iconv: I/O error\n" msgid "I/O error" msgstr "iconv: error d'E/S\n" diff --git a/source/po/cs.gmo b/source/po/cs.gmo index 35eb1b49624d4c323d0805e838a1796f1560043e..a6733f1b91db3484ee2739a57b1d7d490835589a 100644 GIT binary patch delta 1590 zcmY+@Uu;uV9Ki7(+hAB3%G5Ci!{Z;+xwVc~vaQTYadUyqI_DMw>cee&*lyR}J8y40 zN=(L35)_=KRk4+f8p2GrjLd89DN`C(iV}Ia7QCwwDzXjd=CyVe+ymw1dn3#R*@VY#~1M% zd=u~CVVv3~GL9eN8@PcD7;6?eBC;TH1_>6<<8k~6hj8C^ku+NPDgJ;_Grv!y1wTWU z8;2tzrH592Vd;wkLn`OwNzig0`nUl%)t z$xNV~{6EX!We%_p-$rvbtM&Qo?0$mz2RMnpBc~w!9ktXCVT`$trfAD}1n;5=q<^o- z0X&b7;#YNVpvm~3d&xgplY1;2#Q+CGz+#G@EK8715Y=XGps1_G6sj!=e*$@$&h6Ev z>QY-HH<;&`Y!JNgC!qL5TFv>JW(w`U?TPw?k`T&3sHtkIP1;Shn}XeJrU*GH zA?Rw9o9mmJ44AB$_6)tDI;tI2r}?Xx>g=SOqv)oaW-4@l`LD*|Z3|;|N;`S2M#jgA zk?yD(NlclsDrzrpyN-$|*Hc-`*Pa?YkdFl>XY9PFQs_HrspO}azCQtS#?(%1}(r0|__-amj zIotPjS|v+7e?GL-8@L#>o$58o!nE=|D>choS$^%sculUlbdzq{sjR9w&z<(HoLgjEEG4a?b}DO8m0Q2MeoYf}MrTy+`m$sD%2H;d^(*8d z7D$-u)SR22E&1HM;_&OYmBpb%Wl^1~EKW>~#(Px8nq>n=ovp0Qavo{7=w=HU9a_58 z*0FT1?a~N|&f2Nj5%I5f^WJq&hqCJx_9sFM z61Bv1k;qB>VdIPTwOHgVe#0IN*+tTr#xuBqcQLR-`!xP&|^A2Eb$$VV#6 zL_AoB&De$k)|X*ACKFj~!57$oYj_&%F6$&0u$=KE9>W>z!nfFtTc{fh?zDcNz4#C{5m1IkfCH}P*{ZSfPlP;yZ3zm(9XDbv$ZAJRx@(FBMlqJ=OB zJ3(>^>9-+olTfGIO$$uhA%g2IG%aR5wWgjDk{Uw%e#3}OWO563Prk$6;K*Hdd2&A2 zcx@)_KM@;?8}ZbbkxaxAqv_OxFoR(FemuY8nzt2&azpNj+w3+>(`YsQZDz08nSbe? jE6LsS`Emi@Y*T9F|NqhFZyHI(lZnwg6V3UbzG(4p0^Wgs diff --git a/source/po/cs.po b/source/po/cs.po index 00c9615..3864966 100644 --- a/source/po/cs.po +++ b/source/po/cs.po @@ -1,16 +1,16 @@ # Czech translation for libiconv. # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the libiconv package. -# Petr Pisar , 2009, 2016, 2018. +# Petr Pisar , 2009, 2016, 2018, 2022. # # Založeno na doméně libc. # msgid "" msgstr "" -"Project-Id-Version: libiconv 1.15-pre1\n" +"Project-Id-Version: libiconv 1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2018-11-01 21:16+01:00\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-13 22:29+01:00\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" "Language: cs\n" @@ -146,37 +146,43 @@ msgstr " --help zobrazí tuto nápovědu a skončí\n" msgid " --version output version information and exit\n" msgstr " --version zobrazí informace o verzi a skončí\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"Chyby hlaste na (anglicky).\n" +"Chyby hlaste anglicky do systému pro sledování chyb na <%s>\n" +"nebo e-mailem na <%s>.\n" "Chyby v překladu hlaste na " "(česky).\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"Licence GPLv3+: GNU GPL verze 3 nebo novější \n" +"Licence GPLv3+: GNU GPL verze 3 nebo novější <%s>\n" "Toto je svobodné programové vybavení: můžete jej měnit a šířit.\n" "Není poskytována ŽÁDNÁ ZÁRUKA, jak jen zákon dovoluje.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Autor: %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -184,7 +190,7 @@ msgstr "Argument %s: Direktiva formátu s proměnnou šířkou zde není povole #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -194,14 +200,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "Argument %s: Direktiva formátu s velikostí zde není povolena." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "Argument %s: Řetězec končí uprostřed direktivy." @@ -209,14 +215,14 @@ msgstr "Argument %s: Řetězec končí uprostřed direktivy." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "Argument %s: Znak „%c“ není platným vyhrazeným konverzním znakem." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -228,7 +234,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -246,42 +252,42 @@ msgstr[2] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "nahrazení bajtu nelze převést do Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "nahrazení unicodu nelze převést do cílového kódování: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "nahrazení bajtu nelze převést do řetězce širokých znaků: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "nahrazení širokého znaku nelze převést do cílového kódování: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "nahrazení bajtu nelze převést do cílového kódování: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: nelze převést" @@ -290,7 +296,7 @@ msgstr "%s:%u:%u: nelze převést" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: neúplný znak nebo posunovací posloupnost" @@ -298,66 +304,72 @@ msgstr "%s:%u:%u: neúplný znak nebo posunovací posloupnost" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: chyba I/0" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "převod z %s není podporován" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "převod do %s není podporován" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "převod z %s do %s není podporován" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "seznam podporovaných kódování získáte příkazem „%s -l“" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(standardní vstup)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" # Vzdálená V/V chyba #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "Chyba vstupu/výstupu" +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "Chyby hlaste na (anglicky).\n" +#~ "Chyby v překladu hlaste na " +#~ "(česky).\n" + #~ msgid "" #~ " --unicode-subst=formatstring\n" #~ " substitution for unconvertible Unicode " diff --git a/source/po/da.gmo b/source/po/da.gmo index 3570e2e1beff9bb2204788b9fcbeefa067d7abd0..6d4c01fc5f9f9ee939e5c1ad052c9a53acd20c5b 100644 GIT binary patch delta 945 zcmZY8J!q3b0LJmhzA@UgwVIl?w#JWW)KrtEmMT&Fs#>Iqh)O}Uv_lpVX(>2}LmY}@ zL0T2N=~lrh&LW5qsv=HxP^nPCK^^Mq;Qx7Faq-CIcXzqu?w-~+zQgO7TqzyF+js?E;6Y5srE_=*FXI#RPsdkD zN2QADX`E$X5C`!gp1>t6V{WxHi&J>O{d%bh%gB%>upMt<5oeIE>J|3kTjZr6A+5(I z%wYyItgkaPdKehP9ry^3VGVtPM1$0f1K5p2xF7FeFFr?aY#BX2-zaUztGEfL(8)eU zZ+ss8dmnHw>+2hh_r%`Grzh$ESR)Jk33MWhcnz~_qj`66i2ee4!-aLyc^tdyorwb0kT)s(1|P{ zA*eYOMcs)7`bBgiBiN0TxD%hH$lsBDWWct!MhjjtKz+}_3(_lFi-WBa$!a74qN}fbuhG<%3niU zsJ><{oF>eH=NjH9--4}FpSg?bEyt+rN*jp08l+Ph+B}A^_$WL(<*HwUH}UGHL`y?; Ixb=SBAK2zs0ssI2 delta 1092 zcmaLWUr19?9Ki9PZmrVHa?V_+-OT=|Z8~Fxm1b5FNl^+4Wl*-8Os~6ZyAygE2tCz9 zG@`%ML-`PlpoT9!RgY3oguR&%81!b;OHtJKw@LKWVZZx1zq_4#&iUQ5nbxnN^oI)f zb)f}`8sbWkNC*Bb=0aO^i5$Q$*p6Yhh>bRO<2;UI{W6h#com264er5!N8~t0@f1Eo zeRS1wkuH(6_~{(u#z{PakMJOV!w9yo5V?)_aJS|wMas}YZpkE8<7I5chsaQw#W2nx zAMuumRAMbQVjI>ozYNg{aU+e*_yo7$9PUSVX<;WlSWZ5PEqD!g;Y-|sKTsDKTvhme z6dTB=unuQXEBqOC10F8r%rBL6+OPrNQvN|aMBd13ooM4YK1Quf%^Hz0Jd66f*EoRQ zwS@(bVjp=H`|&qw$@?n`uWSH&$!}r$Fr5WDJs9+goWT@k@I8ibl)5pu+(j*U7He@D zwdC(`HM)I;ig=M?NH6l045FSd3$-G5umzv{sJ}&LksDj_bXB2rmzI2iI`J>m0cGn% zc47x==^YGX7WJ@w#O+wef!K__OI|>VDmPG{H-&o0r>n`R_}|u$`CiIJy!iY!^)%EI+lXc&K)4B3FMdk@z*Xzp zM4#7^Z+aSehtiarb-nU5^_g)y;TXfIk)+|+#$Gyskyt8VMTev3?ASyXNzhJ=bOv+x zOMIm#j+&8(X&L9uQOj_m*8c{S^qaAWk-Qj7##6B|$4nUU1;d^&6Uk4GV_HcwrccPs Om-&l=xu?FH#eV=~V~nE! diff --git a/source/po/da.po b/source/po/da.po index 1ac300a..103271d 100644 --- a/source/po/da.po +++ b/source/po/da.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: libiconv-1.15-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2017-12-17 16:31+0100\n" "Last-Translator: Keld Simonsen \n" "Language-Team: Danish \n" @@ -145,20 +145,27 @@ msgstr " --help vis denne hj msgid " --version output version information and exit\n" msgstr " --version udskriv versionsinformation og afslut\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"Meddel fejl til .\n" -"Send synspunkter p oversttelsen til .\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -167,14 +174,14 @@ msgstr "" "Der gives INGEN GARANTI, s vidt lov tillader.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Skrevet af %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -183,7 +190,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -193,14 +200,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "Argument %s: Et formatdirektiv med en strrelse tillades ikke her." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "Argument %s: Strengen stopper midt i et direktiv." @@ -208,7 +215,7 @@ msgstr "Argument %s: Strengen stopper midt i et direktiv." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" @@ -216,7 +223,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -228,7 +235,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -241,42 +248,42 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "kan ikke konvertere byte-erstatning til UCS: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "kan ikke konvertere UCS-erstatning til mlkodning: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "kan ikke konvertere byte-erstatning til bred streng: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "kan ikke konvertere bredtegns-erstatning til mlkodning: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "kan ikke konvertere byte-erstatning til mlkodning: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: kan ikke konvertere" @@ -285,7 +292,7 @@ msgstr "%s:%u:%u: kan ikke konvertere" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: ufuldstndigt tegn eller skiftesekvens" @@ -293,61 +300,66 @@ msgstr "%s:%u:%u: ufuldst #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: Ind/ud-fejl" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "konvertering fra %s understttes ikke" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "konvertering til %s understttes ikke" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "konvertering fra %s til %s understttes ikke" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "prv \"%s -l\" for at f vist listen af understttede kodninger" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(standard ind)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "Ind/ud-fejl" + +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "Meddel fejl til .\n" +#~ "Send synspunkter p oversttelsen til .\n" diff --git a/source/po/de.gmo b/source/po/de.gmo index d7fb493965caada2bdbf1980ff0962d87ad90bed..dd186a16a1a1e4da43bbbfd5387f941778729444 100644 GIT binary patch delta 1631 zcmY+@ZERCj9LMqh9$;G7U{hh$fyaj_leKPLbXewOK&geUjIpsGKIC>iYp=Aoc<(J^ zi*W|ukPu#&N?g#GXhfq#jcFvlFp-4l8+l_)h{os(-Vk4Ce5EeN#P7Ln7Cq_h=bV$< zbI<*qfBzo76kqzetM$Cl9_H%ddaX%h53XqPElB8r1}2uJW0d;qWD7~Vwl zMt$o=HlRk6S_OykA`anCXg1o(F3tUEydTftR{RJ}($}z^=gTj2%z}Sn4BI;Ba}04@ zW*pmCkMV$Sn zw(skl$}aHy`Dk?@bS`2$!9CeZUiq#ydz@WaetlzXlRI_EvWsRZHe354^iFfraP`IZ zR7Wfp8Hhy&ht%LuJhr3uUHkJ*o$2y%t7tE36&s8W#-g!M_4k%d)yFpu*OoVY-$pWv z+F2x#AenxZix#4*@mN`PWHq56n7y|4w5KNAa^AH{CEm|BY1mpFUQOvRqukXm+&S$i z?!Ef1lhdxFDx@^8Z8Fa5tahTIgs1Y4+F4&6NTf1}$#f#6l4B;ORHC2IgPT>(@>G&% z`io{Q?G~*{){j=5&F9kNx|rh;=5hOUp-4)0snOH!oaK2HC+~R+p07*Fs?0S4WG^Om hm57X+5G^N|uYT5jqE+2^`Mv74aHa)o3*pnv{{nE)8gBpq delta 1303 zcmZ|OO>7Kd7{KwT?W)>sx2rAs;bW9msU6*|>IbD&ZByDJk*JT5t{vN9yW4DMHLb)Z zJ-F0COqz&@gHS|5WJ83W^i(b`4i4pjgBuAK9Q@x|kvMp>@BH3pI-Pgsd7io7^0P7Z zuE;el44t`>c_~Yz6@O)OV0_6D>A!!S1IiCn`Q*rMVkA_Zt6r(_aKaSH437V@w1 z1{-hz`AM-`qy$&tMhs#l`^#|_0Zyc_79U|XE?_&lJefD?!b0Ln+=5rI5no_E{y_DB zdVc156W0^p#?|-|Rfa#KdVyRHh3qdSEP}WmzmfjKc$K)9-Be0H;ccw)iFD&Dyo1F{ zMaJ+sp1}GdkuJP~7w|2rQVbMlQvMhZ6F)_Dy^nOHj^wFRUqD&P#7Sjd*sQ0fM1tjZu&NWz?qsD{#+JhwAQgluN6$%OwLc{b6Qd{DAh)n9d| z8Y)%vkkB7anpR^avxZsA^fO&dk|iX-`Hc9Qgg*T{RD-FZ%A-o6hH7S7#7Q}=B)mLN zp!xlwam#M@dF_X;-1Jsgb*_ETQ(~8T##UN!ZAT~>@ke4wf7A?_r{b}5Z3KEe5lPQ_ zZf0jS*eAU`-oQ40AjnS(Y-S7*;J~_7>XJR zEo54jq16l~PivjANYorXHMCh9=K9`_lkL5|tsNV+!Px&d-{~GUqG2PZySwIQ6I$3b zw6Kx1xQn69T@M+FQNx-@#v+, 2002, 2006, 2008. -# Mario Blättermann , 2016. # +# Bruno Haible , 2002, 2006, 2008. +# Mario Blättermann , 2016, 2022. msgid "" msgstr "" -"Project-Id-Version: GNU libiconv 1.15-pre1\n" +"Project-Id-Version: GNU libiconv 1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2016-12-12 16:23+0100\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-13 13:28+0100\n" "Last-Translator: Mario Blättermann \n" "Language-Team: German \n" "Language: de\n" @@ -19,14 +19,13 @@ msgstr "" "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 1.8.11\n" +"X-Generator: Lokalize 21.12.2\n" #. TRANSLATORS: The first line of the short usage message. #: src/iconv.c:104 msgid "Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]" msgstr "" -"Aufruf: iconv [-c] [-s] [-f AUSGANGS-KODIERUNG] [-t ZIEL-KODIERUNG] " -"[DATEI ...]" +"Aufruf: iconv [-c] [-s] [-f AUSGANGS-KODIERUNG] [-t ZIEL-KODIERUNG] [DATEI …]" #. TRANSLATORS: The second line of the short usage message. #. Align it correctly against the first line. @@ -44,7 +43,7 @@ msgstr "»%s --help« gibt weitere Informationen.\n" #: src/iconv.c:115 #, c-format, no-wrap msgid "Usage: %s [OPTION...] [-f ENCODING] [-t ENCODING] [INPUTFILE...]\n" -msgstr "Aufruf: %s [OPTION...] [-f KODIERUNG] [-t KODIERUNG] [EINBABEDATEI...]\n" +msgstr "Aufruf: %s [OPTION...] [-f KODIERUNG] [-t KODIERUNG] [EINBABEDATEI …]\n" #. TRANSLATORS: The second line of the long usage message. #. Align it correctly against the first line. @@ -155,38 +154,41 @@ msgstr " --help diese Hilfe anzeigen und beenden\n" msgid " --version output version information and exit\n" msgstr " --version Versionsinformation anzeigen und beenden\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"Fehler bitte (auf Englisch, mit LC_ALL=C) an \n" -"melden.\n" -"Für die deutsche Übersetzung ist die Mailingliste\n" -" zuständig.\n" +"Melden Sie Fehler im Fehlererfassungssystem auf <%s>\n" +"oder per E-Mail an <%s>.\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"Lizenz: GPLv3+, d.h. GNU GPL ab Version 3 \n" +"Lizenz: GPLv3+, d.h. GNU GPL ab Version 3 <%s>\n" "Dieses Programm ist freie Software: Sie dürfen es ändern und weitergeben.\n" "Es gibt KEINERLEI GARANTIE, so weit das Gesetz es erlaubt.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Geschrieben von %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -196,7 +198,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -207,7 +209,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" @@ -216,7 +218,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "»%s«-Argument: Die Zeichenkette endet mitten in einer Anweisung." @@ -224,14 +226,14 @@ msgstr "»%s«-Argument: Die Zeichenkette endet mitten in einer Anweisung." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "»%s«-Argument: Das Zeichen »%c« bezeichnet keine gültige Umwandlung." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -243,7 +245,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -258,14 +260,14 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "Byte-Ersatz kann nicht in Unicode umgewandelt werden: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" @@ -273,7 +275,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "" @@ -281,7 +283,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" @@ -289,14 +291,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "Byte-Ersatz kann nicht in die Zielkodierung umgewandelt werden: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: Umwandeln nicht möglich." @@ -305,7 +307,7 @@ msgstr "%s:%u:%u: Umwandeln nicht möglich." #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: unvollständiges Zeichen oder unvollständige Umschaltfolge" @@ -313,42 +315,42 @@ msgstr "%s:%u:%u: unvollständiges Zeichen oder unvollständige Umschaltfolge" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: Ein-/Ausgabefehler" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "Umwandlung ausgehend von %s ist nicht unterstützt." #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "Umwandlung nach %s ist nicht unterstützt." #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "Umwandlung von %s nach %s ist nicht unterstützt." #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "" @@ -356,20 +358,27 @@ msgstr "" "erhalten." #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(Standard-Eingabe)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "Ein-/Ausgabefehler" + +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "Fehler bitte (auf Englisch, mit LC_ALL=C) an \n" +#~ "melden.\n" +#~ "Für die deutsche Übersetzung ist die Mailingliste\n" +#~ " zuständig.\n" diff --git a/source/po/el.po b/source/po/el.po index bd5bd56..d3e8f9b 100644 --- a/source/po/el.po +++ b/source/po/el.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: libiconv 1.9.1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2004-12-25 22:15+0200\n" "Last-Translator: Balaskas Euaggelos \n" "Language-Team: Greek \n" @@ -44,6 +44,7 @@ msgstr "" #. The %s placeholder expands to the program name. #: src/iconv.c:122 #, fuzzy, c-format, no-wrap +#| msgid "or: iconv -l" msgid "or: %s -l\n" msgstr "είτε: iconv -l" @@ -131,31 +132,36 @@ msgstr "" msgid " --version output version information and exit\n" msgstr "" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -#: src/iconv.c:196 -#, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Γράφτηκε από τον %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -163,7 +169,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -172,14 +178,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "" @@ -187,14 +193,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -204,7 +210,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -215,43 +221,44 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, fuzzy, c-format +#| msgid "iconv: %s: cannot convert\n" msgid "%s:%u:%u: cannot convert" msgstr "iconv: %s: δεν μπορεί να γίνει η μετατροπή\n" @@ -259,70 +266,76 @@ msgstr "iconv: %s: δεν μπορεί να γίνει η μετατροπή\n" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, fuzzy, c-format +#| msgid "iconv: %s: incomplete character or shift sequence\n" msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "iconv: %s: μη ολοκληρωμένος χαρακτήρας ή shift συνέχεια\n" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, fuzzy, c-format +#| msgid "iconv: %s: I/O error\n" msgid "%s: I/O error" msgstr "iconv: %s: I/O σφάλμα\n" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, fuzzy, c-format +#| msgid "iconv: conversion from %s unsupported\n" msgid "conversion from %s unsupported" msgstr "iconv: μετατροπή από %s μη υποστηριζόμενη\n" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, fuzzy, c-format +#| msgid "iconv: conversion to %s unsupported\n" msgid "conversion to %s unsupported" msgstr "iconv: μετατροπή σε %s μη υποστηριζόμενη\n" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, fuzzy, c-format +#| msgid "iconv: conversion from %s to %s unsupported\n" msgid "conversion from %s to %s unsupported" msgstr "iconv: μετατροπή από %s σε %s μη υποστηριζόμενη\n" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, fuzzy, c-format +#| msgid "iconv: I/O error\n" msgid "I/O error" msgstr "iconv: I/O σφάλμα\n" diff --git a/source/po/en@boldquot.header b/source/po/en@boldquot.header index fedb6a0..506ca9e 100644 --- a/source/po/en@boldquot.header +++ b/source/po/en@boldquot.header @@ -2,7 +2,7 @@ # 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 +# https://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). diff --git a/source/po/en@quot.header b/source/po/en@quot.header index a9647fc..6522f0c 100644 --- a/source/po/en@quot.header +++ b/source/po/en@quot.header @@ -2,7 +2,7 @@ # 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 +# https://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). diff --git a/source/po/eo.gmo b/source/po/eo.gmo index 84bff28dc7379d62e770ed94aa08237bc00d912e..2d7cb298e99204dd4be0d8d2127ec8b3151717ba 100644 GIT binary patch delta 945 zcmZY8Pe@cz6vy#j^Tsh>nL0LUnVDmjV@-`_WTuvX3KWf2qG;$s#DWl92|*JUf*TiE z^v8v`X(339!A%QsBZwGnYmp@wghZe_7lPk2@6o2q-1oWn%$xV_J?G9u)l4F}5e~i< zElxj8e{o1^z&`;lw4aXDf}3~)%Y)Jg_G2@C!N(ZRkZ$2K?89ZeiNzu5KK5WQ&Z9j# zlqubolFDLmk3c)N<2!7{EgZzyVd*_iVV%vhq--2SLK?+Fe1Zvlh5S@2cnv=zA33gc z9J4WoQH=6_bug$RFoNfC4x4ZlZ3pfVDF^T373{+6IDuDj32kA!X!pmDO6Tw)p1~=! z%r2lUd=2e+U$L6^>o3cbM-V^HSNuU5}VQM~naU=QX+B_p@l3`+-)P%Xw@D zhkX~(QXL3;CCtE1=51*Ay}@KXgDnPKSeh@r#WA!U=8-RkYC}u)11!QJtj2M)oh;%d zT=D0-zJZ8zfp{3pu?{WM1AhEvg#0%W_(Z@C*&f;h8%}t&?DTz#mg0|CgWFh(B?VqB zyRnSkNZ6wkETA8L@r!r~PV#(<}R$!cNN6H#+(#7=X|H~;tC3OB8 zI!m`>W{q8l!yxLKK2dfGO6iu1O1kALNM|)VDNU!G;z*P+Wk@&66}3|=^~+fgrM|m6 KZfZX=88`soeOPG# delta 1050 zcmaLWOK1~87{KwbNsJmFwU5+3tgbQjk(k&-gGOuGYV{ztNTCW^4}D13&}K_bdR-{g zgY{4>f-e-bf*z$FiU$R~iHIOQNfnPh2nM|<3jV+BB0V`|_BY>TcXsBR**mRQ685KR z-wmO}savSmDnyRrZx0vBH?PQXEMXc`J`oEoJcgff6ho^-+HnT^@jV{Fm|x@!ns@=9 zqYhoSTBJk7mIfLN@k{HG>r2ibAAWri(O{tAJe2Lm0+2q7ysQ-UN&0tfN zvqd>PO+4pXLQQ$5+S$rZ>?WQ|%14={-@ zkhw_-_hLoRiQ}#r+(my6w%`ON@NSU&>%n{H-tY%A#4UBsOoveievG=e3$DwksczgX zasd1A5MD*y+t;`Qzq(d&KsFMmkYq_0>Ue$ij84Y?mGJCOPt?{qvXt^#bvT_OPm~L9 zF0XN$8?U61z@YM}$abn8J1wkAI2^*pm-C>fAw=CxjZ$M&J|kha(jYSX(Ayl;>9Z~6 zqNkBPl*s&|_pLwDduhxXFBpTx>}8{18ErIT*?ciJVh)-^R(_&`Aa0FkGx7QRf$xD> Y?||N4G=|JkE0;G0M*jQAOmN!s7hwT\n" "Language-Team: Esperanto \n" @@ -143,18 +143,27 @@ msgstr " --help montri ĉi tiun helpon kaj eliri\n" msgid " --version output version information and exit\n" msgstr " -version eligi informon pri la versio kaj eliri\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Raportu cimojn al .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -163,14 +172,14 @@ msgstr "" "Estas NENIA GARANTIO, laŭ la grado leĝe permesata.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Verkita de %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -179,7 +188,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -189,14 +198,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "%s argumento: formodirektivo kun grando ne estas permesata ĉi tie." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "%s argumento: la signoĉeno finiĝas meze de direktivo." @@ -204,14 +213,14 @@ msgstr "%s argumento: la signoĉeno finiĝas meze de direktivo." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "%s argumento: la signo '%c' ne estas valida konvertospecifo." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -223,7 +232,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -236,42 +245,42 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "ne povas konverti bitoksubstituon al Unikodo: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "ne povas konverti unikodan substituon al celkodo: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "ne povas konverti bitoksubstituon al larĝa signoĉeno: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "ne povas konverti larĝasignan substituon al celkodo: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "ne povas konverti bitoksubstituon al celkodo: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: ne povas konverti" @@ -280,7 +289,7 @@ msgstr "%s:%u:%u: ne povas konverti" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: malkompleta signo aŭ reĝimŝanĝa kodo" @@ -288,61 +297,64 @@ msgstr "%s:%u:%u: malkompleta signo aŭ reĝimŝanĝa kodo" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: leg/skrib-eraro" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "konvertado de %s ne estas subtenata" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "konvertado al %s ne estas subtenata" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "konvertado de %s al %s ne estas subtenata" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "provu '%s -l' por ricevi liston de konataj kodoj" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(normala enigo)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "leg/skrib-eraro" + +#~ msgid "Report bugs to .\n" +#~ msgstr "Raportu cimojn al .\n" diff --git a/source/po/es.gmo b/source/po/es.gmo index 2870b4896b551e83999b7ef0250712da2e8e62ce..08c11a41005bc545f4d6fea1647d625cf4419db6 100644 GIT binary patch delta 992 zcmXxjOGs2v9LMpWIzAdT8>=z3hiMP9iJD0(Q*lg5%E87PfGRcC8c&YoDmCS|yAGJ-~(Z{oTnwbMEKfJ9o~U^E>A*roJbGZ?%zUq7t;- zw230A3zv&IP#;UAe*A=;SRIk>;2@sE_jnuEu@`TZN>}kUx}VZAX$1T53QnQB&SP2% z^plfeZlubki}(Ns@H1Y=ScUWw@8MZrZ($IaL2hXjci|YGzzO81n!yfyhkUfkVF&)k zBN&ZJ&HTUGIZ1NkGWOw9^vD;m2Foj@<5-8MaS%^pfF4i|{d^t|U|W^67cZd`9Y+s% z65ZbmOyL`R8xZ$0CmBDmRXT%T@jk|Q+L2G9ujlbR_HH9)e1abE8amo!OuC6#bi}{V zN&dwV?5>rD{5?AHMGU-lt=pw(e2zWXK~D6kyXc4?;Xce_H_jlB>IWXf4P*{V>?}mw ziKn<8#soe_Cp3$rm`Cra3vu%IA7$f(j;GNhT|&<+QAdn8j{e~XJcRWu_hzO&O%{s~n6Hp_K#KIyNwb4AwdYX5# X%ga-hTPc|<%YBL7sLYMU{}lfNkknZ* delta 1122 zcmaLWKWGzC9Ki8klbD*u`X~Kk)ke=~)mATU6Vz&}*0ywLi$=jgD@c>Z7-)0lng~H8 z1qBD8gVjL?p@WNqgGJm#5J80!I*Ed!n6VBn+R^Xtt~xmQ$h*(IckkZ4_j|uoIzPlp zpF_TTLNTe$)SFcz$8g!hh4RHK(vM&92)6h{EWCt$SjI^Vtr0naGk6hSVmF5UA_+W? zqxcwgYJaszuSiJ(+?=9g2#4@K4qyexv30G;1DwU9+75`+;yBVJHa6ik?7+LotMVET z;v(`BZ;ePj)?zD0Fv9m`gquz}EZmRtcoG*;cd#Ky#bIp6Q9O*dF^;cL7xoKvd~BV_ zZp`6!oI{Q5Q`Ci*QRn-FF}^R~xp_j^4W5qZfb}9>*vzORoJI1eG=4*UFV4a5!CBmi&(Og4NDyTOb-wB?PO?c8R?+@bcIo-+06iBiB(1X}O(2~> zOW4IZQ{9zDV&7^X^E-ugJGrCL`L}GPqm9ZR$XT2wqZWc7L5quqOn0HlqPy5jHK`gh z{$0Xmg@wC+8ze9P7ELTI5h};&loqZWy_4mnjBL|h!!XTcF+X?4SHDp4KJvGnO;1^N z-bfZQ(?;Ghdblw&xq>;7O=eS8?rJZMsAXr4M;C6@WP\n" "Language-Team: Spanish \n" @@ -31,6 +31,7 @@ msgstr "o bien: iconv -l" #: src/iconv.c:110 #, fuzzy, c-format +#| msgid "Try `%s --help' for more information.\n" msgid "Try '%s --help' for more information.\n" msgstr "Pruebe `%s --help' para más información.\n" @@ -141,19 +142,28 @@ msgstr " --help muestra esta ayuda y sale\n" msgid " --version output version information and exit\n" msgstr " --version muestra la versión y sale\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Comunicar errores a .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" # Esta cadena es para libiconv 1.14 -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -162,14 +172,14 @@ msgstr "" "No hay NINGUNA GARANTÍA, hasta donde permite la ley.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Escrito por %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -178,7 +188,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -189,14 +199,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "argumento %s: No se permite un especificador de formato con tamaño." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "argumento %s: La cadena termina en mitad de un especificador." @@ -204,7 +214,7 @@ msgstr "argumento %s: La cadena termina en mitad de un especificador." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" @@ -212,7 +222,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -224,7 +234,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -238,14 +248,14 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "no se puede convertir la sustitución de bytes a Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" @@ -253,14 +263,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "no se puede convertir la sustitución de bytes a cadena ancha: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" @@ -269,7 +279,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" @@ -278,7 +288,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: no se puede convertir" @@ -287,7 +297,7 @@ msgstr "%s:%u:%u: no se puede convertir" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: carácter o secuencia de desplazamiento incompleta" @@ -295,65 +305,68 @@ msgstr "%s:%u:%u: carácter o secuencia de desplazamiento incompleta" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: error de E/S" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "no se admite la conversión de %s" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "no se admite la conversión a %s" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "no se admite la conversión de %s a %s" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "pruebe '%s -l' para obtener la lista de codificaciones admitidas" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(entrada estándar)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "error de E/S" +#~ msgid "Report bugs to .\n" +#~ msgstr "Comunicar errores a .\n" + #, no-wrap #~ msgid "" #~ "License GPLv2+: GNU GPL version 2 or later \n" diff --git a/source/po/et.gmo b/source/po/et.gmo index 65267e282989a81ec0604a8af3efb12a401c2733..30dae1d6b8dbe4c0202bd5abd93659eb4903d45d 100644 GIT binary patch delta 945 zcmZY8OKeP09LMpWxnp#$4mwo4hVs zk-n6EafY-LePwrF?@pCF_)4C@CY8oJLsiT zv!p#ztTcmuCi<`sCviVka2N}9(hV%(HlL@Z3=ShxI*p6*9CqL}!xVFnwR7{gU~8~5UK^b>@$rMY+j+i?&#<0b6G$LPX-p|3C2ORabcmthH= z>^*ehFVO3Kz>VBr-xxd~_9nh{r0?d`3W&JsB}P?Cg#b`LE~#TeCG!VBE#TO$LYXEtW7hUuwg-3o{FeAA7JHFQXTpLKpHI zS73gT_mnh{5H*4>@GN?rD@f4)+Dc7?L0jzIqNHl=Yp_W7E9J(@T3a3ce`sW?na*EB z%jtg2+^AZ-4At!X+>(%5A(}ctN;K2 delta 1065 zcmaLWKWI}y9Ki9PNsOA>R-2}_YV?^#YZH^!+9=T&tJVq?L>*deJD8eBh}680ytqaR z;$RW6I4EMlKSM_?2>t<4r;3A1!KJ!5C^#s(R2=;N@<4F$$i2_q@pAXO-`#uB^`yJ{ zp~-VYC~@jW>eMok{rKC(gYwNSau~m35)&Q~3oSf^AMrefmWv#~YdD7Qa399JA}279 zqxckc>XsEEeIiw9qj8*p5gf!>?8l#&#pFtnTX+ZeYJZhTJ=(~SOkyiu!EU^d{8bh( zfs4pb{63Lp3}PqtV2Jf)jK)p|su;zGxD6NaAbRSYoeW?j{YmV?>$nGB;V%4z8en|2 z^L`$~^dI0Re1n?dFQ^;v@@QmzX{OPGVSG&bhf!18z-k)6Ni=a9H8V?i4%2I#_hxaJ z{#QJT{cA;1IE6zvkD79$$r*1)J(@FE)y8caz4#uFVZC4EDxSs&enx^8Kl#&?8@K^G zQSZ$WWNoo=2VO#b?-8;Wd4{`j9yPNPa5B~rApd&VMj6mExrw@i*O#abwvYrTIT>**R)K9$\n" "Language-Team: Estonian \n" @@ -141,18 +141,27 @@ msgstr " --help v msgid " --version output version information and exit\n" msgstr " --version vljasta versiooni info ja lpeta t\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Vigadest teatage palun aadressil .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -161,14 +170,14 @@ msgstr "" "GARANTII PUDUB, vastavalt seadusega lubatud piiridele.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Kirjutanud %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -176,7 +185,7 @@ msgstr "%s argument: Muutuva pikkusega vorming ei ole siin lubatud." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -185,14 +194,14 @@ msgstr "%s argument: Muutuva t #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "%s argument: Suuruse mranguga vorming ei ole siin lubatud." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "%s argument: Sne lppeb keset direktiivi." @@ -200,14 +209,14 @@ msgstr "%s argument: S #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "%s argument: Smbol '%c' ei ole lubatud teisenduses." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -218,7 +227,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -231,42 +240,42 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "baidiasendust ei saa Unikoodi teisendada: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "unikoodi asendust ei saa sihttabelisse teisendada: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "baidiasendust ei saa mitmebaidiliste smbolitega sneks teisendada: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "widechar smboleid ei saa sihttabelisse teisendada: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "baitide asendust ei saa sihttabelisse teisendada: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: ei saa teisendada" @@ -275,7 +284,7 @@ msgstr "%s:%u:%u: ei saa teisendada" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: mittetielik smbol vi nihkejrjend" @@ -283,61 +292,64 @@ msgstr "%s:%u:%u: mittet #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: S/V viga" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "teisendust tabelist %s ei toetata" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "teisendust tabelisse %s ei toetata" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "teisendust tabelist %s tabelisse %s ei toetata" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "Toetatud kooditabelite niekirja saate ksuga '%s -l'" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(standardsisend)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "S/V viga" + +#~ msgid "Report bugs to .\n" +#~ msgstr "Vigadest teatage palun aadressil .\n" diff --git a/source/po/fi.gmo b/source/po/fi.gmo index 81466ffcff00b4304cf4ca2a2d5d01c54c8e2fa0..a823cfa63ee300a9ab830ab588624ba81cc707b3 100644 GIT binary patch delta 992 zcmXxjxldG47{=ijW?*o@1!QwUaRe76VUGw=Sya>z1RC5bwJ<7bL99q_EDfCrF-l`W zp%Owd8f_#LglI(m0wl3Akw{_zg^m8+GxCLVpK}*xzWbgtOAQP4(MnN#TvRP%FJm-I zYRBbl4%DZZ)Qz9<1a6H>53mQj@I4OWA3Tk>bENC|3jH}bxl%uN;x&AV{^&LAkRttN z(#M6ygme)f;~8AUTUeMUy}(D<=JPEyfxXBjUBz;|iS;;&{Hvz11>YfmTIEoT>v$BC zNh!tmtC>jy7lyDCpP)Pcg4;2XFV$fg9>*SR!U)|^8vXnlR$)znv=1+#6TOdacntk{ z&#@6-LFghDRiUjCFD<2I$N5FbO@U{AHx=$!&cltM_gByxqla{Ie&?jxPXMG z9~c@zzj=adG2;td?aH+T%If+FYf0uJJH z)K>>ri?oRpq?Aq{6Fu025AifE;xN{&5qX4nutmqEBIP)YOi2#6;5BT-Y2;t!9Uj6W z@+bZ>kxDGbI*ekJ@5@;_aVBisk5BLv7EyPwK15(IHsBy0#@pD8Z&4Ta8}<37wIbD+ z#ho~Xn%S4A3!g`Q-zRM1`|^X%0%?B{BvH}-P^)zn78PwFi zM%~d*)CK-Q)*>wt&t9x&JcI{u5;aqEs5SK~LjJqyG;i`&d>vV|6j4+A1rK7yX77Vt zc!co;YN}tM-e1BRtfdeP?89|vqb_IyHKTWtM6a|xdj9%=?m`\n" "Language-Team: Finnish \n" @@ -35,6 +35,7 @@ msgstr "tai: iconv -l" #: src/iconv.c:110 #, fuzzy, c-format +#| msgid "Try `%s --help' for more information.\n" msgid "Try '%s --help' for more information.\n" msgstr "Katso lisäohjeet valitsimella ”%s --help”.\n" @@ -145,18 +146,27 @@ msgstr " --help näytä tämä opaste ja poistu\n" msgid " --version output version information and exit\n" msgstr " --version tulosta versiotiedot ja poistu\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Ilmoita ohjelmistovioista osoitteeseen .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "License GPLv2+: GNU GPL version 2 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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -165,14 +175,14 @@ msgstr "" "Ohjelmalla EI OLE TAKUUta siinä laajuudessa kuin laki sallii.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Kirjoittanut %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -182,7 +192,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -193,14 +203,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "%s-argumentti: Muotodirektivii koolla ei ole sallittu tässä." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "%s-argumentti: Merkkijono loppuu direktiivin keskellä." @@ -208,14 +218,14 @@ msgstr "%s-argumentti: Merkkijono loppuu direktiivin keskellä." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "%s-argumentti: Merkki ”%c” ei ole voimassa oleva muunnosmäärite." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -227,7 +237,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -242,42 +252,42 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "ei voida muuntaa tavukorvausta Unicode-merkiksi: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "ei voida muuntaa Unicode-korvausta kohdekoodaukseksi: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "ei voida muuntaa tavukorvausta wide-merkkijonoksi: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "ei voida muuntaa wide-merkkikorvausta kohdekoodaukseksi: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "ei voida muuntaa tavukorvausta kohdekoodaukseksi: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: ei voida muuntaa" @@ -287,7 +297,7 @@ msgstr "%s:%u:%u: ei voida muuntaa" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: epätäydellinen merkki tai shift-sekvenssi" @@ -295,61 +305,65 @@ msgstr "%s:%u:%u: epätäydellinen merkki tai shift-sekvenssi" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: Siirräntävirhe" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "muunnos %s-koodauksesta ei ole tuettu" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "muunnos %s-koodaukseen ei tuettu" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "muunnos %s-koodauksesta %s-koodaukseen ei ole tuettu" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "katso luettelo tuetuista koodauksista valitsimella ”%s -l”" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(vakiosyöte)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "Siirräntävirhe" + +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "Ilmoita ohjelmistovioista osoitteeseen .\n" diff --git a/source/po/fr.gmo b/source/po/fr.gmo index 404c6f2b1c0437651527f75dd9a6295e2e85768d..a740ece51ed211968c3742bc15e25b079147143b 100644 GIT binary patch delta 945 zcmZA0Pe@cz6vy$Oy>V*B%$jogqh?KMjXIVi>6nzGm5}srkwqw|p$iuxh~lEfa}lm= zNK~+BQ_Cm_W@$u(fvC~45GIQLDA=l62rcS+W`-7B=Dg3nciy~r?>TqoYM)2l4*}1N zXc3~AxSb=N!ta~7&^|iS8T^C|Smu!iu?t)9Ee>EHS8BpB?8KMYh$UX>3f{mDe2n&J z?`A13x$@Du#6%mm;XOQyU$7U$TcrD#z>_xiN%`1|Olb)B;4M6k)5uTt8c*OGqB0L1U&|YaO>68?P=u?k$E8|M-6i$A1 Qmc7Z8eGb9*^EOwjmeVFuYMJ&&NT{R|qXx0z7!%i(?G7P=flomZ z(Fh{w4^$695618%d#b0zpckPR^|`l#UW%Z;XE%y|c<$$Se%#&ryXSX&6I<*lt~Gh? z2_s5uCvI&JIf6f3To_;6BFFJ7_F=C_#6k;?;W}n9xKZRN-oZG2!~yK|ii}|fFXL;} zM;lclLn1{9Fge4*B^<>UcmluSB=%K{JitfTuX&9~J=(~U%wa3u#BO|s{8U!37gv!# z@z;tpV;kIS2mocl8v zB7crMa0#`-pHV-+%cX($OEZ%ghH#$pPvBYdYTl-mxQGROh*~MX&&iWGO8yDQu%l6A z5N%9h8Bb%N$tignuaHmS1TJCm0+XO$WE^KPi68Jjc2h6yh4;7_t6H3r8@P?U9S`9E zYRPTXN?b>ZC-cbOWbx1XGHRcR;q+3MLH)IfGAzXKC2Gmn@g(lt;*>m%x{+Btg$t8ZP|rGq)= zQyJQgoTcn5ueg`JzH_M=D`%U@LOO5SmU*}ouWxk?M$3X|-C;xsEF&f>!0ZJ)wiU0rr diff --git a/source/po/fr.po b/source/po/fr.po index f61d6c2..f0517e2 100644 --- a/source/po/fr.po +++ b/source/po/fr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU libiconv 1.15-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2016-12-23 20:58+0100\n" "Last-Translator: Stéphane Aulery \n" "Language-Team: French \n" @@ -143,18 +143,27 @@ msgstr " --help affiche ce message d'aide et terminer\n" msgid " --version output version information and exit\n" msgstr " --version affiche les informations de version et terminer\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Soumettre les rapports d'anomalies à .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -163,14 +172,14 @@ msgstr "" "Il n'y a PAS DE GARANTIE, selon les limites permises par la loi..\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Écrit pas %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -180,7 +189,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -191,7 +200,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" @@ -200,7 +209,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "argument %s: La chaîne se termine au milieu d'une directive." @@ -208,7 +217,7 @@ msgstr "argument %s: La chaîne se termine au milieu d'une directive." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" @@ -217,7 +226,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -229,7 +238,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -242,28 +251,28 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "ne peut convertir les octets de substitution vers Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "ne peut convertir la substitution Unicode dans le codage de sortie: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "ne peut convertir les octets de substitution en chaîne large: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" @@ -272,7 +281,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" @@ -280,7 +289,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: ne peut convertir" @@ -289,7 +298,7 @@ msgstr "%s:%u:%u: ne peut convertir" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: caractère incomplet ou séquence de décalage" @@ -297,61 +306,64 @@ msgstr "%s:%u:%u: caractère incomplet ou séquence de décalage" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: erreur E/S" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "conversion à partir de %s non supportée" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "conversion vers %s non supportée" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "conversion à partir de %s vers %s non supportée" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "essayez « %s -l » pour obtenir la liste des codages supportés" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "erreur E/S" + +#~ msgid "Report bugs to .\n" +#~ msgstr "Soumettre les rapports d'anomalies à .\n" diff --git a/source/po/ga.gmo b/source/po/ga.gmo index a0cf992ccb74884ab04bff4f6bd42ab627b4cfb5..bfe7815d577a335f3fde61d914a48ad4fcabd51f 100644 GIT binary patch delta 945 zcmZwGPe{{Y9LMpG{pM_Q+FH$(HO-mj%&Gm+vXJsW3=QdEnMM~OBAnn=a1s%C@uD3P z1U-llbco?CqKlxSb(KIXFz^tFf(LKDzuV~4!@j@Q^Zb6>?|Hu8=h^FqiTdPr!1YeF z7;%w!lOr|Z-xFMDzZ|I*e`6z7xTIlxjxG2dhcJ*U-N$hpz^`}@!)~bu`>-EBpuO6i zCq0mo^3Zw6jX1{fJ+|Qv4r27AG=r0P*Tx>H00)s<8o_foigh@R{8Y6n0=O_Tp`Pi#PEL+QJUdz8~{Rm+>W*;3QgQ zKcX#s4efoKc!T-1OXrBPU*Ksw;~-D10{v*Eox@Hn^h*isMca~Pe1@LWQa8T9r?`~W zAIOyY71~xM@DYB>>N-RHZNkTNY@%5_WFh&~=@#RhB8fTFfL7{G3}X-0U;?ewvv?I3 zkX*EZeDs4$HSXgzED2?{B#u_8@euXzp!1mQ zv@Ki2OZYA89u_k87iSVE#V3sGko^9&a!q-is-*3f9SzH|l86z^lx~)Xt^I$Ex2cri zuaTbKj+wO}!C^?(!j@;Jpp38@RS{Mb7eUryrBf*<9E{LsU(&6DD|@JD>W{PTPHlOA K`cg+Bk8=!8231D@ delta 1064 zcmaLWJ!n%=6u|M*CPw?A)qW(lSbfI$)tIQ&sI{%eY8wbuv<^zFLlSH9pv{vsaS{U& zg<=P35XC`k4P zQ@#DJF#N;@V!T468-G`FVSKZR9LFW>z<^!ELJNEFGmfBpg~(C7gM;`UJJIJ5IgKV> zz!#{GcCHi&isYo3$ti9`FpN`p0>9%W>{uo803YIE&8tLKV+Oe;d0daTaSuL5ekyYq zzy;(Z4b>uz*or%`9o?)igG}~vBZpp`!ELyJ$IxC=uA~p^$n&@xC-5M?#(nq;^#%R4 z(#WJ8Jy@ju=dhRj46A7;?%@c2#1MwpillG?b!#ft ziCn~9Jc*MS!KG#U>&q>Fin?XfIDlUi1(P1MRipl+SfLSSgwB(5PJLoMV!p2w*cT1ugRho?}i^yapb>rv5K z^{8l#tXLXakJhrOoc?p=sikH4tH@?TkDZPtg2PejiS|cNgPYhvXg_>}ouGQ5g2JS& zwP_1;_NO$oB=%C;X6J109Bl(bSFCi#h-DL_M#eI_nD`Q@tZ&$inQ<$1HAv#O(upJf t*+N7)QBguX5zmOxbCX4{Q((JgKPi* diff --git a/source/po/ga.po b/source/po/ga.po index 4277b1d..ca354cf 100644 --- a/source/po/ga.po +++ b/source/po/ga.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libiconv 1.15-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2017-01-08 14:58-0500\n" "Last-Translator: Kevin Scannell \n" "Language-Team: Irish \n" @@ -142,18 +142,27 @@ msgstr " --help taispeáin an chabhair seo agus scoir\n" msgid " --version output version information and exit\n" msgstr " --version taispeáin eolas faoin leagan agus scoir\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Seol tuairiscí fabhtanna chuig .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -162,14 +171,14 @@ msgstr "" "Níl baránta AR BITH ann, an oiread atá ceadaithe de réir dlí.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Le %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -179,7 +188,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -190,14 +199,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "argóint %s: Ní cheadaítear treoir fhormáidithe le méid anseo." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "argóint %s: Deireadh an teaghráin i lár treorach." @@ -205,14 +214,14 @@ msgstr "argóint %s: Deireadh an teaghráin i lár treorach." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "argóint %s: Níl carachtar '%c' bailí mar shonraitheoir tiontaithe." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -224,7 +233,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -248,42 +257,42 @@ msgstr[4] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "ní féidir ionadaíocht bhirt a thiontú go Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "ní féidir ionadaíocht unicode a thiontú go dtí an sprioc-ionchódú: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "ní féidir ionadaíocht bhirt a thiontú go teaghrán leathan: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "ní féidir ionadaíocht widechar a thiontú go dtí an sprioc-ionchódú: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "ní féidir ionadaíocht bhirt a thiontú go dtí an sprioc-ionchódú: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: ní féidir tiontú" @@ -292,7 +301,7 @@ msgstr "%s:%u:%u: ní féidir tiontú" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: carachtar nó seicheamh neamhiomlán" @@ -300,42 +309,42 @@ msgstr "%s:%u:%u: carachtar nó seicheamh neamhiomlán" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: Earráid I/A" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "ní thacaítear le tiontú ó %s" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "ní thacaítear le tiontú go %s" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "ní thacaítear le tiontú ó %s go %s" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "" @@ -343,24 +352,27 @@ msgstr "" "thaispeáint" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "Earráid I/A" +#~ msgid "Report bugs to .\n" +#~ msgstr "Seol tuairiscí fabhtanna chuig .\n" + #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" diff --git a/source/po/gl.gmo b/source/po/gl.gmo index 31fd6b6f0e6af07ba3c2714ef1488df8a8361135..a36919ec5455a00f4c83d6f0e7c8ea0113db1b51 100644 GIT binary patch delta 992 zcmXxj%}Z2K7{~EnI^)=AFItY4y_l7iS?Xv-3F-7Egk(W4Q0)?|MTwgzn7X)V5v~-4 z^bZhQw3@_-a+8o!u3I#@7A&EljY#?Z-O&f1`#E#wdhc_dbLM^1R5F+^jSP#ZBX^PM z4N?nc^SBT*`O^rM%sO$zjz z!4)QwG3he);RXDPU06~mjpAcG641-D?VNUFzjJcaGpgaNvs4Ep{hJb<;u(jM$Yck~gu;C}S; zMlgx5@m)Z>vkV?EF}yifz<*5hImO+Va0;JdbSp2%0K4%sy5RZ}=_dA~J2r!E@v+ie z>l^R}pZn0A{)X4EW*g7yVeo{(5H8?Jd`6#K>05M*r_n2$!?XAYxmAs2xjny#EM6~= zuQY(oIEHTZcl6nbCZy}wieAW2g8s7zWtnKhU)YJq%X4SoIl9tM=)+USM%Q33x}aBB zg&)x^o<|q{6Wy5=q`{)0VPT;CBu5~O!`^?d#KCs!5E&uqpmvjPqxZ0itR~lk4u-LF zO&89rX1=DZG@sR&hLt*H6k3!Wv`K=#h+=TjLR__IQ53j}TooWnTQmxw&U2e?Par6Ls=N2Vl$tMNMSz;WbJnZ_2J zK|bOs6A5Ak)?*mMykCye*~x^B+i(K+;|%H!miq}jg4?klcjJ9*#sccXexcqUDHqv< zX4Y@Vcjhew*A@YBc&Ko9lN0qAxJcCiR@HkGQ z*2Evw1$T1bT1*ddGtQ%?Jh+A|VjF6z&!KMM66%p&LlV8%HtPB73-xAg6s@x(Eg(+8 zX*CNvFQBiP*t#&Mg{O`6JGE2mjQ+i>W!OOQ2XYpt#i)&>h+osr@jJWFV%b1!Axxr? z@DglVSh)MQLF#g`X<=y#6CA74>bOz@PRe!n)jDe!rWqT_jrDnhQ*)lDzJ?QtD|RMl z#PZ3kk+Y3`bj)NrZ>Fr6b\n" "Language-Team: Galician \n" @@ -37,6 +37,7 @@ msgstr "ou: iconv -l" #: src/iconv.c:110 #, fuzzy, c-format +#| msgid "Try `%s --help' for more information.\n" msgid "Try '%s --help' for more information.\n" msgstr "Execute «%s --help» para obter máis información.\n" @@ -149,18 +150,27 @@ msgstr " --help Mostra esta mensaxe de axuda e sae\n" msgid " --version output version information and exit\n" msgstr " --version Mostra a información da versión e sae\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Envíe informes de fallo a .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "License GPLv2+: GNU GPL version 2 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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -169,14 +179,14 @@ msgstr "" "Non hai NINGUNHA GARANTÍA, ata onde o permita a lei.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Escrito por %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -185,7 +195,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -196,7 +206,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" @@ -204,7 +214,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "Argumento %s: a cadea remata no medio dunha directiva." @@ -212,7 +222,7 @@ msgstr "Argumento %s: a cadea remata no medio dunha directiva." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" @@ -220,7 +230,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -232,7 +242,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -245,14 +255,14 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "non é posíbel converter a substitución de bytes a Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" @@ -260,14 +270,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "non é posíbel converter a substitución de bytes a cadea ampla: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" @@ -276,7 +286,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" @@ -284,7 +294,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: non foi posíbel converter" @@ -293,7 +303,7 @@ msgstr "%s:%u:%u: non foi posíbel converter" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: secuencia de caracteres ou desprazamentos incompleta" @@ -301,61 +311,64 @@ msgstr "%s:%u:%u: secuencia de caracteres ou desprazamentos incompleta" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: erro de E/S" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "non se admite a conversión desde %s" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "non se admite a conversión a %s" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "non se admite a conversión de %s a %s" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "execute «%s -l» para obter a lista das codificacións admitidas" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(entrada estándar)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "Erro de E/S" + +#~ msgid "Report bugs to .\n" +#~ msgstr "Envíe informes de fallo a .\n" diff --git a/source/po/hr.gmo b/source/po/hr.gmo index ff359acca8fe01333d4cc3a72086a7ded26bd67d..3141380772a3567b511b6c99ae72f7156d7ebf2f 100644 GIT binary patch delta 992 zcmXxj%}Z2K9LDh{-y5wQtFfAD%zP=6vMGzwUaW9JEd?XNY7xBz#9+bLL_8XIu2Eres`HD{V7v zbcNJ`GeumePsP$n{EUZiRf%*5b9e&Z<1JjoV|b%fx`?mQ?iK@{=VmVhL)e9n&@=ynYp}dh+Jm)t5OcT>BlLvw=;!CL0b8o1t=NxF^fr3J zW9auyU>4tCCL)U&ZjLhWcXj-t4xYM3|1NgpEMCWk>i7%C@ErY*g?>62M|>U!8J|Q) zyo5*aAD+R^8tF7X#!mc>(EvBqYl#If;{hBZC(rZ=I^vh;l}utQPN5@SDD?jzi&xY7 zIN~hsrk_JcJ%Uc`753l{^u#hL@@Mh7l!~|DCOU~1*pAca2a~n&ndrwx`p>WqKVSx@ zk?^#HgrWoo!YfQ8=Q(`F97ApA$`J^)!~4&oL$Tdzrg4x(V%kD;j9z&it)8}ABo}H^ zLGQcEsd?}Dv4nCeF3xy31KZFGaPb3CMIRR?9pY?4$Gcp+xbewO(?~27fvAP%Rc@p? YUYAp-%Fh;0mF2%BdMoqyQxA&%1I0d8m;e9( delta 1194 zcmaLWPe>F|9Ki8kYNoqsW%;K+wxeaGwUa3pnSWM|s4Z(LJA{GE>b8z$n&#jiPh5g&3zy6__&#+p142m7!Svv?UxR*SUb1YX1!cmyl+MIv|s zd+`zK(D`dbLLwO{q;Z-HVGQFvJc>&=fVBl8Gk6=DwO=SwgagPWNnr(E!+N}fJSq#= zgp0^Wa(yD3un23h8moD~oT71n3l8qZS?s_?)D^7rlXw#MV=o@UDQv`-s1y5vdVj-O zk)4>t?Kq8E*~h38&!Ud^4jXvCe4`PdCI-K@(GT&f4wS(dKEq>JwO-^B4x+v=i#_Pu z;Pv}3LVpI&;WBEe+e^GH?Zj^S6L=h7W2S{h`9|--9{f)KAs)p0)Jtdj2DQ|mP*<{y z`>>$YD|HiUzZEHh3?a8j8cm!+E%{Sy#3i(`qKx{7XB>GF zvYB-MHpsbL3Ed8jYLe}ALo348yCv7{+e%LVEDp?n&V7(ycQ!WSq{fWsczo0tbBq=m z!FX~!n6RUEzmrUd=$K9_-e%6<@^$+&k(51TrR}kp5l_VyW`|=&()!<1zJDJWVTf4T z8L-?(6V9-eu&-MEj2lYW$?+@ZV5-gZ$$2JbMXhF|X4L3C6X`k;?l8^yFQrb-Z-3;L A00000 diff --git a/source/po/hr.po b/source/po/hr.po index bc4810e..5d5d278 100644 --- a/source/po/hr.po +++ b/source/po/hr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libiconv 1.12\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2012-04-16 16:14+0200\n" "Last-Translator: Tomislav Krznar \n" "Language-Team: Croatian \n" @@ -17,8 +17,8 @@ msgstr "" "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" +"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: TransDict server\n" #. TRANSLATORS: The first line of the short usage message. @@ -34,6 +34,7 @@ msgstr "ili: iconv -l" #: src/iconv.c:110 #, fuzzy, c-format +#| msgid "Try `%s --help' for more information.\n" msgid "Try '%s --help' for more information.\n" msgstr "Pokušajte „%s --help” za više informacija.\n" @@ -144,20 +145,27 @@ msgstr " --help prikaži ovu pomoć i izađi\n" msgid " --version output version information and exit\n" msgstr " --version ispiši informacije o inačici i izađi\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"Prijavite greške na .\n" -"Prijavite greške prijevoda na .\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "License GPLv2+: GNU GPL version 2 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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -166,14 +174,14 @@ msgstr "" "NEMA JAMSTAVA, do krajnje mjere dozvoljene zakonom.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Napisao %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -182,7 +190,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -192,14 +200,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "%s argument: Propis oblika s veličinom ovdje nije dozvoljen." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "%s argument: Znakovni niz završava u sredini propisa." @@ -207,14 +215,14 @@ msgstr "%s argument: Znakovni niz završava u sredini propisa." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "%s argument: Znak „%c” nije ispravna oznaka pretvaranja." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -226,7 +234,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -244,42 +252,42 @@ msgstr[2] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "ne mogu pretvoriti bajtovnu zamjenu u Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "ne mogu pretvoriti unicode zamjenu u odredišno kodiranje: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "ne mogu pretvoriti bajtovnu zamjenu u široki niz: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "ne mogu pretvoriti širokoznačnu zamjenu u odredišno kodiranje: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "ne mogu pretvoriti bajtovnu zamjenu u odredišno kodiranje: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: ne mogu pretvoriti" @@ -288,7 +296,7 @@ msgstr "%s:%u:%u: ne mogu pretvoriti" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: nepotpun znakovni ili pomačni niz" @@ -296,65 +304,70 @@ msgstr "%s:%u:%u: nepotpun znakovni ili pomačni niz" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: U/I greška" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "pretvaranje iz %s nije podržano" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "pretvaranje u %s nije podržano" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "pretvaranje iz %s u %s nije podržano" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "pokušajte „%s -l” za prikaz popisa podržanih kodiranja" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "U/I greška" +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "Prijavite greške na .\n" +#~ "Prijavite greške prijevoda na .\n" + #~ msgid "" #~ "Usage: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]" #~ msgstr "" diff --git a/source/po/hu.gmo b/source/po/hu.gmo index 8df20694d28a06fc43bd029ebaeeda5d5e4c6476..ab71d5a670e1d307add497c90c59ab7e7d656899 100644 GIT binary patch delta 945 zcmZY8ON>iV9LMn=x5`xOQ93go<57y%6k|+eJYozQY6vD7CYlK8#zH2supm^Vh)p*$ z7G`HBVpex&AtLd}AXX9!L_HFVS=oDhf34U!>HmJtIlaC2od5sydC$u&m5<5DZPD_? zQldId+KE%sxzIiZ(jKg1FJ>ar2%f@ze1qpOIYZioSFwbTaXWTIr6V|uC-FY|(b1Vw zpHxu`ox@BNv50qYFMh=`W@ky`Si@}|w@3*rBU3t$?RW_{;TZB$J;fe;jeHcuq=lHk zET%Ed`!ztPi-{3jgLiQ^zCiCFHd~sD1>A^3xD{_;H$Fly><9Y(d|Xn_v<^II%!|Rw}Xs-&XM-xQSQ2o<9HC;=Sf$vj0OCH!_y~qD$1Zfczh$Q=@YM>o|cY$dhXsO-Zax1$3$hF@q&^2Ckt~{SXh} z6ZC!Y)@Dgk*v)tYI^a?X0bA-5w@1>5B+L zj6^(a1P>neAd43dvZz1FcdX5blW%I9$x{ziSS%TXxJ0c>I1kDA$WY{Qoh@~;zEmKAmqLOlzYP9U@vD-8d+@>VejJ{4I-6cO4;hj2LZIjl!L4KAXA@DN^t&q&y< zu;Q`%R%i8U`qU}kG-tZ(#;IBBTYF=Vc{VkeHX_5(AtRkK+UR(r$zkt6JQD9qB}ak` ze5t``yKicuxW1&l!-&NrxqD~AX~P^flSbI+%S|Te^qT`_GCgFr{`Va(92c#B0HI=o A*8l(j diff --git a/source/po/hu.po b/source/po/hu.po index c0f20fd..ada6d1f 100644 --- a/source/po/hu.po +++ b/source/po/hu.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libiconv 1.15-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2017-03-19 00:57+0100\n" "Last-Translator: Balázs Úr \n" "Language-Team: Hungarian \n" @@ -143,18 +143,27 @@ msgstr " --help ezen súgó megjelenítése és kilépés\ msgid " --version output version information and exit\n" msgstr " --version verzióinformációk kiírása és kilépés\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "A hibákat ezen a címen jelentse: .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -163,14 +172,14 @@ msgstr "" "Nincs SEMMIFÉLE GARANCIA, a törvény által megengedett mértékben.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Írta %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -180,7 +189,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -191,7 +200,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" @@ -199,7 +208,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "%s argumentum: A szöveg befejeződik egy utasítás közepén." @@ -207,7 +216,7 @@ msgstr "%s argumentum: A szöveg befejeződik egy utasítás közepén." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" @@ -215,7 +224,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -227,7 +236,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -242,28 +251,28 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "nem sikerült átalakítani a byte helyettesítést Unicode kódolásra: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "nem sikerült átalakítani a Unicode helyettesítést a cél kódolásra: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "nem sikerült átalakítani a byte helyettesítést széles szövegre: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" @@ -271,14 +280,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "nem sikerült átalakítani a byte helyettesítést a cél kódolásra: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: nem sikerült átalakítani" @@ -287,7 +296,7 @@ msgstr "%s:%u:%u: nem sikerült átalakítani" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: nem teljes karakter vagy eltolási szekvencia" @@ -295,61 +304,64 @@ msgstr "%s:%u:%u: nem teljes karakter vagy eltolási szekvencia" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: I/O hiba" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "az átalakítás %s kódolásról nem támogatott" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "az átalakítás %s kódolásra nem támogatott" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "az átalakítás %s kódolásról %s kódolásra nem támogatott" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "próbálja a(z) „%s -l” parancsot a támogatott kódolások listájához" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "I/O hiba" + +#~ msgid "Report bugs to .\n" +#~ msgstr "A hibákat ezen a címen jelentse: .\n" diff --git a/source/po/id.gmo b/source/po/id.gmo index dc7749809e6fa29b65d08f981a73ad7a5b76fc59..0d4ebf332e55bbe45dbadc84836e8931a0bbc5bf 100644 GIT binary patch delta 1902 zcmZwGPiz!b9Ki8MX^UN`{IR8gfDf@&EL*m%q_VBZN=a=gE#g-GC?;>akM6j$v&;OU z)=Lvi3>QhvYBa>77&Q_|)&qJnF>+8Ya_}U^cro5I9xx^*et$EI!Nix&e%^aKJM;VV zdVTQoy~{stXnjX9_Hb?GdV7UZ2XW0xJ{X%?ll5lY$NDr@@m+idSG6fs!6|$iuj5Pj zCywG=yHZE-EqoDw#unVaN~r@%Evp=p88*)26n=-}xb;4zifHf>-oUJ^JCy3g_mM62 z32wp$X7DER2=zDa#kQ1EOw}lM;UWAOPvI`!uUc0t^)MR)IEc^T7`~2=;+L4iUr;jI zwMMD6Xi=&b;Rs&FVZ4nJ=z5}*`={{{ynx&B3QDDKVkhrczcP^r-oYVUb-z+S(1t8Z ziF?*1r9Fj zv4#4`4^E+nm+@Kb>P|8`jl`(lLn-}-D3!a4LwF0N^lclH3U;EDehQ`ZdAx-VN=3$c zsJ~`ndX!4zd6bN=p_KLyJc2uEuZ`%n^@+d}>2f%9xgNh754N)A6&j)NlDcu0#l)Nw`w$(CxxKCTCwYu%KyrFL-b zZmtD+4+T=>r1&S`@Xo{HZD8FLn)Vyo;!9dHN@r2oa4p!6ru$k`ewdNR3=OUBTVkJ72~+_C<%5TrSkrg?&}S7I$g4Etxuof zwn|lA?=h{IkQ^J|q|UXpkECn99jxa%#}5t-r87^Yheq_^zU=V6{>(@wlbSX`n9lpg z3n)g_&+434bjn8OeP_`rnxfHTB+Jf$1qq??ZD(pl@8GDexsh+&r!u3d6X^--SwH#p z(JEC5_3%I@RsU&aUt{gs4_34lB8pc3V%=|T3x>BeuCBk>Qh%dsxFcTb$vw06vmIUa z@4NDCN36FH)%&}jT>kevb=bO*A;P=41x_}lrk#NPI{)8ax@$rc>AC zPkN3fC)bp8&Eb)uqut0eWnHiZ6U51zWWKB;FO15%A^{b+zeoTT8hp3u0X6Y>FnymK z&mGpe@tmH>(evjgck94ZYR1t8q6qX7+3TX?yykfPL|0u~(xs>zRg!NC)^|-gqN%er z5|S5Iy|8|LPR&lNszHuW*2a#`GxwUyx4ps~1 jKSw3Wt9ed%p=%3HiK8fms_)o%p`C!rCTLvQxVq&ZwA61e delta 1316 zcmaLWOK1~87{Ku_HLW($s z2#cISo)3wv#Ls1X5pTzctiyM>0_TNATs(+t@dfr{tXyO@p2dCm5Zf?bA+i(qVmIDG z9lBzyNQcOfRC2MMhED9nYq%aqum>B*iCo7^n9=)6kqOv?G>M1xcp8&<1^KBw#-;ci z`N)`vNHtEtMoeIW|Cg;?q-bz)5f0-Te2%(;iBS@_;9~5?<#-WW@Db|7exUYGj~AJX z4$ed$wX%0mC;kF;yw{lK|K$r8Pbj+MLiEP5FcmQ9c zK5w5qTEVlppZlk%rEZLg?7$}6i)U~TzQmzUE}Ew>TO7p8_z`tQr>K|C_#SGhA7KKY zVH&@pmO4=*(uxaFOMMu5B>kwBIEMyrqJ>X>`@M$xZ=+#uZEzUGLnbXH)Y3l2cKnH2 z@?~|S{hZ(4#(A`V!&z9%L5OQV)QNYYj+aHPPys3QpO~ZjPxXS%+RC9779XsNT?j%4 z)XllRzz2=r<@}r(@8PLva*8(e>hxSS`waL;qQu8`}NV2 z@q%mGv&BBE&na5@TsC*ubxw3})9iYEt4br$6J?>af2eBx#$>CNN?R={lUkB#NiIq* zPbMQT<=M_a-Y&Ra#;oyjN6dz1v%T2oxknk=rr}_()8n}vgZ5F^Eq$npgr=w4 z%<+8Dv-2w(9J9)#8rvd&%`iRbc4(}fwR6X8$A3ThTY0bNxnAj2>{6L;YR>pKD&zix zny%1pKUUis-@JH-2|CD@-h9z!Iwt2FalL+fAeZqobseKW_lN2-36?rwj`jX$&AzF> O;CGLYl, 2002. # Arif E. Nugroho , 2008. +# Andika Triwidada , 2022. # msgid "" msgstr "" -"Project-Id-Version: libiconv 1.12\n" +"Project-Id-Version: libiconv 1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2008-12-31 14:30+0700\n" -"Last-Translator: Arif E. Nugroho \n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-04-27 19:39+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-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 3.0\n" #. TRANSLATORS: The first line of the short usage message. #: src/iconv.c:104 msgid "Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]" -msgstr "Penggunaan: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]" +msgstr "Penggunaan: iconv [-c] [-s] [-f fromcode] [-t tocode] [berkas ...]" #. TRANSLATORS: The second line of the short usage message. #. Align it correctly against the first line. @@ -31,9 +33,9 @@ msgid "or: iconv -l" msgstr "atau: iconv -l" #: src/iconv.c:110 -#, fuzzy, c-format +#, c-format msgid "Try '%s --help' for more information.\n" -msgstr "Coba `%s --help' untuk informasi lebih lanjut.\n" +msgstr "Coba '%s --help' untuk informasi lebih lanjut.\n" #. TRANSLATORS: The first line of the long usage message. #. The %s placeholder expands to the program name. @@ -54,7 +56,7 @@ msgstr "atau: %s -l\n" #: src/iconv.c:128 #, c-format, no-wrap msgid "Converts text from one encoding to another encoding.\n" -msgstr "Ubah teks dari satu pengkodean ke pengkodean yang lain.\n" +msgstr "Mengubah teks dari satu pengkodean ke pengkodean yang lain.\n" #: src/iconv.c:132 #, c-format, no-wrap @@ -87,7 +89,7 @@ msgstr "Opsi mengontrol masalah pengubahan:\n" #: src/iconv.c:147 #, c-format, no-wrap msgid " -c discard unconvertible characters\n" -msgstr " -c abaikan karakter yang tidak dapat diubah\n" +msgstr " -c buang karakter yang tidak dapat diubah\n" #: src/iconv.c:150 #, c-format, no-wrap @@ -115,12 +117,12 @@ msgstr "" #: src/iconv.c:162 #, c-format, no-wrap msgid "Options controlling error output:\n" -msgstr "Opsi mengontrol keluaran error:\n" +msgstr "Opsi mengontrol keluaran galat:\n" #: src/iconv.c:165 #, c-format, no-wrap msgid " -s, --silent suppress error messages about conversion problems\n" -msgstr " -s, --silent tekan pesan error mengenai masalah konversi\n" +msgstr " -s, --silent tekan pesan galat mengenai masalah konversi\n" #: src/iconv.c:169 #, c-format, no-wrap @@ -142,34 +144,41 @@ msgstr " --help tampilkan bantuan ini dan keluar\n" msgid " --version output version information and exit\n" msgstr " --version keluarkan informasi versi dan keluar\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Laporkan bugs ke .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" +"Laporkan kutu ke pelacak kutu di <%s>\n" +"atau melalui surel ke <%s>.\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"Lisensi GPLv2+: GNU GPL versi 2 atau selanjutnya \n" -"Ini adalah piranti lunak bebas: anda bebas untuk mengubah dan meredistribusikannya.\n" -"TIDAK ADA GARANSI, sampai batas yang diijinkan oleh hukum yang berlaku.\n" +"Lisensi GPLv3+: GNU GPL versi 3 atau selanjutnya <%s>\n" +"Ini adalah piranti lunak bebas: Anda bebas untuk mengubah dan meredistribusikannya.\n" +"TIDAK ADA GARANSI, sampai batas yang diizinkan oleh hukum yang berlaku.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Ditulis oleh %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -179,7 +188,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -190,7 +199,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" @@ -199,7 +208,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "%s argumen: String berakhir ditengah dari sebuah direktif." @@ -207,7 +216,7 @@ msgstr "%s argumen: String berakhir ditengah dari sebuah direktif." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" @@ -215,7 +224,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -227,7 +236,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -235,47 +244,45 @@ msgid_plural "" "%s argument: The format string consumes more than one argument: %u arguments." msgstr[0] "" "%s argumen: Format string mengambil lebih dari satu argumen: %u argumen." -msgstr[1] "" -"%s argumen: Format string mengambil lebih dari satu argumen: %u argumen." #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "tidak dapat mengubah substitusi byte ke Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "tidak dapat mengubah substitusi unicode ke target pengkodean: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "tidak dapat mengubah pengganti byte ke string lebar: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "tidak dapat mengubah pengganti widechar ke target pengkodean: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "tidak dapat mengubah pengganti byte ke target pengkodean: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: tidak dapat mengkonversi" @@ -284,7 +291,7 @@ msgstr "%s:%u:%u: tidak dapat mengkonversi" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: karakter atau urutan shift tidak lengkap" @@ -292,81 +299,61 @@ msgstr "%s:%u:%u: karakter atau urutan shift tidak lengkap" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" -msgstr "%s: I/O error" +msgstr "%s: galat I/O" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "konversi dari %s tidak didukung" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "konversi ke %s tidak didukung" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "konversi dari %s to %s tidak didukung" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "coba '%s -l' untuk mendapatkan daftar dari pengkodean yang didukung" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" -msgstr "I/O error" - -#~ msgid "" -#~ "Usage: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]" -#~ msgstr "" -#~ "Penggunaan: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] " -#~ "[file ...]" - -#~ msgid "" -#~ "This is free software; see the source for copying conditions. There is " -#~ "NO\n" -#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " -#~ "PURPOSE.\n" -#~ msgstr "" -#~ "This is free software; see the source for copying conditions. There is " -#~ "NO\n" -#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " -#~ "PURPOSE.\n" - -#~ msgid "iconv: %s: " -#~ msgstr "iconv: %s: " +msgstr "galat I/O" diff --git a/source/po/insert-header.sin b/source/po/insert-header.sin index b26de01..ceeebb9 100644 --- a/source/po/insert-header.sin +++ b/source/po/insert-header.sin @@ -1,5 +1,10 @@ # Sed script that inserts the file called HEADER before the header entry. # +# Copyright (C) 2001 Free Software Foundation, Inc. +# Written by Bruno Haible , 2001. +# This file is free software; the Free Software Foundation gives +# unlimited permission to use, copy, distribute, and modify it. +# # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following diff --git a/source/po/it.gmo b/source/po/it.gmo index cc9037d6a01b6aa17c7e708ab1339fdb6f79ea50..c1ec000dbc7cd2d71c1aac98344253dc90d8ef84 100644 GIT binary patch delta 945 zcmZA0K}geK7{~FS{@2P)EmtnfEL&O4TINQJ6qlMsY*9ueNkIoi=nzIo5FI8KK^=y& zI#j0}Iy4A`(KWmXLkj5<9cC0P*dYoM>R8|BKk3lR9zXB zh!!Ds5cg}OKKxe8AKGU}I*DKKICglXNxX)GxQsV2uueLG(|8pZuov6B(lCzV70jbO z+Phxrm(r@EbB>85Ch;i_VHw9Uyg_<~8SJrfoz#Hi$dqnj3*N;e_!#-A7V#*)Lq2kR z(iUvMForP1{yIyin~6!>hdCU;B3cGMzqAogV;7F#F?@hAe1mqdpJ?kN_0nFvjyo}f zR@ql*2VX*a-bakGzbbT!l)aU2Cm5F-r39u}bsHa{mA+<^G=;r*3g>YYf1zF3a8q@h z!OM&*Xr&$qkR%S_2+rXp`ySKh=_EEwH!*`b{DYQJj(YJ7mC#E49oz9YMzN*2TIv)Y zW_%GX!x?0WW-*R0up3Kg6>1Dt*C&J2-zM%bVHvzeE6pm}0i3PXcOkLnJv_sF5iej9 z7vF(n*p3fz7v_=M&=T5#K42WnNTL6=J<9r=&a~Z@o!4?aKtu>ux{Z_Q;9CEGwliVd z@vq@-Z?Bm((sZ}yUfnm!-h$o4exj2&M0g0Y&^9SsaN3$f^tlhWSxQ#-aN(=-)>~Nd Mz4RA;1mD;G1?do5*Z=?k delta 1093 zcmaLWUr19?9Ki9PbD3#k>0Dc+-PS6b?UoxBW}0P%NMzZ6^JV5*7j#!{n}HDvACgEY z8bK5kQ9;pD40`AxqK61E2*O7T=_v>*=%whP@6Rg*J#^S_pZhzz_uO-S=j>MOMLhSu z%6naCCb5E;C=zMKUmm__UyDUL@EbN`lUKw>8+YOd9Kz57k?nXD`|vHcV6;SJKU#PK zpP>%zUntTpl9M18`{?M!E_{T$@H-A*bE(Kpyp3BmUnEk28Kg_bFo2hF6W&K2m1%6k z8RR3?WgHhUb@#?N>h zV@utwn?TJc@fe1y+>)Qiz2q102)@DGVZEVRq#H+Z7$@;Awoor!(F`({1Zv!pN6;XT zV+;?WmV6xb99==yAkR@tK82fc78^0(cPrH8r~aquxJZXS_+|cwx@GQ4dXYuT4b+J| zL_HfH=dEYsJIROe06xVvSQ>OEXyQupZe(}FMxEF>)CpY*GCCFi)57^5o`#$bq4U<` zrAI}l#>jJx8OjDihyAxLr^6ultH>%skDWG_J@l z*Ve4&n*Et;dK$IKIcz%_qd%KEV`OY&8yC@3IvX9d`mK|8dZeAiw4GF& zS-4a7xV-0JGL=pYCY+>U=|e{1e~*;?y*o8%8A->n9m^Q7jEs{Q$c|ceI%y>GvlYG~ Kv(V{(=lKnYfQmi< diff --git a/source/po/it.po b/source/po/it.po index 76f674a..42e5d4e 100644 --- a/source/po/it.po +++ b/source/po/it.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libiconv 1.15-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2016-12-13 12:17+0100\n" "Last-Translator: Milo Casagrande \n" "Language-Team: Italian \n" @@ -145,20 +145,27 @@ msgstr " --help Visualizza questo aiuto ed esce\n" msgid " --version output version information and exit\n" msgstr " --version Stampa la versione ed esce\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"Segnalare i bug a .\n" -"Segnalare gli errori di traduzione a .\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -167,14 +174,14 @@ msgstr "" "Non c'è ALCUNA GARANZIA, per quanto consentito dalle vigenti normative.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Scritto da %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -184,7 +191,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -195,7 +202,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" @@ -203,7 +210,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "argomento %s: la stringa termina a metà di una direttiva." @@ -211,7 +218,7 @@ msgstr "argomento %s: la stringa termina a metà di una direttiva." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" @@ -220,7 +227,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -232,7 +239,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -247,14 +254,14 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "impossibile convertire la sostituzione byte in Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" @@ -262,14 +269,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "impossibile convertire la sostituzione byte con una stringa wide: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" @@ -278,14 +285,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "impossibile convertire la sostituzione byte alla codifica finale: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: impossibile convertire" @@ -294,7 +301,7 @@ msgstr "%s:%u:%u: impossibile convertire" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: carattere o sequenza di shift incompleto" @@ -302,61 +309,66 @@ msgstr "%s:%u:%u: carattere o sequenza di shift incompleto" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: errore di I/O" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "conversione da %s non supportata" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "conversione a %s non supportata" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "conversione da %s a %s non supportata" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "usare \"%s -l\" per un elenco delle codifiche supportate" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "Errore di I/O" + +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "Segnalare i bug a .\n" +#~ "Segnalare gli errori di traduzione a .\n" diff --git a/source/po/ja.gmo b/source/po/ja.gmo index 02c9b6aa22b3ea143687dd8a42e9b34f44fc167f..d440fe4e68ac45d85459deac316a0c8c63a287f0 100644 GIT binary patch delta 945 zcmZY8OGs2v9LMor-f42~5qy9NoIzXIAGGoD&C(tm!`+xe z%j`?Eg)gAZ_X*p0zgDQMlJ=e4?W7&xZWpHTI!yi7?;>;QHJ0NdMlp}JKwnj{zZY!* z7ty}ZLwoKmw&I6%o$6vcfhqd0RFnU!R9?|Bg5jFtgcI09`ymeC5?Ti0Y;+p$;U)Zt zc32ZTq;|Z8wk6MzHEJ1|TEDR$OT!Y0{#P0`={hYL+btVz$7wGSC+tXBvB&onYX4uD zO?3o+4b>9?!U~@&4uja&!ilm|&_Fa3EyRApNAOi*Ws{y$TNRtaalA}T0IDeC{Y2G z@geG??TbW$A_;L&IY`Gb+=pYh2fyNRY+WpJ4R7E!ZI_E!F^+Ue5^M1iZpPcltulqp zIF0u?%(q0v%WNeFGUlUR>g+=|b!3FlB>FtDUF zK8jx2cW@<6pk}y;x&RXw8}mywl}7a9N7CPeA=;hHwinZQ5?|vX?5Geqg;~^bzc7lS zWg^`;j+$yyrN|&gP*XmEJ@^VW<7=x}^nNOFD!RANupj482lkS$PRt|Elv!MgmKttG zC+Z6ZQTvCn8?Pd3kWZ-h{lt2-*-N(nF=i+K7x-h8jxKa87a714*pHK_4{l(C4`2{= zg3G9xDBw|Sa)|WdFzVqgVhh$eOIy>2y7yURD!Ge?@rjd^lJURAo0~23C3I~%T#uI? zl>os^^F?ppM64<`|GDy1aT9zhvYIF-w6J{Pa0nYOb%dS<53!!`5q^TtNLa1#=DAx2 zSIrvg?9+VF)2Mmen4dDdG*uiKI1@V?cSp_-o^!`z?j5\n" "Language-Team: Japanese \n" @@ -143,20 +143,27 @@ msgstr " --help このヘルプを表示して終了する msgid " --version output version information and exit\n" msgstr " --version バージョン情報を表示して終了する\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"バグレポート先 \n" -"翻訳問題レポート先 \n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -165,14 +172,14 @@ msgstr "" "%s法律の許す限り、 無保証 です.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "作成者 %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -180,7 +187,7 @@ msgstr "引数 %s : ここでは可変幅の書式指定を使用できません #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -189,14 +196,14 @@ msgstr "引数 %s : ここでは可変精度の書式指定を使用できませ #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "引数 %s : ここではサイズ指定を行う書式指定を使用できません。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "引数 %s : 書式指定の中間で文字列が終了しました。" @@ -204,14 +211,14 @@ msgstr "引数 %s : 書式指定の中間で文字列が終了しました。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "引数 %s : 文字 '%c' は無効な変換指定です。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -221,7 +228,7 @@ msgstr "引数 %s : 書式指定を終端させる文字は有効な変換指定 #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -231,42 +238,42 @@ msgstr[0] "引数 %s : 書式文字列が2つ以上の引数を消費します: #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "バイトから Unicode へ置換をおこなう変換ができません: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "Unicodeから変換先文字コードへの置換を行う変換ができません: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "バイトからワイド文字への置換を行う変換ができません: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "ワイド文字から変換先文字コードへの置換を行う変換ができません: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "バイトから変換先文字コードへ置換を行う変換ができません: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u行:%u列: 変換できません" @@ -275,7 +282,7 @@ msgstr "%s:%u行:%u列: 変換できません" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u行:%u列: 不完全な文字またはシフトシーケンスです" @@ -283,61 +290,66 @@ msgstr "%s:%u行:%u列: 不完全な文字またはシフトシーケンスで #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u行:%u列" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: I/O エラー" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "%s からの変換はサポートされていません" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "%s への変換はサポートされていません" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "%s から %s への変換はサポートされていません" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "サポートする文字コード一覧は '%s -l' と入力してください。" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(標準入力)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "I/O エラー" + +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "バグレポート先 \n" +#~ "翻訳問題レポート先 \n" diff --git a/source/po/ko.gmo b/source/po/ko.gmo new file mode 100644 index 0000000000000000000000000000000000000000..47cf3a2debd2c416bad5b67005e394baa0c64d8f GIT binary patch literal 7108 zcmcInTWlOx89vaIz)~&^6k2HM;bI(<%*L07Bpb&hO`OOjv0Z1=TPW&ycf205JG0Ep zItfC^NjH%dyNXS{*iCk$jc}ScN`y(=;6jM{fDjLT=_?3?DkOwwRzl(dUXb|yb7sf8 z_QuYQk;mW8%sK!0FW>+F=lo^OsvN_$0r!)*$3Mc@PT(UC;UBKYSIOrmfLrkVD$oQ@ z0G|b}eweWo@HyajfOEj_0sjNs3Ow*J#=3!Hz=OaKfgc67t!8XHa0jpxcpUf~@B`p3 z;FBL`EDltGXMn#4M(FtyjC~522jUgG4164T9oPtb9|#fbzrc;aheM3vC)*1AJg^-& z4SWUI09^G+#=Zs&1Dk-)16zTw1HTD;54Z#PcOco*@Caj{0ct?4X6%oMK?JxT&yRhUu@0aP%mAY8pgH(2Z7|rTfpxFANrj1doS<>JZr$$fH#4!0H1<$+JQ%a zH2xOwC3^pu^v3{@{C6Ele*XiI?D+sle)uO4Dl`5C*bLkNgsSYvK(g-*;9r3S;8Vb# zd{JT^$npGZ;LE^20XG3RBB(vU6!3ZAdq7NOYo3t)XaIKO*#_QF@O$nqp^qZD-r=uAY56 zqWhyg9i4kP=i;UAWE|Zzc%NzUj1e=90nKvs-lWE9q8$=4`n6;l6KY&>-A*UfqulA& zZ7znXMx1L$bVtt27<$Z%*HR!j+YN;_tvwTgVy-nsUz08c0&N#e0 zKsR7_Zqet{d=^h+dLpCUx5>tF(aPEseG_>9lD%8iMZ2 zk&&=zuB|6EW65lqVrjO`HOm6)QuwJRG@Glvh!K|*6hTZ|CWx4l0-Y*L9rM2Jl!OSe zIvamnwGx>Wl#TEmlnY=6kL#8ebMyg?AJ(0Iu5w%d5!_>Q!*sZsOqz#bb-!k5;X4&D zpjx_0xdr=Uy0Gzqhy$~r;L4(+2v|TMUSAih4<_*eHL1rdy>F+XW1p^Bi_EJQ;`GB) z$iI|ssHhi$K}-Bs*6i*U@x|DVMeGDGY(&WBDbv!hjB0Sx&?@3qmkAzfXngO&>>AR1 zoirnEBVUBkDLo!XWRXPb0&{3;gm-M{l3b^!x(xn;9}yl?4dRnuc`H8X$fr~~sX3J~ zL%!JkdY{8>?S~m;oW|DL4zjm_?Ubb(5zvk}oGO9vPdO{OV{#P>fv-WPhC^&YwT^N@ z1m9(9L_%z@9@7k4<9oXI4z#R`@I9Re=yy;>TR0R-BJdV(t+U%gQECJD>$5bJ2D8sO ztXf)xA2lg9ntTmKz(FH{*r8Qe8tNP(+?#=&x)X*7WE9Eh?BXx(=;_(f8GU&@X%E%W zSR5)SY2uqhMW^>DmOl(by3$n2ZStdInaQM2nR2-=mlD`iYox41f!Vc&(DI@*3bo}> zzfwSGk49CH_hu3SA@G|!XikUV9OQ`b54;79wUnwS$s~FQ-J{k~B%_UjNgcFa^kTvC ziYA3&2dGR&I0hc<>W+4Fb%w*?SNTC@p$E{@LY>4@M`!ne=uhLK&0DcssNPY)KEF$o&UZB4K^4}VfS-3f zPjpt9leOmfn~){y-NAC@&A^?_6)7mny2w973QoZP3`&>ZCYen1szJB;ymYQMkl&q(9$&*A{(W+6F0u=)P+N|3$e}EpRbi|bxL^n+HUn~;S{pg8!V95S~jOf!+x5|)`s+trgJ z{E!*i*RijC!S<$bV+e(mii{FHnug|7O*deRs~cNI>$Ejz8&XQyyfBUy?b9r!-QNI3 z_~u^he_s-wig3R)ROlv~fglG3sLB|w#^ba(3WvIr8B0wnyRjKT4>8i>(cadymCK*o z8nly)x&W8}%k;+rT6D`e5m;N$%bl znx7fu?##GXm@S=}9a_s*SwJ9r?7OG=3amN_bT7YDtwqZQNK%hT@pg6~~1dzr&R*)s69nCIT) zlzRcRoF0c|5X`-yOY`pz3L$8*foj6W@)@Dx^-30sfLEwmwh;XbMVG{%8;$VNu`Ba) zGZjQZ`gj+?cadV83@+v{QgCR3#(EQ@+#Q>Qy0|A!dZ*rzi6FL?Ww9_-dSoYIvZQ1Knc<_xLOceNf{4 z@-{I`1q<1Y%7oC)daobzQ1WCnC}5@BtULT}DK{-OjrgBqa;k`>0MH7K^^bRgYV$`u3Z6h?w^5$^tCZvNVg?-}k+jtb|a z<_->er>0QS2i>=Cvb9u*rv_#IHn7r(H}DaKUhq?pRhTBKLs{ElB-&iX>-W3$PN++72cl$+#Hjq?G&yErS zsnzFB1({p!#2, 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: libiconv 1.17-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-14 15:09+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 2.3.1\n" + +#. TRANSLATORS: The first line of the short usage message. +#: src/iconv.c:104 +msgid "Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]" +msgstr "사용법: iconv [-c] [-s] [-f <목적코드>] [-t <대상코드>] [<파일> ...]" + +#. TRANSLATORS: The second line of the short usage message. +#. Align it correctly against the first line. +#: src/iconv.c:108 +msgid "or: iconv -l" +msgstr " 또는: iconv -l" + +#: src/iconv.c:110 +#, c-format +msgid "Try '%s --help' for more information.\n" +msgstr "자세한 정보는 '%s --help'를 입력하십시오.\n" + +#. TRANSLATORS: The first line of the long usage message. +#. The %s placeholder expands to the program name. +#: src/iconv.c:115 +#, c-format, no-wrap +msgid "Usage: %s [OPTION...] [-f ENCODING] [-t ENCODING] [INPUTFILE...]\n" +msgstr "사용법: %s [<옵션>...] [-f <인코딩>] [-t <인코딩>] [<입력파일>...]\n" + +#. TRANSLATORS: The second line of the long usage message. +#. Align it correctly against the first line. +#. The %s placeholder expands to the program name. +#: src/iconv.c:122 +#, c-format, no-wrap +msgid "or: %s -l\n" +msgstr " 또는: %s -l\n" + +#. TRANSLATORS: Description of the iconv program. +#: src/iconv.c:128 +#, c-format, no-wrap +msgid "Converts text from one encoding to another encoding.\n" +msgstr "텍스트를 지정 인코딩에서 다른 인코딩으로 변환합니다.\n" + +#: src/iconv.c:132 +#, c-format, no-wrap +msgid "Options controlling the input and output format:\n" +msgstr "입출력 형식 제어 옵션:\n" + +#: src/iconv.c:135 +#, c-format, no-wrap +msgid "" +" -f ENCODING, --from-code=ENCODING\n" +" the encoding of the input\n" +msgstr "" +" -f <인코딩>, --from-code=<인코딩>\n" +" 입력 인코딩 형식\n" + +#: src/iconv.c:139 +#, c-format, no-wrap +msgid "" +" -t ENCODING, --to-code=ENCODING\n" +" the encoding of the output\n" +msgstr "" +" -t <인코딩>, --to-code=<인코딩>\n" +" 출력 인코딩 형식\n" + +#: src/iconv.c:144 +#, c-format, no-wrap +msgid "Options controlling conversion problems:\n" +msgstr "변환 문제 제어 옵션:\n" + +#: src/iconv.c:147 +#, c-format, no-wrap +msgid " -c discard unconvertible characters\n" +msgstr " -c 변환 불가 문자 무시\n" + +#: src/iconv.c:150 +#, c-format, no-wrap +msgid "" +" --unicode-subst=FORMATSTRING\n" +" substitution for unconvertible Unicode characters\n" +msgstr "" +" --unicode-subst=<형식문자열>\n" +" 변환 불가 유니코드 문자의 대체 문자\n" + +#: src/iconv.c:154 +#, c-format, no-wrap +msgid " --byte-subst=FORMATSTRING substitution for unconvertible bytes\n" +msgstr " --byte-subst=<형식문자열> 변환 불가 바이트 문자의 대체 문자\n" + +#: src/iconv.c:157 +#, c-format, no-wrap +msgid "" +" --widechar-subst=FORMATSTRING\n" +" substitution for unconvertible wide characters\n" +msgstr "" +" --widechar-subst=<형식문자열>\n" +" 변환 불가 전각 문자의 대체 문자\n" + +#: src/iconv.c:162 +#, c-format, no-wrap +msgid "Options controlling error output:\n" +msgstr "오류 출력 제어 옵션:\n" + +#: src/iconv.c:165 +#, c-format, no-wrap +msgid " -s, --silent suppress error messages about conversion problems\n" +msgstr " -s, --silent 변환 문제 오류 메시지 숨김\n" + +#: src/iconv.c:169 +#, c-format, no-wrap +msgid "Informative output:\n" +msgstr "정보 출력:\n" + +#: src/iconv.c:172 +#, c-format, no-wrap +msgid " -l, --list list the supported encodings\n" +msgstr " -l, --list 지원 인코딩 목록 출력\n" + +#: src/iconv.c:175 +#, c-format, no-wrap +msgid " --help display this help and exit\n" +msgstr " --help 이 도움말을 표시하고 나갑니다\n" + +#: src/iconv.c:178 +#, c-format, no-wrap +msgid " --version output version information and exit\n" +msgstr " --version 버전 정보를 출력하고 나갑니다\n" + +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" +"<%s> 문제 추적 사이트 또는 <%s> 메일 주소에 \n" +"버그를 알려주십시오.\n" + +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap +msgid "" +"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" +msgstr "" +"GPLv3+ 라이선스: GNU GPL 버전 3 이상 <%s>\n" +"이 프로그램은 자유 소프트웨어입니다: 자유롭게\n" +"바꾸고 재배포할 수 있습니다.\n" +"법률이 허용하는 모든 범위내의 보증은 없습니다.\n" + +#. TRANSLATORS: The %s placeholder expands to an author's name. +#: src/iconv.c:208 +#, c-format +msgid "Written by %s.\n" +msgstr "%s이(가) 작성함.\n" + +#. TRANSLATORS: An error message. +#. The %s placeholder expands to a command-line option. +#: src/iconv.c:302 +#, c-format +msgid "" +"%s argument: A format directive with a variable width is not allowed here." +msgstr "%s 인자: 변수 폭 정보를 가진 형식 지정자를 여기에 둘 수 없습니다." + +#. TRANSLATORS: An error message. +#. The %s placeholder expands to a command-line option. +#: src/iconv.c:317 +#, c-format +msgid "" +"%s argument: A format directive with a variable precision is not allowed " +"here." +msgstr "%s 인자: 변수 정밀도 정보를 가진 형식 지정자를 여기에 둘 수 없습니다." + +#. TRANSLATORS: An error message. +#. The %s placeholder expands to a command-line option. +#: src/iconv.c:333 +#, c-format +msgid "%s argument: A format directive with a size is not allowed here." +msgstr "%s 인자: 크기 정보를 가진 형식 지정자를 여기에 둘 수 없습니다." + +#. TRANSLATORS: An error message. +#. The %s placeholder expands to a command-line option. +#: src/iconv.c:375 +#, c-format +msgid "%s argument: The string ends in the middle of a directive." +msgstr "%s 인자: 문자열이 지정자 중간에서 끝납니다." + +#. TRANSLATORS: An error message. +#. The %s placeholder expands to a command-line option. +#. The %c placeholder expands to an unknown format directive. +#: src/iconv.c:382 +#, c-format +msgid "%s argument: The character '%c' is not a valid conversion specifier." +msgstr "%s 인자: '%c' 문자는 올바른 변환 지정자가 아닙니다." + +#. TRANSLATORS: An error message. +#. The %s placeholder expands to a command-line option. +#: src/iconv.c:388 +#, c-format +msgid "" +"%s argument: The character that terminates the format directive is not a " +"valid conversion specifier." +msgstr "%s 인자: 형식 지정자를 끝내는 문자는 올바른 변환 지정자가 아닙니다." + +#. TRANSLATORS: An error message. +#. The %s placeholder expands to a command-line option. +#. The %u placeholder expands to the number of arguments consumed by the format string. +#: src/iconv.c:404 +#, c-format +msgid "" +"%s argument: The format string consumes more than one argument: %u argument." +msgid_plural "" +"%s argument: The format string consumes more than one argument: %u arguments." +msgstr[0] "%s 인자: 형식 문자열이 하나 이상의 인자에 해당합니다: 인자 %u개." + +#. TRANSLATORS: An error message. +#. The %s placeholder expands to a piece of text, specified through --byte-subst. +#: src/iconv.c:462 +#, c-format +msgid "cannot convert byte substitution to Unicode: %s" +msgstr "바이트 대체 요소를 유니코드로 변환할 수 없습니다: %s" + +#. TRANSLATORS: An error message. +#. The %s placeholder expands to a piece of text, specified through --unicode-subst. +#: src/iconv.c:502 +#, c-format +msgid "cannot convert unicode substitution to target encoding: %s" +msgstr "유니코드 대체 요소를 대상 인코딩으로 변환할 수 없습니다: %s" + +#. TRANSLATORS: An error message. +#. The %s placeholder expands to a piece of text, specified through --byte-subst. +#: src/iconv.c:543 +#, c-format +msgid "cannot convert byte substitution to wide string: %s" +msgstr "바이트 대체 요소를 전각 문자열로 변환할 수 없습니다: %s" + +#. TRANSLATORS: An error message. +#. The %s placeholder expands to a piece of text, specified through --widechar-subst. +#: src/iconv.c:584 +#, c-format +msgid "cannot convert widechar substitution to target encoding: %s" +msgstr "전각 문자 대체 요소를 대상 인코딩으로 변환할 수 없습니다: %s" + +#. TRANSLATORS: An error message. +#. The %s placeholder expands to a piece of text, specified through --byte-subst. +#: src/iconv.c:625 +#, c-format +msgid "cannot convert byte substitution to target encoding: %s" +msgstr "바이트 대체 요소를 대상 인코딩으로 변환할 수 없습니다: %s" + +#. TRANSLATORS: An error message. +#. The placeholders expand to the input file name, a line number, and a column number. +#: src/iconv.c:644 +#, c-format +msgid "%s:%u:%u: cannot convert" +msgstr "%s:%u:%u: 변환할 수 없음" + +#. TRANSLATORS: An error message. +#. The placeholders expand to the input file name, a line number, and a column number. +#. A "shift sequence" is a sequence of bytes that changes the state of the converter; +#. this concept exists only for "stateful" encodings like ISO-2022-JP. +#: src/iconv.c:658 +#, c-format +msgid "%s:%u:%u: incomplete character or shift sequence" +msgstr "%s:%u:%u: 미결 문자 또는 시퀀스 밀림" + +#. TRANSLATORS: The first part of an error message. +#. It is followed by a colon and a detail message. +#. The placeholders expand to the input file name, a line number, and a column number. +#: src/iconv.c:671 +#, c-format +msgid "%s:%u:%u" +msgstr "%s:%u:%u" + +#. TRANSLATORS: An error message. +#. The placeholder expands to the input file name. +#: src/iconv.c:832 +#, c-format +msgid "%s: I/O error" +msgstr "%s: 입출력 오류" + +#. TRANSLATORS: An error message. +#. The placeholder expands to the encoding name, specified through --from-code. +#: src/iconv.c:1030 +#, c-format +msgid "conversion from %s unsupported" +msgstr "%s 인코딩의 변환을 지원하지 않습니다" + +#. TRANSLATORS: An error message. +#. The placeholder expands to the encoding name, specified through --to-code. +#: src/iconv.c:1036 +#, c-format +msgid "conversion to %s unsupported" +msgstr "%s 인코딩으로의 변환을 지원하지 않습니다" + +#. TRANSLATORS: An error message. +#. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. +#: src/iconv.c:1042 +#, c-format +msgid "conversion from %s to %s unsupported" +msgstr "%s → %s 인코딩 변환을 지원하지 않습니다" + +#. TRANSLATORS: Additional advice after an error message. +#. The %s placeholder expands to the program name. +#: src/iconv.c:1047 +#, c-format +msgid "try '%s -l' to get the list of supported encodings" +msgstr "지원 인코딩 목록은 '%s -l'을 입력하십시오" + +#. TRANSLATORS: A filename substitute denoting standard input. +#: src/iconv.c:1104 +msgid "(stdin)" +msgstr "(표준입력)" + +#. TRANSLATORS: The first part of an error message. +#. It is followed by a colon and a detail message. +#. The %s placeholder expands to the input file name. +#: src/iconv.c:1116 +#, c-format +msgid "%s" +msgstr "%s" + +#. TRANSLATORS: An error message. +#: src/iconv.c:1130 +#, c-format +msgid "I/O error" +msgstr "입출력 오류" diff --git a/source/po/libiconv.pot b/source/po/libiconv.pot index 2900b59..b3578a5 100644 --- a/source/po/libiconv.pot +++ b/source/po/libiconv.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: GNU libiconv 1.16\n" +"Project-Id-Version: GNU libiconv 1.17\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -133,31 +133,36 @@ msgstr "" msgid " --version output version information and exit\n" msgstr "" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -#: src/iconv.c:196 -#, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -165,7 +170,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -174,14 +179,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "" @@ -189,14 +194,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -206,7 +211,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -217,42 +222,42 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "" @@ -261,7 +266,7 @@ msgstr "" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "" @@ -269,61 +274,61 @@ msgstr "" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "" diff --git a/source/po/lt.gmo b/source/po/lt.gmo index 420f9bf7779a78f8d33b93f7f2be9ed5f5e77285..9afc1676f8dd563093d7c7854841372996e7eef2 100644 GIT binary patch delta 725 zcmXZa&nv@m9LMqZY;419W`4}iwG4|jl!PR9*on51l3zu+Ee8&`jI+ZQk(+~m0N;ay zo3o=tNm;ZUlvd6>-yc5p`9411?c4YB{=DAbz3@*c`{H*T3!{VC$_&^iui zyu=aw#tn?yMW*l!Gg!b0OgTgrF^^;Ti7AYhi!9(S@(OuCk4RRYSh)D1h)wu~PIOm@ z3}G$0F^K_8qZYW1Va($IS~!XCs2g|l5-+Y{CvIXpo}wP~8a?bU_bl|m0uEvc-IN%i zsxtgNB$aVm_-tY zk@lMrPb8|&rU=*kE3+ksYu|y;ze;EY0 zki`%N@U^8xDC;mbWev46z@DU9V!!rDVEx3yfc!pu-mm3Bo zkq{~L!Kc`T-B>_W4_|VgDinEz`#6c=B9S+^g!6cWy3+1q!s2J_$3HlZtxWP3)2J0V z#zy9s69&v7S7Wf& diff --git a/source/po/lt.po b/source/po/lt.po index dbba114..92bd2b9 100644 --- a/source/po/lt.po +++ b/source/po/lt.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU libiconv 1.12\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2013-06-28 18:23+0300\n" "Last-Translator: Rimas Kudelis \n" "Language-Team: Lithuanian \n" @@ -15,8 +15,8 @@ msgstr "" "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" -"%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"(n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Virtaal 0.7.1\n" #. TRANSLATORS: The first line of the short usage message. @@ -34,6 +34,7 @@ msgstr "arba: iconv -l" #: src/iconv.c:110 #, fuzzy, c-format +#| msgid "Try `%s --help' for more information.\n" msgid "Try '%s --help' for more information.\n" msgstr "Bandykite „%s --help“, jeigu norite išsamesnės informacijos.\n" @@ -140,18 +141,27 @@ msgstr " --help parodyti šį informacinį pranešimą ir msgid " --version output version information and exit\n" msgstr " --version parodyti informaciją apie programos versiją ir baigti darbą\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Apie klaidas praneškite adresu .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "License GPLv2+: GNU GPL version 2 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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -160,14 +170,14 @@ msgstr "" "Šiai programinei įrangai NETAIKOMA JOKIA GARANTIJA, kiek tai leidžia įstatymai.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Programą parašė %s\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -175,7 +185,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -184,14 +194,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "" @@ -199,14 +209,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -216,7 +226,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -228,42 +238,42 @@ msgstr[2] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: perkodavimas negalimas" @@ -272,7 +282,7 @@ msgstr "%s:%u:%u: perkodavimas negalimas" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "" @@ -280,61 +290,64 @@ msgstr "" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: Įvesties/išvesties klaida" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "perkodavimas iš „%s“ nepalaikomas" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "perkodavimas į „%s“ nepalaikomas" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "perkodavimas iš „%s“ į „%s“ nepalaikomas" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "pasinaudokite komanda „%s -l“ palaikomų koduočių sąrašui gauti" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "Įvesties/išvesties klaida" + +#~ msgid "Report bugs to .\n" +#~ msgstr "Apie klaidas praneškite adresu .\n" diff --git a/source/po/nl.gmo b/source/po/nl.gmo index be913b4ecb8c79a78f3e4882be89a6489c9c2e30..4846bb5f9c16dc4db5b8c36d5b9b92b8e666ba9c 100644 GIT binary patch delta 1687 zcmY+@PfQ$T7{~Dk3M{VttwN!;^|eZc!mhBSMYk1ql?{a;#ip%_dKlQ3Wnh`Dv$Ie* zbfYBIOAop=CdPPZVvKD(?Zu?g^yI19cxa-B8e=rZgIE6?O#D8x)YLaS`+48l;hp#S zy)Rc17mt>I*xm4+(4OGh$91_*2YA0U+%IyF8*v=L7w|Z4;~~6(Y5WznqJb8X zcC@Iem2eC{#!%b*e5Kb?)`1l z=zGcQ5?(;9tffn252jF~e+eH!2lZ@hBkzyG+fpDgTV#3%dIy|rtHmy)oVeRs8c<29LeGECf zVbkjM3~1A>*&pFcPv?FvjcAZdo1V}E)!%nzn#wcoqV33ttl3kf(^&FNwZlf89KGwLBT98J6_Hj$IBYu zX5C`oy9=ej8aIeDh2=@+m_2C*UQC}lm7YEQ@{r-Lf@N#$`M`RCIcNPfHwbLjENt@r zjd*1^dMW05;WG=RoC$nqag|j$L2Y3ylPB$(R_ozTDh!;w>*Z351X^nm=GgO;otH677stpRuQhCr^u*JY}f_Np@_3puS*V&1B u$!Ondv9U04$MN*1N_Y3`m5bdcs$X|E)prUm?2qD3fte69*rIF}j$bvnCobPR7CSzcs|g6HY(poLug?=Xd}2()JsHsgL=# zt3s=zm(ee$h_vGGRDNjR*NE)J6>P>vn}~@f?!iwug5ETdT{wq*_y%{NVHY`q5$wfB zsJAXm7YT|?Nil;i7EWR(-obtN69=$4L*yDRV2jQ(Mb=^rS(0gV<1G5{7V@w19vg8P z`IB{7A}%b)Ef_#A`%51KKMPY>ix03GmvJ}RvXdui!(8UmSda7AgwJpr{z84gx}48`tAY)Pz5y9>C5|F8hm%K>#c9E%A3_ka-QeX@o=Afs3dSuV6d+oyiR+Q6pc% zPRz>_IfQ+vk>5p)+@3FT7&GxW_Tbbp2KO20JGQS&M&5~6nBPM^Su42};V5e4GgyK1 zs5P;K>>=OKk5WL~5I`@sp%<&2G8MUyorP=uaWTN12*9oH~EwJYSZ^ciiwMLks?l zw##y7pDl}-o}K;UgT`QV+!&7ZM^2g1i6E0Yb8ImFIC~*ArP1njbU6G?hR<*Knmqo- zmIlA|&{5;)4@aYBa3VYw3x$Sb@vn}I6z>V6Jsb^>g<|Gdi|3#@6dI144}1J|zO2

uJgU EKb>Qj%K!iX diff --git a/source/po/nl.po b/source/po/nl.po index d67ba6e..6af380f 100644 --- a/source/po/nl.po +++ b/source/po/nl.po @@ -1,20 +1,20 @@ # Dutch messages for GNU libiconv. -# Copyright (C) 2016 Free Software Foundation, Inc. +# Copyright (C) 2022 Free Software Foundation, Inc. # This file is distributed under the same license as the libiconv package. # -# "Things change, and they never go back to what they were before." +# "Boer doe mij 't hekke lös, anders schijt ik dij in de boekweit." # # Taco Witte , 2003. # Elros Cyriatan , 2003. # Tim Van Holder , 2007. -# Benno Schulenberg , 2017. +# Benno Schulenberg , 2017, 2022. msgid "" msgstr "" -"Project-Id-Version: libiconv 1.15-pre1\n" +"Project-Id-Version: libiconv 1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2017-01-07 15:41+0100\n" -"Last-Translator: Benno Schulenberg \n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-13 16:52+0100\n" +"Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" @@ -22,18 +22,17 @@ msgstr "" "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.0\n" #. TRANSLATORS: The first line of the short usage message. #: src/iconv.c:104 msgid "Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]" -msgstr "Gebruik: iconv [-c] [-s] [-f VANCODE] [-t NAARCODE] [BESTAND...]" +msgstr "Gebruik: iconv [-c] [-s] [-f VANCODE] [-t NAARCODE] [BESTAND...]" #. TRANSLATORS: The second line of the short usage message. #. Align it correctly against the first line. #: src/iconv.c:108 msgid "or: iconv -l" -msgstr "of: iconv -l" +msgstr "of: iconv -l" #: src/iconv.c:110 #, c-format @@ -45,7 +44,7 @@ msgstr "Typ '%s --help' voor meer informatie.\n" #: src/iconv.c:115 #, c-format, no-wrap msgid "Usage: %s [OPTION...] [-f ENCODING] [-t ENCODING] [INPUTFILE...]\n" -msgstr "Gebruik: %s [OPTIE...] [-f CODERING] [-t CODERING] [INVOERBESTAND...]\n" +msgstr "Gebruik: %s [OPTIE...] [-f CODERING] [-t CODERING] [INVOERBESTAND...]\n" #. TRANSLATORS: The second line of the long usage message. #. Align it correctly against the first line. @@ -53,7 +52,7 @@ msgstr "Gebruik: %s [OPTIE...] [-f CODERING] [-t CODERING] [INVOERBESTAND...]\n" #: src/iconv.c:122 #, c-format, no-wrap msgid "or: %s -l\n" -msgstr "of: %s -l\n" +msgstr "of: %s -l\n" # Weet niet of "codering" herhaald hoeft te worden. #. TRANSLATORS: Description of the iconv program. @@ -140,44 +139,50 @@ msgstr " -l, --list een lijst van ondersteunde coderingen tone #: src/iconv.c:175 #, c-format, no-wrap msgid " --help display this help and exit\n" -msgstr " --help deze hulptekst tonen stoppen\n" +msgstr " --help deze hulptekst tonen en stoppen\n" #: src/iconv.c:178 #, c-format, no-wrap msgid " --version output version information and exit\n" msgstr " --version programmaversie tonen en stoppen\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"Rapporteer gebreken in het programma aan ;\n" +"Rapporteer gebreken in het programma via <%s>\n" +"of via een e-mail aan <%s>;\n" "meld fouten in de vertaling aan .\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" "Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden.\n" "De precieze licentie is GPL-3+: GNU General Public License versie 3 of later.\n" -"Zie http://gnu.org/licenses/gpl.html voor de volledige (Engelse) tekst.\n" +"Zie <%s> voor de volledige (Engelse) tekst.\n" "Deze software kent GEEN GARANTIE, voor zover de wet dit toestaat.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Geschreven door %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -187,7 +192,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -198,7 +203,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" @@ -207,7 +212,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "%s argument: De tekst stopt midden in een commando." @@ -215,14 +220,14 @@ msgstr "%s argument: De tekst stopt midden in een commando." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "%s argument: Het teken '%c' is geen geldige omzettingsspecificatie." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -237,7 +242,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -249,14 +254,14 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "kan byte-vervanging niet omzetten naar Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "kan Unicode-vervanging niet omzetten naar de doelcodering: %s" @@ -264,7 +269,7 @@ msgstr "kan Unicode-vervanging niet omzetten naar de doelcodering: %s" # "brede tekenreeks" klinkt mij nogal vreemd... #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "kan byte-vervanging niet omzetten naar een brede tekenreeks: %s" @@ -272,21 +277,21 @@ msgstr "kan byte-vervanging niet omzetten naar een brede tekenreeks: %s" # "brede tekenvervanging" klinkt slecht... #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "kan breedteken-vervanging niet omzetten naar de doelcodering: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "kan byte-vervanging niet omzetten naar de doelcodering: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: omzetting is onmogelijk" @@ -296,7 +301,7 @@ msgstr "%s:%u:%u: omzetting is onmogelijk" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: onvolledig teken of onvolledige shift-sequentie" @@ -304,61 +309,66 @@ msgstr "%s:%u:%u: onvolledig teken of onvolledige shift-sequentie" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: Invoer-/uitvoerfout" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "omzetting vanuit %s wordt niet ondersteund" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "omzetting naar %s wordt niet ondersteund" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "omzetting van %s naar %s wordt niet ondersteund" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "Typ '%s -l' voor een lijst van ondersteunde coderingen." #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(standaardinvoer)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "Invoer-/uitvoerfout" + +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "Rapporteer gebreken in het programma aan ;\n" +#~ "meld fouten in de vertaling aan .\n" diff --git a/source/po/pl.gmo b/source/po/pl.gmo index 7465d86a3432c91c8b968e1bdcd6627e40376b5b..e0e96e6dda0ac8f56b0b7a917eed2922e7354620 100644 GIT binary patch delta 1588 zcmZY8ZD<@t9LMp0nx~pJt&Q5IZCb~Ns%M)s$yrjbG40u&XF|BPA)!7(H+Pd{le?W` zcdwT_(SYK^8%2rY10niG@Bv@lo6;%@CPJZ5eBlcP3;ITUA^1kDh~Rhj?uFuz-OtSI z-0sY8CZFH`;*sTRJ#B9aH~)_!d5do$Vq;9LHmL z0iVR{coe5QL{8)D_yqohn{c#K^I;Jf%WCT;r$k#1Z? zy5wW*#X1h)733B2Hy+0JE)lA76mP~feuR%>jPFa^7LnWOh~prh!4Z5O@4_!Jg+HTR zQEaQocGPH7E8{SJfC>Bo?L>DlOFMo7@5GmJKYoff=_}aH_vIHV_Jx1o5O!`8X(6K| zo}oQ*qsYVfDlXx-cnY&SM4rYqOyiy&k+XOXkK+Y=6#v9&oV=+K{f9V4`x9KYANZZh z6lTcBu5=a8;WcdMJRG}4m`31afS`FQF>?(&l=k3{zAL5;oTw+;xouxZL|yf z5fhl$D{>FcVGLhG!j+4A$=}ZKG93r;dt||455Mj2=VB32v0KEUjt*12(Ixy7$lYB0 zEGnugXG?D5I@D}i*d-yzD2WcV6X~)0Z;MUg-{p>GgCh~mlrtqPHj154qSzrSHaT`m zSghO{_5AmCfF@@*DmDdGxb**h`8D3fH z9@{oF)ITuPKbTNM1IfX|^{d_QZ*D9-x8VG5?G@HecS04)Gph7eedD6%>V=@@G$Sx- zK?k8SCEv{XPSI2xo~w!}cqVUxaQ&Tn<{G{Uzlp-_%N`5{%V! zZr*e0i+5%DebG@Hmr^IQ>2Z}Il~ne`_?W7wnzQKZfaiHrDhIV(%_(@*qAK|{UE}Ul zOnjxd^S#kVM^Fty%~O+a%+)E(7+Senxc-9D1-%&h#&dHuk0z6I^1M6BD!yxb>p!V~ B5tRS{ delta 1149 zcmaLWJ!n%=6u|M5HjS;ZiA~d()>dPz^`pMDNt=GD7^?>Bpca&>&0u3B#E(3vsUL_0 zItZeJ7+fj_1s%jijZ6I)6hv{+rJL2+%@jdU2mdDz3NBu9-|ya=m-p^D_vFgJtKR$< zkNuX=LiASpb(_dG{8Pn+_PttUCzf##qjnJ!O&rFrcm{(tBHQr>Ch!w(LBk<(05dp_ z&ru)kTOtw@$xAbXeJmWsz4#D!;SWsVV6Dgu7I8@Dbt3hcLzZM3{df(#@jmiXnZqc~ zBOhs8D&oa9+=vkj@_tD$2(ysKPJDtLIFCEf?zAF_qnr6OcHvFz$2Zu6zfd`mgh0>^L@ny8tb!7hC5BmXf5WfrtpBHXPJWl@Xp8L}5yK>gmq zL2E{aQSZBod+;M_ME+*$C{E%A=0()AeupkBqi#%EtfOvdA^!xr*z~;g22P;TDB{Wn zG&+5Nwl)h{hgwjY5q*jNgV;x<5sz%9uePTDTzR(y==`B%jh=rUT^m^xYDlOLSx?uZ z(KKr$opgh4r;`jJkjj}lkUCv#T437N(mCcz)09&Zl_Q{pWTmbK0)~;im@C|~drQ6c z4o6|s=`Hx3=Ua1TU~6(JZKShP#_3ElbKK0Hi!lkAlj+h+XR*o_EsVQHT;V<=9N`lP h_YL)Qm!7)r))rd*cY@i8z(i{D#M%Em<)`0W{TFfSe3JkG diff --git a/source/po/pl.po b/source/po/pl.po index 4a24233..15ced29 100644 --- a/source/po/pl.po +++ b/source/po/pl.po @@ -1,15 +1,15 @@ # Polish translation for libiconv. -# Copyright (C) 2003, 2006, 2016 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006, 2016, 2022 Free Software Foundation, Inc. # This file is distributed under the same license as the libiconv package. # Arkadiusz Lipiec , 2003. -# Jakub Bogusz , 2006-2016. +# Jakub Bogusz , 2006-2022. # msgid "" msgstr "" -"Project-Id-Version: libiconv 1.15-pre1\n" +"Project-Id-Version: libiconv 1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2016-12-12 16:30+0100\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-13 20:15+0100\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" "Language: pl\n" @@ -143,34 +143,41 @@ msgstr " --help wyświetlenie tego opisu i zakończenie\n" msgid " --version output version information and exit\n" msgstr " --version wyświetlenie informacji o wersji i zakończenie\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Błędy proszę zgłaszać na adres .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" +"Błędy proszę zgłaszać przez system pod <%s>\n" +"albo pocztą elektroniczną na adres <%s>.\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"Licencja GPLv3+: GNU GPL wersja 3 lub późniejsza \n" +"Licencja GPLv3+: GNU GPL wersja 3 lub późniejsza <%s>\n" "To jest oprogramowanie wolnodostępne: można je modyfikować i rozpowszechniać.\n" "Nie ma ŻADNEJ GWARANCJI w zakresie dopuszczalnym przez prawo.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Napisane przez %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -180,7 +187,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -191,7 +198,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" @@ -199,7 +206,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "Argument %s: łańcuch kończy się w środku dyrektywy." @@ -207,14 +214,14 @@ msgstr "Argument %s: łańcuch kończy się w środku dyrektywy." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "Argument %s: znak '%c' nie jest poprawnym określeniem konwersji." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -226,7 +233,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -244,28 +251,28 @@ msgstr[2] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "nie można przekonwertować zamiennika bajtu na Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "nie można przekonwertować zamiennika unicode na kodowanie docelowe: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "nie można przekonwertować zamiennika bajtu na łańcuch szeroki: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" @@ -274,14 +281,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "nie można przekonwertować zamiennika bajtu na kodowanie docelowe: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: nie można skonwertować" @@ -290,7 +297,7 @@ msgstr "%s:%u:%u: nie można skonwertować" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u niedokończony znak lub sekwencja shift" @@ -298,61 +305,61 @@ msgstr "%s:%u:%u niedokończony znak lub sekwencja shift" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: błąd wej./wyj." #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "konwersja z kodu %s jest nieobsługiwana" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "konwersja do kodu %s jest nieobsługiwana" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "konwersja z kodu %s do kodu %s jest nieobsługiwana" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "'%s -l' poda listę obsługiwanych kodowań" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "błąd wej./wyj." diff --git a/source/po/pt_BR.gmo b/source/po/pt_BR.gmo index be2f55bde56c1cb27aa99af6c515220bf66e7181..0b4cb6c2983706b961d74b647a4fcff1c0d4d62c 100644 GIT binary patch delta 945 zcmY+@O-NKx7{>9Z?lk6%VvWu8Y2}pKXhWHmWM5NOn299FKp#+n5G_I~!G*!Jke0JC zk=jJ7B4{<6Xdwm_5k<6fQxq7qm|C=R5%hoVm7v3%`JHp`%$@f<=gj2Z>8{e3RBT$b zJbe>=a+!1(tIK(#eGQ~u{DudxB_@sHB|MHF@j9kfNJsGwUc@;(h)r?nES|#)_!Rx< zc#Tw$N~&cr$c29F$NP8!7jOh~E2Rfm#vadWrFtAeF6kz&!wKAt_mHpZHSWU?$V)*& zT7&hN!z^a`eGM?^b#j$7j)Qm--{4iOTODoD7#5j7 zM<>^iilQFF0p{cAt$Bs#vAL1_hZ)>va05T#6YM1?uc(Tyv@IP)-HltA7w`yPMo0Y+ z9sOe@1kIzPUcgRV#2wg?iO$e4b}%nz$iI)l3oabOV6DWWR6wtA2wmU|p2jNrZ0u*l zeSZRX;!AYoztCIQxIT)yXURTv!9^tKe{Gwl5(Uv<4cPOdXg=Sg9svar^r>3?is z<~;aoXe-^v%#G!SIk2x`IX(r=^fr1s-6hB9tVUEcRSBBXS;p*3*jjjJ50$HY58lTs NpA$cml|Px9;4i9qSBC%q delta 1054 zcmaLWJxo(k7{>9}wpIZN3Z+^jdaYG~+DgI3pol1bpctdXXu`+PV$(D!+Zn4jGb#m?%;hqpz|t`S}Y+;QpQbq3)}D!@=;mD zBrYL;(oiiDz$R?Lb`0};8D@}R!Nw>)#a+0BN6=T}R&oOCn3r)c-p2j-3On!z>IUQM z-2cyEg!wFP#Rb%aKcg1l=cSJ4OMpQ;MsS7rFJV9P^E^!}xQ9i2hZ_0G^&;2sCLTx6 z29YfGp&r#dUc_b81pDjV$mj74^9t$_NdrX>;s}Ea_#CfbEjc|#8?~b5Mz``&)X0mt z4X|V;1!;O$EtcD_>wCiodWATQ-Vxp@kGFPf#m; ziMmlg2Yw2NQ18kt>ib`C54MHe=toeGvW$c(bANn>y7AW`A|>&^Ei%30iP}4vQ@T^D zUKRaq@XbzRht4Ck{(swM77RK+71>VLYp0DkoIE&q*-h8m5T\n" "Language-Team: Brazilian Portuguese \n" with the address for translation #. bugs (typically your translation team's web or email address). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Relate problemas para .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -165,14 +174,14 @@ msgstr "" "NÃO HÁ GARANTIA, não extensão permitida pela lei.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Escrito por %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -182,7 +191,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -193,7 +202,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" @@ -201,7 +210,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "argumento de %s: A string termina no meio de uma diretiva." @@ -209,7 +218,7 @@ msgstr "argumento de %s: A string termina no meio de uma diretiva." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" @@ -218,7 +227,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -230,7 +239,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -245,35 +254,35 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "não foi possível converter substituição de bytes para Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "não foi possível converter unicode para codificação desejada: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "não foi possível converter substituição de bytes para texto amplo: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "não foi possível converter widechar para codificação desejada: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" @@ -282,7 +291,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: impossível converter" @@ -291,7 +300,7 @@ msgstr "%s:%u:%u: impossível converter" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: sequência de caracteres ou deslocamentos incompleta" @@ -299,65 +308,68 @@ msgstr "%s:%u:%u: sequência de caracteres ou deslocamentos incompleta" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: erro de E/S" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "não há suporte à conversão de %s" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "não há suporte à conversão para %s" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "não há suporte à conversão de %s para %s" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "tente \"%s -l\" para obter a lista de codificações sem suporte" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "erro de E/S" +#~ msgid "Report bugs to .\n" +#~ msgstr "Relate problemas para .\n" + #~ msgid "" #~ "Usage: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]" #~ msgstr "" diff --git a/source/po/remove-potcdate.sin b/source/po/remove-potcdate.sin index 2436c49..8c70dfb 100644 --- a/source/po/remove-potcdate.sin +++ b/source/po/remove-potcdate.sin @@ -1,6 +1,12 @@ -# Sed script that remove the POT-Creation-Date line in the header entry +# Sed script that removes the POT-Creation-Date line in the header entry # from a POT file. # +# Copyright (C) 2002 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 any warranty. +# # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ diff --git a/source/po/rm.po b/source/po/rm.po index b355c66..4e34375 100644 --- a/source/po/rm.po +++ b/source/po/rm.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libiconv 1.9.1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2005-02-06 15:27+0100\n" "Last-Translator: Florian Verdet _goto \n" "Language-Team: Rhaeto-Romance \n" @@ -134,31 +134,36 @@ msgstr "" msgid " --version output version information and exit\n" msgstr "" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -#: src/iconv.c:196 -#, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Scrit da %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -166,7 +171,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -175,14 +180,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "" @@ -190,14 +195,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -207,7 +212,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -218,42 +223,42 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, fuzzy, c-format msgid "%s:%u:%u: cannot convert" msgstr "iconv: %s: nu poss convertir\n" @@ -262,7 +267,7 @@ msgstr "iconv: %s: nu poss convertir\n" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, fuzzy, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "iconv: %s: segn incumplet o sequenza da translocaziun\n" @@ -270,61 +275,61 @@ msgstr "iconv: %s: segn incumplet o sequenza da translocaziun\n" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, fuzzy, c-format msgid "%s:%u:%u" msgstr "iconv: %s: " #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, fuzzy, c-format msgid "%s: I/O error" msgstr "iconv: %s: sbagl d'I/O\n" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, fuzzy, c-format msgid "conversion from %s unsupported" msgstr "iconv: conversiun davent da %s na sustgnida\n" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, fuzzy, c-format msgid "conversion to %s unsupported" msgstr "iconv: conversiun vers %s na sustgnida\n" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, fuzzy, c-format msgid "conversion from %s to %s unsupported" msgstr "iconv: conversiun da %s vers %s na sustgnida\n" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, fuzzy, c-format msgid "I/O error" msgstr "iconv: sbagl I/O\n" diff --git a/source/po/ro.gmo b/source/po/ro.gmo index 18b4813327ae402b847dfa1dec9a0f7e9d316f9b..d4f9bfa1279e2368aae76a618fbabc919161c0c3 100644 GIT binary patch literal 7529 zcmcJTUyNK;9mfw+L`FnG<&PpB)TLeNo$j_GFzuFZ%XTxk-Cee`paLOxXU@)^dgtEp z{@Jn(8bV)uBA7^oBEI>cMqV`0$ct$kvk&;7@l|7p(O@*bm`Gww{QS2Xwp&WQ znVIkXbI$Mn{{NXj-m>c@#j%g?oqWG@jZ(+J8?WVu3E%1Hd;p>$;0#1Un;Pc=k;BUc)!8<>oR15UM zbKtMRnq1$Y)Q7of(OCxG5B>l=0R90KK5vFeSw91Q4*V8) z7x)uU^!z5sN4?FD(EB&IAH4o1)}x>r*x>r-T}p4x80V@^&}|#tbsgIZxr}D@Hbq)4SoUqIYtvb{T&p)*?osnuY+w+ z?%&GGz63rBJ_Wu8ioX5>9tCgsq*5oq8BpXt2g>?CgR*`MCEp9a0FHpa1jWvO0)@`C zpUU-qGdRul-QYEHpD!v_9$(>K4zUmJ?EI)IH#m0j-OZQRxkDF-TdBMG?k%nbFp)xy z3egqr@B9w)xI=tw@c3+TAw1s17k5&q#OYl8Tx2K@@juMv?DFaI<^YP^xUD<(@GJJ0 z1Jk=05x+!i^?AOcD>+b)v#ZkD^On|9<0aWrl1?0-TR1V`pGnJ zZIft!2^;C$1)UMQafBmwa)RjwNz>>(%b7bwMU5nUv>&$Ri{q{ITAp<6aK&D5?M zecGlg+SiFagL)DjMyd9LAUciID<(G8%O$Yt$JUqFLjI<8GF}yOcoq!qOsavwdJd#_ zk2H7pHtAJAu&qJuCtY}4wkF;r-bNzn3YsGRIyUsl7tVvW=&$7L-MyqBlcceDCw`G& zp+tA0*zg)Z)KO>#>^741E{1S?<;0R9)C!(V*h+{OCv?ZQT3D7K^8216TWh+$Z!Y(B zxf;p%^iFEJ>4)M^MdlrNV2P(rH!$g-&4`y|#V)5hF<;M!IHUF?DbYKsj^(Kv3z%n8 zEt$aSr;JLSM%w2^_-ijxs}59Lll602Vc>QSvnd?d_PehMt90ft)GG)3i zQwcH+TbXB~p4h{d$m?BdbZqBKi%bF01tVEdFJ z`NhWZ`plFp?NOj4hpQ}Y%K9WHAr2#zBPWqY#rZNBT+3$lcq|$Zh5wNRZZ`U@>lQY4 z6v$UpY2o>@)~94)llJ`cviG^ln#bg@Jw+3;g}uvoUD*s=-d-1iF0H%x!%`@L-;C5% zlu4Bb`i4c@Jl?uDifdAW#Z`ieDz0*CdVxwyHwt#kdqtDtw60W>mU=Ao^qZ*pI66g* z^Xe_{vAlDtv3|*s^v0{>_j^>T@k;L9-if4bTi#K8+-pQNadxjAW^@Soh9g{5qqtp} zpYs;Xs;h6_!z72A-aoc~zc;qu8-Gxbf3bGo_`PG}V`G&WKS{kt?1u>{M5I|Toh@#$>cJqgk5);OdL3<^V5kv;l#wa zen^k$nwIl1{p_=xjG!%jn7jAfqw|YHsC0CcmE)}3KYFn8WoH*rp-V&qvgf78xuUqk z26bt_)sj}M%Km8+nmD(^d_-1G^?~YGbv*Cm2d0Sim+K2ppIkh8vQcj=HtLUQayY%i z8RMV1c(xZO^iIBx=*-t&wE<}_G`Zt5TiC$vG*J~z zO)+=;U&IMWuy&&@a$znphuC%)#aOnl7c-2)vX(jIc>UPq!qnu(VPxRJ4o2B&>=;n& zh1V(cUgXl-#j|@U{4KiG=EbwIlq`}R^_bk_C|-IPiERh*Xf6FyhOG=~CXS?Ci48Gq zQ+FQtH0^F2Db|#EJby#FS^9E7xqR6R0eCSDBx&2n)A5kl>{+I_4lbS@b+gK3F{oq# zb)crBUbBe|Y%BWQX6BwS(Ii$}EzC4w#NZ*FQ^Hc;Hf>eC3u10$Ib(5OH^f*Nx(ZaG zLTGfZfNJTE=;5vBzCY4@>$%r@{A8gnrkAE9G|@}XT=@*LMf3r3oHAgzkw$b{Oo7fQ zg?3AAUcr0BqOjcmdt+5tW3u5@w1v8p1x%iXmZ3Mz(9#T!Hk)krUI{Y2UL}ff?HA6u zJ<$Qp62ZD-PX$pEh2W$l$a3P&=cXbIp<564)d_|@j4PvR$Pk4=m{PhC0bf`;wY_yR zW92EG2ELf7bmGgF=Bf$TUll8pGMX#4vn00ft-5%&9Iwv5VM#YGHj|XOg+FG_|G1pF z;EeZ5TYw-8V=gcC!&#T9$`4Xr)qg-2J(Xvg%_2@p{mWT#E+^%q9LLsQ^@q=6sLG`!5y58b$Le!>dXkZC{ak%&ugIx8DKpLh^8F!WtAh(UqgT+HLlCWBjE^tVa1 zZhG5xlPeC+L`5#oBR}_|OK;8NTC6A5cZPOS%VnN~WybSeP2v4gAY7Rd2@|BJMRj|# z7~TmWtx&{bNyU>akk!@HwTJZJ}+*( zalF3%a(!x{m^u5jhRvP*Xz-s#r|rDdcb&stZotAbJJV@?=5!7rrri+_7WL#YJCS#PbITV6{ YFknzwB2a0QWIS|y7s5#}_j^h8Km2h5v;Y7A delta 363 zcmXw!F-yZh6vv-6MF=&iE-nt|AXMZ+VhJ`;FoTr}ibLI`lru?dAmrdK5jRKcBFLe$ zpTqCq>ZX&6gHDbPzEk^$AHVnD9q-+H_*K7rT{P|hQ%9DOU1Sc)5uFL5`)gzixkYT` z>EAEthZ%qmw4S@E0qmgf(evnMw4Q%M;~1cRcNu8R0?hsu04-T2S+S;CjYFG@kYKWy z7w3fLDzHc`aMaN1_S`mged=uz&ksF+-EF(BdB9{zj|D4a&Px5ZTaD9#^f)VGMz&Mk zokf*6Wd$7zHo9;GSKro^x!*scosJ*S4K=Y>l+lcu(>q{~=Uiq&(Z*7QhYe$%49E#B h$>+2lWsg}Zh~qc|=*J?HBuUAtbWD(}(jS=K4?j1GQ91ws diff --git a/source/po/ro.po b/source/po/ro.po index ed7cbf5..bfedd73 100644 --- a/source/po/ro.po +++ b/source/po/ro.po @@ -1,26 +1,42 @@ -# Mesajele n limba romn pentru pachetul libiconv. +# Mesajele în limba română pentru pachetul libiconv. # Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the libiconv package. +# # Eugen Hoanca , 2003. -# Acest fiier este distribuit sub aceeai licen ca i pachetul libiconv +# Traducere făcută de EH, pentru versiunea libiconv 1.9.1. +# Acest fișier este distribuit sub aceeași licență ca și pachetul libiconv +# Actualizare a mesajelor, de la fișierul „libiconv-1.15-pre1.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: libiconv-1.9.1\n" +"Project-Id-Version: libiconv-1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2003-05-17 15:15+0300\n" -"Last-Translator: Eugen Hoanca \n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-19 16:51+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=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" #. TRANSLATORS: The first line of the short usage message. #: src/iconv.c:104 msgid "Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]" -msgstr "Folosire: iconv [-c] [-s] [-f din_cod] [-t n_cod] [fiier ...]" +msgstr "" +"Utilizare: iconv [-c] [-s] [-f codificarea_originală] [-t " +"codificarea_dorită] [fișier ...]" #. TRANSLATORS: The second line of the short usage message. #. Align it correctly against the first line. @@ -31,33 +47,33 @@ msgstr "sau: iconv -l" #: src/iconv.c:110 #, c-format msgid "Try '%s --help' for more information.\n" -msgstr "" +msgstr "Încercați „%s --help” pentru mai multe informații.\n" #. TRANSLATORS: The first line of the long usage message. #. The %s placeholder expands to the program name. #: src/iconv.c:115 #, c-format, no-wrap msgid "Usage: %s [OPTION...] [-f ENCODING] [-t ENCODING] [INPUTFILE...]\n" -msgstr "" +msgstr "Utilizare: %s [OPȚIUNI...] [-f CODIFICAREA] [-t CODIFICAREA] [FIȘIER...]\n" #. TRANSLATORS: The second line of the long usage message. #. Align it correctly against the first line. #. The %s placeholder expands to the program name. #: src/iconv.c:122 -#, fuzzy, c-format, no-wrap +#, c-format, no-wrap msgid "or: %s -l\n" -msgstr "sau: iconv -l" +msgstr "sau: %s -l\n" #. TRANSLATORS: Description of the iconv program. #: src/iconv.c:128 #, c-format, no-wrap msgid "Converts text from one encoding to another encoding.\n" -msgstr "" +msgstr "Convertește textul dintr-o codificare într-o altă codificare.\n" #: src/iconv.c:132 #, c-format, no-wrap msgid "Options controlling the input and output format:\n" -msgstr "" +msgstr "Opțiuni care controlează formatul de intrare și de ieșire:\n" #: src/iconv.c:135 #, c-format, no-wrap @@ -65,6 +81,8 @@ msgid "" " -f ENCODING, --from-code=ENCODING\n" " the encoding of the input\n" msgstr "" +" -f CODIFICAREA, --from-code=CODIFICAREA\n" +" \n" #: src/iconv.c:139 #, c-format, no-wrap @@ -72,16 +90,18 @@ msgid "" " -t ENCODING, --to-code=ENCODING\n" " the encoding of the output\n" msgstr "" +" -t CODIFICAREA, --to-code=CODIFICAREA\n" +" codificarea de la ieșire(finală)\n" #: src/iconv.c:144 #, c-format, no-wrap msgid "Options controlling conversion problems:\n" -msgstr "" +msgstr "Opțiuni care controlează problemele de conversie:\n" #: src/iconv.c:147 #, c-format, no-wrap msgid " -c discard unconvertible characters\n" -msgstr "" +msgstr " -c ignoră caracterele neconvertibile\n" #: src/iconv.c:150 #, c-format, no-wrap @@ -89,11 +109,13 @@ msgid "" " --unicode-subst=FORMATSTRING\n" " substitution for unconvertible Unicode characters\n" msgstr "" +" --unicode-subst=ȘIR_SUBSTITUTIV\n" +" realizează substituirea caracterelor Unicode neconvertibile\n" #: src/iconv.c:154 #, c-format, no-wrap msgid " --byte-subst=FORMATSTRING substitution for unconvertible bytes\n" -msgstr "" +msgstr " --byte-subst=ȘIR_SUBSTITUTIV realizează substituirea octeților neconvertibili\n" #: src/iconv.c:157 #, c-format, no-wrap @@ -101,249 +123,261 @@ msgid "" " --widechar-subst=FORMATSTRING\n" " substitution for unconvertible wide characters\n" msgstr "" +" --widechar-subst=ȘIR_SUBSTITUTIV\n" +" realizează substituirea caracterelor largi neconvertibile\n" #: src/iconv.c:162 #, c-format, no-wrap msgid "Options controlling error output:\n" -msgstr "" +msgstr "Opțiuni care controlează afișarea mesajelor de eroare:\n" #: src/iconv.c:165 #, c-format, no-wrap msgid " -s, --silent suppress error messages about conversion problems\n" -msgstr "" +msgstr " -s, --silent suprimă mesajele de eroare referitoare la problemele de conversie\n" #: src/iconv.c:169 #, c-format, no-wrap msgid "Informative output:\n" -msgstr "" +msgstr "Afișare informații:\n" #: src/iconv.c:172 #, c-format, no-wrap msgid " -l, --list list the supported encodings\n" -msgstr "" +msgstr " -l, --list afișează într-o listă, codificările suportate\n" #: src/iconv.c:175 #, c-format, no-wrap msgid " --help display this help and exit\n" -msgstr "" +msgstr " --help afișează acest ajutor și iese\n" #: src/iconv.c:178 #, c-format, no-wrap msgid " --version output version information and exit\n" -msgstr "" +msgstr " --version afișează informații despre versiune și iese\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" +"Raportați erorile în sistemul de urmărire a defecțiunilor la <%s>\n" +"sau prin e-mail la <%s>.\n" +"Raportați erorile de traducere la \n" -#: src/iconv.c:196 -#, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" +"Licența GPLv3+: GNU GPL versiunea 3 sau mai mare <%s>.\n" +"Acesta este software liber: sunteți liber să îl modificați și să îl redistribuiți.\n" +"NU există NICIO GARANȚIE, în măsura permisă de lege.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Scris de %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." msgstr "" +"Argumentul %s: o directivă de format cu o lățime variabilă nu este permisă " +"aici." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " "here." msgstr "" +"Argumentul %s: o directivă de format cu o precizie variabilă nu este permisă " +"aici." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" +"Argumentul %s: o directivă de format cu o dimensiune nu este permisă aici." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." -msgstr "" +msgstr "Argumentul %s: șirul se termină în mijlocul unei directive." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" +"Argumentul %s: caracterul „%c” nu este un specificator de conversie valid." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " "valid conversion specifier." msgstr "" +"Argumentul %s: caracterul care termină directiva de format nu este un " +"specificator de conversie valid." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." msgid_plural "" "%s argument: The format string consumes more than one argument: %u arguments." msgstr[0] "" +"Argumentul %s: șirul substitutiv consumă mai mult de un argument: %u " +"argument." msgstr[1] "" +"Argumentul %s: șirul substitutiv consumă mai mult de un argument: %u " +"argumente." +msgstr[2] "" +"Argumentul %s: șirul substitutiv consumă mai mult de un argument: %u de " +"argumente." #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" -msgstr "" +msgstr "nu se poate converti șirul substitutiv de octeți în Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" +"nu se poate converti șirul substitutiv Unicode în codificarea dorită: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" -msgstr "" +msgstr "nu se poate converti șirul substitutiv de octeți într-un șir larg: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" +"nu se poate converti șirul substitutiv de caracter larg(widechar) la " +"codificarea dorită: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" +"nu se poate converti șirul substitutiv de octeți la codificarea dorită: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 -#, fuzzy, c-format +#: src/iconv.c:644 +#, c-format msgid "%s:%u:%u: cannot convert" -msgstr "iconv: %s: nu pot converti\n" +msgstr "%s:%u:%u: nu se poate converti" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 -#, fuzzy, c-format +#: src/iconv.c:658 +#, c-format msgid "%s:%u:%u: incomplete character or shift sequence" -msgstr "iconv: %s: caracter sau secven de shift incomplete\n" +msgstr "%s:%u:%u: caracter incomplet sau secvență de schimbare incompletă" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" -msgstr "" +msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 -#, fuzzy, c-format +#: src/iconv.c:832 +#, c-format msgid "%s: I/O error" -msgstr "iconv: %s: erori I/O\n" +msgstr "%s: eroare de In/Ieș(I/O)" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 -#, fuzzy, c-format +#: src/iconv.c:1030 +#, c-format msgid "conversion from %s unsupported" -msgstr "iconv: conversia din %s nu este suportat\n" +msgstr "conversia de la %s nu este suportată" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 -#, fuzzy, c-format +#: src/iconv.c:1036 +#, c-format msgid "conversion to %s unsupported" -msgstr "iconv: conversia n %s nu este suportat\n" +msgstr "conversia la %s nu este suportată" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 -#, fuzzy, c-format +#: src/iconv.c:1042 +#, c-format msgid "conversion from %s to %s unsupported" -msgstr "iconv: conversia din %s n %s nu este suportat\n" +msgstr "conversia de la %s la %s nu este suportată" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" -msgstr "" +msgstr "încercați „%s -l” pentru a obține lista de codificări suportate" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" -msgstr "(stdin)" +msgstr "(stdin)»intrarea standard«" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" -msgstr "" +msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 -#, fuzzy, c-format -msgid "I/O error" -msgstr "iconv: eroare I/O\n" - -#~ msgid "" -#~ "Usage: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]" -#~ msgstr "" -#~ "Folosire: iconv [--binary] [-c] [-s] [-f din_cod] [-t n_cod] [fiier ...]" - -#, fuzzy -#~ msgid "" -#~ "This is free software; see the source for copying conditions. There is " -#~ "NO\n" -#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " -#~ "PURPOSE.\n" -#~ msgstr "" -#~ "Acesta este software free; citii surselepentru condiiile de copiere. " -#~ "NU\n" -#~ "exist nici o garanie; nici mcarVANDABILITATEA sau MODIFICAREA NTR-UN\n" -#~ "SCOP PRIVAT.\n" - +#: src/iconv.c:1130 #, c-format -#~ msgid "iconv: %s: " -#~ msgstr "iconv: %s: " +msgid "I/O error" +msgstr "Eroare de In/Ieș(I/O)" diff --git a/source/po/ru.gmo b/source/po/ru.gmo index d9e65d856ca574e02fb013306da3646f1fdadd4b..ec0b7caf8c42d04f1cd9c257bc2d2c9ae0cf108d 100644 GIT binary patch delta 1761 zcmZY7U2IfE6u|M*Z&_$76%|U0W3|v)x^7zyVN1|OK0?zJM9^rdaogUu8`@pny)D!S zw`@bD5h$_}5amncK@-f2t#ScMYsV!!k4g?_e=hKkt!Cv*nrRC8XU#t_yq>=Cp0IjT_945 z7MiLJ;wn6kP53>UL>H2!+24wf;(lC)7tmDt1{U*v`GtWA_&YXYQHe+iHS*&)^Ue2) zJcr-nIb5+&q!X{>hv+R6={3)BA2#2YE%lc;%)F9goAqNzSgE{U? zAKRH9t)Tu}7~G;B9T=z-vGFv%hKs0I0>^L&=RHJ{ID)${i6i(AzHZi4cK=^^nE4yL zwG~UNL^k41T#x6F;>pidaS^H{w^=X&OCAv+K{1z~YD+zxVz|wGA}+OinY`I0$;TCR z4&*j9CwI#|@yfZm!Mu<{3&oT|dM&+-_q%QRoc}={ZsSS_*Fd;aLe<@}o7+yl|2K09 z&CRCTLLu&I)vR!L-DW;t?%dcMywZFx^NpyuJVvjhn`Un4vh=Tc8w%sCp)M;Nv(%=o ztwT+9ezmD>hZ(COD;f($!m3F{qN+b=TT!*9I=0rcy)P6~{PjdFOT{8R_U>TR@~h#< zpkk0+wj-*mFBtB%R50AFqE>e(W=BJvgSMqYwwDkVJBiV@Mb*9#*tRXuw*AGGieK4% zma_KPR@hdrTG4@!ZCl-{bC~z<_9lIvgY}`XyQg!oSJ}~E*DkUO+S$ZNlbzN;Fw}2C zk!<=q&#By;RmnZYn@buS>wS&&4Xagy&;LYI`kUg3oIIbmA>C10J3s!Oo^r-?Mt`QS zFq*il7J5==oDpZQp3+kk1g06VebzkDnQQ|3f|Jm*ifxlTxJbX`ZpkQpTA%VOJ?Xrq z^bG5l376n!1iHdPoHsiYPQp3BigHGDiWr~cth1L@=69ZFbXw1PJ^G{xq2Rbap%2rK z>+?z{8J?k^)E}_$F0WK>pbV*GNIK>0Q||DpiA+MH&LL;KhG#@oB$LvglAk%)B{q|z zo^}po_v(~4`D1xq@{{tL@w05;h|V}axSBl*Q$@o2InzagxNn*?#h7w`p3yVTsM(NU rX_~l~**IxV=2qOjT6gN2B5n4*$?j3NxL%J?L{c>A&7^-@+FtN4NDIj! delta 1221 zcmaLWT}YEr7{Kwznya>&U&}P7y_%V2@7m0d)IQY2C?bKJ%18;)P_PoDy&bIfQ^SsX%nr9k= z?=wxeh2|t2#LX0uo%m-77ut`dB75*B)?lSc#E*V##CbfAMX4gYaRfWiz&g~;B8Sk2 z?Kq9<*4fKM>P3Q*OXnaH$8kSC!Y2HUU0AbR)NKAk!IjN`aBL&U2- z$3Z-jnN0C4_A#!?O3qK9N_iE>KZ!Lsigz%0i%!{Uk!v`OudpFoIgGUCi=4$S>_-DHt9kOOzW)|Suw|Xd0sMf?sB6hu3Lr_6DI^&(gX(_s8u{m- zi%spC>?WR%nxu#mKTxN$sR0(m_rrLT!WlpscLY;myK`9AI zW(S(Cd-?+5`zCv|!c<}ow_5Gt9P1@Vz_0D_^muh|caMI~=kay=yL;;yIQV, 2002,2003. -# Yuri Kozlov , 2019. +# Yuri Kozlov , 2019, 2022. msgid "" msgstr "" -"Project-Id-Version: libiconv 1.15-pre1\n" +"Project-Id-Version: libiconv 1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2019-01-06 07:48+0300\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-19 10:43+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" "Language: ru\n" @@ -17,9 +17,9 @@ msgstr "" "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 2.0\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 20.12.0\n" #. TRANSLATORS: The first line of the short usage message. #: src/iconv.c:104 @@ -147,34 +147,41 @@ msgstr " --help показать эту справку и msgid " --version output version information and exit\n" msgstr " --version показать информацию о версии и выйти\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Об ошибках сообщайте по адресу .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" +"Сообщайте об ошибках в систему отслеживания <%s>\n" +"или на почту <%s>.\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"Лицензия GPLv3+: GNU GPL версии 3 или новее \n" -"Это свободное ПО: вы можете продавать и распространять его.\n" -"Нет НИКАКИХ ГАРАНТИЙ до степени, разрешённой законом.\n" +"Лицензия GPLv3+: GNU GPL версии 3 или новее <%s>\n" +"Это свободное ПО: вы можете изменять и распространять его.\n" +"Нет НИКАКИХ ГАРАНТИЙ в пределах действующего законодательства.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Авторы: %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -183,7 +190,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -194,14 +201,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "аргумент %s: Здесь не допускается директива размера." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "аргумент %s: Строка заканчивается на середине директивы." @@ -209,7 +216,7 @@ msgstr "аргумент %s: Строка заканчивается на сер #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" @@ -217,7 +224,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -229,7 +236,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -245,28 +252,28 @@ msgstr[2] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "невозможно преобразовать байтовую подстановку в Юникод: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "невозможно преобразовать юникодную подстановку в целевую кодировку: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "невозможно преобразовать байтовую подстановку в широкую строку: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" @@ -274,14 +281,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "невозможно преобразовать байтовую подстановку в целевую кодировку: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: невозможно преобразовать" @@ -290,7 +297,7 @@ msgstr "%s:%u:%u: невозможно преобразовать" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: неполный символ или последовательность сдвига" @@ -298,65 +305,68 @@ msgstr "%s:%u:%u: неполный символ или последовател #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: ошибка ввода-вывода" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "преобразование из %s не поддерживается" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "преобразование в %s не поддерживается" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "преобразование из %s в %s не поддерживается" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "список поддерживаемых кодировок доступен по команде «%s -l»" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "ошибка ввода-вывода" +#~ msgid "Report bugs to .\n" +#~ msgstr "Об ошибках сообщайте по адресу .\n" + #~ msgid "" #~ "Usage: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]" #~ msgstr "" diff --git a/source/po/sk.gmo b/source/po/sk.gmo index 734056df2ef5f8224a72035bc7fc12e3f5ee3c66..59a83dad7f25c2c5840ac870f1d55227b0d2e328 100644 GIT binary patch delta 1617 zcmZwGPi$009Ki7(w6vwPNKq+Bfl)!Nv}^y+AWH)-(qL<|LTQ6mJ-po=*w^j8Y2Low z(q0<$!i5-9)Pxw5CJ=)O2T~6nEHPQym`GwYUOY&m7sJ7`crf_=z3o90Cp-I@d6}Iz zzu#~6%E0}X7w&Jb|43*r(L3l@H;BB7Ep>d+cGlPCyYL9}chTV|cmf+Yi4<`JkK?z(6hr%)Q$O}NLE;21oMZ4g16}wC zhj5%c74RB9!iFbnku~h7r9O$8`q%IPo*dbHAiFlkPu zCvpsCF=p$x2)F{At~a!!G~a{Mp70hZirl4sY%2 z>+b36?(H{yy~*BzgO9_JN5~+4mo(VjTXmhUO1-_*m)s>7s^Kzl3+Hokg=6+8DPJX8y+osEpjAmb;g(L+=dNXy%D0g&jMqM=YE-Hvt z7j+>B8FZ-&govOIZwe}iF0~-K=&qm$BB=kf141{w_?+K)Uyggv^SsYlZMz;!trj_M z3!{lBC$8m)9KheXTo_;TL=NLOY{#HO#6k-X;RhVU%5@?K@dgg!TilOkzQ{?8;s8EE z{b|p7k&sAAO1bG};Vkyx13ZG?aRl27MDF4&cIbSA$Yx9+OEQCAyox@&hy1I&#~`jC ze^R_r#EliW8v|I${xZmopM?}Q;sVy<3U;BxX=ic_3z^U0Uc8B|_zauz7wQW(ZL*(_ zVm0%5+<`AqEBpmDfqX87>@RL^0$7c&D1SemU|z*;Asoj^T)=Lu*&>oe3-t&-;~A{q zY9GNgo@V|Ob=^~Bm)ycW=5g%D7nsrq%Zo*h;sl<$DX1{SiYRMy5gE7>e zxP@BU*Vu`lP)lxj*c=LF(kwRYiWB? zD{uw1N8X`6=PeaEg~O;DEMX;n#45}y6QM{_ha@d+s7HIejQUgYwV~&w59+2mXkwul z*@klI0;9qvTLH~lE20gh8S*~aK|ZpF*lADyxw5wy1Rs>_((~6+>7Z&t4+;Gtb%ZvJ zW}z815+>mwD2k9+_A}yZ68dy)XoKm{tTj^|+RU_qG!V3qY$wDpOmpaBB0cADXIdP! z`RP8VJMDE|C{I{M=TLIg9E~N-^U, 2002, 2003, 2008, 2016. +# Marcel Telka , 2002, 2003, 2008, 2016, 2022. # msgid "" msgstr "" -"Project-Id-Version: libiconv 1.15-pre1\n" +"Project-Id-Version: libiconv 1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2016-12-13 00:02+0100\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-13 21:15+0100\n" "Last-Translator: Marcel Telka \n" "Language-Team: Slovak \n" "Language: sk\n" @@ -141,37 +141,43 @@ msgstr " --help zobraziť túto pomoc a skončiť\n" msgid " --version output version information and exit\n" msgstr " --version vypísať informáciu o verzii a skončiť\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"Chyby môžete oznamovať na adresu (iba anglicky).\n" +"Chyby oznamujte pomocou nástroja na sledovanie chýb na adrese <%s>\n" +"alebo elektronickou poštou na adresu <%s> (iba anglicky).\n" "Komentáre k slovenskému prekladu zasielajte na adresu .\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"Licencia GPLv3+: GNU GPL verzia 3 alebo novšia \n" +"Licencia GPLv3+: GNU GPL verzia 3 alebo novšia <%s>\n" "Toto je slobodný softvér: môžete ho voľne meniť a šíriť ďalej.\n" "Neposkytuje sa ŽIADNA ZÁRUKA, v rozsahu povolenom zákonmi.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Napísal %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -181,7 +187,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -192,7 +198,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" @@ -200,7 +206,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "Parameter %s: Reťazec končí v strede direktívy." @@ -208,14 +214,14 @@ msgstr "Parameter %s: Reťazec končí v strede direktívy." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "Parameter %s: Znak '%c' nie je platným konverzným špecifikátorom." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -227,7 +233,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -245,28 +251,28 @@ msgstr[2] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "nie je možné konvertovať náhradu bajtov do Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "nie je možné konvertovať náhradu Unicode do cieľového kódovania: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "nie je možné konvertovať náhradu bajtov na široký reťazec: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" @@ -274,14 +280,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "nie je možné konvertovať náhradu bajtov do cieľového kódovania: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: nie je možné konvertovať" @@ -290,7 +296,7 @@ msgstr "%s:%u:%u: nie je možné konvertovať" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: nekompletný znak alebo preraďovacia sekvencia" @@ -298,61 +304,61 @@ msgstr "%s:%u:%u: nekompletný znak alebo preraďovacia sekvencia" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: V/V chyba" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "konverzia z %s nie je podporovaná" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "konverzia do %s nie je podporovaná" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "konverzia z %s do %s nie je podporovaná" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "skúste '%s -l' aby ste získali zoznam podporovaných kódovaní" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(štandardný vstup)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "V/V chyba" diff --git a/source/po/sl.gmo b/source/po/sl.gmo index a3d2df4363b4bb7842cf370cc56616697e4ecc94..5f7c0f1e260c09d740d0f9a7c0f2fd3f943a0102 100644 GIT binary patch delta 992 zcmXxjOKeP09LMpW&a|CQ$771AS3O#f8V#L3(s;L}nP?hBLK7^AS1ssHM4H@KhzK@K zEHvrP0*Tcn7A!0*2o}0*s)?nDiUkWczQ1#)|IE3cd(O-~^FRM{?vK*H_Gq>t{Xj$; zZ4GT~fwUWEs<;sEQqlo@k2`T;S{lVN_Tx*uf`4&8j#Nvh@iBUy>Kf@N_TecUM^8P6 zy;7uK+#F`0qgEQkn|KgE;(5$xqzSx+yWFoM2^>O(bP`wKIc&!<>!lsoh&@=wPK?kA#pvJ9;YKXxq_ubiUD2!P zgzuu~dx#zQ1alF!nBk_Efp3eXy;$T|mvICKajMd9S|S~ye;ZHWXWWCW`J`eO@HqXa z=n|_z+6O80JpJg(-bYtv3Zr3eGD}$<`+f$u(Z5ce$VHFPC62KPU*mS1Mwhs5c`{KR zDVEB}S2|W1zl6>7C(+NnK_~DN2e7L^{r%vLLNd`UbV*-T{DZDYsWEwQ6x--O#|`)u z*I|kS;L^4ri&rOh;{dX*uox%iXrXZgLbQ7SS#$^|vW1qWc@nSKW%M4dr+FpwLFGcM zs_1=pI0^4PFG~oHLf ar1>N}T!mcxCH1x@{*=8~AD=DUtNIV`zf)2G delta 1119 zcmaLWyH8VL7{~FSv{t!!skC?lj}=fZr*a7~Dq=;95s`Qa8iR=`LZFI01X~j0fP>M2 zgat9t%_t^bCK+5DOpKEu#6Lh|69xxx?cn0~IW-OrKIzlXdEfTDJm(9G=Aw^@9_+!#*p16Lg!SvCCpd$LY+Njr;}9~X3EYZzuo)jBx9StN<0A4> zphT*`a;(P~#`t~pa?!$shmH6YkKrO(1sh9AJdOKt01x0aw&6##2g{>e#3G5(AfF|t|ez%jJW zy~KX}iPq}wu+)hs(bl<-_PsASWi5(skuG5`Rc-)|qE$ z_vNq&>o@?r@dEC`ELw}_kS1szZM}C$eSc$*?LS@g_r+#8w4!*wDy!VWuNZ4ctI9gD zkF;PtKX^{RWA@|!#&#weNd7=_NIQ%cG()8xZ*0HnNINW6#a_}St+F6Vk=jPuUh?np zI|P2%!LqRSvYmd^@@`ezDYq`{Amuo&J9s-YdoEb9upF2VHJl$F_a-vVV0Pq|lkuDm zF5HoH)*VX?rmlJE$pnMAH!;!~UwBY5TH4f?98caDcCIHUQ<-5Wo&4_|tC5+a-@gNR AcK`qY diff --git a/source/po/sl.po b/source/po/sl.po index 7de292b..3ff9597 100644 --- a/source/po/sl.po +++ b/source/po/sl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libiconv 1.12\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2008-04-26 09:48+0200\n" "Last-Translator: Primož Peterlin \n" "Language-Team: Slovenian \n" @@ -17,8 +17,8 @@ msgstr "" "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=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" -"%100==4 ? 3 : 0);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || " +"n%100==4 ? 3 : 0);\n" #. TRANSLATORS: The first line of the short usage message. #: src/iconv.c:104 @@ -33,6 +33,7 @@ msgstr "ali: iconv -l" #: src/iconv.c:110 #, fuzzy, c-format +#| msgid "Try `%s --help' for more information.\n" msgid "Try '%s --help' for more information.\n" msgstr "Poskusite »%s --help« za več informacij.\n" @@ -143,18 +144,27 @@ msgstr " --help izpiši ta navodila in končaj\n" msgid " --version output version information and exit\n" msgstr " --version izpiši informacijo o različici in končaj\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Napake javite na .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "License GPLv2+: GNU GPL version 2 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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" @@ -163,14 +173,14 @@ msgstr "" "Za izdelek ni NOBENEGA JAMSTVA, do z zakonom dovoljene meje.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Avtor %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -178,7 +188,7 @@ msgstr "argument %s: oblikovna direktiva z nestalno širino tu ni dovoljena." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -188,14 +198,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "argument %s: oblikovna direktiva z velikostjo tu ni dovoljena." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "argument %s: niz se konča sredi direktive." @@ -203,14 +213,14 @@ msgstr "argument %s: niz se konča sredi direktive." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "argument %s: znak %c ni veljavno določilo pretvorbe." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -222,7 +232,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -238,42 +248,42 @@ msgstr[3] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "nadomestnega bajta ni mogoče pretvoriti v unikod: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "nadomestnega unikoda ni mogoče pretvoriti v ciljni nabor: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "nadomestnega bajta ni mogoče pretvoriti v široki niz: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "pretvorba nadomestnega širokega znaka v ciljni nabor ni mogoča: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "pretvorba nadomestnega bajta v ciljni nabor ni mogoča: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u pretvorba ni mogoča" @@ -282,7 +292,7 @@ msgstr "%s:%u:%u pretvorba ni mogoča" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u nepopolni znak ali pomično zaporedje" @@ -290,65 +300,68 @@ msgstr "%s:%u:%u nepopolni znak ali pomično zaporedje" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: V/I napaka" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "pretvorba iz nabora %s ni podprta" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "pretvorba v nabor %s ni podprta" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "pretvorba iz nabora %s v nabor %s ni podprta" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "poskusite »%s -l« za seznam podprtih naborov znakov" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "V/I napaka" +#~ msgid "Report bugs to .\n" +#~ msgstr "Napake javite na .\n" + #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" diff --git a/source/po/sq.po b/source/po/sq.po index 864b473..097978a 100644 --- a/source/po/sq.po +++ b/source/po/sq.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: libiconv 1.9.1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2004-08-08 00:36+0200\n" "Last-Translator: Laurent Dhima \n" "Language-Team: Albanian \n" @@ -44,6 +44,7 @@ msgstr "" #. The %s placeholder expands to the program name. #: src/iconv.c:122 #, fuzzy, c-format, no-wrap +#| msgid "or: iconv -l" msgid "or: %s -l\n" msgstr "ose: iconv -l" @@ -131,31 +132,36 @@ msgstr "" msgid " --version output version information and exit\n" msgstr "" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -#: src/iconv.c:196 -#, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Shkruar nga %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -163,7 +169,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -172,14 +178,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "" @@ -187,14 +193,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -204,7 +210,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -215,43 +221,44 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, fuzzy, c-format +#| msgid "iconv: %s: cannot convert\n" msgid "%s:%u:%u: cannot convert" msgstr "iconv: %s: konvertimi është i pamundur\n" @@ -259,70 +266,76 @@ msgstr "iconv: %s: konvertimi është i pamundur\n" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, fuzzy, c-format +#| msgid "iconv: %s: incomplete character or shift sequence\n" msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "iconv: %s: simbol apo sekuencë ndryshuesish e paplotë\n" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, fuzzy, c-format +#| msgid "iconv: %s: I/O error\n" msgid "%s: I/O error" msgstr "iconv: %s: gabim I/O\n" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, fuzzy, c-format +#| msgid "iconv: conversion from %s unsupported\n" msgid "conversion from %s unsupported" msgstr "iconv: konvertimi nga %s nuk suportohet\n" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, fuzzy, c-format +#| msgid "iconv: conversion to %s unsupported\n" msgid "conversion to %s unsupported" msgstr "iconv: konvertimi në %s nuk suportohet\n" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, fuzzy, c-format +#| msgid "iconv: conversion from %s to %s unsupported\n" msgid "conversion from %s to %s unsupported" msgstr "iconv: konvertimi nga %s në %s nuk suportohet\n" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(stdin)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, fuzzy, c-format +#| msgid "iconv: I/O error\n" msgid "I/O error" msgstr "iconv: gabim I/O\n" diff --git a/source/po/sr.gmo b/source/po/sr.gmo index fa46a9e517c1211d40aeef34e4fc1213bc92fd54..9924b3508511f810a66d957cbbc8f70e6d798f39 100644 GIT binary patch delta 1773 zcmZXTUu@G=6vq$HF)a)S3NqO6qM%H+IyMk33@Abf%Q7~E7-S}P+mEf0wb=ePKpwg= zBz@3WsDv>Xni!3en9P-Cjk0Pq;en8NfANV2Of>$94<U=fZ8}B0EIV5@FJY<1}o69^3`1?-S{PQ8)%~!mzII7pZ_( zATGHEm%}`4fVUwj3;%&{z}{s9&=0@E4%RL@GnJcArN0YRfuEp0*|IA71|Ej`qoj2?wF} z%r`IrpLt~FDL;fyv;Glogw;j_QKZA5KbI8;he~}4QlMz_S7P;;-dKk|Q5mMq6vA`_ zuqQC;_J^4zy(O!$y4kgYSMtw#81hd*^Pvvs`$HS;-tpM%f|d~4z?T)(eA!XkZ&=_D zeF9!kR$yH4e?z6Gcm1)BU+n=Msz8nYtE|xp_9V6*(}Ci$D*x-e-Sg9}v2G`xa?GCg z*1@LrVY8?0pw7*plT5`DanocHNpm#nI!Uv2ZE9QaKwm6n_&btx9Fs~MagRrnPS~7G z3>YReZZ~1N`=aq)$3){jCh7FVQf@NVHQ+iX=7vb&5J`@$o~D2wgZRi3}3l@ zj&V-7PTV!eoMeB@b)6p5b&~UshjI|NB@Sl`fCzhRSUYzS{`%70z4eL?!NEqZ5d!A|o#VeD0#v6t~%ZgjoAWvu>8yxjh(h7J4uRByeds7NQy~YGQP(fCaPpV!T8ip z8yqF?jCY!lf;SX4Ui#jMX)=1l>=um18=Kdk8-$K=uPDl-|X= zr244a;Fut;7?2nEHyqXl#K3@JzRtt)l~{srYy)(!vw delta 1180 zcmaLWO-K}B7{KvI9qnUt{o2gU)mBq0ZA@L)MRQXt0wY2R5>pk70WY4+HeX7(8i-^W{GrR82fP< z^{)%JiL{GE#m&iCCi?I+KEspv3ol{wc9BOohb@}#5Xr_-WJ+RKgp*i@Pmo*X6Z&x# z`ANY}5f_%=A#A{Mo-YHO)H4yq8eGIGT*VGF9I2I@!W{A#9>Ez5;A`~Z2I>pe?n+%B z#tQPMSc>mZEBp<00a+Y!c)qweX}}7dpf){tnLNbP&fy1~!LnSDGx!{*F)dG|7cIPo z-%+n0%on+hanyOUAXV}?)O;StF`sfo?{YHBNeDf=*?+u;QTiaSP^6oDdJp@BUr|fG zfm(qK>aJVmLlz}BQMYm&dA5ASN?gY-%yy@GW)SR!KdzM`9Skb!^3+5|Ji+fQ|SbS#)wASev-m53O)@DfMTeTSNCN zmtY5yBa@@vs14;z&d@-A)s<;OX+^Z5^b69L)uGioOzhL-pTU~MOYlKSneM-Krw)BH zdMH`S1E@_?P8=j^2$L`fsxK5Q`5Eyw34OXXC_r-T=crqtLz|h_kZOWf5{kzgcujNY z)~GdaxDt&VNWQK;v%q!uc@WsgR^>&il$Ve#h(lM8w=C}Ht zozD7zSyyj11iW=kExte^?rd{dZ;JD*_TshR!H#3hUh>)rrj}MF>}5?} N*$e-9$fW1I@ds((mqGvl diff --git a/source/po/sr.po b/source/po/sr.po index 10b809a..ac8e9c3 100644 --- a/source/po/sr.po +++ b/source/po/sr.po @@ -2,21 +2,21 @@ # Copyright © 2017 Free Software Foundation, Inc. # This file is distributed under the same license as the libiconv package. # Aleksandar Jelenak , 2006. -# Мирослав Николић , 2012—2017. +# Мирослав Николић , 2012–2022. msgid "" msgstr "" -"Project-Id-Version: libiconv-1.15-pre1\n" +"Project-Id-Version: libiconv-1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2017-01-27 06:37+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-15 20:43+0200\n" "Last-Translator: Мирослав Николић \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" +"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-Bugs: Report translation errors to the Language-Team address.\n" #. TRANSLATORS: The first line of the short usage message. @@ -142,34 +142,41 @@ msgstr " --help приказује ову помоћ и и msgid " --version output version information and exit\n" msgstr " --version исписује издање и излази\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Пријавите грешке на .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" +"Грешке пријавите на пратиоцу грешака на <%s>\n" +"или е-поштом на <%s>.\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"Лиценца ОЈЛв3+: ГНУ ОЈЛ издање 3 или новије .\n" +"Лиценца ОЈЛв3+: ГНУ ОЈЛ издање 3 или новије <%s>.\n" "Ово је слободан софтвер: слободни сте да га мењате и расподељујете.\n" "Не постоји НИКАКВА ГАРАНЦИЈА, у оквирима дозвољеним законом.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Написао је %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -178,7 +185,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -188,14 +195,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "%s аргумент: Наредба формата са величином овде није дозвољена." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "%s аргумент: Ниска је завршила у сред наредбе." @@ -203,14 +210,14 @@ msgstr "%s аргумент: Ниска је завршила у сред нар #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "%s аргумент: Знак „%c“ није исправан одредник претварања." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -221,7 +228,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -236,42 +243,42 @@ msgstr[2] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "не могу да претворим замену бајта у Уникод: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "не могу да претворим замену уникода у циљно кодирање: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "не могу да претворим замену бајта у широку ниску: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "не могу да претворим замену широког знака у циљно кодирање: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "не могу да претворим замену бајта у циљно кодирање: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: не могу да претворим" @@ -280,7 +287,7 @@ msgstr "%s:%u:%u: не могу да претворим" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: непотпуни низ знака или поераја" @@ -288,65 +295,68 @@ msgstr "%s:%u:%u: непотпуни низ знака или поераја" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: У/И грешка" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "претварање из %s није подржано" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "претварање у %s није подржано" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "претварање из %s у %s није подржано" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "покушајте „%s -l“ да добијете списак подржаних кодирања" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(стдул)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "У/И грешка" +#~ msgid "Report bugs to .\n" +#~ msgstr "Пријавите грешке на .\n" + #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" diff --git a/source/po/sv.gmo b/source/po/sv.gmo index cbc5232661b6ab139f7c3da862d40d7ccd32224a..1d340c431e177409e7e63c33e286a2db9d50669d 100644 GIT binary patch delta 1674 zcmaLWO=uit9LMp0o3yc;CT(M1(%RO?ms(@8>t;g?ZbQu0#AV~UO=F5yt2oI%yBV@O z6J}=92El-Wcu~ z^UU-7o@c(vJb%yXcRlT|3gvE&!yK<{5xF0CwsE5LwzujB@m}grppTdEBz9~QspAyh zho9g%{2fo=ne8Ie_%c3@-{V#s>kt_iS(O|YB^sW^Df}8I@bC>HWpwa${0y^N-yzb4 zZy-(b9`@oortuomh5UuXxGf>VrJTUMIEnA#W7x<0rM*++RvJ<`h^KKBpTj%wD(3J9 z)EV{d6xoFqHMItg;2I9$b<~0GVU&7*5pTyA@F;$On)Eg7;{Ea?7uw-(n8A*2k*`>W zEIvTJb9ZY%Gq^(iBIa?&9uW^uV-c^SM%>lYS}GSGr2aOZ#a~dPFWlH#x+1PVM8icc z3V0oL?T?d_uHhnH!Y?p`Pwf+7OwvS+{t6z!_fh}<5}AYiiMm%3`#Ep|`N=6x8hr&d zx!niIUn3qr(2B5%SEygc0X)gV>cD)|CHNFIsXuTSI}f&AltYdDY1F0r7{~Be?8D3< zkz4Q_8hi!`LoOd8f87)x(V!1}jwCO-`AJ!l96E9>`eHV9yqQwkK;a{h;~Y0>g<|4! zYu5Tgoy2Bgb%bDqxd|UZJg^>Je=VBAzsqg^R5VVFoINE>CXSuS#~T*nqEYH37`xmY zxBT~Xj4FFKE_ZU)J)nivmLvM9=SQ;y7Sfxt;tUpmxubZ zCSN+E*JjxUq3e5Q$oPS&Igt&_=&^7tF}vV~hF>MH)`Wf~I`0HFYgYV*;iA z@v7E1UfBe;?1oX`&NU)y+$cpCmOJUAbjtKSlAD>ym1fTl7@mq2tg#m&>qTbC26Z=z zY}w4M@c#3uW;*dw()Hqd<{DKK1d-RWn)+e78KuAY5;} zs{N+s{d#k6_iN3cx|7WhyT^JTP3Em9F%TC~AO}Swf9gqLKa^M($e!*-e%NR`AdZ~nVP;osk zG=;uWezIipIgPh4V8V?xQ`=bcsu6KkEkU|9>MU%k`QpB}W?fUUwZK_g@&npjuNsCc rVPxxcxWuFJ@LB_2b{%7rOMV!|eZ+sI5;L2RI@*zmZ(V1ce8oBBG-O1rZ&>It6tIG&)6xzW*HvI`rUwKJ(0uGtcvTp1HL3LuBGp ziSMS+EUJpSx0p^e1sMPT@9uiB0$mb%54V z@BTQ}(Z7$YaSk=%Z>ST<hYq=C{+ zQ%kL<8Yz?VQA}ExK;|>zYsy3onWh^|+geIztW6_lE67HQEhMWbF$~ij7*D%*eZiS6 zzWQAENMX>eC_Gn{c8u16u@Q5`9y1g1f%u?fpKYUKImwZkXNA*QOQLRHQCDwxn;F__ zhPD{tXiF&47>a~K{+?JWZ5~a=>{KF_c9JbdyFE0VOc~vdok}^j(HhJ2ty5mV&32Nh zQ_k5~A~9@RsbTkf(QWrppv}D)Fx?-4lAN%$-3rg-7oW^^i_51Q((y#%|AX6Q`Fls> MgQKyTtO{TDAN9JOng9R* diff --git a/source/po/sv.po b/source/po/sv.po index 6f8bd15..7252203 100644 --- a/source/po/sv.po +++ b/source/po/sv.po @@ -4,22 +4,23 @@ # Christian Rose , 2002. # Daniel Nylander , 2006, 2007, 2008. # Anders Jonsson , 2017. +# Luna Jernberg , 2022. # msgid "" msgstr "" -"Project-Id-Version: libiconv 1.15-pre1\n" +"Project-Id-Version: libiconv 1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2017-06-04 15:02+0200\n" -"Last-Translator: Anders Jonsson \n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-13 12:57+0100\n" +"Last-Translator: Luna Jernberg \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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.11\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 2.2.1\n" #. TRANSLATORS: The first line of the short usage message. #: src/iconv.c:104 @@ -145,36 +146,43 @@ msgstr " --help visa denna hjälp och avsluta\n" msgid " --version output version information and exit\n" msgstr " --version skriv ut versionsinformation och avsluta\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"Rapportera fel till .\n" -"Skicka synpunkter på översättningen till .\n" +"Rapportera fel i felrapporteringssystemet på <%s>\n" +"eller via e-post till <%s>.\n" +"Rapportera fel eller synpunkter på översättningen till .\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"Licens GPLv3+: GNU GPL version 3 eller senare \n" +"Licens GPLv3+: GNU GPL version 3 eller senare <%s>\n" "Det här är fri programvara: du kan ändra och distribuera den.\n" "Det finns INGEN GARANTI, så långt lagen tillåter.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Skrivet av %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -183,7 +191,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -193,14 +201,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "Argument %s: Ett formatdirektiv med en storlek tillåts inte här." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "Argument %s: Strängen slutar mitt i ett direktiv." @@ -208,14 +216,14 @@ msgstr "Argument %s: Strängen slutar mitt i ett direktiv." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "Argument %s: Tecknet \"%c\" är inte en giltig konverteringsangivare." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -227,7 +235,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -240,42 +248,42 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "kan inte konvertera byte-ersättning till Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "kan inte konvertera unicode-ersättning till målkodning: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "kan inte konvertera byte-ersättning till bred sträng: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "kan inte konvertera bredteckenersättning till målkodning: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "kan inte konvertera byte-ersättning till målkodning: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: kan inte konvertera" @@ -284,7 +292,7 @@ msgstr "%s:%u:%u: kan inte konvertera" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: ofullständigt tecken eller skiftsekvens" @@ -292,65 +300,70 @@ msgstr "%s:%u:%u: ofullständigt tecken eller skiftsekvens" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: In-/Ut-fel" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "konvertering från %s stöds inte" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "konvertering till %s stöds inte" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "konvertering från %s till %s stöds inte" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "prova ”%s -l” för att få listan på kodningar som stöds" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(standard in)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "In-/Ut-fel" +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "Rapportera fel till .\n" +#~ "Skicka synpunkter på översättningen till .\n" + #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" diff --git a/source/po/tr.po b/source/po/tr.po index 93b664d..d40f801 100644 --- a/source/po/tr.po +++ b/source/po/tr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libiconv 1.8\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" "PO-Revision-Date: 2002-06-28 11:00+0200\n" "Last-Translator: Deniz Akkus Kanca \n" "Language-Team: Turkish \n" @@ -46,6 +46,7 @@ msgstr "" #. The %s placeholder expands to the program name. #: src/iconv.c:122 #, fuzzy, c-format, no-wrap +#| msgid "or: iconv -l" msgid "or: %s -l\n" msgstr "veya: iconv -l" @@ -133,31 +134,36 @@ msgstr "" msgid " --version output version information and exit\n" msgstr "" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -#: src/iconv.c:196 -#, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Yazan: %s\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -165,7 +171,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -174,14 +180,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "" @@ -189,14 +195,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -206,7 +212,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -217,43 +223,44 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, fuzzy, c-format +#| msgid "iconv: %s: cannot convert\n" msgid "%s:%u:%u: cannot convert" msgstr "iconv: %s: dönüştürülemedi\n" @@ -261,70 +268,76 @@ msgstr "iconv: %s: dönüştürülemedi\n" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, fuzzy, c-format +#| msgid "iconv: %s: incomplete character or shift sequence\n" msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "iconv: %s: eksik karakter ya da shift dizisi\n" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, fuzzy, c-format +#| msgid "iconv: %s: I/O error\n" msgid "%s: I/O error" msgstr "iconv: %s: I/O hatası\n" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, fuzzy, c-format +#| msgid "iconv: conversion from %s unsupported\n" msgid "conversion from %s unsupported" msgstr "iconv: %s'den dönüşüm desteklenmiyor\n" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, fuzzy, c-format +#| msgid "iconv: conversion to %s unsupported\n" msgid "conversion to %s unsupported" msgstr "iconv: %s'e dönüşüm desteklenmiyor\n" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, fuzzy, c-format +#| msgid "iconv: conversion from %s to %s unsupported\n" msgid "conversion from %s to %s unsupported" msgstr "iconv: %s'den %s'e dönüşüm desteklenmiyor\n" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(standart girdi)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, fuzzy, c-format +#| msgid "iconv: I/O error\n" msgid "I/O error" msgstr "iconv: I/O hatası\n" diff --git a/source/po/uk.gmo b/source/po/uk.gmo index aef4b6f93b23d2d2a00066517ddb5bbd007feae5..bd2acaa31c316d64091d0bda8a32fb56b944d493 100644 GIT binary patch delta 1910 zcmZXTU2IfE7>2*nmg?H&rzlb>Fhz@0+O^%*pbH{Zn+7Nq5hVB%v)vx(+IAPuo>I7R zVT%X>D_SgK3Q-IuU>cBR?LyfFV`5Bf%$&p6g|v#_FEWB{&*&%i8v z4c>;U;MSQUo8SlVRrnj60oPQBtQAR08-p$uQgA(V;q$QO9+4gxhM&OiV93nx74gGy z$da6g3t$>H!D)zu`~#nW0K4akyalVOL?+<@Xv5X>NE%*%y|9IH55sY2)|Wj{u>L$8XFdUw z6AaeRFIaLLn!qy;isZ}&e7(tg_#JL%{{2HDkHMu23)XLht;}DBeeeh*7r6z8ppP<* zgDF@G&%u-E{QzUkt;P5sVek{an2euXBJwT#3~n<43Q?GYX2UvEC{D7_yp3tN7dCT$ z1Mo}e!0LxZj=>T55?q4+8)2fzZy+Yh>^l568Q0bo4r+xYD5Z4VmPR_Jc+Ff9kJ@`o zfx?oM!AI#7>@`&+Z_BH=p*S}%2jaM3uJBL5IbjK;i}?!lePvBQx*vI;we#7L7! zYakr$H&P^<{@HhWM#;+2J^pq6V6d?%*x1~nnuDR%(I5TW7d8&|t?ehVL|}*26Su>= z?D(5j#0kXho#_p;o-U~fHU*l4fu{74*^$cR=lYt?>q|PT^prd19@H6~)06HnOBWgC z-1n9Fs;}xP7A||A^U58*%U7Z@?ml-vA}27H;IDLEA%Qw;hukrJrJ+!f{z7L^Wo0Vq z9wmg?b$1_;X?`z~k+(GIX=L=IzK-;}-qGX}@)A;B-e2<}bw|w8;><~X4egveVv68< zR=H!Gp!4n_oh8Tr)^+z4bE?h#pk?9*ejCs+!5vOCwCK{VUdaoLkvL9yCrX*xiuqANT_Ib@gg!@ kV1^`9p3&^_R12=4YK|~vt2su2m<%Tjd#~-lqBqL_1 zMqNY*fdyVj%8DQ|B)Y1o?ZT_D0=p@Q3c89e`k$@32|Da~f9D+b?ws?SXAAq6_l&&F zF7>$Yp$jYQBwQtCYXQTlgAh(7%>LPtz&POMdYg&NFUXC$dZ(n8<4f<4*-5 zRoGIPOu3FO#^9jn8(kIFY};}G%&RV{qMVLZAaS#+;3#JIsq;o%$}!Dd!HfH!{o0ZEoPZOM(cpjxNhM*agBb}LhGaTDAhm()h;i|8V%w=|z`Flb>J)niWJp)>}zsc_lhJyB>9v<{~Pw}$X z9`J^ubr diff --git a/source/po/uk.po b/source/po/uk.po index 53773fc..23d3a96 100644 --- a/source/po/uk.po +++ b/source/po/uk.po @@ -3,23 +3,23 @@ # This file is distributed under the same license as the libiconv package. # # Volodymyr M. Lisivka , 2003. -# Yuri Chornoivan , 2011, 2016. +# Yuri Chornoivan , 2011, 2016, 2022. msgid "" msgstr "" -"Project-Id-Version: libiconv 1.15-pre1\n" +"Project-Id-Version: libiconv 1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2016-12-12 14:39+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-13 12:49+0200\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-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=4; plural=n==1 ? 3 : 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.5\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : 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 20.12.0\n" #. TRANSLATORS: The first line of the short usage message. #: src/iconv.c:104 @@ -145,34 +145,41 @@ msgstr " --help показати ці довідкові msgid " --version output version information and exit\n" msgstr " --version показати дані щодо версії і завершити роботу\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Про вади слід повідомляти на адресу .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" +"Про вади слід повідомляти за допомогою системи стеження за вадами: <%s>\n" +"або електронною поштою на адресу <%s>.\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"Умови ліцензування викладено у GPLv3+: GNU GPL версії 3 або новішій, \n" +"Умови ліцензування викладено у GPLv3+: GNU GPL версії 3 або новішій, <%s>\n" "Це вільне програмне забезпечення: ви можете вільно змінювати і поширювати його.\n" "Вам не надається ЖОДНИХ ГАРАНТІЙ, окрім гарантій передбачених законодавством.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Автор — %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -182,7 +189,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -193,7 +200,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" @@ -202,7 +209,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "Аргумент %s: завершення рядка посередині команди." @@ -210,7 +217,7 @@ msgstr "Аргумент %s: завершення рядка посередин #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" @@ -218,7 +225,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -230,7 +237,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -247,28 +254,28 @@ msgstr[3] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "не вдалося перетворити замінник байтів у символ Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "не вдалося перетворити замінник unicode у кодування призначення: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "не вдалося перетворити замінник байтів у «широкий» рядок: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "" @@ -277,14 +284,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "не вдалося перетворити замінник байтів у кодування призначення: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: не вдалося перетворити" @@ -293,7 +300,7 @@ msgstr "%s:%u:%u: не вдалося перетворити" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: незавершений символ чи послідовність зміни регістру" @@ -301,66 +308,69 @@ msgstr "%s:%u:%u: незавершений символ чи послідовн #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: помилка вводу-виводу" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "підтримки перетворення з %s не передбачено" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "підтримки перетворення у %s не передбачено" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "підтримки перетворення з %s у %s не передбачено" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "" "список кодувань, які підтримуються програмою, можна отримати командою «%s -l»" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(стд. ввід)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "помилка вводу-виводу" +#~ msgid "Report bugs to .\n" +#~ msgstr "Про вади слід повідомляти на адресу .\n" + #~ msgid "" #~ "Usage: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]" #~ msgstr "" diff --git a/source/po/vi.gmo b/source/po/vi.gmo index d0a1a0a2fc508bf85831ac0763d68a3fbacabee1..090e29eb9d1708a6b06d3ce8f9f37e8e58ae797c 100644 GIT binary patch delta 1703 zcmYk*Uu;uV9Ki7(V`DnmCWve(;7<{B!pcS^#DddpkPVmv2}o4XbnRumVY{vE?O?u4 zLF1pOkrYBuqYOd}#2H8>n)U&cOJ+1g!vl$$U~+lT_@J+v7!tp~b|jqa+|M~@=bk^m z`|G>wF2p8&n_qiOD66T9sYhpt^y1vvJSeTT)&3%Ug8p7i<8kc4`Z|$O+=5TxH@FA? z#r3#rj>vXAf-m9?tii5&k*7r_q?^Vd1BY-6Ud4^L_zsaI#_=PZ#+dc*6lugykRdsT ztyshkyn-wtH*qc2HHgrZ^|$~x;aPkE+t^=f?-F^4fe3cuv$z2d;|ly1yYUaS8@0_9 zX+{SvYI$6TXE2J_(GEI~Q`-Cid>G%xr8tEa=_}aC{_-acTks!TgY``!Kkyl1xR-w2 z-6ESYfp6jz?!xH2YX2Rye)D|hpo7og_h|38+#~Wb=Fvib4Q>9Kgu_hM7~H09ySsPn=pNkp{3_)wKjo-%(04pvGfsBY z^?fI)L*wj!AX4aPc)#8CDszVN!|G?_iT#`^?pF`SF`4O%#@!KHio+IvY525e*1E#M z#?4J@*0gs-+dDe7^YK`;v+z^n--Vk^D+-sIx{BS+$@+;tH!PhQ*Gwuno2lGCGZbB^ zgyZ({-ry^5SQBCS1X!RlDK|Lh=}=fYZIMdF$2AwvSI=|#!{8Jr4^A>GEPd|jXjp!I zRQ<4gL6hm2y)@}*A}H!B`SA(<=V>l1PsR1}k+6Ks)v?N(!KAOL;G~z*5$3z<1;t3i z*8bq=V4wB|1?>q-r?zQ-@Y-O%_66^0Fa1?I7M4GDS;%GCyzWooVUPaw`LKLCVYi&j z=tw>+P5FGOv}Wq;-jPCU%d*1s!jpS?f=NE1Jx0Rv@yc1!9JqYKqMz1eaM7LlPgwq} tdfikyEPb8OVXojZYx;b3`?vUD4B4ehmpq$V2wQ%v&5<3&i>=pc{s&t2U{U}8 delta 1299 zcmaLWU2F_d6u|ML))u9$YV}K*eyESyUAtAQtEx&g>O1j~Xr*b_>Mq-zW=$(ztVl$H zh?s5s{D%9neyYf2yow=>r-{r&3wb0bun5oKGQ5Edl~-7Y zEGcBVW854lbc*Rc?jc^pfwtmtWK;4C zwb;gSGaAKCW_oZN@m-B?@7cFFjkrsqXg)4SD& z6mfc>7F4!App`ku0@Q-ijA%jW7sUF~jSb3D`g|w+>&jZhpz}dVxu#oFrA=2x4GHxj z3+Y-k74${)8oGz>qLU`v$%v#38jxp48!B;I%?V1 zT=}ERUDa-TM^?UFlyzjTWf~1#echh!M4u-f>xzZVM1K>3*GzVg-p{(4F{#dO%ifsn zU*YiwJpNi^Suhj`+9TPY?Z-Jy_FztRSxY1lNp@OhGGw$^$~qCW-H!(*#vUX_+e=<$`~)yayFvf} diff --git a/source/po/vi.po b/source/po/vi.po index 012885d..8333749 100644 --- a/source/po/vi.po +++ b/source/po/vi.po @@ -3,28 +3,27 @@ # Copyright © 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the libiconv package. # Clytie Siddall , 2005-2007. -# Trần Ngọc Quân , 2016. +# Trần Ngọc Quân , 2016, 2022. # msgid "" msgstr "" -"Project-Id-Version: libiconv 1.15-pre1\n" +"Project-Id-Version: libiconv 1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2016-12-13 07:27+0700\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-03-01 14:31+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-Transfer-Encoding: 8bit\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Gtranslator 2.91.7\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" #. TRANSLATORS: The first line of the short usage message. #: src/iconv.c:104 msgid "Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]" -msgstr "Cách dùng: iconv [-c] [-s] [-f từ_mã] [-t đến_mã] [tập_tin …]" +msgstr "Cách dùng: iconv [-c] [-s] [-f từ_mã] [-t sang_mã] [tập_tin …]" #. TRANSLATORS: The second line of the short usage message. #. Align it correctly against the first line. @@ -144,36 +143,41 @@ msgstr " --help hiển thị trợ giúp này rồi thoát msgid " --version output version information and exit\n" msgstr " --version hiển thị thông tin về phiên bản rồi thoát\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"Thông báo lỗi cho .\n" -"Thông báo lỗi dịch cho: .\n" +"Báo cáo lỗi vào bộ theo dõi lỗi ở <%s>\n" +"hoặc gửi thư điện tử đến <%s>.\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"Giấy phép GPL pb3+ : Giấy phép Công cộng GNU phiên bản 3 hay sau \n" +"Giấy phép GPL pb3+ : Giấy phép Công cộng GNU phiên bản 3 hay sau <%s>\n" "Đây là phần mềm tự do: bạn có quyền sửa đổi và phát hành lại nó.\n" "KHÔNG CÓ BẢO HÀNH GÌ CẢ, với điều khiển được pháp luật cho phép.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Viết bởi %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -181,7 +185,7 @@ msgstr "Đối số %s: ở đây không cho phép chỉ thị định dạng c #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -191,14 +195,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "Đối số %s: ở đây không cho phép chỉ thị định dạng có kích cỡ." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "Đối số %s: chuỗi kết thúc ở giữa chỉ thị." @@ -206,14 +210,14 @@ msgstr "Đối số %s: chuỗi kết thúc ở giữa chỉ thị." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "Đối số %s: ký tự “%c” không phải là bộ xác định chuyển đổi hợp lệ." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -225,7 +229,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -235,42 +239,42 @@ msgstr[0] "%s đối số : chuỗi định dạng ăn nhiều đối số : %u #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "không thể chuyển đổi sự thay thế byte sang Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "không thể chuyển đổi sự thay thế Unicode sang bảng mã đích: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "không thể chuyển đổi sự thay thế byte sang chuỗi rộng: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "không thể chuyển đổi sự thay thế ký tự rộng sang bảng mã đích: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "không thể chuyển đổi sự thay thế byte sang bảng mã đích: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: không thể chuyển đổi" @@ -279,7 +283,7 @@ msgstr "%s:%u:%u: không thể chuyển đổi" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: dây kiểu ký tự hay dịch chưa hoàn thành" @@ -288,48 +292,48 @@ msgstr "%s:%u:%u: dây kiểu ký tự hay dịch chưa hoàn thành" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: lỗi V/R" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "không hỗ trợ khả năng chuyển đổi từ %s" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "không hỗ trợ khả năng chuyển đổi sang %s" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "không hỗ trợ khả năng chuyển đổi từ %s sang %s" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "hãy thử lệnh “%s -l” để xem danh sách các bảng mã được hỗ trợ" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(đầu vào tiêu chuẩn)" @@ -337,17 +341,22 @@ msgstr "(đầu vào tiêu chuẩn)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "Lỗi V/R" +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "Thông báo lỗi cho .\n" +#~ "Thông báo lỗi dịch cho: .\n" + #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" diff --git a/source/po/wa.gmo b/source/po/wa.gmo index e28c1e18b2b86e00408b8dd0001da38d7d46c1ef..c4bc26d32a35ebe5d6111160de81ec3b3220b6b8 100644 GIT binary patch delta 759 zcmY+=Ur1AN6u|Lww<2Ae?O$8jzbjdqa&udaHIrjd!WjBe(rZyYMnS#w;6o2R^}SAlE*C!M{5YK7Ilqt5O7yu?DQ*>! z#}1JMzQx_>SShj!4`3ViV+^n34t#^{xPVr@<`ii}12^IwT#wJth4X0j`-BnvfisH8 zI+qmXGzXvSM7nSnRkv{*k7BJ`@{MUf{26aH$$Bde<$+`}5qr?CZJp|$CEHvN`Og?};_;kqy>?ZGATdli=`^n#Udc!X`6mZ&O-IckS*KjeYr1wP{O1)wGnJ&NZp$ zvUznlo7Yt%LpYoqF|wJ`yyK#6c~r~gb#t$)%M*@k;gA-Iso|aN;dpB(Y~FYE);4Fd zBPk;@w9WkOdg<)Ro=>KYF@9#Xlzs#e_?fNNB88+iDPv6$w-X#h5fP9HhCDw9yKZ zNz^)(ABdZXbrUT{5p^ksqKmjW2rjxP(m9*>y{3bc;lk&=AMf|>y<3TYi7$6)^^k}> z>J%BnPk0!&ZRL+C9K?$_g!k|uHgOnR=+wu$MD}ADcca3c_yTqOj84CA7{fJuuZbAC z)a5bXb%v?3G!(?gYPzU)BP0rBs!Zv#1r@(ofi!Bi?D;_kt3N$ zr%tI~u9Qh2G+O^L(fVk6Hu8Vrk_1(@V^A|2iyfZL2hxQZyE1F!=89Eg);2~6%wl=Y zELk~g$}ZPNNy2uec(k$FS#zmTJ=qf(G9w8ymN266;dmqziK+YgS$D}Q&s{gKWz~xA zQ!V|eo*K{Q3MC^Njz+?<#`Esmnr1f=9=A)4^}bOVZ(2=wOX{t6pPKguRLZ9}G~c3Y zi(Q#+KAE!YvijriQ?LAY4<&2%eDm22qg1FGmF$ddRc5P3-fGXB{m;niYG6dmG#&?b Gb^HZ$G>hQ? diff --git a/source/po/wa.po b/source/po/wa.po index 31aa4ae..3b6e55d 100644 --- a/source/po/wa.po +++ b/source/po/wa.po @@ -1,20 +1,22 @@ -# Translation of tuxpaint into the walloon language. +# Translation of libiconv into the walloon language. # Copyright (C) 2003 Free Software Foundation, Inc. -# Pablo Saratxaga , 2003, 2004, 2007. +# This file is distributed under the same license as the libiconv package. +# +# Pablo Saratxaga , 2003, 2004, 2007, 2019. msgid "" msgstr "" -"Project-Id-Version: libiconv 1.11\n" +"Project-Id-Version: libiconv 1.15-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2007-08-28 15:50+0200\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2019-10-27 14:19+0100\n" "Last-Translator: Pablo Saratxaga \n" -"Language-Team: Walloon \n" +"Language-Team: Walloon <(nothing)>\n" "Language: wa\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: KBabel 1.10.2\n" +"X-Generator: Lokalize 2.0\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" #. TRANSLATORS: The first line of the short usage message. @@ -30,7 +32,7 @@ msgid "or: iconv -l" msgstr "oudonbén: iconv -l" #: src/iconv.c:110 -#, fuzzy, c-format +#, c-format msgid "Try '%s --help' for more information.\n" msgstr "Sayîz «%s --help» po pus di racsegnes.\n" @@ -39,7 +41,7 @@ msgstr "Sayîz «%s --help» po pus di racsegnes.\n" #: src/iconv.c:115 #, c-format, no-wrap msgid "Usage: %s [OPTION...] [-f ENCODING] [-t ENCODING] [INPUTFILE...]\n" -msgstr "Po s' è siervi: %s [TCHUZE...] [-f ECÔDAEDJE] [FITCHÎ_INTRÊYE...]\n" +msgstr "Po s' è siervi: %s [TCHUZE...] [-f ECÔDAEDJE] [FITCHÎ-INTRÊYE...]\n" #. TRANSLATORS: The second line of the long usage message. #. Align it correctly against the first line. @@ -119,12 +121,12 @@ msgstr "Tchuzes po controler li rexhowe d' arokes:\n" #: src/iconv.c:165 #, c-format, no-wrap msgid " -s, --silent suppress error messages about conversion problems\n" -msgstr " -s, --silent èn nén håyner les messaedjes d' aroke so les probinmes di cviersaedje\n" +msgstr " -s, --silent èn nén håyner les messaedjes d' aroke so les problinmes di cviersaedje\n" #: src/iconv.c:169 #, c-format, no-wrap msgid "Informative output:\n" -msgstr "Rexhowe d' informåcion:\n" +msgstr "Rexhowe d' infôrmåcion:\n" #: src/iconv.c:172 #, c-format, no-wrap @@ -139,43 +141,55 @@ msgstr " --help mostere ci messaedje d' aidance chal.\n" #: src/iconv.c:178 #, c-format, no-wrap msgid " --version output version information and exit\n" -msgstr " --version mostere des informåcions sol modêye do programe\n" +msgstr " --version mostere des infôrmåcions sol modêye do programe\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" -msgstr "Evoyîz les rapoirts di bugs a .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" +msgstr "" -#: src/iconv.c:196 -#, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, fuzzy, c-format, no-wrap +#| msgid "" +#| "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" msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" +"Licince GPLv3+ : Licince Publike GNU modêye 3 ou pus hôte \n" +"Çouchal est on libe programe: vos estoz libe del candjî eyet del cossemer.\n" +"I n' a NOLE WAERANTEYE, ossu lon k' est permis påzès lwès.\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "Sicrît pa %s.\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." msgstr "" -"årgumint «%s»: Ene directive di format avou ene lårdjeu variåve ni s' pout " -"nén eployî chal." +"årgumint «%s»: Ene directive di format avou ene lårdjeur variåve ni s' pout " +"nén eployî cial." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -186,16 +200,16 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "" -"årgumint «%s»: Ene directive di format avou ene grandeu ni s' pout nén " +"årgumint «%s»: Ene directive di format avou ene grandeur ni s' pout nén " "eployî chal." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "årgumint «%s»: Li tchinne finixh e plin mitan d' ene directive." @@ -203,7 +217,7 @@ msgstr "årgumint «%s»: Li tchinne finixh e plin mitan d' ene directive." #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "" @@ -212,7 +226,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -224,7 +238,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -237,14 +251,14 @@ msgstr[1] "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "dji n' sai cvierser des replaeçaedjes d' octets viè unicôde: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "" @@ -252,7 +266,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "" @@ -260,14 +274,14 @@ msgstr "" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "dji n' sai cvierser des replaeçaedjes wchar viè l' ecôdaedje såme: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "" @@ -275,7 +289,7 @@ msgstr "" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: dji n' sai fé l' kiviersaedje" @@ -284,7 +298,7 @@ msgstr "%s:%u:%u: dji n' sai fé l' kiviersaedje" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s: %u:%u: caractere ou secwince di candjmint nén complete" @@ -292,66 +306,68 @@ msgstr "%s: %u:%u: caractere ou secwince di candjmint nén complete" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: aroke d' intrêye/rexhowe" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "li cviersaedje a pårti d' l' ecôdaedje %s n' est nén sopoirté" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "li cviersaedje viè l' ecôdaedje %s n' est nén sopoirté" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "li cviersaedje di l' ecôdaedje %s viè %s n' est nén sopoirté" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "sayîz «%s -l» po-z aveur li djivêye des ecôdaedjes sopoirtés" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(intrêye sitandård)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "Aroke d' I/R" -#, c-format +#~ msgid "Report bugs to .\n" +#~ msgstr "Evoyîz les rapoirts di bugs a .\n" + #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" diff --git a/source/po/zh_CN.gmo b/source/po/zh_CN.gmo index 9ef6a738481c7f19088601c826ecf5f03389730a..cc4c93606019d97a1cfa9ba970931f6c5a04ff07 100644 GIT binary patch delta 1650 zcmZY8TTEO<7{Kx2R&-m6AZW3-X>GOGE_Z@btfktJl9g7{hIr}20*A7(?3&#}FY#fy z-zoxGpb@E!Nij%(#jMh$E7BKz>WfWk;)5pEJ-dg*TYS+MqyO1M6OEId^P8DHXXZQK z%o!>)OZ?wwr%nh;A$13JJV}TbaZ3sp%C=OipNG%UKZ_o`ipMZLO^7zE#TPJ)Z{VMJ z7|(1H;uMbI>v$iN@kqK5M}_c6-5iG;a+1Az_#h2;#pi2E+d=~GaUq!g}Q7h6~R1fxH z4My;JOd)TFuo@pnH>%Y4;bS<01^5vXv$%(47)7QKdAZiO9fS0%a3}thOa4{E#w<_b z0h~bxstJF`W4MP^Phd0ha$*tfcpHoHmklKcL1m^MD{vT9s=wUuKC-s>8&#mWdE}og zihX%j>dTSL3w8L_xLSl55=CthhdObXRB)>B5s0U$+f|1m6IWgc_fS>V9uyV0TAWw~ z9|4C?h-|h0s;GnZ@1nAy3P&OlDQ8L$TO#cQpE$6PD1}_fw0MHLJ2CR#%YM3?-9$OS zRhg!y48-vZ>YSKBq~i zyIFd*W|vR*x*FScO}g{~rqH;PIqFWz{D$iK`s%vVuO5;-rMGHQyQFJwUB0Dx+g!S? zHOt1!tbef}P-GjnyWEL;8r#oF-Ro?6lc=1!6&PW1r`G0lomW#4Z0K9t2gyklflC=D zvPw$qMJ4v)QdwMFSyp5(Di7VwXh=#eD=4)EeoNUMa%5(v`3GXxy8oAm`22h{JQyDw zhz(2{qwmHe3#vUmZ><_zxM8jaqmkuk_?Fo}7a#w`>i+uqRIF>(7zrA|6{C0A`YXD& z7#m+PR+iWMhhvjV#>kiv?*6f(%Vtc^#zGTzjWZ(cXUbMa6l z9=W~|EN?I}w%*YhAOFl)7+vpLByeM3DeZpG3C&VF*d}M@x_kl dY9Jb3h)woCc<^e9`QdEfhn(%9%-pw={{g*9bRYl# delta 1187 zcmY+@Pe{{Y7{KvoI<1_!sq7(_vQEJeV_MP!aGqn_94$Y zEi^Y#M%=WB9Kye8TxdVjMY`}8wqTQ0B!nUC#E*CpT^S{dg9Oa1u4;b6AKEQS0Un z=HNQ&do1Lct{gy}@5ORFv*9RKGM;vl|9(2pn9vtF3sObZg*}XKAd8hnH1QL9(81T$ zPSgy9Q8N`oP4Vi6R#wd;Qh~Yj|78b5gWwM(6?*58O)saIY+B5k#eD=NB&CEHhH3h*hNH!fqPWjmnHfE8b4H78 zqh;Zc(dHisn1SID^Fq)cJQo_i(!szTx)g}Nu+5}dnxX?aJ-MD{v%bajHX0sZtGB_d zZ;U_A>9eGJ+@84IQI`?@Uf{2qiWqIxmk%3XC+1fo6N#6xFAGoBZr@47VxO;%XC-1! cSEeG-YY>W=ug!fR>&0CdQcA^-pY diff --git a/source/po/zh_CN.po b/source/po/zh_CN.po index 910bc26..73a491e 100644 --- a/source/po/zh_CN.po +++ b/source/po/zh_CN.po @@ -3,13 +3,13 @@ # This file is distributed under the same license as the libiconv package. # Wang Jian , 2003 # Ji ZhengYu , 2008 -# Boyuan Yang <073plan@gmail.com>, 2018 +# Boyuan Yang <073plan@gmail.com>, 2018, 2022 msgid "" msgstr "" -"Project-Id-Version: libiconv 1.15-pre1\n" +"Project-Id-Version: libiconv 1.17-pre1\n" "Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n" -"POT-Creation-Date: 2019-04-26 21:02+0200\n" -"PO-Revision-Date: 2018-09-24 17:23-0400\n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-13 11:40-0500\n" "Last-Translator: Boyuan Yang <073plan@gmail.com>\n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" @@ -18,7 +18,7 @@ msgstr "" "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 2.1.1\n" +"X-Generator: Poedit 2.4.3\n" #. TRANSLATORS: The first line of the short usage message. #: src/iconv.c:104 @@ -143,36 +143,42 @@ msgstr " --help 显示此帮助并退出\n" msgid " --version output version information and exit\n" msgstr " --version 显示版本信息并退出\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"请向 <%s> 报告软件错误。\n" -"请向 报告翻译错误。\n" +"请将软件错误提交至 bug 跟踪系统 <%s>\n" +"或发送电子邮件到 <%s>。\n" +"请将翻译错误报告至简体中文邮件列表 。\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"GPLv3+ 许可证:GNU GPL 版本 3 或更高版本 \n" -"此软件为自由软件: 您可对其自由修改并重新发布。\n" -"在法律所允许的范围内,没有任何担保。\n" +"授权 GPLv3+: GNU GPL 第三版或后续版本 <%s>\n" +"此软件为自由软件:您可对其自由修改并重新发布。\n" +"在法律所允许的范围内不做任何担保。\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "由 %s 编写。\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -180,7 +186,7 @@ msgstr "%s 参数: 此处不允许用可变长度的命令格式。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -189,14 +195,14 @@ msgstr "%s 参数: 此处不允许用可变精度的命令格式。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "%s 参数: 此处不允许用含大小的命令格式。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "%s 参数: 字符串在命令中部终止。" @@ -204,14 +210,14 @@ msgstr "%s 参数: 字符串在命令中部终止。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "%s 参数: 字符‘%c’不是有效的转义符。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -221,7 +227,7 @@ msgstr "%s 参数: 用于终止命令格式的字符不是有效的转义符。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -231,42 +237,42 @@ msgstr[0] "%s 参数: 格式字符串需要更多的参数: %u 参数。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "无法将欲替换字节转换成 Unicode: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "无法将欲替换 unicode 字元转换成目标编码: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "无法将欲替换字节转换成宽字符串: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "无法将欲替换的宽字符转换成目标编码: %s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "无法将欲替换字节转换成目标编码: %s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u: 无法转换" @@ -275,7 +281,7 @@ msgstr "%s:%u:%u: 无法转换" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u: 不完整的字符或者替换序列" @@ -283,61 +289,66 @@ msgstr "%s:%u:%u: 不完整的字符或者替换序列" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s: 输入/输出错误" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "不支持从 %s 进行转换" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "不支持转换到 %s" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "不支持从 %s 转换到 %s" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "尝试用‘%s -l’获取所支持的编码列表" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(标准输入)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "输入/输出错误" + +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "请向 <%s> 报告软件错误。\n" +#~ "请向 报告翻译错误。\n" diff --git a/source/po/zh_TW.gmo b/source/po/zh_TW.gmo index f8840801de03684d550f5dc682c1226ce95d8dd2..e63f4a938f0b569dc1460cb6470bbe8f86ee2e03 100644 GIT binary patch delta 1626 zcmZY8ZBSHI7{KvI1hGXhO%zP+^df}Hx-Py{?0jj?>WzX z?%7N0N1bgyEKVI1Vm)mIZD5Yb)3{(RUqnu7Vw{UlFg}Q0d<#o4Jx!z$D{u!+;Y;{C zZpD4`M5^%(d=Y=b6x^OJ@{~xMl+dYSq5~`NTYLsr%onLc7Y^Z9SggnQiDcpkG9{NW z2Sezw_&O@yv&#U;2CFW~_!V1G%?5P5_NJ8r<|a2s}F9)6A`7)AX=1q(zL zqJg?b3@(aT&ggy7bqQ<1bKG;yWZ~$;eKuvmDt&c4IEqpf3F@_z>nTrT)58 zwp8SCJcPUO6x#6??!fu%s^_0YiX^9T9iB(M@z=@mz2tZe2SU#uKwav-q@&2*@+Inu z-_D`_R8#ISu@?VCDlhu*>-j<&ImAQXz@d&GCY_uP{sfXwdr%Ju75^6DY{|nko#a2k zTZwN@j>4aS!$)=4KOXv^{W~5_4)oLNl5(cvCDdgn$M}JTc<3jk^0J(!tNGtp%>-vR z9=gi<4CvtP%1ZrL(Wi4IO}}GZ1s%F*rTR_3J>bl03Eaub3k0*a z=e|%_Zg>oz%k=t+RkfGLFjbM=Vc!tSUw9;~ttS%f`(N3j!C-i*H`?11>3P$-aUy!{ zgzk?76FJVdpNYIZ5j%c4IxrcVJ~#W}z^|VTMLNc;QxoCoi^=&beUaf$tkWl~SNkKu z3z5P1tf@}xO6Sk*9X4xZED{>DZoC%hZO^y5kHy9&qeETMi7soT-|8L>PxV{JhQia+ z;p>Buz(9EB9c~JoT+&cJG8Q{N9y|AOZ036G>igE2v3Nep8a`{CpG^E@BjZ?mH~Co; dU9-c}*7)n;nG50RPpzJh;#ad)Xn%Hf%HOyqSSbJi delta 1281 zcmZ|OT}YEr7{KwzHLd)b<(gWVYn5g8u5EtX*ZP_%Q3g?vLd*|zw6?OT8N{NSAPuCK zy6_?jtS|}_sS6W|E`_3?=%$aWD6cB0i=vDE&o;a$I_&KCK8N>x&pFR|-rK&hjq&%3 ztyhHRrZ1-trHO38-xmI8U+0PJ#BW%KRaTKGMsWvzz~ksj7uklx*orT36B-#J%^1QK zoI-uIW4?%ABrZi<>|@{vHsKiV!tdCDbqhpB@EX=@yigIO3SvoXKex$xm?d`bEbV*_y+v*}Ts#BLl<#f5ny?Zk&rC!9jf z;18_CU5i8lIDmWc32Mr77AKD|5B2DpFs^5Ii3@%38SX|)e)5JrxSn_r3-BRo%Acp= zH>jETg1J~ie)T&9L>IAELeB_cU#JUlgO+uZ{HQlwgRdhW9ZCcEfK;kGh3(M%@bQ(t6K+L>hwNF-BOEb&^ zS$4B9tABYc>fGGc+hue`dW~?XEz};3^!W+g(Vni!>8xv(v?{YDx6$y{8lGyyTkZ7L z)O%~oJ+&TB=HB3`m~pTt7&#RV#-cs-&J)2%T}7qWXTHh}m`+=tIc4*kS8b&Q4V{tB zp5#5v(aw%g%;|G`+_jVWdB@Vtb&l?%_b<#2jeou~I(u&9\n" -"Language-Team: Chinese (traditional) \n" +"POT-Creation-Date: 2022-02-12 13:29+0100\n" +"PO-Revision-Date: 2022-02-16 00:25+0800\n" +"Last-Translator: Yi-Jyun Pan \n" +"Language-Team: Chinese (traditional) \n" "Language: zh_TW\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 2.0.8\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.0.1\n" #. TRANSLATORS: The first line of the short usage message. #: src/iconv.c:104 @@ -143,36 +143,41 @@ msgstr " --help 顯示這份說明然後離開\n" msgid " --version output version information and exit\n" msgstr " --version 輸出版本資訊然後離開\n" -#. TRANSLATORS: The placeholder indicates the bug-reporting address -#. for this package. Please add _another line_ saying +#. TRANSLATORS: The first placeholder is the web address of the Savannah +#. project of this package. The second placeholder is the bug-reporting +#. email 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). -#: src/iconv.c:185 -msgid "Report bugs to .\n" +#: src/iconv.c:186 +#, c-format +msgid "" +"Report bugs in the bug tracker at <%s>\n" +"or by email to <%s>.\n" msgstr "" -"將錯誤通報給 ,\n" -"翻譯錯誤通報給 ,\n" +"在臭蟲追蹤器 <%s> 回報臭蟲\n" +"或者是寄電子信件到 <%s>。\n" -#: src/iconv.c:196 -#, fuzzy, no-wrap +#. TRANSLATORS: The %s placeholder is the web address of the GPL license. +#: src/iconv.c:202 +#, c-format, no-wrap msgid "" -"License GPLv3+: GNU GPL version 3 or later \n" +"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" msgstr "" -"授權 GPLv3+: GNU GPL 第三版或後續版本 \n" +"授權 GPLv3+: GNU GPL 第三版或後續版本 <%s>\n" "這是自由軟體:您可以自由變更和再次散布它。\n" "在法律所允許的範圍內不做任何擔保。\n" #. TRANSLATORS: The %s placeholder expands to an author's name. -#: src/iconv.c:202 +#: src/iconv.c:208 #, c-format msgid "Written by %s.\n" msgstr "作者 %s。\n" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:296 +#: src/iconv.c:302 #, c-format msgid "" "%s argument: A format directive with a variable width is not allowed here." @@ -180,7 +185,7 @@ msgstr "%s 引數:這裡不允許具備可變寬度的格式指令。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:311 +#: src/iconv.c:317 #, c-format msgid "" "%s argument: A format directive with a variable precision is not allowed " @@ -189,14 +194,14 @@ msgstr "%s 引數:這裡不允許具備可變精確度的格式指令。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:327 +#: src/iconv.c:333 #, c-format msgid "%s argument: A format directive with a size is not allowed here." msgstr "%s 引數:這裡不允許具備大小的格式指令。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:369 +#: src/iconv.c:375 #, c-format msgid "%s argument: The string ends in the middle of a directive." msgstr "%s 引數:字串結束於指令中間。" @@ -204,14 +209,14 @@ msgstr "%s 引數:字串結束於指令中間。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %c placeholder expands to an unknown format directive. -#: src/iconv.c:376 +#: src/iconv.c:382 #, c-format msgid "%s argument: The character '%c' is not a valid conversion specifier." msgstr "%s 引數:字元 %c 並非有效的轉換符號。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. -#: src/iconv.c:382 +#: src/iconv.c:388 #, c-format msgid "" "%s argument: The character that terminates the format directive is not a " @@ -221,7 +226,7 @@ msgstr "%s 引數:終止格式指令的字元並非有效的轉換符號。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a command-line option. #. The %u placeholder expands to the number of arguments consumed by the format string. -#: src/iconv.c:398 +#: src/iconv.c:404 #, c-format msgid "" "%s argument: The format string consumes more than one argument: %u argument." @@ -231,42 +236,42 @@ msgstr[0] "%s 引數:格式字串耗用超過一個引數:%u 個引數。" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:456 +#: src/iconv.c:462 #, c-format msgid "cannot convert byte substitution to Unicode: %s" msgstr "無法轉換替代位元組到萬國碼:%s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --unicode-subst. -#: src/iconv.c:496 +#: src/iconv.c:502 #, c-format msgid "cannot convert unicode substitution to target encoding: %s" msgstr "無法轉換替代萬國碼到目標編碼:%s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:537 +#: src/iconv.c:543 #, c-format msgid "cannot convert byte substitution to wide string: %s" msgstr "無法轉換替代位元組到寬字串:%s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --widechar-subst. -#: src/iconv.c:578 +#: src/iconv.c:584 #, c-format msgid "cannot convert widechar substitution to target encoding: %s" msgstr "無法轉換替代寬字元到目標編碼:%s" #. TRANSLATORS: An error message. #. The %s placeholder expands to a piece of text, specified through --byte-subst. -#: src/iconv.c:619 +#: src/iconv.c:625 #, c-format msgid "cannot convert byte substitution to target encoding: %s" msgstr "無法轉換替代位元組到目標編碼:%s" #. TRANSLATORS: An error message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:638 +#: src/iconv.c:644 #, c-format msgid "%s:%u:%u: cannot convert" msgstr "%s:%u:%u:無法轉換" @@ -275,7 +280,7 @@ msgstr "%s:%u:%u:無法轉換" #. The placeholders expand to the input file name, a line number, and a column number. #. A "shift sequence" is a sequence of bytes that changes the state of the converter; #. this concept exists only for "stateful" encodings like ISO-2022-JP. -#: src/iconv.c:652 +#: src/iconv.c:658 #, c-format msgid "%s:%u:%u: incomplete character or shift sequence" msgstr "%s:%u:%u:不完整的字元或是換碼序列" @@ -283,61 +288,66 @@ msgstr "%s:%u:%u:不完整的字元或是換碼序列" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The placeholders expand to the input file name, a line number, and a column number. -#: src/iconv.c:665 +#: src/iconv.c:671 #, c-format msgid "%s:%u:%u" msgstr "%s:%u:%u" #. TRANSLATORS: An error message. #. The placeholder expands to the input file name. -#: src/iconv.c:826 +#: src/iconv.c:832 #, c-format msgid "%s: I/O error" msgstr "%s:輸入輸出錯誤" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --from-code. -#: src/iconv.c:1024 +#: src/iconv.c:1030 #, c-format msgid "conversion from %s unsupported" msgstr "不支援從 %s 進行轉換" #. TRANSLATORS: An error message. #. The placeholder expands to the encoding name, specified through --to-code. -#: src/iconv.c:1030 +#: src/iconv.c:1036 #, c-format msgid "conversion to %s unsupported" msgstr "不支援轉換到 %s" #. TRANSLATORS: An error message. #. The placeholders expand to the encoding names, specified through --from-code and --to-code, respectively. -#: src/iconv.c:1036 +#: src/iconv.c:1042 #, c-format msgid "conversion from %s to %s unsupported" msgstr "不支援從 %s 轉換到 %s" #. TRANSLATORS: Additional advice after an error message. #. The %s placeholder expands to the program name. -#: src/iconv.c:1041 +#: src/iconv.c:1047 #, c-format msgid "try '%s -l' to get the list of supported encodings" msgstr "嘗試 %s -l 以獲得支援的編碼清單" #. TRANSLATORS: A filename substitute denoting standard input. -#: src/iconv.c:1098 +#: src/iconv.c:1104 msgid "(stdin)" msgstr "(標準輸入)" #. TRANSLATORS: The first part of an error message. #. It is followed by a colon and a detail message. #. The %s placeholder expands to the input file name. -#: src/iconv.c:1110 +#: src/iconv.c:1116 #, c-format msgid "%s" msgstr "%s" #. TRANSLATORS: An error message. -#: src/iconv.c:1124 +#: src/iconv.c:1130 #, c-format msgid "I/O error" msgstr "輸入輸出錯誤" + +#~ msgid "Report bugs to .\n" +#~ msgstr "" +#~ "將錯誤通報給 ,\n" +#~ "翻譯錯誤通報給 ,\n" diff --git a/source/src/iconv.c b/source/src/iconv.c index 5b36652..e3932e5 100644 --- a/source/src/iconv.c +++ b/source/src/iconv.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2009, 2011-2012, 2016-2019 Free Software Foundation, Inc. +/* Copyright (C) 2000-2022 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. This program is free software: you can redistribute it and/or modify @@ -178,11 +178,16 @@ Informative output:\n")); printf(_("\ --version output version information and exit\n")); printf("\n"); - /* TRANSLATORS: The placeholder indicates the bug-reporting address - for this package. Please add _another line_ saying + /* TRANSLATORS: The first placeholder is the web address of the Savannah + project of this package. The second placeholder is the bug-reporting + email 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). */ - fputs(_("Report bugs to .\n"),stdout); + printf(_("\ +Report bugs in the bug tracker at <%s>\n\ +or by email to <%s>.\n"), + "https://savannah.gnu.org/projects/libiconv", + "bug-gnu-libiconv@gnu.org"); } exit(exitcode); } @@ -191,13 +196,14 @@ static void print_version (void) { printf("iconv (GNU libiconv %d.%d)\n", _libiconv_version >> 8, _libiconv_version & 0xff); - printf("Copyright (C) %s Free Software Foundation, Inc.\n", "2000-2019"); + printf("Copyright (C) %s Free Software Foundation, Inc.\n", "2000-2022"); /* xgettext: no-wrap */ - fputs (_("\ -License GPLv3+: GNU GPL version 3 or later \n\ + /* TRANSLATORS: The %s placeholder is the web address of the GPL license. */ + printf (_("\ +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\ -"),stdout); +There is NO WARRANTY, to the extent permitted by law.\n"), + "https://gnu.org/licenses/gpl.html"); /* TRANSLATORS: The %s placeholder expands to an author's name. */ printf(_("Written by %s.\n"),"Bruno Haible"); exit(EXIT_SUCCESS); diff --git a/source/srclib/Makefile.am b/source/srclib/Makefile.am index 96772e9..7cc3749 100644 --- a/source/srclib/Makefile.am +++ b/source/srclib/Makefile.am @@ -1,5 +1,5 @@ ## Makefile for the srclib subdirectory of GNU libiconv -## Copyright (C) 2003-2006, 2009, 2016 Free Software Foundation, Inc. +## Copyright (C) 2003-2006, 2009, 2016, 2019 Free Software Foundation, Inc. ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -25,5 +25,6 @@ MOSTLYCLEANDIRS = noinst_LIBRARIES = AM_CPPFLAGS = +AM_CFLAGS = include Makefile.gnulib diff --git a/source/srclib/Makefile.gnulib b/source/srclib/Makefile.gnulib index a3ff97e..4fda7d0 100644 --- a/source/srclib/Makefile.gnulib +++ b/source/srclib/Makefile.gnulib @@ -1,10 +1,10 @@ ## DO NOT EDIT! GENERATED AUTOMATICALLY! ## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2019 Free Software Foundation, Inc. +# Copyright (C) 2002-2022 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, @@ -38,12 +38,14 @@ # error \ # gettext \ # gettext-h \ +# lib-symbol-visibility \ # libiconv-misc \ # mbstate \ # progname \ # relocatable-prog \ # safe-read \ # sigpipe \ +# stdbool \ # stdio \ # stdlib \ # strerror \ @@ -59,6 +61,7 @@ MOSTLYCLEANFILES += core *.stackdump noinst_LIBRARIES += libicrt.a libicrt_a_SOURCES = +libicrt_a_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS) libicrt_a_LIBADD = $(gl_LIBOBJS) libicrt_a_DEPENDENCIES = $(gl_LIBOBJS) EXTRA_libicrt_a_SOURCES = @@ -68,7 +71,7 @@ EXTRA_libicrt_a_SOURCES = # 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__ || 60000000 <= __DECC_VER) +HAVE_INCLUDE_NEXT = (__GNUC__ || __clang__ || 60000000 <= __DECC_VER) ## end gnulib module absolute-header @@ -80,11 +83,10 @@ BUILT_SOURCES += $(ALLOCA_H) # 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! */'; \ - sed -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' < $(srcdir)/alloca.in.h; \ - } > $@-t && \ - mv -f $@-t $@ + $(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 $@ @@ -111,6 +113,14 @@ EXTRA_DIST += areadlink.h ## end gnulib module areadlink +## begin gnulib module basename-lgpl + +libicrt_a_SOURCES += basename-lgpl.c + +EXTRA_DIST += basename-lgpl.h + +## end gnulib module basename-lgpl + ## begin gnulib module binary-io libicrt_a_SOURCES += binary-io.h binary-io.c @@ -119,10 +129,9 @@ libicrt_a_SOURCES += binary-io.h binary-io.c ## begin gnulib module canonicalize-lgpl - -EXTRA_DIST += canonicalize-lgpl.c - -EXTRA_libicrt_a_SOURCES += canonicalize-lgpl.c +if GL_COND_OBJ_CANONICALIZE_LGPL +libicrt_a_SOURCES += canonicalize-lgpl.c +endif ## end gnulib module canonicalize-lgpl @@ -134,20 +143,36 @@ EXTRA_DIST += careadlinkat.h ## end gnulib module careadlinkat -## begin gnulib module dirname-lgpl +## begin gnulib module cloexec -libicrt_a_SOURCES += dirname-lgpl.c basename-lgpl.c stripslash.c +libicrt_a_SOURCES += cloexec.c -EXTRA_DIST += dirname.h +EXTRA_DIST += cloexec.h -## end gnulib module dirname-lgpl +## end gnulib module cloexec -## begin gnulib module dosname +## begin gnulib module close +if GL_COND_OBJ_CLOSE +libicrt_a_SOURCES += close.c +endif -EXTRA_DIST += dosname.h +## end gnulib module close -## end gnulib module dosname +## begin gnulib module dup2 + +if GL_COND_OBJ_DUP2 +libicrt_a_SOURCES += dup2.c +endif + +## end gnulib module dup2 + +## begin gnulib module eloop-threshold + + +EXTRA_DIST += eloop-threshold.h + +## end gnulib module eloop-threshold ## begin gnulib module errno @@ -157,9 +182,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' \ @@ -170,9 +194,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 $@ @@ -185,13 +208,22 @@ EXTRA_DIST += errno.in.h ## begin gnulib module error +if GL_COND_OBJ_ERROR +libicrt_a_SOURCES += error.c +endif -EXTRA_DIST += error.c error.h - -EXTRA_libicrt_a_SOURCES += error.c +EXTRA_DIST += error.h ## end gnulib module error +## begin gnulib module fcntl + +if GL_COND_OBJ_FCNTL +libicrt_a_SOURCES += fcntl.c +endif + +## end gnulib module fcntl + ## begin gnulib module fcntl-h BUILT_SOURCES += fcntl.h @@ -199,34 +231,44 @@ 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' \ + $(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_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/@''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 && \ - mv $@-t $@ + $(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 + +libicrt_a_SOURCES += fd-hook.c + +EXTRA_DIST += fd-hook.h + +## end gnulib module fd-hook + ## begin gnulib module filename @@ -234,6 +276,53 @@ EXTRA_DIST += filename.h ## end gnulib module filename +## begin gnulib module free-posix + +if GL_COND_OBJ_FREE +libicrt_a_SOURCES += free.c +endif + +## end gnulib module free-posix + +## begin gnulib module fstat + +if GL_COND_OBJ_FSTAT +libicrt_a_SOURCES += fstat.c +endif + +EXTRA_DIST += stat-w32.c stat-w32.h + +EXTRA_libicrt_a_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 getdtablesize + +if GL_COND_OBJ_GETDTABLESIZE +libicrt_a_SOURCES += getdtablesize.c +endif + +## end gnulib module getdtablesize + ## begin gnulib module getprogname libicrt_a_SOURCES += getprogname.h getprogname.c @@ -270,6 +359,12 @@ EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath ## end gnulib module havelib +## begin gnulib module idx + +libicrt_a_SOURCES += idx.h + +## end gnulib module idx + ## begin gnulib module intprops @@ -277,6 +372,64 @@ EXTRA_DIST += intprops.h ## end gnulib module intprops +## 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) + $(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_GNULIB_IMAXABS)/g' \ + -e 's/@''GNULIB_IMAXDIV''@/$(GL_GNULIB_IMAXDIV)/g' \ + -e 's/@''GNULIB_STRTOIMAX''@/$(GL_GNULIB_STRTOIMAX)/g' \ + -e 's/@''GNULIB_STRTOUMAX''@/$(GL_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_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 + +EXTRA_DIST += inttypes.in.h + +## end gnulib module inttypes-incomplete + +## 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 libc-config + + +EXTRA_DIST += cdefs.h libc-config.h + +## end gnulib module libc-config + ## begin gnulib module libiconv-misc # Parametrization of the 'relocatable' module. @@ -292,16 +445,14 @@ BUILT_SOURCES += $(LIMITS_H) # doesn't have one that is compatible with GNU. if GL_GENERATE_LIMITS_H limits.h: limits.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_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \ - < $(srcdir)/limits.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/limits.in.h > $@-t + $(AM_V_at)mv $@-t $@ else limits.h: $(top_builddir)/config.status rm -f $@ @@ -312,15 +463,6 @@ EXTRA_DIST += limits.in.h ## end gnulib module limits-h -## begin gnulib module lstat - - -EXTRA_DIST += lstat.c - -EXTRA_libicrt_a_SOURCES += lstat.c - -## end gnulib module lstat - ## begin gnulib module malloc-posix @@ -338,24 +480,48 @@ EXTRA_DIST += malloca.h ## end gnulib module malloca -## begin gnulib module msvc-inval +## begin gnulib module mempcpy + +if GL_COND_OBJ_MEMPCPY +libicrt_a_SOURCES += mempcpy.c +endif + +## end gnulib module mempcpy +## begin gnulib module minmax -EXTRA_DIST += msvc-inval.c msvc-inval.h +libicrt_a_SOURCES += minmax.h + +## end gnulib module minmax + +## begin gnulib module msvc-inval + +if GL_COND_OBJ_MSVC_INVAL +libicrt_a_SOURCES += msvc-inval.c +endif -EXTRA_libicrt_a_SOURCES += msvc-inval.c +EXTRA_DIST += msvc-inval.h ## end gnulib module msvc-inval ## begin gnulib module msvc-nothrow +if GL_COND_OBJ_MSVC_NOTHROW +libicrt_a_SOURCES += msvc-nothrow.c +endif -EXTRA_DIST += msvc-nothrow.c msvc-nothrow.h - -EXTRA_libicrt_a_SOURCES += msvc-nothrow.c +EXTRA_DIST += msvc-nothrow.h ## end gnulib module msvc-nothrow +## begin gnulib module open + +if GL_COND_OBJ_OPEN +libicrt_a_SOURCES += open.c +endif + +## end gnulib module open + ## begin gnulib module pathmax @@ -371,33 +537,52 @@ libicrt_a_SOURCES += progname.h progname.c ## begin gnulib module raise +if GL_COND_OBJ_RAISE +libicrt_a_SOURCES += raise.c +endif -EXTRA_DIST += raise.c +## end gnulib module raise -EXTRA_libicrt_a_SOURCES += raise.c +## begin gnulib module rawmemchr -## end gnulib module raise +if GL_COND_OBJ_RAWMEMCHR +libicrt_a_SOURCES += rawmemchr.c +endif -## begin gnulib module read +EXTRA_DIST += rawmemchr.valgrind +## end gnulib module rawmemchr -EXTRA_DIST += read.c +## begin gnulib module read -EXTRA_libicrt_a_SOURCES += read.c +if GL_COND_OBJ_READ +libicrt_a_SOURCES += read.c +endif ## end gnulib module read ## begin gnulib module readlink +if GL_COND_OBJ_READLINK +libicrt_a_SOURCES += readlink.c +endif -EXTRA_DIST += readlink.c +## end gnulib module readlink -EXTRA_libicrt_a_SOURCES += readlink.c +## begin gnulib module realloc-posix -## end gnulib module readlink + +EXTRA_DIST += realloc.c + +EXTRA_libicrt_a_SOURCES += realloc.c + +## end gnulib module realloc-posix ## begin gnulib module relocatable-prog +if GL_COND_OBJ_PROGRELOC +libicrt_a_SOURCES += progreloc.c +endif DEFS += -DEXEEXT=\"@EXEEXT@\" if RELOCATABLE_VIA_WRAPPER uninstall-hook: uninstall-relocwrapper @@ -415,9 +600,9 @@ endif ## Automake warns about conditionally added dependencies to unconditionally defined targets. .PHONY: uninstall-relocwrapper -EXTRA_DIST += progreloc.c relocatable.c relocatable.h +EXTRA_DIST += relocatable.c relocatable.h -EXTRA_libicrt_a_SOURCES += progreloc.c relocatable.c +EXTRA_libicrt_a_SOURCES += relocatable.c EXTRA_DIST += $(top_srcdir)/build-aux/config.libpath $(top_srcdir)/build-aux/reloc-ldflags $(top_srcdir)/build-aux/libtool-reloc @@ -426,7 +611,7 @@ EXTRA_DIST += $(top_srcdir)/build-aux/config.libpath $(top_srcdir)/build-aux/rel ## begin gnulib module relocatable-prog-wrapper -EXTRA_DIST += allocator.c allocator.h areadlink.c areadlink.h c-ctype.c c-ctype.h canonicalize-lgpl.c careadlinkat.c careadlinkat.h lstat.c malloca.c malloca.h progname.c progname.h progreloc.c readlink.c relocatable.c relocatable.h relocwrapper.c setenv.c stat.c +EXTRA_DIST += allocator.c allocator.h areadlink.c areadlink.h c-ctype.c c-ctype.h canonicalize-lgpl.c careadlinkat.c careadlinkat.h free.c malloc.c malloc/scratch_buffer.h malloc/scratch_buffer_dupfree.c malloc/scratch_buffer_grow.c malloc/scratch_buffer_grow_preserve.c malloc/scratch_buffer_set_array_size.c malloca.c malloca.h mempcpy.c progname.c progname.h progreloc.c rawmemchr.c readlink.c realloc.c relocatable.c relocatable.h relocwrapper.c scratch_buffer.h setenv.c stat.c EXTRA_DIST += $(top_srcdir)/build-aux/install-reloc @@ -440,6 +625,27 @@ EXTRA_DIST += safe-read.h sys-limits.h ## end gnulib module safe-read +## begin gnulib module scratch_buffer + +BUILT_SOURCES += malloc/scratch_buffer.gl.h + +malloc/scratch_buffer.gl.h: malloc/scratch_buffer.h + $(AM_V_GEN)$(MKDIR_P) '%reldir%/malloc' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|__always_inline|inline _GL_ATTRIBUTE_ALWAYS_INLINE|g' \ + -e 's|__glibc_likely|_GL_LIKELY|g' \ + -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ + -e '/libc_hidden_proto/d' \ + $(srcdir)/malloc/scratch_buffer.h > $@-t + $(AM_V_at)mv $@-t $@ +MOSTLYCLEANFILES += malloc/scratch_buffer.gl.h malloc/scratch_buffer.gl.h-t + +libicrt_a_SOURCES += malloc/scratch_buffer_dupfree.c malloc/scratch_buffer_grow.c malloc/scratch_buffer_grow_preserve.c malloc/scratch_buffer_set_array_size.c + +EXTRA_DIST += malloc/scratch_buffer.h scratch_buffer.h + +## end gnulib module scratch_buffer + ## begin gnulib module signal-h BUILT_SOURCES += signal.h @@ -447,18 +653,17 @@ BUILT_SOURCES += signal.h # We need the following in order to create when the system # doesn't have a complete one. signal.h: signal.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_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ - -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GNULIB_PTHREAD_SIGMASK)/g' \ - -e 's/@''GNULIB_RAISE''@/$(GNULIB_RAISE)/g' \ - -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ - -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ - -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ + -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GL_GNULIB_PTHREAD_SIGMASK)/g' \ + -e 's/@''GNULIB_RAISE''@/$(GL_GNULIB_RAISE)/g' \ + -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GL_GNULIB_SIGNAL_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_SIGPROCMASK''@/$(GL_GNULIB_SIGPROCMASK)/g' \ + -e 's/@''GNULIB_SIGACTION''@/$(GL_GNULIB_SIGACTION)/g' \ -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \ -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \ @@ -473,9 +678,8 @@ signal.h: signal.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)/signal.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/signal.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += signal.h signal.h-t EXTRA_DIST += signal.in.h @@ -493,10 +697,9 @@ EXTRA_libicrt_a_SOURCES += stdio-write.c ## begin gnulib module sigprocmask - -EXTRA_DIST += sigprocmask.c - -EXTRA_libicrt_a_SOURCES += sigprocmask.c +if GL_COND_OBJ_SIGPROCMASK +libicrt_a_SOURCES += sigprocmask.c +endif ## end gnulib module sigprocmask @@ -550,10 +753,13 @@ EXTRA_DIST += warn-on-use.h ## begin gnulib module stat +if GL_COND_OBJ_STAT +libicrt_a_SOURCES += stat.c +endif -EXTRA_DIST += stat-w32.c stat-w32.h stat.c +EXTRA_DIST += stat-w32.c stat-w32.h -EXTRA_libicrt_a_SOURCES += stat-w32.c stat.c +EXTRA_libicrt_a_SOURCES += stat-w32.c ## end gnulib module stat @@ -565,6 +771,26 @@ EXTRA_DIST += stat-time.h ## end gnulib module stat-time +## begin gnulib module stdalign + +BUILT_SOURCES += $(STDALIGN_H) + +# We need the following in order to create when the system +# doesn't have one that works. +if GL_GENERATE_STDALIGN_H +stdalign.h: stdalign.in.h $(top_builddir)/config.status + $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/stdalign.in.h + $(AM_V_at)mv $@-t $@ +else +stdalign.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stdalign.h stdalign.h-t + +EXTRA_DIST += stdalign.in.h + +## end gnulib module stdalign + ## begin gnulib module stdbool BUILT_SOURCES += $(STDBOOL_H) @@ -573,11 +799,10 @@ BUILT_SOURCES += $(STDBOOL_H) # 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 $@ + $(gl_V_at)$(SED_HEADER_STDOUT) \ + -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' \ + $(srcdir)/stdbool.in.h > $@-t + $(AM_V_at)mv $@-t $@ else stdbool.h: $(top_builddir)/config.status rm -f $@ @@ -596,9 +821,8 @@ 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' \ @@ -606,9 +830,8 @@ stddef.h: stddef.in.h $(top_builddir)/config.status -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 $@ @@ -627,9 +850,8 @@ 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|g' \ + $(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' \ @@ -641,8 +863,6 @@ stdint.h: stdint.in.h $(top_builddir)/config.status -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' \ @@ -657,10 +877,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' \ - -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/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 $@ @@ -678,68 +897,75 @@ 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' \ + $(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''@/$(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' \ + -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 | \ - sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ + 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' \ @@ -760,6 +986,7 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -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' \ @@ -790,11 +1017,18 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -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 $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += stdio.h stdio.h-t +if GL_COND_OBJ_STDIO_READ +libicrt_a_SOURCES += stdio-read.c +endif +if GL_COND_OBJ_STDIO_WRITE +libicrt_a_SOURCES += stdio-write.c +endif + EXTRA_DIST += stdio.in.h ## end gnulib module stdio @@ -807,52 +1041,68 @@ BUILT_SOURCES += stdlib.h # 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' \ + $(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''@/$(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_QSORT_R''@/$(GNULIB_QSORT_R)/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_REALLOCARRAY''@/$(GNULIB_REALLOCARRAY)/g' \ - -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ - -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ - -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ - -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ - -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ - -e 's/@''GNULIB_STRTOLD''@/$(GNULIB_STRTOLD)/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' \ + -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_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_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_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 | \ 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_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ @@ -864,6 +1114,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -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' \ @@ -879,39 +1130,52 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -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' \ - -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|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_INITSTATE''@|$(REPLACE_INITSTATE)|g' \ - -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|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_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ + -e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|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_RANDOM''@|$(REPLACE_RANDOM)|g' \ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ - -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|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)'; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += stdlib.h stdlib.h-t EXTRA_DIST += stdlib.in.h @@ -927,19 +1191,19 @@ EXTRA_DIST += streq.h ## begin gnulib module strerror - -EXTRA_DIST += strerror.c - -EXTRA_libicrt_a_SOURCES += strerror.c +if GL_COND_OBJ_STRERROR +libicrt_a_SOURCES += strerror.c +endif ## end gnulib module strerror ## begin gnulib module strerror-override +if GL_COND_OBJ_STRERROR_OVERRIDE +libicrt_a_SOURCES += strerror-override.c +endif -EXTRA_DIST += strerror-override.c strerror-override.h - -EXTRA_libicrt_a_SOURCES += strerror-override.c +EXTRA_DIST += strerror-override.h ## end gnulib module strerror-override @@ -950,57 +1214,61 @@ 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_EXPLICIT_BZERO''@/$(GNULIB_EXPLICIT_BZERO)/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' \ + -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_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 | \ 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' \ @@ -1016,10 +1284,15 @@ 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_FFSLL''@|$(REPLACE_FFSLL)|g' \ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ + -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ @@ -1031,14 +1304,14 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -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)' \ + > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += string.h string.h-t EXTRA_DIST += string.in.h @@ -1052,33 +1325,38 @@ 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' \ + $(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_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/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GNULIB_OVERRIDES_STRUCT_STAT)/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' \ @@ -1087,21 +1365,23 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|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 && \ - mv $@-t $@ + $(srcdir)/sys_stat.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t MOSTLYCLEANDIRS += sys @@ -1116,19 +1396,17 @@ 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' \ -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \ - < $(srcdir)/sys_types.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(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 @@ -1142,29 +1420,32 @@ 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' \ + $(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''@/$(GNULIB_CTIME)/g' \ - -e 's/@''GNULIB_LOCALTIME''@/$(GNULIB_LOCALTIME)/g' \ - -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \ - -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \ - -e 's/@''GNULIB_STRFTIME''@/$(GNULIB_STRFTIME)/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/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \ - -e 's/@''GNULIB_TZSET''@/$(GNULIB_TZSET)/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_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|@''HAVE_TZSET''@|$(HAVE_TZSET)|g' \ -e 's|@''REPLACE_CTIME''@|$(REPLACE_CTIME)|g' \ -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \ -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \ @@ -1178,12 +1459,12 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( -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 && \ - mv $@-t $@ + $(srcdir)/time.in.h > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += time.h time.h-t EXTRA_DIST += time.in.h @@ -1198,71 +1479,104 @@ libicrt_a_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_GETPASS''@/$(GNULIB_GETPASS)/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_TRUNCATE''@/$(GNULIB_TRUNCATE)/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' \ + -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' \ + -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' \ < $(srcdir)/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ - -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|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' \ @@ -1270,6 +1584,7 @@ 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_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ @@ -1291,6 +1606,7 @@ 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' \ @@ -1304,10 +1620,19 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -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' \ + 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_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_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ @@ -1318,6 +1643,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -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' \ @@ -1338,13 +1664,14 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -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)' \ + > $@-t + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += unistd.h unistd.h-t EXTRA_DIST += unistd.in.h @@ -1356,11 +1683,8 @@ EXTRA_DIST += unistd.in.h 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 @@ -1372,11 +1696,8 @@ EXTRA_DIST += unitypes.in.h BUILT_SOURCES += $(LIBUNISTRING_UNIWIDTH_H) uniwidth.h: uniwidth.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/uniwidth.in.h; \ - } > $@-t && \ - mv -f $@-t $@ + $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/uniwidth.in.h + $(AM_V_at)mv $@-t $@ MOSTLYCLEANFILES += uniwidth.h uniwidth.h-t EXTRA_DIST += localcharset.h uniwidth.in.h @@ -1389,16 +1710,16 @@ if LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH libicrt_a_SOURCES += uniwidth/width.c endif -EXTRA_DIST += uniwidth/cjk.h +EXTRA_DIST += unictype/bitmap.h uniwidth/cjk.h uniwidth/width0.h uniwidth/width2.h ## end gnulib module uniwidth/width -## begin gnulib module unlocked-io +## begin gnulib module unlocked-io-internal EXTRA_DIST += unlocked-io.h -## end gnulib module unlocked-io +## end gnulib module unlocked-io-internal ## begin gnulib module verify @@ -1407,6 +1728,138 @@ EXTRA_DIST += verify.h ## end gnulib module verify +## 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|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_GNULIB_BTOWC)/g' \ + -e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \ + -e 's/@''GNULIB_MBSINIT''@/$(GL_GNULIB_MBSINIT)/g' \ + -e 's/@''GNULIB_MBRTOWC''@/$(GL_GNULIB_MBRTOWC)/g' \ + -e 's/@''GNULIB_MBRLEN''@/$(GL_GNULIB_MBRLEN)/g' \ + -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \ + -e 's/@''GNULIB_MBSNRTOWCS''@/$(GL_GNULIB_MBSNRTOWCS)/g' \ + -e 's/@''GNULIB_WCRTOMB''@/$(GL_GNULIB_WCRTOMB)/g' \ + -e 's/@''GNULIB_WCSRTOMBS''@/$(GL_GNULIB_WCSRTOMBS)/g' \ + -e 's/@''GNULIB_WCSNRTOMBS''@/$(GL_GNULIB_WCSNRTOMBS)/g' \ + -e 's/@''GNULIB_WCWIDTH''@/$(GL_GNULIB_WCWIDTH)/g' \ + -e 's/@''GNULIB_WMEMCHR''@/$(GL_GNULIB_WMEMCHR)/g' \ + -e 's/@''GNULIB_WMEMCMP''@/$(GL_GNULIB_WMEMCMP)/g' \ + -e 's/@''GNULIB_WMEMCPY''@/$(GL_GNULIB_WMEMCPY)/g' \ + -e 's/@''GNULIB_WMEMMOVE''@/$(GL_GNULIB_WMEMMOVE)/g' \ + -e 's/@''GNULIB_WMEMPCPY''@/$(GL_GNULIB_WMEMPCPY)/g' \ + -e 's/@''GNULIB_WMEMSET''@/$(GL_GNULIB_WMEMSET)/g' \ + -e 's/@''GNULIB_WCSLEN''@/$(GL_GNULIB_WCSLEN)/g' \ + -e 's/@''GNULIB_WCSNLEN''@/$(GL_GNULIB_WCSNLEN)/g' \ + -e 's/@''GNULIB_WCSCPY''@/$(GL_GNULIB_WCSCPY)/g' \ + -e 's/@''GNULIB_WCPCPY''@/$(GL_GNULIB_WCPCPY)/g' \ + -e 's/@''GNULIB_WCSNCPY''@/$(GL_GNULIB_WCSNCPY)/g' \ + -e 's/@''GNULIB_WCPNCPY''@/$(GL_GNULIB_WCPNCPY)/g' \ + -e 's/@''GNULIB_WCSCAT''@/$(GL_GNULIB_WCSCAT)/g' \ + -e 's/@''GNULIB_WCSNCAT''@/$(GL_GNULIB_WCSNCAT)/g' \ + -e 's/@''GNULIB_WCSCMP''@/$(GL_GNULIB_WCSCMP)/g' \ + -e 's/@''GNULIB_WCSNCMP''@/$(GL_GNULIB_WCSNCMP)/g' \ + -e 's/@''GNULIB_WCSCASECMP''@/$(GL_GNULIB_WCSCASECMP)/g' \ + -e 's/@''GNULIB_WCSNCASECMP''@/$(GL_GNULIB_WCSNCASECMP)/g' \ + -e 's/@''GNULIB_WCSCOLL''@/$(GL_GNULIB_WCSCOLL)/g' \ + -e 's/@''GNULIB_WCSXFRM''@/$(GL_GNULIB_WCSXFRM)/g' \ + -e 's/@''GNULIB_WCSDUP''@/$(GL_GNULIB_WCSDUP)/g' \ + -e 's/@''GNULIB_WCSCHR''@/$(GL_GNULIB_WCSCHR)/g' \ + -e 's/@''GNULIB_WCSRCHR''@/$(GL_GNULIB_WCSRCHR)/g' \ + -e 's/@''GNULIB_WCSCSPN''@/$(GL_GNULIB_WCSCSPN)/g' \ + -e 's/@''GNULIB_WCSSPN''@/$(GL_GNULIB_WCSSPN)/g' \ + -e 's/@''GNULIB_WCSPBRK''@/$(GL_GNULIB_WCSPBRK)/g' \ + -e 's/@''GNULIB_WCSSTR''@/$(GL_GNULIB_WCSSTR)/g' \ + -e 's/@''GNULIB_WCSTOK''@/$(GL_GNULIB_WCSTOK)/g' \ + -e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \ + -e 's/@''GNULIB_WCSFTIME''@/$(GL_GNULIB_WCSFTIME)/g' \ + -e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_GNULIB_MDA_WCSDUP)/g' \ + -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/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_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' \ + | \ + 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_WCSTOK''@|$(REPLACE_WCSTOK)|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 + $(AM_V_at)mv $@-t $@ +MOSTLYCLEANFILES += wchar.h wchar.h-t + +EXTRA_DIST += wchar.in.h + +## end gnulib module wchar + ## begin gnulib module xalloc libicrt_a_SOURCES += xalloc.h xmalloc.c xstrdup.c @@ -1436,3 +1889,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/source/srclib/Makefile.in b/source/srclib/Makefile.in index 48f6932..1923d10 100644 --- a/source/srclib/Makefile.in +++ b/source/srclib/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 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, @@ -14,11 +14,11 @@ @SET_MAKE@ -# Copyright (C) 2002-2019 Free Software Foundation, Inc. +# Copyright (C) 2002-2022 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, @@ -52,12 +52,14 @@ # error \ # gettext \ # gettext-h \ +# lib-symbol-visibility \ # libiconv-misc \ # mbstate \ # progname \ # relocatable-prog \ # safe-read \ # sigpipe \ +# stdbool \ # stdio \ # stdlib \ # strerror \ @@ -140,21 +142,49 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_1 = uniwidth/width.c +@GL_COND_OBJ_CANONICALIZE_LGPL_TRUE@am__append_1 = canonicalize-lgpl.c +@GL_COND_OBJ_CLOSE_TRUE@am__append_2 = close.c +@GL_COND_OBJ_DUP2_TRUE@am__append_3 = dup2.c +@GL_COND_OBJ_ERROR_TRUE@am__append_4 = error.c +@GL_COND_OBJ_FCNTL_TRUE@am__append_5 = fcntl.c +@GL_COND_OBJ_FREE_TRUE@am__append_6 = free.c +@GL_COND_OBJ_FSTAT_TRUE@am__append_7 = fstat.c +@GL_COND_OBJ_GETDTABLESIZE_TRUE@am__append_8 = getdtablesize.c +@GL_COND_OBJ_MEMPCPY_TRUE@am__append_9 = mempcpy.c +@GL_COND_OBJ_MSVC_INVAL_TRUE@am__append_10 = msvc-inval.c +@GL_COND_OBJ_MSVC_NOTHROW_TRUE@am__append_11 = msvc-nothrow.c +@GL_COND_OBJ_OPEN_TRUE@am__append_12 = open.c +@GL_COND_OBJ_RAISE_TRUE@am__append_13 = raise.c +@GL_COND_OBJ_RAWMEMCHR_TRUE@am__append_14 = rawmemchr.c +@GL_COND_OBJ_READ_TRUE@am__append_15 = read.c +@GL_COND_OBJ_READLINK_TRUE@am__append_16 = readlink.c +@GL_COND_OBJ_PROGRELOC_TRUE@am__append_17 = progreloc.c +@GL_COND_OBJ_SIGPROCMASK_TRUE@am__append_18 = sigprocmask.c +@GL_COND_OBJ_STAT_TRUE@am__append_19 = stat.c +@GL_COND_OBJ_STDIO_READ_TRUE@am__append_20 = stdio-read.c +@GL_COND_OBJ_STDIO_WRITE_TRUE@am__append_21 = stdio-write.c +@GL_COND_OBJ_STRERROR_TRUE@am__append_22 = strerror.c +@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__append_23 = strerror-override.c +@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_24 = uniwidth/width.c subdir = srclib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/srcm4/00gnulib.m4 \ + $(top_srcdir)/srcm4/__inline.m4 \ $(top_srcdir)/srcm4/absolute-header.m4 \ $(top_srcdir)/srcm4/alloca.m4 \ $(top_srcdir)/srcm4/asm-underscore.m4 \ + $(top_srcdir)/srcm4/builtin-expect.m4 \ $(top_srcdir)/srcm4/canonicalize.m4 \ - $(top_srcdir)/srcm4/codeset.m4 $(top_srcdir)/srcm4/dirname.m4 \ + $(top_srcdir)/srcm4/close.m4 $(top_srcdir)/srcm4/codeset.m4 \ $(top_srcdir)/srcm4/double-slash-root.m4 \ - $(top_srcdir)/srcm4/eealloc.m4 $(top_srcdir)/srcm4/environ.m4 \ - $(top_srcdir)/srcm4/errno_h.m4 $(top_srcdir)/srcm4/error.m4 \ - $(top_srcdir)/srcm4/extensions.m4 \ + $(top_srcdir)/srcm4/dup2.m4 $(top_srcdir)/srcm4/eealloc.m4 \ + $(top_srcdir)/srcm4/environ.m4 $(top_srcdir)/srcm4/errno_h.m4 \ + $(top_srcdir)/srcm4/error.m4 $(top_srcdir)/srcm4/extensions.m4 \ $(top_srcdir)/srcm4/extern-inline.m4 \ - $(top_srcdir)/srcm4/fcntl-o.m4 $(top_srcdir)/srcm4/fcntl_h.m4 \ + $(top_srcdir)/srcm4/fcntl-o.m4 $(top_srcdir)/srcm4/fcntl.m4 \ + $(top_srcdir)/srcm4/fcntl_h.m4 $(top_srcdir)/srcm4/free.m4 \ + $(top_srcdir)/srcm4/fstat.m4 \ + $(top_srcdir)/srcm4/getdtablesize.m4 \ $(top_srcdir)/srcm4/getprogname.m4 \ $(top_srcdir)/srcm4/gettext.m4 \ $(top_srcdir)/srcm4/gnulib-common.m4 \ @@ -163,21 +193,26 @@ am__aclocal_m4_deps = $(top_srcdir)/srcm4/00gnulib.m4 \ $(top_srcdir)/srcm4/iconv.m4 \ $(top_srcdir)/srcm4/include_next.m4 \ $(top_srcdir)/srcm4/intlmacosx.m4 \ + $(top_srcdir)/srcm4/inttypes.m4 \ $(top_srcdir)/srcm4/largefile.m4 $(top_srcdir)/srcm4/lib-ld.m4 \ $(top_srcdir)/srcm4/lib-link.m4 \ $(top_srcdir)/srcm4/lib-prefix.m4 \ $(top_srcdir)/srcm4/libunistring-base.m4 \ - $(top_srcdir)/srcm4/limits-h.m4 \ - $(top_srcdir)/srcm4/longlong.m4 $(top_srcdir)/srcm4/lstat.m4 \ + $(top_srcdir)/srcm4/limits-h.m4 $(top_srcdir)/srcm4/lstat.m4 \ $(top_srcdir)/srcm4/malloc.m4 $(top_srcdir)/srcm4/malloca.m4 \ $(top_srcdir)/srcm4/mbstate_t.m4 \ + $(top_srcdir)/srcm4/mempcpy.m4 $(top_srcdir)/srcm4/minmax.m4 \ + $(top_srcdir)/srcm4/mode_t.m4 \ $(top_srcdir)/srcm4/msvc-inval.m4 \ $(top_srcdir)/srcm4/msvc-nothrow.m4 \ $(top_srcdir)/srcm4/multiarch.m4 $(top_srcdir)/srcm4/nls.m4 \ $(top_srcdir)/srcm4/nocrash.m4 $(top_srcdir)/srcm4/off_t.m4 \ + $(top_srcdir)/srcm4/open-cloexec.m4 \ + $(top_srcdir)/srcm4/open-slash.m4 $(top_srcdir)/srcm4/open.m4 \ $(top_srcdir)/srcm4/pathmax.m4 $(top_srcdir)/srcm4/po.m4 \ $(top_srcdir)/srcm4/progtest.m4 $(top_srcdir)/srcm4/raise.m4 \ - $(top_srcdir)/srcm4/read.m4 $(top_srcdir)/srcm4/readlink.m4 \ + $(top_srcdir)/srcm4/rawmemchr.m4 $(top_srcdir)/srcm4/read.m4 \ + $(top_srcdir)/srcm4/readlink.m4 $(top_srcdir)/srcm4/realloc.m4 \ $(top_srcdir)/srcm4/relocatable-lib.m4 \ $(top_srcdir)/srcm4/relocatable.m4 \ $(top_srcdir)/srcm4/safe-read.m4 $(top_srcdir)/srcm4/setenv.m4 \ @@ -185,9 +220,9 @@ am__aclocal_m4_deps = $(top_srcdir)/srcm4/00gnulib.m4 \ $(top_srcdir)/srcm4/signalblocking.m4 \ $(top_srcdir)/srcm4/sigpipe.m4 $(top_srcdir)/srcm4/ssize_t.m4 \ $(top_srcdir)/srcm4/stat-time.m4 $(top_srcdir)/srcm4/stat.m4 \ - $(top_srcdir)/srcm4/stdbool.m4 $(top_srcdir)/srcm4/stddef_h.m4 \ - $(top_srcdir)/srcm4/stdint.m4 $(top_srcdir)/srcm4/stdio_h.m4 \ - $(top_srcdir)/srcm4/stdlib_h.m4 \ + $(top_srcdir)/srcm4/stdalign.m4 $(top_srcdir)/srcm4/stdbool.m4 \ + $(top_srcdir)/srcm4/stddef_h.m4 $(top_srcdir)/srcm4/stdint.m4 \ + $(top_srcdir)/srcm4/stdio_h.m4 $(top_srcdir)/srcm4/stdlib_h.m4 \ $(top_srcdir)/srcm4/strerror.m4 \ $(top_srcdir)/srcm4/string_h.m4 \ $(top_srcdir)/srcm4/sys_socket_h.m4 \ @@ -197,9 +232,10 @@ am__aclocal_m4_deps = $(top_srcdir)/srcm4/00gnulib.m4 \ $(top_srcdir)/srcm4/unlocked-io.m4 \ $(top_srcdir)/srcm4/visibility.m4 \ $(top_srcdir)/srcm4/warn-on-use.m4 \ - $(top_srcdir)/srcm4/wchar_t.m4 $(top_srcdir)/srcm4/wint_t.m4 \ - $(top_srcdir)/m4/cp.m4 $(top_srcdir)/m4/eilseq.m4 \ - $(top_srcdir)/m4/endian.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/srcm4/wchar_h.m4 $(top_srcdir)/srcm4/wchar_t.m4 \ + $(top_srcdir)/srcm4/wint_t.m4 $(top_srcdir)/srcm4/year2038.m4 \ + $(top_srcdir)/srcm4/zzgnulib.m4 $(top_srcdir)/m4/cp.m4 \ + $(top_srcdir)/m4/eilseq.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ln.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac @@ -217,20 +253,76 @@ am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libicrt_a_AR = $(AR) $(ARFLAGS) am__DEPENDENCIES_1 = -am__libicrt_a_SOURCES_DIST = allocator.c areadlink.c binary-io.h \ - binary-io.c careadlinkat.c dirname-lgpl.c basename-lgpl.c \ - stripslash.c getprogname.h getprogname.c gettext.h malloca.c \ - progname.h progname.c safe-read.c stat-time.c unistd.c \ - uniwidth/width.c xalloc.h xmalloc.c xstrdup.c xreadlink.c +am__libicrt_a_SOURCES_DIST = allocator.c areadlink.c basename-lgpl.c \ + binary-io.h binary-io.c canonicalize-lgpl.c careadlinkat.c \ + cloexec.c close.c dup2.c error.c fcntl.c fd-hook.c free.c \ + fstat.c getdtablesize.c getprogname.h getprogname.c gettext.h \ + idx.h malloca.c mempcpy.c minmax.h msvc-inval.c msvc-nothrow.c \ + open.c progname.h progname.c raise.c rawmemchr.c read.c \ + readlink.c progreloc.c safe-read.c \ + malloc/scratch_buffer_dupfree.c malloc/scratch_buffer_grow.c \ + malloc/scratch_buffer_grow_preserve.c \ + malloc/scratch_buffer_set_array_size.c sigprocmask.c stat.c \ + stat-time.c stdio-read.c stdio-write.c strerror.c \ + strerror-override.c unistd.c uniwidth/width.c xalloc.h \ + xmalloc.c xstrdup.c xreadlink.c +@GL_COND_OBJ_CANONICALIZE_LGPL_TRUE@am__objects_1 = libicrt_a-canonicalize-lgpl.$(OBJEXT) +@GL_COND_OBJ_CLOSE_TRUE@am__objects_2 = libicrt_a-close.$(OBJEXT) +@GL_COND_OBJ_DUP2_TRUE@am__objects_3 = libicrt_a-dup2.$(OBJEXT) +@GL_COND_OBJ_ERROR_TRUE@am__objects_4 = libicrt_a-error.$(OBJEXT) +@GL_COND_OBJ_FCNTL_TRUE@am__objects_5 = libicrt_a-fcntl.$(OBJEXT) +@GL_COND_OBJ_FREE_TRUE@am__objects_6 = libicrt_a-free.$(OBJEXT) +@GL_COND_OBJ_FSTAT_TRUE@am__objects_7 = libicrt_a-fstat.$(OBJEXT) +@GL_COND_OBJ_GETDTABLESIZE_TRUE@am__objects_8 = libicrt_a-getdtablesize.$(OBJEXT) +@GL_COND_OBJ_MEMPCPY_TRUE@am__objects_9 = libicrt_a-mempcpy.$(OBJEXT) +@GL_COND_OBJ_MSVC_INVAL_TRUE@am__objects_10 = \ +@GL_COND_OBJ_MSVC_INVAL_TRUE@ libicrt_a-msvc-inval.$(OBJEXT) +@GL_COND_OBJ_MSVC_NOTHROW_TRUE@am__objects_11 = libicrt_a-msvc-nothrow.$(OBJEXT) +@GL_COND_OBJ_OPEN_TRUE@am__objects_12 = libicrt_a-open.$(OBJEXT) +@GL_COND_OBJ_RAISE_TRUE@am__objects_13 = libicrt_a-raise.$(OBJEXT) +@GL_COND_OBJ_RAWMEMCHR_TRUE@am__objects_14 = \ +@GL_COND_OBJ_RAWMEMCHR_TRUE@ libicrt_a-rawmemchr.$(OBJEXT) +@GL_COND_OBJ_READ_TRUE@am__objects_15 = libicrt_a-read.$(OBJEXT) +@GL_COND_OBJ_READLINK_TRUE@am__objects_16 = \ +@GL_COND_OBJ_READLINK_TRUE@ libicrt_a-readlink.$(OBJEXT) +@GL_COND_OBJ_PROGRELOC_TRUE@am__objects_17 = \ +@GL_COND_OBJ_PROGRELOC_TRUE@ libicrt_a-progreloc.$(OBJEXT) am__dirstamp = $(am__leading_dot)dirstamp -@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_1 = uniwidth/width.$(OBJEXT) -am_libicrt_a_OBJECTS = allocator.$(OBJEXT) areadlink.$(OBJEXT) \ - binary-io.$(OBJEXT) careadlinkat.$(OBJEXT) \ - dirname-lgpl.$(OBJEXT) basename-lgpl.$(OBJEXT) \ - stripslash.$(OBJEXT) getprogname.$(OBJEXT) malloca.$(OBJEXT) \ - progname.$(OBJEXT) safe-read.$(OBJEXT) stat-time.$(OBJEXT) \ - unistd.$(OBJEXT) $(am__objects_1) xmalloc.$(OBJEXT) \ - xstrdup.$(OBJEXT) xreadlink.$(OBJEXT) +@GL_COND_OBJ_SIGPROCMASK_TRUE@am__objects_18 = \ +@GL_COND_OBJ_SIGPROCMASK_TRUE@ libicrt_a-sigprocmask.$(OBJEXT) +@GL_COND_OBJ_STAT_TRUE@am__objects_19 = libicrt_a-stat.$(OBJEXT) +@GL_COND_OBJ_STDIO_READ_TRUE@am__objects_20 = \ +@GL_COND_OBJ_STDIO_READ_TRUE@ libicrt_a-stdio-read.$(OBJEXT) +@GL_COND_OBJ_STDIO_WRITE_TRUE@am__objects_21 = \ +@GL_COND_OBJ_STDIO_WRITE_TRUE@ libicrt_a-stdio-write.$(OBJEXT) +@GL_COND_OBJ_STRERROR_TRUE@am__objects_22 = \ +@GL_COND_OBJ_STRERROR_TRUE@ libicrt_a-strerror.$(OBJEXT) +@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__objects_23 = libicrt_a-strerror-override.$(OBJEXT) +@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_24 = uniwidth/libicrt_a-width.$(OBJEXT) +am_libicrt_a_OBJECTS = libicrt_a-allocator.$(OBJEXT) \ + libicrt_a-areadlink.$(OBJEXT) \ + libicrt_a-basename-lgpl.$(OBJEXT) \ + libicrt_a-binary-io.$(OBJEXT) $(am__objects_1) \ + libicrt_a-careadlinkat.$(OBJEXT) libicrt_a-cloexec.$(OBJEXT) \ + $(am__objects_2) $(am__objects_3) $(am__objects_4) \ + $(am__objects_5) libicrt_a-fd-hook.$(OBJEXT) $(am__objects_6) \ + $(am__objects_7) $(am__objects_8) \ + libicrt_a-getprogname.$(OBJEXT) libicrt_a-malloca.$(OBJEXT) \ + $(am__objects_9) $(am__objects_10) $(am__objects_11) \ + $(am__objects_12) libicrt_a-progname.$(OBJEXT) \ + $(am__objects_13) $(am__objects_14) $(am__objects_15) \ + $(am__objects_16) $(am__objects_17) \ + libicrt_a-safe-read.$(OBJEXT) \ + malloc/libicrt_a-scratch_buffer_dupfree.$(OBJEXT) \ + malloc/libicrt_a-scratch_buffer_grow.$(OBJEXT) \ + malloc/libicrt_a-scratch_buffer_grow_preserve.$(OBJEXT) \ + malloc/libicrt_a-scratch_buffer_set_array_size.$(OBJEXT) \ + $(am__objects_18) $(am__objects_19) \ + libicrt_a-stat-time.$(OBJEXT) $(am__objects_20) \ + $(am__objects_21) $(am__objects_22) $(am__objects_23) \ + libicrt_a-unistd.$(OBJEXT) $(am__objects_24) \ + libicrt_a-xmalloc.$(OBJEXT) libicrt_a-xstrdup.$(OBJEXT) \ + libicrt_a-xreadlink.$(OBJEXT) libicrt_a_OBJECTS = $(am_libicrt_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -247,12 +339,12 @@ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -I$(top_builddir)/lib depcomp = am__maybe_remake_depfiles = -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 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 = +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) \ @@ -294,8 +386,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.gnulib $(srcdir)/Makefile.in \ $(top_srcdir)/build-aux/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -326,6 +416,8 @@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CP = @CP@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ -DEXEEXT=\"@EXEEXT@\" DEPDIR = @DEPDIR@ @@ -345,233 +437,362 @@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@ +GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@ +GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@ +GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@ +GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@ +GL_GNULIB_BTOWC = @GL_GNULIB_BTOWC@ +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_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_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_IMAXABS = @GL_GNULIB_IMAXABS@ +GL_GNULIB_IMAXDIV = @GL_GNULIB_IMAXDIV@ +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_MBRLEN = @GL_GNULIB_MBRLEN@ +GL_GNULIB_MBRTOWC = @GL_GNULIB_MBRTOWC@ +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_MBSINIT = @GL_GNULIB_MBSINIT@ +GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@ +GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@ +GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@ +GL_GNULIB_MBSNRTOWCS = @GL_GNULIB_MBSNRTOWCS@ +GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@ +GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@ +GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@ +GL_GNULIB_MBSRTOWCS = @GL_GNULIB_MBSRTOWCS@ +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_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_WCSDUP = @GL_GNULIB_MDA_WCSDUP@ +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_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_PTHREAD_SIGMASK = @GL_GNULIB_PTHREAD_SIGMASK@ +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_RAISE = @GL_GNULIB_RAISE@ +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_SIGACTION = @GL_GNULIB_SIGACTION@ +GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@ +GL_GNULIB_SIGNAL_H_SIGPIPE = @GL_GNULIB_SIGNAL_H_SIGPIPE@ +GL_GNULIB_SIGPROCMASK = @GL_GNULIB_SIGPROCMASK@ +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_STRTOIMAX = @GL_GNULIB_STRTOIMAX@ +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_STRTOUMAX = @GL_GNULIB_STRTOUMAX@ +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_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_WCPCPY = @GL_GNULIB_WCPCPY@ +GL_GNULIB_WCPNCPY = @GL_GNULIB_WCPNCPY@ +GL_GNULIB_WCRTOMB = @GL_GNULIB_WCRTOMB@ +GL_GNULIB_WCSCASECMP = @GL_GNULIB_WCSCASECMP@ +GL_GNULIB_WCSCAT = @GL_GNULIB_WCSCAT@ +GL_GNULIB_WCSCHR = @GL_GNULIB_WCSCHR@ +GL_GNULIB_WCSCMP = @GL_GNULIB_WCSCMP@ +GL_GNULIB_WCSCOLL = @GL_GNULIB_WCSCOLL@ +GL_GNULIB_WCSCPY = @GL_GNULIB_WCSCPY@ +GL_GNULIB_WCSCSPN = @GL_GNULIB_WCSCSPN@ +GL_GNULIB_WCSDUP = @GL_GNULIB_WCSDUP@ +GL_GNULIB_WCSFTIME = @GL_GNULIB_WCSFTIME@ +GL_GNULIB_WCSLEN = @GL_GNULIB_WCSLEN@ +GL_GNULIB_WCSNCASECMP = @GL_GNULIB_WCSNCASECMP@ +GL_GNULIB_WCSNCAT = @GL_GNULIB_WCSNCAT@ +GL_GNULIB_WCSNCMP = @GL_GNULIB_WCSNCMP@ +GL_GNULIB_WCSNCPY = @GL_GNULIB_WCSNCPY@ +GL_GNULIB_WCSNLEN = @GL_GNULIB_WCSNLEN@ +GL_GNULIB_WCSNRTOMBS = @GL_GNULIB_WCSNRTOMBS@ +GL_GNULIB_WCSPBRK = @GL_GNULIB_WCSPBRK@ +GL_GNULIB_WCSRCHR = @GL_GNULIB_WCSRCHR@ +GL_GNULIB_WCSRTOMBS = @GL_GNULIB_WCSRTOMBS@ +GL_GNULIB_WCSSPN = @GL_GNULIB_WCSSPN@ +GL_GNULIB_WCSSTR = @GL_GNULIB_WCSSTR@ +GL_GNULIB_WCSTOK = @GL_GNULIB_WCSTOK@ +GL_GNULIB_WCSWIDTH = @GL_GNULIB_WCSWIDTH@ +GL_GNULIB_WCSXFRM = @GL_GNULIB_WCSXFRM@ +GL_GNULIB_WCTOB = @GL_GNULIB_WCTOB@ +GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@ +GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@ +GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@ +GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@ +GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@ +GL_GNULIB_WMEMMOVE = @GL_GNULIB_WMEMMOVE@ +GL_GNULIB_WMEMPCPY = @GL_GNULIB_WMEMPCPY@ +GL_GNULIB_WMEMSET = @GL_GNULIB_WMEMSET@ +GL_GNULIB_WRITE = @GL_GNULIB_WRITE@ +GL_GNULIB__EXIT = @GL_GNULIB__EXIT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -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_CTIME = @GNULIB_CTIME@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ -GNULIB_DUP = @GNULIB_DUP@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_DUP3 = @GNULIB_DUP3@ -GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ -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_GETPASS = @GNULIB_GETPASS@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ +GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GRANTPT = @GNULIB_GRANTPT@ -GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LINKAT = @GNULIB_LINKAT@ -GNULIB_LOCALTIME = @GNULIB_LOCALTIME@ -GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ -GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ -GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ -GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ -GNULIB_MBSCHR = @GNULIB_MBSCHR@ -GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSLEN = @GNULIB_MBSLEN@ -GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ -GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ -GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ -GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ -GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -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_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@ -GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ -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_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ -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_QSORT_R = @GNULIB_QSORT_R@ -GNULIB_RAISE = @GNULIB_RAISE@ -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_REALLOCARRAY = @GNULIB_REALLOCARRAY@ -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_SECURE_GETENV = @GNULIB_SECURE_GETENV@ -GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ -GNULIB_SIGACTION = @GNULIB_SIGACTION@ -GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ -GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ -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_STRFTIME = @GNULIB_STRFTIME@ -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_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLD = @GNULIB_STRTOLD@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ -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_TIME_RZ = @GNULIB_TIME_RZ@ -GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TRUNCATE = @GNULIB_TRUNCATE@ -GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_TZSET = @GNULIB_TZSET@ -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_WCTOMB = @GNULIB_WCTOMB@ -GNULIB_WRITE = @GNULIB_WRITE@ -GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ +HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@ 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_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ +HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ +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@ @@ -580,6 +801,8 @@ 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_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@ @@ -594,15 +817,20 @@ 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_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXECVPE = @HAVE_EXECVPE@ HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ @@ -610,6 +838,7 @@ 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@ @@ -619,26 +848,32 @@ 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_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETPASS = @HAVE_GETPASS@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ +HAVE_GETUMASK = @HAVE_GETUMASK@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INITSTATE = @HAVE_INITSTATE@ 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_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_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ @@ -658,6 +893,7 @@ 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_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_PREAD = @HAVE_PREAD@ @@ -681,7 +917,9 @@ 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_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ @@ -694,12 +932,15 @@ 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_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ @@ -712,13 +953,13 @@ 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_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ -HAVE_TZSET = @HAVE_TZSET@ 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@ @@ -726,7 +967,41 @@ 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__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ ICONV_CONST = @ICONV_CONST@ @@ -738,6 +1013,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM_ENV = @INSTALL_PROGRAM_ENV@ 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@ LD = @LD@ @@ -763,10 +1040,11 @@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ +MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ 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_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ @@ -778,8 +1056,10 @@ 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_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LIMITS_H = @NEXT_LIMITS_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ @@ -791,6 +1071,7 @@ 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@ @@ -808,6 +1089,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ 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@ @@ -819,23 +1101,40 @@ RELOCATABLE_LDFLAGS = @RELOCATABLE_LDFLAGS@ RELOCATABLE_LIBRARY_PATH = @RELOCATABLE_LIBRARY_PATH@ RELOCATABLE_SRC_DIR = @RELOCATABLE_SRC_DIR@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@ -REPLACE_CALLOC = @REPLACE_CALLOC@ +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_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_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_FCHMODAT = @REPLACE_FCHMODAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ 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@ @@ -854,6 +1153,7 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ 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_GMTIME = @REPLACE_GMTIME@ REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_ISATTY = @REPLACE_ISATTY@ @@ -864,13 +1164,22 @@ 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_MBTOWC = @REPLACE_MBTOWC@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ +REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@ REPLACE_MKNOD = @REPLACE_MKNOD@ +REPLACE_MKNODAT = @REPLACE_MKNODAT@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ @@ -880,6 +1189,7 @@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ +REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ @@ -894,7 +1204,9 @@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_READLINKAT = @REPLACE_READLINKAT@ -REPLACE_REALLOC = @REPLACE_REALLOC@ +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@ @@ -913,6 +1225,7 @@ 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@ @@ -921,8 +1234,14 @@ 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_TIMEGM = @REPLACE_TIMEGM@ @@ -941,7 +1260,15 @@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ +REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ +REPLACE_WCSFTIME = @REPLACE_WCSFTIME@ +REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ +REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ +REPLACE_WCSTOK = @REPLACE_WCSTOK@ +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@ @@ -949,14 +1276,19 @@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ SRCLIBOBJS = @SRCLIBOBJS@ +STDALIGN_H = @STDALIGN_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@ +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_EXTRA_ENCODINGS = @USE_EXTRA_ENCODINGS@ @@ -999,8 +1331,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@ @@ -1024,6 +1358,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -1045,62 +1380,102 @@ AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects no-dependencies # enabled by default because the intl directory might not exist if # your project does not use "gettext --intl", and some compilers # complain about -I options applied to nonexistent directories. -EXTRA_DIST = alloca.in.h allocator.h areadlink.h canonicalize-lgpl.c \ - careadlinkat.h dirname.h dosname.h errno.in.h error.c error.h \ - fcntl.in.h filename.h $(top_srcdir)/build-aux/config.rpath \ - $(top_srcdir)/build-aux/config.rpath intprops.h limits.in.h \ - lstat.c malloc.c malloca.h msvc-inval.c msvc-inval.h \ - msvc-nothrow.c msvc-nothrow.h pathmax.h raise.c read.c \ - readlink.c progreloc.c relocatable.c relocatable.h \ +EXTRA_DIST = alloca.in.h allocator.h areadlink.h basename-lgpl.h \ + careadlinkat.h cloexec.h eloop-threshold.h errno.in.h error.h \ + fcntl.in.h fd-hook.h filename.h stat-w32.c stat-w32.h \ + $(top_srcdir)/build-aux/config.rpath \ + $(top_srcdir)/build-aux/config.rpath intprops.h inttypes.in.h \ + cdefs.h libc-config.h limits.in.h malloc.c malloca.h \ + msvc-inval.h msvc-nothrow.h pathmax.h rawmemchr.valgrind \ + realloc.c relocatable.c relocatable.h \ $(top_srcdir)/build-aux/config.libpath \ $(top_srcdir)/build-aux/reloc-ldflags \ $(top_srcdir)/build-aux/libtool-reloc allocator.c allocator.h \ areadlink.c areadlink.h c-ctype.c c-ctype.h \ - canonicalize-lgpl.c careadlinkat.c careadlinkat.h lstat.c \ - malloca.c malloca.h progname.c progname.h progreloc.c \ - readlink.c relocatable.c relocatable.h relocwrapper.c setenv.c \ - stat.c $(top_srcdir)/build-aux/install-reloc safe-read.h \ - sys-limits.h signal.in.h stdio-write.c sigprocmask.c \ - _Noreturn.h arg-nonnull.h c++defs.h warn-on-use.h stat-w32.c \ - stat-w32.h stat.c stat-time.h stdbool.in.h stddef.in.h \ - stdint.in.h stdio.in.h stdlib.in.h streq.h strerror.c \ - strerror-override.c strerror-override.h string.in.h \ - sys_stat.in.h sys_types.in.h time.in.h unistd.in.h \ - unitypes.in.h localcharset.h uniwidth.in.h uniwidth/cjk.h \ - unlocked-io.h verify.h xalloc-oversized.h xreadlink.h -BUILT_SOURCES = $(ALLOCA_H) $(ERRNO_H) fcntl.h $(LIMITS_H) signal.h \ - $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) stdio.h stdlib.h string.h \ - sys/stat.h sys/types.h time.h unistd.h \ - $(LIBUNISTRING_UNITYPES_H) $(LIBUNISTRING_UNIWIDTH_H) + canonicalize-lgpl.c careadlinkat.c careadlinkat.h free.c \ + malloc.c malloc/scratch_buffer.h \ + malloc/scratch_buffer_dupfree.c malloc/scratch_buffer_grow.c \ + malloc/scratch_buffer_grow_preserve.c \ + malloc/scratch_buffer_set_array_size.c malloca.c malloca.h \ + mempcpy.c progname.c progname.h progreloc.c rawmemchr.c \ + readlink.c realloc.c relocatable.c relocatable.h \ + relocwrapper.c scratch_buffer.h setenv.c stat.c \ + $(top_srcdir)/build-aux/install-reloc safe-read.h sys-limits.h \ + malloc/scratch_buffer.h scratch_buffer.h signal.in.h \ + stdio-write.c _Noreturn.h arg-nonnull.h c++defs.h \ + warn-on-use.h stat-w32.c stat-w32.h stat-time.h stdalign.in.h \ + stdbool.in.h stddef.in.h stdint.in.h stdio.in.h stdlib.in.h \ + streq.h strerror-override.h string.in.h sys_stat.in.h \ + sys_types.in.h time.in.h unistd.in.h unitypes.in.h \ + localcharset.h uniwidth.in.h unictype/bitmap.h uniwidth/cjk.h \ + uniwidth/width0.h uniwidth/width2.h unlocked-io.h verify.h \ + wchar.in.h xalloc-oversized.h xreadlink.h +BUILT_SOURCES = $(ALLOCA_H) $(ERRNO_H) fcntl.h inttypes.h $(LIMITS_H) \ + malloc/scratch_buffer.gl.h signal.h $(STDALIGN_H) $(STDBOOL_H) \ + $(STDDEF_H) $(STDINT_H) stdio.h stdlib.h string.h sys/stat.h \ + sys/types.h time.h unistd.h $(LIBUNISTRING_UNITYPES_H) \ + $(LIBUNISTRING_UNIWIDTH_H) wchar.h MOSTLYCLEANFILES = core *.stackdump core *.stackdump alloca.h \ - alloca.h-t errno.h errno.h-t fcntl.h fcntl.h-t limits.h \ - limits.h-t signal.h signal.h-t stdbool.h stdbool.h-t stddef.h \ - stddef.h-t stdint.h stdint.h-t stdio.h stdio.h-t stdlib.h \ - stdlib.h-t string.h string.h-t sys/stat.h sys/stat.h-t \ - sys/types.h sys/types.h-t time.h time.h-t unistd.h unistd.h-t \ - unitypes.h unitypes.h-t uniwidth.h uniwidth.h-t + alloca.h-t errno.h errno.h-t fcntl.h fcntl.h-t inttypes.h \ + inttypes.h-t limits.h limits.h-t malloc/scratch_buffer.gl.h \ + malloc/scratch_buffer.gl.h-t signal.h signal.h-t stdalign.h \ + stdalign.h-t stdbool.h stdbool.h-t stddef.h stddef.h-t \ + stdint.h stdint.h-t stdio.h stdio.h-t stdlib.h stdlib.h-t \ + string.h string.h-t sys/stat.h sys/stat.h-t sys/types.h \ + sys/types.h-t time.h time.h-t unistd.h unistd.h-t unitypes.h \ + unitypes.h-t uniwidth.h uniwidth.h-t wchar.h wchar.h-t MOSTLYCLEANDIRS = sys # No GNU Make output. noinst_LIBRARIES = libicrt.a # Parametrization of the 'relocatable' module. AM_CPPFLAGS = -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1 -libicrt_a_SOURCES = allocator.c areadlink.c binary-io.h binary-io.c \ - careadlinkat.c dirname-lgpl.c basename-lgpl.c stripslash.c \ - getprogname.h getprogname.c gettext.h malloca.c progname.h \ - progname.c safe-read.c stat-time.c unistd.c $(am__append_1) \ + +# 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) +libicrt_a_SOURCES = allocator.c areadlink.c basename-lgpl.c \ + binary-io.h binary-io.c $(am__append_1) careadlinkat.c \ + cloexec.c $(am__append_2) $(am__append_3) $(am__append_4) \ + $(am__append_5) fd-hook.c $(am__append_6) $(am__append_7) \ + $(am__append_8) getprogname.h getprogname.c gettext.h idx.h \ + malloca.c $(am__append_9) minmax.h $(am__append_10) \ + $(am__append_11) $(am__append_12) progname.h progname.c \ + $(am__append_13) $(am__append_14) $(am__append_15) \ + $(am__append_16) $(am__append_17) safe-read.c \ + malloc/scratch_buffer_dupfree.c malloc/scratch_buffer_grow.c \ + malloc/scratch_buffer_grow_preserve.c \ + malloc/scratch_buffer_set_array_size.c $(am__append_18) \ + $(am__append_19) stat-time.c $(am__append_20) $(am__append_21) \ + $(am__append_22) $(am__append_23) unistd.c $(am__append_24) \ xalloc.h xmalloc.c xstrdup.c xreadlink.c +libicrt_a_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS) libicrt_a_LIBADD = $(gl_LIBOBJS) libicrt_a_DEPENDENCIES = $(gl_LIBOBJS) -EXTRA_libicrt_a_SOURCES = canonicalize-lgpl.c error.c lstat.c malloc.c \ - msvc-inval.c msvc-nothrow.c raise.c read.c readlink.c \ - progreloc.c relocatable.c stdio-write.c sigprocmask.c \ - stat-w32.c stat.c strerror.c strerror-override.c +EXTRA_libicrt_a_SOURCES = stat-w32.c malloc.c realloc.c relocatable.c \ + stdio-write.c stat-w32.c # 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__ || 60000000 <= __DECC_VER) +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 @@ -1159,10 +1534,21 @@ $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +malloc/$(am__dirstamp): + @$(MKDIR_P) malloc + @: > malloc/$(am__dirstamp) +malloc/libicrt_a-scratch_buffer_dupfree.$(OBJEXT): \ + malloc/$(am__dirstamp) +malloc/libicrt_a-scratch_buffer_grow.$(OBJEXT): \ + malloc/$(am__dirstamp) +malloc/libicrt_a-scratch_buffer_grow_preserve.$(OBJEXT): \ + malloc/$(am__dirstamp) +malloc/libicrt_a-scratch_buffer_set_array_size.$(OBJEXT): \ + malloc/$(am__dirstamp) uniwidth/$(am__dirstamp): @$(MKDIR_P) uniwidth @: > uniwidth/$(am__dirstamp) -uniwidth/width.$(OBJEXT): uniwidth/$(am__dirstamp) +uniwidth/libicrt_a-width.$(OBJEXT): uniwidth/$(am__dirstamp) libicrt.a: $(libicrt_a_OBJECTS) $(libicrt_a_DEPENDENCIES) $(EXTRA_libicrt_a_DEPENDENCIES) $(AM_V_at)-rm -f libicrt.a @@ -1171,6 +1557,7 @@ libicrt.a: $(libicrt_a_OBJECTS) $(libicrt_a_DEPENDENCIES) $(EXTRA_libicrt_a_DEPE mostlyclean-compile: -rm -f *.$(OBJEXT) + -rm -f malloc/*.$(OBJEXT) -rm -f uniwidth/*.$(OBJEXT) distclean-compile: @@ -1185,6 +1572,294 @@ distclean-compile: .c.lo: $(AM_V_CC)$(LTCOMPILE) -c -o $@ $< +libicrt_a-allocator.o: allocator.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-allocator.o `test -f 'allocator.c' || echo '$(srcdir)/'`allocator.c + +libicrt_a-allocator.obj: allocator.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-allocator.obj `if test -f 'allocator.c'; then $(CYGPATH_W) 'allocator.c'; else $(CYGPATH_W) '$(srcdir)/allocator.c'; fi` + +libicrt_a-areadlink.o: areadlink.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-areadlink.o `test -f 'areadlink.c' || echo '$(srcdir)/'`areadlink.c + +libicrt_a-areadlink.obj: areadlink.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-areadlink.obj `if test -f 'areadlink.c'; then $(CYGPATH_W) 'areadlink.c'; else $(CYGPATH_W) '$(srcdir)/areadlink.c'; fi` + +libicrt_a-basename-lgpl.o: basename-lgpl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-basename-lgpl.o `test -f 'basename-lgpl.c' || echo '$(srcdir)/'`basename-lgpl.c + +libicrt_a-basename-lgpl.obj: basename-lgpl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-basename-lgpl.obj `if test -f 'basename-lgpl.c'; then $(CYGPATH_W) 'basename-lgpl.c'; else $(CYGPATH_W) '$(srcdir)/basename-lgpl.c'; fi` + +libicrt_a-binary-io.o: binary-io.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-binary-io.o `test -f 'binary-io.c' || echo '$(srcdir)/'`binary-io.c + +libicrt_a-binary-io.obj: binary-io.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-binary-io.obj `if test -f 'binary-io.c'; then $(CYGPATH_W) 'binary-io.c'; else $(CYGPATH_W) '$(srcdir)/binary-io.c'; fi` + +libicrt_a-canonicalize-lgpl.o: canonicalize-lgpl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-canonicalize-lgpl.o `test -f 'canonicalize-lgpl.c' || echo '$(srcdir)/'`canonicalize-lgpl.c + +libicrt_a-canonicalize-lgpl.obj: canonicalize-lgpl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-canonicalize-lgpl.obj `if test -f 'canonicalize-lgpl.c'; then $(CYGPATH_W) 'canonicalize-lgpl.c'; else $(CYGPATH_W) '$(srcdir)/canonicalize-lgpl.c'; fi` + +libicrt_a-careadlinkat.o: careadlinkat.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-careadlinkat.o `test -f 'careadlinkat.c' || echo '$(srcdir)/'`careadlinkat.c + +libicrt_a-careadlinkat.obj: careadlinkat.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-careadlinkat.obj `if test -f 'careadlinkat.c'; then $(CYGPATH_W) 'careadlinkat.c'; else $(CYGPATH_W) '$(srcdir)/careadlinkat.c'; fi` + +libicrt_a-cloexec.o: cloexec.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-cloexec.o `test -f 'cloexec.c' || echo '$(srcdir)/'`cloexec.c + +libicrt_a-cloexec.obj: cloexec.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-cloexec.obj `if test -f 'cloexec.c'; then $(CYGPATH_W) 'cloexec.c'; else $(CYGPATH_W) '$(srcdir)/cloexec.c'; fi` + +libicrt_a-close.o: close.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-close.o `test -f 'close.c' || echo '$(srcdir)/'`close.c + +libicrt_a-close.obj: close.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-close.obj `if test -f 'close.c'; then $(CYGPATH_W) 'close.c'; else $(CYGPATH_W) '$(srcdir)/close.c'; fi` + +libicrt_a-dup2.o: dup2.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-dup2.o `test -f 'dup2.c' || echo '$(srcdir)/'`dup2.c + +libicrt_a-dup2.obj: dup2.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-dup2.obj `if test -f 'dup2.c'; then $(CYGPATH_W) 'dup2.c'; else $(CYGPATH_W) '$(srcdir)/dup2.c'; fi` + +libicrt_a-error.o: error.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-error.o `test -f 'error.c' || echo '$(srcdir)/'`error.c + +libicrt_a-error.obj: error.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-error.obj `if test -f 'error.c'; then $(CYGPATH_W) 'error.c'; else $(CYGPATH_W) '$(srcdir)/error.c'; fi` + +libicrt_a-fcntl.o: fcntl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-fcntl.o `test -f 'fcntl.c' || echo '$(srcdir)/'`fcntl.c + +libicrt_a-fcntl.obj: fcntl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-fcntl.obj `if test -f 'fcntl.c'; then $(CYGPATH_W) 'fcntl.c'; else $(CYGPATH_W) '$(srcdir)/fcntl.c'; fi` + +libicrt_a-fd-hook.o: fd-hook.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-fd-hook.o `test -f 'fd-hook.c' || echo '$(srcdir)/'`fd-hook.c + +libicrt_a-fd-hook.obj: fd-hook.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-fd-hook.obj `if test -f 'fd-hook.c'; then $(CYGPATH_W) 'fd-hook.c'; else $(CYGPATH_W) '$(srcdir)/fd-hook.c'; fi` + +libicrt_a-free.o: free.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-free.o `test -f 'free.c' || echo '$(srcdir)/'`free.c + +libicrt_a-free.obj: free.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-free.obj `if test -f 'free.c'; then $(CYGPATH_W) 'free.c'; else $(CYGPATH_W) '$(srcdir)/free.c'; fi` + +libicrt_a-fstat.o: fstat.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-fstat.o `test -f 'fstat.c' || echo '$(srcdir)/'`fstat.c + +libicrt_a-fstat.obj: fstat.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-fstat.obj `if test -f 'fstat.c'; then $(CYGPATH_W) 'fstat.c'; else $(CYGPATH_W) '$(srcdir)/fstat.c'; fi` + +libicrt_a-getdtablesize.o: getdtablesize.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-getdtablesize.o `test -f 'getdtablesize.c' || echo '$(srcdir)/'`getdtablesize.c + +libicrt_a-getdtablesize.obj: getdtablesize.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-getdtablesize.obj `if test -f 'getdtablesize.c'; then $(CYGPATH_W) 'getdtablesize.c'; else $(CYGPATH_W) '$(srcdir)/getdtablesize.c'; fi` + +libicrt_a-getprogname.o: getprogname.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-getprogname.o `test -f 'getprogname.c' || echo '$(srcdir)/'`getprogname.c + +libicrt_a-getprogname.obj: getprogname.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-getprogname.obj `if test -f 'getprogname.c'; then $(CYGPATH_W) 'getprogname.c'; else $(CYGPATH_W) '$(srcdir)/getprogname.c'; fi` + +libicrt_a-malloca.o: malloca.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-malloca.o `test -f 'malloca.c' || echo '$(srcdir)/'`malloca.c + +libicrt_a-malloca.obj: malloca.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-malloca.obj `if test -f 'malloca.c'; then $(CYGPATH_W) 'malloca.c'; else $(CYGPATH_W) '$(srcdir)/malloca.c'; fi` + +libicrt_a-mempcpy.o: mempcpy.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-mempcpy.o `test -f 'mempcpy.c' || echo '$(srcdir)/'`mempcpy.c + +libicrt_a-mempcpy.obj: mempcpy.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-mempcpy.obj `if test -f 'mempcpy.c'; then $(CYGPATH_W) 'mempcpy.c'; else $(CYGPATH_W) '$(srcdir)/mempcpy.c'; fi` + +libicrt_a-msvc-inval.o: msvc-inval.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-msvc-inval.o `test -f 'msvc-inval.c' || echo '$(srcdir)/'`msvc-inval.c + +libicrt_a-msvc-inval.obj: msvc-inval.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-msvc-inval.obj `if test -f 'msvc-inval.c'; then $(CYGPATH_W) 'msvc-inval.c'; else $(CYGPATH_W) '$(srcdir)/msvc-inval.c'; fi` + +libicrt_a-msvc-nothrow.o: msvc-nothrow.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-msvc-nothrow.o `test -f 'msvc-nothrow.c' || echo '$(srcdir)/'`msvc-nothrow.c + +libicrt_a-msvc-nothrow.obj: msvc-nothrow.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-msvc-nothrow.obj `if test -f 'msvc-nothrow.c'; then $(CYGPATH_W) 'msvc-nothrow.c'; else $(CYGPATH_W) '$(srcdir)/msvc-nothrow.c'; fi` + +libicrt_a-open.o: open.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-open.o `test -f 'open.c' || echo '$(srcdir)/'`open.c + +libicrt_a-open.obj: open.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-open.obj `if test -f 'open.c'; then $(CYGPATH_W) 'open.c'; else $(CYGPATH_W) '$(srcdir)/open.c'; fi` + +libicrt_a-progname.o: progname.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-progname.o `test -f 'progname.c' || echo '$(srcdir)/'`progname.c + +libicrt_a-progname.obj: progname.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-progname.obj `if test -f 'progname.c'; then $(CYGPATH_W) 'progname.c'; else $(CYGPATH_W) '$(srcdir)/progname.c'; fi` + +libicrt_a-raise.o: raise.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-raise.o `test -f 'raise.c' || echo '$(srcdir)/'`raise.c + +libicrt_a-raise.obj: raise.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-raise.obj `if test -f 'raise.c'; then $(CYGPATH_W) 'raise.c'; else $(CYGPATH_W) '$(srcdir)/raise.c'; fi` + +libicrt_a-rawmemchr.o: rawmemchr.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-rawmemchr.o `test -f 'rawmemchr.c' || echo '$(srcdir)/'`rawmemchr.c + +libicrt_a-rawmemchr.obj: rawmemchr.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-rawmemchr.obj `if test -f 'rawmemchr.c'; then $(CYGPATH_W) 'rawmemchr.c'; else $(CYGPATH_W) '$(srcdir)/rawmemchr.c'; fi` + +libicrt_a-read.o: read.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-read.o `test -f 'read.c' || echo '$(srcdir)/'`read.c + +libicrt_a-read.obj: read.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-read.obj `if test -f 'read.c'; then $(CYGPATH_W) 'read.c'; else $(CYGPATH_W) '$(srcdir)/read.c'; fi` + +libicrt_a-readlink.o: readlink.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-readlink.o `test -f 'readlink.c' || echo '$(srcdir)/'`readlink.c + +libicrt_a-readlink.obj: readlink.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-readlink.obj `if test -f 'readlink.c'; then $(CYGPATH_W) 'readlink.c'; else $(CYGPATH_W) '$(srcdir)/readlink.c'; fi` + +libicrt_a-progreloc.o: progreloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-progreloc.o `test -f 'progreloc.c' || echo '$(srcdir)/'`progreloc.c + +libicrt_a-progreloc.obj: progreloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-progreloc.obj `if test -f 'progreloc.c'; then $(CYGPATH_W) 'progreloc.c'; else $(CYGPATH_W) '$(srcdir)/progreloc.c'; fi` + +libicrt_a-safe-read.o: safe-read.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-safe-read.o `test -f 'safe-read.c' || echo '$(srcdir)/'`safe-read.c + +libicrt_a-safe-read.obj: safe-read.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-safe-read.obj `if test -f 'safe-read.c'; then $(CYGPATH_W) 'safe-read.c'; else $(CYGPATH_W) '$(srcdir)/safe-read.c'; fi` + +malloc/libicrt_a-scratch_buffer_dupfree.o: malloc/scratch_buffer_dupfree.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o malloc/libicrt_a-scratch_buffer_dupfree.o `test -f 'malloc/scratch_buffer_dupfree.c' || echo '$(srcdir)/'`malloc/scratch_buffer_dupfree.c + +malloc/libicrt_a-scratch_buffer_dupfree.obj: malloc/scratch_buffer_dupfree.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o malloc/libicrt_a-scratch_buffer_dupfree.obj `if test -f 'malloc/scratch_buffer_dupfree.c'; then $(CYGPATH_W) 'malloc/scratch_buffer_dupfree.c'; else $(CYGPATH_W) '$(srcdir)/malloc/scratch_buffer_dupfree.c'; fi` + +malloc/libicrt_a-scratch_buffer_grow.o: malloc/scratch_buffer_grow.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o malloc/libicrt_a-scratch_buffer_grow.o `test -f 'malloc/scratch_buffer_grow.c' || echo '$(srcdir)/'`malloc/scratch_buffer_grow.c + +malloc/libicrt_a-scratch_buffer_grow.obj: malloc/scratch_buffer_grow.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o malloc/libicrt_a-scratch_buffer_grow.obj `if test -f 'malloc/scratch_buffer_grow.c'; then $(CYGPATH_W) 'malloc/scratch_buffer_grow.c'; else $(CYGPATH_W) '$(srcdir)/malloc/scratch_buffer_grow.c'; fi` + +malloc/libicrt_a-scratch_buffer_grow_preserve.o: malloc/scratch_buffer_grow_preserve.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o malloc/libicrt_a-scratch_buffer_grow_preserve.o `test -f 'malloc/scratch_buffer_grow_preserve.c' || echo '$(srcdir)/'`malloc/scratch_buffer_grow_preserve.c + +malloc/libicrt_a-scratch_buffer_grow_preserve.obj: malloc/scratch_buffer_grow_preserve.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o malloc/libicrt_a-scratch_buffer_grow_preserve.obj `if test -f 'malloc/scratch_buffer_grow_preserve.c'; then $(CYGPATH_W) 'malloc/scratch_buffer_grow_preserve.c'; else $(CYGPATH_W) '$(srcdir)/malloc/scratch_buffer_grow_preserve.c'; fi` + +malloc/libicrt_a-scratch_buffer_set_array_size.o: malloc/scratch_buffer_set_array_size.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o malloc/libicrt_a-scratch_buffer_set_array_size.o `test -f 'malloc/scratch_buffer_set_array_size.c' || echo '$(srcdir)/'`malloc/scratch_buffer_set_array_size.c + +malloc/libicrt_a-scratch_buffer_set_array_size.obj: malloc/scratch_buffer_set_array_size.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o malloc/libicrt_a-scratch_buffer_set_array_size.obj `if test -f 'malloc/scratch_buffer_set_array_size.c'; then $(CYGPATH_W) 'malloc/scratch_buffer_set_array_size.c'; else $(CYGPATH_W) '$(srcdir)/malloc/scratch_buffer_set_array_size.c'; fi` + +libicrt_a-sigprocmask.o: sigprocmask.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-sigprocmask.o `test -f 'sigprocmask.c' || echo '$(srcdir)/'`sigprocmask.c + +libicrt_a-sigprocmask.obj: sigprocmask.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-sigprocmask.obj `if test -f 'sigprocmask.c'; then $(CYGPATH_W) 'sigprocmask.c'; else $(CYGPATH_W) '$(srcdir)/sigprocmask.c'; fi` + +libicrt_a-stat.o: stat.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-stat.o `test -f 'stat.c' || echo '$(srcdir)/'`stat.c + +libicrt_a-stat.obj: stat.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-stat.obj `if test -f 'stat.c'; then $(CYGPATH_W) 'stat.c'; else $(CYGPATH_W) '$(srcdir)/stat.c'; fi` + +libicrt_a-stat-time.o: stat-time.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-stat-time.o `test -f 'stat-time.c' || echo '$(srcdir)/'`stat-time.c + +libicrt_a-stat-time.obj: stat-time.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-stat-time.obj `if test -f 'stat-time.c'; then $(CYGPATH_W) 'stat-time.c'; else $(CYGPATH_W) '$(srcdir)/stat-time.c'; fi` + +libicrt_a-stdio-read.o: stdio-read.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-stdio-read.o `test -f 'stdio-read.c' || echo '$(srcdir)/'`stdio-read.c + +libicrt_a-stdio-read.obj: stdio-read.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-stdio-read.obj `if test -f 'stdio-read.c'; then $(CYGPATH_W) 'stdio-read.c'; else $(CYGPATH_W) '$(srcdir)/stdio-read.c'; fi` + +libicrt_a-stdio-write.o: stdio-write.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-stdio-write.o `test -f 'stdio-write.c' || echo '$(srcdir)/'`stdio-write.c + +libicrt_a-stdio-write.obj: stdio-write.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-stdio-write.obj `if test -f 'stdio-write.c'; then $(CYGPATH_W) 'stdio-write.c'; else $(CYGPATH_W) '$(srcdir)/stdio-write.c'; fi` + +libicrt_a-strerror.o: strerror.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-strerror.o `test -f 'strerror.c' || echo '$(srcdir)/'`strerror.c + +libicrt_a-strerror.obj: strerror.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-strerror.obj `if test -f 'strerror.c'; then $(CYGPATH_W) 'strerror.c'; else $(CYGPATH_W) '$(srcdir)/strerror.c'; fi` + +libicrt_a-strerror-override.o: strerror-override.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-strerror-override.o `test -f 'strerror-override.c' || echo '$(srcdir)/'`strerror-override.c + +libicrt_a-strerror-override.obj: strerror-override.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-strerror-override.obj `if test -f 'strerror-override.c'; then $(CYGPATH_W) 'strerror-override.c'; else $(CYGPATH_W) '$(srcdir)/strerror-override.c'; fi` + +libicrt_a-unistd.o: unistd.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-unistd.o `test -f 'unistd.c' || echo '$(srcdir)/'`unistd.c + +libicrt_a-unistd.obj: unistd.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-unistd.obj `if test -f 'unistd.c'; then $(CYGPATH_W) 'unistd.c'; else $(CYGPATH_W) '$(srcdir)/unistd.c'; fi` + +uniwidth/libicrt_a-width.o: uniwidth/width.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o uniwidth/libicrt_a-width.o `test -f 'uniwidth/width.c' || echo '$(srcdir)/'`uniwidth/width.c + +uniwidth/libicrt_a-width.obj: uniwidth/width.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o uniwidth/libicrt_a-width.obj `if test -f 'uniwidth/width.c'; then $(CYGPATH_W) 'uniwidth/width.c'; else $(CYGPATH_W) '$(srcdir)/uniwidth/width.c'; fi` + +libicrt_a-xmalloc.o: xmalloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c + +libicrt_a-xmalloc.obj: xmalloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi` + +libicrt_a-xstrdup.o: xstrdup.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-xstrdup.o `test -f 'xstrdup.c' || echo '$(srcdir)/'`xstrdup.c + +libicrt_a-xstrdup.obj: xstrdup.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-xstrdup.obj `if test -f 'xstrdup.c'; then $(CYGPATH_W) 'xstrdup.c'; else $(CYGPATH_W) '$(srcdir)/xstrdup.c'; fi` + +libicrt_a-xreadlink.o: xreadlink.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-xreadlink.o `test -f 'xreadlink.c' || echo '$(srcdir)/'`xreadlink.c + +libicrt_a-xreadlink.obj: xreadlink.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-xreadlink.obj `if test -f 'xreadlink.c'; then $(CYGPATH_W) 'xreadlink.c'; else $(CYGPATH_W) '$(srcdir)/xreadlink.c'; fi` + +libicrt_a-stat-w32.o: stat-w32.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-stat-w32.o `test -f 'stat-w32.c' || echo '$(srcdir)/'`stat-w32.c + +libicrt_a-stat-w32.obj: stat-w32.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-stat-w32.obj `if test -f 'stat-w32.c'; then $(CYGPATH_W) 'stat-w32.c'; else $(CYGPATH_W) '$(srcdir)/stat-w32.c'; fi` + +libicrt_a-malloc.o: malloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-malloc.o `test -f 'malloc.c' || echo '$(srcdir)/'`malloc.c + +libicrt_a-malloc.obj: malloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-malloc.obj `if test -f 'malloc.c'; then $(CYGPATH_W) 'malloc.c'; else $(CYGPATH_W) '$(srcdir)/malloc.c'; fi` + +libicrt_a-realloc.o: realloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-realloc.o `test -f 'realloc.c' || echo '$(srcdir)/'`realloc.c + +libicrt_a-realloc.obj: realloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-realloc.obj `if test -f 'realloc.c'; then $(CYGPATH_W) 'realloc.c'; else $(CYGPATH_W) '$(srcdir)/realloc.c'; fi` + +libicrt_a-relocatable.o: relocatable.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-relocatable.o `test -f 'relocatable.c' || echo '$(srcdir)/'`relocatable.c + +libicrt_a-relocatable.obj: relocatable.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libicrt_a_CFLAGS) $(CFLAGS) -c -o libicrt_a-relocatable.obj `if test -f 'relocatable.c'; then $(CYGPATH_W) 'relocatable.c'; else $(CYGPATH_W) '$(srcdir)/relocatable.c'; fi` + mostlyclean-libtool: -rm -f *.lo @@ -1242,7 +1917,6 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -1283,7 +1957,8 @@ all-am: Makefile $(LIBRARIES) installdirs: 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 @@ -1309,6 +1984,7 @@ 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) + -rm -f malloc/$(am__dirstamp) -rm -f uniwidth/$(am__dirstamp) maintainer-clean-generic: @@ -1324,7 +2000,7 @@ clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags + distclean-local distclean-tags dvi: dvi-am @@ -1368,7 +2044,8 @@ installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic +maintainer-clean-am: distclean-am maintainer-clean-generic \ + maintainer-clean-local mostlyclean: mostlyclean-am @@ -1386,22 +2063,23 @@ ps-am: uninstall-am: @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook -.MAKE: all check install install-am install-strip uninstall-am +.MAKE: all check install install-am install-exec install-strip \ + uninstall-am .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLIBRARIES 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 mostlyclean-local pdf \ - pdf-am ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-hook + 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 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 uninstall-hook .PRECIOUS: Makefile @@ -1409,20 +2087,18 @@ 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@ sed -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' < $(srcdir)/alloca.in.h; \ -@GL_GENERATE_ALLOCA_H_TRUE@ } > $@-t && \ -@GL_GENERATE_ALLOCA_H_TRUE@ mv -f $@-t $@ +@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 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' \ @@ -1433,51 +2109,82 @@ 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 # 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' \ + $(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_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/@''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 && \ - mv $@-t $@ + $(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. +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_GNULIB_IMAXABS)/g' \ + -e 's/@''GNULIB_IMAXDIV''@/$(GL_GNULIB_IMAXDIV)/g' \ + -e 's/@''GNULIB_STRTOIMAX''@/$(GL_GNULIB_STRTOIMAX)/g' \ + -e 's/@''GNULIB_STRTOUMAX''@/$(GL_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_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 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@ $(AM_V_GEN)rm -f $@-t $@ && \ -@GL_GENERATE_LIMITS_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ -@GL_GENERATE_LIMITS_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@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; \ -@GL_GENERATE_LIMITS_H_TRUE@ } > $@-t && \ -@GL_GENERATE_LIMITS_H_TRUE@ mv $@-t $@ +@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 $@ @RELOCATABLE_VIA_WRAPPER_TRUE@uninstall-hook: uninstall-relocwrapper @@ -1493,21 +2200,30 @@ fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) @RELOCATABLE_VIA_WRAPPER_TRUE@ fi .PHONY: uninstall-relocwrapper +malloc/scratch_buffer.gl.h: malloc/scratch_buffer.h + $(AM_V_GEN)$(MKDIR_P) 'malloc' + $(AM_V_at)$(SED_HEADER_STDOUT) \ + -e 's|__always_inline|inline _GL_ATTRIBUTE_ALWAYS_INLINE|g' \ + -e 's|__glibc_likely|_GL_LIKELY|g' \ + -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ + -e '/libc_hidden_proto/d' \ + $(srcdir)/malloc/scratch_buffer.h > $@-t + $(AM_V_at)mv $@-t $@ + # We need the following in order to create when the system # doesn't have a complete one. signal.h: signal.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_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ - -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GNULIB_PTHREAD_SIGMASK)/g' \ - -e 's/@''GNULIB_RAISE''@/$(GNULIB_RAISE)/g' \ - -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ - -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ - -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ + -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GL_GNULIB_PTHREAD_SIGMASK)/g' \ + -e 's/@''GNULIB_RAISE''@/$(GL_GNULIB_RAISE)/g' \ + -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GL_GNULIB_SIGNAL_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_SIGPROCMASK''@/$(GL_GNULIB_SIGPROCMASK)/g' \ + -e 's/@''GNULIB_SIGACTION''@/$(GL_GNULIB_SIGACTION)/g' \ -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \ -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \ @@ -1522,27 +2238,32 @@ signal.h: signal.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)/signal.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(srcdir)/signal.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. +@GL_GENERATE_STDALIGN_H_TRUE@stdalign.h: stdalign.in.h $(top_builddir)/config.status +@GL_GENERATE_STDALIGN_H_TRUE@ $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/stdalign.in.h +@GL_GENERATE_STDALIGN_H_TRUE@ $(AM_V_at)mv $@-t $@ +@GL_GENERATE_STDALIGN_H_FALSE@stdalign.h: $(top_builddir)/config.status +@GL_GENERATE_STDALIGN_H_FALSE@ rm -f $@ # 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_TRUE@ $(gl_V_at)$(SED_HEADER_STDOUT) \ +@GL_GENERATE_STDBOOL_H_TRUE@ -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' \ +@GL_GENERATE_STDBOOL_H_TRUE@ $(srcdir)/stdbool.in.h > $@-t +@GL_GENERATE_STDBOOL_H_TRUE@ $(AM_V_at)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_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' \ @@ -1550,18 +2271,16 @@ signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H @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|g' \ +@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' \ @@ -1573,8 +2292,6 @@ signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H @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' \ @@ -1589,78 +2306,84 @@ signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_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@ -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/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. 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' \ + $(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''@/$(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' \ + -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 | \ - sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ + 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' \ @@ -1681,6 +2404,7 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -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' \ @@ -1711,60 +2435,76 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -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 $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_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. 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' \ + $(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''@/$(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_QSORT_R''@/$(GNULIB_QSORT_R)/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_REALLOCARRAY''@/$(GNULIB_REALLOCARRAY)/g' \ - -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ - -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ - -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ - -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ - -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ - -e 's/@''GNULIB_STRTOLD''@/$(GNULIB_STRTOLD)/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' \ + -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_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_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_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 | \ 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_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ @@ -1776,6 +2516,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -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' \ @@ -1791,94 +2532,111 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -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' \ - -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|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_INITSTATE''@|$(REPLACE_INITSTATE)|g' \ - -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|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_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ + -e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|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_RANDOM''@|$(REPLACE_RANDOM)|g' \ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ - -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|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)'; \ - } > $@-t && \ - mv $@-t $@ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_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. 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_EXPLICIT_BZERO''@/$(GNULIB_EXPLICIT_BZERO)/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' \ + -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_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 | \ 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' \ @@ -1894,10 +2652,15 @@ 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_FFSLL''@|$(REPLACE_FFSLL)|g' \ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ + -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ @@ -1909,45 +2672,50 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -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)' \ + > $@-t + $(AM_V_at)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' \ + $(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_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/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GNULIB_OVERRIDES_STRUCT_STAT)/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' \ @@ -1956,65 +2724,68 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|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 && \ - mv $@-t $@ + $(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' \ -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \ - < $(srcdir)/sys_types.in.h; \ - } > $@-t && \ - mv $@-t $@ + $(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) - $(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_TIME_H''@|$(NEXT_TIME_H)|g' \ - -e 's/@''GNULIB_CTIME''@/$(GNULIB_CTIME)/g' \ - -e 's/@''GNULIB_LOCALTIME''@/$(GNULIB_LOCALTIME)/g' \ - -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \ - -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \ - -e 's/@''GNULIB_STRFTIME''@/$(GNULIB_STRFTIME)/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/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \ - -e 's/@''GNULIB_TZSET''@/$(GNULIB_TZSET)/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_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|@''HAVE_TZSET''@|$(HAVE_TZSET)|g' \ -e 's|@''REPLACE_CTIME''@|$(REPLACE_CTIME)|g' \ -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \ -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \ @@ -2028,81 +2799,114 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( -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 && \ - mv $@-t $@ + $(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_GETPASS''@/$(GNULIB_GETPASS)/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_TRUNCATE''@/$(GNULIB_TRUNCATE)/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' \ + -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' \ + -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' \ < $(srcdir)/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ - -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|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' \ @@ -2110,6 +2914,7 @@ 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_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ @@ -2131,6 +2936,7 @@ 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' \ @@ -2144,10 +2950,19 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -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' \ + 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_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_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ @@ -2158,6 +2973,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -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' \ @@ -2178,27 +2994,145 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -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)' \ + > $@-t + $(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 $@ uniwidth.h: uniwidth.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/uniwidth.in.h; \ - } > $@-t && \ - mv -f $@-t $@ + $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/uniwidth.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|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_GNULIB_BTOWC)/g' \ + -e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \ + -e 's/@''GNULIB_MBSINIT''@/$(GL_GNULIB_MBSINIT)/g' \ + -e 's/@''GNULIB_MBRTOWC''@/$(GL_GNULIB_MBRTOWC)/g' \ + -e 's/@''GNULIB_MBRLEN''@/$(GL_GNULIB_MBRLEN)/g' \ + -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \ + -e 's/@''GNULIB_MBSNRTOWCS''@/$(GL_GNULIB_MBSNRTOWCS)/g' \ + -e 's/@''GNULIB_WCRTOMB''@/$(GL_GNULIB_WCRTOMB)/g' \ + -e 's/@''GNULIB_WCSRTOMBS''@/$(GL_GNULIB_WCSRTOMBS)/g' \ + -e 's/@''GNULIB_WCSNRTOMBS''@/$(GL_GNULIB_WCSNRTOMBS)/g' \ + -e 's/@''GNULIB_WCWIDTH''@/$(GL_GNULIB_WCWIDTH)/g' \ + -e 's/@''GNULIB_WMEMCHR''@/$(GL_GNULIB_WMEMCHR)/g' \ + -e 's/@''GNULIB_WMEMCMP''@/$(GL_GNULIB_WMEMCMP)/g' \ + -e 's/@''GNULIB_WMEMCPY''@/$(GL_GNULIB_WMEMCPY)/g' \ + -e 's/@''GNULIB_WMEMMOVE''@/$(GL_GNULIB_WMEMMOVE)/g' \ + -e 's/@''GNULIB_WMEMPCPY''@/$(GL_GNULIB_WMEMPCPY)/g' \ + -e 's/@''GNULIB_WMEMSET''@/$(GL_GNULIB_WMEMSET)/g' \ + -e 's/@''GNULIB_WCSLEN''@/$(GL_GNULIB_WCSLEN)/g' \ + -e 's/@''GNULIB_WCSNLEN''@/$(GL_GNULIB_WCSNLEN)/g' \ + -e 's/@''GNULIB_WCSCPY''@/$(GL_GNULIB_WCSCPY)/g' \ + -e 's/@''GNULIB_WCPCPY''@/$(GL_GNULIB_WCPCPY)/g' \ + -e 's/@''GNULIB_WCSNCPY''@/$(GL_GNULIB_WCSNCPY)/g' \ + -e 's/@''GNULIB_WCPNCPY''@/$(GL_GNULIB_WCPNCPY)/g' \ + -e 's/@''GNULIB_WCSCAT''@/$(GL_GNULIB_WCSCAT)/g' \ + -e 's/@''GNULIB_WCSNCAT''@/$(GL_GNULIB_WCSNCAT)/g' \ + -e 's/@''GNULIB_WCSCMP''@/$(GL_GNULIB_WCSCMP)/g' \ + -e 's/@''GNULIB_WCSNCMP''@/$(GL_GNULIB_WCSNCMP)/g' \ + -e 's/@''GNULIB_WCSCASECMP''@/$(GL_GNULIB_WCSCASECMP)/g' \ + -e 's/@''GNULIB_WCSNCASECMP''@/$(GL_GNULIB_WCSNCASECMP)/g' \ + -e 's/@''GNULIB_WCSCOLL''@/$(GL_GNULIB_WCSCOLL)/g' \ + -e 's/@''GNULIB_WCSXFRM''@/$(GL_GNULIB_WCSXFRM)/g' \ + -e 's/@''GNULIB_WCSDUP''@/$(GL_GNULIB_WCSDUP)/g' \ + -e 's/@''GNULIB_WCSCHR''@/$(GL_GNULIB_WCSCHR)/g' \ + -e 's/@''GNULIB_WCSRCHR''@/$(GL_GNULIB_WCSRCHR)/g' \ + -e 's/@''GNULIB_WCSCSPN''@/$(GL_GNULIB_WCSCSPN)/g' \ + -e 's/@''GNULIB_WCSSPN''@/$(GL_GNULIB_WCSSPN)/g' \ + -e 's/@''GNULIB_WCSPBRK''@/$(GL_GNULIB_WCSPBRK)/g' \ + -e 's/@''GNULIB_WCSSTR''@/$(GL_GNULIB_WCSSTR)/g' \ + -e 's/@''GNULIB_WCSTOK''@/$(GL_GNULIB_WCSTOK)/g' \ + -e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \ + -e 's/@''GNULIB_WCSFTIME''@/$(GL_GNULIB_WCSFTIME)/g' \ + -e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_GNULIB_MDA_WCSDUP)/g' \ + -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/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_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' \ + | \ + 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_WCSTOK''@|$(REPLACE_WCSTOK)|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 + $(AM_V_at)mv $@-t $@ mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ @@ -2207,6 +3141,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/source/srclib/_Noreturn.h b/source/srclib/_Noreturn.h index db9b455..e914627 100644 --- a/source/srclib/_Noreturn.h +++ b/source/srclib/_Noreturn.h @@ -1,29 +1,41 @@ /* A C macro for declaring that a function does not return. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify 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 + 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))) + || (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 __cplusplus || defined __clang__) \ - && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) +# 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__) || 0x5110 <= __SUNPRO_C +# 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) diff --git a/source/srclib/alloca.in.h b/source/srclib/alloca.in.h index 4b6ff00..02694d1 100644 --- a/source/srclib/alloca.in.h +++ b/source/srclib/alloca.in.h @@ -1,17 +1,17 @@ /* Memory allocation on the stack. Copyright (C) 1995, 1999, 2001-2007 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* When this file is included, it may be preceded only by preprocessor diff --git a/source/srclib/allocator.c b/source/srclib/allocator.c index 2c1a3da..42c8918 100644 --- a/source/srclib/allocator.c +++ b/source/srclib/allocator.c @@ -1,3 +1,20 @@ +/* Memory allocators such as malloc+free. + + Copyright (C) 2011-2022 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 . */ + #define _GL_USE_STDLIB_ALLOC 1 #include #include "allocator.h" diff --git a/source/srclib/allocator.h b/source/srclib/allocator.h index 5a632ba..3e698ce 100644 --- a/source/srclib/allocator.h +++ b/source/srclib/allocator.h @@ -1,18 +1,18 @@ /* Memory allocators such as malloc+free. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ diff --git a/source/srclib/areadlink.c b/source/srclib/areadlink.c index 0594356..0bff4a9 100644 --- a/source/srclib/areadlink.c +++ b/source/srclib/areadlink.c @@ -1,19 +1,19 @@ /* areadlink.c -- readlink wrapper to return the link name in malloc'd storage Unlike xreadlink and xreadlink_with_size, don't ever call exit. - Copyright (C) 2001, 2003-2007, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2001, 2003-2007, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Jim Meyering diff --git a/source/srclib/areadlink.h b/source/srclib/areadlink.h index ddcd06d..1518d74 100644 --- a/source/srclib/areadlink.h +++ b/source/srclib/areadlink.h @@ -1,33 +1,37 @@ /* Read symbolic links without size limitation. - Copyright (C) 2001, 2003-2004, 2007, 2009-2019 Free Software Foundation, + Copyright (C) 2001, 2003-2004, 2007, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Jim Meyering */ -#include +#include -extern char *areadlink (char const *filename); -extern char *areadlink_with_size (char const *filename, size_t size_hint); +extern char *areadlink (char const *filename) + _GL_ATTRIBUTE_DEALLOC_FREE; +extern char *areadlink_with_size (char const *filename, size_t size_hint) + _GL_ATTRIBUTE_DEALLOC_FREE; #if GNULIB_AREADLINKAT -extern char *areadlinkat (int fd, char const *filename); +extern char *areadlinkat (int fd, char const *filename) + _GL_ATTRIBUTE_DEALLOC_FREE; #endif #if GNULIB_AREADLINKAT_WITH_SIZE extern char *areadlinkat_with_size (int fd, char const *filename, - size_t size_hint); + size_t size_hint) + _GL_ATTRIBUTE_DEALLOC_FREE; #endif diff --git a/source/srclib/arg-nonnull.h b/source/srclib/arg-nonnull.h index ad8c26c..e4513ef 100644 --- a/source/srclib/arg-nonnull.h +++ b/source/srclib/arg-nonnull.h @@ -1,24 +1,24 @@ /* A C macro for declaring that specific arguments must not be NULL. - Copyright (C) 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify 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 + 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/source/srclib/basename-lgpl.c b/source/srclib/basename-lgpl.c index 0ae04ee..eb07e25 100644 --- a/source/srclib/basename-lgpl.c +++ b/source/srclib/basename-lgpl.c @@ -1,37 +1,37 @@ /* basename.c -- return the last element in a file name - Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2019 Free Software + Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include -#include "dirname.h" +/* Specification. */ +#include "basename-lgpl.h" +#include #include -/* Return the address of the last file name component of NAME. If - NAME has no relative file name components because it is a file - system root, return the empty string. */ +#include "filename.h" char * last_component (char const *name) { char const *base = name + FILE_SYSTEM_PREFIX_LEN (name); char const *p; - bool saw_slash = false; + bool last_was_slash = false; while (ISSLASH (*base)) base++; @@ -39,21 +39,17 @@ last_component (char const *name) for (p = base; *p; p++) { if (ISSLASH (*p)) - saw_slash = true; - else if (saw_slash) + last_was_slash = true; + else if (last_was_slash) { base = p; - saw_slash = false; + last_was_slash = false; } } return (char *) base; } -/* Return the length of the basename NAME. Typically NAME is the - value returned by base_name or last_component. Act like strlen - (NAME), except omit all trailing slashes. */ - size_t base_len (char const *name) { diff --git a/source/srclib/basename-lgpl.h b/source/srclib/basename-lgpl.h new file mode 100644 index 0000000..5569f21 --- /dev/null +++ b/source/srclib/basename-lgpl.h @@ -0,0 +1,78 @@ +/* Extract the last component (base name) of a file name. + + Copyright (C) 1998, 2001, 2003-2006, 2009-2022 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 + +#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/source/srclib/binary-io.c b/source/srclib/binary-io.c index 01e0bf6..ea407fd 100644 --- a/source/srclib/binary-io.c +++ b/source/srclib/binary-io.c @@ -1,17 +1,17 @@ /* Binary mode I/O. - Copyright 2017-2019 Free Software Foundation, Inc. + Copyright 2017-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -20,18 +20,20 @@ #include "binary-io.h" #if defined __DJGPP__ || defined __EMX__ -# include # include int -__gl_setmode_check (int fd) +set_binary_mode (int fd, int mode) { if (isatty (fd)) - { - errno = EINVAL; - return -1; - } + /* If FD refers to a console (not a pipe, not a regular file), + O_TEXT is the only reasonable mode, both on input and on output. + Silently ignore the request. If we were to return -1 here, + all programs that use xset_binary_mode would fail when run + with console input or console output. */ + return O_TEXT; else - return 0; + return __gl_setmode (fd, mode); } + #endif diff --git a/source/srclib/binary-io.h b/source/srclib/binary-io.h index 720b08c..5b7661e 100644 --- a/source/srclib/binary-io.h +++ b/source/srclib/binary-io.h @@ -1,17 +1,17 @@ /* Binary mode I/O. - Copyright (C) 2001, 2003, 2005, 2008-2019 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2005, 2008-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _BINARY_H @@ -47,31 +47,27 @@ _GL_INLINE_HEADER_BEGIN /* Use a function rather than a macro, to avoid gcc warnings "warning: statement with no effect". */ BINARY_IO_INLINE int -__gl_setmode (int fd _GL_UNUSED, int mode _GL_UNUSED) +__gl_setmode (_GL_UNUSED int fd, _GL_UNUSED int mode) { return O_BINARY; } #endif -#if defined __DJGPP__ || defined __EMX__ -extern int __gl_setmode_check (int); -#else -BINARY_IO_INLINE int -__gl_setmode_check (int fd _GL_UNUSED) { return 0; } -#endif - /* Set FD's mode to MODE, which should be either O_TEXT or O_BINARY. Return the old mode if successful, -1 (setting errno) on failure. Ordinarily this function would be called 'setmode', since that is - its name on MS-Windows, but it is called 'set_binary_mode' here + its old name on MS-Windows, but it is called 'set_binary_mode' here to avoid colliding with a BSD function of another name. */ +#if defined __DJGPP__ || defined __EMX__ +extern int set_binary_mode (int fd, int mode); +#else BINARY_IO_INLINE int set_binary_mode (int fd, int mode) { - int r = __gl_setmode_check (fd); - return r != 0 ? r : __gl_setmode (fd, mode); + return __gl_setmode (fd, mode); } +#endif /* This macro is obsolescent. */ #define SET_BINARY(fd) ((void) set_binary_mode (fd, O_BINARY)) diff --git a/source/srclib/c++defs.h b/source/srclib/c++defs.h index 87d0716..ad18155 100644 --- a/source/srclib/c++defs.h +++ b/source/srclib/c++defs.h @@ -1,17 +1,17 @@ /* C++ compatible function declaration macros. - Copyright (C) 2010-2019 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _GL_CXXDEFS_H @@ -146,6 +146,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 @@ -171,6 +181,14 @@ _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 @@ -268,7 +286,7 @@ _GL_CXXALIASWARN_2 (func, namespace) /* 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. " \ @@ -296,14 +314,11 @@ _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) /* 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/source/srclib/c-ctype.c b/source/srclib/c-ctype.c index 5d9d4d8..a247514 100644 --- a/source/srclib/c-ctype.c +++ b/source/srclib/c-ctype.c @@ -1,3 +1,21 @@ +/* Character handling in C locale. + + Copyright (C) 2003-2022 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 C_CTYPE_INLINE _GL_EXTERN_INLINE #include "c-ctype.h" diff --git a/source/srclib/c-ctype.h b/source/srclib/c-ctype.h index 4d52176..1a4f603 100644 --- a/source/srclib/c-ctype.h +++ b/source/srclib/c-ctype.h @@ -5,20 +5,20 @@ functions' behaviour depends on the current locale set via setlocale. - Copyright (C) 2000-2003, 2006, 2008-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2006, 2008-2022 Free Software Foundation, Inc. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU 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, -but WITHOUT 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 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 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 diff --git a/source/srclib/canonicalize-lgpl.c b/source/srclib/canonicalize-lgpl.c index 4d1be6d..a7fa7fe 100644 --- a/source/srclib/canonicalize-lgpl.c +++ b/source/srclib/canonicalize-lgpl.c @@ -1,58 +1,58 @@ /* Return the canonical absolute name of a given file. - Copyright (C) 1996-2019 Free Software Foundation, Inc. + Copyright (C) 1996-2022 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. + 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 _LIBC /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc optimizes away the name == NULL test below. */ # define _GL_ARG_NONNULL(params) -# define _GL_USE_STDLIB_ALLOC 1 -# include +# include #endif -#if !HAVE_CANONICALIZE_FILE_NAME || !FUNC_REALPATH_WORKS || defined _LIBC - /* Specification. */ #include -#include -#include -#include +#include +#include #include -#if HAVE_SYS_PARAM_H || defined _LIBC -# include -#endif +#include +#include #include -#include -#include +#include + +#include +#include +#include +#include +#include #ifdef _LIBC # include +# define GCC_LINT 1 +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) #else -# define SHLIB_COMPAT(lib, introduced, obsoleted) 0 -# define versioned_symbol(lib, local, symbol, version) extern int dummy -# define compat_symbol(lib, local, symbol, version) -# define weak_alias(local, symbol) # define __canonicalize_file_name canonicalize_file_name # define __realpath realpath # include "pathmax.h" -# include "malloca.h" -# include "dosname.h" -# if HAVE_GETCWD +# define __faccessat faccessat +# if defined _WIN32 && !defined __CYGWIN__ +# define __getcwd _getcwd +# elif HAVE_GETCWD # if IN_RELOCWRAPPER /* When building the relocatable program wrapper, use the system's getcwd function, not the gnulib override, otherwise we would get a link error. @@ -70,57 +70,142 @@ # else # define __getcwd(buf, max) getwd (buf) # endif +# define __mempcpy mempcpy +# define __pathconf pathconf +# define __rawmemchr rawmemchr # define __readlink readlink -# define __set_errno(e) errno = (e) -# ifndef MAXSYMLINKS -# ifdef SYMLOOP_MAX -# define MAXSYMLINKS SYMLOOP_MAX -# else -# define MAXSYMLINKS 20 -# endif +# if IN_RELOCWRAPPER + /* When building the relocatable program wrapper, use the system's memmove + function, not the gnulib override, otherwise we would get a link error. + */ +# undef memmove # endif #endif -#ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT -# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 +/* Suppress bogus GCC -Wmaybe-uninitialized warnings. */ +#if defined GCC_LINT || defined lint +# define IF_LINT(Code) Code +#else +# define IF_LINT(Code) /* empty */ #endif -/* Define this independently so that stdint.h is not a prerequisite. */ -#ifndef SIZE_MAX -# define SIZE_MAX ((size_t) -1) +#ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT +# define DOUBLE_SLASH_IS_DISTINCT_ROOT false #endif -#if !FUNC_REALPATH_WORKS || defined _LIBC +#if defined _LIBC || !FUNC_REALPATH_WORKS -static void -alloc_failed (void) +/* Return true if FILE's existence can be shown, false (setting errno) + otherwise. Follow symbolic links. */ +static bool +file_accessible (char const *file) { -#if defined _WIN32 && ! defined __CYGWIN__ - /* Avoid errno problem without using the malloc or realloc modules; see: - https://lists.gnu.org/r/bug-gnulib/2016-08/msg00025.html */ - errno = ENOMEM; -#endif +# if defined _LIBC || HAVE_FACCESSAT + return __faccessat (AT_FDCWD, file, F_OK, AT_EACCESS) == 0; +# else + struct stat st; + return stat (file, &st) == 0 || errno == EOVERFLOW; +# endif } -/* Return the canonical absolute name of file NAME. A canonical name - does not contain any ".", ".." components nor any repeated path - separators ('/') or symlinks. All path components must exist. If - RESOLVED is null, the result is malloc'd; otherwise, if the - canonical name is PATH_MAX chars or more, returns null with 'errno' - set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, - returns the name in RESOLVED. If the name cannot be resolved and - RESOLVED is non-NULL, it contains the path of the first component - that cannot be resolved. If the path can be resolved, RESOLVED - holds the same value as the value returned. */ +/* True if concatenating END as a suffix to a file name means that the + code needs to check that the file name is that of a searchable + directory, since the canonicalize_filename_mode_stk code won't + check this later anyway when it checks an ordinary file name + component within END. END must either be empty, or start with a + slash. */ -char * -__realpath (const char *name, char *resolved) +static bool _GL_ATTRIBUTE_PURE +suffix_requires_dir_check (char const *end) +{ + /* If END does not start with a slash, the suffix is OK. */ + while (ISSLASH (*end)) + { + /* Two or more slashes act like a single slash. */ + do + end++; + while (ISSLASH (*end)); + + switch (*end++) + { + default: return false; /* An ordinary file name component is OK. */ + case '\0': return true; /* Trailing "/" is trouble. */ + case '.': break; /* Possibly "." or "..". */ + } + /* Trailing "/.", or "/.." even if not trailing, is trouble. */ + if (!*end || (*end == '.' && (!end[1] || ISSLASH (end[1])))) + return true; + } + + return false; +} + +/* Append this to a file name to test whether it is a searchable directory. + On POSIX platforms "/" suffices, but "/./" is sometimes needed on + macOS 10.13 , and should also work on + platforms like AIX 7.2 that need at least "/.". */ + +# if defined _LIBC || defined LSTAT_FOLLOWS_SLASHED_SYMLINK +static char const dir_suffix[] = "/"; +# else +static char const dir_suffix[] = "/./"; +# endif + +/* Return true if DIR is a searchable dir, false (setting errno) otherwise. + DIREND points to the NUL byte at the end of the DIR string. + Store garbage into DIREND[0 .. strlen (dir_suffix)]. */ + +static bool +dir_check (char *dir, char *dirend) { - char *rpath, *dest, *extra_buf = NULL; - const char *start, *end, *rpath_limit; - long int path_max; + strcpy (dirend, dir_suffix); + return file_accessible (dir); +} + +static idx_t +get_path_max (void) +{ +# ifdef PATH_MAX + long int path_max = PATH_MAX; +# else + /* The caller invoked realpath with a null RESOLVED, even though + PATH_MAX is not defined as a constant. The glibc manual says + programs should not do this, and POSIX says the behavior is undefined. + Historically, glibc here used the result of pathconf, or 1024 if that + failed; stay consistent with this (dubious) historical practice. */ + int err = errno; + long int path_max = __pathconf ("/", _PC_PATH_MAX); + __set_errno (err); +# endif + return path_max < 0 ? 1024 : path_max <= IDX_MAX ? path_max : IDX_MAX; +} + +/* Act like __realpath (see below), with an additional argument + rname_buf that can be used as temporary storage. + + If GCC_LINT is defined, do not inline this function with GCC 10.1 + and later, to avoid creating a pointer to the stack that GCC + -Wreturn-local-addr incorrectly complains about. See: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93644 + Although the noinline attribute can hurt performance a bit, no better way + to pacify GCC is known; even an explicit #pragma does not pacify GCC. + When the GCC bug is fixed this workaround should be limited to the + broken GCC versions. */ +# if __GNUC_PREREQ (10, 1) +# if defined GCC_LINT || defined lint +__attribute__ ((__noinline__)) +# elif __OPTIMIZE__ && !__NO_INLINE__ +# define GCC_BOGUS_WRETURN_LOCAL_ADDR +# endif +# endif +static char * +realpath_stk (const char *name, char *resolved, + struct scratch_buffer *rname_buf) +{ + char *dest; + char const *start; + char const *end; int num_links = 0; - size_t prefix_len; if (name == NULL) { @@ -140,205 +225,148 @@ __realpath (const char *name, char *resolved) return NULL; } -#ifdef PATH_MAX - path_max = PATH_MAX; -#else - path_max = pathconf (name, _PC_PATH_MAX); - if (path_max <= 0) - path_max = 8192; -#endif - - if (resolved == NULL) - { - rpath = malloc (path_max); - if (rpath == NULL) - { - alloc_failed (); - return NULL; - } - } - else - rpath = resolved; - rpath_limit = rpath + path_max; + struct scratch_buffer extra_buffer, link_buffer; + scratch_buffer_init (&extra_buffer); + scratch_buffer_init (&link_buffer); + scratch_buffer_init (rname_buf); + char *rname_on_stack = rname_buf->data; + char *rname = rname_on_stack; + bool end_in_extra_buffer = false; + bool failed = true; /* This is always zero for Posix hosts, but can be 2 for MS-Windows and MS-DOS X:/foo/bar file names. */ - prefix_len = FILE_SYSTEM_PREFIX_LEN (name); + idx_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name); if (!IS_ABSOLUTE_FILE_NAME (name)) { - if (!__getcwd (rpath, path_max)) + while (!__getcwd (rname, rname_buf->length)) { - rpath[0] = '\0'; - goto error; + if (errno != ERANGE) + { + dest = rname; + goto error; + } + if (!scratch_buffer_grow (rname_buf)) + goto error_nomem; + rname = rname_buf->data; } - dest = strchr (rpath, '\0'); + dest = __rawmemchr (rname, '\0'); start = name; - prefix_len = FILE_SYSTEM_PREFIX_LEN (rpath); + prefix_len = FILE_SYSTEM_PREFIX_LEN (rname); } else { - dest = rpath; - if (prefix_len) - { - memcpy (rpath, name, prefix_len); - dest += prefix_len; - } + dest = __mempcpy (rname, name, prefix_len); *dest++ = '/'; if (DOUBLE_SLASH_IS_DISTINCT_ROOT) { - if (ISSLASH (name[1]) && !ISSLASH (name[2]) && !prefix_len) + if (prefix_len == 0 /* implies ISSLASH (name[0]) */ + && ISSLASH (name[1]) && !ISSLASH (name[2])) *dest++ = '/'; *dest = '\0'; } start = name + prefix_len; } - for (end = start; *start; start = end) + for ( ; *start; start = end) { -#ifdef _LIBC - struct stat64 st; -#else - struct stat st; -#endif - - /* Skip sequence of multiple path-separators. */ + /* Skip sequence of multiple file name separators. */ while (ISSLASH (*start)) ++start; - /* Find end of path component. */ + /* Find end of component. */ for (end = start; *end && !ISSLASH (*end); ++end) /* Nothing. */; - if (end - start == 0) + /* Length of this file name component; it can be zero if a file + name ends in '/'. */ + idx_t startlen = end - start; + + if (startlen == 0) break; - else if (end - start == 1 && start[0] == '.') + else if (startlen == 1 && start[0] == '.') /* nothing */; - else if (end - start == 2 && start[0] == '.' && start[1] == '.') + else if (startlen == 2 && start[0] == '.' && start[1] == '.') { /* Back up to previous component, ignore if at root already. */ - if (dest > rpath + prefix_len + 1) - for (--dest; dest > rpath && !ISSLASH (dest[-1]); --dest) + if (dest > rname + prefix_len + 1) + for (--dest; dest > rname && !ISSLASH (dest[-1]); --dest) continue; if (DOUBLE_SLASH_IS_DISTINCT_ROOT - && dest == rpath + 1 && !prefix_len + && dest == rname + 1 && !prefix_len && ISSLASH (*dest) && !ISSLASH (dest[1])) dest++; } else { - size_t new_size; - if (!ISSLASH (dest[-1])) *dest++ = '/'; - if (dest + (end - start) >= rpath_limit) + while (rname + rname_buf->length - dest + < startlen + sizeof dir_suffix) { - ptrdiff_t dest_offset = dest - rpath; - char *new_rpath; - - if (resolved) - { - __set_errno (ENAMETOOLONG); - if (dest > rpath + prefix_len + 1) - dest--; - *dest = '\0'; - goto error; - } - new_size = rpath_limit - rpath; - if (end - start + 1 > path_max) - new_size += end - start + 1; - else - new_size += path_max; - new_rpath = (char *) realloc (rpath, new_size); - if (new_rpath == NULL) - { - alloc_failed (); - goto error; - } - rpath = new_rpath; - rpath_limit = rpath + new_size; - - dest = rpath + dest_offset; + idx_t dest_offset = dest - rname; + if (!scratch_buffer_grow_preserve (rname_buf)) + goto error_nomem; + rname = rname_buf->data; + dest = rname + dest_offset; } -#ifdef _LIBC - dest = __mempcpy (dest, start, end - start); -#else - memcpy (dest, start, end - start); - dest += end - start; -#endif + dest = __mempcpy (dest, start, startlen); *dest = '\0'; - /* FIXME: if lstat fails with errno == EOVERFLOW, - the entry exists. */ -#ifdef _LIBC - if (__lxstat64 (_STAT_VER, rpath, &st) < 0) -#else - if (lstat (rpath, &st) < 0) -#endif - goto error; - - if (S_ISLNK (st.st_mode)) + char *buf; + ssize_t n; + while (true) { - char *buf; - size_t len; - ssize_t n; - - if (++num_links > MAXSYMLINKS) + buf = link_buffer.data; + idx_t bufsize = link_buffer.length; + n = __readlink (rname, buf, bufsize - 1); + if (n < bufsize - 1) + break; + if (!scratch_buffer_grow (&link_buffer)) + goto error_nomem; + } + if (0 <= n) + { + if (++num_links > __eloop_threshold ()) { __set_errno (ELOOP); goto error; } - buf = malloca (path_max); - if (!buf) - { - __set_errno (ENOMEM); - goto error; - } - - n = __readlink (rpath, buf, path_max - 1); - if (n < 0) - { - int saved_errno = errno; - freea (buf); - __set_errno (saved_errno); - goto error; - } buf[n] = '\0'; - if (!extra_buf) + char *extra_buf = extra_buffer.data; + idx_t end_idx IF_LINT (= 0); + if (end_in_extra_buffer) + end_idx = end - extra_buf; + size_t len = strlen (end); + if (INT_ADD_OVERFLOW (len, n)) { - extra_buf = malloca (path_max); - if (!extra_buf) - { - freea (buf); - __set_errno (ENOMEM); - goto error; - } + __set_errno (ENOMEM); + goto error_nomem; } - - len = strlen (end); - /* Check that n + len + 1 doesn't overflow and is <= path_max. */ - if (n >= SIZE_MAX - len || n + len >= path_max) + while (extra_buffer.length <= len + n) { - freea (buf); - __set_errno (ENAMETOOLONG); - goto error; + if (!scratch_buffer_grow_preserve (&extra_buffer)) + goto error_nomem; + extra_buf = extra_buffer.data; } + if (end_in_extra_buffer) + end = extra_buf + end_idx; /* Careful here, end may be a pointer into extra_buf... */ memmove (&extra_buf[n], end, len + 1); name = end = memcpy (extra_buf, buf, n); + end_in_extra_buffer = true; if (IS_ABSOLUTE_FILE_NAME (buf)) { - size_t pfxlen = FILE_SYSTEM_PREFIX_LEN (buf); + idx_t pfxlen = FILE_SYSTEM_PREFIX_LEN (buf); - if (pfxlen) - memcpy (rpath, buf, pfxlen); - dest = rpath + pfxlen; + dest = __mempcpy (rname, buf, pfxlen); *dest++ = '/'; /* It's an absolute symlink */ if (DOUBLE_SLASH_IS_DISTINCT_ROOT) { @@ -353,46 +381,70 @@ __realpath (const char *name, char *resolved) { /* Back up to previous component, ignore if at root already: */ - if (dest > rpath + prefix_len + 1) - for (--dest; dest > rpath && !ISSLASH (dest[-1]); --dest) + if (dest > rname + prefix_len + 1) + for (--dest; dest > rname && !ISSLASH (dest[-1]); --dest) continue; - if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 + if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rname + 1 && ISSLASH (*dest) && !ISSLASH (dest[1]) && !prefix_len) dest++; } } - else if (!S_ISDIR (st.st_mode) && *end != '\0') - { - __set_errno (ENOTDIR); - goto error; - } + else if (! (suffix_requires_dir_check (end) + ? dir_check (rname, dest) + : errno == EINVAL)) + goto error; } } - if (dest > rpath + prefix_len + 1 && ISSLASH (dest[-1])) + if (dest > rname + prefix_len + 1 && ISSLASH (dest[-1])) --dest; - if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 && !prefix_len + if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rname + 1 && !prefix_len && ISSLASH (*dest) && !ISSLASH (dest[1])) dest++; - *dest = '\0'; + failed = false; - if (extra_buf) - freea (extra_buf); +error: + *dest++ = '\0'; + if (resolved != NULL && dest - rname <= get_path_max ()) + rname = strcpy (resolved, rname); - return rpath; +error_nomem: + scratch_buffer_free (&extra_buffer); + scratch_buffer_free (&link_buffer); -error: - { - int saved_errno = errno; - if (extra_buf) - freea (extra_buf); - if (resolved == NULL) - free (rpath); - __set_errno (saved_errno); - } - return NULL; + if (failed || rname == resolved) + { + scratch_buffer_free (rname_buf); + return failed ? NULL : resolved; + } + + return scratch_buffer_dupfree (rname_buf, dest - rname); +} + +/* Return the canonical absolute name of file NAME. A canonical name + does not contain any ".", ".." components nor any repeated file name + separators ('/') or symlinks. All file name components must exist. If + RESOLVED is null, the result is malloc'd; otherwise, if the + canonical name is PATH_MAX chars or more, returns null with 'errno' + set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, + returns the name in RESOLVED. If the name cannot be resolved and + RESOLVED is non-NULL, it contains the name of the first component + that cannot be resolved. If the name can be resolved, RESOLVED + holds the same value as the value returned. */ + +char * +__realpath (const char *name, char *resolved) +{ + #ifdef GCC_BOGUS_WRETURN_LOCAL_ADDR + #warning "GCC might issue a bogus -Wreturn-local-addr warning here." + #warning "See ." + #endif + struct scratch_buffer rname_buffer; + return realpath_stk (name, resolved, &rname_buffer); } +libc_hidden_def (__realpath) versioned_symbol (libc, __realpath, realpath, GLIBC_2_3); -#endif /* !FUNC_REALPATH_WORKS || defined _LIBC */ + +#endif /* defined _LIBC || !FUNC_REALPATH_WORKS */ #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3) @@ -418,11 +470,3 @@ __canonicalize_file_name (const char *name) return __realpath (name, NULL); } weak_alias (__canonicalize_file_name, canonicalize_file_name) - -#else - -/* This declaration is solely to ensure that after preprocessing - this file is never empty. */ -typedef int dummy; - -#endif diff --git a/source/srclib/careadlinkat.c b/source/srclib/careadlinkat.c index e56d503..6ddc35f 100644 --- a/source/srclib/careadlinkat.c +++ b/source/srclib/careadlinkat.c @@ -1,19 +1,19 @@ /* Read symbolic links into a buffer without size limitation, relative to fd. - Copyright (C) 2001, 2003-2004, 2007, 2009-2019 Free Software Foundation, + Copyright (C) 2001, 2003-2004, 2007, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + 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. */ @@ -22,6 +22,9 @@ #include "careadlinkat.h" +#include "idx.h" +#include "minmax.h" + #include #include #include @@ -38,78 +41,62 @@ #include "allocator.h" -/* Assuming the current directory is FD, get the symbolic link value - of FILENAME as a null-terminated string and put it into a buffer. - If FD is AT_FDCWD, FILENAME is interpreted relative to the current - working directory, as in openat. - - If the link is small enough to fit into BUFFER put it there. - BUFFER's size is BUFFER_SIZE, and BUFFER can be null - if BUFFER_SIZE is zero. - - If the link is not small, put it into a dynamically allocated - buffer managed by ALLOC. It is the caller's responsibility to free - the returned value if it is nonnull and is not BUFFER. A null - ALLOC stands for the standard allocator. - - The PREADLINKAT function specifies how to read links. It operates - like POSIX readlinkat() - - but can assume that its first argument is the same as FD. - - If successful, return the buffer address; otherwise return NULL and - set errno. */ - -char * -careadlinkat (int fd, char const *filename, +enum { STACK_BUF_SIZE = 1024 }; + +/* Act like careadlinkat (see below), with an additional argument + STACK_BUF that can be used as temporary storage. + + If GCC_LINT is defined, do not inline this function with GCC 10.1 + and later, to avoid creating a pointer to the stack that GCC + -Wreturn-local-addr incorrectly complains about. See: + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93644 + Although the noinline attribute can hurt performance a bit, no better way + to pacify GCC is known; even an explicit #pragma does not pacify GCC. + When the GCC bug is fixed this workaround should be limited to the + broken GCC versions. */ +#if _GL_GNUC_PREREQ (10, 1) +# if defined GCC_LINT || defined lint +__attribute__ ((__noinline__)) +# elif __OPTIMIZE__ && !__NO_INLINE__ +# define GCC_BOGUS_WRETURN_LOCAL_ADDR +# endif +#endif +static char * +readlink_stk (int fd, char const *filename, char *buffer, size_t buffer_size, struct allocator const *alloc, - ssize_t (*preadlinkat) (int, char const *, char *, size_t)) + ssize_t (*preadlinkat) (int, char const *, char *, size_t), + char stack_buf[STACK_BUF_SIZE]) { - char *buf; - size_t buf_size; - size_t buf_size_max = - SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX; - char stack_buf[1024]; - if (! alloc) alloc = &stdlib_allocator; - if (! buffer_size) + if (!buffer) { - /* Allocate the initial buffer on the stack. This way, in the - common case of a symlink of small size, we get away with a - single small malloc() instead of a big malloc() followed by a - shrinking realloc(). */ buffer = stack_buf; - buffer_size = sizeof stack_buf; + buffer_size = STACK_BUF_SIZE; } - buf = buffer; - buf_size = buffer_size; + char *buf = buffer; + idx_t buf_size_max = MIN (IDX_MAX, MIN (SSIZE_MAX, SIZE_MAX)); + idx_t buf_size = MIN (buffer_size, buf_size_max); - do + while (buf) { /* Attempt to read the link into the current buffer. */ - ssize_t link_length = preadlinkat (fd, filename, buf, buf_size); - size_t link_size; + idx_t link_length = preadlinkat (fd, filename, buf, buf_size); if (link_length < 0) { - /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1 - with errno == ERANGE if the buffer is too small. */ - int readlinkat_errno = errno; - if (readlinkat_errno != ERANGE) + if (buf != buffer) { - if (buf != buffer) - { - alloc->free (buf); - errno = readlinkat_errno; - } - return NULL; + int readlinkat_errno = errno; + alloc->free (buf); + errno = readlinkat_errno; } + return NULL; } - link_size = link_length; + idx_t link_size = link_length; if (link_size < buf_size) { @@ -117,19 +104,19 @@ careadlinkat (int fd, char const *filename, if (buf == stack_buf) { - char *b = (char *) alloc->allocate (link_size); + char *b = alloc->allocate (link_size); buf_size = link_size; if (! b) break; - memcpy (b, buf, link_size); - buf = b; + return memcpy (b, buf, link_size); } - else if (link_size < buf_size && buf != buffer && alloc->reallocate) + + if (link_size < buf_size && buf != buffer && alloc->reallocate) { /* Shrink BUF before returning it. */ - char *b = (char *) alloc->reallocate (buf, link_size); + char *b = alloc->reallocate (buf, link_size); if (b) - buf = b; + return b; } return buf; @@ -138,23 +125,60 @@ careadlinkat (int fd, char const *filename, if (buf != buffer) alloc->free (buf); - if (buf_size <= buf_size_max / 2) - buf_size *= 2; - else if (buf_size < buf_size_max) - buf_size = buf_size_max; - else if (buf_size_max < SIZE_MAX) + if (buf_size_max / 2 <= buf_size) { errno = ENAMETOOLONG; return NULL; } - else - break; - buf = (char *) alloc->allocate (buf_size); + + buf_size = 2 * buf_size + 1; + buf = alloc->allocate (buf_size); } - while (buf); if (alloc->die) alloc->die (buf_size); errno = ENOMEM; return NULL; } + + +/* Assuming the current directory is FD, get the symbolic link value + of FILENAME as a null-terminated string and put it into a buffer. + If FD is AT_FDCWD, FILENAME is interpreted relative to the current + working directory, as in openat. + + If the link is small enough to fit into BUFFER put it there. + BUFFER's size is BUFFER_SIZE, and BUFFER can be null + if BUFFER_SIZE is zero. + + If the link is not small, put it into a dynamically allocated + buffer managed by ALLOC. It is the caller's responsibility to free + the returned value if it is nonnull and is not BUFFER. A null + ALLOC stands for the standard allocator. + + The PREADLINKAT function specifies how to read links. It operates + like POSIX readlinkat() + + but can assume that its first argument is the same as FD. + + If successful, return the buffer address; otherwise return NULL and + set errno. */ + +char * +careadlinkat (int fd, char const *filename, + char *buffer, size_t buffer_size, + struct allocator const *alloc, + ssize_t (*preadlinkat) (int, char const *, char *, size_t)) +{ + /* Allocate the initial buffer on the stack. This way, in the + common case of a symlink of small size, we get away with a + single small malloc instead of a big malloc followed by a + shrinking realloc. */ + #ifdef GCC_BOGUS_WRETURN_LOCAL_ADDR + #warning "GCC might issue a bogus -Wreturn-local-addr warning here." + #warning "See ." + #endif + char stack_buf[STACK_BUF_SIZE]; + return readlink_stk (fd, filename, buffer, buffer_size, alloc, + preadlinkat, stack_buf); +} diff --git a/source/srclib/careadlinkat.h b/source/srclib/careadlinkat.h index 68b69aa..2b559b2 100644 --- a/source/srclib/careadlinkat.h +++ b/source/srclib/careadlinkat.h @@ -1,18 +1,18 @@ /* Read symbolic links into a buffer without size limitation, relative to fd. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + 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. */ @@ -40,14 +40,14 @@ struct allocator; The PREADLINKAT function specifies how to read links. It operates like POSIX readlinkat() - + but can assume that its first argument is the same as FD. If successful, return the buffer address; otherwise return NULL and set errno. */ char *careadlinkat (int fd, char const *filename, - char *buffer, size_t buffer_size, + char *restrict buffer, size_t buffer_size, struct allocator const *alloc, ssize_t (*preadlinkat) (int, char const *, char *, size_t)); diff --git a/source/srclib/cdefs.h b/source/srclib/cdefs.h new file mode 100644 index 0000000..7b8ed5b --- /dev/null +++ b/source/srclib/cdefs.h @@ -0,0 +1,707 @@ +/* Copyright (C) 1992-2022 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 + + +/* 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)))) \ + +#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/source/srclib/cloexec.c b/source/srclib/cloexec.c new file mode 100644 index 0000000..812be01 --- /dev/null +++ b/source/srclib/cloexec.c @@ -0,0 +1,83 @@ +/* cloexec.c - set or clear the close-on-exec descriptor flag + + Copyright (C) 1991, 2004-2006, 2009-2022 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/source/srclib/cloexec.h b/source/srclib/cloexec.h new file mode 100644 index 0000000..7a22d77 --- /dev/null +++ b/source/srclib/cloexec.h @@ -0,0 +1,36 @@ +/* cloexec.c - set or clear the close-on-exec descriptor flag + + Copyright (C) 2004, 2009-2022 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 + +/* 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/source/srclib/close.c b/source/srclib/close.c new file mode 100644 index 0000000..44990ba --- /dev/null +++ b/source/srclib/close.c @@ -0,0 +1,75 @@ +/* close replacement. + Copyright (C) 2008-2022 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 + +#include + +#include "fd-hook.h" +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +# include "msvc-inval.h" +#endif + +#undef close + +#if defined _WIN32 && !defined __CYGWIN__ +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static int +close_nothrow (int fd) +{ + int result; + + TRY_MSVC_INVAL + { + result = _close (fd); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EBADF; + } + DONE_MSVC_INVAL; + + return result; +} +# else +# define close_nothrow _close +# endif +#else +# define close_nothrow close +#endif + +/* Override close() to call into other gnulib modules. */ + +int +rpl_close (int fd) +{ +#if WINDOWS_SOCKETS + int retval = execute_all_close_hooks (close_nothrow, fd); +#else + int retval = close_nothrow (fd); +#endif + +#if REPLACE_FCHDIR + if (retval >= 0) + _gl_unregister_fd (fd); +#endif + + return retval; +} diff --git a/source/srclib/dirname-lgpl.c b/source/srclib/dirname-lgpl.c deleted file mode 100644 index 7cf89d8..0000000 --- a/source/srclib/dirname-lgpl.c +++ /dev/null @@ -1,86 +0,0 @@ -/* dirname.c -- return all but the last element in a file name - - Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2019 Free Software - Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General 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 "dirname.h" - -#include -#include - -/* Return the length of the prefix of FILE that will be used by - dir_name. If FILE is in the working directory, this returns zero - even though 'dir_name (FILE)' will return ".". Works properly even - if there are trailing slashes (by effectively ignoring them). */ - -size_t -dir_len (char const *file) -{ - size_t prefix_length = FILE_SYSTEM_PREFIX_LEN (file); - size_t length; - - /* Advance prefix_length beyond important leading slashes. */ - prefix_length += (prefix_length != 0 - ? (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE - && ISSLASH (file[prefix_length])) - : (ISSLASH (file[0]) - ? ((DOUBLE_SLASH_IS_DISTINCT_ROOT - && ISSLASH (file[1]) && ! ISSLASH (file[2]) - ? 2 : 1)) - : 0)); - - /* Strip the basename and any redundant slashes before it. */ - for (length = last_component (file) - file; - prefix_length < length; length--) - if (! ISSLASH (file[length - 1])) - break; - return length; -} - - -/* In general, we can't use the builtin 'dirname' function if available, - since it has different meanings in different environments. - In some environments the builtin 'dirname' modifies its argument. - - Return the leading directories part of FILE, allocated with malloc. - Works properly even if there are trailing slashes (by effectively - ignoring them). Return NULL on failure. - - If lstat (FILE) would succeed, then { chdir (dir_name (FILE)); - lstat (base_name (FILE)); } will access the same file. Likewise, - if the sequence { chdir (dir_name (FILE)); - rename (base_name (FILE), "foo"); } succeeds, you have renamed FILE - to "foo" in the same directory FILE was in. */ - -char * -mdir_name (char const *file) -{ - size_t length = dir_len (file); - bool append_dot = (length == 0 - || (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE - && length == FILE_SYSTEM_PREFIX_LEN (file) - && file[2] != '\0' && ! ISSLASH (file[2]))); - char *dir = malloc (length + append_dot + 1); - if (!dir) - return NULL; - memcpy (dir, file, length); - if (append_dot) - dir[length++] = '.'; - dir[length] = '\0'; - return dir; -} diff --git a/source/srclib/dirname.h b/source/srclib/dirname.h deleted file mode 100644 index 5791659..0000000 --- a/source/srclib/dirname.h +++ /dev/null @@ -1,54 +0,0 @@ -/* Take file names apart into directory and base names. - - Copyright (C) 1998, 2001, 2003-2006, 2009-2019 Free Software Foundation, - Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General 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 DIRNAME_H_ -# define DIRNAME_H_ 1 - -# include -# include -# include "dosname.h" - -# ifndef DIRECTORY_SEPARATOR -# define DIRECTORY_SEPARATOR '/' -# endif - -# ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT -# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -# if GNULIB_DIRNAME -char *base_name (char const *file) _GL_ATTRIBUTE_MALLOC; -char *dir_name (char const *file); -# endif - -char *mdir_name (char const *file); -size_t base_len (char const *file) _GL_ATTRIBUTE_PURE; -size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE; -char *last_component (char const *file) _GL_ATTRIBUTE_PURE; - -bool strip_trailing_slashes (char *file); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* not DIRNAME_H_ */ diff --git a/source/srclib/dosname.h b/source/srclib/dosname.h deleted file mode 100644 index c0ab684..0000000 --- a/source/srclib/dosname.h +++ /dev/null @@ -1,52 +0,0 @@ -/* File names on MS-DOS/Windows systems. - - Copyright (C) 2000-2001, 2004-2006, 2009-2019 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General 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 __CYGWIN__ \ - || defined __EMX__ || defined __MSDOS__ || 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/source/srclib/dup2.c b/source/srclib/dup2.c new file mode 100644 index 0000000..1c766ab --- /dev/null +++ b/source/srclib/dup2.c @@ -0,0 +1,189 @@ +/* Duplicate an open file descriptor to a specified file descriptor. + + Copyright (C) 1999, 2004-2007, 2009-2022 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/source/srclib/eloop-threshold.h b/source/srclib/eloop-threshold.h new file mode 100644 index 0000000..8b31457 --- /dev/null +++ b/source/srclib/eloop-threshold.h @@ -0,0 +1,83 @@ +/* Threshold at which to diagnose ELOOP. Generic version. + Copyright (C) 2012-2022 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 _ELOOP_THRESHOLD_H +#define _ELOOP_THRESHOLD_H 1 + +#include +#ifdef _LIBC +# include +# define _GL_ATTRIBUTE_CONST __attribute__ ((const)) +#else +# include +# include "minmax.h" +# define __sysconf sysconf +# if (!defined SYMLOOP_MAX \ + && ! (defined _SC_SYMLOOP_MAX && defined _POSIX_SYMLOOP_MAX)) +# define SYMLOOP_MAX 8 +# endif +#endif + +/* POSIX specifies SYMLOOP_MAX as the "Maximum number of symbolic + links that can be reliably traversed in the resolution of a + pathname in the absence of a loop." This makes it a minimum that + we should certainly accept. But it leaves open the possibility + that more might sometimes work--just not "reliably". + + For example, Linux implements a complex policy whereby there is a + small limit on the number of direct symlink traversals (a symlink + to a symlink to a symlink), but larger limit on the total number of + symlink traversals overall. Hence the SYMLOOP_MAX number should be + the small one, but the limit library functions enforce on users + should be the larger one. + + So, we use the larger of the reported SYMLOOP_MAX (if any) and our + own constant MIN_ELOOP_THRESHOLD, below. This constant should be + large enough that it never rules out a file name and directory tree + that the underlying system (i.e. calls to 'open' et al) would + resolve successfully. It should be small enough that actual loops + are detected without a huge number of iterations. */ + +#ifndef MIN_ELOOP_THRESHOLD +# define MIN_ELOOP_THRESHOLD 40 +#endif + +/* Return the maximum number of symlink traversals to permit + before diagnosing ELOOP. */ +static inline unsigned int _GL_ATTRIBUTE_CONST +__eloop_threshold (void) +{ +#ifdef SYMLOOP_MAX + const int symloop_max = SYMLOOP_MAX; +#else + /* The function is marked 'const' even though we use memory and + call a function, because sysconf is required to return the + same value in every call and so it must always be safe to + call __eloop_threshold exactly once and reuse the value. */ + static long int sysconf_symloop_max; + if (sysconf_symloop_max == 0) + sysconf_symloop_max = __sysconf (_SC_SYMLOOP_MAX); + const unsigned int symloop_max = (sysconf_symloop_max <= 0 + ? _POSIX_SYMLOOP_MAX + : sysconf_symloop_max); +#endif + + return MAX (symloop_max, MIN_ELOOP_THRESHOLD); +} + +#endif /* eloop-threshold.h */ diff --git a/source/srclib/errno.in.h b/source/srclib/errno.in.h index 3bd27f1..3ec1845 100644 --- a/source/srclib/errno.in.h +++ b/source/srclib/errno.in.h @@ -1,19 +1,19 @@ /* A POSIX-like . - Copyright (C) 2008-2019 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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 diff --git a/source/srclib/error.c b/source/srclib/error.c index 7e532f0..272d45e 100644 --- a/source/srclib/error.c +++ b/source/srclib/error.c @@ -1,18 +1,18 @@ /* Error handler for noninteractive utilities - Copyright (C) 1990-1998, 2000-2007, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 1990-1998, 2000-2007, 2009-2022 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by David MacKenzie . */ @@ -40,7 +40,7 @@ # include # define mbsrtowcs __mbsrtowcs # define USE_UNLOCKED_IO 0 -# define _GL_ATTRIBUTE_FORMAT_PRINTF(a, b) +# define _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD(a, b) # define _GL_ARG_NONNULL(a) #else # include "getprogname.h" @@ -119,7 +119,7 @@ int strerror_r (int errnum, char *buf, size_t buflen); # endif # endif -#define program_name getprogname () +# define program_name getprogname () # if GNULIB_STRERROR_R_POSIX || HAVE_STRERROR_R || defined strerror_r # define __strerror_r strerror_r @@ -202,7 +202,7 @@ print_errno_message (int errnum) #endif } -static void _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0) _GL_ARG_NONNULL ((3)) +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 diff --git a/source/srclib/error.h b/source/srclib/error.h index e65dafb..8813713 100644 --- a/source/srclib/error.h +++ b/source/srclib/error.h @@ -1,45 +1,26 @@ /* Declaration for error-reporting function - Copyright (C) 1995-1997, 2003, 2006, 2008-2019 Free Software Foundation, + Copyright (C) 1995-1997, 2003, 2006, 2008-2022 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 + You should have received a copy of the GNU Lesser 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 - -/* On mingw, the flavor of printf depends on whether the extensions module - * is in use; the check for determines the witness macro. */ -#ifndef _GL_ATTRIBUTE_SPEC_PRINTF -# if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU -# define _GL_ATTRIBUTE_SPEC_PRINTF __gnu_printf__ -# else -# define _GL_ATTRIBUTE_SPEC_PRINTF __printf__ -# endif -#endif +/* Get _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM. */ +#include #ifdef __cplusplus extern "C" { @@ -50,11 +31,21 @@ extern "C" { If STATUS is nonzero, terminate the program with 'exit (STATUS)'. */ extern void error (int __status, int __errnum, const char *__format, ...) - _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 3, 4)); +#if GNULIB_VFPRINTF_POSIX + _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, 3, 4)) +#else + _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM, 3, 4)) +#endif + ; extern void error_at_line (int __status, int __errnum, const char *__fname, unsigned int __lineno, const char *__format, ...) - _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 5, 6)); +#if GNULIB_VFPRINTF_POSIX + _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, 5, 6)) +#else + _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM, 5, 6)) +#endif + ; /* If NULL, error will flush stdout, then print on stderr the program name, a colon and a space. Otherwise, error will call this diff --git a/source/srclib/fcntl.c b/source/srclib/fcntl.c new file mode 100644 index 0000000..f9753c4 --- /dev/null +++ b/source/srclib/fcntl.c @@ -0,0 +1,629 @@ +/* Provide file descriptor control. + + Copyright (C) 2009-2022 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/source/srclib/fcntl.in.h b/source/srclib/fcntl.in.h index eb70dc6..9270ced 100644 --- a/source/srclib/fcntl.in.h +++ b/source/srclib/fcntl.in.h @@ -1,18 +1,18 @@ /* Like , but with non-working flags defined to 0. - Copyright (C) 2006-2019 Free Software Foundation, Inc. + Copyright (C) 2006-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* written by Paul Eggert */ @@ -39,6 +39,12 @@ #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. */ @@ -59,6 +65,12 @@ /* 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 @@ -66,12 +78,6 @@ # include #endif -/* Native Windows platforms declare open(), creat() in . */ -#if (@GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \ - && (defined _WIN32 && ! defined __CYGWIN__) -# include -#endif - /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -82,6 +88,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 +137,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 +167,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 +186,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@ @@ -360,6 +435,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/source/srclib/fd-hook.c b/source/srclib/fd-hook.c new file mode 100644 index 0000000..64a7a80 --- /dev/null +++ b/source/srclib/fd-hook.c @@ -0,0 +1,116 @@ +/* Hook for making file descriptor functions close(), ioctl() extensible. + Copyright (C) 2009-2022 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + 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 "fd-hook.h" + +#include + +/* Currently, this entire code is only needed for the handling of sockets + on native Windows platforms. */ +#if WINDOWS_SOCKETS + +/* The first and last link in the doubly linked list. + Initially the list is empty. */ +static struct fd_hook anchor = { &anchor, &anchor, NULL, NULL }; + +int +execute_close_hooks (const struct fd_hook *remaining_list, gl_close_fn primary, + int fd) +{ + if (remaining_list == &anchor) + /* End of list reached. */ + return primary (fd); + else + return remaining_list->private_close_fn (remaining_list->private_next, + primary, fd); +} + +int +execute_all_close_hooks (gl_close_fn primary, int fd) +{ + return execute_close_hooks (anchor.private_next, primary, fd); +} + +int +execute_ioctl_hooks (const struct fd_hook *remaining_list, gl_ioctl_fn primary, + int fd, int request, void *arg) +{ + if (remaining_list == &anchor) + /* End of list reached. */ + return primary (fd, request, arg); + else + return remaining_list->private_ioctl_fn (remaining_list->private_next, + primary, fd, request, arg); +} + +int +execute_all_ioctl_hooks (gl_ioctl_fn primary, + int fd, int request, void *arg) +{ + return execute_ioctl_hooks (anchor.private_next, primary, fd, request, arg); +} + +void +register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook, struct fd_hook *link) +{ + if (close_hook == NULL) + close_hook = execute_close_hooks; + if (ioctl_hook == NULL) + ioctl_hook = execute_ioctl_hooks; + + if (link->private_next == NULL && link->private_prev == NULL) + { + /* Add the link to the doubly linked list. */ + link->private_next = anchor.private_next; + link->private_prev = &anchor; + link->private_close_fn = close_hook; + link->private_ioctl_fn = ioctl_hook; + anchor.private_next->private_prev = link; + anchor.private_next = link; + } + else + { + /* The link is already in use. */ + if (link->private_close_fn != close_hook + || link->private_ioctl_fn != ioctl_hook) + abort (); + } +} + +void +unregister_fd_hook (struct fd_hook *link) +{ + struct fd_hook *next = link->private_next; + struct fd_hook *prev = link->private_prev; + + if (next != NULL && prev != NULL) + { + /* The link is in use. Remove it from the doubly linked list. */ + prev->private_next = next; + next->private_prev = prev; + /* Clear the link, to mark it unused. */ + link->private_next = NULL; + link->private_prev = NULL; + link->private_close_fn = NULL; + link->private_ioctl_fn = NULL; + } +} + +#endif diff --git a/source/srclib/fd-hook.h b/source/srclib/fd-hook.h new file mode 100644 index 0000000..d6c4964 --- /dev/null +++ b/source/srclib/fd-hook.h @@ -0,0 +1,119 @@ +/* Hook for making file descriptor functions close(), ioctl() extensible. + Copyright (C) 2009-2022 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 FD_HOOK_H +#define FD_HOOK_H + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Currently, this entire code is only needed for the handling of sockets + on native Windows platforms. */ +#if WINDOWS_SOCKETS + + +/* Type of function that closes FD. */ +typedef int (*gl_close_fn) (int fd); + +/* Type of function that applies a control request to FD. */ +typedef int (*gl_ioctl_fn) (int fd, int request, void *arg); + +/* An element of the list of file descriptor hooks. + In CLOS (Common Lisp Object System) speak, it consists of an "around" + method for the close() function and an "around" method for the ioctl() + function. + The fields of this structure are considered private. */ +struct fd_hook +{ + /* Doubly linked list. */ + struct fd_hook *private_next; + struct fd_hook *private_prev; + /* Function that treats the types of FD that it knows about and calls + execute_close_hooks (REMAINING_LIST, PRIMARY, FD) as a fallback. */ + int (*private_close_fn) (const struct fd_hook *remaining_list, + gl_close_fn primary, + int fd); + /* Function that treats the types of FD that it knows about and calls + execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG) as a + fallback. */ + int (*private_ioctl_fn) (const struct fd_hook *remaining_list, + gl_ioctl_fn primary, + int fd, int request, void *arg); +}; + +/* This type of function closes FD, applying special knowledge for the FD + types it knows about, and calls + execute_close_hooks (REMAINING_LIST, PRIMARY, FD) + for the other FD types. + In CLOS speak, REMAINING_LIST is the remaining list of "around" methods, + and PRIMARY is the "primary" method for close(). */ +typedef int (*close_hook_fn) (const struct fd_hook *remaining_list, + gl_close_fn primary, + int fd); + +/* Execute the close hooks in REMAINING_LIST, with PRIMARY as "primary" method. + Return 0 or -1, like close() would do. */ +extern int execute_close_hooks (const struct fd_hook *remaining_list, + gl_close_fn primary, + int fd); + +/* Execute all close hooks, with PRIMARY as "primary" method. + Return 0 or -1, like close() would do. */ +extern int execute_all_close_hooks (gl_close_fn primary, int fd); + +/* This type of function applies a control request to FD, applying special + knowledge for the FD types it knows about, and calls + execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG) + for the other FD types. + In CLOS speak, REMAINING_LIST is the remaining list of "around" methods, + and PRIMARY is the "primary" method for ioctl(). */ +typedef int (*ioctl_hook_fn) (const struct fd_hook *remaining_list, + gl_ioctl_fn primary, + int fd, int request, void *arg); + +/* Execute the ioctl hooks in REMAINING_LIST, with PRIMARY as "primary" method. + Return 0 or -1, like ioctl() would do. */ +extern int execute_ioctl_hooks (const struct fd_hook *remaining_list, + gl_ioctl_fn primary, + int fd, int request, void *arg); + +/* Execute all ioctl hooks, with PRIMARY as "primary" method. + Return 0 or -1, like ioctl() would do. */ +extern int execute_all_ioctl_hooks (gl_ioctl_fn primary, + int fd, int request, void *arg); + +/* Add a function pair to the list of file descriptor hooks. + CLOSE_HOOK and IOCTL_HOOK may be NULL, indicating no change. + The LINK variable points to a piece of memory which is guaranteed to be + accessible until the corresponding call to unregister_fd_hook. */ +extern void register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook, + struct fd_hook *link); + +/* Removes a hook from the list of file descriptor hooks. */ +extern void unregister_fd_hook (struct fd_hook *link); + + +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* FD_HOOK_H */ diff --git a/source/srclib/filename.h b/source/srclib/filename.h index 3ba3105..ab77ca2 100644 --- a/source/srclib/filename.h +++ b/source/srclib/filename.h @@ -1,51 +1,109 @@ /* Basic filename support macros. - Copyright (C) 2001-2004, 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2022 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. + 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 + . */ + +/* From Paul Eggert and Jim Meyering. */ #ifndef _FILENAME_H #define _FILENAME_H +#include + #ifdef __cplusplus extern "C" { #endif -/* Pathname support. - ISSLASH(C) tests whether C is a directory separator character. - IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, - it may be concatenated to a directory pathname. - IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. +/* 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 __DJGPP__ +#if defined _WIN32 || defined __CYGWIN__ \ + || defined __EMX__ || defined __MSDOS__ || defined __DJGPP__ /* Native Windows, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') -# define HAS_DEVICE(P) \ - ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ - && (P)[1] == ':') -# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) -# define IS_PATH_WITH_DIR(P) \ - (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) -# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) + /* 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 IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) -# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) -# define FILE_SYSTEM_PREFIX_LEN(P) 0 +# 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 } diff --git a/source/srclib/free.c b/source/srclib/free.c new file mode 100644 index 0000000..86ebe6c --- /dev/null +++ b/source/srclib/free.c @@ -0,0 +1,53 @@ +/* Make free() preserve errno. + + Copyright (C) 2003, 2006, 2009-2022 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/source/srclib/fstat.c b/source/srclib/fstat.c new file mode 100644 index 0000000..3928c86 --- /dev/null +++ b/source/srclib/fstat.c @@ -0,0 +1,94 @@ +/* fstat() replacement. + Copyright (C) 2011-2022 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/source/srclib/getdtablesize.c b/source/srclib/getdtablesize.c new file mode 100644 index 0000000..793e0f8 --- /dev/null +++ b/source/srclib/getdtablesize.c @@ -0,0 +1,124 @@ +/* getdtablesize() function: Return maximum possible file descriptor value + 1. + Copyright (C) 2008-2022 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/source/srclib/getprogname.c b/source/srclib/getprogname.c index 22d71eb..62a4800 100644 --- a/source/srclib/getprogname.c +++ b/source/srclib/getprogname.c @@ -1,17 +1,17 @@ /* Program name management. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2022 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or + 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -43,7 +43,7 @@ # include #endif -#ifdef __sgi +#if defined __sgi || defined __osf__ # include # include # include @@ -51,7 +51,13 @@ # include #endif -#include "dirname.h" +#if defined __SCO_VERSION__ || defined __sysv5__ +# include +# include +# include +#endif + +#include "basename-lgpl.h" #ifndef HAVE_GETPROGNAME /* not Mac OS X, FreeBSD, NetBSD, OpenBSD >= 5.4, Cygwin */ char const * @@ -218,12 +224,16 @@ getprogname (void) free (buf.ps_pathptr); } return p; -# elif defined __sgi /* IRIX */ +# elif defined __sgi || defined __osf__ /* IRIX or Tru64 */ char filename[50]; int fd; - sprintf (filename, "/proc/pinfo/%d", (int) getpid ()); - fd = open (filename, O_RDONLY); + # 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; @@ -233,17 +243,50 @@ getprogname (void) { 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; + 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 diff --git a/source/srclib/getprogname.h b/source/srclib/getprogname.h index 1590b38..9a35e58 100644 --- a/source/srclib/getprogname.h +++ b/source/srclib/getprogname.h @@ -1,17 +1,17 @@ /* Program name management. - Copyright (C) 2016-2019 Free Software Foundation, Inc. + Copyright (C) 2016-2022 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or + 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _GL_GETPROGNAME_H diff --git a/source/srclib/gettext.h b/source/srclib/gettext.h index c7c0fdb..b3577a0 100644 --- a/source/srclib/gettext.h +++ b/source/srclib/gettext.h @@ -1,19 +1,19 @@ /* Convenience header for conditional use of GNU . - Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2019 Free Software + Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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 @@ -138,7 +138,7 @@ #define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) -#ifdef __GNUC__ +#if defined __GNUC__ || defined __clang__ __inline #else #ifdef __cplusplus @@ -157,7 +157,7 @@ pgettext_aux (const char *domain, return translation; } -#ifdef __GNUC__ +#if defined __GNUC__ || defined __clang__ __inline #else #ifdef __cplusplus @@ -191,9 +191,8 @@ npgettext_aux (const char *domain, or may have security implications due to non-deterministic stack usage. */ #if (!defined GNULIB_NO_VLA \ - && (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \ - /* || (__STDC_VERSION__ == 199901L && !defined __HP_cc) - || (__STDC_VERSION__ >= 201112L && !defined __STDC_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 @@ -208,7 +207,7 @@ npgettext_aux (const char *domain, #define dpgettext_expr(Domainname, Msgctxt, Msgid) \ dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) -#ifdef __GNUC__ +#if defined __GNUC__ || defined __clang__ __inline #else #ifdef __cplusplus @@ -255,7 +254,7 @@ dcpgettext_expr (const char *domain, #define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) -#ifdef __GNUC__ +#if defined __GNUC__ || defined __clang__ __inline #else #ifdef __cplusplus diff --git a/source/srclib/idx.h b/source/srclib/idx.h new file mode 100644 index 0000000..c3669dd --- /dev/null +++ b/source/srclib/idx.h @@ -0,0 +1,134 @@ +/* A type for indices and sizes. + Copyright (C) 2020-2022 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/source/srclib/intprops.h b/source/srclib/intprops.h index 1a44ae5..d4a917f 100644 --- a/source/srclib/intprops.h +++ b/source/srclib/intprops.h @@ -1,21 +1,20 @@ /* intprops.h -- properties of integer types - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2022 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify 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.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 + 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 _GL_INTPROPS_H #define _GL_INTPROPS_H @@ -48,7 +47,7 @@ /* Minimum and maximum values for integer types and expressions. */ /* The width in bits of the integer type or expression T. - Do not evaluate 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) (sizeof (t) * CHAR_BIT) @@ -70,7 +69,7 @@ ? _GL_SIGNED_INT_MAXIMUM (e) \ : _GL_INT_NEGATE_CONVERT (e, 1)) #define _GL_SIGNED_INT_MAXIMUM(e) \ - (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1) + (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH (+ (e)) - 2)) - 1) * 2 + 1) /* Work around OpenVMS incompatibility with C99. */ #if !defined LLONG_MAX && defined __INT64_MAX @@ -86,6 +85,7 @@ /* 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 @@ -94,8 +94,9 @@ #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 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) TYPE_SIGNED (__typeof__ (t)) #else @@ -108,18 +109,20 @@ #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 (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) @@ -129,7 +132,8 @@ 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 + and straightforward, but they are harder to use and may be less + efficient than the INT__WRAPV, INT__OK, and INT__OVERFLOW macros described below. Example usage: @@ -154,6 +158,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. */ @@ -220,15 +227,42 @@ ? (a) < (min) >> (b) \ : (max) >> (b) < (a)) -/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */ -#if 5 <= __GNUC__ && !defined __ICC -# define _GL_HAS_BUILTIN_OVERFLOW 1 +/* 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_OVERFLOW 0 +# define _GL_HAS_BUILTIN_ADD_OVERFLOW 0 #endif -/* True if __builtin_add_overflow_p (A, B, C) works. */ -#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) +/* 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 /* The _GL*_OVERFLOW macros have the same restrictions as the *_RANGE_OVERFLOW macros, except that they do not assume that operands @@ -281,7 +315,9 @@ The INT__OVERFLOW macros return 1 if the corresponding C operators might not yield numerically correct answers due to arithmetic overflow. - The INT__WRAPV macros also store the low-order bits of the answer. + 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. @@ -309,9 +345,17 @@ arguments should not have side effects. The WRAPV macros are not constant expressions. They support only - +, binary -, and *. The result type must be signed. + +, 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 argument being a constant. + These macros are tuned for their last input 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. */ @@ -347,73 +391,140 @@ /* 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_OP_WRAPV (a, b, r, +, __builtin_add_overflow, INT_ADD_OVERFLOW) -#define INT_SUBTRACT_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, -, __builtin_sub_overflow, INT_SUBTRACT_OVERFLOW) -#define INT_MULTIPLY_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW) +#if _GL_HAS_BUILTIN_ADD_OVERFLOW +# define INT_ADD_WRAPV(a, b, r) __builtin_add_overflow (a, b, r) +# define INT_SUBTRACT_WRAPV(a, b, r) __builtin_sub_overflow (a, b, r) +#else +# define INT_ADD_WRAPV(a, b, r) \ + _GL_INT_OP_WRAPV (a, b, r, +, _GL_INT_ADD_RANGE_OVERFLOW) +# define 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 INT_MULTIPLY_WRAPV(a, b, r) __builtin_mul_overflow (a, b, r) +# else + /* Work around GCC bug 91450. */ +# define INT_MULTIPLY_WRAPV(a, b, r) \ + ((!_GL_SIGNED_TYPE_OR_EXPR (*(r)) && EXPR_SIGNED (a) && 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 +#else +# define 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 older compilers that - lack __builtin_add_overflow. */ -#if __GNUC__ + 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. BUILTIN is the builtin operation, and OVERFLOW the - overflow predicate. Return 1 if the result overflows. See above - for restrictions. */ -#if _GL_HAS_BUILTIN_OVERFLOW -# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r) -#elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS -# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \ + the operation and OVERFLOW the overflow predicate. Return 1 if the + result overflows. See above for restrictions. */ +#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))) + 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 -# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \ +/* 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. See above for restrictions. */ +# if _GL_HAVE___TYPEOF__ +# define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ + (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_CALC (a, b, r, op, overflow, unsigned int, \ - signed char, SCHAR_MIN, SCHAR_MAX) \ + ? _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_CALC (a, b, r, op, overflow, unsigned int, \ - short int, SHRT_MIN, SHRT_MAX) \ + ? _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_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - int, INT_MIN, INT_MAX) \ + ? (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_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 long int, \ - long long int, LLONG_MIN, LLONG_MAX)) + ? (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)) \ + : (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_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ - long int, LONG_MIN, LONG_MAX) + (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 @@ -422,13 +533,7 @@ overflow problems. *R's type is T, with extrema TMIN and TMAX. T must be a signed integer type. Return 1 if the result overflows. */ #define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \ - (sizeof ((a) op (b)) < sizeof (t) \ - ? _GL_INT_OP_CALC1 ((t) (a), (t) (b), r, op, overflow, ut, t, tmin, tmax) \ - : _GL_INT_OP_CALC1 (a, b, r, op, overflow, ut, t, tmin, tmax)) -#define _GL_INT_OP_CALC1(a, b, r, op, overflow, ut, t, tmin, tmax) \ - ((overflow (a, b) \ - || (EXPR_SIGNED ((a) op (b)) && ((a) op (b)) < (tmin)) \ - || (tmax) < ((a) op (b))) \ + (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)) @@ -452,4 +557,86 @@ #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 be integer expressions + without side effects. 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) \ + ? ((EXPR_SIGNED (_GL_INT_CONVERT (a, (tmin) - (b))) || (b) < (tmin)) \ + && (a) < (tmin) - (b)) \ + : (a) <= -1 - (b)) \ + || ((EXPR_SIGNED (a) ? 0 <= (a) : (tmax) < (a)) && (tmax) < (a) + (b))) \ + : (a) < 0 \ + ? (((tmin) \ + ? ((EXPR_SIGNED (_GL_INT_CONVERT (b, (tmin) - (a))) || (a) < (tmin)) \ + && (b) < (tmin) - (a)) \ + : (b) <= -1 - (a)) \ + || ((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 \ + ? ((!EXPR_SIGNED (_GL_INT_CONVERT ((a) - (tmin), b)) && (a) - (tmin) < 0) \ + || (a) - (tmin) < (b)) \ + : ((! (EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ + && 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 \ + ? (EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ + ? (a) < (tmax) / (b) \ + : ((INT_NEGATE_OVERFLOW (b) \ + ? _GL_INT_CONVERT (b, tmax) >> (TYPE_WIDTH (+ (b)) - 1) \ + : (tmax) / -(b)) \ + <= -1 - (a))) \ + : INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (b, tmin)) && (b) == -1 \ + ? (EXPR_SIGNED (a) \ + ? 0 < (a) + (tmin) \ + : 0 < (a) && -1 - (tmin) < (a) - 1) \ + : (tmin) / (b) < (a)) \ + : (b) == 0 \ + ? 0 \ + : ((a) < 0 \ + ? (INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (a, tmin)) && (a) == -1 \ + ? (EXPR_SIGNED (b) ? 0 < (b) + (tmin) : -1 - (tmin) < (b) - 1) \ + : (tmin) / (a) < (b)) \ + : (tmax) / (b) < (a))) + +/* 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. + + 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/source/srclib/inttypes.in.h b/source/srclib/inttypes.in.h new file mode 100644 index 0000000..853eca0 --- /dev/null +++ b/source/srclib/inttypes.in.h @@ -0,0 +1,1002 @@ +/* Copyright (C) 2006-2022 Free Software Foundation, Inc. + Written by Paul Eggert, Bruno Haible, Derek Price. + 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. + * + */ + +#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@ + +# define _GL_FINISHED_INCLUDING_SYSTEM_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, 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_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. */ + +/* 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 +# ifdef INT8_MAX +# define PRId8 "d" +# endif +#endif +#if !defined PRIi8 +# ifdef INT8_MAX +# define PRIi8 "i" +# endif +#endif +#if !defined PRIo8 +# ifdef UINT8_MAX +# define PRIo8 "o" +# endif +#endif +#if !defined PRIu8 +# ifdef UINT8_MAX +# define PRIu8 "u" +# endif +#endif +#if !defined PRIx8 +# ifdef UINT8_MAX +# define PRIx8 "x" +# endif +#endif +#if !defined PRIX8 +# ifdef UINT8_MAX +# define PRIX8 "X" +# endif +#endif +#if !defined PRId16 +# ifdef INT16_MAX +# define PRId16 "d" +# endif +#endif +#if !defined PRIi16 +# ifdef INT16_MAX +# define PRIi16 "i" +# endif +#endif +#if !defined PRIo16 +# ifdef UINT16_MAX +# define PRIo16 "o" +# endif +#endif +#if !defined PRIu16 +# ifdef UINT16_MAX +# define PRIu16 "u" +# endif +#endif +#if !defined PRIx16 +# ifdef UINT16_MAX +# define PRIx16 "x" +# endif +#endif +#if !defined PRIX16 +# ifdef UINT16_MAX +# define PRIX16 "X" +# endif +#endif +#if !defined PRId32 +# ifdef INT32_MAX +# define PRId32 "d" +# endif +#endif +#if !defined PRIi32 +# ifdef INT32_MAX +# define PRIi32 "i" +# endif +#endif +#if !defined PRIo32 +# ifdef UINT32_MAX +# define PRIo32 "o" +# endif +#endif +#if !defined PRIu32 +# ifdef UINT32_MAX +# define PRIu32 "u" +# endif +#endif +#if !defined PRIx32 +# ifdef UINT32_MAX +# define PRIx32 "x" +# endif +#endif +#if !defined 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 LONG_MAX >> 30 == 1 +# define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX +# endif +# if !defined PRId64 +# define PRId64 _PRI64_PREFIX "d" +# endif +# if !defined 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 ULONG_MAX >> 31 == 1 +# define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX +# endif +# if !defined PRIo64 +# define PRIo64 _PRIu64_PREFIX "o" +# endif +# if !defined PRIu64 +# define PRIu64 _PRIu64_PREFIX "u" +# endif +# if !defined PRIx64 +# define PRIx64 _PRIu64_PREFIX "x" +# endif +# if !defined PRIX64 +# define PRIX64 _PRIu64_PREFIX "X" +# endif +#endif + +#if !defined PRIdLEAST8 +# define PRIdLEAST8 "d" +#endif +#if !defined PRIiLEAST8 +# define PRIiLEAST8 "i" +#endif +#if !defined PRIoLEAST8 +# define PRIoLEAST8 "o" +#endif +#if !defined PRIuLEAST8 +# define PRIuLEAST8 "u" +#endif +#if !defined PRIxLEAST8 +# define PRIxLEAST8 "x" +#endif +#if !defined PRIXLEAST8 +# define PRIXLEAST8 "X" +#endif +#if !defined PRIdLEAST16 +# define PRIdLEAST16 "d" +#endif +#if !defined PRIiLEAST16 +# define PRIiLEAST16 "i" +#endif +#if !defined PRIoLEAST16 +# define PRIoLEAST16 "o" +#endif +#if !defined PRIuLEAST16 +# define PRIuLEAST16 "u" +#endif +#if !defined PRIxLEAST16 +# define PRIxLEAST16 "x" +#endif +#if !defined PRIXLEAST16 +# define PRIXLEAST16 "X" +#endif +#if !defined PRIdLEAST32 +# define PRIdLEAST32 "d" +#endif +#if !defined PRIiLEAST32 +# define PRIiLEAST32 "i" +#endif +#if !defined PRIoLEAST32 +# define PRIoLEAST32 "o" +#endif +#if !defined PRIuLEAST32 +# define PRIuLEAST32 "u" +#endif +#if !defined PRIxLEAST32 +# define PRIxLEAST32 "x" +#endif +#if !defined PRIXLEAST32 +# define PRIXLEAST32 "X" +#endif +#ifdef INT64_MAX +# if !defined PRIdLEAST64 +# define PRIdLEAST64 PRId64 +# endif +# if !defined PRIiLEAST64 +# define PRIiLEAST64 PRIi64 +# endif +#endif +#ifdef UINT64_MAX +# if !defined PRIoLEAST64 +# define PRIoLEAST64 PRIo64 +# endif +# if !defined PRIuLEAST64 +# define PRIuLEAST64 PRIu64 +# endif +# if !defined PRIxLEAST64 +# define PRIxLEAST64 PRIx64 +# endif +# if !defined PRIXLEAST64 +# define PRIXLEAST64 PRIX64 +# endif +#endif + +#if !defined PRIdFAST8 +# if INT_FAST8_MAX > INT32_MAX +# define PRIdFAST8 PRId64 +# else +# define PRIdFAST8 "d" +# endif +#endif +#if !defined PRIiFAST8 +# if INT_FAST8_MAX > INT32_MAX +# define PRIiFAST8 PRIi64 +# else +# define PRIiFAST8 "i" +# endif +#endif +#if !defined PRIoFAST8 +# if UINT_FAST8_MAX > UINT32_MAX +# define PRIoFAST8 PRIo64 +# else +# define PRIoFAST8 "o" +# endif +#endif +#if !defined PRIuFAST8 +# if UINT_FAST8_MAX > UINT32_MAX +# define PRIuFAST8 PRIu64 +# else +# define PRIuFAST8 "u" +# endif +#endif +#if !defined PRIxFAST8 +# if UINT_FAST8_MAX > UINT32_MAX +# define PRIxFAST8 PRIx64 +# else +# define PRIxFAST8 "x" +# endif +#endif +#if !defined PRIXFAST8 +# if UINT_FAST8_MAX > UINT32_MAX +# define PRIXFAST8 PRIX64 +# else +# define PRIXFAST8 "X" +# endif +#endif +#if !defined PRIdFAST16 +# if INT_FAST16_MAX > INT32_MAX +# define PRIdFAST16 PRId64 +# else +# define PRIdFAST16 "d" +# endif +#endif +#if !defined PRIiFAST16 +# if INT_FAST16_MAX > INT32_MAX +# define PRIiFAST16 PRIi64 +# else +# define PRIiFAST16 "i" +# endif +#endif +#if !defined PRIoFAST16 +# if UINT_FAST16_MAX > UINT32_MAX +# define PRIoFAST16 PRIo64 +# else +# define PRIoFAST16 "o" +# endif +#endif +#if !defined PRIuFAST16 +# if UINT_FAST16_MAX > UINT32_MAX +# define PRIuFAST16 PRIu64 +# else +# define PRIuFAST16 "u" +# endif +#endif +#if !defined PRIxFAST16 +# if UINT_FAST16_MAX > UINT32_MAX +# define PRIxFAST16 PRIx64 +# else +# define PRIxFAST16 "x" +# endif +#endif +#if !defined PRIXFAST16 +# if UINT_FAST16_MAX > UINT32_MAX +# define PRIXFAST16 PRIX64 +# else +# define PRIXFAST16 "X" +# endif +#endif +#if !defined PRIdFAST32 +# if INT_FAST32_MAX > INT32_MAX +# define PRIdFAST32 PRId64 +# else +# define PRIdFAST32 "d" +# endif +#endif +#if !defined PRIiFAST32 +# if INT_FAST32_MAX > INT32_MAX +# define PRIiFAST32 PRIi64 +# else +# define PRIiFAST32 "i" +# endif +#endif +#if !defined PRIoFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define PRIoFAST32 PRIo64 +# else +# define PRIoFAST32 "o" +# endif +#endif +#if !defined PRIuFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define PRIuFAST32 PRIu64 +# else +# define PRIuFAST32 "u" +# endif +#endif +#if !defined PRIxFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define PRIxFAST32 PRIx64 +# else +# define PRIxFAST32 "x" +# endif +#endif +#if !defined PRIXFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define PRIXFAST32 PRIX64 +# else +# define PRIXFAST32 "X" +# endif +#endif +#ifdef INT64_MAX +# if !defined PRIdFAST64 +# define PRIdFAST64 PRId64 +# endif +# if !defined PRIiFAST64 +# define PRIiFAST64 PRIi64 +# endif +#endif +#ifdef UINT64_MAX +# if !defined PRIoFAST64 +# define PRIoFAST64 PRIo64 +# endif +# if !defined PRIuFAST64 +# define PRIuFAST64 PRIu64 +# endif +# if !defined PRIxFAST64 +# define PRIxFAST64 PRIx64 +# endif +# if !defined PRIXFAST64 +# define PRIXFAST64 PRIX64 +# endif +#endif + +#if !defined PRIdMAX +# if @INT32_MAX_LT_INTMAX_MAX@ +# define PRIdMAX PRId64 +# else +# define PRIdMAX "ld" +# endif +#endif +#if !defined PRIiMAX +# if @INT32_MAX_LT_INTMAX_MAX@ +# define PRIiMAX PRIi64 +# else +# define PRIiMAX "li" +# endif +#endif +#if !defined PRIoMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define PRIoMAX PRIo64 +# else +# define PRIoMAX "lo" +# endif +#endif +#if !defined PRIuMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define PRIuMAX PRIu64 +# else +# define PRIuMAX "lu" +# endif +#endif +#if !defined PRIxMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define PRIxMAX PRIx64 +# else +# define PRIxMAX "lx" +# endif +#endif +#if !defined PRIXMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define PRIXMAX PRIX64 +# else +# define PRIXMAX "lX" +# endif +#endif + +#if !defined PRIdPTR +# ifdef INTPTR_MAX +# define PRIdPTR @PRIPTR_PREFIX@ "d" +# endif +#endif +#if !defined PRIiPTR +# ifdef INTPTR_MAX +# define PRIiPTR @PRIPTR_PREFIX@ "i" +# endif +#endif +#if !defined PRIoPTR +# ifdef UINTPTR_MAX +# define PRIoPTR @PRIPTR_PREFIX@ "o" +# endif +#endif +#if !defined PRIuPTR +# ifdef UINTPTR_MAX +# define PRIuPTR @PRIPTR_PREFIX@ "u" +# endif +#endif +#if !defined PRIxPTR +# ifdef UINTPTR_MAX +# define PRIxPTR @PRIPTR_PREFIX@ "x" +# endif +#endif +#if !defined PRIXPTR +# ifdef UINTPTR_MAX +# define PRIXPTR @PRIPTR_PREFIX@ "X" +# endif +#endif + +#if !defined SCNd8 +# ifdef INT8_MAX +# define SCNd8 "hhd" +# endif +#endif +#if !defined SCNi8 +# ifdef INT8_MAX +# define SCNi8 "hhi" +# endif +#endif +#if !defined SCNo8 +# ifdef UINT8_MAX +# define SCNo8 "hho" +# endif +#endif +#if !defined SCNu8 +# ifdef UINT8_MAX +# define SCNu8 "hhu" +# endif +#endif +#if !defined SCNx8 +# ifdef UINT8_MAX +# define SCNx8 "hhx" +# endif +#endif +#if !defined SCNd16 +# ifdef INT16_MAX +# define SCNd16 "hd" +# endif +#endif +#if !defined SCNi16 +# ifdef INT16_MAX +# define SCNi16 "hi" +# endif +#endif +#if !defined SCNo16 +# ifdef UINT16_MAX +# define SCNo16 "ho" +# endif +#endif +#if !defined SCNu16 +# ifdef UINT16_MAX +# define SCNu16 "hu" +# endif +#endif +#if !defined SCNx16 +# ifdef UINT16_MAX +# define SCNx16 "hx" +# endif +#endif +#if !defined SCNd32 +# ifdef INT32_MAX +# define SCNd32 "d" +# endif +#endif +#if !defined SCNi32 +# ifdef INT32_MAX +# define SCNi32 "i" +# endif +#endif +#if !defined SCNo32 +# ifdef UINT32_MAX +# define SCNo32 "o" +# endif +#endif +#if !defined SCNu32 +# ifdef UINT32_MAX +# define SCNu32 "u" +# endif +#endif +#if !defined 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 LONG_MAX >> 30 == 1 +# define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX +# endif +# if !defined SCNd64 +# define SCNd64 _SCN64_PREFIX "d" +# endif +# if !defined 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 ULONG_MAX >> 31 == 1 +# define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX +# endif +# if !defined SCNo64 +# define SCNo64 _SCNu64_PREFIX "o" +# endif +# if !defined SCNu64 +# define SCNu64 _SCNu64_PREFIX "u" +# endif +# if !defined SCNx64 +# define SCNx64 _SCNu64_PREFIX "x" +# endif +#endif + +#if !defined SCNdLEAST8 +# define SCNdLEAST8 "hhd" +#endif +#if !defined SCNiLEAST8 +# define SCNiLEAST8 "hhi" +#endif +#if !defined SCNoLEAST8 +# define SCNoLEAST8 "hho" +#endif +#if !defined SCNuLEAST8 +# define SCNuLEAST8 "hhu" +#endif +#if !defined SCNxLEAST8 +# define SCNxLEAST8 "hhx" +#endif +#if !defined SCNdLEAST16 +# define SCNdLEAST16 "hd" +#endif +#if !defined SCNiLEAST16 +# define SCNiLEAST16 "hi" +#endif +#if !defined SCNoLEAST16 +# define SCNoLEAST16 "ho" +#endif +#if !defined SCNuLEAST16 +# define SCNuLEAST16 "hu" +#endif +#if !defined SCNxLEAST16 +# define SCNxLEAST16 "hx" +#endif +#if !defined SCNdLEAST32 +# define SCNdLEAST32 "d" +#endif +#if !defined SCNiLEAST32 +# define SCNiLEAST32 "i" +#endif +#if !defined SCNoLEAST32 +# define SCNoLEAST32 "o" +#endif +#if !defined SCNuLEAST32 +# define SCNuLEAST32 "u" +#endif +#if !defined SCNxLEAST32 +# define SCNxLEAST32 "x" +#endif +#ifdef INT64_MAX +# if !defined SCNdLEAST64 +# define SCNdLEAST64 SCNd64 +# endif +# if !defined SCNiLEAST64 +# define SCNiLEAST64 SCNi64 +# endif +#endif +#ifdef UINT64_MAX +# if !defined SCNoLEAST64 +# define SCNoLEAST64 SCNo64 +# endif +# if !defined SCNuLEAST64 +# define SCNuLEAST64 SCNu64 +# endif +# if !defined SCNxLEAST64 +# define SCNxLEAST64 SCNx64 +# endif +#endif + +#if !defined 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 +# 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 +# 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 +# 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 +# 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 +# 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 +# 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 +# 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 +# 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 +# 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 +# if INT_FAST32_MAX > INT32_MAX +# define SCNdFAST32 SCNd64 +# else +# define SCNdFAST32 "d" +# endif +#endif +#if !defined SCNiFAST32 +# if INT_FAST32_MAX > INT32_MAX +# define SCNiFAST32 SCNi64 +# else +# define SCNiFAST32 "i" +# endif +#endif +#if !defined SCNoFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define SCNoFAST32 SCNo64 +# else +# define SCNoFAST32 "o" +# endif +#endif +#if !defined SCNuFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define SCNuFAST32 SCNu64 +# else +# define SCNuFAST32 "u" +# endif +#endif +#if !defined SCNxFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define SCNxFAST32 SCNx64 +# else +# define SCNxFAST32 "x" +# endif +#endif +#ifdef INT64_MAX +# if !defined SCNdFAST64 +# define SCNdFAST64 SCNd64 +# endif +# if !defined SCNiFAST64 +# define SCNiFAST64 SCNi64 +# endif +#endif +#ifdef UINT64_MAX +# if !defined SCNoFAST64 +# define SCNoFAST64 SCNo64 +# endif +# if !defined SCNuFAST64 +# define SCNuFAST64 SCNu64 +# endif +# if !defined SCNxFAST64 +# define SCNxFAST64 SCNx64 +# endif +#endif + +#if !defined SCNdMAX +# if @INT32_MAX_LT_INTMAX_MAX@ +# define SCNdMAX SCNd64 +# else +# define SCNdMAX "ld" +# endif +#endif +#if !defined SCNiMAX +# if @INT32_MAX_LT_INTMAX_MAX@ +# define SCNiMAX SCNi64 +# else +# define SCNiMAX "li" +# endif +#endif +#if !defined SCNoMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define SCNoMAX SCNo64 +# else +# define SCNoMAX "lo" +# endif +#endif +#if !defined SCNuMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define SCNuMAX SCNu64 +# else +# define SCNuMAX "lu" +# endif +#endif +#if !defined SCNxMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define SCNxMAX SCNx64 +# else +# define SCNxMAX "lx" +# endif +#endif + +#if !defined SCNdPTR +# ifdef INTPTR_MAX +# define SCNdPTR @PRIPTR_PREFIX@ "d" +# endif +#endif +#if !defined SCNiPTR +# ifdef INTPTR_MAX +# define SCNiPTR @PRIPTR_PREFIX@ "i" +# endif +#endif +#if !defined SCNoPTR +# ifdef UINTPTR_MAX +# define SCNoPTR @PRIPTR_PREFIX@ "o" +# endif +#endif +#if !defined SCNuPTR +# ifdef UINTPTR_MAX +# define SCNuPTR @PRIPTR_PREFIX@ "u" +# endif +#endif +#if !defined 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_IMAXDIV_T@ +# if !GNULIB_defined_imaxdiv_t +typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; +# define GNULIB_defined_imaxdiv_t 1 +# endif +# endif +# if !@HAVE_DECL_IMAXDIV@ +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 *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 *restrict, char **restrict, int) + _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (strtoimax, intmax_t, + (const char *restrict, char **restrict, 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 @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 *restrict, char **restrict, int) + _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (strtoumax, uintmax_t, + (const char *restrict, char **restrict, int)); +# endif +_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/source/srclib/libc-config.h b/source/srclib/libc-config.h new file mode 100644 index 0000000..a56665b --- /dev/null +++ b/source/srclib/libc-config.h @@ -0,0 +1,202 @@ +/* System definitions for code taken from the GNU C Library + + Copyright 2017-2022 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 __bos +# undef __bos0 +# 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_fortify +# undef __glibc_fortify_n +# 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_objsize +# undef __glibc_objsize0 +# undef __glibc_safe_len_cond +# undef __glibc_safe_or_unknown_len +# undef __glibc_unlikely +# undef __glibc_unsafe_len +# undef __glibc_unsigned_or_positive +# undef __inline +# undef __ptr_t +# undef __restrict +# undef __restrict_arr +# undef __va_arg_pack +# undef __va_arg_pack_len +# undef __warnattr +# undef __wur + +/* 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/source/srclib/limits.in.h b/source/srclib/limits.in.h index 39750b3..b77bf75 100644 --- a/source/srclib/limits.in.h +++ b/source/srclib/limits.in.h @@ -1,30 +1,46 @@ /* A GNU-like . - Copyright 2016-2019 Free Software Foundation, Inc. + Copyright 2016-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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@_LIMITS_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@ -/* The include_next requires a split double-inclusion guard. */ +#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 @@ -83,10 +99,11 @@ # endif #endif -/* Macros specified by ISO/IEC TS 18661-1:2014. */ +/* Macros specified by C2x and by ISO/IEC TS 18661-1:2014. */ #if (! defined ULLONG_WIDTH \ - && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__)) + && (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) @@ -98,7 +115,17 @@ # 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 /* !ULLONG_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */ +#endif + +/* Macros specified by C2x. */ + +#if (! defined BOOL_WIDTH \ + && (defined _GNU_SOURCE \ + || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))) +# define BOOL_MAX 1 +# define BOOL_WIDTH 1 +#endif #endif /* _@GUARD_PREFIX@_LIMITS_H */ #endif /* _@GUARD_PREFIX@_LIMITS_H */ +#endif diff --git a/source/srclib/localcharset.h b/source/srclib/localcharset.h index 7d0d771..62efbf3 100644 --- a/source/srclib/localcharset.h +++ b/source/srclib/localcharset.h @@ -1,19 +1,19 @@ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2003, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2009-2022 Free Software Foundation, Inc. This file is part of the GNU CHARSET 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, 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 _LOCALCHARSET_H #define _LOCALCHARSET_H @@ -26,7 +26,10 @@ extern "C" { /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed below. - The result must not be freed; it is statically allocated. + The result must not be freed; it is statically allocated. The result + becomes invalid when setlocale() is used to change the global locale, or + when the value of one of the environment variables LC_ALL, LC_CTYPE, LANG + is changed; threads in multithreaded programs should not do this. If the canonical name cannot be determined, the result is a non-canonical name. */ extern const char * locale_charset (void); @@ -45,15 +48,15 @@ extern const char * locale_charset (void); (darwin = Mac OS X, windows = native Windows) ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin minix cygwin - ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin - ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin + ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos + ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos ISO-8859-3 Y glibc solaris cygwin ISO-8859-4 Y hpux osf solaris freebsd netbsd openbsd darwin - ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin + ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos ISO-8859-6 Y glibc aix hpux solaris cygwin - ISO-8859-7 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin - ISO-8859-8 Y glibc aix hpux osf solaris cygwin - ISO-8859-9 Y glibc aix hpux irix osf solaris freebsd darwin cygwin + ISO-8859-7 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos + ISO-8859-8 Y glibc aix hpux osf solaris cygwin zos + ISO-8859-9 Y glibc aix hpux irix osf solaris freebsd darwin cygwin zos ISO-8859-13 glibc hpux solaris freebsd netbsd openbsd darwin cygwin ISO-8859-14 glibc cygwin ISO-8859-15 glibc aix irix osf solaris freebsd netbsd openbsd darwin cygwin @@ -76,7 +79,7 @@ extern const char * locale_charset (void); CP874 windows dos CP922 aix CP932 aix cygwin windows dos - CP943 aix + CP943 aix zos CP949 osf darwin windows dos CP950 windows dos CP1046 aix @@ -92,17 +95,17 @@ extern const char * locale_charset (void); CP1255 glibc windows CP1256 windows CP1257 windows - GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin cygwin + GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin cygwin zos EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin - EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin + EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin zos EUC-TW glibc aix hpux irix osf solaris netbsd - BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin + BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin zos BIG5-HKSCS glibc hpux solaris netbsd darwin GBK glibc aix osf solaris freebsd darwin cygwin windows dos GB18030 glibc hpux solaris freebsd netbsd darwin SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin JOHAB glibc solaris windows - TIS-620 glibc aix hpux osf solaris cygwin + TIS-620 glibc aix hpux osf solaris cygwin zos VISCII Y glibc TCVN5712-1 glibc ARMSCII-8 glibc freebsd netbsd darwin @@ -116,7 +119,7 @@ extern const char * locale_charset (void); HP-KANA8 hpux DEC-KANJI osf DEC-HANYU osf - UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin + UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin zos Note: Names which are not marked as being a MIME name should not be used in Internet protocols for information interchange (mail, news, etc.). diff --git a/source/srclib/lstat.c b/source/srclib/lstat.c deleted file mode 100644 index a3e40d8..0000000 --- a/source/srclib/lstat.c +++ /dev/null @@ -1,104 +0,0 @@ -/* Work around a bug of lstat on some systems - - Copyright (C) 1997-2006, 2008-2019 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General 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 int -orig_lstat (const char *filename, struct stat *buf) -{ - return lstat (filename, buf); -} - -/* 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 - -/* 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) -{ - int result = orig_lstat (file, sbuf); - - /* 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. */ - if (result == 0) - { - if (S_ISDIR (sbuf->st_mode) || file[strlen (file) - 1] != '/') - result = stat_time_normalize (result, sbuf); - else - { - /* At this point, a trailing slash is permitted only 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; - } - result = stat (file, sbuf); - } - } - return result; -} - -#endif /* HAVE_LSTAT */ diff --git a/source/srclib/malloc.c b/source/srclib/malloc.c index 76e6ff7..f334dd6 100644 --- a/source/srclib/malloc.c +++ b/source/srclib/malloc.c @@ -1,51 +1,46 @@ /* malloc() function that is glibc compatible. - Copyright (C) 1997-1998, 2006-2007, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 1997-1998, 2006-2007, 2009-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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 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. */ +#include "xalloc-oversized.h" + +/* Allocate an N-byte block of memory from the heap, even if N is 0. */ void * rpl_malloc (size_t n) { - void *result; - -#if NEED_MALLOC_GNU if (n == 0) n = 1; -#endif - result = malloc (n); + if (xalloc_oversized (n, 1)) + { + errno = ENOMEM; + return NULL; + } + + void *result = malloc (n); #if !HAVE_MALLOC_POSIX if (result == NULL) diff --git a/source/srclib/malloc/scratch_buffer.h b/source/srclib/malloc/scratch_buffer.h new file mode 100644 index 0000000..e4c5c8a --- /dev/null +++ b/source/srclib/malloc/scratch_buffer.h @@ -0,0 +1,151 @@ +/* Variable-sized buffer with on-stack default allocation. + Copyright (C) 2015-2022 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 _SCRATCH_BUFFER_H +#define _SCRATCH_BUFFER_H + +/* Scratch buffers with a default stack allocation and fallback to + heap allocation. It is expected that this function is used in this + way: + + struct scratch_buffer tmpbuf; + scratch_buffer_init (&tmpbuf); + + while (!function_that_uses_buffer (tmpbuf.data, tmpbuf.length)) + if (!scratch_buffer_grow (&tmpbuf)) + return -1; + + scratch_buffer_free (&tmpbuf); + return 0; + + The allocation functions (scratch_buffer_grow, + scratch_buffer_grow_preserve, scratch_buffer_set_array_size) make + sure that the heap allocation, if any, is freed, so that the code + above does not have a memory leak. The buffer still remains in a + state that can be deallocated using scratch_buffer_free, so a loop + like this is valid as well: + + struct scratch_buffer tmpbuf; + scratch_buffer_init (&tmpbuf); + + while (!function_that_uses_buffer (tmpbuf.data, tmpbuf.length)) + if (!scratch_buffer_grow (&tmpbuf)) + break; + + scratch_buffer_free (&tmpbuf); + + scratch_buffer_grow and scratch_buffer_grow_preserve are guaranteed + to grow the buffer by at least 512 bytes. This means that when + using the scratch buffer as a backing store for a non-character + array whose element size, in bytes, is 512 or smaller, the scratch + buffer only has to grow once to make room for at least one more + element. +*/ + +#include +#include +#include + +/* Scratch buffer. Must be initialized with scratch_buffer_init + before its use. */ +struct scratch_buffer { + void *data; /* Pointer to the beginning of the scratch area. */ + size_t length; /* Allocated space at the data pointer, in bytes. */ + union { max_align_t __align; char __c[1024]; } __space; +}; + +/* Initializes *BUFFER so that BUFFER->data points to BUFFER->__space + and BUFFER->length reflects the available space. */ +static inline void +scratch_buffer_init (struct scratch_buffer *buffer) +{ + buffer->data = buffer->__space.__c; + buffer->length = sizeof (buffer->__space); +} + +/* Deallocates *BUFFER (if it was heap-allocated). */ +static inline void +scratch_buffer_free (struct scratch_buffer *buffer) +{ + if (buffer->data != buffer->__space.__c) + free (buffer->data); +} + +/* Grow *BUFFER by some arbitrary amount. The buffer contents is NOT + preserved. Return true on success, false on allocation failure (in + which case the old buffer is freed). On success, the new buffer is + larger than the previous size. On failure, *BUFFER is deallocated, + but remains in a free-able state, and errno is set. */ +bool __libc_scratch_buffer_grow (struct scratch_buffer *buffer); +libc_hidden_proto (__libc_scratch_buffer_grow) + +/* Alias for __libc_scratch_buffer_grow. */ +static __always_inline bool +scratch_buffer_grow (struct scratch_buffer *buffer) +{ + return __glibc_likely (__libc_scratch_buffer_grow (buffer)); +} + +/* Like __libc_scratch_buffer_grow, but preserve the old buffer + contents on success, as a prefix of the new buffer. */ +bool __libc_scratch_buffer_grow_preserve (struct scratch_buffer *buffer); +libc_hidden_proto (__libc_scratch_buffer_grow_preserve) + +/* Alias for __libc_scratch_buffer_grow_preserve. */ +static __always_inline bool +scratch_buffer_grow_preserve (struct scratch_buffer *buffer) +{ + return __glibc_likely (__libc_scratch_buffer_grow_preserve (buffer)); +} + +/* Grow *BUFFER so that it can store at least NELEM elements of SIZE + bytes. The buffer contents are NOT preserved. Both NELEM and SIZE + can be zero. Return true on success, false on allocation failure + (in which case the old buffer is freed, but *BUFFER remains in a + free-able state, and errno is set). It is unspecified whether this + function can reduce the array size. */ +bool __libc_scratch_buffer_set_array_size (struct scratch_buffer *buffer, + size_t nelem, size_t size); +libc_hidden_proto (__libc_scratch_buffer_set_array_size) + +/* Alias for __libc_scratch_set_array_size. */ +static __always_inline bool +scratch_buffer_set_array_size (struct scratch_buffer *buffer, + size_t nelem, size_t size) +{ + return __glibc_likely (__libc_scratch_buffer_set_array_size + (buffer, nelem, size)); +} + +/* Return a copy of *BUFFER's first SIZE bytes as a heap-allocated block, + deallocating *BUFFER if it was heap-allocated. SIZE must be at + most *BUFFER's size. Return NULL (setting errno) on memory + exhaustion. */ +void *__libc_scratch_buffer_dupfree (struct scratch_buffer *buffer, + size_t size); +libc_hidden_proto (__libc_scratch_buffer_dupfree) + +/* Alias for __libc_scratch_dupfree. */ +static __always_inline void * +scratch_buffer_dupfree (struct scratch_buffer *buffer, size_t size) +{ + void *r = __libc_scratch_buffer_dupfree (buffer, size); + return __glibc_likely (r != NULL) ? r : NULL; +} + +#endif /* _SCRATCH_BUFFER_H */ diff --git a/source/srclib/malloc/scratch_buffer_dupfree.c b/source/srclib/malloc/scratch_buffer_dupfree.c new file mode 100644 index 0000000..eb3b95c --- /dev/null +++ b/source/srclib/malloc/scratch_buffer_dupfree.c @@ -0,0 +1,41 @@ +/* Variable-sized buffer with on-stack default allocation. + Copyright (C) 2020-2022 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 _LIBC +# include +#endif + +#include +#include + +void * +__libc_scratch_buffer_dupfree (struct scratch_buffer *buffer, size_t size) +{ + void *data = buffer->data; + if (data == buffer->__space.__c) + { + void *copy = malloc (size); + return copy != NULL ? memcpy (copy, data, size) : NULL; + } + else + { + void *copy = realloc (data, size); + return copy != NULL ? copy : data; + } +} +libc_hidden_def (__libc_scratch_buffer_dupfree) diff --git a/source/srclib/malloc/scratch_buffer_grow.c b/source/srclib/malloc/scratch_buffer_grow.c new file mode 100644 index 0000000..9a5e4db --- /dev/null +++ b/source/srclib/malloc/scratch_buffer_grow.c @@ -0,0 +1,56 @@ +/* Variable-sized buffer with on-stack default allocation. + Copyright (C) 2015-2022 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 _LIBC +# include +#endif + +#include +#include + +bool +__libc_scratch_buffer_grow (struct scratch_buffer *buffer) +{ + void *new_ptr; + size_t new_length = buffer->length * 2; + + /* Discard old buffer. */ + scratch_buffer_free (buffer); + + /* Check for overflow. */ + if (__glibc_likely (new_length >= buffer->length)) + new_ptr = malloc (new_length); + else + { + __set_errno (ENOMEM); + new_ptr = NULL; + } + + if (__glibc_unlikely (new_ptr == NULL)) + { + /* Buffer must remain valid to free. */ + scratch_buffer_init (buffer); + return false; + } + + /* Install new heap-based buffer. */ + buffer->data = new_ptr; + buffer->length = new_length; + return true; +} +libc_hidden_def (__libc_scratch_buffer_grow) diff --git a/source/srclib/malloc/scratch_buffer_grow_preserve.c b/source/srclib/malloc/scratch_buffer_grow_preserve.c new file mode 100644 index 0000000..3fe5a07 --- /dev/null +++ b/source/srclib/malloc/scratch_buffer_grow_preserve.c @@ -0,0 +1,67 @@ +/* Variable-sized buffer with on-stack default allocation. + Copyright (C) 2015-2022 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 _LIBC +# include +#endif + +#include +#include +#include + +bool +__libc_scratch_buffer_grow_preserve (struct scratch_buffer *buffer) +{ + size_t new_length = 2 * buffer->length; + void *new_ptr; + + if (buffer->data == buffer->__space.__c) + { + /* Move buffer to the heap. No overflow is possible because + buffer->length describes a small buffer on the stack. */ + new_ptr = malloc (new_length); + if (new_ptr == NULL) + return false; + memcpy (new_ptr, buffer->__space.__c, buffer->length); + } + else + { + /* Buffer was already on the heap. Check for overflow. */ + if (__glibc_likely (new_length >= buffer->length)) + new_ptr = realloc (buffer->data, new_length); + else + { + __set_errno (ENOMEM); + new_ptr = NULL; + } + + if (__glibc_unlikely (new_ptr == NULL)) + { + /* Deallocate, but buffer must remain valid to free. */ + free (buffer->data); + scratch_buffer_init (buffer); + return false; + } + } + + /* Install new heap-based buffer. */ + buffer->data = new_ptr; + buffer->length = new_length; + return true; +} +libc_hidden_def (__libc_scratch_buffer_grow_preserve) diff --git a/source/srclib/malloc/scratch_buffer_set_array_size.c b/source/srclib/malloc/scratch_buffer_set_array_size.c new file mode 100644 index 0000000..89c37a9 --- /dev/null +++ b/source/srclib/malloc/scratch_buffer_set_array_size.c @@ -0,0 +1,64 @@ +/* Variable-sized buffer with on-stack default allocation. + Copyright (C) 2015-2022 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 _LIBC +# include +#endif + +#include +#include +#include + +bool +__libc_scratch_buffer_set_array_size (struct scratch_buffer *buffer, + size_t nelem, size_t size) +{ + size_t new_length = nelem * size; + + /* Avoid overflow check if both values are small. */ + if ((nelem | size) >> (sizeof (size_t) * CHAR_BIT / 2) != 0 + && nelem != 0 && size != new_length / nelem) + { + /* Overflow. Discard the old buffer, but it must remain valid + to free. */ + scratch_buffer_free (buffer); + scratch_buffer_init (buffer); + __set_errno (ENOMEM); + return false; + } + + if (new_length <= buffer->length) + return true; + + /* Discard old buffer. */ + scratch_buffer_free (buffer); + + char *new_ptr = malloc (new_length); + if (new_ptr == NULL) + { + /* Buffer must remain valid to free. */ + scratch_buffer_init (buffer); + return false; + } + + /* Install new heap-based buffer. */ + buffer->data = new_ptr; + buffer->length = new_length; + return true; +} +libc_hidden_def (__libc_scratch_buffer_set_array_size) diff --git a/source/srclib/malloca.c b/source/srclib/malloca.c index f60c5fb..e7beaaf 100644 --- a/source/srclib/malloca.c +++ b/source/srclib/malloca.c @@ -1,19 +1,19 @@ /* Safe automatic memory allocation. - Copyright (C) 2003, 2006-2007, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2007, 2009-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2003, 2018. - This program is free software; you can redistribute 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 . */ #define _GL_USE_STDLIB_ALLOC 1 #include @@ -21,6 +21,8 @@ /* Specification. */ #include "malloca.h" +#include "idx.h" +#include "intprops.h" #include "verify.h" /* The speed critical point in this file is freea() applied to an alloca() @@ -45,24 +47,30 @@ 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. */ - size_t nplus = n + sizeof (small_t) + 2 * sa_alignment_max - 1; - - if (nplus >= n) + uintptr_t alignment2_mask = 2 * sa_alignment_max - 1; + int plus = sizeof (small_t) + alignment2_mask; + idx_t nplus; + if (!INT_ADD_WRAPV (n, plus, &nplus) && !xalloc_oversized (nplus, 1)) { char *mem = (char *) malloc (nplus); if (mem != NULL) { - char *p = - (char *)((((uintptr_t)mem + sizeof (small_t) + sa_alignment_max - 1) - & ~(uintptr_t)(2 * sa_alignment_max - 1)) - + sa_alignment_max); + uintptr_t umem = (uintptr_t)mem, umemplus; + /* The INT_ADD_WRAPV avoids signed integer overflow on + theoretical platforms where UINTPTR_MAX <= INT_MAX. */ + INT_ADD_WRAPV (umem, sizeof (small_t) + sa_alignment_max - 1, + &umemplus); + idx_t offset = ((umemplus & ~alignment2_mask) + + sa_alignment_max - umem); + void *vp = mem + offset; + small_t *p = vp; /* 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 *) p)[-1] = p - mem; + p[-1] = offset; /* p ≡ sa_alignment_max mod 2*sa_alignment_max. */ return p; } diff --git a/source/srclib/malloca.h b/source/srclib/malloca.h index d80c316..7ec235f 100644 --- a/source/srclib/malloca.h +++ b/source/srclib/malloca.h @@ -1,19 +1,19 @@ /* Safe automatic memory allocation. - Copyright (C) 2003-2007, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2003-2007, 2009-2022 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 @@ -51,6 +51,13 @@ extern "C" { # 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. */ @@ -65,20 +72,16 @@ extern "C" { # 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. */ -#define nmalloca(n, s) (xalloc_oversized (n, s) ? NULL : malloca ((n) * (s))) +#define nmalloca(n, s) \ + (xalloc_oversized (n, s) ? NULL : malloca ((n) * (size_t) (s))) #ifdef __cplusplus @@ -89,7 +92,7 @@ extern void freea (void *p); /* ------------------- Auxiliary, non-public definitions ------------------- */ /* Determine the alignment of a type at compile time. */ -#if defined __GNUC__ || defined __IBM__ALIGNOF__ +#if defined __GNUC__ || defined __clang__ || defined __IBM__ALIGNOF__ # define sa_alignof __alignof__ #elif defined __cplusplus template struct sa_alignof_helper { char __slot1; type __slot2; }; @@ -112,14 +115,10 @@ 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 }; diff --git a/source/srclib/mempcpy.c b/source/srclib/mempcpy.c new file mode 100644 index 0000000..9aae418 --- /dev/null +++ b/source/srclib/mempcpy.c @@ -0,0 +1,33 @@ +/* Copy memory area and return pointer after last written byte. + Copyright (C) 2003, 2007, 2009-2022 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 + +/* A function definition is only needed if HAVE_MEMPCPY is not defined. */ +#if !HAVE_MEMPCPY + +/* Copy N bytes of SRC to DEST, return pointer to bytes after the + last written byte. */ +void * +mempcpy (void *dest, const void *src, size_t n) +{ + return (char *) memcpy (dest, src, n) + n; +} + +#endif diff --git a/source/srclib/minmax.h b/source/srclib/minmax.h new file mode 100644 index 0000000..b4b1345 --- /dev/null +++ b/source/srclib/minmax.h @@ -0,0 +1,60 @@ +/* MIN, MAX macros. + Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2022 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 _MINMAX_H +#define _MINMAX_H + +/* Note: MIN, MAX are also defined in on some systems + (glibc, IRIX, HP-UX, OSF/1). Therefore you might get warnings about + MIN, MAX macro redefinitions on some systems; the workaround is to + #include this file as the last one among the #include list. */ + +/* Before we define the following symbols we get the file + since otherwise we get redefinitions on some systems if is + included after this file. Likewise for . + If more than one of these system headers define MIN and MAX, pick just + one of the headers (because the definitions most likely are the same). */ +#if HAVE_MINMAX_IN_LIMITS_H +# include +#elif HAVE_MINMAX_IN_SYS_PARAM_H +# include +#endif + +/* Note: MIN and MAX should be used with two arguments of the + same type. They might not return the minimum and maximum of their two + arguments, if the arguments have different types or have unusual + floating-point values. For example, on a typical host with 32-bit 'int', + 64-bit 'long long', and 64-bit IEEE 754 'double' types: + + MAX (-1, 2147483648) returns 4294967295. + MAX (9007199254740992.0, 9007199254740993) returns 9007199254740992.0. + MAX (NaN, 0.0) returns 0.0. + MAX (+0.0, -0.0) returns -0.0. + + and in each case the answer is in some sense bogus. */ + +/* MAX(a,b) returns the maximum of A and B. */ +#ifndef MAX +# define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + +/* MIN(a,b) returns the minimum of A and B. */ +#ifndef MIN +# define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#endif /* _MINMAX_H */ diff --git a/source/srclib/msvc-inval.c b/source/srclib/msvc-inval.c index 75b5a07..d6651ca 100644 --- a/source/srclib/msvc-inval.c +++ b/source/srclib/msvc-inval.c @@ -1,18 +1,18 @@ /* Invalid parameter handler for MSVC runtime libraries. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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 diff --git a/source/srclib/msvc-inval.h b/source/srclib/msvc-inval.h index 9d3aa1f..1230b89 100644 --- a/source/srclib/msvc-inval.h +++ b/source/srclib/msvc-inval.h @@ -1,18 +1,18 @@ /* Invalid parameter handler for MSVC runtime libraries. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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 diff --git a/source/srclib/msvc-nothrow.c b/source/srclib/msvc-nothrow.c index 49b709c..aa06964 100644 --- a/source/srclib/msvc-nothrow.c +++ b/source/srclib/msvc-nothrow.c @@ -1,19 +1,19 @@ /* Wrappers that don't throw invalid parameter notifications with MSVC runtime libraries. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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 diff --git a/source/srclib/msvc-nothrow.h b/source/srclib/msvc-nothrow.h index 8d3ca78..5345155 100644 --- a/source/srclib/msvc-nothrow.h +++ b/source/srclib/msvc-nothrow.h @@ -1,19 +1,19 @@ /* Wrappers that don't throw invalid parameter notifications with MSVC runtime libraries. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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 diff --git a/source/srclib/open.c b/source/srclib/open.c new file mode 100644 index 0000000..170bff1 --- /dev/null +++ b/source/srclib/open.c @@ -0,0 +1,209 @@ +/* Open a descriptor to a file. + Copyright (C) 2007-2022 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 , 2007. */ + +/* If the user's config.h happens to include , let it include only + the system's here, so that orig_open doesn't recurse to + rpl_open. */ +#define __need_system_fcntl_h +#include + +/* Get the original definition of open. It might be defined as a macro. */ +#include +#include +#undef __need_system_fcntl_h + +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. */ +/* 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 "cloexec.h" + +#include +#include +#include +#include +#include +#include + +#ifndef REPLACE_OPEN_DIRECTORY +# define REPLACE_OPEN_DIRECTORY 0 +#endif + +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; + + mode = 0; + if (flags & O_CREAT) + { + va_list arg; + va_start (arg, flags); + + /* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4 + creates crashing code when 'mode_t' is smaller than 'int'. */ + mode = va_arg (arg, PROMOTED_MODE_T); + + va_end (arg); + } + +#if GNULIB_defined_O_NONBLOCK + /* The only known platform that lacks O_NONBLOCK is mingw, but it + also lacks named pipes and Unix sockets, which are the only two + file types that require non-blocking handling in open(). + Therefore, it is safe to ignore O_NONBLOCK here. It is handy + that mingw also lacks openat(), so that is also covered here. */ + flags &= ~O_NONBLOCK; +#endif + +#if defined _WIN32 && ! defined __CYGWIN__ + if (strcmp (filename, "/dev/null") == 0) + filename = "NUL"; +#endif + +#if OPEN_TRAILING_SLASH_BUG + /* 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. + 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) + || (flags & O_ACCMODE) == O_RDWR + || (flags & O_ACCMODE) == O_WRONLY) + { + size_t len = strlen (filename); + if (len > 0 && filename[len - 1] == '/') + { + errno = EISDIR; + return -1; + } + } +#endif + + 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 + directory file descriptor. If open doesn't support that (as on + mingw), we use a dummy file that behaves the same as directories + on Linux (ie. always reports EOF on attempts to read()), and + override fstat() in fchdir.c to hide the fact that we have a + dummy. */ + if (REPLACE_OPEN_DIRECTORY && fd < 0 && errno == EACCES + && ((flags & O_ACCMODE) == O_RDONLY + || (O_SEARCH != O_RDONLY && (flags & O_ACCMODE) == O_SEARCH))) + { + struct stat statbuf; + if (stat (filename, &statbuf) == 0 && S_ISDIR (statbuf.st_mode)) + { + /* Maximum recursion depth of 1. */ + fd = open ("/dev/null", flags, mode); + if (0 <= fd) + fd = _gl_register_fd (fd, filename); + } + else + errno = EACCES; + } +#endif + +#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 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) + { + /* We know len is positive, since open did not fail with ENOENT. */ + size_t len = strlen (filename); + if (filename[len - 1] == '/') + { + struct stat statbuf; + + if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode)) + { + close (fd); + errno = ENOTDIR; + return -1; + } + } + } +#endif + +#if REPLACE_FCHDIR + if (!REPLACE_OPEN_DIRECTORY && 0 <= fd) + fd = _gl_register_fd (fd, filename); +#endif + + return fd; +} diff --git a/source/srclib/pathmax.h b/source/srclib/pathmax.h index 9463a1f..19b93d7 100644 --- a/source/srclib/pathmax.h +++ b/source/srclib/pathmax.h @@ -1,26 +1,26 @@ /* Define PATH_MAX somehow. Requires sys/types.h. - Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2019 Free Software + Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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. diff --git a/source/srclib/progname.c b/source/srclib/progname.c index a42b7fa..6f09c2b 100644 --- a/source/srclib/progname.c +++ b/source/srclib/progname.c @@ -1,10 +1,10 @@ /* Program name management. - Copyright (C) 2001-2003, 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2022 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, diff --git a/source/srclib/progname.h b/source/srclib/progname.h index 2f322ae..1556a1d 100644 --- a/source/srclib/progname.h +++ b/source/srclib/progname.h @@ -1,10 +1,10 @@ /* Program name management. - Copyright (C) 2001-2004, 2006, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006, 2009-2022 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, diff --git a/source/srclib/progreloc.c b/source/srclib/progreloc.c index b3eb503..8bb2576 100644 --- a/source/srclib/progreloc.c +++ b/source/srclib/progreloc.c @@ -1,10 +1,10 @@ /* Provide relocatable programs. - Copyright (C) 2003-2019 Free Software Foundation, Inc. + Copyright (C) 2003-2022 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, @@ -70,14 +70,25 @@ # define O_EXEC O_RDONLY /* This is often close enough in older systems. */ #endif +#if defined IN_RELOCWRAPPER && (!defined O_CLOEXEC || GNULIB_defined_O_CLOEXEC) +# undef O_CLOEXEC +# define O_CLOEXEC 0 +#endif + /* Declare canonicalize_file_name. The included above may be the system's one, not the gnulib one. */ extern char * canonicalize_file_name (const char *name); +#if defined WINDOWS_NATIVE +/* Don't assume that UNICODE is not defined. */ +# undef GetModuleFileName +# define GetModuleFileName GetModuleFileNameA +#endif + /* Pathname support. - ISSLASH(C) tests whether C is a directory separator character. - IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. + ISSLASH(C) tests whether C is a directory separator character. + IS_FILE_NAME_WITH_DIR(P) tests whether P contains a directory specification. */ #if (defined _WIN32 && !defined __CYGWIN__) || defined __EMX__ || defined __DJGPP__ /* Native Windows, OS/2, DOS */ @@ -85,13 +96,13 @@ extern char * canonicalize_file_name (const char *name); # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') -# define IS_PATH_WITH_DIR(P) \ +# define IS_FILE_NAME_WITH_DIR(P) \ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) # define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) #else /* Unix */ # define ISSLASH(C) ((C) == '/') -# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) +# define IS_FILE_NAME_WITH_DIR(P) (strchr (P, '/') != NULL) # define FILE_SYSTEM_PREFIX_LEN(P) 0 #endif @@ -151,17 +162,20 @@ full_read (int fd, void *buf, size_t count) static int executable_fd = -1; #endif -/* Tests whether a given pathname may belong to the executable. */ +/* Define this function only when it's needed. */ +#if !(defined WINDOWS_NATIVE || defined __EMX__) + +/* Tests whether a given filename may belong to the executable. */ static bool maybe_executable (const char *filename) { /* The native Windows API lacks the access() function. */ -#if !defined WINDOWS_NATIVE +# if !defined WINDOWS_NATIVE if (access (filename, X_OK) < 0) return false; -#endif +# endif -#if defined __linux__ || defined __CYGWIN__ +# if defined __linux__ || defined __CYGWIN__ if (executable_fd >= 0) { /* If we already have an executable_fd, check that filename points to @@ -170,20 +184,24 @@ maybe_executable (const char *filename) struct stat statfile; if (fstat (executable_fd, &statexe) >= 0) - { - if (stat (filename, &statfile) < 0) - return false; - if (!(statfile.st_dev + return (stat (filename, &statfile) >= 0 + && statfile.st_dev && statfile.st_dev == statexe.st_dev - && statfile.st_ino == statexe.st_ino)) - return false; - } + && statfile.st_ino == statexe.st_ino); } -#endif +# endif - return true; + /* Check that the filename does not point to a directory. */ + { + struct stat statfile; + + return (stat (filename, &statfile) >= 0 + && ! S_ISDIR (statfile.st_mode)); + } } +#endif + /* Determine the full pathname of the current executable, freshly allocated. Return NULL if unknown. Guaranteed to work on Linux and native Windows. Likely to work on the @@ -201,7 +219,7 @@ find_executable (const char *argv0) int length = GetModuleFileName (NULL, location, sizeof (location)); if (length < 0) return NULL; - if (!IS_PATH_WITH_DIR (location)) + if (!IS_FILE_NAME_WITH_DIR (location)) /* Shouldn't happen. */ return NULL; return xstrdup (location); @@ -235,7 +253,7 @@ find_executable (const char *argv0) if (link != NULL && link[0] != '[') return link; if (executable_fd < 0) - executable_fd = open ("/proc/self/exe", O_EXEC, 0); + executable_fd = open ("/proc/self/exe", O_EXEC | O_CLOEXEC, 0); { char buf[6+10+5]; @@ -244,7 +262,7 @@ find_executable (const char *argv0) if (link != NULL && link[0] != '[') return link; if (executable_fd < 0) - executable_fd = open (buf, O_EXEC, 0); + executable_fd = open (buf, O_EXEC | O_CLOEXEC, 0); } } # endif @@ -291,7 +309,7 @@ find_executable (const char *argv0) the current directory. */ { char namebuf[4096]; - int fd = open ("/proc/self/execname", O_RDONLY, 0); + int fd = open ("/proc/self/execname", O_RDONLY | O_CLOEXEC, 0); if (fd >= 0) { size_t len = full_read (fd, namebuf, sizeof (namebuf)); @@ -314,7 +332,7 @@ find_executable (const char *argv0) if (link != NULL) return link; if (executable_fd < 0) - executable_fd = open ("/proc/self/exe", O_EXEC, 0); + executable_fd = open ("/proc/self/exe", O_EXEC | O_CLOEXEC, 0); } # endif # if HAVE_MACH_O_DYLD_H && HAVE__NSGETEXECUTABLEPATH diff --git a/source/srclib/raise.c b/source/srclib/raise.c index e750b7a..385ddd3 100644 --- a/source/srclib/raise.c +++ b/source/srclib/raise.c @@ -1,18 +1,18 @@ /* Provide a non-threads replacement for the POSIX raise function. - Copyright (C) 2002-2003, 2005-2006, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2006, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* written by Jim Meyering and Bruno Haible */ diff --git a/source/srclib/rawmemchr.c b/source/srclib/rawmemchr.c new file mode 100644 index 0000000..ea68c1b --- /dev/null +++ b/source/srclib/rawmemchr.c @@ -0,0 +1,125 @@ +/* Searching in a string. + Copyright (C) 2008-2022 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 + +/* A function definition is only needed if HAVE_RAWMEMCHR is not defined. */ +#if !HAVE_RAWMEMCHR + +# include +# include +# include + +# include "verify.h" + +/* Find the first occurrence of C in S. */ +void * +rawmemchr (const void *s, int c_in) +{ + /* Change this typedef to experiment with performance. */ + typedef uintptr_t longword; + /* If you change the "uintptr_t", you should change UINTPTR_WIDTH to match. + This verifies that the type does not have padding bits. */ + verify (UINTPTR_WIDTH == UCHAR_WIDTH * sizeof (longword)); + + const unsigned char *char_ptr; + unsigned char c = c_in; + + /* Handle the first few bytes by reading one byte at a time. + Do this until CHAR_PTR is aligned on a longword boundary. */ + for (char_ptr = (const unsigned char *) s; + (uintptr_t) char_ptr % alignof (longword) != 0; + ++char_ptr) + if (*char_ptr == c) + return (void *) char_ptr; + + longword const *longword_ptr = s = char_ptr; + + /* Compute auxiliary longword values: + repeated_one is a value which has a 1 in every byte. + repeated_c has c in every byte. */ + longword repeated_one = (longword) -1 / UCHAR_MAX; + longword repeated_c = repeated_one * c; + longword repeated_hibit = repeated_one * (UCHAR_MAX / 2 + 1); + + /* Instead of the traditional loop which tests each byte, we will + test a longword at a time. The tricky part is testing if any of + the bytes in the longword in question are equal to + c. We first use an xor with repeated_c. This reduces the task + to testing whether any of the bytes in longword1 is zero. + + (The following comments assume 8-bit bytes, as POSIX requires; + the code's use of UCHAR_MAX should work even if bytes have more + than 8 bits.) + + We compute tmp = + ((longword1 - repeated_one) & ~longword1) & (repeated_one * 0x80). + That is, we perform the following operations: + 1. Subtract repeated_one. + 2. & ~longword1. + 3. & a mask consisting of 0x80 in every byte. + Consider what happens in each byte: + - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff, + and step 3 transforms it into 0x80. A carry can also be propagated + to more significant bytes. + - If a byte of longword1 is nonzero, let its lowest 1 bit be at + position k (0 <= k <= 7); so the lowest k bits are 0. After step 1, + the byte ends in a single bit of value 0 and k bits of value 1. + After step 2, the result is just k bits of value 1: 2^k - 1. After + step 3, the result is 0. And no carry is produced. + So, if longword1 has only non-zero bytes, tmp is zero. + Whereas if longword1 has a zero byte, call j the position of the least + significant zero byte. Then the result has a zero at positions 0, ..., + j-1 and a 0x80 at position j. We cannot predict the result at the more + significant bytes (positions j+1..3), but it does not matter since we + already have a non-zero bit at position 8*j+7. + + The test whether any byte in longword1 is zero is equivalent + to testing whether tmp is nonzero. + + This test can read beyond the end of a string, depending on where + C_IN is encountered. However, this is considered safe since the + initialization phase ensured that the read will be aligned, + therefore, the read will not cross page boundaries and will not + cause a fault. */ + + while (1) + { + longword longword1 = *longword_ptr ^ repeated_c; + + if ((((longword1 - repeated_one) & ~longword1) & repeated_hibit) != 0) + break; + longword_ptr++; + } + + char_ptr = s = longword_ptr; + + /* At this point, we know that one of the sizeof (longword) bytes + starting at char_ptr is == c. If we knew endianness, we + could determine the first such byte without any further memory + accesses, just by looking at the tmp result from the last loop + iteration. However, the following simple and portable code does + not attempt this potential optimization. */ + + while (*char_ptr != c) + char_ptr++; + return (void *) char_ptr; +} + +#endif diff --git a/source/srclib/rawmemchr.valgrind b/source/srclib/rawmemchr.valgrind new file mode 100644 index 0000000..64cf86c --- /dev/null +++ b/source/srclib/rawmemchr.valgrind @@ -0,0 +1,28 @@ +# Suppress a valgrind message about use of uninitialized memory in rawmemchr(). + +# Copyright (C) 2008-2022 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 . + +# This use is OK because it provides only a speedup. +{ + rawmemchr-value4 + Memcheck:Value4 + fun:rawmemchr +} +{ + rawmemchr-value8 + Memcheck:Value8 + fun:rawmemchr +} diff --git a/source/srclib/read.c b/source/srclib/read.c index 52df1b0..1bb7d90 100644 --- a/source/srclib/read.c +++ b/source/srclib/read.c @@ -1,18 +1,18 @@ /* POSIX compatible read() function. - Copyright (C) 2008-2019 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2011. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -37,6 +37,10 @@ # include # endif +/* Don't assume that UNICODE is not defined. */ +# undef GetNamedPipeHandleState +# define GetNamedPipeHandleState GetNamedPipeHandleStateA + # undef read # if HAVE_MSVC_INVALID_PARAMETER_HANDLER @@ -47,7 +51,7 @@ read_nothrow (int fd, void *buf, size_t count) TRY_MSVC_INVAL { - result = read (fd, buf, count); + result = _read (fd, buf, count); } CATCH_MSVC_INVAL { @@ -59,7 +63,7 @@ read_nothrow (int fd, void *buf, size_t count) return result; } # else -# define read_nothrow read +# define read_nothrow _read # endif ssize_t diff --git a/source/srclib/readlink.c b/source/srclib/readlink.c index bf71109..ed03cc8 100644 --- a/source/srclib/readlink.c +++ b/source/srclib/readlink.c @@ -1,17 +1,17 @@ -/* Stub for readlink(). - Copyright (C) 2003-2007, 2009-2019 Free Software Foundation, Inc. +/* Read the contents of a symbolic link. + Copyright (C) 2003-2007, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -29,15 +29,15 @@ such as DJGPP 2.03 and mingw32. */ ssize_t -readlink (const char *name, char *buf _GL_UNUSED, - size_t bufsize _GL_UNUSED) +readlink (char const *file, _GL_UNUSED char *buf, + _GL_UNUSED size_t bufsize) { struct stat statbuf; /* In general we should use lstat() here, not stat(). But on platforms without symbolic links, lstat() - if it exists - would be equivalent to stat(), therefore we can use stat(). This saves us a configure check. */ - if (stat (name, &statbuf) >= 0) + if (stat (file, &statbuf) >= 0) errno = EINVAL; return -1; } @@ -51,24 +51,54 @@ readlink (const char *name, char *buf _GL_UNUSED, for Solaris 9. */ ssize_t -rpl_readlink (const char *name, char *buf, size_t bufsize) +rpl_readlink (char const *file, char *buf, size_t bufsize) { # if READLINK_TRAILING_SLASH_BUG - size_t len = strlen (name); - if (len && name[len - 1] == '/') + size_t file_len = strlen (file); + if (file_len && file[file_len - 1] == '/') { - /* Even if name without the slash is a symlink to a directory, + /* Even if FILE without the slash is a symlink to a directory, both lstat() and stat() must resolve the trailing slash to the directory rather than the symlink. We can therefore safely use stat() to distinguish between EINVAL and ENOTDIR/ENOENT, avoiding extra overhead of rpl_lstat(). */ struct stat st; - if (stat (name, &st) == 0) + if (stat (file, &st) == 0 || errno == EOVERFLOW) errno = EINVAL; return -1; } # endif /* READLINK_TRAILING_SLASH_BUG */ - return readlink (name, buf, bufsize); + + ssize_t r = readlink (file, buf, bufsize); + +# if READLINK_TRUNCATE_BUG + if (r < 0 && errno == ERANGE) + { + /* Try again with a bigger buffer. This is just for test cases; + real code invariably discards short reads. */ + char stackbuf[4032]; + r = readlink (file, stackbuf, sizeof stackbuf); + if (r < 0) + { + if (errno == ERANGE) + { + /* Clear the buffer, which is good enough for real code. + Thankfully, no test cases try short reads of enormous + symlinks and what would be the point anyway? */ + r = bufsize; + memset (buf, 0, r); + } + } + else + { + if (bufsize < r) + r = bufsize; + memcpy (buf, stackbuf, r); + } + } +# endif + + return r; } #endif /* HAVE_READLINK */ diff --git a/source/srclib/realloc.c b/source/srclib/realloc.c new file mode 100644 index 0000000..c878381 --- /dev/null +++ b/source/srclib/realloc.c @@ -0,0 +1,63 @@ +/* realloc() function that is glibc compatible. + + Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2022 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 Jim Meyering and Bruno Haible */ + +#include + +#include + +#include + +#include "xalloc-oversized.h" + +/* Call the system's realloc below. This file does not define + _GL_USE_STDLIB_ALLOC because it needs Gnulib's malloc if present. */ +#undef realloc + +/* Change the size of an allocated block of memory P to N bytes, + with error checking. If P is NULL, use malloc. Otherwise if N is zero, + free P and return NULL. */ + +void * +rpl_realloc (void *p, size_t n) +{ + if (p == NULL) + return malloc (n); + + if (n == 0) + { + free (p); + return NULL; + } + + if (xalloc_oversized (n, 1)) + { + errno = ENOMEM; + return NULL; + } + + void *result = realloc (p, n); + +#if !HAVE_MALLOC_POSIX + if (result == NULL) + errno = ENOMEM; +#endif + + return result; +} diff --git a/source/srclib/relocatable.c b/source/srclib/relocatable.c index de431e7..1ca8ec0 100644 --- a/source/srclib/relocatable.c +++ b/source/srclib/relocatable.c @@ -1,18 +1,18 @@ /* Provide relocatable packages. - Copyright (C) 2003-2006, 2008-2019 Free Software Foundation, Inc. + Copyright (C) 2003-2006, 2008-2022 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 - (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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ @@ -65,6 +65,12 @@ # include #endif +#if defined _WIN32 && !defined __CYGWIN__ +/* Don't assume that UNICODE is not defined. */ +# undef GetModuleFileName +# define GetModuleFileName GetModuleFileNameA +#endif + /* Faked cheap 'bool'. */ #undef bool #undef false @@ -74,8 +80,8 @@ #define true 1 /* Pathname support. - ISSLASH(C) tests whether C is a directory separator character. - IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. + ISSLASH(C) tests whether C is a directory separator character. + IS_FILE_NAME_WITH_DIR(P) tests whether P contains a directory specification. */ #if (defined _WIN32 && !defined __CYGWIN__) || defined __EMX__ || defined __DJGPP__ /* Native Windows, OS/2, DOS */ @@ -83,13 +89,13 @@ # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') -# define IS_PATH_WITH_DIR(P) \ +# define IS_FILE_NAME_WITH_DIR(P) \ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) # define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) #else /* Unix */ # define ISSLASH(C) ((C) == '/') -# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) +# define IS_FILE_NAME_WITH_DIR(P) (strchr (P, '/') != NULL) # define FILE_SYSTEM_PREFIX_LEN(P) 0 #endif @@ -317,7 +323,10 @@ static char *shared_library_fullname; supports longer file names (see ). */ -/* Determine the full pathname of the shared library when it is loaded. */ +/* Determine the full pathname of the shared library when it is loaded. + + Documentation: + */ BOOL WINAPI DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) @@ -333,11 +342,17 @@ DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) /* Shouldn't happen. */ return FALSE; - if (!IS_PATH_WITH_DIR (location)) + if (!IS_FILE_NAME_WITH_DIR (location)) /* Shouldn't happen. */ return FALSE; - shared_library_fullname = strdup (location); + /* Avoid a memory leak when the same DLL get attached, detached, + attached, detached, and so on. This happens e.g. when a spell + checker DLL is used repeatedly by a mail program. */ + if (!(shared_library_fullname != NULL + && strcmp (shared_library_fullname, location) == 0)) + /* Remember the full pathname of the shared library. */ + shared_library_fullname = strdup (location); } return TRUE; diff --git a/source/srclib/relocatable.h b/source/srclib/relocatable.h index 896a7e5..49452fe 100644 --- a/source/srclib/relocatable.h +++ b/source/srclib/relocatable.h @@ -1,23 +1,25 @@ /* Provide relocatable packages. - Copyright (C) 2003, 2005, 2008-2019 Free Software Foundation, Inc. + Copyright (C) 2003, 2005, 2008-2022 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 - (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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _RELOCATABLE_H #define _RELOCATABLE_H +#include + #ifdef __cplusplus extern "C" { #endif @@ -83,7 +85,8 @@ extern const char * relocate2 (const char *pathname, char **allocatedp); Returns it, freshly allocated. Returns NULL upon failure. */ extern char * compute_curr_prefix (const char *orig_installprefix, const char *orig_installdir, - const char *curr_pathname); + const char *curr_pathname) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE; #else diff --git a/source/srclib/relocwrapper.c b/source/srclib/relocwrapper.c index 421b4b5..ff0ad41 100644 --- a/source/srclib/relocwrapper.c +++ b/source/srclib/relocwrapper.c @@ -1,10 +1,10 @@ /* Relocating wrapper program. - Copyright (C) 2003, 2005-2007, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2003, 2005-2007, 2009-2022 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, @@ -19,18 +19,36 @@ relocwrapper -> progname -> progreloc + -> stat + -> filename + -> pathmax + -> verify -> areadlink -> careadlinkat -> allocator -> readlink -> stat - -> dosname - -> pathmax - -> verify -> canonicalize-lgpl - -> malloca - -> lstat + -> libc-config + -> errno + -> fcntl-h + -> stdbool + -> sys_stat + -> unistd + -> eloop-threshold + -> filename + -> idx + -> intprops + -> scratch_buffer + -> malloc-posix + -> realloc-posix + -> free-posix + -> pathmax + -> mempcpy + -> rawmemchr -> readlink + -> stat + -> double-slash-root -> relocatable -> setenv -> malloca diff --git a/source/srclib/safe-read.c b/source/srclib/safe-read.c index e6c54b7..04ffa7b 100644 --- a/source/srclib/safe-read.c +++ b/source/srclib/safe-read.c @@ -1,19 +1,19 @@ /* An interface to read and write that retries after interrupts. - Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2019 Free Software + Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff --git a/source/srclib/safe-read.h b/source/srclib/safe-read.h index 3f421f6..a39bb98 100644 --- a/source/srclib/safe-read.h +++ b/source/srclib/safe-read.h @@ -1,17 +1,17 @@ /* An interface to read() that retries after interrupts. - Copyright (C) 2002, 2006, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2002, 2006, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Some system calls may be interrupted and fail with errno = EINTR in the diff --git a/source/srclib/scratch_buffer.h b/source/srclib/scratch_buffer.h new file mode 100644 index 0000000..f4fe5e8 --- /dev/null +++ b/source/srclib/scratch_buffer.h @@ -0,0 +1,127 @@ +/* Variable-sized buffer with on-stack default allocation. + Copyright (C) 2017-2022 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, 2017. */ + +#ifndef _GL_SCRATCH_BUFFER_H +#define _GL_SCRATCH_BUFFER_H + +/* Scratch buffers with a default stack allocation and fallback to + heap allocation. It is expected that this function is used in this + way: + + struct scratch_buffer tmpbuf; + scratch_buffer_init (&tmpbuf); + + while (!function_that_uses_buffer (tmpbuf.data, tmpbuf.length)) + if (!scratch_buffer_grow (&tmpbuf)) + return -1; + + scratch_buffer_free (&tmpbuf); + return 0; + + The allocation functions (scratch_buffer_grow, + scratch_buffer_grow_preserve, scratch_buffer_set_array_size) make + sure that the heap allocation, if any, is freed, so that the code + above does not have a memory leak. The buffer still remains in a + state that can be deallocated using scratch_buffer_free, so a loop + like this is valid as well: + + struct scratch_buffer tmpbuf; + scratch_buffer_init (&tmpbuf); + + while (!function_that_uses_buffer (tmpbuf.data, tmpbuf.length)) + if (!scratch_buffer_grow (&tmpbuf)) + break; + + scratch_buffer_free (&tmpbuf); + + scratch_buffer_grow and scratch_buffer_grow_preserve are guaranteed + to grow the buffer by at least 512 bytes. This means that when + using the scratch buffer as a backing store for a non-character + array whose element size, in bytes, is 512 or smaller, the scratch + buffer only has to grow once to make room for at least one more + element. +*/ + +/* Scratch buffer. Must be initialized with scratch_buffer_init + before its use. */ +struct scratch_buffer; + +/* Initializes *BUFFER so that BUFFER->data points to BUFFER->__space + and BUFFER->length reflects the available space. */ +#if 0 +extern void scratch_buffer_init (struct scratch_buffer *buffer); +#endif + +/* Deallocates *BUFFER (if it was heap-allocated). */ +#if 0 +extern void scratch_buffer_free (struct scratch_buffer *buffer); +#endif + +/* Grow *BUFFER by some arbitrary amount. The buffer contents is NOT + preserved. Return true on success, false on allocation failure (in + which case the old buffer is freed). On success, the new buffer is + larger than the previous size. On failure, *BUFFER is deallocated, + but remains in a free-able state, and errno is set. */ +#if 0 +extern bool scratch_buffer_grow (struct scratch_buffer *buffer); +#endif + +/* Like scratch_buffer_grow, but preserve the old buffer + contents on success, as a prefix of the new buffer. */ +#if 0 +extern bool scratch_buffer_grow_preserve (struct scratch_buffer *buffer); +#endif + +/* Grow *BUFFER so that it can store at least NELEM elements of SIZE + bytes. The buffer contents are NOT preserved. Both NELEM and SIZE + can be zero. Return true on success, false on allocation failure + (in which case the old buffer is freed, but *BUFFER remains in a + free-able state, and errno is set). It is unspecified whether this + function can reduce the array size. */ +#if 0 +extern bool scratch_buffer_set_array_size (struct scratch_buffer *buffer, + size_t nelem, size_t size); +#endif + +/* Return a copy of *BUFFER's first SIZE bytes as a heap-allocated block, + deallocating *BUFFER if it was heap-allocated. SIZE must be at + most *BUFFER's size. Return NULL (setting errno) on memory + exhaustion. */ +#if 0 +extern void *scratch_buffer_dupfree (struct scratch_buffer *buffer, + size_t size); +#endif + + +/* The implementation is imported from glibc. */ + +/* Avoid possible conflicts with symbols exported by the GNU libc. */ +#define __libc_scratch_buffer_dupfree gl_scratch_buffer_dupfree +#define __libc_scratch_buffer_grow gl_scratch_buffer_grow +#define __libc_scratch_buffer_grow_preserve gl_scratch_buffer_grow_preserve +#define __libc_scratch_buffer_set_array_size gl_scratch_buffer_set_array_size + +#ifndef _GL_LIKELY +/* Rely on __builtin_expect, as provided by the module 'builtin-expect'. */ +# define _GL_LIKELY(cond) __builtin_expect ((cond), 1) +# define _GL_UNLIKELY(cond) __builtin_expect ((cond), 0) +#endif + +#include + +#endif /* _GL_SCRATCH_BUFFER_H */ diff --git a/source/srclib/setenv.c b/source/srclib/setenv.c index 733b257..ebfd4e5 100644 --- a/source/srclib/setenv.c +++ b/source/srclib/setenv.c @@ -1,17 +1,17 @@ -/* Copyright (C) 1992, 1995-2003, 2005-2019 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995-2003, 2005-2022 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #if !_LIBC @@ -72,7 +72,7 @@ __libc_lock_define_initialized (static, envlock) 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__) + && (defined __GNUC__ || defined __clang__)) # define USE_TSEARCH 1 # include typedef int (*compar_fn_t) (const void *, const void *); diff --git a/source/srclib/signal.in.h b/source/srclib/signal.in.h index a6960a2..640b502 100644 --- a/source/srclib/signal.in.h +++ b/source/srclib/signal.in.h @@ -1,18 +1,18 @@ /* A GNU-like . - Copyright (C) 2006-2019 Free Software Foundation, Inc. + Copyright (C) 2006-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #if __GNUC__ >= 3 @@ -55,13 +55,13 @@ #ifndef _@GUARD_PREFIX@_SIGNAL_H #define _@GUARD_PREFIX@_SIGNAL_H -/* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6, Android - declare pthread_sigmask in , not in . +/* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6, Android, + OS/2 kLIBC declare pthread_sigmask in , not in . But avoid namespace pollution on glibc systems.*/ #if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \ && ((defined __APPLE__ && defined __MACH__) \ || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__ \ - || defined __sun || defined __ANDROID__) \ + || defined __sun || defined __ANDROID__ || defined __KLIBC__) \ && ! defined __GLIBC__ # include #endif @@ -133,18 +133,28 @@ typedef void (*sighandler_t) (int); # define pthread_sigmask rpl_pthread_sigmask # endif _GL_FUNCDECL_RPL (pthread_sigmask, int, - (int how, const sigset_t *new_mask, sigset_t *old_mask)); + (int how, + const sigset_t *restrict new_mask, + sigset_t *restrict old_mask)); _GL_CXXALIAS_RPL (pthread_sigmask, int, - (int how, const sigset_t *new_mask, sigset_t *old_mask)); + (int how, + const sigset_t *restrict new_mask, + sigset_t *restrict old_mask)); # else # if !(@HAVE_PTHREAD_SIGMASK@ || defined pthread_sigmask) _GL_FUNCDECL_SYS (pthread_sigmask, int, - (int how, const sigset_t *new_mask, sigset_t *old_mask)); + (int how, + const sigset_t *restrict new_mask, + sigset_t *restrict old_mask)); # endif _GL_CXXALIAS_SYS (pthread_sigmask, int, - (int how, const sigset_t *new_mask, sigset_t *old_mask)); + (int how, + const sigset_t *restrict new_mask, + sigset_t *restrict old_mask)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pthread_sigmask); +# endif #elif defined GNULIB_POSIXCHECK # undef pthread_sigmask # if HAVE_RAW_DECL_PTHREAD_SIGMASK @@ -168,7 +178,9 @@ _GL_FUNCDECL_SYS (raise, int, (int sig)); # endif _GL_CXXALIAS_SYS (raise, int, (int sig)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (raise); +# endif #elif defined GNULIB_POSIXCHECK # undef raise /* Assume raise is always declared. */ @@ -291,10 +303,14 @@ _GL_CXXALIASWARN (sigpending); # define SIG_SETMASK 1 /* blocked_set = *set; */ # define SIG_UNBLOCK 2 /* blocked_set = blocked_set & ~*set; */ _GL_FUNCDECL_SYS (sigprocmask, int, - (int operation, const sigset_t *set, sigset_t *old_set)); + (int operation, + const sigset_t *restrict set, + sigset_t *restrict old_set)); # endif _GL_CXXALIAS_SYS (sigprocmask, int, - (int operation, const sigset_t *set, sigset_t *old_set)); + (int operation, + const sigset_t *restrict set, + sigset_t *restrict old_set)); _GL_CXXALIASWARN (sigprocmask); /* Install the handler FUNC for signal SIG, and return the previous @@ -318,10 +334,18 @@ _GL_FUNCDECL_RPL (signal, _gl_function_taking_int_returning_void_t, _GL_CXXALIAS_RPL (signal, _gl_function_taking_int_returning_void_t, (int sig, _gl_function_taking_int_returning_void_t func)); # else +/* On OpenBSD, the declaration of 'signal' may not be present at this point, + because it occurs in , not directly. */ +# if defined __OpenBSD__ +_GL_FUNCDECL_SYS (signal, _gl_function_taking_int_returning_void_t, + (int sig, _gl_function_taking_int_returning_void_t func)); +# endif _GL_CXXALIAS_SYS (signal, _gl_function_taking_int_returning_void_t, (int sig, _gl_function_taking_int_returning_void_t func)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (signal); +# endif # if !@HAVE_POSIX_SIGNALBLOCKING@ && GNULIB_defined_SIGPIPE /* Raise signal SIGPIPE. */ diff --git a/source/srclib/sigprocmask.c b/source/srclib/sigprocmask.c index d6cd3f8..a805da6 100644 --- a/source/srclib/sigprocmask.c +++ b/source/srclib/sigprocmask.c @@ -1,18 +1,18 @@ /* POSIX compatible signal blocking. - Copyright (C) 2006-2019 Free Software Foundation, Inc. + Copyright (C) 2006-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2006. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff --git a/source/srclib/stat-time.c b/source/srclib/stat-time.c index 81b83dd..3d48a2b 100644 --- a/source/srclib/stat-time.c +++ b/source/srclib/stat-time.c @@ -1,3 +1,21 @@ +/* stat-related time functions. + + Copyright (C) 2012-2022 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/source/srclib/stat-time.h b/source/srclib/stat-time.h index 38a1f55..6b0088e 100644 --- a/source/srclib/stat-time.h +++ b/source/srclib/stat-time.h @@ -1,18 +1,18 @@ /* stat-related time functions. - Copyright (C) 2005, 2007, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ @@ -102,7 +102,7 @@ get_stat_mtime_ns (struct stat const *st) /* Return the nanosecond component of *ST's birth time. */ _GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE -get_stat_birthtime_ns (struct stat const *st _GL_UNUSED) +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; @@ -158,7 +158,7 @@ get_stat_mtime (struct stat const *st) /* 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 (struct stat const *st _GL_UNUSED) +get_stat_birthtime (_GL_UNUSED struct stat const *st) { struct timespec t; @@ -208,7 +208,7 @@ get_stat_birthtime (struct stat const *st _GL_UNUSED) 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, struct stat *st _GL_UNUSED) +stat_time_normalize (int result, _GL_UNUSED struct stat *st) { #if defined __sun && defined STAT_TIMESPEC if (result == 0) diff --git a/source/srclib/stat-w32.c b/source/srclib/stat-w32.c index 60fe5f6..c1a2923 100644 --- a/source/srclib/stat-w32.c +++ b/source/srclib/stat-w32.c @@ -1,17 +1,17 @@ /* Core of implementation of fstat and stat for native Windows. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible. */ @@ -20,9 +20,23 @@ #if defined _WIN32 && ! defined __CYGWIN__ -/* Ensure that defines FILE_ID_INFO. */ -#undef _WIN32_WINNT -#define _WIN32_WINNT _WIN32_WINNT_WIN8 +/* 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 @@ -38,21 +52,34 @@ #include "pathmax.h" #include "verify.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 +# define GetProcAddress \ + (void *) GetProcAddress -#if _GL_WINDOWS_STAT_INODES == 2 +# 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 +# endif /* GetFinalPathNameByHandle was introduced only in Windows Vista. */ typedef DWORD (WINAPI * GetFinalPathNameByHandleFuncType) (HANDLE hFile, - LPTSTR lpFilePath, + LPSTR lpFilePath, DWORD lenFilePath, DWORD dwFlags); static GetFinalPathNameByHandleFuncType GetFinalPathNameByHandleFunc = NULL; @@ -64,16 +91,23 @@ initialize (void) HMODULE kernel32 = LoadLibrary ("kernel32.dll"); if (kernel32 != NULL) { -#if _GL_WINDOWS_STAT_INODES == 2 +# if _GL_WINDOWS_STAT_INODES == 2 GetFileInformationByHandleExFunc = (GetFileInformationByHandleExFuncType) GetProcAddress (kernel32, "GetFileInformationByHandleEx"); -#endif +# 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 @@ -132,8 +166,10 @@ _gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf) DWORD type = GetFileType (h); if (type == FILE_TYPE_DISK) { +#if !WIN32_ASSUME_VISTA if (!initialized) initialize (); +#endif /* st_mode can be determined through GetFileAttributesEx diff --git a/source/srclib/stat-w32.h b/source/srclib/stat-w32.h index 6b961d7..0f79d61 100644 --- a/source/srclib/stat-w32.h +++ b/source/srclib/stat-w32.h @@ -1,17 +1,17 @@ /* Core of implementation of fstat and stat for native Windows. - Copyright (C) 2017-2019 Free Software Foundation, Inc. + Copyright (C) 2017-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _STAT_W32_H diff --git a/source/srclib/stat.c b/source/srclib/stat.c index 1c28aa4..574489a 100644 --- a/source/srclib/stat.c +++ b/source/srclib/stat.c @@ -1,17 +1,17 @@ /* Work around platform bugs in stat. - Copyright (C) 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + 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. */ @@ -65,6 +65,13 @@ orig_stat (const char *filename, struct stat *buf) # 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 @@ -113,7 +120,7 @@ rpl_stat (char const *name, struct stat *buf) around length limitations ? */ - /* POSIX + /* POSIX specifies: "More than two leading characters shall be treated as a single character." */ if (ISSLASH (name[0]) && ISSLASH (name[1]) && ISSLASH (name[2])) @@ -375,7 +382,7 @@ rpl_stat (char const *name, struct stat *buf) 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 EACCESS or EPERM? */ + /* XXX map to EACCES or EPERM? */ errno = EACCES; break; @@ -398,7 +405,7 @@ rpl_stat (char const *name, struct stat *buf) errno = ENAMETOOLONG; break; - case ERROR_DELETE_PENDING: /* XXX map to EACCESS or EPERM? */ + case ERROR_DELETE_PENDING: /* XXX map to EACCES or EPERM? */ errno = EPERM; break; diff --git a/source/srclib/stdalign.in.h b/source/srclib/stdalign.in.h new file mode 100644 index 0000000..3b117df --- /dev/null +++ b/source/srclib/stdalign.in.h @@ -0,0 +1,127 @@ +/* A substitute for ISO C11 . + + Copyright 2011-2022 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 and Bruno Haible. */ + +#ifndef _GL_STDALIGN_H +#define _GL_STDALIGN_H + +/* ISO C11 for platforms that lack it. + + References: + ISO C11 (latest free draft + ) + sections 6.5.3.4, 6.7.5, 7.15. + C++11 (latest free draft + ) + section 18.10. */ + +/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment + requirement of a structure member (i.e., slot or field) that is of + type TYPE, as an integer constant expression. + + This differs from GCC's and clang's __alignof__ operator, which can + yield a better-performing alignment for an object of that type. For + example, on x86 with GCC and on Linux/x86 with clang, + __alignof__ (double) and __alignof__ (long long) are 8, whereas + alignof (double) and alignof (long long) are 4 unless the option + '-malign-double' is used. + + The result cannot be used as a value for an 'enum' constant, if you + want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. + + Include for offsetof. */ +#include + +/* FreeBSD 9.1 , included by and lots of other + standard headers, defines conflicting implementations of _Alignas + and _Alignof that are no better than ours; override them. */ +#undef _Alignas +#undef _Alignof + +/* GCC releases before GCC 4.9 had a bug in _Alignof. See GCC bug 52023 + . + clang versions < 8.0.0 have the same bug. */ +#if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \ + || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \ + && !defined __clang__) \ + || (defined __clang__ && __clang_major__ < 8)) +# ifdef __cplusplus +# if 201103 <= __cplusplus +# define _Alignof(type) alignof (type) +# else + template struct __alignof_helper { char __a; __t __b; }; +# define _Alignof(type) offsetof (__alignof_helper, __b) +# endif +# else +# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) +# endif +#endif +#if ! (defined __cplusplus && 201103 <= __cplusplus) +# define alignof _Alignof +#endif +#define __alignof_is_defined 1 + +/* alignas (A), also known as _Alignas (A), aligns a variable or type + to the alignment A, where A is an integer constant expression. For + example: + + int alignas (8) foo; + struct s { int a; int alignas (8) bar; }; + + aligns the address of FOO and the offset of BAR to be multiples of 8. + + A should be a power of two that is at least the type's alignment + and at most the implementation's alignment limit. This limit is + 2**28 on typical GNUish hosts, and 2**13 on MSVC. To be portable + to MSVC through at least version 10.0, A should be an integer + constant, as MSVC does not support expressions such as 1 << 3. + To be portable to Sun C 5.11, do not align auto variables to + anything stricter than their default alignment. + + The following C11 requirements are not supported here: + + - If A is zero, alignas has no effect. + - alignas can be used multiple times; the strictest one wins. + - alignas (TYPE) is equivalent to alignas (alignof (TYPE)). + + */ + +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 +# if defined __cplusplus && 201103 <= __cplusplus +# define _Alignas(a) alignas (a) +# elif (!defined __attribute__ \ + && ((defined __APPLE__ && defined __MACH__ \ + ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ + : __GNUC__ && !defined __ibmxl__) \ + || (4 <= __clang_major__) \ + || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \ + || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__)) +# define _Alignas(a) __attribute__ ((__aligned__ (a))) +# elif 1300 <= _MSC_VER +# define _Alignas(a) __declspec (align (a)) +# endif +#endif +#if ((defined _Alignas && ! (defined __cplusplus && 201103 <= __cplusplus)) \ + || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) +# define alignas _Alignas +#endif +#if defined alignas || (defined __cplusplus && 201103 <= __cplusplus) +# define __alignas_is_defined 1 +#endif + +#endif /* _GL_STDALIGN_H */ diff --git a/source/srclib/stdbool.in.h b/source/srclib/stdbool.in.h index 8158b00..03840f1 100644 --- a/source/srclib/stdbool.in.h +++ b/source/srclib/stdbool.in.h @@ -1,18 +1,18 @@ -/* Copyright (C) 2001-2003, 2006-2019 Free Software Foundation, Inc. +/* Copyright (C) 2001-2003, 2006-2022 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 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_STDBOOL_H #define _GL_STDBOOL_H diff --git a/source/srclib/stddef.in.h b/source/srclib/stddef.in.h index 5aad121..5c9a747 100644 --- a/source/srclib/stddef.in.h +++ b/source/srclib/stddef.in.h @@ -1,25 +1,25 @@ /* A substitute for POSIX 2008 , for platforms that have issues. - Copyright (C) 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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. - * + * */ #if __GNUC__ >= 3 @@ -42,6 +42,13 @@ # define _GL_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 @@ -49,6 +56,23 @@ # 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__ +# 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 GNULIB_defined_max_align_t 1 +# endif +# endif + /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ @@ -83,20 +107,28 @@ /* 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. */ -#if ! (@HAVE_MAX_ALIGN_T@ || defined _GCC_MAX_ALIGN_T) -# if !GNULIB_defined_max_align_t + 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. */ -# ifdef __GNUC__ -# define _GL_STDDEF_ALIGNAS(type) \ - __attribute__ ((__aligned__ (__alignof__ (type)))) -# else -# define _GL_STDDEF_ALIGNAS(type) /* */ -# endif +# 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 *); @@ -104,8 +136,9 @@ typedef union 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 GNULIB_defined_max_align_t 1 +# define max_align_t rpl_max_align_t +# define GNULIB_defined_max_align_t 1 +# endif # endif #endif diff --git a/source/srclib/stdint.in.h b/source/srclib/stdint.in.h index 21dd8d2..eaa7874 100644 --- a/source/srclib/stdint.in.h +++ b/source/srclib/stdint.in.h @@ -1,23 +1,23 @@ -/* Copyright (C) 2001-2002, 2004-2019 Free Software Foundation, Inc. +/* Copyright (C) 2001-2002, 2004-2022 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 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. - * + * */ #ifndef _@GUARD_PREFIX@_STDINT_H @@ -85,7 +85,7 @@ /* Override WINT_MIN and WINT_MAX if gnulib's or overrides wint_t. */ -#if @GNULIB_OVERRIDES_WINT_T@ +#if @GNULIBHEADERS_OVERRIDE_WINT_T@ # undef WINT_MIN # undef WINT_MAX # define WINT_MIN 0x0U @@ -188,7 +188,7 @@ typedef long int gl_int64_t; typedef __int64 gl_int64_t; # define int64_t gl_int64_t # define GL_INT64_T -# elif @HAVE_LONG_LONG_INT@ +# else # undef int64_t typedef long long int gl_int64_t; # define int64_t gl_int64_t @@ -209,7 +209,7 @@ typedef unsigned long int gl_uint64_t; typedef unsigned __int64 gl_uint64_t; # define uint64_t gl_uint64_t # define GL_UINT64_T -# elif @HAVE_UNSIGNED_LONG_LONG_INT@ +# else # undef uint64_t typedef unsigned long long int gl_uint64_t; # define uint64_t gl_uint64_t @@ -299,16 +299,25 @@ typedef gl_uint_fast32_t gl_uint_fast16_t; /* 7.18.1.4. Integer types capable of holding object pointers */ -/* kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own +/* 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. */ -# ifndef _INTPTR_T_DECLARED -# undef intptr_t -# undef uintptr_t + 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 __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 */ @@ -323,7 +332,7 @@ typedef unsigned long int gl_uintptr_t; # ifndef INTMAX_MAX # undef INTMAX_C # undef intmax_t -# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 +# if LONG_MAX >> 30 == 1 typedef long long int gl_intmax_t; # define intmax_t gl_intmax_t # elif defined GL_INT64_T @@ -337,7 +346,7 @@ typedef long int gl_intmax_t; # ifndef UINTMAX_MAX # undef UINTMAX_C # undef uintmax_t -# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 +# if ULONG_MAX >> 31 == 1 typedef unsigned long long int gl_uintmax_t; # define uintmax_t gl_uintmax_t # elif defined GL_UINT64_T @@ -485,9 +494,15 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) # undef INTPTR_MIN # undef INTPTR_MAX # undef UINTPTR_MAX -# define INTPTR_MIN LONG_MIN -# define INTPTR_MAX LONG_MAX -# define UINTPTR_MAX ULONG_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 */ @@ -564,11 +579,6 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) -> -> -> , 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 @@ -586,17 +596,21 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) /* wint_t limits */ -# 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@) +/* 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 -# define WINT_MAX \ - _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) /* 7.18.4. Macros for integer constants */ @@ -627,21 +641,21 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) # define INT64_C(x) x##L # elif defined _MSC_VER # define INT64_C(x) x##i64 -# elif @HAVE_LONG_LONG_INT@ +# 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 -# elif @HAVE_UNSIGNED_LONG_LONG_INT@ +# else # 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 +# if LONG_MAX >> 30 == 1 # define INTMAX_C(x) x##LL # elif defined GL_INT64_T # define INTMAX_C(x) INT64_C(x) @@ -651,7 +665,7 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) # endif # ifndef UINTMAX_C -# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 +# if ULONG_MAX >> 31 == 1 # define UINTMAX_C(x) x##ULL # elif defined GL_UINT64_T # define UINTMAX_C(x) UINT64_C(x) diff --git a/source/srclib/stdio-read.c b/source/srclib/stdio-read.c new file mode 100644 index 0000000..85efa0d --- /dev/null +++ b/source/srclib/stdio-read.c @@ -0,0 +1,168 @@ +/* POSIX compatible FILE stream read function. + Copyright (C) 2008-2022 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/source/srclib/stdio-write.c b/source/srclib/stdio-write.c index 3fbd272..82facf5 100644 --- a/source/srclib/stdio-write.c +++ b/source/srclib/stdio-write.c @@ -1,18 +1,18 @@ /* POSIX compatible FILE stream write function. - Copyright (C) 2008-2019 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. Written by Bruno Haible , 2008. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -45,6 +45,10 @@ # include # endif +/* Don't assume that UNICODE is not defined. */ +# undef GetNamedPipeHandleState +# define GetNamedPipeHandleState GetNamedPipeHandleStateA + # if GNULIB_NONBLOCKING # define CLEAR_ERRNO \ errno = 0; diff --git a/source/srclib/stdio.in.h b/source/srclib/stdio.in.h index 4a8aa55..7b36dac 100644 --- a/source/srclib/stdio.in.h +++ b/source/srclib/stdio.in.h @@ -1,19 +1,19 @@ /* A GNU-like . - Copyright (C) 2004, 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2004, 2007-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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@ @@ -56,41 +56,103 @@ 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 + +/* 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. */ -#if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU -# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \ - _GL_ATTRIBUTE_FORMAT_PRINTF (formatstring_parameter, first_argument) -#else -# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \ - _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument)) -#endif +#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(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, @@ -111,41 +173,6 @@ #define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument) \ _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument)) -/* 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 - - /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ @@ -171,17 +198,17 @@ # 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 _GL_CXXALIASWARN (dprintf); #elif defined GNULIB_POSIXCHECK @@ -203,7 +230,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. */ @@ -211,24 +240,84 @@ _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_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. */ +_GL_FUNCDECL_SYS (fdopen, FILE *, + (int fd, const char *mode) + _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +# 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. */ +_GL_FUNCDECL_SYS (fdopen, FILE *, + (int fd, const char *mode) + _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +# 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@ @@ -247,7 +336,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. */ @@ -266,7 +357,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@ @@ -275,33 +368,74 @@ _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_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@ @@ -312,19 +446,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 @@ -375,7 +515,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@ @@ -384,13 +526,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@ @@ -399,13 +546,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@ @@ -415,15 +570,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. */ @@ -438,14 +598,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 @@ -496,7 +661,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@ @@ -559,7 +726,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@ @@ -608,13 +777,16 @@ _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 bug 11959 when fortifying glibc 2.4 through 2.15 , @@ -639,7 +811,9 @@ extern size_t __REDIRECT (rpl_fwrite_unlocked, # define fwrite_unlocked rpl_fwrite_unlocked # endif # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (fwrite); +# endif #endif #if @GNULIB_GETC@ @@ -653,7 +827,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@ @@ -667,7 +843,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@ @@ -683,22 +861,26 @@ _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 _GL_CXXALIASWARN (getdelim); #elif defined GNULIB_POSIXCHECK @@ -722,18 +904,22 @@ _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@ _GL_CXXALIASWARN (getline); @@ -754,6 +940,22 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " _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 +_GL_CXXALIAS_SYS (getw, int, (FILE *restrict stream)); +# endif +_GL_CXXALIASWARN (getw); +#endif + #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ struct obstack; /* Grow an obstack with formatted output. Return the number of @@ -767,7 +969,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, ...)); @@ -775,7 +977,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, @@ -788,7 +990,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)); @@ -796,7 +998,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, @@ -832,7 +1034,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. */ @@ -846,43 +1050,53 @@ _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_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)); # 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)); +# 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) @@ -894,16 +1108,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 @@ -926,7 +1142,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@ @@ -940,7 +1158,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@ @@ -954,7 +1174,25 @@ _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 +_GL_CXXALIAS_SYS (putw, int, (int w, FILE *restrict stream)); +# endif +_GL_CXXALIASWARN (putw); #endif #if @GNULIB_REMOVE@ @@ -968,7 +1206,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. */ @@ -991,7 +1231,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. */ @@ -1030,33 +1272,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@ @@ -1064,23 +1308,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 @@ -1103,14 +1354,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. */ @@ -1119,22 +1376,53 @@ _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_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)); +# 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)); +# 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 @@ -1147,9 +1435,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, ...)); @@ -1157,7 +1446,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, @@ -1168,9 +1457,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)); @@ -1178,7 +1468,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, @@ -1192,22 +1482,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 @@ -1224,23 +1519,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 @@ -1259,16 +1563,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@ @@ -1279,22 +1588,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 @@ -1312,14 +1624,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@ @@ -1327,23 +1641,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 @@ -1357,20 +1678,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. */ diff --git a/source/srclib/stdlib.in.h b/source/srclib/stdlib.in.h index f829525..a86643c 100644 --- a/source/srclib/stdlib.in.h +++ b/source/srclib/stdlib.in.h @@ -1,18 +1,18 @@ /* A GNU-like . - Copyright (C) 1995, 2001-2004, 2006-2019 Free Software Foundation, Inc. + Copyright (C) 1995, 2001-2004, 2006-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #if __GNUC__ >= 3 @@ -53,8 +53,8 @@ # include #endif -/* Native Windows platforms declare mktemp() in . */ -#if 0 && (defined _WIN32 && ! defined __CYGWIN__) +/* Native Windows platforms declare _mktemp() in . */ +#if defined _WIN32 && !defined __CYGWIN__ # include #endif @@ -99,12 +99,43 @@ struct random_data # 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 + /* 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 */ +#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. */ @@ -147,6 +178,73 @@ _GL_WARN_ON_USE (_Exit, "_Exit is unportable - " #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) throw ()); +# 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. */ +_GL_FUNCDECL_SYS (aligned_alloc, void *, + (size_t alignment, size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif +_GL_CXXALIAS_SYS (aligned_alloc, void *, (size_t alignment, size_t size)); +# endif +# endif +# if @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. */ +_GL_FUNCDECL_SYS (aligned_alloc, void *, + (size_t alignment, size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# 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. */ @@ -166,22 +264,41 @@ _GL_WARN_ON_USE (atoll, "atoll is unportable - " #endif #if @GNULIB_CALLOC_POSIX@ -# if @REPLACE_CALLOC@ +# 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_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. */ +_GL_FUNCDECL_SYS (calloc, void *, + (size_t nmemb, size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif _GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (calloc); -#elif defined GNULIB_POSIXCHECK -# undef calloc +# endif +#else +# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined calloc +/* For -Wmismatched-dealloc: Associate calloc with free or rpl_free. */ +_GL_FUNCDECL_SYS (calloc, void *, + (size_t nmemb, size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# 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@ @@ -189,23 +306,108 @@ _GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - " # 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_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@ -_GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name) - _GL_ARG_NONNULL ((1))); +# if !@HAVE_CANONICALIZE_FILE_NAME@ || __GNUC__ >= 11 +_GL_FUNCDECL_SYS (canonicalize_file_name, char *, + (const char *name) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); # 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); -#elif defined GNULIB_POSIXCHECK -# undef canonicalize_file_name -# if HAVE_RAW_DECL_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. */ +_GL_FUNCDECL_SYS (canonicalize_file_name, char *, + (const char *name) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# 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 @@ -238,8 +440,8 @@ _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - " 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 */ + For more details see the POSIX specification. + https://pubs.opengroup.org/onlinepubs/9699919799/functions/getsubopt.html */ # if !@HAVE_GETSUBOPT@ _GL_FUNCDECL_SYS (getsubopt, int, (char **optionp, char *const *tokens, char **valuep) @@ -277,23 +479,42 @@ _GL_WARN_ON_USE (grantpt, "grantpt is not portable - " 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 (@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_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. */ +_GL_FUNCDECL_SYS (malloc, void *, + (size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif _GL_CXXALIAS_SYS (malloc, void *, (size_t size)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (malloc); -#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC -# undef malloc +# endif +#else +# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined malloc +/* For -Wmismatched-dealloc: Associate malloc with free or rpl_free. */ +_GL_FUNCDECL_SYS (malloc, void *, + (size_t size) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# 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 /* Convert a multibyte character to a wide character. */ @@ -303,15 +524,21 @@ _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - " # 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)); +_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 *pwc, const char *s, size_t n)); +_GL_FUNCDECL_SYS (mbtowc, int, + (wchar_t *restrict pwc, const char *restrict s, size_t n)); # endif -_GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n)); +_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 @@ -452,6 +679,51 @@ _GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - " # 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 @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. */ @@ -510,6 +782,9 @@ _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 @@ -527,6 +802,28 @@ _GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - " # 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)); +# 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)); # else _GL_CXXALIAS_SYS (putenv, int, (char *string)); # endif @@ -537,29 +834,35 @@ _GL_CXXALIASWARN (putenv); /* 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, - int (*compare) (void const *, void const *, - void *), + _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, - int (*compare) (void const *, void const *, - void *), + _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, - int (*compare) (void const *, void const *, - void *), + _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, - int (*compare) (void const *, void const *, - void *), + _gl_qsort_r_compar_fn compare, void *arg)); # endif _GL_CXXALIASWARN (qsort_r); @@ -593,7 +896,9 @@ _GL_CXXALIAS_RPL (random, long, (void)); # if !@HAVE_RANDOM@ _GL_FUNCDECL_SYS (random, long, (void)); # endif -_GL_CXXALIAS_SYS (random, long, (void)); +/* Need to cast, because on Haiku, the return type is + int. */ +_GL_CXXALIAS_SYS_CAST (random, long, (void)); # endif _GL_CXXALIASWARN (random); #elif defined GNULIB_POSIXCHECK @@ -616,7 +921,9 @@ _GL_CXXALIAS_RPL (srandom, void, (unsigned int seed)); # if !@HAVE_RANDOM@ _GL_FUNCDECL_SYS (srandom, void, (unsigned int seed)); # endif -_GL_CXXALIAS_SYS (srandom, void, (unsigned int seed)); +/* Need to cast, because on FreeBSD, the first parameter is + unsigned long seed. */ +_GL_CXXALIAS_SYS_CAST (srandom, void, (unsigned int seed)); # endif _GL_CXXALIASWARN (srandom); #elif defined GNULIB_POSIXCHECK @@ -644,8 +951,10 @@ _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)); +/* 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 _GL_CXXALIASWARN (initstate); #elif defined GNULIB_POSIXCHECK @@ -668,7 +977,9 @@ _GL_CXXALIAS_RPL (setstate, char *, (char *arg_state)); # if !@HAVE_SETSTATE@ || !@HAVE_DECL_SETSTATE@ _GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1))); # endif -_GL_CXXALIAS_SYS (setstate, char *, (char *arg_state)); +/* 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 _GL_CXXALIASWARN (setstate); #elif defined GNULIB_POSIXCHECK @@ -754,9 +1065,11 @@ _GL_FUNCDECL_SYS (initstate_r, int, 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)); +/* 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 @@ -784,8 +1097,10 @@ _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)); +/* 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 @@ -798,33 +1113,60 @@ _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - " #if @GNULIB_REALLOC_POSIX@ -# if @REPLACE_REALLOC@ +# 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_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. */ +_GL_FUNCDECL_SYS (realloc, void *, (void *ptr, size_t size) + _GL_ATTRIBUTE_DEALLOC_FREE); +# endif _GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (realloc); -#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC -# undef realloc +# endif +#else +# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined realloc +/* For -Wmismatched-dealloc: Associate realloc with free or rpl_free. */ +_GL_FUNCDECL_SYS (realloc, void *, (void *ptr, size_t size) + _GL_ATTRIBUTE_DEALLOC_FREE); +# 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 ! @HAVE_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 +# endif _GL_CXXALIAS_SYS (reallocarray, void *, (void *ptr, size_t nmemb, size_t size)); +# endif _GL_CXXALIASWARN (reallocarray); #elif defined GNULIB_POSIXCHECK # undef reallocarray @@ -839,15 +1181,19 @@ _GL_WARN_ON_USE (reallocarray, "reallocarray is not portable - " # 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)); +_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 *name, char *resolved) - _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_SYS (realpath, char *, + (const char *restrict name, char *restrict resolved) + _GL_ARG_NONNULL ((1))); # endif -_GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved)); +_GL_CXXALIAS_SYS (realpath, char *, + (const char *restrict name, char *restrict resolved)); # endif _GL_CXXALIASWARN (realpath); #elif defined GNULIB_POSIXCHECK @@ -930,17 +1276,23 @@ _GL_WARN_ON_USE (setenv, "setenv is unportable - " # define strtod rpl_strtod # endif # define GNULIB_defined_strtod_function 1 -_GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp) - _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp)); +_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 *str, char **endp) - _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_SYS (strtod, double, + (const char *restrict str, char **restrict endp) + _GL_ARG_NONNULL ((1))); # endif -_GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp)); +_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 @@ -956,15 +1308,19 @@ _GL_WARN_ON_USE (strtod, "strtod is unportable - " # define strtold rpl_strtold # endif # define GNULIB_defined_strtold_function 1 -_GL_FUNCDECL_RPL (strtold, long double, (const char *str, char **endp) - _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (strtold, long double, (const char *str, char **endp)); +_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 *str, char **endp) - _GL_ARG_NONNULL ((1))); +_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 *str, char **endp)); +_GL_CXXALIAS_SYS (strtold, long double, + (const char *restrict str, char **restrict endp)); # endif _GL_CXXALIASWARN (strtold); #elif defined GNULIB_POSIXCHECK @@ -975,6 +1331,47 @@ _GL_WARN_ON_USE (strtold, "strtold is unportable - " # 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 +_GL_CXXALIASWARN (strtol); +#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, @@ -984,13 +1381,29 @@ _GL_WARN_ON_USE (strtold, "strtold is unportable - " stored in *ENDPTR. Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set to ERANGE. */ -# if !@HAVE_STRTOLL@ +# 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 *string, char **endptr, int base) + (const char *restrict string, char **restrict endptr, + int base) _GL_ARG_NONNULL ((1))); -# endif +# endif _GL_CXXALIAS_SYS (strtoll, long long, - (const char *string, char **endptr, int base)); + (const char *restrict string, char **restrict endptr, + int base)); +# endif _GL_CXXALIASWARN (strtoll); #elif defined GNULIB_POSIXCHECK # undef strtoll @@ -1000,6 +1413,46 @@ _GL_WARN_ON_USE (strtoll, "strtoll is unportable - " # 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 +_GL_CXXALIASWARN (strtoul); +#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, @@ -1009,13 +1462,29 @@ _GL_WARN_ON_USE (strtoll, "strtoll is unportable - " stored in *ENDPTR. Upon overflow, the return value is ULLONG_MAX, and errno is set to ERANGE. */ -# if !@HAVE_STRTOULL@ +# 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 *string, char **endptr, int base) + (const char *restrict string, char **restrict endptr, + int base) _GL_ARG_NONNULL ((1))); -# endif +# endif _GL_CXXALIAS_SYS (strtoull, unsigned long long, - (const char *string, char **endptr, int base)); + (const char *restrict string, char **restrict endptr, + int base)); +# endif _GL_CXXALIASWARN (strtoull); #elif defined GNULIB_POSIXCHECK # undef strtoull @@ -1079,7 +1548,9 @@ _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 diff --git a/source/srclib/streq.h b/source/srclib/streq.h index 326537b..49f73c1 100644 --- a/source/srclib/streq.h +++ b/source/srclib/streq.h @@ -1,17 +1,17 @@ /* Optimized string comparison. - Copyright (C) 2001-2002, 2007, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2007, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* Written by Bruno Haible . */ @@ -29,7 +29,7 @@ /* Help GCC to generate good code for string comparisons with immediate strings. */ -#if defined (__GNUC__) && defined (__OPTIMIZE__) +#if (defined __GNUC__ || defined __clang__) && defined __OPTIMIZE__ static inline int streq9 (const char *s1, const char *s2) diff --git a/source/srclib/strerror-override.c b/source/srclib/strerror-override.c index 558a010..6be1afd 100644 --- a/source/srclib/strerror-override.c +++ b/source/srclib/strerror-override.c @@ -1,18 +1,18 @@ /* strerror-override.c --- POSIX compatible system error routine - Copyright (C) 2010-2019 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + 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,8 +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 */ +# endif +# if GNULIB_defined_ESTREAMS /* native Windows platforms with older */ case ETXTBSY: return "Text file busy"; case ENODATA: @@ -103,8 +105,8 @@ strerror_override (int errnum) 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: @@ -125,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 */ @@ -213,90 +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 +# if GNULIB_defined_EOWNERDEAD case EOWNERDEAD: return "Owner died"; -#endif +# endif -#if GNULIB_defined_ENOTRECOVERABLE +# if GNULIB_defined_ENOTRECOVERABLE case ENOTRECOVERABLE: return "State not recoverable"; -#endif +# endif -#if GNULIB_defined_EILSEQ +# if GNULIB_defined_EILSEQ case EILSEQ: return "Invalid or incomplete multibyte or wide character"; -#endif +# endif default: return NULL; } } + +#endif diff --git a/source/srclib/strerror-override.h b/source/srclib/strerror-override.h index 255febc..d010d27 100644 --- a/source/srclib/strerror-override.h +++ b/source/srclib/strerror-override.h @@ -1,18 +1,18 @@ /* strerror-override.h --- POSIX compatible system error routine - Copyright (C) 2010-2019 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + 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 @@ -51,6 +51,7 @@ 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/source/srclib/strerror.c b/source/srclib/strerror.c index f5900fd..67c5216 100644 --- a/source/srclib/strerror.c +++ b/source/srclib/strerror.c @@ -1,18 +1,18 @@ /* strerror.c --- POSIX compatible system error routine - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include diff --git a/source/srclib/string.in.h b/source/srclib/string.in.h index 4a9292f..3996da9 100644 --- a/source/srclib/string.in.h +++ b/source/srclib/string.in.h @@ -1,19 +1,19 @@ /* A GNU-like . - Copyright (C) 1995-1996, 2001-2019 Free Software Foundation, Inc. + Copyright (C) 1995-1996, 2001-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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@ @@ -52,14 +52,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__ \ @@ -67,12 +59,98 @@ # include #endif +/* AIX 7.2 declares 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 __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 +# 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 + +/* 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. */ +_GL_EXTERN_C void rpl_free (void *); +# 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 *) throw (); +# 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 *) throw (); +# 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. */ @@ -108,10 +186,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 @@ -121,10 +207,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) @@ -132,11 +238,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); } */ @@ -145,11 +246,12 @@ _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) throw ()); _GL_CXXALIASWARN1 (memchr, void const *, - (void const *__s, int __c, size_t __n)); -# else + (void const *__s, int __c, size_t __n) throw ()); +# elif __GLIBC__ >= 2 _GL_CXXALIASWARN (memchr); # endif #elif defined GNULIB_POSIXCHECK @@ -230,9 +332,10 @@ _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)); + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ + || defined __clang__) +_GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t) throw ()); +_GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t) throw ()); # else _GL_CXXALIASWARN (memrchr); # endif @@ -260,9 +363,11 @@ _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) throw ()); +_GL_CXXALIASWARN1 (rawmemchr, void const *, + (void const *__s, int __c_in) throw ()); # else _GL_CXXALIASWARN (rawmemchr); # endif @@ -332,9 +437,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. */ @@ -362,9 +469,11 @@ _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)); + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ + || defined __clang__) +_GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in) throw ()); +_GL_CXXALIASWARN1 (strchrnul, char const *, + (char const *__s, int __c_in) throw ()); # else _GL_CXXALIASWARN (strchrnul); # endif @@ -383,24 +492,62 @@ _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 +_GL_FUNCDECL_SYS (strdup, char *, + (char const *__s) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); # 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. */ +_GL_FUNCDECL_SYS (strdup, char *, + (char const *__s) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# 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 @@ -411,13 +558,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 @@ -433,22 +585,35 @@ _GL_WARN_ON_USE (strncat, "strncat is unportable - " # undef strndup # define strndup rpl_strndup # endif -_GL_FUNCDECL_RPL (strndup, char *, (char const *__s, size_t __n) - _GL_ARG_NONNULL ((1))); +_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 *__s, size_t __n) - _GL_ARG_NONNULL ((1))); +# if !@HAVE_DECL_STRNDUP@ || (__GNUC__ >= 11 && !defined strndup) +_GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); # endif _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. */ +_GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# 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 @@ -508,11 +673,12 @@ _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) throw ()); _GL_CXXALIASWARN1 (strpbrk, char const *, - (char const *__s, char const *__accept)); -# else + (char const *__s, char const *__accept) throw ()); +# elif __GLIBC__ >= 2 _GL_CXXALIASWARN (strpbrk); # endif # if defined GNULIB_POSIXCHECK @@ -521,15 +687,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 @@ -548,9 +718,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. @@ -610,11 +782,13 @@ _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) throw ()); _GL_CXXALIASWARN1 (strstr, const char *, - (const char *haystack, const char *needle)); -# else + (const char *haystack, const char *needle) throw ()); +# elif __GLIBC__ >= 2 _GL_CXXALIASWARN (strstr); # endif #elif defined GNULIB_POSIXCHECK @@ -659,10 +833,12 @@ _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) throw ()); _GL_CXXALIASWARN1 (strcasestr, const char *, - (const char *haystack, const char *needle)); + (const char *haystack, const char *needle) throw ()); # else _GL_CXXALIASWARN (strcasestr); # endif @@ -693,7 +869,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. @@ -964,7 +1140,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 @@ -980,7 +1157,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. */ @@ -1017,6 +1196,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) diff --git a/source/srclib/stripslash.c b/source/srclib/stripslash.c deleted file mode 100644 index dfc15b4..0000000 --- a/source/srclib/stripslash.c +++ /dev/null @@ -1,45 +0,0 @@ -/* stripslash.c -- remove redundant trailing slashes from a file name - - Copyright (C) 1990, 2001, 2003-2006, 2009-2019 Free Software Foundation, - Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General 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 "dirname.h" - -/* Remove trailing slashes from FILE. Return true if a trailing slash - was removed. This is useful when using file name completion from a - shell that adds a "/" after directory names (such as tcsh and - bash), because on symlinks to directories, several system calls - have different semantics according to whether a trailing slash is - present. */ - -bool -strip_trailing_slashes (char *file) -{ - char *base = last_component (file); - char *base_lim; - bool had_slash; - - /* last_component returns "" for file system roots, but we need to turn - "///" into "/". */ - if (! *base) - base = file; - base_lim = base + base_len (base); - had_slash = (*base_lim != '\0'); - *base_lim = '\0'; - return had_slash; -} diff --git a/source/srclib/sys-limits.h b/source/srclib/sys-limits.h index f407eff..d154f0b 100644 --- a/source/srclib/sys-limits.h +++ b/source/srclib/sys-limits.h @@ -1,19 +1,19 @@ /* System call limits - Copyright 2018-2019 Free Software Foundation, Inc. + Copyright 2018-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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 _GL_SYS_LIMITS_H #define _GL_SYS_LIMITS_H diff --git a/source/srclib/sys_stat.in.h b/source/srclib/sys_stat.in.h index 9ddd1a8..28ddd42 100644 --- a/source/srclib/sys_stat.in.h +++ b/source/srclib/sys_stat.in.h @@ -1,18 +1,18 @@ /* Provide a more complete sys/stat.h header file. - Copyright (C) 2005-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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. */ @@ -375,11 +375,11 @@ struct stat # 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 @@ -391,14 +391,44 @@ struct stat #endif +#if @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 @@ -420,7 +450,9 @@ _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 @@ -443,18 +475,22 @@ _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@ @@ -499,34 +535,32 @@ _GL_WARN_ON_USE (futimens, "futimens is not portable - " #endif +#if @GNULIB_GETUMASK@ +# if !@HAVE_GETUMASK@ +_GL_FUNCDECL_SYS (getumask, mode_t, (void)); +# 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 @@ -543,17 +577,21 @@ _GL_WARN_ON_USE (lchmod, "lchmod is unportable - " # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define lstat stat # endif -_GL_CXXALIAS_RPL_1 (lstat, stat, int, (const char *name, struct stat *buf)); +_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 *name, struct stat *buf) - _GL_ARG_NONNULL ((1, 2))); -_GL_CXXALIAS_RPL (lstat, int, (const char *name, struct stat *buf)); +_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 *name, struct stat *buf)); +_GL_CXXALIAS_SYS (lstat, int, + (const char *restrict name, struct stat *restrict buf)); # endif # if @HAVE_LSTAT@ _GL_CXXALIASWARN (lstat); @@ -570,21 +608,20 @@ _GL_WARN_ON_USE (lstat, "lstat is unportable - " #endif -#if @REPLACE_MKDIR@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef mkdir -# define mkdir rpl_mkdir -# endif +#if @GNULIB_MKDIR@ +# 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 __CYGWIN__ - # if !GNULIB_defined_rpl_mkdir static int rpl_mkdir (char const *name, mode_t mode) @@ -593,16 +630,44 @@ rpl_mkdir (char const *name, mode_t mode) } # 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@ @@ -648,11 +713,21 @@ _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 _GL_CXXALIASWARN (mkfifoat); #elif defined GNULIB_POSIXCHECK # undef mkfifoat @@ -691,13 +766,25 @@ _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 _GL_CXXALIASWARN (mknodat); #elif defined GNULIB_POSIXCHECK # undef mknodat @@ -766,7 +853,7 @@ _GL_WARN_ON_USE (mknodat, "mknodat is not portable - " # define stat(name, st) rpl_stat (name, st) # endif /* !_LARGE_FILES */ # endif /* !@GNULIB_OVERRIDES_STRUCT_STAT@ */ -_GL_EXTERN_C int stat (const char *name, struct stat *buf) +_GL_EXTERN_C int stat (const char *restrict name, struct stat *restrict buf) _GL_ARG_NONNULL ((1, 2)); # endif #elif @GNULIB_OVERRIDES_STRUCT_STAT@ @@ -782,6 +869,24 @@ _GL_WARN_ON_USE (stat, "stat is unportable - " #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 diff --git a/source/srclib/sys_types.in.h b/source/srclib/sys_types.in.h index 237e206..698e88d 100644 --- a/source/srclib/sys_types.in.h +++ b/source/srclib/sys_types.in.h @@ -1,19 +1,19 @@ /* Provide a more complete sys/types.h. - Copyright (C) 2011-2019 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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@ diff --git a/source/srclib/time.in.h b/source/srclib/time.in.h index dd3b212..6d4c771 100644 --- a/source/srclib/time.in.h +++ b/source/srclib/time.in.h @@ -1,19 +1,19 @@ /* A more-standard . - Copyright (C) 2007-2019 Free Software Foundation, Inc. + Copyright (C) 2007-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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@ @@ -37,6 +37,12 @@ # 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@ /* NetBSD 5.0 mis-defines NULL. */ @@ -84,8 +90,8 @@ struct timespec # 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 +/* 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. */ @@ -95,9 +101,39 @@ struct __time_t_must_be_integral { # 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 ! @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)); +_GL_CXXALIASWARN (timespec_get); +# 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); +# 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) @@ -129,10 +165,27 @@ _GL_CXXALIASWARN (nanosleep); # 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 -# if ! @HAVE_TZSET@ -_GL_FUNCDECL_SYS (tzset, void, (void)); +_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); @@ -149,12 +202,14 @@ _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 # endif /* Convert TIMER to RESULT, assuming local time and UTC respectively. See - and - . */ + and + . */ # if @GNULIB_TIME_R@ # if @REPLACE_LOCALTIME_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -203,8 +258,8 @@ _GL_CXXALIASWARN (gmtime_r); # endif /* Convert TIMER to RESULT, assuming local time and UTC respectively. See - and - . */ + and + . */ # if @GNULIB_LOCALTIME@ || @REPLACE_LOCALTIME@ # if @REPLACE_LOCALTIME@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -217,7 +272,9 @@ _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 # endif # if 0 || @REPLACE_GMTIME@ @@ -237,7 +294,7 @@ _GL_CXXALIASWARN (gmtime); /* 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, @@ -252,7 +309,7 @@ _GL_CXXALIASWARN (strptime); # endif /* Convert *TP to a date and time string. See - . */ + . */ # if @GNULIB_CTIME@ # if @REPLACE_CTIME@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -264,45 +321,90 @@ _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 # 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 *__buf, size_t __bufsize, - const char *__fmt, const struct tm *__tp) - _GL_ARG_NONNULL ((1, 3, 4))); -_GL_CXXALIAS_RPL (strftime, size_t, (char *__buf, size_t __bufsize, - const char *__fmt, const struct tm *__tp)); +_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 *__buf, size_t __bufsize, - const char *__fmt, const struct tm *__tp)); +_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 # 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 __result) + (timezone_t __tz, struct tm *restrict __tm) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_SYS (mktime_z, time_t, - (timezone_t __tz, struct tm *restrict __result)); + (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. */ @@ -333,17 +435,17 @@ _GL_WARN_ON_USE (asctime, "asctime can overrun buffers in some cases - " # endif # if defined GNULIB_POSIXCHECK # undef asctime_r -_GL_WARN_ON_USE (asctime, "asctime_r can overrun buffers in some cases - " +_GL_WARN_ON_USE (asctime_r, "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 - " +_GL_WARN_ON_USE (ctime, "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 - " +_GL_WARN_ON_USE (ctime_r, "ctime_r can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); # endif diff --git a/source/srclib/unictype/bitmap.h b/source/srclib/unictype/bitmap.h new file mode 100644 index 0000000..5bd4636 --- /dev/null +++ b/source/srclib/unictype/bitmap.h @@ -0,0 +1,48 @@ +/* Three-level bitmap lookup. + Copyright (C) 2000-2002, 2005-2007, 2009-2022 Free Software Foundation, Inc. + Written by Bruno Haible , 2000-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 . */ + +static inline int bitmap_lookup (const void *table, ucs4_t uc); + +/* These values are currently hardcoded into gen-uni-tables.c, function + output_predicate(). */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 + +static inline int +bitmap_lookup (const void *table, ucs4_t uc) +{ + unsigned int index1 = uc >> header_0; + if (index1 < ((const int *) table)[0]) + { + int lookup1 = ((const int *) table)[1 + index1]; + if (lookup1 >= 0) + { + unsigned int index2 = (uc >> header_2) & header_3; + int lookup2 = ((const short *) table)[lookup1 + index2]; + if (lookup2 >= 0) + { + unsigned int index3 = (uc >> 5) & header_4; + unsigned int lookup3 = ((const unsigned int *) table)[lookup2 + index3]; + + return (lookup3 >> (uc & 0x1f)) & 1; + } + } + } + return 0; +} diff --git a/source/srclib/unistd.c b/source/srclib/unistd.c index 72bad1c..95978e6 100644 --- a/source/srclib/unistd.c +++ b/source/srclib/unistd.c @@ -1,4 +1,22 @@ +/* Inline functions for . + + Copyright (C) 2012-2022 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 "unistd.h" typedef int dummy; diff --git a/source/srclib/unistd.in.h b/source/srclib/unistd.in.h index 7778d25..57df09e 100644 --- a/source/srclib/unistd.in.h +++ b/source/srclib/unistd.in.h @@ -1,18 +1,18 @@ /* Substitute for and wrapper around . - Copyright (C) 2003-2019 Free Software Foundation, Inc. + Copyright (C) 2003-2022 Free Software Foundation, Inc. - This program is free software; you can redistribute 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 @@ -21,7 +21,7 @@ #endif @PRAGMA_COLUMNS@ -#ifdef _GL_INCLUDING_UNISTD_H +#if @HAVE_UNISTD_H@ && defined _GL_INCLUDING_UNISTD_H /* Special invocation convention: - On Mac OS X 10.3.9 we have a sequence of nested includes -> -> -> @@ -52,7 +52,10 @@ #define _@GUARD_PREFIX@_UNISTD_H /* 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 @@ -90,20 +93,18 @@ # 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 __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 __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 . @@ -115,6 +116,17 @@ # include #endif +/* 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 + /* Android 4.3 declares fchownat in , not in . */ /* But avoid namespace pollution on glibc systems. */ #if (@GNULIB_FCHOWNAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \ @@ -124,17 +136,8 @@ /* 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 -#endif - -#if (@GNULIB_READ@ || @GNULIB_WRITE@ \ - || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \ - || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK) -/* Get ssize_t. */ -# include -#endif +/* Get off_t, ssize_t, mode_t. */ +#include /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -144,7 +147,7 @@ /* Get getopt(), optarg, optind, opterr, optopt. */ -#if @GNULIB_UNISTD_H_GETOPT@ && !defined _GL_SYSTEM_GETOPT +#if @GNULIB_GETOPT_POSIX@ && @GNULIB_UNISTD_H_GETOPT@ && !defined _GL_SYSTEM_GETOPT # include # include #endif @@ -256,15 +259,61 @@ _GL_INLINE_HEADER_BEGIN /* 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 @@ -272,6 +321,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 @@ -280,7 +343,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); @@ -376,6 +515,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 @@ -476,6 +629,282 @@ _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 +_GL_CXXALIASWARN (execvpe); +#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 @REPLACE_FACCESSAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -511,7 +940,7 @@ _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@ _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/)); @@ -563,7 +992,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 @@ -572,7 +1001,7 @@ _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@ _GL_FUNCDECL_SYS (fdatasync, int, (int fd)); # endif @@ -591,7 +1020,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 @@ -610,7 +1039,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 @@ -640,7 +1069,7 @@ _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 @@ -651,6 +1080,12 @@ _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - " # 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. */ @@ -663,6 +1098,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 @@ -716,7 +1167,9 @@ _GL_CXXALIAS_RPL (getdtablesize, int, (void)); # if !@HAVE_GETDTABLESIZE@ _GL_FUNCDECL_SYS (getdtablesize, int, (void)); # endif -_GL_CXXALIAS_SYS (getdtablesize, int, (void)); +/* Need to cast, because on AIX, the parameter list is + (...). */ +_GL_CXXALIAS_SYS_CAST (getdtablesize, int, (void)); # endif _GL_CXXALIASWARN (getdtablesize); #elif defined GNULIB_POSIXCHECK @@ -728,6 +1181,22 @@ _GL_WARN_ON_USE (getdtablesize, "getdtablesize is unportable - " #endif +#if @GNULIB_GETENTROPY@ +/* Fill a buffer with random bytes. */ +# if !@HAVE_GETENTROPY@ +_GL_FUNCDECL_SYS (getentropy, int, (void *buffer, size_t length)); +# endif +_GL_CXXALIAS_SYS (getentropy, int, (void *buffer, size_t length)); +_GL_CXXALIASWARN (getentropy); +#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. @@ -800,7 +1269,7 @@ _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: @@ -829,7 +1298,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: @@ -870,6 +1339,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. */ @@ -949,7 +1423,8 @@ _GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - " 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 @REPLACE_GETPASS@ +# 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 @@ -974,6 +1449,23 @@ _GL_WARN_ON_USE (getpass, "getpass is unportable - " #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. */ @@ -1044,8 +1536,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 @@ -1056,6 +1555,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 @@ -1064,7 +1577,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 @@ -1094,7 +1607,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 @@ -1160,13 +1673,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 @@ -1177,6 +1696,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 @@ -1232,7 +1765,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 @@ -1267,7 +1800,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 @@ -1300,7 +1833,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 @@ -1309,11 +1842,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 @@ -1324,24 +1878,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 @@ -1359,18 +1917,22 @@ _GL_WARN_ON_USE (readlink, "readlink is unportable - " # define readlinkat rpl_readlinkat # endif _GL_FUNCDECL_RPL (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))); _GL_CXXALIAS_RPL (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)); # 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 _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 _GL_CXXALIASWARN (readlinkat); #elif defined GNULIB_POSIXCHECK @@ -1390,6 +1952,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 @@ -1400,6 +1968,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 @@ -1434,7 +2016,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 @@ -1458,6 +2040,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 _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) @@ -1518,7 +2125,7 @@ _GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - " /* 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 @@ -1582,6 +2189,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 @@ -1592,6 +2205,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 @@ -1616,7 +2243,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 @@ -1625,7 +2252,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 @@ -1637,7 +2264,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 @@ -1652,7 +2281,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 @@ -1661,11 +2290,32 @@ _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 diff --git a/source/srclib/unitypes.in.h b/source/srclib/unitypes.in.h index 631654b..4ea83aa 100644 --- a/source/srclib/unitypes.in.h +++ b/source/srclib/unitypes.in.h @@ -1,17 +1,17 @@ /* Elementary types and macros for the GNU UniString library. - Copyright (C) 2002, 2005-2006, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2002, 2005-2006, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _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/source/srclib/uniwidth.in.h b/source/srclib/uniwidth.in.h index 80c5eea..d5e62c4 100644 --- a/source/srclib/uniwidth.in.h +++ b/source/srclib/uniwidth.in.h @@ -1,18 +1,18 @@ /* Display width functions. - Copyright (C) 2001-2002, 2005, 2007, 2009-2019 Free Software Foundation, + Copyright (C) 2001-2002, 2005, 2007, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef _UNIWIDTH_H diff --git a/source/srclib/uniwidth/cjk.h b/source/srclib/uniwidth/cjk.h index 9870422..b791ba9 100644 --- a/source/srclib/uniwidth/cjk.h +++ b/source/srclib/uniwidth/cjk.h @@ -1,18 +1,18 @@ /* Test for CJK encoding. - Copyright (C) 2001-2002, 2005-2007, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2005-2007, 2009-2022 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 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include "streq.h" diff --git a/source/srclib/uniwidth/width.c b/source/srclib/uniwidth/width.c index a7f59b1..1c945a8 100644 --- a/source/srclib/uniwidth/width.c +++ b/source/srclib/uniwidth/width.c @@ -1,18 +1,18 @@ /* Determine display width of Unicode character. - Copyright (C) 2001-2002, 2006-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2006-2022 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 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -22,400 +22,43 @@ #include "cjk.h" -/* - * Non-spacing attribute table. - * Consists of: - * - Non-spacing characters; generated from PropList.txt or - * "grep '^[^;]*;[^;]*;[^;]*;[^;]*;NSM;' UnicodeData.txt" - * - Format control characters; generated from - * "grep '^[^;]*;[^;]*;Cf;' UnicodeData.txt" - * - Zero width characters; generated from - * "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt" +/* The non-spacing attribute table consists of: + * Non-spacing characters; generated from PropList.txt or + "grep '^[^;]*;[^;]*;[^;]*;[^;]*;NSM;' UnicodeData.txt" + * Format control characters; generated from + "grep '^[^;]*;[^;]*;Cf;' UnicodeData.txt" + * Zero width characters; generated from + "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt" + * Hangul Jamo characters that have conjoining behaviour: + - jungseong = syllable-middle vowels + - jongseong = syllable-final consonants + Rationale: + 1) These characters act like combining characters. They have no + equivalent in legacy character sets. Therefore the EastAsianWidth.txt + file does not really matter for them; UAX #11 East Asian Width + makes it clear that it focus + is on compatibility with traditional Japanese layout. + By contrast, the same glyphs without conjoining behaviour are available + in the U+3130..U+318F block, and these characters are mapped to legacy + character sets, and traditional Japanese layout matters for them. + 2) glibc does the same thing, see + + */ -static const unsigned char nonspacing_table_data[38*64] = { - /* 0x0000-0x01ff */ - 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */ - 0xff, 0xff, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, /* 0x0080-0x00bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00c0-0x00ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0100-0x013f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0140-0x017f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0180-0x01bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x01c0-0x01ff */ - /* 0x0200-0x03ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0200-0x023f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0240-0x027f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0280-0x02bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x02c0-0x02ff */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x0300-0x033f */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, /* 0x0340-0x037f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0380-0x03bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x03c0-0x03ff */ - /* 0x0400-0x05ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0400-0x043f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0440-0x047f */ - 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0480-0x04bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x04c0-0x04ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0500-0x053f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0540-0x057f */ - 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, /* 0x0580-0x05bf */ - 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x05c0-0x05ff */ - /* 0x0600-0x07ff */ - 0x3f, 0x00, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */ - 0x00, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, /* 0x0640-0x067f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0680-0x06bf */ - 0x00, 0x00, 0xc0, 0xbf, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */ - 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0x0700-0x073f */ - 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0740-0x077f */ - 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x01, 0x00, /* 0x0780-0x07bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x07c0-0x07ff */ - /* 0x0800-0x09ff */ - 0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */ - 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */ - 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */ - 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */ - 0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */ - 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */ - 0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x09c0-0x09ff */ - /* 0x0a00-0x0bff */ - 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0a00-0x0a3f */ - 0x86, 0x39, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, /* 0x0a40-0x0a7f */ - 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0a80-0x0abf */ - 0xbe, 0x21, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0ac0-0x0aff */ - 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, /* 0x0b00-0x0b3f */ - 0x1e, 0x20, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0b40-0x0b7f */ - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0b80-0x0bbf */ - 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0bc0-0x0bff */ - /* 0x0c00-0x0dff */ - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */ - 0xc1, 0x3d, 0x60, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0c40-0x0c7f */ - 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */ - 0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0cc0-0x0cff */ - 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */ - 0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0d40-0x0d7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d80-0x0dbf */ - 0x00, 0x04, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0dc0-0x0dff */ - /* 0x0e00-0x0fff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x07, /* 0x0e00-0x0e3f */ - 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0e40-0x0e7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x1b, /* 0x0e80-0x0ebf */ - 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0ec0-0x0eff */ - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xa0, 0x02, /* 0x0f00-0x0f3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, /* 0x0f40-0x0f7f */ - 0xdf, 0xe0, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x1f, /* 0x0f80-0x0fbf */ - 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0fc0-0x0fff */ - /* 0x1000-0x11ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfd, 0x66, /* 0x1000-0x103f */ - 0x00, 0x00, 0x00, 0xc3, 0x01, 0x00, 0x1e, 0x00, /* 0x1040-0x107f */ - 0x64, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x1080-0x10bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10c0-0x10ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1100-0x113f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1140-0x117f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1180-0x11bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11c0-0x11ff */ - /* 0x1200-0x13ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1200-0x123f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1240-0x127f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1280-0x12bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x12c0-0x12ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1300-0x133f */ - 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, /* 0x1340-0x137f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1380-0x13bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x13c0-0x13ff */ - /* 0x1600-0x17ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1600-0x163f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1640-0x167f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1680-0x16bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16c0-0x16ff */ - 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1c, 0x00, /* 0x1700-0x173f */ - 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, /* 0x1740-0x177f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x3f, /* 0x1780-0x17bf */ - 0x40, 0xfe, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x17c0-0x17ff */ - /* 0x1800-0x19ff */ - 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1840-0x187f */ - 0x60, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18c0-0x18ff */ - 0x00, 0x00, 0x00, 0x00, 0x87, 0x01, 0x04, 0x0e, /* 0x1900-0x193f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1940-0x197f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1980-0x19bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x19c0-0x19ff */ - /* 0x1a00-0x1bff */ - 0x00, 0x00, 0x80, 0x09, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */ - 0x00, 0x00, 0x40, 0x7f, 0xe5, 0x1f, 0xf8, 0x9f, /* 0x1a40-0x1a7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, /* 0x1a80-0x1abf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ac0-0x1aff */ - 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x17, /* 0x1b00-0x1b3f */ - 0x04, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x1b40-0x1b7f */ - 0x03, 0x00, 0x00, 0x00, 0x3c, 0x3b, 0x00, 0x00, /* 0x1b80-0x1bbf */ - 0x00, 0x00, 0x00, 0x00, 0x40, 0xa3, 0x03, 0x00, /* 0x1bc0-0x1bff */ - /* 0x1c00-0x1dff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xcf, 0x00, /* 0x1c00-0x1c3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c40-0x1c7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c80-0x1cbf */ - 0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x10, 0x03, /* 0x1cc0-0x1cff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xf8, /* 0x1dc0-0x1dff */ - /* 0x2000-0x21ff */ - 0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */ - 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x00, 0x00, /* 0x2040-0x207f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2080-0x20bf */ - 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, /* 0x20c0-0x20ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2100-0x213f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2140-0x217f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2180-0x21bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x21c0-0x21ff */ - /* 0x2c00-0x2dff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c00-0x2c3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c40-0x2c7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c80-0x2cbf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, /* 0x2cc0-0x2cff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d00-0x2d3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x2d40-0x2d7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d80-0x2dbf */ - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, /* 0x2dc0-0x2dff */ - /* 0x3000-0x31ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x3000-0x303f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3040-0x307f */ - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0x3080-0x30bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30c0-0x30ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3100-0x313f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3140-0x317f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3180-0x31bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x31c0-0x31ff */ - /* 0xa600-0xa7ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa600-0xa63f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf7, 0x3f, /* 0xa640-0xa67f */ - 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0xa6c0-0xa6ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa700-0xa73f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa740-0xa77f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa780-0xa7bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa7c0-0xa7ff */ - /* 0xa800-0xa9ff */ - 0x44, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0xa800-0xa83f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa840-0xa87f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa880-0xa8bf */ - 0x30, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, /* 0xa8c0-0xa8ff */ - 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, /* 0xa900-0xa93f */ - 0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */ - 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x13, /* 0xa980-0xa9bf */ - 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */ - /* 0xaa00-0xabff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x66, 0x00, /* 0xaa00-0xaa3f */ - 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0xaa40-0xaa7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xc1, /* 0xaa80-0xaabf */ - 0x02, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x00, /* 0xaac0-0xaaff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab00-0xab3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab40-0xab7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab80-0xabbf */ - 0x00, 0x00, 0x00, 0x00, 0x20, 0x21, 0x00, 0x00, /* 0xabc0-0xabff */ - /* 0xfa00-0xfbff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa00-0xfa3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa40-0xfa7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa80-0xfabf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfac0-0xfaff */ - 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, /* 0xfb00-0xfb3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb40-0xfb7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb80-0xfbbf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfbc0-0xfbff */ - /* 0xfe00-0xffff */ - 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, /* 0xfe00-0xfe3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe40-0xfe7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe80-0xfebf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0xfec0-0xfeff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff00-0xff3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff40-0xff7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff80-0xffbf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, /* 0xffc0-0xffff */ - /* 0x10000-0x101ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10000-0x1003f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10040-0x1007f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10080-0x100bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x100c0-0x100ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10100-0x1013f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10140-0x1017f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10180-0x101bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, /* 0x101c0-0x101ff */ - /* 0x10200-0x103ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10200-0x1023f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10240-0x1027f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10280-0x102bf */ - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, /* 0x102c0-0x102ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10300-0x1033f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, /* 0x10340-0x1037f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10380-0x103bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x103c0-0x103ff */ - /* 0x10a00-0x10bff */ - 0x6e, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, /* 0x10a00-0x10a3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a40-0x10a7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a80-0x10abf */ - 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b00-0x10b3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b40-0x10b7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b80-0x10bbf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10bc0-0x10bff */ - /* 0x11000-0x111ff */ - 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11000-0x1103f */ - 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x11040-0x1107f */ - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x26, /* 0x11080-0x110bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */ - 0x07, 0x00, 0x00, 0x00, 0x80, 0xef, 0x1f, 0x00, /* 0x11100-0x1113f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, /* 0x11140-0x1117f */ - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, /* 0x11180-0x111bf */ - 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */ - /* 0x11200-0x113ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd3, 0x40, /* 0x11200-0x1123f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11240-0x1127f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11280-0x112bf */ - 0x00, 0x00, 0x00, 0x80, 0xf8, 0x07, 0x00, 0x00, /* 0x112c0-0x112ff */ - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x11300-0x1133f */ - 0x01, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x1f, 0x00, /* 0x11340-0x1137f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11380-0x113bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x113c0-0x113ff */ - /* 0x11400-0x115ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11400-0x1143f */ - 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11440-0x1147f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x85, /* 0x11480-0x114bf */ - 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x114c0-0x114ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11500-0x1153f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11540-0x1157f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xb0, /* 0x11580-0x115bf */ - 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, /* 0x115c0-0x115ff */ - /* 0x11600-0x117ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xa7, /* 0x11600-0x1163f */ - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11640-0x1167f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xbf, 0x00, /* 0x11680-0x116bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x116c0-0x116ff */ - 0x00, 0x00, 0x00, 0xe0, 0xbc, 0x0f, 0x00, 0x00, /* 0x11700-0x1173f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11740-0x1177f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11780-0x117bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x117c0-0x117ff */ - /* 0x11c00-0x11dff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x3f, /* 0x11c00-0x11c3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11c40-0x11c7f */ - 0x00, 0x00, 0xfc, 0xff, 0xff, 0xfc, 0x6d, 0x00, /* 0x11c80-0x11cbf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11cc0-0x11cff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d00-0x11d3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d40-0x11d7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d80-0x11dbf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11dc0-0x11dff */ - /* 0x16a00-0x16bff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a00-0x16a3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a40-0x16a7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a80-0x16abf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, /* 0x16ac0-0x16aff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, /* 0x16b00-0x16b3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b40-0x16b7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b80-0x16bbf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16bc0-0x16bff */ - /* 0x16e00-0x16fff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e00-0x16e3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e40-0x16e7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e80-0x16ebf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16ec0-0x16eff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f00-0x16f3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f40-0x16f7f */ - 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f80-0x16fbf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16fc0-0x16fff */ - /* 0x1bc00-0x1bdff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc00-0x1bc3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc40-0x1bc7f */ - 0x00, 0x00, 0x00, 0x60, 0x0f, 0x00, 0x00, 0x00, /* 0x1bc80-0x1bcbf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bcc0-0x1bcff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd00-0x1bd3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd40-0x1bd7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd80-0x1bdbf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bdc0-0x1bdff */ - /* 0x1d000-0x1d1ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d000-0x1d03f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d040-0x1d07f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d080-0x1d0bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d0c0-0x1d0ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d100-0x1d13f */ - 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0xf8, 0xff, /* 0x1d140-0x1d17f */ - 0xe7, 0x0f, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x1d180-0x1d1bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d1c0-0x1d1ff */ - /* 0x1d200-0x1d3ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d200-0x1d23f */ - 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d240-0x1d27f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d280-0x1d2bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d2c0-0x1d2ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d300-0x1d33f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d340-0x1d37f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d380-0x1d3bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d3c0-0x1d3ff */ - /* 0x1da00-0x1dbff */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf8, /* 0x1da00-0x1da3f */ - 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x20, 0x00, /* 0x1da40-0x1da7f */ - 0x10, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x00, 0x00, /* 0x1da80-0x1dabf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dac0-0x1daff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db00-0x1db3f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db40-0x1db7f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db80-0x1dbbf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dbc0-0x1dbff */ - /* 0x1e000-0x1e1ff */ - 0x7f, 0xff, 0xff, 0xf9, 0xdb, 0x07, 0x00, 0x00, /* 0x1e000-0x1e03f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e040-0x1e07f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e080-0x1e0bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e0c0-0x1e0ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e100-0x1e13f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e140-0x1e17f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e180-0x1e1bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e1c0-0x1e1ff */ - /* 0x1e800-0x1e9ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e800-0x1e83f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e840-0x1e87f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e880-0x1e8bf */ - 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e8c0-0x1e8ff */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e900-0x1e93f */ - 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e940-0x1e97f */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e980-0x1e9bf */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1e9c0-0x1e9ff */ -}; -static const signed char nonspacing_table_ind[248] = { - 0, 1, 2, 3, 4, 5, 6, 7, /* 0x0000-0x0fff */ - 8, 9, -1, 10, 11, 12, 13, -1, /* 0x1000-0x1fff */ - 14, -1, -1, -1, -1, -1, 15, -1, /* 0x2000-0x2fff */ - 16, -1, -1, -1, -1, -1, -1, -1, /* 0x3000-0x3fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x4000-0x4fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x5000-0x5fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x6000-0x6fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x7000-0x7fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x8000-0x8fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x9000-0x9fff */ - -1, -1, -1, 17, 18, 19, -1, -1, /* 0xa000-0xafff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0xb000-0xbfff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0xc000-0xcfff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0xd000-0xdfff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */ - -1, -1, -1, -1, -1, 20, -1, 21, /* 0xf000-0xffff */ - 22, 23, -1, -1, -1, 24, -1, -1, /* 0x10000-0x10fff */ - 25, 26, 27, 28, -1, -1, 29, -1, /* 0x11000-0x11fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x15000-0x15fff */ - -1, -1, -1, -1, -1, 30, -1, 31, /* 0x16000-0x16fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x17000-0x17fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x18000-0x18fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x19000-0x19fff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */ - -1, -1, -1, -1, -1, -1, 32, -1, /* 0x1b000-0x1bfff */ - -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1c000-0x1cfff */ - 33, 34, -1, -1, -1, 35, -1, -1, /* 0x1d000-0x1dfff */ - 36, -1, -1, -1, 37, -1, -1, -1 /* 0x1e000-0x1efff */ -}; +#include "uniwidth/width0.h" + +#include "uniwidth/width2.h" +#include "unictype/bitmap.h" + +#define SIZEOF(a) (sizeof(a) / sizeof(a[0])) + /* Determine number of column positions required for UC. */ int uc_width (ucs4_t uc, const char *encoding) { /* Test for non-spacing or control character. */ - if ((uc >> 9) < 248) + if ((uc >> 9) < SIZEOF (nonspacing_table_ind)) { int ind = nonspacing_table_ind[uc >> 9]; if (ind >= 0) @@ -440,24 +83,8 @@ uc_width (ucs4_t uc, const char *encoding) return 0; } } - /* Test for double-width character. - * Generated from "grep '^[^;]\{4,5\};[WF]' EastAsianWidth.txt" - * and "grep '^[^;]\{4,5\};[^WF]' EastAsianWidth.txt" - */ - if (uc >= 0x1100 - && ((uc < 0x1160) /* Hangul Jamo */ - || (uc >= 0x2329 && uc < 0x232b) /* Angle Brackets */ - || (uc >= 0x2e80 && uc < 0xa4d0 /* CJK ... Yi */ - && !(uc == 0x303f) && !(uc >= 0x4dc0 && uc < 0x4e00)) - || (uc >= 0xac00 && uc < 0xd7a4) /* Hangul Syllables */ - || (uc >= 0xf900 && uc < 0xfb00) /* CJK Compatibility Ideographs */ - || (uc >= 0xfe10 && uc < 0xfe20) /* Presentation Forms for Vertical */ - || (uc >= 0xfe30 && uc < 0xfe70) /* CJK Compatibility Forms */ - || (uc >= 0xff00 && uc < 0xff61) /* Fullwidth Forms */ - || (uc >= 0xffe0 && uc < 0xffe7) /* Fullwidth Signs */ - || (uc >= 0x20000 && uc <= 0x2ffff) /* Supplementary Ideographic Plane */ - || (uc >= 0x30000 && uc <= 0x3ffff) /* Tertiary Ideographic Plane */ - ) ) + /* Test for double-width character. */ + if (bitmap_lookup (&u_width2, uc)) return 2; /* In ancient CJK encodings, Cyrillic and most other characters are double-width as well. */ diff --git a/source/srclib/uniwidth/width0.h b/source/srclib/uniwidth/width0.h new file mode 100644 index 0000000..eda0a1d --- /dev/null +++ b/source/srclib/uniwidth/width0.h @@ -0,0 +1,485 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Table of non-spacing or control characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 14.0.0. */ + +/* Copyright (C) 2000-2022 Free Software Foundation, Inc. + + This file is free software. + It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+". + You can redistribute it and/or modify it under either + - the terms of the GNU Lesser General Public License as published + by the Free Software Foundation, either version 3, or (at your + option) any later version, or + - 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, or + - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+". + + 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 and the GNU General Public License + for more details. + + You should have received a copy of the GNU Lesser General Public + License and of the GNU General Public License along with this + program. If not, see . */ + +static const unsigned char nonspacing_table_data[47*64] = { + /* 0x0000-0x01ff */ + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */ + 0xff, 0xff, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, /* 0x0080-0x00bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00c0-0x00ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0100-0x013f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0140-0x017f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0180-0x01bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x01c0-0x01ff */ + /* 0x0200-0x03ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0200-0x023f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0240-0x027f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0280-0x02bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x02c0-0x02ff */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x0300-0x033f */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, /* 0x0340-0x037f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0380-0x03bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x03c0-0x03ff */ + /* 0x0400-0x05ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0400-0x043f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0440-0x047f */ + 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0480-0x04bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x04c0-0x04ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0500-0x053f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0540-0x057f */ + 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, /* 0x0580-0x05bf */ + 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x05c0-0x05ff */ + /* 0x0600-0x07ff */ + 0x3f, 0x00, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */ + 0x00, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, /* 0x0640-0x067f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0680-0x06bf */ + 0x00, 0x00, 0xc0, 0xbf, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */ + 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0x0700-0x073f */ + 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0740-0x077f */ + 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x01, 0x00, /* 0x0780-0x07bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x20, /* 0x07c0-0x07ff */ + /* 0x0800-0x09ff */ + 0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */ + 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */ + 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */ + 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */ + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */ + 0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */ + 0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x40, /* 0x09c0-0x09ff */ + /* 0x0a00-0x0bff */ + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0a00-0x0a3f */ + 0x86, 0x39, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, /* 0x0a40-0x0a7f */ + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0a80-0x0abf */ + 0xbe, 0x21, 0x00, 0x00, 0x0c, 0x00, 0x00, 0xfc, /* 0x0ac0-0x0aff */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, /* 0x0b00-0x0b3f */ + 0x1e, 0x20, 0x60, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0b40-0x0b7f */ + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0b80-0x0bbf */ + 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0bc0-0x0bff */ + /* 0x0c00-0x0dff */ + 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, /* 0x0c00-0x0c3f */ + 0xc1, 0x3d, 0x60, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0c40-0x0c7f */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */ + 0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0cc0-0x0cff */ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, /* 0x0d00-0x0d3f */ + 0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0d40-0x0d7f */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d80-0x0dbf */ + 0x00, 0x04, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0dc0-0x0dff */ + /* 0x0e00-0x0fff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x07, /* 0x0e00-0x0e3f */ + 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0e40-0x0e7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x1f, /* 0x0e80-0x0ebf */ + 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0ec0-0x0eff */ + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xa0, 0x02, /* 0x0f00-0x0f3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, /* 0x0f40-0x0f7f */ + 0xdf, 0xe0, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x1f, /* 0x0f80-0x0fbf */ + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0fc0-0x0fff */ + /* 0x1000-0x11ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfd, 0x66, /* 0x1000-0x103f */ + 0x00, 0x00, 0x00, 0xc3, 0x01, 0x00, 0x1e, 0x00, /* 0x1040-0x107f */ + 0x64, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x1080-0x10bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10c0-0x10ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1100-0x113f */ + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, /* 0x1140-0x117f */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x1180-0x11bf */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x11c0-0x11ff */ + /* 0x1200-0x13ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1200-0x123f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1240-0x127f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1280-0x12bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x12c0-0x12ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1300-0x133f */ + 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, /* 0x1340-0x137f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1380-0x13bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x13c0-0x13ff */ + /* 0x1600-0x17ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1600-0x163f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1640-0x167f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1680-0x16bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16c0-0x16ff */ + 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0c, 0x00, /* 0x1700-0x173f */ + 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, /* 0x1740-0x177f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x3f, /* 0x1780-0x17bf */ + 0x40, 0xfe, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x17c0-0x17ff */ + /* 0x1800-0x19ff */ + 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1840-0x187f */ + 0x60, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18c0-0x18ff */ + 0x00, 0x00, 0x00, 0x00, 0x87, 0x01, 0x04, 0x0e, /* 0x1900-0x193f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1940-0x197f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1980-0x19bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x19c0-0x19ff */ + /* 0x1a00-0x1bff */ + 0x00, 0x00, 0x80, 0x09, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */ + 0x00, 0x00, 0x40, 0x7f, 0xe5, 0x1f, 0xf8, 0x9f, /* 0x1a40-0x1a7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0x1a80-0x1abf */ + 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ac0-0x1aff */ + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x17, /* 0x1b00-0x1b3f */ + 0x04, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x1b40-0x1b7f */ + 0x03, 0x00, 0x00, 0x00, 0x3c, 0x3b, 0x00, 0x00, /* 0x1b80-0x1bbf */ + 0x00, 0x00, 0x00, 0x00, 0x40, 0xa3, 0x03, 0x00, /* 0x1bc0-0x1bff */ + /* 0x1c00-0x1dff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xcf, 0x00, /* 0x1c00-0x1c3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c40-0x1c7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c80-0x1cbf */ + 0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x10, 0x03, /* 0x1cc0-0x1cff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x1dc0-0x1dff */ + /* 0x2000-0x21ff */ + 0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */ + 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x00, 0x00, /* 0x2040-0x207f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2080-0x20bf */ + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, /* 0x20c0-0x20ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2100-0x213f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2140-0x217f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2180-0x21bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x21c0-0x21ff */ + /* 0x2c00-0x2dff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c00-0x2c3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c40-0x2c7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c80-0x2cbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, /* 0x2cc0-0x2cff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d00-0x2d3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x2d40-0x2d7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d80-0x2dbf */ + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, /* 0x2dc0-0x2dff */ + /* 0x3000-0x31ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x3000-0x303f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3040-0x307f */ + 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0x3080-0x30bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30c0-0x30ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3100-0x313f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3140-0x317f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3180-0x31bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x31c0-0x31ff */ + /* 0xa600-0xa7ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa600-0xa63f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf7, 0x3f, /* 0xa640-0xa67f */ + 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0xa6c0-0xa6ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa700-0xa73f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa740-0xa77f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa780-0xa7bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa7c0-0xa7ff */ + /* 0xa800-0xa9ff */ + 0x44, 0x08, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, /* 0xa800-0xa83f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa840-0xa87f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa880-0xa8bf */ + 0x30, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x80, /* 0xa8c0-0xa8ff */ + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, /* 0xa900-0xa93f */ + 0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */ + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x33, /* 0xa980-0xa9bf */ + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */ + /* 0xaa00-0xabff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x66, 0x00, /* 0xaa00-0xaa3f */ + 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0xaa40-0xaa7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xc1, /* 0xaa80-0xaabf */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x00, /* 0xaac0-0xaaff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab00-0xab3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab40-0xab7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab80-0xabbf */ + 0x00, 0x00, 0x00, 0x00, 0x20, 0x21, 0x00, 0x00, /* 0xabc0-0xabff */ + /* 0xd600-0xd7ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd600-0xd63f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd640-0xd67f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd680-0xd6bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd6c0-0xd6ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd700-0xd73f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd740-0xd77f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0xd780-0xd7bf */ + 0x7f, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, /* 0xd7c0-0xd7ff */ + /* 0xfa00-0xfbff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa00-0xfa3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa40-0xfa7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa80-0xfabf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfac0-0xfaff */ + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, /* 0xfb00-0xfb3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb40-0xfb7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb80-0xfbbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfbc0-0xfbff */ + /* 0xfe00-0xffff */ + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, /* 0xfe00-0xfe3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe40-0xfe7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe80-0xfebf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0xfec0-0xfeff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff00-0xff3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff40-0xff7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff80-0xffbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, /* 0xffc0-0xffff */ + /* 0x10000-0x101ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10000-0x1003f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10040-0x1007f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10080-0x100bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x100c0-0x100ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10100-0x1013f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10140-0x1017f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10180-0x101bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, /* 0x101c0-0x101ff */ + /* 0x10200-0x103ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10200-0x1023f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10240-0x1027f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10280-0x102bf */ + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, /* 0x102c0-0x102ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10300-0x1033f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, /* 0x10340-0x1037f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10380-0x103bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x103c0-0x103ff */ + /* 0x10a00-0x10bff */ + 0x6e, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, /* 0x10a00-0x10a3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a40-0x10a7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a80-0x10abf */ + 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b00-0x10b3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b40-0x10b7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b80-0x10bbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10bc0-0x10bff */ + /* 0x10c00-0x10dff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10c00-0x10c3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10c40-0x10c7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10c80-0x10cbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10cc0-0x10cff */ + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, /* 0x10d00-0x10d3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10d40-0x10d7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10d80-0x10dbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10dc0-0x10dff */ + /* 0x10e00-0x10fff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10e00-0x10e3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10e40-0x10e7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, /* 0x10e80-0x10ebf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10ec0-0x10eff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10f00-0x10f3f */ + 0xc0, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10f40-0x10f7f */ + 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10f80-0x10fbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10fc0-0x10fff */ + /* 0x11000-0x111ff */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11000-0x1103f */ + 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x80, /* 0x11040-0x1107f */ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x26, /* 0x11080-0x110bf */ + 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */ + 0x07, 0x00, 0x00, 0x00, 0x80, 0xef, 0x1f, 0x00, /* 0x11100-0x1113f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, /* 0x11140-0x1117f */ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, /* 0x11180-0x111bf */ + 0x00, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */ + /* 0x11200-0x113ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd3, 0x40, /* 0x11200-0x1123f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11240-0x1127f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11280-0x112bf */ + 0x00, 0x00, 0x00, 0x80, 0xf8, 0x07, 0x00, 0x00, /* 0x112c0-0x112ff */ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, /* 0x11300-0x1133f */ + 0x01, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x1f, 0x00, /* 0x11340-0x1137f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11380-0x113bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x113c0-0x113ff */ + /* 0x11400-0x115ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11400-0x1143f */ + 0x5c, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, /* 0x11440-0x1147f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x85, /* 0x11480-0x114bf */ + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x114c0-0x114ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11500-0x1153f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11540-0x1157f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xb0, /* 0x11580-0x115bf */ + 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, /* 0x115c0-0x115ff */ + /* 0x11600-0x117ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xa7, /* 0x11600-0x1163f */ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11640-0x1167f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xbf, 0x00, /* 0x11680-0x116bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x116c0-0x116ff */ + 0x00, 0x00, 0x00, 0xe0, 0xbc, 0x0f, 0x00, 0x00, /* 0x11700-0x1173f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11740-0x1177f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11780-0x117bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x117c0-0x117ff */ + /* 0x11800-0x119ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x06, /* 0x11800-0x1183f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11840-0x1187f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11880-0x118bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x118c0-0x118ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, /* 0x11900-0x1193f */ + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11940-0x1197f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11980-0x119bf */ + 0x00, 0x00, 0xf0, 0x0c, 0x01, 0x00, 0x00, 0x00, /* 0x119c0-0x119ff */ + /* 0x11a00-0x11bff */ + 0x7e, 0x06, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x79, /* 0x11a00-0x11a3f */ + 0x80, 0x00, 0x7e, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x11a40-0x11a7f */ + 0x00, 0xfc, 0x7f, 0x03, 0x00, 0x00, 0x00, 0x00, /* 0x11a80-0x11abf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11ac0-0x11aff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11b00-0x11b3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11b40-0x11b7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11b80-0x11bbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11bc0-0x11bff */ + /* 0x11c00-0x11dff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x3f, /* 0x11c00-0x11c3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11c40-0x11c7f */ + 0x00, 0x00, 0xfc, 0xff, 0xff, 0xfc, 0x6d, 0x00, /* 0x11c80-0x11cbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11cc0-0x11cff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xb4, /* 0x11d00-0x11d3f */ + 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d40-0x11d7f */ + 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d80-0x11dbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11dc0-0x11dff */ + /* 0x11e00-0x11fff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11e00-0x11e3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11e40-0x11e7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11e80-0x11ebf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, /* 0x11ec0-0x11eff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11f00-0x11f3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11f40-0x11f7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11f80-0x11fbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11fc0-0x11fff */ + /* 0x13400-0x135ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, /* 0x13400-0x1343f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x13440-0x1347f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x13480-0x134bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x134c0-0x134ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x13500-0x1353f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x13540-0x1357f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x13580-0x135bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x135c0-0x135ff */ + /* 0x16a00-0x16bff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a00-0x16a3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a40-0x16a7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a80-0x16abf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, /* 0x16ac0-0x16aff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, /* 0x16b00-0x16b3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b40-0x16b7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b80-0x16bbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16bc0-0x16bff */ + /* 0x16e00-0x16fff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e00-0x16e3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e40-0x16e7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e80-0x16ebf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16ec0-0x16eff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f00-0x16f3f */ + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f40-0x16f7f */ + 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f80-0x16fbf */ + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, /* 0x16fc0-0x16fff */ + /* 0x1bc00-0x1bdff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc00-0x1bc3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc40-0x1bc7f */ + 0x00, 0x00, 0x00, 0x60, 0x0f, 0x00, 0x00, 0x00, /* 0x1bc80-0x1bcbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bcc0-0x1bcff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd00-0x1bd3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd40-0x1bd7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd80-0x1bdbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bdc0-0x1bdff */ + /* 0x1ce00-0x1cfff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ce00-0x1ce3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ce40-0x1ce7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ce80-0x1cebf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1cec0-0x1ceff */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, /* 0x1cf00-0x1cf3f */ + 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1cf40-0x1cf7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1cf80-0x1cfbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1cfc0-0x1cfff */ + /* 0x1d000-0x1d1ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d000-0x1d03f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d040-0x1d07f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d080-0x1d0bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d0c0-0x1d0ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d100-0x1d13f */ + 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0xf8, 0xff, /* 0x1d140-0x1d17f */ + 0xe7, 0x0f, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x1d180-0x1d1bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d1c0-0x1d1ff */ + /* 0x1d200-0x1d3ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d200-0x1d23f */ + 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d240-0x1d27f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d280-0x1d2bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d2c0-0x1d2ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d300-0x1d33f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d340-0x1d37f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d380-0x1d3bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d3c0-0x1d3ff */ + /* 0x1da00-0x1dbff */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf8, /* 0x1da00-0x1da3f */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x20, 0x00, /* 0x1da40-0x1da7f */ + 0x10, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x00, 0x00, /* 0x1da80-0x1dabf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dac0-0x1daff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db00-0x1db3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db40-0x1db7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db80-0x1dbbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dbc0-0x1dbff */ + /* 0x1e000-0x1e1ff */ + 0x7f, 0xff, 0xff, 0xf9, 0xdb, 0x07, 0x00, 0x00, /* 0x1e000-0x1e03f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e040-0x1e07f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e080-0x1e0bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e0c0-0x1e0ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, /* 0x1e100-0x1e13f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e140-0x1e17f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e180-0x1e1bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e1c0-0x1e1ff */ + /* 0x1e200-0x1e3ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e200-0x1e23f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e240-0x1e27f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, /* 0x1e280-0x1e2bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, /* 0x1e2c0-0x1e2ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e300-0x1e33f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e340-0x1e37f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e380-0x1e3bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e3c0-0x1e3ff */ + /* 0x1e800-0x1e9ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e800-0x1e83f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e840-0x1e87f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e880-0x1e8bf */ + 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e8c0-0x1e8ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e900-0x1e93f */ + 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e940-0x1e97f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e980-0x1e9bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1e9c0-0x1e9ff */ +}; +static const signed char nonspacing_table_ind[248] = { + 0, 1, 2, 3, 4, 5, 6, 7, /* 0x0000-0x0fff */ + 8, 9, -1, 10, 11, 12, 13, -1, /* 0x1000-0x1fff */ + 14, -1, -1, -1, -1, -1, 15, -1, /* 0x2000-0x2fff */ + 16, -1, -1, -1, -1, -1, -1, -1, /* 0x3000-0x3fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x4000-0x4fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x5000-0x5fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x6000-0x6fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x7000-0x7fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x8000-0x8fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x9000-0x9fff */ + -1, -1, -1, 17, 18, 19, -1, -1, /* 0xa000-0xafff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0xb000-0xbfff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0xc000-0xcfff */ + -1, -1, -1, 20, -1, -1, -1, -1, /* 0xd000-0xdfff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */ + -1, -1, -1, -1, -1, 21, -1, 22, /* 0xf000-0xffff */ + 23, 24, -1, -1, -1, 25, 26, 27, /* 0x10000-0x10fff */ + 28, 29, 30, 31, 32, 33, 34, 35, /* 0x11000-0x11fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */ + -1, -1, 36, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x15000-0x15fff */ + -1, -1, -1, -1, -1, 37, -1, 38, /* 0x16000-0x16fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x17000-0x17fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x18000-0x18fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x19000-0x19fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */ + -1, -1, -1, -1, -1, -1, 39, -1, /* 0x1b000-0x1bfff */ + -1, -1, -1, -1, -1, -1, -1, 40, /* 0x1c000-0x1cfff */ + 41, 42, -1, -1, -1, 43, -1, -1, /* 0x1d000-0x1dfff */ + 44, 45, -1, -1, 46, -1, -1, -1 /* 0x1e000-0x1efff */ +}; diff --git a/source/srclib/uniwidth/width2.h b/source/srclib/uniwidth/width2.h new file mode 100644 index 0000000..25364d3 --- /dev/null +++ b/source/srclib/uniwidth/width2.h @@ -0,0 +1,549 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Width 2 property of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 14.0.0. */ + +/* Copyright (C) 2000-2022 Free Software Foundation, Inc. + + This file is free software. + It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+". + You can redistribute it and/or modify it under either + - the terms of the GNU Lesser General Public License as published + by the Free Software Foundation, either version 3, or (at your + option) any later version, or + - 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, or + - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+". + + 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 and the GNU General Public License + for more details. + + You should have received a copy of the GNU Lesser General Public + License and of the GNU General Public License along with this + program. If not, see . */ + +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[4]; + short level2[3 << 7]; + unsigned int level3[28 << 4]; + } +u_width2 = +{ + { 4 }, + { + 5 * sizeof (int) / sizeof (short) + 0, + 5 * sizeof (int) / sizeof (short) + 128, + 5 * sizeof (int) / sizeof (short) + 256, + 5 * sizeof (int) / sizeof (short) + 256 + }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 5 + 384 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 5 + 384 * sizeof (short) / sizeof (int) + 16, + 5 + 384 * sizeof (short) / sizeof (int) + 32, + 5 + 384 * sizeof (short) / sizeof (int) + 48, + -1, + 5 + 384 * sizeof (short) / sizeof (int) + 64, + -1, + 5 + 384 * sizeof (short) / sizeof (int) + 80, + 5 + 384 * sizeof (short) / sizeof (int) + 96, + 5 + 384 * sizeof (short) / sizeof (int) + 112, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 144, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 160, + -1, + 5 + 384 * sizeof (short) / sizeof (int) + 176, + -1, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 5 + 384 * sizeof (short) / sizeof (int) + 208, + 5 + 384 * sizeof (short) / sizeof (int) + 224, + -1, + 5 + 384 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 5 + 384 * sizeof (short) / sizeof (int) + 256, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 272, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 5 + 384 * sizeof (short) / sizeof (int) + 304, + 5 + 384 * sizeof (short) / sizeof (int) + 320, + 5 + 384 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 5 + 384 * sizeof (short) / sizeof (int) + 352, + 5 + 384 * sizeof (short) / sizeof (int) + 368, + 5 + 384 * sizeof (short) / sizeof (int) + 384, + 5 + 384 * sizeof (short) / sizeof (int) + 400, + 5 + 384 * sizeof (short) / sizeof (int) + 416, + 5 + 384 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128, + 5 + 384 * sizeof (short) / sizeof (int) + 128 + }, + { + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x0C000000U, 0x00000600U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00091E00U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x60000000U, + 0x00300000U, 0x00000000U, 0x000FFF00U, 0x80000000U, + 0x00080000U, 0x60000C02U, 0x00104030U, 0x242C0400U, + 0x00000C20U, 0x00000100U, 0x00B85000U, 0x00000000U, + 0x00E00000U, 0x80010000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x18000000U, 0x00000000U, 0x00210000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0x7FFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF00FFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000000U, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0x0000FFFFU, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x1FFFFFFFU, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0x0000000FU, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFF0000U, 0xFFFF0000U, 0xFFFFFFFFU, 0x0000FFFFU, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x0000007FU, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x0003000FU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00FFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0x003FFFFFU, 0x00000000U, + 0x000001FFU, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x6FEF0000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0x00000007U, 0x00070000U, 0xFFFF00F0U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x0FFFFFFFU, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000010U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00008000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x07FE4000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFBFE001U, 0xFFFFFFFFU, 0xDFFFFFFFU, + 0x000FFFFFU, 0xFFFFFFFFU, 0x000F87FFU, 0xFF11FFFFU, + 0xFFFFFFFFU, 0x7FFFFFFFU, 0xFFFFFFFDU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x9FFFFFFFU, + 0xFFFFFFFFU, 0x3FFFFFFFU, 0xFFFF7800U, 0x040000FFU, + 0x00600000U, 0x00000010U, 0x00000000U, 0xF8000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0x0000FFFFU, 0x00000000U, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xE0E7103FU, 0x1FF01800U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00010FFFU, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0xFFFFF000U, 0xF7FFFFFFU, 0xFFFFFFBFU, 0xFFFFFFFFU, + 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, + 0x00000000U, 0x00000000U, 0x00000000U, 0x1F1F0000U, + 0xFFFF007FU, 0x07FF1FFFU, 0x03FF003FU, 0x007F00FFU, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U, + 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U + } +}; diff --git a/source/srclib/unlocked-io.h b/source/srclib/unlocked-io.h index ee1c062..7461d74 100644 --- a/source/srclib/unlocked-io.h +++ b/source/srclib/unlocked-io.h @@ -1,10 +1,10 @@ /* Prefer faster, non-thread-safe stdio functions if available. - Copyright (C) 2001-2004, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2009-2022 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify 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, @@ -33,91 +33,91 @@ # include -# if HAVE_DECL_CLEARERR_UNLOCKED +# if HAVE_DECL_CLEARERR_UNLOCKED || defined clearerr_unlocked # undef clearerr # define clearerr(x) clearerr_unlocked (x) # else # define clearerr_unlocked(x) clearerr (x) # endif -# if HAVE_DECL_FEOF_UNLOCKED +# if HAVE_DECL_FEOF_UNLOCKED || defined feof_unlocked # undef feof # define feof(x) feof_unlocked (x) # else # define feof_unlocked(x) feof (x) # endif -# if HAVE_DECL_FERROR_UNLOCKED +# if HAVE_DECL_FERROR_UNLOCKED || defined ferror_unlocked # undef ferror # define ferror(x) ferror_unlocked (x) # else # define ferror_unlocked(x) ferror (x) # endif -# if HAVE_DECL_FFLUSH_UNLOCKED +# if HAVE_DECL_FFLUSH_UNLOCKED || defined fflush_unlocked # undef fflush # define fflush(x) fflush_unlocked (x) # else # define fflush_unlocked(x) fflush (x) # endif -# if HAVE_DECL_FGETS_UNLOCKED +# if HAVE_DECL_FGETS_UNLOCKED || defined fgets_unlocked # undef fgets # define fgets(x,y,z) fgets_unlocked (x,y,z) # else # define fgets_unlocked(x,y,z) fgets (x,y,z) # endif -# if HAVE_DECL_FPUTC_UNLOCKED +# if HAVE_DECL_FPUTC_UNLOCKED || defined fputc_unlocked # undef fputc # define fputc(x,y) fputc_unlocked (x,y) # else # define fputc_unlocked(x,y) fputc (x,y) # endif -# if HAVE_DECL_FPUTS_UNLOCKED +# if HAVE_DECL_FPUTS_UNLOCKED || defined fputs_unlocked # undef fputs # define fputs(x,y) fputs_unlocked (x,y) # else # define fputs_unlocked(x,y) fputs (x,y) # endif -# if HAVE_DECL_FREAD_UNLOCKED +# if HAVE_DECL_FREAD_UNLOCKED || defined fread_unlocked # undef fread # define fread(w,x,y,z) fread_unlocked (w,x,y,z) # else # define fread_unlocked(w,x,y,z) fread (w,x,y,z) # endif -# if HAVE_DECL_FWRITE_UNLOCKED +# if HAVE_DECL_FWRITE_UNLOCKED || defined fwrite_unlocked # undef fwrite # define fwrite(w,x,y,z) fwrite_unlocked (w,x,y,z) # else # define fwrite_unlocked(w,x,y,z) fwrite (w,x,y,z) # endif -# if HAVE_DECL_GETC_UNLOCKED +# if HAVE_DECL_GETC_UNLOCKED || defined get_unlocked # undef getc # define getc(x) getc_unlocked (x) # else # define getc_unlocked(x) getc (x) # endif -# if HAVE_DECL_GETCHAR_UNLOCKED +# if HAVE_DECL_GETCHAR_UNLOCKED || defined getchar_unlocked # undef getchar # define getchar() getchar_unlocked () # else # define getchar_unlocked() getchar () # endif -# if HAVE_DECL_PUTC_UNLOCKED +# if HAVE_DECL_PUTC_UNLOCKED || defined putc_unlocked # undef putc # define putc(x,y) putc_unlocked (x,y) # else # define putc_unlocked(x,y) putc (x,y) # endif -# if HAVE_DECL_PUTCHAR_UNLOCKED +# if HAVE_DECL_PUTCHAR_UNLOCKED || defined putchar_unlocked # undef putchar # define putchar(x) putchar_unlocked (x) # else diff --git a/source/srclib/verify.h b/source/srclib/verify.h index 6930645..c5c63ae 100644 --- a/source/srclib/verify.h +++ b/source/srclib/verify.h @@ -1,18 +1,18 @@ /* Compile-time assert-like macros. - Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + 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. */ @@ -21,29 +21,32 @@ #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 is supported by GCC 6.1.0 and later, in C++ mode. + Define _GL_HAVE__STATIC_ASSERT1 to 1 if _Static_assert (R) works as + per C2x. 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__ + (6 <= __GNUC_MINOR__) \ - && (201112L <= __STDC_VERSION__ || !defined __STRICT_ANSI__) \ - && !defined __cplusplus) -# define _GL_HAVE__STATIC_ASSERT 1 -#endif -#if (6 <= __GNUC__) && defined __cplusplus -# define _GL_HAVE_STATIC_ASSERT 1 + 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 (201112L <= __STDC_VERSION__ \ + || (!defined __STRICT_ANSI__ \ + && (4 < __GNUC__ + (6 <= __GNUC_MINOR__) || 5 <= __clang_major__))) +# define _GL_HAVE__STATIC_ASSERT 1 +# endif +# if (202000L <= __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 +#ifndef _GL_HAVE__STATIC_ASSERT # include # undef _Static_assert #endif @@ -141,9 +144,9 @@ 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 + * 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. + arrange to use verify_expr instead. * In C++, any struct definition inside sizeof is invalid. Use a template type to work around the problem. */ @@ -195,48 +198,66 @@ template #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 C2x 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 +#if 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) \ +# 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) +# if !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert +# define _Static_assert(...) \ + _GL_VERIFY (__VA_ARGS__, "static assertion failed", -) # endif -# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert +# if __cpp_static_assert < 201411 && !defined static_assert # define static_assert _Static_assert /* C11 requires this #define. */ # endif #endif /* @assert.h omit start@ */ +#if 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 + +#if 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 + /* 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. */ @@ -244,31 +265,45 @@ template (_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 __GNUC__ -# define verify(R) _GL_VERIFY (R, "verify (" #R ")") +#ifdef __PGI +/* PGI barfs if R is long. */ +# define verify(R) _GL_VERIFY (R, "verify (...)", -) #else -/* PGI barfs if R is long. Play it safe. */ -# define verify(R) _GL_VERIFY (R, "verify (...)") +# define verify(R) _GL_VERIFY (R, "verify (" #R ")", -) #endif -#ifndef __has_builtin -# define __has_builtin(x) 0 -#endif +/* 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. -/* Assume that R always holds. This lets the compiler optimize - accordingly. R should not have side-effects; it may or may not be - evaluated. Behavior is undefined if R is false. */ + 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 (__has_builtin (__builtin_unreachable) \ - || 4 < __GNUC__ + (5 <= __GNUC_MINOR__)) +#if _GL_HAS_BUILTIN_UNREACHABLE # define assume(R) ((R) ? (void) 0 : __builtin_unreachable ()) #elif 1200 <= _MSC_VER # define assume(R) __assume (R) -#elif ((defined GCC_LINT || defined lint) \ - && (__has_builtin (__builtin_trap) \ - || 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__)))) +#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 when 'assume' silences warnings even with older GCCs. */ diff --git a/source/srclib/warn-on-use.h b/source/srclib/warn-on-use.h index 7d11a15..94f5b92 100644 --- a/source/srclib/warn-on-use.h +++ b/source/srclib/warn-on-use.h @@ -1,17 +1,17 @@ /* A C macro for emitting warnings if a function is used. - Copyright (C) 2010-2019 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify 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 + 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 @@ -84,13 +84,20 @@ # 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))) +_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) \ -extern __typeof__ (function) function +_GL_WARN_EXTERN_C __typeof__ (function) function # define _GL_WARN_ON_USE_ATTRIBUTE(message) # else /* Unsupported. */ # define _GL_WARN_ON_USE(function, message) \ @@ -99,24 +106,35 @@ _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. +/* _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 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 +# 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,parameters_and_attributes,msg) \ -extern rettype function parameters_and_attributes -# else /* Unsupported. */ -# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ +# 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 diff --git a/source/srclib/wchar.in.h b/source/srclib/wchar.in.h new file mode 100644 index 0000000..835ddbe --- /dev/null +++ b/source/srclib/wchar.in.h @@ -0,0 +1,1338 @@ +/* A substitute for ISO C99 , for platforms that have issues. + + Copyright (C) 2007-2022 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 + +/* _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 + +/* 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. */ + + +/* 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. */ +_GL_EXTERN_C void rpl_free (void *); +# 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 *) throw (); +# 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 *) throw (); +# else +_GL_EXTERN_C void free (void *); +# endif +# 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 +/* 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 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 +# 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 + + +/* 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 +_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 *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 !@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)); +# 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 !@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)); +# 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@ +# 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 *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@ +# if !@HAVE_WCPCPY@ +_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@ +# if !@HAVE_WCPNCPY@ +_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 !@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)); +# 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 !@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)); +# 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@ +# 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)); +# 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 +# if !@HAVE_WCSDUP@ || __GNUC__ >= 11 +_GL_FUNCDECL_SYS (wcsdup, wchar_t *, + (const wchar_t *s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# 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. */ +_GL_FUNCDECL_SYS (wcsdup, wchar_t *, + (const wchar_t *s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# 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 +_GL_FUNCDECL_SYS (wcsdup, wchar_t *, + (const wchar_t *s) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# 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 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)); +# 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 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)); +# 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 !@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)); +# 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 + + +#endif /* _@GUARD_PREFIX@_WCHAR_H */ +#endif /* _@GUARD_PREFIX@_WCHAR_H */ +#endif diff --git a/source/srclib/xalloc-oversized.h b/source/srclib/xalloc-oversized.h index e3068c8..aefa6fd 100644 --- a/source/srclib/xalloc-oversized.h +++ b/source/srclib/xalloc-oversized.h @@ -1,18 +1,18 @@ /* xalloc-oversized.h -- memory allocation size checking - Copyright (C) 1990-2000, 2003-2004, 2006-2019 Free Software Foundation, Inc. + Copyright (C) 1990-2000, 2003-2004, 2006-2022 Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef XALLOC_OVERSIZED_H_ @@ -21,34 +21,39 @@ #include #include -/* True if N * S would overflow in a size_t calculation, - or would generate a value larger than PTRDIFF_MAX. +/* 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 + 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) \ - ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) < (n)) + ((s) != 0 \ + && ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) \ + < (n))) -#if PTRDIFF_MAX < SIZE_MAX -typedef ptrdiff_t __xalloc_count_type; -#else -typedef size_t __xalloc_count_type; -#endif +/* 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. -/* Return 1 if an array of N objects, each of size S, cannot exist - reliably due to size or ptrdiff_t arithmetic overflow. S must be - positive and N must be nonnegative. This is a macro, not a - function, so that it works correctly even when SIZE_MAX < N. */ + 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)). -#if 7 <= __GNUC__ + 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, (__xalloc_count_type) 1) -#elif 5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__ + __builtin_mul_overflow_p (n, s, (ptrdiff_t) 1) +#elif (5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__ \ + && PTRDIFF_MAX < SIZE_MAX) # define xalloc_oversized(n, s) \ (__builtin_constant_p (n) && __builtin_constant_p (s) \ ? __xalloc_oversized (n, s) \ - : ({ __xalloc_count_type __xalloc_count; \ + : ({ ptrdiff_t __xalloc_count; \ __builtin_mul_overflow (n, s, &__xalloc_count); })) /* Other compilers use integer division; this may be slower but is diff --git a/source/srclib/xreadlink.c b/source/srclib/xreadlink.c index 59cfde9..b496a52 100644 --- a/source/srclib/xreadlink.c +++ b/source/srclib/xreadlink.c @@ -1,10 +1,10 @@ /* xreadlink.c -- readlink wrapper to return the link name in malloc'd storage - Copyright (C) 2001, 2003-2007, 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2001, 2003-2007, 2009-2022 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify 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, diff --git a/source/srclib/xreadlink.h b/source/srclib/xreadlink.h index 583205b..f68502f 100644 --- a/source/srclib/xreadlink.h +++ b/source/srclib/xreadlink.h @@ -1,11 +1,11 @@ /* Reading symbolic links without size limitation. - Copyright (C) 2001, 2003-2004, 2007, 2009-2019 Free Software Foundation, + Copyright (C) 2001, 2003-2004, 2007, 2009-2022 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify 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,8 +18,12 @@ /* Written by Jim Meyering */ -extern char *xreadlink (char const *filename); +#include + +extern char *xreadlink (char const *filename) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE; #if GNULIB_XREADLINKAT -extern char *xreadlinkat (int fd, char const *filename); +extern char *xreadlinkat (int fd, char const *filename) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE; #endif diff --git a/source/srcm4/00gnulib.m4 b/source/srcm4/00gnulib.m4 index e3e0fb6..dea34e8 100644 --- a/source/srcm4/00gnulib.m4 +++ b/source/srcm4/00gnulib.m4 @@ -1,43 +1,82 @@ -# 00gnulib.m4 serial 3 -dnl Copyright (C) 2009-2019 Free Software Foundation, Inc. +# 00gnulib.m4 serial 8 +dnl Copyright (C) 2009-2022 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 and -dnl m4_divert semantics. +dnl gnulib-provided .m4 files. It is needed until the clang fix has +dnl been included in Autoconf. -# Until autoconf 2.63, handling of the diversion stack required m4_init -# to be called first; but this does not happen with aclocal. Wrapping -# the entire execution in another layer of the diversion stack fixes this. -# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4 -# for whether it was FIFO or LIFO; in order to properly balance with -# m4_init, we need to undo our push just before anything wrapped within -# the m4_init body. The way to ensure this is to wrap both sides of -# m4_init with a one-shot macro that does the pop at the right time. -m4_ifndef([_m4_divert_diversion], -[m4_divert_push([KILL]) -m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])]) -m4_define([m4_init], - [gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])]) - - -# 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/source/srcm4/__inline.m4 b/source/srcm4/__inline.m4 new file mode 100644 index 0000000..fbe2098 --- /dev/null +++ b/source/srcm4/__inline.m4 @@ -0,0 +1,22 @@ +# Test for __inline keyword +dnl Copyright 2017-2022 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/source/srcm4/absolute-header.m4 b/source/srcm4/absolute-header.m4 index a8f2cba..67d6507 100644 --- a/source/srcm4/absolute-header.m4 +++ b/source/srcm4/absolute-header.m4 @@ -1,5 +1,5 @@ -# absolute-header.m4 serial 16 -dnl Copyright (C) 2006-2019 Free Software Foundation, Inc. +# absolute-header.m4 serial 17 +dnl Copyright (C) 2006-2022 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. @@ -22,23 +22,21 @@ dnl From Derek Price. AC_DEFUN([gl_ABSOLUTE_HEADER], [AC_REQUIRE([AC_CANONICAL_HOST]) AC_LANG_PREPROC_REQUIRE()dnl -dnl FIXME: gl_absolute_header and ac_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_absolute_header], [gl_cv_absolute_]m4_defn([gl_HEADER_NAME]))dnl AC_CACHE_CHECK([absolute name of <]m4_defn([gl_HEADER_NAME])[>], - m4_defn([gl_absolute_header]), + [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 + 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)"], + ["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 diff --git a/source/srcm4/alloca.m4 b/source/srcm4/alloca.m4 index 58a61f8..a0900ca 100644 --- a/source/srcm4/alloca.m4 +++ b/source/srcm4/alloca.m4 @@ -1,5 +1,5 @@ -# alloca.m4 serial 4 (gettext-0.18.2) -dnl Copyright (C) 2002-2003, 2006, 2011 Free Software Foundation, Inc. +# alloca.m4 serial 5 +dnl Copyright (C) 2002-2003, 2006, 2011, 2021-2022 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. @@ -22,10 +22,8 @@ AC_DEFUN([gl_FUNC_ALLOCA], Need own alloca #endif ], - ALLOCA_H=alloca.h, - ALLOCA_H=) - AC_SUBST([ALLOCA_H]) - AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"]) + [GL_GENERATE_ALLOCA_H=true], + [GL_GENERATE_ALLOCA_H=false]) ]) # Prerequisites of lib/alloca.c. diff --git a/source/srcm4/asm-underscore.m4 b/source/srcm4/asm-underscore.m4 index 0f6bee4..950aa8d 100644 --- a/source/srcm4/asm-underscore.m4 +++ b/source/srcm4/asm-underscore.m4 @@ -1,5 +1,5 @@ -# asm-underscore.m4 serial 4 -dnl Copyright (C) 2010-2019 Free Software Foundation, Inc. +# asm-underscore.m4 serial 5 +dnl Copyright (C) 2010-2022 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. @@ -63,8 +63,19 @@ AC_DEFUN([gl_C_ASM], MicrosoftCompiler #endif ], - [gl_asmext='asm' - gl_c_asm_opt='-c -Fa' + [dnl Microsoft's 'cl' and 'clang-cl' produce an .asm file, whereas 'clang' + dnl produces a .s file. Need to distinguish 'clang' and 'clang-cl'. + rm -f conftest* + echo 'int dummy;' > conftest.c + AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c) >/dev/null 2>&1 + if test -f conftest.o; then + gl_asmext='s' + gl_c_asm_opt='-S' + else + gl_asmext='asm' + gl_c_asm_opt='-c -Fa' + fi + rm -f conftest* ], [gl_asmext='s' gl_c_asm_opt='-S' diff --git a/source/srcm4/builtin-expect.m4 b/source/srcm4/builtin-expect.m4 new file mode 100644 index 0000000..b1fb12a --- /dev/null +++ b/source/srcm4/builtin-expect.m4 @@ -0,0 +1,49 @@ +dnl Check for __builtin_expect. + +dnl Copyright 2016-2022 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___BUILTIN_EXPECT], +[ + AC_CACHE_CHECK([for __builtin_expect], + [gl_cv___builtin_expect], + [AC_LINK_IFELSE( + [AC_LANG_SOURCE([[ + int + main (int argc, char **argv) + { + argc = __builtin_expect (argc, 100); + return argv[argc != 100][0]; + }]])], + [gl_cv___builtin_expect=yes], + [AC_LINK_IFELSE( + [AC_LANG_SOURCE([[ + #include + int + main (int argc, char **argv) + { + argc = __builtin_expect (argc, 100); + return argv[argc != 100][0]; + }]])], + [gl_cv___builtin_expect="in "], + [gl_cv___builtin_expect=no])])]) + if test "$gl_cv___builtin_expect" = yes; then + AC_DEFINE([HAVE___BUILTIN_EXPECT], [1]) + elif test "$gl_cv___builtin_expect" = "in "; then + AC_DEFINE([HAVE___BUILTIN_EXPECT], [2]) + fi + AH_VERBATIM([HAVE___BUILTIN_EXPECT], + [/* Define to 1 if the compiler supports __builtin_expect, + and to 2 if does. */ +#undef HAVE___BUILTIN_EXPECT +#ifndef HAVE___BUILTIN_EXPECT +# define __builtin_expect(e, c) (e) +#elif HAVE___BUILTIN_EXPECT == 2 +# include +#endif + ]) +]) diff --git a/source/srcm4/canonicalize.m4 b/source/srcm4/canonicalize.m4 index b61747b..b55d5c0 100644 --- a/source/srcm4/canonicalize.m4 +++ b/source/srcm4/canonicalize.m4 @@ -1,6 +1,6 @@ -# canonicalize.m4 serial 30 +# canonicalize.m4 serial 37 -dnl Copyright (C) 2003-2007, 2009-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2003-2007, 2009-2022 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,7 +11,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_CANONICALIZE_FILENAME_MODE], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_FUNCS_ONCE([canonicalize_file_name]) + AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + AC_CHECK_FUNCS_ONCE([canonicalize_file_name faccessat]) AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) AC_REQUIRE([gl_FUNC_REALPATH_WORKS]) if test $ac_cv_func_canonicalize_file_name = no; then @@ -56,7 +57,17 @@ AC_DEFUN([gl_CANONICALIZE_LGPL], AC_DEFUN([gl_CANONICALIZE_LGPL_SEPARATE], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_FUNCS_ONCE([canonicalize_file_name getcwd readlink]) + AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + AC_CHECK_FUNCS_ONCE([canonicalize_file_name faccessat]) + + dnl On native Windows, we use _getcwd(), regardless whether getcwd() is + dnl available through the linker option '-loldnames'. + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + mingw*) ;; + *) AC_CHECK_FUNCS([getcwd]) ;; + esac + AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) AC_REQUIRE([gl_FUNC_REALPATH_WORKS]) AC_CHECK_HEADERS_ONCE([sys/param.h]) @@ -67,67 +78,106 @@ AC_DEFUN([gl_CANONICALIZE_LGPL_SEPARATE], # so is the latter. AC_DEFUN([gl_FUNC_REALPATH_WORKS], [ - AC_CHECK_FUNCS_ONCE([realpath]) + AC_CHECK_FUNCS_ONCE([realpath lstat]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether realpath works], [gl_cv_func_realpath_works], [ + rm -rf conftest.a conftest.d touch conftest.a + # Assume that if we have lstat, we can also check symlinks. + if test $ac_cv_func_lstat = yes; then + ln -s conftest.a conftest.l + fi mkdir conftest.d AC_RUN_IFELSE([ AC_LANG_PROGRAM([[ ]GL_NOCRASH[ + #include #include #include ]], [[ int result = 0; + /* This test fails on Solaris 10. */ { char *name = realpath ("conftest.a", NULL); if (!(name && *name == '/')) result |= 1; free (name); } + /* This test fails on older versions of Cygwin. */ { char *name = realpath ("conftest.b/../conftest.a", NULL); if (name != NULL) result |= 2; free (name); } + /* This test fails on Cygwin 2.9. */ + #if HAVE_LSTAT + { + char *name = realpath ("conftest.l/../conftest.a", NULL); + if (name != NULL || errno != ENOTDIR) + result |= 4; + free (name); + } + #endif + /* This test fails on Mac OS X 10.13, OpenBSD 6.0. */ { char *name = realpath ("conftest.a/", NULL); if (name != NULL) - result |= 4; + result |= 8; free (name); } + /* This test fails on AIX 7, Solaris 10. */ { char *name1 = realpath (".", NULL); char *name2 = realpath ("conftest.d//./..", NULL); if (! name1 || ! name2 || strcmp (name1, name2)) - result |= 8; + result |= 16; free (name1); free (name2); } + #ifdef __linux__ + /* On Linux, // is the same as /. See also double-slash-root.m4. + realpath() should respect this. + This test fails on musl libc 1.2.2. */ + { + char *name = realpath ("//", NULL); + if (! name || strcmp (name, "/")) + result |= 32; + free (name); + } + #endif return result; ]]) ], [gl_cv_func_realpath_works=yes], - [gl_cv_func_realpath_works=no], + [case $? in + 32) gl_cv_func_realpath_works=nearly ;; + *) gl_cv_func_realpath_works=no ;; + esac + ], [case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;; - # Guess yes on musl systems. - *-musl*) gl_cv_func_realpath_works="guessing yes" ;; + # Guess 'nearly' on musl systems. + *-musl*) gl_cv_func_realpath_works="guessing nearly" ;; + # Guess no on Cygwin. + cygwin*) gl_cv_func_realpath_works="guessing no" ;; # Guess no on native Windows. mingw*) gl_cv_func_realpath_works="guessing no" ;; - # If we don't know, assume the worst. - *) gl_cv_func_realpath_works="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_realpath_works="$gl_cross_guess_normal" ;; esac ]) - rm -rf conftest.a conftest.d + rm -rf conftest.a conftest.l conftest.d ]) case "$gl_cv_func_realpath_works" in *yes) - AC_DEFINE([FUNC_REALPATH_WORKS], [1], [Define to 1 if realpath() - can malloc memory, always gives an absolute path, and handles - trailing slash correctly.]) + AC_DEFINE([FUNC_REALPATH_WORKS], [1], + [Define to 1 if realpath() can malloc memory, always gives an absolute path, and handles leading slashes and a trailing slash correctly.]) + ;; + *nearly) + AC_DEFINE([FUNC_REALPATH_NEARLY_WORKS], [1], + [Define to 1 if realpath() can malloc memory, always gives an absolute path, and handles a trailing slash correctly.]) ;; esac ]) diff --git a/source/srcm4/close.m4 b/source/srcm4/close.m4 new file mode 100644 index 0000000..f95dbc9 --- /dev/null +++ b/source/srcm4/close.m4 @@ -0,0 +1,35 @@ +# close.m4 serial 9 +dnl Copyright (C) 2008-2022 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_REQUIRE([gl_UNISTD_H_DEFAULTS]) + 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 + dnl Even if the 'socket' module is not used here, another part of the + dnl application may use it and pass file descriptors that refer to + dnl sockets to the close() function. So enable the support for sockets. + REPLACE_CLOSE=1 + fi + ]) + dnl Replace close() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + if test $REPLACE_CLOSE = 0; then + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + REPLACE_CLOSE=1 + fi + fi + ]) +]) diff --git a/source/srcm4/codeset.m4 b/source/srcm4/codeset.m4 index 280f556..eb73260 100644 --- a/source/srcm4/codeset.m4 +++ b/source/srcm4/codeset.m4 @@ -1,5 +1,5 @@ # codeset.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019 Free Software +dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2022 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, diff --git a/source/srcm4/dirname.m4 b/source/srcm4/dirname.m4 deleted file mode 100644 index 32141ae..0000000 --- a/source/srcm4/dirname.m4 +++ /dev/null @@ -1,19 +0,0 @@ -#serial 10 -*- autoconf -*- -dnl Copyright (C) 2002-2006, 2009-2019 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_DIRNAME], -[ - AC_REQUIRE([gl_DIRNAME_LGPL]) -]) - -AC_DEFUN([gl_DIRNAME_LGPL], -[ - dnl Prerequisites of lib/dirname.h. - AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) - - dnl No prerequisites of lib/basename-lgpl.c, lib/dirname-lgpl.c, - dnl lib/stripslash.c. -]) diff --git a/source/srcm4/double-slash-root.m4 b/source/srcm4/double-slash-root.m4 index 0c5afb1..09ff5f0 100644 --- a/source/srcm4/double-slash-root.m4 +++ b/source/srcm4/double-slash-root.m4 @@ -1,5 +1,5 @@ # double-slash-root.m4 serial 4 -*- Autoconf -*- -dnl Copyright (C) 2006, 2008-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2008-2022 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/source/srcm4/dup2.m4 b/source/srcm4/dup2.m4 new file mode 100644 index 0000000..7e777cd --- /dev/null +++ b/source/srcm4/dup2.m4 @@ -0,0 +1,105 @@ +#serial 27 +dnl Copyright (C) 2002, 2005, 2007, 2009-2022 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_DUP2], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) + 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*) # 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 + REPLACE_DUP2=1 + fi + ]) +]) + +# Prerequisites of lib/dup2.c. +AC_DEFUN([gl_PREREQ_DUP2], []) diff --git a/source/srcm4/eealloc.m4 b/source/srcm4/eealloc.m4 index 2a4b120..a6aa2f8 100644 --- a/source/srcm4/eealloc.m4 +++ b/source/srcm4/eealloc.m4 @@ -1,5 +1,5 @@ # eealloc.m4 serial 3 -dnl Copyright (C) 2003, 2009-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2009-2022 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/source/srcm4/environ.m4 b/source/srcm4/environ.m4 index c1a6fa3..583dac3 100644 --- a/source/srcm4/environ.m4 +++ b/source/srcm4/environ.m4 @@ -1,5 +1,5 @@ -# environ.m4 serial 7 -dnl Copyright (C) 2001-2004, 2006-2019 Free Software Foundation, Inc. +# environ.m4 serial 8 +dnl Copyright (C) 2001-2004, 2006-2022 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. @@ -33,7 +33,8 @@ AC_DEFUN([gt_CHECK_VAR_DECL], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[$1 - extern struct { int foo; } $2;]], + typedef struct { int foo; } foo_t; + extern foo_t $2;]], [[$2.foo = 1;]])], [gt_cv_var=no], [gt_cv_var=yes])]) diff --git a/source/srcm4/errno_h.m4 b/source/srcm4/errno_h.m4 index 2388854..4be9780 100644 --- a/source/srcm4/errno_h.m4 +++ b/source/srcm4/errno_h.m4 @@ -1,5 +1,5 @@ -# errno_h.m4 serial 13 -dnl Copyright (C) 2004, 2006, 2008-2019 Free Software Foundation, Inc. +# errno_h.m4 serial 14 +dnl Copyright (C) 2004, 2006, 2008-2022 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. @@ -68,13 +68,11 @@ booboo [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]) @@ -88,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 diff --git a/source/srcm4/error.m4 b/source/srcm4/error.m4 index 393adb5..7a10344 100644 --- a/source/srcm4/error.m4 +++ b/source/srcm4/error.m4 @@ -1,6 +1,6 @@ -#serial 14 +#serial 15 -# Copyright (C) 1996-1998, 2001-2004, 2009-2019 Free Software Foundation, Inc. +# Copyright (C) 1996-1998, 2001-2004, 2009-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -22,6 +22,10 @@ AC_DEFUN([gl_ERROR], # 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]) : ]) diff --git a/source/srcm4/extensions.m4 b/source/srcm4/extensions.m4 index fd1ce81..0b3e4b5 100644 --- a/source/srcm4/extensions.m4 +++ b/source/srcm4/extensions.m4 @@ -1,14 +1,19 @@ -# serial 18 -*- Autoconf -*- +# serial 22 -*- Autoconf -*- # Enable extensions on systems that normally disable them. -# Copyright (C) 2003, 2006-2019 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006-2022 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 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.70 or later everywhere, but since 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,36 +31,27 @@ # its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS # invocation occurs in gl_EARLY, not in gl_INIT. +m4_version_prereq([2.70.1], [], [ + # 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_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.]) - AC_DEFINE([_NETBSD_SOURCE], [1], - [Define to 1 to make NetBSD features available. MINIX 3 needs this.]) - fi - +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. - AH_VERBATIM([USE_SYSTEM_EXTENSIONS], +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 @@ -64,19 +60,44 @@ dnl configure.ac when using autoheader 2.62. #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 NetBSD extensions on NetBSD. */ +/* 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 extensions on NetBSD. */ +/* Enable OpenBSD compatibility extensions on NetBSD. + Oddly enough, this does nothing on OpenBSD. */ #ifndef _OPENBSD_SOURCE # undef _OPENBSD_SOURCE #endif -/* Enable threading extensions on Solaris. */ +/* 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 @@ -112,22 +133,19 @@ dnl configure.ac when using autoheader 2.62. #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif -/* Enable X/Open extensions if necessary. HP-UX 11.11 defines - mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of - whether compiling with -Ae or -D_HPUX_SOURCE=1. */ +/* Enable X/Open extensions. Define to 500 only if necessary + to make mbstate_t available. */ #ifndef _XOPEN_SOURCE # undef _XOPEN_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 -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#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( @@ -136,11 +154,33 @@ dnl configure.ac when using autoheader 2.62. ]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]) @@ -152,24 +192,18 @@ dnl configure.ac when using autoheader 2.62. AC_DEFINE([__STDC_WANT_LIB_EXT2__]) AC_DEFINE([__STDC_WANT_MATH_SPEC_FUNCS__]) AC_DEFINE([_TANDEM_SOURCE]) - AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined], - [ac_cv_should_define__xopen_source], - [ac_cv_should_define__xopen_source=no - 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])])]) - test $ac_cv_should_define__xopen_source = yes && - AC_DEFINE([_XOPEN_SOURCE], [500]) - AC_DEFINE([_HPUX_ALT_XOPEN_SOCKET_API]) + 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 # ------------------------ @@ -177,13 +211,17 @@ dnl configure.ac when using autoheader 2.62. # 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/source/srcm4/extern-inline.m4 b/source/srcm4/extern-inline.m4 index ec9f221..8a12bdd 100644 --- a/source/srcm4/extern-inline.m4 +++ b/source/srcm4/extern-inline.m4 @@ -1,13 +1,28 @@ dnl 'extern inline' a la ISO C99. -dnl Copyright 2012-2019 Free Software Foundation, Inc. +dnl Copyright 2012-2022 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], [ - AH_VERBATIM([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 @@ -17,7 +32,8 @@ AC_DEFUN([gl_EXTERN_INLINE], 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 Sun C 5.12 SunOS_i386 2011/11/16. + 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 @@ -32,7 +48,7 @@ AC_DEFUN([gl_EXTERN_INLINE], https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html DragonFly; see - http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log + 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 @@ -53,7 +69,7 @@ AC_DEFUN([gl_EXTERN_INLINE], */ #if (((defined __APPLE__ && defined __MACH__) \ || defined __DragonFly__ || defined __FreeBSD__) \ - && (defined __header_inline \ + && (defined HAVE___HEADER_INLINE \ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ && ! defined __clang__) \ : ((! defined _DONT_USE_CTYPE_INLINE_ \ @@ -83,8 +99,8 @@ AC_DEFUN([gl_EXTERN_INLINE], # define _GL_EXTERN_INLINE extern # define _GL_EXTERN_INLINE_IN_USE #else -# define _GL_INLINE static _GL_UNUSED -# define _GL_EXTERN_INLINE static _GL_UNUSED +# define _GL_INLINE _GL_UNUSED static +# define _GL_EXTERN_INLINE _GL_UNUSED static #endif /* In GCC 4.6 (inclusive) to 5.1 (exclusive), diff --git a/source/srcm4/fcntl-o.m4 b/source/srcm4/fcntl-o.m4 index 6ab3387..4dcde9e 100644 --- a/source/srcm4/fcntl-o.m4 +++ b/source/srcm4/fcntl-o.m4 @@ -1,5 +1,5 @@ -# fcntl-o.m4 serial 6 -dnl Copyright (C) 2006, 2009-2019 Free Software Foundation, Inc. +# fcntl-o.m4 serial 7 +dnl Copyright (C) 2006, 2009-2022 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. @@ -32,6 +32,7 @@ AC_DEFUN([gl_FCNTL_O_FLAGS], # defined sleep(n) _sleep ((n) * 1000) #endif #include + ]GL_MDA_DEFINES[ #ifndef O_NOATIME #define O_NOATIME 0 #endif diff --git a/source/srcm4/fcntl.m4 b/source/srcm4/fcntl.m4 new file mode 100644 index 0000000..428e570 --- /dev/null +++ b/source/srcm4/fcntl.m4 @@ -0,0 +1,151 @@ +# fcntl.m4 serial 11 +dnl Copyright (C) 2009-2022 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/source/srcm4/fcntl_h.m4 b/source/srcm4/fcntl_h.m4 index a86fdae..267f98b 100644 --- a/source/srcm4/fcntl_h.m4 +++ b/source/srcm4/fcntl_h.m4 @@ -1,13 +1,13 @@ -# serial 15 +# serial 20 # Configure fcntl.h. -dnl Copyright (C) 2006-2007, 2009-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2007, 2009-2022 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/source/srcm4/free.m4 b/source/srcm4/free.m4 new file mode 100644 index 0000000..dfeecd2 --- /dev/null +++ b/source/srcm4/free.m4 @@ -0,0 +1,52 @@ +# free.m4 serial 6 +# Copyright (C) 2003-2005, 2009-2022 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/source/srcm4/fstat.m4 b/source/srcm4/fstat.m4 new file mode 100644 index 0000000..9e61bcc --- /dev/null +++ b/source/srcm4/fstat.m4 @@ -0,0 +1,40 @@ +# fstat.m4 serial 8 +dnl Copyright (C) 2011-2022 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]) + + case "$host_os" in + mingw* | solaris*) + dnl On MinGW, the original stat() returns st_atime, st_mtime, + dnl st_ctime values that are affected by the time zone. + dnl Solaris stat can return a negative tv_nsec. + REPLACE_FSTAT=1 + ;; + esac + + dnl Replace fstat() for supporting the gnulib-defined open() on directories. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + case "$gl_cv_func_open_directory_works" in + *yes) ;; + *) + REPLACE_FSTAT=1 + ;; + esac + fi + ]) +]) + +# 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/source/srcm4/getdtablesize.m4 b/source/srcm4/getdtablesize.m4 new file mode 100644 index 0000000..6134eaa --- /dev/null +++ b/source/srcm4/getdtablesize.m4 @@ -0,0 +1,63 @@ +# getdtablesize.m4 serial 8 +dnl Copyright (C) 2008-2022 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/source/srcm4/getprogname.m4 b/source/srcm4/getprogname.m4 index 4a96d06..b26146e 100644 --- a/source/srcm4/getprogname.m4 +++ b/source/srcm4/getprogname.m4 @@ -1,6 +1,6 @@ # getprogname.m4 - check for getprogname or replacements for it -# Copyright (C) 2016-2019 Free Software Foundation, Inc. +# Copyright (C) 2016-2022 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. diff --git a/source/srcm4/gettext.m4 b/source/srcm4/gettext.m4 index 77bbb4a..989d645 100644 --- a/source/srcm4/gettext.m4 +++ b/source/srcm4/gettext.m4 @@ -1,15 +1,15 @@ -# gettext.m4 serial 69 (gettext-0.20) -dnl Copyright (C) 1995-2014, 2016, 2018-2019 Free Software Foundation, Inc. +# gettext.m4 serial 71 (gettext-0.20.2) +dnl Copyright (C) 1995-2014, 2016, 2018-2022 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 be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser 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 by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. @@ -20,15 +20,13 @@ dnl Bruno Haible , 2000-2006, 2008-2010. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). -dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The -dnl default (if it is not specified or empty) is 'no-libtool'. -dnl INTLSYMBOL should be 'external' for packages with no intl directory, -dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl INTLSYMBOL must be one of 'external', 'use-libtool'. +dnl INTLSYMBOL should be 'external' for packages other than GNU gettext, and +dnl 'use-libtool' for the packages 'gettext-runtime' and 'gettext-tools'. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of -dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library -dnl $(top_builddir)/intl/libintl.a will be created. +dnl AM-DISABLE-SHARED). dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is @@ -57,19 +55,17 @@ dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. - ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT -])])])])]) +])])])]) ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], - [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) + [errprint([ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported. +])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], - ifelse([$1], [external], - ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), - [yes])) - define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) + ifelse([$1], [external], [no], [yes])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) @@ -277,8 +273,8 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes - LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" - LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LIBICONV $LIBTHREAD" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi @@ -346,43 +342,14 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION fi ifelse(gt_included_intl, yes, [ - dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL - dnl to 'yes' because some of the testsuite requires it. - if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then - BUILD_INCLUDED_LIBINTL=yes - fi + dnl In GNU gettext we have to set BUILD_INCLUDED_LIBINTL to 'yes' + dnl because some of the testsuite requires it. + BUILD_INCLUDED_LIBINTL=yes dnl Make all variables we use known to autoconf. AC_SUBST([BUILD_INCLUDED_LIBINTL]) AC_SUBST([USE_INCLUDED_LIBINTL]) AC_SUBST([CATOBJEXT]) - - dnl For backward compatibility. Some configure.ins may be using this. - nls_cv_header_intl= - nls_cv_header_libgt= - - dnl For backward compatibility. Some Makefiles may be using this. - DATADIRNAME=share - AC_SUBST([DATADIRNAME]) - - dnl For backward compatibility. Some Makefiles may be using this. - INSTOBJEXT=.mo - AC_SUBST([INSTOBJEXT]) - - dnl For backward compatibility. Some Makefiles may be using this. - GENCAT=gencat - AC_SUBST([GENCAT]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLOBJS= - if test "$USE_INCLUDED_LIBINTL" = yes; then - INTLOBJS="\$(GETTOBJS)" - fi - AC_SUBST([INTLOBJS]) - - dnl Enable libtool support if the surrounding package wishes it. - INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix - AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) ]) dnl For backward compatibility. Some Makefiles may be using this. diff --git a/source/srcm4/glibc2.m4 b/source/srcm4/glibc2.m4 deleted file mode 100644 index 17a7004..0000000 --- a/source/srcm4/glibc2.m4 +++ /dev/null @@ -1,31 +0,0 @@ -# glibc2.m4 serial 3 -dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2019 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. - -# Test for the GNU C Library, version 2.0 or newer. -# From Bruno Haible. - -AC_DEFUN([gt_GLIBC2], - [ - AC_CACHE_CHECK([whether we are using the GNU C Library 2 or newer], - [ac_cv_gnu_library_2], - [AC_EGREP_CPP([Lucky GNU user], - [ -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ >= 2) && !defined __UCLIBC__ - Lucky GNU user - #endif -#endif - ], - [ac_cv_gnu_library_2=yes], - [ac_cv_gnu_library_2=no]) - ] - ) - AC_SUBST([GLIBC2]) - GLIBC2="$ac_cv_gnu_library_2" - ] -) diff --git a/source/srcm4/glibc21.m4 b/source/srcm4/glibc21.m4 deleted file mode 100644 index 0ab0f23..0000000 --- a/source/srcm4/glibc21.m4 +++ /dev/null @@ -1,34 +0,0 @@ -# glibc21.m4 serial 5 -dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2019 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. - -# Test for the GNU C Library, version 2.1 or newer, or uClibc. -# From Bruno Haible. - -AC_DEFUN([gl_GLIBC21], - [ - AC_CACHE_CHECK([whether we are using the GNU C Library >= 2.1 or uClibc], - [ac_cv_gnu_library_2_1], - [AC_EGREP_CPP([Lucky], - [ -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif -#ifdef __UCLIBC__ - Lucky user -#endif - ], - [ac_cv_gnu_library_2_1=yes], - [ac_cv_gnu_library_2_1=no]) - ] - ) - AC_SUBST([GLIBC21]) - GLIBC21="$ac_cv_gnu_library_2_1" - ] -) diff --git a/source/srcm4/gnulib-cache.m4 b/source/srcm4/gnulib-cache.m4 index 6b17da7..e71478c 100644 --- a/source/srcm4/gnulib-cache.m4 +++ b/source/srcm4/gnulib-cache.m4 @@ -1,8 +1,8 @@ -# Copyright (C) 2002-2019 Free Software Foundation, Inc. +# Copyright (C) 2002-2022 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, @@ -43,12 +43,14 @@ # error \ # gettext \ # gettext-h \ +# lib-symbol-visibility \ # libiconv-misc \ # mbstate \ # progname \ # relocatable-prog \ # safe-read \ # sigpipe \ +# stdbool \ # stdio \ # stdlib \ # strerror \ @@ -64,12 +66,14 @@ gl_MODULES([ error gettext gettext-h + lib-symbol-visibility libiconv-misc mbstate progname relocatable-prog safe-read sigpipe + stdbool stdio stdlib strerror diff --git a/source/srcm4/gnulib-common.m4 b/source/srcm4/gnulib-common.m4 index 57b94ed..30911d1 100644 --- a/source/srcm4/gnulib-common.m4 +++ b/source/srcm4/gnulib-common.m4 @@ -1,5 +1,5 @@ -# gnulib-common.m4 serial 44 -dnl Copyright (C) 2007-2019 Free Software Foundation, Inc. +# gnulib-common.m4 serial 73 +dnl Copyright (C) 2007-2022 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. @@ -12,20 +12,41 @@ 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([_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. */ #ifndef _Noreturn # if (defined __cplusplus \ && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ - || (defined _MSC_VER && 1900 <= _MSC_VER))) + || (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 __cplusplus || defined __clang__) \ - && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) + && (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 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C +# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C # define _Noreturn __attribute__ ((__noreturn__)) # elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) # define _Noreturn __declspec (noreturn) @@ -44,48 +65,376 @@ AC_DEFUN([gl_COMMON_BODY], [ #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__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))) +# 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 + +#ifdef __has_c_attribute +# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \ + && _GL_GNUC_PREREQ (4, 6)) +# pragma GCC diagnostic ignored "-Wpedantic" +# endif +# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) #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 - -/* gcc supports the "unused" attribute on possibly unused labels, and - g++ has since version 4.5. Note to support C++ as well as C, - _GL_UNUSED_LABEL should be used with a trailing ; */ -#if !defined __cplusplus || __GNUC__ > 4 \ - || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) -# define _GL_UNUSED_LABEL _GL_UNUSED +# define _GL_HAS_C_ATTRIBUTE(attr) 0 +#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. */ +#if _GL_HAS_ATTRIBUTE (alloc_size) +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) #else -# define _GL_UNUSED_LABEL +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) #endif -/* The __pure__ attribute was added in gcc 2.96. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +/* _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. */ +#if _GL_HAS_ATTRIBUTE (always_inline) +# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) +#else +# define _GL_ATTRIBUTE_ALWAYS_INLINE +#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. */ +#if _GL_HAS_ATTRIBUTE (artificial) +# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) +#else +# define _GL_ATTRIBUTE_ARTIFICIAL +#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__'. */ +#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_PURE /* empty */ +# define _GL_ATTRIBUTE_COLD #endif -/* The __const__ attribute was added in gcc 2.95. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +/* _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. */ +#if _GL_HAS_ATTRIBUTE (const) # define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) #else -# define _GL_ATTRIBUTE_CONST /* empty */ +# define _GL_ATTRIBUTE_CONST +#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. */ +#if _GL_GNUC_PREREQ (11, 0) +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +#else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +#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 +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +#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. */ +#if _GL_HAS_C_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] +#elif _GL_HAS_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GL_ATTRIBUTE_DEPRECATED +#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 _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 -/* The __malloc__ attribute was added in gcc 3. */ -#if 3 <= __GNUC__ +/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain + visible to debuggers etc., even with '-fwhole-program'. */ +/* Applies to: functions, variables. */ +#if _GL_HAS_ATTRIBUTE (externally_visible) +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) +#else +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +#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. */ +#if _GL_HAS_C_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] +#elif _GL_HAS_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) +#else +# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +#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. */ +#if _GL_HAS_ATTRIBUTE (format) +# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#else +# define _GL_ATTRIBUTE_FORMAT(spec) +#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. */ +#if _GL_HAS_ATTRIBUTE (leaf) +# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) +#else +# define _GL_ATTRIBUTE_LEAF +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (malloc) # define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) #else -# define _GL_ATTRIBUTE_MALLOC /* empty */ +# define _GL_ATTRIBUTE_MALLOC +#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. */ +#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C +# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) +#else +# define _GL_ATTRIBUTE_MAY_ALIAS +#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 C2x, this is spelled [[__maybe_unused__]]. + GCC's syntax is __attribute__ ((__unused__)). + clang supports both syntaxes. */ +#if _GL_HAS_C_ATTRIBUTE (maybe_unused) +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +#else +# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED +#endif +/* Alternative spelling of this macro, for convenience. */ +#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. */ +#if _GL_HAS_C_ATTRIBUTE (nodiscard) +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +#elif _GL_HAS_ATTRIBUTE (warn_unused_result) +# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) +#else +# define _GL_ATTRIBUTE_NODISCARD +#endif + +/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the + function. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (noinline) +# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) +#else +# define _GL_ATTRIBUTE_NOINLINE +#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. */ +#if _GL_HAS_ATTRIBUTE (nonnull) +# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) +#else +# define _GL_ATTRIBUTE_NONNULL(args) +#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'. */ +#if _GL_HAS_ATTRIBUTE (nonstring) +# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) +#else +# define _GL_ATTRIBUTE_NONSTRING +#endif + +/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +#else +# define _GL_ATTRIBUTE_NOTHROW +#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. */ +#if _GL_HAS_ATTRIBUTE (packed) +# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) +#else +# define _GL_ATTRIBUTE_PACKED +#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. */ +#if _GL_HAS_ATTRIBUTE (pure) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE +#endif + +/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is + a non-NULL pointer. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (returns_nonnull) +# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) +#else +# define _GL_ATTRIBUTE_RETURNS_NONNULL +#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. */ +#if _GL_HAS_ATTRIBUTE (sentinel) +# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) +#else +# define _GL_ATTRIBUTE_SENTINEL(pos) +#endif + +/* A helper macro. Don't use it directly. */ +#if _GL_HAS_ATTRIBUTE (unused) +# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_ATTRIBUTE_UNUSED +#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. */ +#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ +# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +#else +# define _GL_UNUSED_LABEL #endif ]) AH_VERBATIM([async_safe], @@ -94,7 +443,7 @@ AC_DEFUN([gl_COMMON_BODY], [ 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 @@ -115,6 +464,49 @@ AC_DEFUN([gl_COMMON_BODY], [ 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 @@ -123,6 +515,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 @@ -135,9 +537,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]) ]) @@ -249,34 +651,20 @@ AC_DEFUN([gl_FEATURES_H], AC_SUBST([HAVE_FEATURES_H]) ]) -# 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 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 @@ -350,16 +738,16 @@ Amsterdam ]) # AC_C_RESTRICT -# This definition is copied from post-2.69 Autoconf and overrides the -# AC_C_RESTRICT macro from autoconf 2.60..2.69. It can be removed -# once autoconf >= 2.70 can be assumed. It's painful to check version -# numbers, and in practice this macro is more up-to-date than Autoconf -# is, so override Autoconf unconditionally. +# 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 + # 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; @@ -379,14 +767,15 @@ 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 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]) @@ -396,6 +785,7 @@ AC_DEFUN([AC_C_RESTRICT], *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; esac ])# AC_C_RESTRICT +]) # gl_BIGENDIAN # is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. @@ -406,6 +796,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. @@ -413,12 +819,257 @@ 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]) ]) -# AS_VAR_COPY was added in autoconf 2.63b -m4_define_default([AS_VAR_COPY], -[AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])]) +# 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-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 __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 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/source/srcm4/gnulib-comp.m4 b/source/srcm4/gnulib-comp.m4 index 2d6490c..b511e8a 100644 --- a/source/srcm4/gnulib-comp.m4 +++ b/source/srcm4/gnulib-comp.m4 @@ -1,9 +1,9 @@ # DO NOT EDIT! GENERATED AUTOMATICALLY! -# Copyright (C) 2002-2019 Free Software Foundation, Inc. +# Copyright (C) 2002-2022 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, @@ -42,50 +42,71 @@ AC_DEFUN([gl_EARLY], AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_PROG_AR_RANLIB]) - AC_REQUIRE([AM_PROG_CC_C_O]) # Code from module absolute-header: # Code from module alloca-opt: # Code from module allocator: # Code from module areadlink: + # Code from module basename-lgpl: # Code from module binary-io: + # Code from module builtin-expect: + # Code from module c99: # Code from module canonicalize-lgpl: # Code from module careadlinkat: - # Code from module dirname-lgpl: - # Code from module dosname: + # Code from module cloexec: + # Code from module close: # Code from module double-slash-root: + # Code from module dup2: + # Code from module eloop-threshold: # Code from module environ: # Code from module errno: # Code from module error: # 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 free-posix: + # Code from module fstat: + # Code from module gen-header: + # Code from module getdtablesize: # Code from module getprogname: # Code from module gettext: # Code from module gettext-h: # Code from module havelib: + # Code from module idx: # Code from module include_next: # Code from module intprops: + # Code from module inttypes-incomplete: # Code from module largefile: AC_REQUIRE([AC_SYS_LARGEFILE]) + AC_REQUIRE([gl_YEAR2038_EARLY]) + # Code from module lib-symbol-visibility: + # Code from module libc-config: # Code from module libiconv-misc: # Code from module limits-h: - # Code from module lstat: # Code from module malloc-posix: # Code from module malloca: # Code from module mbstate: + # Code from module mempcpy: + # Code from module minmax: # 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 progname: # Code from module raise: + # Code from module rawmemchr: # Code from module read: # Code from module readlink: + # Code from module realloc-posix: # Code from module relocatable-prog: # Code from module relocatable-prog-wrapper: + AC_REQUIRE([AC_SYS_LARGEFILE]) # Code from module safe-read: + # Code from module scratch_buffer: # Code from module signal-h: # Code from module sigpipe: # Code from module sigprocmask: @@ -96,6 +117,8 @@ AC_DEFUN([gl_EARLY], # Code from module ssize_t: # Code from module stat: # Code from module stat-time: + # Code from module std-gnu11: + # Code from module stdalign: # Code from module stdbool: # Code from module stddef: # Code from module stdint: @@ -113,7 +136,10 @@ AC_DEFUN([gl_EARLY], # Code from module uniwidth/base: # Code from module uniwidth/width: # Code from module unlocked-io: + # Code from module unlocked-io-internal: + # Code from module vararrays: # Code from module verify: + # Code from module wchar: # Code from module xalloc: # Code from module xalloc-oversized: # Code from module xreadlink: @@ -133,156 +159,317 @@ 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='srclib' + gl_source_base_prefix= gl_FUNC_ALLOCA + gl_CONDITIONAL_HEADER([alloca.h]) + AC_PROG_MKDIR_P + gl___BUILTIN_EXPECT gl_CANONICALIZE_LGPL - if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then - AC_LIBOBJ([canonicalize-lgpl]) - fi + gl_CONDITIONAL([GL_COND_OBJ_CANONICALIZE_LGPL], + [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1]) gl_MODULE_INDICATOR([canonicalize-lgpl]) gl_STDLIB_MODULE_INDICATOR([canonicalize_file_name]) gl_STDLIB_MODULE_INDICATOR([realpath]) + AC_REQUIRE([AC_C_RESTRICT]) AC_CHECK_FUNCS_ONCE([readlinkat]) - gl_DIRNAME_LGPL + gl_MODULE_INDICATOR_FOR_TESTS([cloexec]) + gl_FUNC_CLOSE + gl_CONDITIONAL([GL_COND_OBJ_CLOSE], [test $REPLACE_CLOSE = 1]) + gl_UNISTD_MODULE_INDICATOR([close]) 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_ENVIRON gl_UNISTD_MODULE_INDICATOR([environ]) gl_HEADER_ERRNO_H + gl_CONDITIONAL_HEADER([errno.h]) + AC_PROG_MKDIR_P gl_ERROR - if test $ac_cv_lib_error_at_line = no; then - AC_LIBOBJ([error]) + gl_CONDITIONAL([GL_COND_OBJ_ERROR], [test "$ac_cv_lib_error_at_line" = no]) + AM_COND_IF([GL_COND_OBJ_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])]) 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_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]) + 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*) + AC_LIBOBJ([stat-w32]) + ;; + esac + gl_PREREQ_FSTAT + ]) + gl_SYS_STAT_MODULE_INDICATOR([fstat]) + 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_GETPROGNAME dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. - AM_GNU_GETTEXT_VERSION([0.18.1]) + AM_GNU_GETTEXT_VERSION([0.20]) AC_SUBST([LIBINTL]) AC_SUBST([LTLIBINTL]) + AC_DEFUN([gl_HAVE_MODULE_HAVELIB]) + gl_INTTYPES_INCOMPLETE + gl_INTTYPES_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P AC_REQUIRE([gl_LARGEFILE]) + gl_VISIBILITY + gl___INLINE gl_LIMITS_H - 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 + gl_CONDITIONAL_HEADER([limits.h]) + AC_PROG_MKDIR_P + AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then AC_LIBOBJ([malloc]) fi gl_STDLIB_MODULE_INDICATOR([malloc-posix]) gl_MALLOCA AC_TYPE_MBSTATE_T + gl_FUNC_MEMPCPY + gl_CONDITIONAL([GL_COND_OBJ_MEMPCPY], [test $HAVE_MEMPCPY = 0]) + AM_COND_IF([GL_COND_OBJ_MEMPCPY], [ + gl_PREREQ_MEMPCPY + ]) + gl_STRING_MODULE_INDICATOR([mempcpy]) + gl_MINMAX AC_REQUIRE([gl_MSVC_INVAL]) - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - AC_LIBOBJ([msvc-inval]) - fi + gl_CONDITIONAL([GL_COND_OBJ_MSVC_INVAL], + [test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1]) AC_REQUIRE([gl_MSVC_NOTHROW]) - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - AC_LIBOBJ([msvc-nothrow]) - fi + 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_CHECK_DECLS([program_invocation_name], [], [], [#include ]) AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include ]) gl_FUNC_RAISE - if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then - AC_LIBOBJ([raise]) + gl_CONDITIONAL([GL_COND_OBJ_RAISE], + [test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1]) + AM_COND_IF([GL_COND_OBJ_RAISE], [ gl_PREREQ_RAISE - fi + ]) gl_SIGNAL_MODULE_INDICATOR([raise]) + gl_FUNC_RAWMEMCHR + gl_CONDITIONAL([GL_COND_OBJ_RAWMEMCHR], [test $HAVE_RAWMEMCHR = 0]) + AM_COND_IF([GL_COND_OBJ_RAWMEMCHR], [ + gl_PREREQ_RAWMEMCHR + ]) + gl_STRING_MODULE_INDICATOR([rawmemchr]) gl_FUNC_READ - if test $REPLACE_READ = 1; then - AC_LIBOBJ([read]) + gl_CONDITIONAL([GL_COND_OBJ_READ], [test $REPLACE_READ = 1]) + AM_COND_IF([GL_COND_OBJ_READ], [ gl_PREREQ_READ - fi + ]) gl_UNISTD_MODULE_INDICATOR([read]) gl_FUNC_READLINK - if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then - AC_LIBOBJ([readlink]) + gl_CONDITIONAL([GL_COND_OBJ_READLINK], + [test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1]) + AM_COND_IF([GL_COND_OBJ_READLINK], [ gl_PREREQ_READLINK - fi + ]) gl_UNISTD_MODULE_INDICATOR([readlink]) + gl_FUNC_REALLOC_POSIX + if test $REPLACE_REALLOC_FOR_REALLOC_POSIX = 1; then + AC_LIBOBJ([realloc]) + fi + gl_STDLIB_MODULE_INDICATOR([realloc-posix]) gl_RELOCATABLE([$gl_source_base]) - if test $RELOCATABLE = yes; then - AC_LIBOBJ([progreloc]) + gl_CONDITIONAL([GL_COND_OBJ_PROGRELOC], [test $RELOCATABLE = yes]) + AM_COND_IF([GL_COND_OBJ_PROGRELOC], [ AC_LIBOBJ([relocatable]) - fi + ]) + AC_REQUIRE([AC_C_RESTRICT]) gl_FUNC_READLINK_SEPARATE gl_CANONICALIZE_LGPL_SEPARATE + gl_FUNC_MALLOC_POSIX + gl_FUNC_REALLOC_POSIX + gl_FUNC_FREE + gl_FUNC_MEMPCPY + gl_FUNC_RAWMEMCHR gl_MALLOCA gl_RELOCATABLE_LIBRARY gl_FUNC_SETENV_SEPARATE gl_PREREQ_SAFE_READ + AC_PROG_MKDIR_P gl_SIGNAL_H + gl_SIGNAL_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P gl_SIGNAL_SIGPIPE dnl Define the C macro GNULIB_SIGPIPE to 1. gl_MODULE_INDICATOR([sigpipe]) dnl Define the substituted variable GNULIB_SIGNAL_H_SIGPIPE to 1. - AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) - GNULIB_SIGNAL_H_SIGPIPE=1 + gl_SIGNAL_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGNAL_H_SIGPIPE], [1]) dnl Define the substituted variable GNULIB_STDIO_H_SIGPIPE to 1. - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + gl_STDIO_H_REQUIRE_DEFAULTS AC_REQUIRE([gl_ASM_SYMBOL_PREFIX]) - GNULIB_STDIO_H_SIGPIPE=1 + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_SIGPIPE], [1]) dnl Define the substituted variable GNULIB_UNISTD_H_SIGPIPE to 1. - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - GNULIB_UNISTD_H_SIGPIPE=1 + gl_UNISTD_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_SIGPIPE], [1]) gl_SIGNALBLOCKING - if test $HAVE_POSIX_SIGNALBLOCKING = 0; then - AC_LIBOBJ([sigprocmask]) + gl_CONDITIONAL([GL_COND_OBJ_SIGPROCMASK], [test $HAVE_POSIX_SIGNALBLOCKING = 0]) + AM_COND_IF([GL_COND_OBJ_SIGPROCMASK], [ gl_PREREQ_SIGPROCMASK - fi + ]) gl_SIGNAL_MODULE_INDICATOR([sigprocmask]) gt_TYPE_SSIZE_T gl_FUNC_STAT - if test $REPLACE_STAT = 1; then - AC_LIBOBJ([stat]) + gl_CONDITIONAL([GL_COND_OBJ_STAT], [test $REPLACE_STAT = 1]) + AM_COND_IF([GL_COND_OBJ_STAT], [ case "$host_os" in mingw*) AC_LIBOBJ([stat-w32]) ;; esac gl_PREREQ_STAT - fi + ]) gl_SYS_STAT_MODULE_INDICATOR([stat]) gl_STAT_TIME gl_STAT_BIRTHTIME - AM_STDBOOL_H + gl_STDALIGN_H + gl_CONDITIONAL_HEADER([stdalign.h]) + AC_PROG_MKDIR_P + gl_STDBOOL_H + gl_CONDITIONAL_HEADER([stdbool.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 - if test $REPLACE_STRERROR = 1; then - AC_LIBOBJ([strerror]) - fi + 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]) - if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then - AC_LIBOBJ([strerror-override]) + 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 - fi - gl_HEADER_STRING_H - gl_HEADER_SYS_STAT_H + ]) + 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_HEADER_TIME_H gl_UNISTD_H - gl_LIBUNISTRING_LIBHEADER([0.9.4], [unitypes.h]) - gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwidth.h]) - gl_LIBUNISTRING_MODULE([0.9.8], [uniwidth/width]) + gl_UNISTD_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P + 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 + ]) + gl_LIBUNISTRING_LIBHEADER([0.9.11], [uniwidth.h]) + AC_PROG_MKDIR_P + gl_LIBUNISTRING_MODULE([0.9.11], [uniwidth/width]) + AC_DEFINE([GNULIB_STDIO_SINGLE_THREAD], [1], + [Define to 1 if you want the FILE stream functions getc, putc, etc. + to use unlocked I/O if available, throughout the package. + Unlocked I/O can improve performance, sometimes dramatically. + But unlocked I/O is safe only in single-threaded programs, + as well as in multithreaded programs for which you can guarantee that + every FILE stream, including stdin, stdout, stderr, is used only + in a single thread.]) + AC_DEFINE([USE_UNLOCKED_IO], [GNULIB_STDIO_SINGLE_THREAD], + [An alias of GNULIB_STDIO_SINGLE_THREAD.]) gl_FUNC_GLIBC_UNLOCKED_IO + AC_C_VARARRAYS + gl_WCHAR_H + gl_WCHAR_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P # End of code from modules m4_ifval(gl_LIBSOURCES_LIST, [ m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ || @@ -295,6 +482,8 @@ AC_DEFUN([gl_INIT], 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]) @@ -303,16 +492,28 @@ AC_DEFUN([gl_INIT], 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.Po" done fi AC_SUBST([gl_LIBOBJS], [$gl_libobjs]) AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs]) + AC_SUBST([gl_LIBOBJDEPS], [$gl_libobjdeps]) ]) gltests_libdeps= gltests_ltlibdeps= @@ -321,8 +522,11 @@ AC_DEFUN([gl_INIT], 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='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 @@ -341,6 +545,8 @@ changequote([, ])dnl 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]) @@ -349,17 +555,30 @@ changequote([, ])dnl 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.Po" 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]) LIBICRT_LIBDEPS="$gl_libdeps" AC_SUBST([LIBICRT_LIBDEPS]) LIBICRT_LTLIBDEPS="$gl_ltlibdeps" @@ -437,6 +656,7 @@ AC_DEFUN([gl_FILE_LIST], [ lib/areadlink.h lib/arg-nonnull.h lib/basename-lgpl.c + lib/basename-lgpl.h lib/binary-io.c lib/binary-io.h lib/c++defs.h @@ -445,40 +665,63 @@ AC_DEFUN([gl_FILE_LIST], [ lib/canonicalize-lgpl.c lib/careadlinkat.c lib/careadlinkat.h - lib/dirname-lgpl.c - lib/dirname.h - lib/dosname.h + lib/cdefs.h + lib/cloexec.c + lib/cloexec.h + lib/close.c + lib/dup2.c + lib/eloop-threshold.h lib/errno.in.h lib/error.c lib/error.h + lib/fcntl.c lib/fcntl.in.h + lib/fd-hook.c + lib/fd-hook.h lib/filename.h + lib/free.c + lib/fstat.c + lib/getdtablesize.c lib/getprogname.c lib/getprogname.h lib/gettext.h + lib/idx.h lib/intprops.h + lib/inttypes.in.h + lib/libc-config.h lib/limits.in.h lib/localcharset.h - lib/lstat.c lib/malloc.c + lib/malloc/scratch_buffer.h + lib/malloc/scratch_buffer_dupfree.c + lib/malloc/scratch_buffer_grow.c + lib/malloc/scratch_buffer_grow_preserve.c + lib/malloc/scratch_buffer_set_array_size.c lib/malloca.c lib/malloca.h + lib/mempcpy.c + lib/minmax.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/progreloc.c lib/raise.c + lib/rawmemchr.c + lib/rawmemchr.valgrind lib/read.c lib/readlink.c + lib/realloc.c lib/relocatable.c lib/relocatable.h lib/relocwrapper.c lib/safe-read.c lib/safe-read.h + lib/scratch_buffer.h lib/setenv.c lib/signal.in.h lib/sigprocmask.c @@ -487,9 +730,11 @@ AC_DEFUN([gl_FILE_LIST], [ lib/stat-w32.c lib/stat-w32.h lib/stat.c + lib/stdalign.in.h lib/stdbool.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 @@ -498,20 +743,23 @@ AC_DEFUN([gl_FILE_LIST], [ lib/strerror-override.h lib/strerror.c lib/string.in.h - lib/stripslash.c lib/sys-limits.h lib/sys_stat.in.h lib/sys_types.in.h lib/time.in.h + lib/unictype/bitmap.h lib/unistd.c lib/unistd.in.h lib/unitypes.in.h lib/uniwidth.in.h lib/uniwidth/cjk.h lib/uniwidth/width.c + lib/uniwidth/width0.h + lib/uniwidth/width2.h lib/unlocked-io.h lib/verify.h lib/warn-on-use.h + lib/wchar.in.h lib/xalloc-oversized.h lib/xalloc.h lib/xmalloc.c @@ -519,13 +767,15 @@ AC_DEFUN([gl_FILE_LIST], [ lib/xreadlink.h lib/xstrdup.c m4/00gnulib.m4 + m4/__inline.m4 m4/absolute-header.m4 m4/alloca.m4 m4/asm-underscore.m4 + m4/builtin-expect.m4 m4/canonicalize.m4 - m4/codeset.m4 - m4/dirname.m4 + m4/close.m4 m4/double-slash-root.m4 + m4/dup2.m4 m4/eealloc.m4 m4/environ.m4 m4/errno_h.m4 @@ -533,49 +783,51 @@ AC_DEFUN([gl_FILE_LIST], [ m4/extensions.m4 m4/extern-inline.m4 m4/fcntl-o.m4 + m4/fcntl.m4 m4/fcntl_h.m4 + m4/free.m4 + m4/fstat.m4 + m4/getdtablesize.m4 m4/getprogname.m4 m4/gettext.m4 - m4/glibc2.m4 - m4/glibc21.m4 m4/gnulib-common.m4 m4/host-cpu-c-abi.m4 m4/iconv.m4 m4/include_next.m4 - m4/intdiv0.m4 m4/intl-thread-locale.m4 - m4/intl.m4 - m4/intldir.m4 m4/intlmacosx.m4 - m4/intmax.m4 - m4/inttypes-pri.m4 - m4/inttypes_h.m4 + m4/inttypes.m4 m4/largefile.m4 - m4/lcmessage.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/libunistring-base.m4 m4/limits-h.m4 - m4/lock.m4 - m4/longlong.m4 m4/lstat.m4 m4/malloc.m4 m4/malloca.m4 m4/mbstate_t.m4 + m4/mempcpy.m4 + m4/minmax.m4 + m4/mode_t.m4 m4/msvc-inval.m4 m4/msvc-nothrow.m4 m4/multiarch.m4 m4/nls.m4 m4/nocrash.m4 m4/off_t.m4 + m4/open-cloexec.m4 + m4/open-slash.m4 + m4/open.m4 m4/pathmax.m4 + m4/pid_t.m4 m4/po.m4 - m4/printf-posix.m4 m4/progtest.m4 m4/raise.m4 + m4/rawmemchr.m4 m4/read.m4 m4/readlink.m4 + m4/realloc.m4 m4/relocatable-lib.m4 m4/relocatable.m4 m4/safe-read.m4 @@ -583,14 +835,14 @@ AC_DEFUN([gl_FILE_LIST], [ m4/signal_h.m4 m4/signalblocking.m4 m4/sigpipe.m4 - m4/size_max.m4 m4/ssize_t.m4 m4/stat-time.m4 m4/stat.m4 + m4/std-gnu11.m4 + m4/stdalign.m4 m4/stdbool.m4 m4/stddef_h.m4 m4/stdint.m4 - m4/stdint_h.m4 m4/stdio_h.m4 m4/stdlib_h.m4 m4/strerror.m4 @@ -598,14 +850,15 @@ AC_DEFUN([gl_FILE_LIST], [ m4/sys_socket_h.m4 m4/sys_stat_h.m4 m4/sys_types_h.m4 - m4/threadlib.m4 m4/time_h.m4 - m4/uintmax_t.m4 m4/unistd_h.m4 m4/unlocked-io.m4 + m4/vararrays.m4 m4/visibility.m4 m4/warn-on-use.m4 + m4/wchar_h.m4 m4/wchar_t.m4 m4/wint_t.m4 - m4/xsize.m4 + m4/year2038.m4 + m4/zzgnulib.m4 ]) diff --git a/source/srcm4/gnulib-tool.m4 b/source/srcm4/gnulib-tool.m4 index 98e6ade..8428901 100644 --- a/source/srcm4/gnulib-tool.m4 +++ b/source/srcm4/gnulib-tool.m4 @@ -1,5 +1,5 @@ -# gnulib-tool.m4 serial 2 -dnl Copyright (C) 2004-2005, 2009-2019 Free Software Foundation, Inc. +# gnulib-tool.m4 serial 4 +dnl Copyright (C) 2004-2005, 2009-2022 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. @@ -44,6 +44,12 @@ AC_DEFUN([gl_LGPL], []) dnl Usage: gl_MAKEFILE_NAME([FILENAME]) AC_DEFUN([gl_MAKEFILE_NAME], []) +dnl Usage: gl_TESTS_MAKEFILE_NAME([FILENAME]) +AC_DEFUN([gl_TESTS_MAKEFILE_NAME], []) + +dnl Usage: gl_AUTOMAKE_SUBDIR +AC_DEFUN([gl_AUTOMAKE_SUBDIR], []) + dnl Usage: gl_LIBTOOL AC_DEFUN([gl_LIBTOOL], []) diff --git a/source/srcm4/host-cpu-c-abi.m4 b/source/srcm4/host-cpu-c-abi.m4 index 4407296..b922324 100644 --- a/source/srcm4/host-cpu-c-abi.m4 +++ b/source/srcm4/host-cpu-c-abi.m4 @@ -1,5 +1,5 @@ -# host-cpu-c-abi.m4 serial 11 -dnl Copyright (C) 2002-2019 Free Software Foundation, Inc. +# host-cpu-c-abi.m4 serial 15 +dnl Copyright (C) 2002-2022 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. @@ -55,7 +55,7 @@ AC_DEFUN([gl_HOST_CPU_C_ABI], [case "$host_cpu" in changequote(,)dnl - i[4567]86 ) + i[34567]86 ) changequote([,])dnl gl_cv_host_cpu_c_abi=i386 ;; @@ -211,7 +211,7 @@ changequote([,])dnl # be generating 64-bit code. AC_COMPILE_IFELSE( [AC_LANG_SOURCE( - [[#if defined __powerpc64__ || defined _ARCH_PPC64 + [[#if defined __powerpc64__ || defined __LP64__ int ok; #else error fail @@ -382,6 +382,9 @@ EOF #ifndef __ia64__ #undef __ia64__ #endif +#ifndef __loongarch64__ +#undef __loongarch64__ +#endif #ifndef __m68k__ #undef __m68k__ #endif @@ -457,7 +460,8 @@ EOF dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI -dnl (application binary interface) is a 32-bit one, or to 'no' otherwise. +dnl (application binary interface) is a 32-bit one, to 'no' if it is a 64-bit +dnl one, or to 'unknown' if unknown. dnl This is a simplified variant of gl_HOST_CPU_C_ABI. AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT], [ @@ -467,14 +471,44 @@ AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT], 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 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 ) gl_cv_host_cpu_c_abi_32bit=no ;; + *) + gl_cv_host_cpu_c_abi_32bit=unknown ;; esac else case "$host_cpu" in + # CPUs that only support a 32-bit ABI. + arc \ + | bfin \ + | cris* \ + | csky \ + | epiphany \ + | ft32 \ + | h8300 \ + | m68k \ + | microblaze | microblazeel \ + | nds32 | nds32le | nds32be \ + | nios2 | nios2eb | nios2el \ + | or1k* \ + | or32 \ + | sh | sh[1234] | sh[1234]e[lb] \ + | tic6x \ + | xtensa* ) + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + # CPUs that only support a 64-bit ABI. changequote(,)dnl - i[4567]86 ) + alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \ + | mmix ) +changequote([,])dnl + gl_cv_host_cpu_c_abi_32bit=no + ;; + +changequote(,)dnl + i[34567]86 ) changequote([,])dnl gl_cv_host_cpu_c_abi_32bit=yes ;; @@ -574,7 +608,7 @@ changequote([,])dnl # be generating 64-bit code. AC_COMPILE_IFELSE( [AC_LANG_SOURCE( - [[#if defined __powerpc64__ || defined _ARCH_PPC64 + [[#if defined __powerpc64__ || defined __LP64__ int ok; #else error fail @@ -634,7 +668,7 @@ changequote([,])dnl ;; *) - gl_cv_host_cpu_c_abi_32bit=no + gl_cv_host_cpu_c_abi_32bit=unknown ;; esac fi diff --git a/source/srcm4/iconv.m4 b/source/srcm4/iconv.m4 index a285e9d..0005795 100644 --- a/source/srcm4/iconv.m4 +++ b/source/srcm4/iconv.m4 @@ -1,5 +1,5 @@ -# iconv.m4 serial 21 -dnl Copyright (C) 2000-2002, 2007-2014, 2016-2019 Free Software Foundation, +# iconv.m4 serial 24 +dnl Copyright (C) 2000-2002, 2007-2014, 2016-2022 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, @@ -7,6 +7,12 @@ dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. +AC_PREREQ([2.64]) + +dnl Note: AM_ICONV is documented in the GNU gettext manual +dnl . +dnl Don't make changes that are incompatible with that documentation! + AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. @@ -86,8 +92,9 @@ AC_DEFUN([AM_ICONV_LINK], #endif ]], [[int result = 0; - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ + /* 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)) @@ -225,8 +232,7 @@ AC_DEFUN([AM_ICONV_LINK], AC_SUBST([LTLIBICONV]) ]) -dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to -dnl avoid warnings like +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". dnl This is tricky because of the way 'aclocal' is implemented: dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. @@ -234,54 +240,43 @@ 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])]], - [m4_ifdef([gl_00GNULIB], - [[AC_DEFUN_ONCE( - [$1], [$2])]], - [[AC_DEFUN( - [$1], [$2])]])])) -gl_iconv_AC_DEFUN([AM_ICONV], +AC_DEFUN_ONCE([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_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ + 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 -#if defined(__STDC__) || defined(_MSC_VER) || 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]) + ]], + [[]])], + [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'. - am_cv_proto_iconv_arg1="" + 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], [$am_cv_proto_iconv_arg1], + 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 -n "$am_cv_proto_iconv_arg1"; then + if test $gl_cv_iconv_nonconst != yes; then ICONV_CONST="const" fi ]) diff --git a/source/srcm4/include_next.m4 b/source/srcm4/include_next.m4 index 86eb2c9..a9247f6 100644 --- a/source/srcm4/include_next.m4 +++ b/source/srcm4/include_next.m4 @@ -1,5 +1,5 @@ -# include_next.m4 serial 24 -dnl Copyright (C) 2006-2019 Free Software Foundation, Inc. +# include_next.m4 serial 26 +dnl Copyright (C) 2006-2022 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. @@ -106,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= @@ -176,42 +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]) ]) - 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'"']) + 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/source/srcm4/intdiv0.m4 b/source/srcm4/intdiv0.m4 deleted file mode 100644 index e63fcf1..0000000 --- a/source/srcm4/intdiv0.m4 +++ /dev/null @@ -1,87 +0,0 @@ -# intdiv0.m4 serial 6 (gettext-0.18.2) -dnl Copyright (C) 2002, 2007-2008, 2010-2019 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([gt_INTDIV0], -[ - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_CANONICAL_HOST])dnl - - AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], - gt_cv_int_divbyzero_sigfpe, - [ - gt_cv_int_divbyzero_sigfpe= -changequote(,)dnl - case "$host_os" in - macos* | darwin[6-9]* | darwin[1-9][0-9]*) - # On Mac OS X 10.2 or newer, just assume the same as when cross- - # compiling. If we were to perform the real test, 1 Crash Report - # dialog window would pop up. - case "$host_cpu" in - i[34567]86 | x86_64) - gt_cv_int_divbyzero_sigfpe="guessing yes" ;; - esac - ;; - esac -changequote([,])dnl - if test -z "$gt_cv_int_divbyzero_sigfpe"; then - AC_RUN_IFELSE( - [AC_LANG_SOURCE([[ -#include -#include - -static void -sigfpe_handler (int sig) -{ - /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ - _exit (sig != SIGFPE); -} - -int x = 1; -int y = 0; -int z; -int nan; - -int main () -{ - signal (SIGFPE, sigfpe_handler); -/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ -#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) - signal (SIGTRAP, sigfpe_handler); -#endif -/* Linux/SPARC yields signal SIGILL. */ -#if defined (__sparc__) && defined (__linux__) - signal (SIGILL, sigfpe_handler); -#endif - - z = x / y; - nan = y / y; - exit (2); -} -]])], - [gt_cv_int_divbyzero_sigfpe=yes], - [gt_cv_int_divbyzero_sigfpe=no], - [ - # Guess based on the CPU. -changequote(,)dnl - case "$host_cpu" in - alpha* | i[34567]86 | x86_64 | m68k | s390*) - gt_cv_int_divbyzero_sigfpe="guessing yes";; - *) - gt_cv_int_divbyzero_sigfpe="guessing no";; - esac -changequote([,])dnl - ]) - fi - ]) - case "$gt_cv_int_divbyzero_sigfpe" in - *yes) value=1;; - *) value=0;; - esac - AC_DEFINE_UNQUOTED([INTDIV0_RAISES_SIGFPE], [$value], - [Define if integer division by zero raises signal SIGFPE.]) -]) diff --git a/source/srcm4/intl-thread-locale.m4 b/source/srcm4/intl-thread-locale.m4 index 3ecba86..d5d5b26 100644 --- a/source/srcm4/intl-thread-locale.m4 +++ b/source/srcm4/intl-thread-locale.m4 @@ -1,15 +1,15 @@ -# intl-thread-locale.m4 serial 4 -dnl Copyright (C) 2015-2019 Free Software Foundation, Inc. +# intl-thread-locale.m4 serial 9 +dnl Copyright (C) 2015-2022 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 be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser 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 by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. @@ -17,7 +17,7 @@ dnl Check how to retrieve the name of a per-thread locale (POSIX locale_t). dnl Sets gt_nameless_locales. AC_DEFUN([gt_INTL_THREAD_LOCALE_NAME], [ - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([AC_CANONICAL_HOST]) dnl Persuade Solaris to define 'locale_t'. AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) @@ -72,9 +72,13 @@ int main () esac case "$gt_cv_locale_fake" in *yes) + gt_fake_locales=yes AC_DEFINE([HAVE_FAKE_LOCALES], [1], [Define if the locale_t type contains insufficient information, as on OpenBSD.]) ;; + *) + gt_fake_locales=no + ;; esac case "$gt_cv_func_uselocale_works" in @@ -119,33 +123,60 @@ int main () ;; esac - dnl This code is for future use, in case we some day have to port to a - dnl platform where the locale_t type does not provide access to the name of - dnl each locale category. This code has the drawback that it requires the - dnl gnulib overrides of 'newlocale', 'duplocale', 'freelocale', which is a - dnl problem for GNU libunistring. Therefore try hard to avoid enabling this - dnl code! + dnl This code is for platforms where the locale_t type does not provide access + dnl to the name of each locale category. This code has the drawback that it + dnl requires the gnulib overrides of 'newlocale', 'duplocale', 'freelocale', + dnl which is a problem for GNU libunistring. Therefore try hard to avoid + dnl enabling this code! gt_nameless_locales=no - if false; then - gt_nameless_locales=yes - AC_DEFINE([HAVE_NAMELESS_LOCALES], [1], - [Define if the locale_t type does not contain the name of each locale category.]) + case "$host_os" in + dnl It's needed on AIX 7.2. + aix*) + gt_nameless_locales=yes + AC_DEFINE([HAVE_NAMELESS_LOCALES], [1], + [Define if the locale_t type does not contain the name of each locale category.]) + ;; + esac + + dnl We cannot support uselocale() on platforms where the locale_t type is + dnl fake. So, set + dnl gt_good_uselocale = gt_working_uselocale && !gt_fake_locales. + if test $gt_working_uselocale = yes && test $gt_fake_locales = no; then + gt_good_uselocale=yes + AC_DEFINE([HAVE_GOOD_USELOCALE], [1], + [Define if the uselocale exists, may be safely called, and returns sufficient information.]) + else + gt_good_uselocale=no + fi + + dnl Set gt_localename_enhances_locale_funcs to indicate whether localename.c + dnl overrides newlocale(), duplocale(), freelocale() to keep track of locale + dnl names. + if test $gt_good_uselocale = yes && test $gt_nameless_locales = yes; then + gt_localename_enhances_locale_funcs=yes + LOCALENAME_ENHANCE_LOCALE_FUNCS=1 + AC_DEFINE([LOCALENAME_ENHANCE_LOCALE_FUNCS], [1], + [Define if localename.c overrides newlocale(), duplocale(), freelocale().]) + else + gt_localename_enhances_locale_funcs=no fi ]) dnl Tests whether uselocale() exists and is usable. -dnl Sets gt_cv_func_uselocale_works. Defines HAVE_WORKING_USELOCALE. +dnl Sets gt_working_uselocale and defines HAVE_WORKING_USELOCALE. AC_DEFUN([gt_FUNC_USELOCALE], [ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - dnl Persuade Solaris to define 'locale_t'. + dnl Persuade glibc and Solaris to define 'locale_t'. AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([uselocale]) dnl On AIX 7.2, the uselocale() function is not documented and leads to dnl crashes in subsequent setlocale() invocations. + dnl In 2019, some versions of z/OS lack the locale_t type and have a broken + dnl uselocale function. if test $ac_cv_func_uselocale = yes; then AC_CHECK_HEADERS_ONCE([xlocale.h]) AC_CACHE_CHECK([whether uselocale works], @@ -156,6 +187,7 @@ AC_DEFUN([gt_FUNC_USELOCALE], #if HAVE_XLOCALE_H # include #endif +locale_t loc1; int main () { uselocale (NULL); @@ -164,10 +196,10 @@ int main () }]])], [gt_cv_func_uselocale_works=yes], [gt_cv_func_uselocale_works=no], - [# Guess no on AIX, yes otherwise. + [# Guess no on AIX and z/OS, yes otherwise. case "$host_os" in - aix*) gt_cv_func_uselocale_works="guessing no" ;; - *) gt_cv_func_uselocale_works="guessing yes" ;; + aix* | openedition*) gt_cv_func_uselocale_works="guessing no" ;; + *) gt_cv_func_uselocale_works="guessing yes" ;; esac ]) ]) @@ -176,8 +208,12 @@ int main () fi case "$gt_cv_func_uselocale_works" in *yes) + gt_working_uselocale=yes AC_DEFINE([HAVE_WORKING_USELOCALE], [1], - [Define if the uselocale function exists any may safely be called.]) + [Define if the uselocale function exists and may safely be called.]) + ;; + *) + gt_working_uselocale=no ;; esac ]) diff --git a/source/srcm4/intl.m4 b/source/srcm4/intl.m4 deleted file mode 100644 index 141e922..0000000 --- a/source/srcm4/intl.m4 +++ /dev/null @@ -1,309 +0,0 @@ -# intl.m4 serial 34 (gettext-0.20) -dnl Copyright (C) 1995-2014, 2016-2019 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 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 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-2009. - -AC_PREREQ([2.60]) - -dnl Checks for all prerequisites of the intl subdirectory, -dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, -dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. -AC_DEFUN([AM_INTL_SUBDIR], -[ - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AC_PROG_MKDIR_P])dnl - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_CANONICAL_HOST])dnl - AC_REQUIRE([gt_GLIBC2])dnl - AC_REQUIRE([gl_VISIBILITY])dnl - AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl - AC_REQUIRE([AC_TYPE_LONG_LONG_INT])dnl - AC_REQUIRE([gt_TYPE_WCHAR_T])dnl - AC_REQUIRE([gt_TYPE_WINT_T])dnl - AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) - AC_REQUIRE([gt_TYPE_INTMAX_T]) - AC_REQUIRE([gt_PRINTF_POSIX]) - AC_REQUIRE([gl_GLIBC21])dnl - AC_REQUIRE([gl_XSIZE])dnl - AC_REQUIRE([gl_FCNTL_O_FLAGS])dnl - AC_REQUIRE([gt_INTL_THREAD_LOCALE_NAME]) - AC_REQUIRE([gt_INTL_MACOSX])dnl - AC_REQUIRE([gl_EXTERN_INLINE])dnl - AC_REQUIRE([gt_GL_ATTRIBUTE])dnl - AC_REQUIRE([AC_C_FLEXIBLE_ARRAY_MEMBER])dnl - - dnl In projects that use gnulib, use gl_PROG_AR_RANLIB. - dnl The '][' hides this use from 'aclocal'. - m4_ifdef([g][l_PROG_AR_RANLIB], - [AC_REQUIRE([g][l_PROG_AR_RANLIB])], - [AC_REQUIRE([AC_PROG_RANLIB]) - dnl Use 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]) - ]) - - dnl Support for automake's --enable-silent-rules. - case "$enable_silent_rules" in - yes) INTL_DEFAULT_VERBOSITY=0;; - no) INTL_DEFAULT_VERBOSITY=1;; - *) INTL_DEFAULT_VERBOSITY=1;; - esac - AC_SUBST([INTL_DEFAULT_VERBOSITY]) - - AC_CHECK_TYPE([ptrdiff_t], , - [AC_DEFINE([ptrdiff_t], [long], - [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) - ]) - AC_CHECK_HEADERS([features.h stddef.h stdlib.h string.h]) - AC_CHECK_FUNCS([asprintf fwprintf newlocale putenv setenv setlocale \ - snprintf strnlen uselocale wcslen wcsnlen mbrtowc wcrtomb]) - - dnl Use the _snprintf function only if it is declared (because on NetBSD it - dnl is defined as a weak alias of snprintf; we prefer to use the latter). - AC_CHECK_DECLS([_snprintf, _snwprintf], , , [#include ]) - - dnl Use the *_unlocked functions only if they are declared. - dnl (because some of them were defined without being declared in Solaris - dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built - dnl on Solaris 2.5.1 to run on Solaris 2.6). - AC_CHECK_DECLS([getc_unlocked], , , [#include ]) - - case $gt_cv_func_printf_posix in - *yes) HAVE_POSIX_PRINTF=1 ;; - *) HAVE_POSIX_PRINTF=0 ;; - esac - AC_SUBST([HAVE_POSIX_PRINTF]) - if test "$ac_cv_func_asprintf" = yes; then - HAVE_ASPRINTF=1 - else - HAVE_ASPRINTF=0 - fi - AC_SUBST([HAVE_ASPRINTF]) - if test "$ac_cv_func_snprintf" = yes; then - HAVE_SNPRINTF=1 - else - HAVE_SNPRINTF=0 - fi - AC_SUBST([HAVE_SNPRINTF]) - if test "$ac_cv_func_newlocale" = yes; then - HAVE_NEWLOCALE=1 - else - HAVE_NEWLOCALE=0 - fi - AC_SUBST([HAVE_NEWLOCALE]) - if test "$ac_cv_func_wprintf" = yes; then - HAVE_WPRINTF=1 - else - HAVE_WPRINTF=0 - fi - AC_SUBST([HAVE_WPRINTF]) - - AM_LANGINFO_CODESET - gt_LC_MESSAGES - - if test $gt_nameless_locales = yes; then - HAVE_NAMELESS_LOCALES=1 - else - HAVE_NAMELESS_LOCALES=0 - fi - AC_SUBST([HAVE_NAMELESS_LOCALES]) - - dnl Compilation on mingw and Cygwin needs special Makefile rules, because - dnl 1. when we install a shared library, we must arrange to export - dnl auxiliary pointer variables for every exported variable, - dnl 2. when we install a shared library and a static library simultaneously, - dnl the include file specifies __declspec(dllimport) and therefore we - dnl must arrange to define the auxiliary pointer variables for the - dnl exported variables _also_ in the static library. - if test "$enable_shared" = yes; then - case "$host_os" in - mingw* | cygwin*) is_woe32dll=yes ;; - *) is_woe32dll=no ;; - esac - else - is_woe32dll=no - fi - WOE32DLL=$is_woe32dll - AC_SUBST([WOE32DLL]) - - dnl On mingw and Cygwin, we can activate special Makefile rules which add - dnl version information to the shared libraries and executables. - case "$host_os" in - mingw* | cygwin*) is_woe32=yes ;; - *) is_woe32=no ;; - esac - WOE32=$is_woe32 - AC_SUBST([WOE32]) - if test $WOE32 = yes; then - dnl Check for a program that compiles Windows resource files. - AC_CHECK_TOOL([WINDRES], [windres]) - fi - - dnl Rename some macros and functions used for locking. - AH_BOTTOM([ -#define __libc_lock_t gl_lock_t -#define __libc_lock_define gl_lock_define -#define __libc_lock_define_initialized gl_lock_define_initialized -#define __libc_lock_init gl_lock_init -#define __libc_lock_lock gl_lock_lock -#define __libc_lock_unlock gl_lock_unlock -#define __libc_lock_recursive_t gl_recursive_lock_t -#define __libc_lock_define_recursive gl_recursive_lock_define -#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized -#define __libc_lock_init_recursive gl_recursive_lock_init -#define __libc_lock_lock_recursive gl_recursive_lock_lock -#define __libc_lock_unlock_recursive gl_recursive_lock_unlock -#define glthread_in_use libintl_thread_in_use -#define glthread_lock_init_func libintl_lock_init_func -#define glthread_lock_lock_func libintl_lock_lock_func -#define glthread_lock_unlock_func libintl_lock_unlock_func -#define glthread_lock_destroy_func libintl_lock_destroy_func -#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded -#define glthread_rwlock_init_func libintl_rwlock_init_func -#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded -#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func -#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded -#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func -#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded -#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func -#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded -#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func -#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded -#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func -#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded -#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func -#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded -#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func -#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded -#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func -#define glthread_once_func libintl_once_func -#define glthread_once_singlethreaded libintl_once_singlethreaded -#define glthread_once_multithreaded libintl_once_multithreaded -]) -]) - - -dnl Checks for the core files of the intl subdirectory: -dnl dcigettext.c -dnl eval-plural.h -dnl explodename.c -dnl finddomain.c -dnl gettextP.h -dnl gmo.h -dnl hash-string.h hash-string.c -dnl l10nflist.c -dnl libgnuintl.h.in (except the *printf stuff) -dnl loadinfo.h -dnl loadmsgcat.c -dnl localealias.c -dnl log.c -dnl plural-exp.h plural-exp.c -dnl plural.y -dnl Used by libglocale. -AC_DEFUN([gt_INTL_SUBDIR_CORE], -[ - AC_REQUIRE([AC_C_INLINE])dnl - AC_REQUIRE([AC_TYPE_SIZE_T])dnl - AC_REQUIRE([gl_AC_HEADER_STDINT_H]) - AC_REQUIRE([AC_FUNC_ALLOCA])dnl - AC_REQUIRE([AC_FUNC_MMAP])dnl - AC_REQUIRE([gt_INTDIV0])dnl - AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl - AC_REQUIRE([gt_INTTYPES_PRI])dnl - AC_REQUIRE([gl_LOCK])dnl - - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }]], - [[]])], - [AC_DEFINE([HAVE_BUILTIN_EXPECT], [1], - [Define to 1 if the compiler understands __builtin_expect.])]) - - AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h]) - AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \ - stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \ - argz_next __fsetlocking]) - - dnl Use the *_unlocked functions only if they are declared. - dnl (because some of them were defined without being declared in Solaris - dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built - dnl on Solaris 2.5.1 to run on Solaris 2.6). - AC_CHECK_DECLS([feof_unlocked, fgets_unlocked], , , [#include ]) - - AM_ICONV - - dnl intl/plural.c is generated from intl/plural.y. It requires bison, - dnl because plural.y uses bison specific features. It requires at least - dnl bison-2.7 for %define api.pure. - dnl bison is only needed for the maintainer (who touches plural.y). But in - dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put - dnl the rule in general Makefile. Now, some people carelessly touch the - dnl files or have a broken "make" program, hence the plural.c rule will - dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not - dnl present or too old. - AC_CHECK_PROGS([INTLBISON], [bison]) - if test -z "$INTLBISON"; then - ac_verc_fail=yes - else - dnl Found it, now check the version. - AC_MSG_CHECKING([version of bison]) -changequote(<<,>>)dnl - ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 2.[7-9]* | [3-9].*) -changequote([,])dnl - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - esac - AC_MSG_RESULT([$ac_prog_version]) - fi - if test $ac_verc_fail = yes; then - INTLBISON=: - fi -]) - -dnl Copies _GL_UNUSED and _GL_ATTRIBUTE_PURE definitions from -dnl gnulib-common.m4 as a fallback, if the project isn't using Gnulib. -AC_DEFUN([gt_GL_ATTRIBUTE], [ - m4_ifndef([gl_[]COMMON], - AH_VERBATIM([gt_gl_attribute], -[/* 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. */ -#ifndef _GL_UNUSED -# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_UNUSED __attribute__ ((__unused__)) -# else -# define _GL_UNUSED -# endif -#endif - -/* The __pure__ attribute was added in gcc 2.96. */ -#ifndef _GL_ATTRIBUTE_PURE -# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -# else -# define _GL_ATTRIBUTE_PURE /* empty */ -# endif -#endif -]))]) diff --git a/source/srcm4/intldir.m4 b/source/srcm4/intldir.m4 deleted file mode 100644 index 0e5ad76..0000000 --- a/source/srcm4/intldir.m4 +++ /dev/null @@ -1,20 +0,0 @@ -# intldir.m4 serial 3 (gettext-0.20) -dnl Copyright (C) 2006, 2009-2014, 2016-2017, 2019 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 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 is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -AC_PREREQ([2.60]) - -dnl Tells the AM_GNU_GETTEXT macro to consider an intl/ directory. -AC_DEFUN([AM_GNU_GETTEXT_INTL_SUBDIR], []) diff --git a/source/srcm4/intlmacosx.m4 b/source/srcm4/intlmacosx.m4 index 30e6f50..ecc88d6 100644 --- a/source/srcm4/intlmacosx.m4 +++ b/source/srcm4/intlmacosx.m4 @@ -1,15 +1,15 @@ -# intlmacosx.m4 serial 6 (gettext-0.20) -dnl Copyright (C) 2004-2014, 2016, 2019 Free Software Foundation, Inc. +# intlmacosx.m4 serial 8 (gettext-0.20.2) +dnl Copyright (C) 2004-2014, 2016, 2019-2022 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 be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser 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 by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. @@ -33,21 +33,15 @@ AC_DEFUN([gt_INTL_MACOSX], AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi - dnl Check for API introduced in Mac OS X 10.5. - AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - 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 Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) - fi + dnl Don't check for the API introduced in Mac OS X 10.5, CFLocaleCopyCurrent, + dnl because in macOS 10.13.4 it has the following behaviour: + dnl When two or more languages are specified in the + dnl "System Preferences > Language & Region > Preferred Languages" panel, + dnl it returns en_CC where CC is the territory (even when English is not among + dnl the preferred languages!). What we want instead is what + dnl CFLocaleCopyCurrent returned in earlier macOS releases and what + dnl CFPreferencesCopyAppValue still returns, namely ll_CC where ll is the + dnl first among the preferred languages and CC is the territory. AC_CACHE_CHECK([for CFLocaleCopyPreferredLanguages], [gt_cv_func_CFLocaleCopyPreferredLanguages], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" @@ -64,7 +58,6 @@ AC_DEFUN([gt_INTL_MACOSX], fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes \ - || test $gt_cv_func_CFLocaleCopyCurrent = yes \ || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi diff --git a/source/srcm4/intmax.m4 b/source/srcm4/intmax.m4 deleted file mode 100644 index 2f4b450..0000000 --- a/source/srcm4/intmax.m4 +++ /dev/null @@ -1,36 +0,0 @@ -# intmax.m4 serial 6 (gettext-0.18.2) -dnl Copyright (C) 2002-2005, 2008-2019 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 the system has the 'intmax_t' type, but don't attempt to -dnl find a replacement if it is lacking. - -AC_DEFUN([gt_TYPE_INTMAX_T], -[ - AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) - AC_REQUIRE([gl_AC_HEADER_STDINT_H]) - AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include -#if HAVE_STDINT_H_WITH_UINTMAX -#include -#endif -#if HAVE_INTTYPES_H_WITH_UINTMAX -#include -#endif - ]], - [[intmax_t x = -1; - return !x;]])], - [gt_cv_c_intmax_t=yes], - [gt_cv_c_intmax_t=no])]) - if test $gt_cv_c_intmax_t = yes; then - AC_DEFINE([HAVE_INTMAX_T], [1], - [Define if you have the 'intmax_t' type in or .]) - fi -]) diff --git a/source/srcm4/inttypes-pri.m4 b/source/srcm4/inttypes-pri.m4 deleted file mode 100644 index 38fe118..0000000 --- a/source/srcm4/inttypes-pri.m4 +++ /dev/null @@ -1,42 +0,0 @@ -# inttypes-pri.m4 serial 7 (gettext-0.18.2) -dnl Copyright (C) 1997-2002, 2006, 2008-2019 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.53]) - -# 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_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ -#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/source/srcm4/inttypes.m4 b/source/srcm4/inttypes.m4 new file mode 100644 index 0000000..df25a21 --- /dev/null +++ b/source/srcm4/inttypes.m4 @@ -0,0 +1,180 @@ +# inttypes.m4 serial 36 +dnl Copyright (C) 2006-2022 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, Bruno Haible. +dnl Test whether is supported or must be substituted. + +AC_DEFUN_ONCE([gl_INTTYPES_H], +[ + AC_REQUIRE([gl_INTTYPES_INCOMPLETE]) + gl_INTTYPES_PRI_SCN +]) + +AC_DEFUN_ONCE([gl_INTTYPES_INCOMPLETE], +[ + AC_REQUIRE([gl_STDINT_H]) + AC_CHECK_HEADERS_ONCE([inttypes.h]) + + dnl Override always, so that the portability warnings work. + AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) + gl_CHECK_NEXT_HEADERS([inttypes.h]) + + AC_REQUIRE([gl_MULTIARCH]) + + 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 + ]], [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], +[ + PRIPTR_PREFIX= + 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 + case $glpfx in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + I64) gltype1='__int64';; + esac + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include + extern intptr_t foo; + extern $gltype1 foo;]])], + [PRIPTR_PREFIX='"'$glpfx'"']) + test -n "$PRIPTR_PREFIX" && break + done + fi + AC_SUBST([PRIPTR_PREFIX]) + + gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( + [INT32_MAX_LT_INTMAX_MAX], + [defined INT32_MAX && defined INTMAX_MAX], + [INT32_MAX < INTMAX_MAX], + [sizeof (int) < sizeof (long long int)]) + if test $APPLE_UNIVERSAL_BUILD = 0; then + gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( + [INT64_MAX_EQ_LONG_MAX], + [defined INT64_MAX], + [INT64_MAX == LONG_MAX], + [sizeof (long long int) == sizeof (long int)]) + else + INT64_MAX_EQ_LONG_MAX=-1 + fi + gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( + [UINT32_MAX_LT_UINTMAX_MAX], + [defined UINT32_MAX && defined UINTMAX_MAX], + [UINT32_MAX < UINTMAX_MAX], + [sizeof (unsigned int) < sizeof (unsigned long long int)]) + if test $APPLE_UNIVERSAL_BUILD = 0; then + gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( + [UINT64_MAX_EQ_ULONG_MAX], + [defined UINT64_MAX], + [UINT64_MAX == ULONG_MAX], + [sizeof (unsigned long long int) == sizeof (unsigned long int)]) + else + UINT64_MAX_EQ_ULONG_MAX=-1 + fi +]) + +# Define the symbol $1 to be 1 if the condition is true, 0 otherwise. +# If $2 is true, the condition is $3; otherwise if long long int is supported +# approximate the condition with $4; otherwise, assume the condition is false. +# The condition should work on all C99 platforms; the approximations should be +# good enough to work on all practical pre-C99 platforms. +# $2 is evaluated by the C preprocessor, $3 and $4 as compile-time constants. +AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION], +[ + AC_CACHE_CHECK([whether $3], + [gl_cv_test_$1], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 + + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H + + #include + #if HAVE_STDINT_H + #include + #endif + + #if $2 + #define CONDITION ($3) + #else + #define CONDITION ($4) + #endif + int test[CONDITION ? 1 : -1];]])], + [gl_cv_test_$1=yes], + [gl_cv_test_$1=no])]) + if test $gl_cv_test_$1 = yes; then + $1=1; + else + $1=0; + fi + 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 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], +[ + 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]) + 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]) + 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/source/srcm4/inttypes_h.m4 b/source/srcm4/inttypes_h.m4 deleted file mode 100644 index d20422a..0000000 --- a/source/srcm4/inttypes_h.m4 +++ /dev/null @@ -1,29 +0,0 @@ -# inttypes_h.m4 serial 10 -dnl Copyright (C) 1997-2004, 2006, 2008-2019 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_INTTYPES_H_WITH_UINTMAX if exists, -# doesn't clash with , and declares uintmax_t. - -AC_DEFUN([gl_AC_HEADER_INTTYPES_H], -[ - AC_CACHE_CHECK([for inttypes.h], [gl_cv_header_inttypes_h], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include - ]], - [[uintmax_t i = (uintmax_t) -1; return !i;]])], - [gl_cv_header_inttypes_h=yes], - [gl_cv_header_inttypes_h=no])]) - if test $gl_cv_header_inttypes_h = yes; then - AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1], - [Define if exists, doesn't clash with , - and declares uintmax_t. ]) - fi -]) diff --git a/source/srcm4/largefile.m4 b/source/srcm4/largefile.m4 index 1938188..3e8b5e3 100644 --- a/source/srcm4/largefile.m4 +++ b/source/srcm4/largefile.m4 @@ -1,28 +1,47 @@ # 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-2019 Free Software Foundation, Inc. +# Copyright 1992-1996, 1998-2022 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.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. +AC_DEFUN([gl_SET_LARGEFILE_SOURCE], +[ + 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 +]) + +# Work around a problem in Autoconf through at least 2.71 on glibc 2.34+ +# with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, # or configures them incorrectly in some cases. -m4_version_prereq([2.70], [] ,[ +m4_version_prereq([2.70], [], [ # _AC_SYS_LARGEFILE_TEST_INCLUDES # ------------------------------- m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], -[@%:@include +[#include /* 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)) +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]];[]dnl ]) +])# m4_version_prereq 2.70 # _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, @@ -37,7 +56,8 @@ m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE], [AC_LANG_PROGRAM([$5], [$6])], [$3=no; break]) m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( - [AC_LANG_PROGRAM([@%:@define $1 $2 + [AC_LANG_PROGRAM([#undef $1 +#define $1 $2 $5], [$6])], [$3=$2; break]) $3=unknown @@ -56,13 +76,15 @@ rm -rf conftest*[]dnl # 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], +AS_IF([test "$enable_largefile" != no], + [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 @@ -87,18 +109,15 @@ if test "$enable_largefile" != no; then 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 - - AC_DEFINE([_DARWIN_USE_64_BIT_INODE], [1], - [Enable large inode numbers on Mac OS X 10.5.]) -fi + AS_CASE([$ac_cv_sys_file_offset_bits], + [unknown], + [_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])], + [64], + [gl_YEAR2038_BODY([])])]) ])# AC_SYS_LARGEFILE -])# m4_version_prereq 2.70 # Enable large files on systems where this is implemented by Gnulib, not by the # system headers. diff --git a/source/srcm4/lcmessage.m4 b/source/srcm4/lcmessage.m4 deleted file mode 100644 index 8d32e10..0000000 --- a/source/srcm4/lcmessage.m4 +++ /dev/null @@ -1,35 +0,0 @@ -# lcmessage.m4 serial 7 (gettext-0.18.2) -dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014, 2016, 2019 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 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 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_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#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/source/srcm4/lib-ld.m4 b/source/srcm4/lib-ld.m4 index a187196..934207a 100644 --- a/source/srcm4/lib-ld.m4 +++ b/source/srcm4/lib-ld.m4 @@ -1,5 +1,5 @@ -# lib-ld.m4 serial 9 -dnl Copyright (C) 1996-2003, 2009-2019 Free Software Foundation, Inc. +# lib-ld.m4 serial 10 +dnl Copyright (C) 1996-2003, 2009-2022 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. @@ -122,7 +122,7 @@ else *-*-aix*) AC_COMPILE_IFELSE( [AC_LANG_SOURCE( - [[#if defined __powerpc64__ || defined _ARCH_PPC64 + [[#if defined __powerpc64__ || defined __LP64__ int ok; #else error fail diff --git a/source/srcm4/lib-link.m4 b/source/srcm4/lib-link.m4 index 0ff1073..ed5186a 100644 --- a/source/srcm4/lib-link.m4 +++ b/source/srcm4/lib-link.m4 @@ -1,5 +1,5 @@ -# lib-link.m4 serial 28 -dnl Copyright (C) 2001-2019 Free Software Foundation, Inc. +# lib-link.m4 serial 32 +dnl Copyright (C) 2001-2022 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. @@ -192,6 +192,8 @@ 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\" ]) AC_ARG_WITH(PACK[-prefix], [[ --with-]]PACK[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib @@ -204,17 +206,23 @@ 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. LIB[]NAME= @@ -270,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 @@ -321,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 @@ -331,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 @@ -349,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 @@ -375,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 @@ -475,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. @@ -525,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;; @@ -548,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 @@ -607,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 @@ -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/source/srcm4/lib-prefix.m4 b/source/srcm4/lib-prefix.m4 index 8adb17b..999f712 100644 --- a/source/srcm4/lib-prefix.m4 +++ b/source/srcm4/lib-prefix.m4 @@ -1,5 +1,5 @@ -# lib-prefix.m4 serial 14 -dnl Copyright (C) 2001-2005, 2008-2019 Free Software Foundation, Inc. +# lib-prefix.m4 serial 20 +dnl Copyright (C) 2001-2005, 2008-2022 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. @@ -147,21 +147,24 @@ AC_DEFUN([AC_LIB_WITH_FINAL_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". +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 and lib64. - dnl On glibc systems, the current practice is that on a system supporting + 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. 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 $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 @@ -169,27 +172,75 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB], AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT]) - case "$host_os" in - solaris*) - AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], - [AC_COMPILE_IFELSE( - [AC_LANG_SOURCE( - [[#ifdef _LP64 - int ok; - #else - error fail - #endif - ]])], - [gl_cv_solaris_64bit=yes], - [gl_cv_solaris_64bit=no]) - ]);; - esac + 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], - [acl_libdirstem=lib + [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 @@ -197,53 +248,76 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB], 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 $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 + if test $HOST_CPU_C_ABI_32BIT = no; then + acl_libdirstem2=lib/64 case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + 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, not $prefix/lib64. - if test "$HOST_CPU_C_ABI_32BIT" != yes; then - dnl The result is a property of the system. However, non-system - dnl compilers sometimes have odd library search paths. Therefore - dnl prefer asking /usr/bin/gcc, if available, rather than $CC. - searchpath=`(if test -f /usr/bin/gcc \ - && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \ - LC_ALL=C /usr/bin/gcc -print-search-dirs; \ - else \ - LC_ALL=C $CC -print-search-dirs; \ - fi) 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" + 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" - acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2" + test -n "$acl_libdirstem3" || acl_libdirstem3="$acl_libdirstem" + acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2,$acl_libdirstem3" ]) - # Decompose acl_cv_libdirstems into acl_libdirstem and acl_libdirstem2. + 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/.*,//'` + 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/source/srcm4/libunistring-base.m4 b/source/srcm4/libunistring-base.m4 index 829e71c..a0892da 100644 --- a/source/srcm4/libunistring-base.m4 +++ b/source/srcm4/libunistring-base.m4 @@ -1,5 +1,5 @@ -# libunistring-base.m4 serial 5 -dnl Copyright (C) 2010-2019 Free Software Foundation, Inc. +# libunistring-base.m4 serial 7 +dnl Copyright (C) 2010-2022 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. @@ -24,7 +24,7 @@ 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])]) ]) @@ -51,7 +51,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 diff --git a/source/srcm4/limits-h.m4 b/source/srcm4/limits-h.m4 index 68f724c..5d5a5bf 100644 --- a/source/srcm4/limits-h.m4 +++ b/source/srcm4/limits-h.m4 @@ -1,6 +1,6 @@ dnl Check whether limits.h has needed features. -dnl Copyright 2016-2019 Free Software Foundation, Inc. +dnl Copyright 2016-2022 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,7 +11,7 @@ AC_DEFUN_ONCE([gl_LIMITS_H], [ gl_CHECK_NEXT_HEADERS([limits.h]) - AC_CACHE_CHECK([whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.], + AC_CACHE_CHECK([whether limits.h has WORD_BIT, BOOL_WIDTH etc.], [gl_cv_header_limits_width], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( @@ -22,22 +22,20 @@ AC_DEFUN_ONCE([gl_LIMITS_H], long long llm = LLONG_MAX; int wb = WORD_BIT; int ullw = ULLONG_WIDTH; + int bw = BOOL_WIDTH; ]])], [gl_cv_header_limits_width=yes], [gl_cv_header_limits_width=no])]) if test "$gl_cv_header_limits_width" = yes; then - LIMITS_H= + GL_GENERATE_LIMITS_H=false else - LIMITS_H=limits.h + GL_GENERATE_LIMITS_H=true fi - AC_SUBST([LIMITS_H]) - AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"]) ]) dnl Unconditionally enables the replacement of . AC_DEFUN([gl_REPLACE_LIMITS_H], [ AC_REQUIRE([gl_LIMITS_H]) - LIMITS_H='limits.h' - AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"]) + GL_GENERATE_LIMITS_H=true ]) diff --git a/source/srcm4/lock.m4 b/source/srcm4/lock.m4 deleted file mode 100644 index 93b76fa..0000000 --- a/source/srcm4/lock.m4 +++ /dev/null @@ -1,47 +0,0 @@ -# lock.m4 serial 14 -dnl Copyright (C) 2005-2019 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 Mac OS X 10.1 lack the pthread_rwlock_t type and the - # pthread_rwlock_* functions. - has_rwlock=false - AC_CHECK_TYPE([pthread_rwlock_t], - [has_rwlock=true - AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1], - [Define if the POSIX multithreading library has read/write locks.])], - [], - [#include ]) - if $has_rwlock; then - gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER - fi - # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM( - [[#include ]], - [[ -#if __FreeBSD__ == 4 -error "No, in FreeBSD 4.0 recursive mutexes actually don't work." -#elif (defined __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ \ - && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070) -error "No, in Mac OS X < 10.7 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/glthread/lock.c. -AC_DEFUN([gl_PREREQ_LOCK], [:]) diff --git a/source/srcm4/longlong.m4 b/source/srcm4/longlong.m4 deleted file mode 100644 index 08d0e36..0000000 --- a/source/srcm4/longlong.m4 +++ /dev/null @@ -1,113 +0,0 @@ -# longlong.m4 serial 18 -dnl Copyright (C) 1999-2007, 2009-2019 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_PREREQ([2.62]) - -# Define HAVE_LONG_LONG_INT if 'long long int' works. -# This can be faster than what's in Autoconf 2.62 through 2.68. - -# 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_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) - AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], - [ac_cv_type_long_long_int=yes - if test "x${ac_cv_prog_cc_c99-no}" = xno; then - ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int - if test $ac_cv_type_long_long_int = yes; then - dnl Catch a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. - dnl If cross compiling, assume the bug is not 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=no], - [:]) - fi - fi]) - 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 can be faster than what's in Autoconf 2.62 through 2.68. - -# 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_cv_type_unsigned_long_long_int=yes - if test "x${ac_cv_prog_cc_c99-no}" = xno; then - AC_LINK_IFELSE( - [_AC_TYPE_LONG_LONG_SNIPPET], - [], - [ac_cv_type_unsigned_long_long_int=no]) - fi]) - 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/source/srcm4/lstat.m4 b/source/srcm4/lstat.m4 index ace1638..d987060 100644 --- a/source/srcm4/lstat.m4 +++ b/source/srcm4/lstat.m4 @@ -1,6 +1,6 @@ -# serial 32 +# serial 33 -# Copyright (C) 1997-2001, 2003-2019 Free Software Foundation, Inc. +# Copyright (C) 1997-2001, 2003-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -63,8 +63,8 @@ AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK], # Guess no on native Windows. gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; *) - # If we don't know, assume the worst. - gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + gl_cv_func_lstat_dereferences_slashed_symlink="$gl_cross_guess_normal" ;; esac ]) rm -f conftest.sym conftest.file diff --git a/source/srcm4/malloc.m4 b/source/srcm4/malloc.m4 index c469c45..6b76c1e 100644 --- a/source/srcm4/malloc.m4 +++ b/source/srcm4/malloc.m4 @@ -1,29 +1,21 @@ -# malloc.m4 serial 19 -dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc. +# malloc.m4 serial 28 +dnl Copyright (C) 2007, 2009-2022 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 adapted with modifications from upstream Autoconf here: -# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=04be2b7a29d65d9a08e64e8e56e594c91749598c +# https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n949 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_CACHE_CHECK([whether malloc (0) returns nonnull], [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 + [[#include ]], - [[char *p = malloc (0); + [[void *p = malloc (0); int result = !p; free (p); return result;]]) @@ -32,77 +24,152 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF], [ac_cv_func_malloc_0_nonnull=no], [case "$host_os" in # Guess yes on platforms where we know the result. - *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \ - | hpux* | solaris* | cygwin* | mingw*) + *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ + | gnu* | *-musl* | midnightbsd* \ + | hpux* | solaris* | cygwin* | mingw* | msys* ) ac_cv_func_malloc_0_nonnull="guessing yes" ;; - # If we don't know, assume the worst. - *) ac_cv_func_malloc_0_nonnull="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;; esac ]) ]) - case "$ac_cv_func_malloc_0_nonnull" in - *yes) - $1 - ;; - *) - $2 - ;; - esac + AS_CASE([$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. +# Replace malloc if it is not compatible with GNU libc. 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 + AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) + REPLACE_MALLOC_FOR_MALLOC_GNU="$REPLACE_MALLOC_FOR_MALLOC_POSIX" + if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 0; then + _AC_FUNC_MALLOC_IF([], [REPLACE_MALLOC_FOR_MALLOC_GNU=1]) + fi +]) + +# gl_FUNC_MALLOC_PTRDIFF +# ---------------------- +# Test whether malloc (N) reliably fails when N exceeds PTRDIFF_MAX, +# and replace malloc otherwise. +AC_DEFUN([gl_FUNC_MALLOC_PTRDIFF], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF]) + test "$gl_cv_malloc_ptrdiff" = yes || REPLACE_MALLOC_FOR_MALLOC_POSIX=1 +]) + +# Test whether malloc, realloc, calloc refuse to create objects +# larger than what can be expressed in ptrdiff_t. +# Set gl_cv_func_malloc_gnu to yes or no accordingly. +AC_DEFUN([gl_CHECK_MALLOC_PTRDIFF], +[ + AC_CACHE_CHECK([whether malloc is ptrdiff_t safe], + [gl_cv_malloc_ptrdiff], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[/* 64-bit ptrdiff_t is so wide that no practical platform + can exceed it. */ + #define WIDE_PTRDIFF (PTRDIFF_MAX >> 31 >> 31 != 0) + + /* On rare machines where size_t fits in ptrdiff_t there + is no problem. */ + #define NARROW_SIZE (SIZE_MAX <= PTRDIFF_MAX) + + /* glibc 2.30 and later malloc refuses to exceed ptrdiff_t + bounds even on 32-bit platforms. We don't know which + non-glibc systems are safe. */ + #define KNOWN_SAFE (2 < __GLIBC__ + (30 <= __GLIBC_MINOR__)) + + #if WIDE_PTRDIFF || NARROW_SIZE || KNOWN_SAFE + return 0; + #else + #error "malloc might not be ptrdiff_t safe" + syntax error + #endif + ]])], + [gl_cv_malloc_ptrdiff=yes], + [gl_cv_malloc_ptrdiff=no]) ]) ]) # gl_FUNC_MALLOC_POSIX # -------------------- # Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it -# fails), and replace malloc if it is not. +# fails, and doesn't mess up with ptrdiff_t overflow), and replace +# malloc if it is not. AC_DEFUN([gl_FUNC_MALLOC_POSIX], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_MALLOC_PTRDIFF]) AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) - if test $gl_cv_func_malloc_posix = yes; then + if test "$gl_cv_func_malloc_posix" = yes; then AC_DEFINE([HAVE_MALLOC_POSIX], [1], - [Define if the 'malloc' function is POSIX compliant.]) + [Define if malloc, realloc, and calloc set errno on allocation failure.]) else - REPLACE_MALLOC=1 + REPLACE_MALLOC_FOR_MALLOC_POSIX=1 fi ]) -# Test whether malloc, realloc, calloc are POSIX compliant, +# Test whether malloc, realloc, calloc set errno to ENOMEM on failure. # 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], + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_CACHE_CHECK([whether malloc, realloc, calloc set errno on failure], [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 __CYGWIN__ - choke me - #endif - ]])], - [gl_cv_func_malloc_posix=yes], - [gl_cv_func_malloc_posix=no]) + dnl all Unix implementations of the function set errno on failure, + dnl except on those platforms where we have seen 'test-malloc-gnu', + dnl 'test-realloc-gnu', 'test-calloc-gnu' fail. + case "$host_os" in + mingw*) + gl_cv_func_malloc_posix=no ;; + irix* | solaris*) + dnl On IRIX 6.5, the three functions return NULL with errno unset + dnl when the argument is larger than PTRDIFF_MAX. + dnl On Solaris 11.3, the three functions return NULL with errno set + dnl to EAGAIN, not ENOMEM, when the argument is larger than + dnl PTRDIFF_MAX. + dnl Here is a test program: +m4_divert_push([KILL]) +#include +#include +#include +#define ptrdiff_t long +#ifndef PTRDIFF_MAX +# define PTRDIFF_MAX ((ptrdiff_t) ((1UL << (8 * sizeof (ptrdiff_t) - 1)) - 1)) +#endif + +int main () +{ + void *p; + + fprintf (stderr, "PTRDIFF_MAX = %lu\n", (unsigned long) PTRDIFF_MAX); + + errno = 0; + p = malloc ((unsigned long) PTRDIFF_MAX + 1); + fprintf (stderr, "p=%p errno=%d\n", p, errno); + + errno = 0; + p = calloc (PTRDIFF_MAX / 2 + 1, 2); + fprintf (stderr, "p=%p errno=%d\n", p, errno); + + errno = 0; + p = realloc (NULL, (unsigned long) PTRDIFF_MAX + 1); + fprintf (stderr, "p=%p errno=%d\n", p, errno); + + return 0; +} +m4_divert_pop([KILL]) + gl_cv_func_malloc_posix=no ;; + *) + gl_cv_func_malloc_posix=yes ;; + esac ]) ]) diff --git a/source/srcm4/malloca.m4 b/source/srcm4/malloca.m4 index 820f40a..77eb96a 100644 --- a/source/srcm4/malloca.m4 +++ b/source/srcm4/malloca.m4 @@ -1,5 +1,5 @@ -# malloca.m4 serial 1 -dnl Copyright (C) 2003-2004, 2006-2007, 2009-2019 Free Software Foundation, +# malloca.m4 serial 2 +dnl Copyright (C) 2003-2004, 2006-2007, 2009-2022 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/source/srcm4/mbstate_t.m4 b/source/srcm4/mbstate_t.m4 index f669753..a6eba1b 100644 --- a/source/srcm4/mbstate_t.m4 +++ b/source/srcm4/mbstate_t.m4 @@ -1,5 +1,5 @@ -# mbstate_t.m4 serial 13 -dnl Copyright (C) 2000-2002, 2008-2019 Free Software Foundation, Inc. +# mbstate_t.m4 serial 14 +dnl Copyright (C) 2000-2002, 2008-2022 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. @@ -20,14 +20,7 @@ AC_DEFUN([AC_TYPE_MBSTATE_T], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT[ -/* 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 ]], + #include ]], [[mbstate_t x; return sizeof x;]])], [ac_cv_type_mbstate_t=yes], [ac_cv_type_mbstate_t=no])]) diff --git a/source/srcm4/mempcpy.m4 b/source/srcm4/mempcpy.m4 new file mode 100644 index 0000000..1107eb4 --- /dev/null +++ b/source/srcm4/mempcpy.m4 @@ -0,0 +1,26 @@ +# mempcpy.m4 serial 12 +dnl Copyright (C) 2003-2004, 2006-2007, 2009-2022 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. + +AC_DEFUN([gl_FUNC_MEMPCPY], +[ + dnl Persuade glibc to declare mempcpy(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + dnl The mempcpy() declaration in lib/string.in.h uses 'restrict'. + AC_REQUIRE([AC_C_RESTRICT]) + + AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_FUNCS([mempcpy]) + if test $ac_cv_func_mempcpy = no; then + HAVE_MEMPCPY=0 + fi +]) + +# Prerequisites of lib/mempcpy.c. +AC_DEFUN([gl_PREREQ_MEMPCPY], [ + : +]) diff --git a/source/srcm4/minmax.m4 b/source/srcm4/minmax.m4 new file mode 100644 index 0000000..b976739 --- /dev/null +++ b/source/srcm4/minmax.m4 @@ -0,0 +1,44 @@ +# minmax.m4 serial 4 +dnl Copyright (C) 2005, 2009-2022 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.53]) + +AC_DEFUN([gl_MINMAX], +[ + AC_REQUIRE([gl_PREREQ_MINMAX]) +]) + +# Prerequisites of lib/minmax.h. +AC_DEFUN([gl_PREREQ_MINMAX], +[ + gl_MINMAX_IN_HEADER([limits.h]) + gl_MINMAX_IN_HEADER([sys/param.h]) +]) + +dnl gl_MINMAX_IN_HEADER(HEADER) +dnl The parameter has to be a literal header name; it cannot be macro, +dnl nor a shell variable. (Because autoheader collects only AC_DEFINE +dnl invocations with a literal macro name.) +AC_DEFUN([gl_MINMAX_IN_HEADER], +[ + m4_pushdef([header], AS_TR_SH([$1])) + m4_pushdef([HEADER], AS_TR_CPP([$1])) + AC_CACHE_CHECK([whether <$1> defines MIN and MAX], + [gl_cv_minmax_in_]header, + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include <$1> + int x = MIN (42, 17);]], + [[]])], + [gl_cv_minmax_in_]header[=yes], + [gl_cv_minmax_in_]header[=no])]) + if test $gl_cv_minmax_in_[]header = yes; then + AC_DEFINE([HAVE_MINMAX_IN_]HEADER, 1, + [Define to 1 if <$1> defines the MIN and MAX macros.]) + fi + m4_popdef([HEADER]) + m4_popdef([header]) +]) diff --git a/source/srcm4/mode_t.m4 b/source/srcm4/mode_t.m4 new file mode 100644 index 0000000..e08d27a --- /dev/null +++ b/source/srcm4/mode_t.m4 @@ -0,0 +1,26 @@ +# mode_t.m4 serial 2 +dnl Copyright (C) 2009-2022 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 using mode_t, it's sufficient to use AC_TYPE_MODE_T and +# include . + +# Define PROMOTED_MODE_T to the type that is the result of "default argument +# promotion" (ISO C 6.5.2.2.(6)) of the type mode_t. +AC_DEFUN([gl_PROMOTED_TYPE_MODE_T], +[ + AC_REQUIRE([AC_TYPE_MODE_T]) + AC_CACHE_CHECK([for promoted mode_t type], [gl_cv_promoted_mode_t], [ + dnl Assume mode_t promotes to 'int' if and only if it is smaller than 'int', + dnl and to itself otherwise. This assumption is not guaranteed by the ISO C + dnl standard, but we don't know of any real-world counterexamples. + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];]])], + [gl_cv_promoted_mode_t='int'], + [gl_cv_promoted_mode_t='mode_t']) + ]) + AC_DEFINE_UNQUOTED([PROMOTED_MODE_T], [$gl_cv_promoted_mode_t], + [Define to the type that is the result of default argument promotions of type mode_t.]) +]) diff --git a/source/srcm4/msvc-inval.m4 b/source/srcm4/msvc-inval.m4 index 4b95876..b32cf6e 100644 --- a/source/srcm4/msvc-inval.m4 +++ b/source/srcm4/msvc-inval.m4 @@ -1,5 +1,5 @@ # msvc-inval.m4 serial 1 -dnl Copyright (C) 2011-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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/source/srcm4/msvc-nothrow.m4 b/source/srcm4/msvc-nothrow.m4 index 7e73b40..16ceb1f 100644 --- a/source/srcm4/msvc-nothrow.m4 +++ b/source/srcm4/msvc-nothrow.m4 @@ -1,5 +1,5 @@ # msvc-nothrow.m4 serial 1 -dnl Copyright (C) 2011-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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/source/srcm4/multiarch.m4 b/source/srcm4/multiarch.m4 index d48316e..5d94276 100644 --- a/source/srcm4/multiarch.m4 +++ b/source/srcm4/multiarch.m4 @@ -1,5 +1,5 @@ -# multiarch.m4 serial 7 -dnl Copyright (C) 2008-2019 Free Software Foundation, Inc. +# multiarch.m4 serial 9 +dnl Copyright (C) 2008-2022 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. @@ -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/source/srcm4/nls.m4 b/source/srcm4/nls.m4 index b62f614..7c11c90 100644 --- a/source/srcm4/nls.m4 +++ b/source/srcm4/nls.m4 @@ -1,16 +1,16 @@ -# nls.m4 serial 5 (gettext-0.18) -dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019 Free Software -dnl Foundation, Inc. +# nls.m4 serial 6 (gettext-0.20.2) +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019-2022 Free +dnl 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 be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser 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 by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. diff --git a/source/srcm4/nocrash.m4 b/source/srcm4/nocrash.m4 index 4d9f022..91f00c1 100644 --- a/source/srcm4/nocrash.m4 +++ b/source/srcm4/nocrash.m4 @@ -1,5 +1,5 @@ # nocrash.m4 serial 5 -dnl Copyright (C) 2005, 2009-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2005, 2009-2022 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. @@ -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,7 +72,7 @@ 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); } diff --git a/source/srcm4/off_t.m4 b/source/srcm4/off_t.m4 index 711a2d4..0890ada 100644 --- a/source/srcm4/off_t.m4 +++ b/source/srcm4/off_t.m4 @@ -1,5 +1,5 @@ # off_t.m4 serial 1 -dnl Copyright (C) 2012-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2012-2022 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/source/srcm4/open-cloexec.m4 b/source/srcm4/open-cloexec.m4 new file mode 100644 index 0000000..16cd5ec --- /dev/null +++ b/source/srcm4/open-cloexec.m4 @@ -0,0 +1,21 @@ +# Test whether O_CLOEXEC is defined. + +dnl Copyright 2017-2022 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/source/srcm4/open-slash.m4 b/source/srcm4/open-slash.m4 new file mode 100644 index 0000000..4fbf491 --- /dev/null +++ b/source/srcm4/open-slash.m4 @@ -0,0 +1,60 @@ +# open-slash.m4 serial 2 +dnl Copyright (C) 2007-2022 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/source/srcm4/open.m4 b/source/srcm4/open.m4 new file mode 100644 index 0000000..f82fd6c --- /dev/null +++ b/source/srcm4/open.m4 @@ -0,0 +1,56 @@ +# open.m4 serial 15 +dnl Copyright (C) 2007-2022 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_OPEN], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_PREPROC_O_CLOEXEC]) + case "$host_os" in + mingw* | 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]) + 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) + REPLACE_OPEN=1 + ;; + esac + ;; + esac + dnl Replace open() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + if test $REPLACE_OPEN = 0; then + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + REPLACE_OPEN=1 + fi + fi + ]) + dnl Replace open() for supporting the gnulib-defined O_NONBLOCK flag. + m4_ifdef([gl_NONBLOCKING_IO], [ + if test $REPLACE_OPEN = 0; then + gl_NONBLOCKING_IO + if test $gl_cv_have_open_O_NONBLOCK != yes; then + REPLACE_OPEN=1 + fi + fi + ]) +]) + +# Prerequisites of lib/open.c. +AC_DEFUN([gl_PREREQ_OPEN], +[ + AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T]) + : +]) diff --git a/source/srcm4/pathmax.m4 b/source/srcm4/pathmax.m4 index 0770aca..44add99 100644 --- a/source/srcm4/pathmax.m4 +++ b/source/srcm4/pathmax.m4 @@ -1,5 +1,5 @@ # pathmax.m4 serial 11 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2019 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2022 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, diff --git a/source/srcm4/pid_t.m4 b/source/srcm4/pid_t.m4 new file mode 100644 index 0000000..cb26f36 --- /dev/null +++ b/source/srcm4/pid_t.m4 @@ -0,0 +1,38 @@ +# pid_t.m4 serial 4 +dnl Copyright (C) 2020-2022 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. + +# The following implementation works around a problem in autoconf <= 2.69. +m4_version_prereq([2.70], [], [ + +dnl Define pid_t if the headers don't define it. +AC_DEFUN([AC_TYPE_PID_T], +[ + AC_CHECK_TYPE([pid_t], + [], + [dnl On 64-bit native Windows, define it to the equivalent of 'intptr_t' + dnl (= 'long long' = '__int64'), because that is the return type + dnl of the _spawnv* functions + dnl + dnl and the argument type of the _cwait function + dnl . + dnl Otherwise (on 32-bit Windows and on old Unix platforms), define it + dnl to 'int'. + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + #if defined _WIN64 && !defined __CYGWIN__ + LLP64 + #endif + ]]) + ], + [gl_pid_type='int'], + [gl_pid_type='__int64']) + AC_DEFINE_UNQUOTED([pid_t], [$gl_pid_type], + [Define as a signed integer type capable of holding a process identifier.]) + ], + [AC_INCLUDES_DEFAULT]) +]) + +])# m4_version_prereq 2.70 diff --git a/source/srcm4/po.m4 b/source/srcm4/po.m4 index ce72d01..ace6f96 100644 --- a/source/srcm4/po.m4 +++ b/source/srcm4/po.m4 @@ -1,15 +1,15 @@ -# po.m4 serial 24a -dnl Copyright (C) 1995-2014, 2016, 2018-2019 Free Software Foundation, Inc. +# po.m4 serial 31 (gettext-0.20.2) +dnl Copyright (C) 1995-2014, 2016, 2018-2022 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 be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser 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 by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. @@ -30,7 +30,7 @@ AC_DEFUN([AM_PO_SUBDIRS], 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.19]) + AC_SUBST([GETTEXT_MACRO_VERSION], [0.20]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. @@ -45,13 +45,6 @@ AC_DEFUN([AM_PO_SUBDIRS], AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) dnl Test whether it is GNU msgfmt >= 0.15. -changequote(,)dnl - 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 -changequote([,])dnl - AC_SUBST([MSGFMT_015]) changequote(,)dnl 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=: ;; @@ -83,6 +76,22 @@ changequote([,])dnl AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) + dnl Test whether it is GNU msgmerge >= 0.20. + if LC_ALL=C $MSGMERGE --help | grep ' --for-msgfmt ' >/dev/null; then + MSGMERGE_FOR_MSGFMT_OPTION='--for-msgfmt' + else + dnl Test whether it is GNU msgmerge >= 0.12. + if LC_ALL=C $MSGMERGE --help | grep ' --no-fuzzy-matching ' >/dev/null; then + MSGMERGE_FOR_MSGFMT_OPTION='--no-fuzzy-matching --no-location --quiet' + else + dnl With these old versions, $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) is + dnl slow. But this is not a big problem, as such old gettext versions are + dnl hardly in use any more. + MSGMERGE_FOR_MSGFMT_OPTION='--no-location --quiet' + fi + fi + AC_SUBST([MSGMERGE_FOR_MSGFMT_OPTION]) + dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) @@ -317,9 +326,9 @@ changequote([,])dnl # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) # Compute PROPERTIESFILES - # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties) + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).properties) # Compute CLASSFILES - # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class) + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).class) # Compute QMFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm) # Compute MSGFILES @@ -344,8 +353,8 @@ changequote([,])dnl UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties" - CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class" + PROPERTIESFILES="$PROPERTIESFILES \$(srcdir)/\$(DOMAIN)_$lang.properties" + CLASSFILES="$CLASSFILES \$(srcdir)/\$(DOMAIN)_$lang.class" QMFILES="$QMFILES $srcdirpre$lang.qm" frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg" diff --git a/source/srcm4/printf-posix.m4 b/source/srcm4/printf-posix.m4 deleted file mode 100644 index 2707cf7..0000000 --- a/source/srcm4/printf-posix.m4 +++ /dev/null @@ -1,48 +0,0 @@ -# printf-posix.m4 serial 6 (gettext-0.18.2) -dnl Copyright (C) 2003, 2007, 2009-2019 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 the printf() function supports POSIX/XSI format strings with -dnl positions. - -AC_DEFUN([gt_PRINTF_POSIX], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings], - gt_cv_func_printf_posix, - [ - AC_RUN_IFELSE( - [AC_LANG_SOURCE([[ -#include -#include -/* The string "%2$d %1$d", with dollar characters protected from the shell's - dollar expansion (possibly an autoconf bug). */ -static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; -static char buf[100]; -int main () -{ - sprintf (buf, format, 33, 55); - return (strcmp (buf, "55 33") != 0); -}]])], - [gt_cv_func_printf_posix=yes], - [gt_cv_func_printf_posix=no], - [ - AC_EGREP_CPP([notposix], [ -#if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ - notposix -#endif - ], - [gt_cv_func_printf_posix="guessing no"], - [gt_cv_func_printf_posix="guessing yes"]) - ]) - ]) - case $gt_cv_func_printf_posix in - *yes) - AC_DEFINE([HAVE_POSIX_PRINTF], [1], - [Define if your printf() function supports format strings with positions.]) - ;; - esac -]) diff --git a/source/srcm4/progtest.m4 b/source/srcm4/progtest.m4 index 5f186b1..4a5b0b4 100644 --- a/source/srcm4/progtest.m4 +++ b/source/srcm4/progtest.m4 @@ -1,22 +1,22 @@ -# progtest.m4 serial 7 (gettext-0.18.2) -dnl Copyright (C) 1996-2003, 2005, 2008-2019 Free Software Foundation, Inc. +# progtest.m4 serial 9 (gettext-0.21.1) +dnl Copyright (C) 1996-2003, 2005, 2008-2022 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 be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser 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 by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. -AC_PREREQ([2.50]) +AC_PREREQ([2.53]) # Search path for a program which passes the given test. @@ -61,7 +61,7 @@ AC_CACHE_VAL([ac_cv_path_$1], ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in ifelse([$5], , $PATH, [$5]); do + for ac_dir in m4_if([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do @@ -77,12 +77,12 @@ AC_CACHE_VAL([ac_cv_path_$1], IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +m4_if([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" -if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then +if test m4_if([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$][$1]) else AC_MSG_RESULT([no]) diff --git a/source/srcm4/raise.m4 b/source/srcm4/raise.m4 index f7661e6..0c78d09 100644 --- a/source/srcm4/raise.m4 +++ b/source/srcm4/raise.m4 @@ -1,5 +1,5 @@ # raise.m4 serial 4 -dnl Copyright (C) 2011-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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/source/srcm4/rawmemchr.m4 b/source/srcm4/rawmemchr.m4 new file mode 100644 index 0000000..dae4193 --- /dev/null +++ b/source/srcm4/rawmemchr.m4 @@ -0,0 +1,20 @@ +# rawmemchr.m4 serial 3 +dnl Copyright (C) 2003, 2007-2022 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_RAWMEMCHR], +[ + dnl Persuade glibc to declare rawmemchr(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_FUNCS([rawmemchr]) + if test $ac_cv_func_rawmemchr = no; then + HAVE_RAWMEMCHR=0 + fi +]) + +# Prerequisites of lib/strchrnul.c. +AC_DEFUN([gl_PREREQ_RAWMEMCHR], [:]) diff --git a/source/srcm4/read.m4 b/source/srcm4/read.m4 index b1e77d2..1c199ea 100644 --- a/source/srcm4/read.m4 +++ b/source/srcm4/read.m4 @@ -1,5 +1,5 @@ # read.m4 serial 5 -dnl Copyright (C) 2011-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2022 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/source/srcm4/readlink.m4 b/source/srcm4/readlink.m4 index 2d76815..d1dd521 100644 --- a/source/srcm4/readlink.m4 +++ b/source/srcm4/readlink.m4 @@ -1,5 +1,5 @@ -# readlink.m4 serial 14 -dnl Copyright (C) 2003, 2007, 2009-2019 Free Software Foundation, Inc. +# readlink.m4 serial 16 +dnl Copyright (C) 2003, 2007, 2009-2022 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,7 +23,7 @@ AC_DEFUN([gl_FUNC_READLINK], dnl Solaris 9 ignores trailing slash. dnl FreeBSD 7.2 dereferences only one level of links with trailing slash. AC_CACHE_CHECK([whether readlink handles trailing slash correctly], - [gl_cv_func_readlink_works], + [gl_cv_func_readlink_trailing_slash], [# We have readlink, so assume ln -s works. ln -s conftest.no-such conftest.link ln -s conftest.link conftest.lnk2 @@ -32,18 +32,22 @@ AC_DEFUN([gl_FUNC_READLINK], [[#include ]], [[char buf[20]; return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;]])], - [gl_cv_func_readlink_works=yes], [gl_cv_func_readlink_works=no], + [gl_cv_func_readlink_trailing_slash=yes], + [gl_cv_func_readlink_trailing_slash=no], [case "$host_os" in - # Guess yes on Linux systems. - linux-* | linux) gl_cv_func_readlink_works="guessing yes" ;; - # Guess yes on glibc systems. - *-gnu* | gnu*) gl_cv_func_readlink_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_readlink_works="guessing no" ;; + # Guess yes on Linux or glibc systems. + linux-* | linux | *-gnu* | gnu*) + gl_cv_func_readlink_trailing_slash="guessing yes" ;; + # Guess no on AIX or HP-UX. + aix* | hpux*) + gl_cv_func_readlink_trailing_slash="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) + gl_cv_func_readlink_trailing_slash="$gl_cross_guess_normal" ;; esac ]) rm -f conftest.link conftest.lnk2]) - case "$gl_cv_func_readlink_works" in + case "$gl_cv_func_readlink_trailing_slash" in *yes) if test "$gl_cv_decl_readlink_works" != yes; then REPLACE_READLINK=1 @@ -55,6 +59,43 @@ AC_DEFUN([gl_FUNC_READLINK], REPLACE_READLINK=1 ;; esac + + AC_CACHE_CHECK([whether readlink truncates results correctly], + [gl_cv_func_readlink_truncate], + [# We have readlink, so assume ln -s works. + ln -s ab conftest.link + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include +]], [[char c; + return readlink ("conftest.link", &c, 1) != 1;]])], + [gl_cv_func_readlink_truncate=yes], + [gl_cv_func_readlink_truncate=no], + [case "$host_os" in + # Guess yes on Linux or glibc systems. + linux-* | linux | *-gnu* | gnu*) + gl_cv_func_readlink_truncate="guessing yes" ;; + # Guess no on AIX or HP-UX. + aix* | hpux*) + gl_cv_func_readlink_truncate="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) + gl_cv_func_readlink_truncate="$gl_cross_guess_normal" ;; + esac + ]) + rm -f conftest.link conftest.lnk2]) + case $gl_cv_func_readlink_truncate in + *yes) + if test "$gl_cv_decl_readlink_works" != yes; then + REPLACE_READLINK=1 + fi + ;; + *) + AC_DEFINE([READLINK_TRUNCATE_BUG], [1], [Define to 1 if readlink + sets errno instead of truncating a too-long link.]) + REPLACE_READLINK=1 + ;; + esac fi ]) diff --git a/source/srcm4/realloc.m4 b/source/srcm4/realloc.m4 new file mode 100644 index 0000000..86e57c2 --- /dev/null +++ b/source/srcm4/realloc.m4 @@ -0,0 +1,63 @@ +# realloc.m4 serial 26 +dnl Copyright (C) 2007, 2009-2022 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. + +# This is adapted with modifications from upstream Autoconf here: +# https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n1455 +AC_DEFUN([_AC_FUNC_REALLOC_IF], +[ + AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles + AC_CACHE_CHECK([whether realloc (0, 0) returns nonnull], + [ac_cv_func_realloc_0_nonnull], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[void *p = realloc (0, 0); + int result = !p; + free (p); + return result;]]) + ], + [ac_cv_func_realloc_0_nonnull=yes], + [ac_cv_func_realloc_0_nonnull=no], + [case "$host_os" in + # Guess yes on platforms where we know the result. + *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ + | gnu* | *-musl* | midnightbsd* \ + | hpux* | solaris* | cygwin* | mingw* | msys* ) + ac_cv_func_realloc_0_nonnull="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) ac_cv_func_realloc_0_nonnull="$gl_cross_guess_normal" ;; + esac + ]) + ]) + AS_CASE([$ac_cv_func_realloc_0_nonnull], [*yes], [$1], [$2]) +])# AC_FUNC_REALLOC + +# gl_FUNC_REALLOC_GNU +# ------------------- +# Replace realloc if it is not compatible with GNU libc. +AC_DEFUN([gl_FUNC_REALLOC_GNU], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_REALLOC_POSIX]) + if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 0; then + _AC_FUNC_REALLOC_IF([], [REPLACE_REALLOC_FOR_REALLOC_GNU=1]) + fi +])# gl_FUNC_REALLOC_GNU + +# gl_FUNC_REALLOC_POSIX +# --------------------- +# Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it +# fails, and doesn't mess up with ptrdiff_t overflow), +# and replace realloc if it is not. +AC_DEFUN([gl_FUNC_REALLOC_POSIX], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) + if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then + REPLACE_REALLOC_FOR_REALLOC_POSIX=1 + fi +]) diff --git a/source/srcm4/relocatable-lib.m4 b/source/srcm4/relocatable-lib.m4 index 25944f5..b8a33e7 100644 --- a/source/srcm4/relocatable-lib.m4 +++ b/source/srcm4/relocatable-lib.m4 @@ -1,5 +1,5 @@ # relocatable-lib.m4 serial 6 -dnl Copyright (C) 2003, 2005-2007, 2009-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2005-2007, 2009-2022 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/source/srcm4/relocatable.m4 b/source/srcm4/relocatable.m4 index bbfb44c..e5740c5 100644 --- a/source/srcm4/relocatable.m4 +++ b/source/srcm4/relocatable.m4 @@ -1,5 +1,5 @@ -# relocatable.m4 serial 23 -dnl Copyright (C) 2003, 2005-2007, 2009-2019 Free Software Foundation, Inc. +# relocatable.m4 serial 24 +dnl Copyright (C) 2003, 2005-2007, 2009-2022 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. @@ -57,7 +57,7 @@ AC_DEFUN([gl_RELOCATABLE_BODY], # glibc systems, Linux with musl libc: yes. Android: no. linux*-android*) ;; linux* | kfreebsd*) use_elf_origin_trick=yes ;; - # Hurd: + # Hurd: # only after the glibc commit from 2018-01-08 # gnu*) @@ -68,10 +68,11 @@ AC_DEFUN([gl_RELOCATABLE_BODY], fi ;; changequote(,)dnl - # FreeBSD >= 7.3, DragonFly >= 3.0: yes. + # FreeBSD >= 7.3, DragonFly >= 3.0, MidnightBSD >= 1.1: yes. freebsd | freebsd[1-7] | freebsd[1-6].* | freebsd7.[0-2]) ;; dragonfly | dragonfly[1-2] | dragonfly[1-2].*) ;; - freebsd* | dragonfly*) use_elf_origin_trick=yes ;; + midnightbsd | midnightbsd0* | midnightbsd1.0*) ;; + freebsd* | dragonfly* | midnightbsd*) use_elf_origin_trick=yes ;; # NetBSD >= 8.0: yes. netbsd | netbsd[1-7] | netbsd[1-7].*) ;; netbsdelf | netbsdelf[1-7] | netbsdelf[1-7].*) ;; diff --git a/source/srcm4/safe-read.m4 b/source/srcm4/safe-read.m4 index d133e05..54d4769 100644 --- a/source/srcm4/safe-read.m4 +++ b/source/srcm4/safe-read.m4 @@ -1,5 +1,5 @@ # safe-read.m4 serial 6 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2019 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2022 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, diff --git a/source/srcm4/setenv.m4 b/source/srcm4/setenv.m4 index a8f83d6..2000039 100644 --- a/source/srcm4/setenv.m4 +++ b/source/srcm4/setenv.m4 @@ -1,5 +1,5 @@ -# setenv.m4 serial 28 -dnl Copyright (C) 2001-2004, 2006-2019 Free Software Foundation, Inc. +# setenv.m4 serial 30 +dnl Copyright (C) 2001-2004, 2006-2022 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. @@ -39,8 +39,8 @@ AC_DEFUN([gl_FUNC_SETENV], *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;; # Guess yes on musl systems. *-musl*) gl_cv_func_setenv_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_setenv_works="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_setenv_works="$gl_cross_guess_normal" ;; esac ])]) case "$gl_cv_func_setenv_works" in @@ -106,35 +106,39 @@ int unsetenv (const char *name); 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 - ])]) + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM([[ + #include + #include + extern char **environ; + ]GL_MDA_DEFINES], + [[ + 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, obey --enable-cross-guesses. + *) gl_cv_func_unsetenv_works="$gl_cross_guess_normal" ;; + esac + ]) + ]) case "$gl_cv_func_unsetenv_works" in *yes) ;; *) diff --git a/source/srcm4/signal_h.m4 b/source/srcm4/signal_h.m4 index 3acec64..4c05c62 100644 --- a/source/srcm4/signal_h.m4 +++ b/source/srcm4/signal_h.m4 @@ -1,10 +1,10 @@ -# signal_h.m4 serial 18 -dnl Copyright (C) 2007-2019 Free Software Foundation, Inc. +# signal_h.m4 serial 22 +dnl Copyright (C) 2007-2022 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_SIGNAL_H], +AC_DEFUN_ONCE([gl_SIGNAL_H], [ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T]) @@ -34,6 +34,8 @@ AC_DEFUN([gl_SIGNAL_H], ]], [pthread_sigmask sigaction sigaddset sigdelset sigemptyset sigfillset sigismember sigpending sigprocmask]) + + AC_REQUIRE([AC_C_RESTRICT]) ]) AC_DEFUN([gl_CHECK_TYPE_SIGSET_T], @@ -50,22 +52,37 @@ AC_DEFUN([gl_CHECK_TYPE_SIGSET_T], fi ]) +# gl_SIGNAL_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_SIGNAL_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once only. - AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SIGNAL_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_SIGNAL_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SIGNAL_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTHREAD_SIGMASK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAISE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGNAL_H_SIGPIPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGPROCMASK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGACTION]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SIGNAL_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) +]) + AC_DEFUN([gl_SIGNAL_H_DEFAULTS], [ - GNULIB_PTHREAD_SIGMASK=0; AC_SUBST([GNULIB_PTHREAD_SIGMASK]) - GNULIB_RAISE=0; AC_SUBST([GNULIB_RAISE]) - GNULIB_SIGNAL_H_SIGPIPE=0; AC_SUBST([GNULIB_SIGNAL_H_SIGPIPE]) - GNULIB_SIGPROCMASK=0; AC_SUBST([GNULIB_SIGPROCMASK]) - GNULIB_SIGACTION=0; AC_SUBST([GNULIB_SIGACTION]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_POSIX_SIGNALBLOCKING=1; AC_SUBST([HAVE_POSIX_SIGNALBLOCKING]) HAVE_PTHREAD_SIGMASK=1; AC_SUBST([HAVE_PTHREAD_SIGMASK]) diff --git a/source/srcm4/signalblocking.m4 b/source/srcm4/signalblocking.m4 index d722f65..b586ef5 100644 --- a/source/srcm4/signalblocking.m4 +++ b/source/srcm4/signalblocking.m4 @@ -1,5 +1,5 @@ -# signalblocking.m4 serial 14 -dnl Copyright (C) 2001-2002, 2006-2019 Free Software Foundation, Inc. +# signalblocking.m4 serial 17 +dnl Copyright (C) 2001-2002, 2006-2022 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. @@ -13,11 +13,9 @@ AC_DEFUN([gl_SIGNALBLOCKING], [ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T]) - if test $gl_cv_type_sigset_t = yes; then - AC_CHECK_FUNC([sigprocmask], [gl_cv_func_sigprocmask=1]) - fi - if test -z "$gl_cv_func_sigprocmask"; then - HAVE_POSIX_SIGNALBLOCKING=0 + HAVE_POSIX_SIGNALBLOCKING=0 + if test "$gl_cv_type_sigset_t" = yes; then + AC_CHECK_FUNC([sigprocmask], [HAVE_POSIX_SIGNALBLOCKING=1]) fi ]) diff --git a/source/srcm4/sigpipe.m4 b/source/srcm4/sigpipe.m4 index 0d8128c..e052444 100644 --- a/source/srcm4/sigpipe.m4 +++ b/source/srcm4/sigpipe.m4 @@ -1,5 +1,5 @@ -# sigpipe.m4 serial 2 -dnl Copyright (C) 2008-2019 Free Software Foundation, Inc. +# sigpipe.m4 serial 3 +dnl Copyright (C) 2008-2022 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,8 +8,8 @@ dnl Tests whether SIGPIPE is provided by . dnl Sets gl_cv_header_signal_h_SIGPIPE. AC_DEFUN([gl_SIGNAL_SIGPIPE], [ - 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_SIGNAL_SIGPIPE_BODY]) ]) diff --git a/source/srcm4/size_max.m4 b/source/srcm4/size_max.m4 deleted file mode 100644 index ab79052..0000000 --- a/source/srcm4/size_max.m4 +++ /dev/null @@ -1,75 +0,0 @@ -# size_max.m4 serial 11 -dnl Copyright (C) 2003, 2005-2006, 2008-2019 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.61]) - -AC_DEFUN([gl_SIZE_MAX], -[ - AC_CHECK_HEADERS([stdint.h]) - dnl First test whether the system already has SIZE_MAX. - AC_CACHE_CHECK([for SIZE_MAX], [gl_cv_size_max], [ - gl_cv_size_max= - AC_EGREP_CPP([Found it], [ -#include -#if HAVE_STDINT_H -#include -#endif -#ifdef SIZE_MAX -Found it -#endif -], [gl_cv_size_max=yes]) - if test -z "$gl_cv_size_max"; then - dnl Define it ourselves. Here we assume that the type 'size_t' is not wider - dnl than the type 'unsigned long'. Try hard to find a definition that can - dnl be used in a preprocessor #if, i.e. doesn't contain a cast. - AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1], - [#include -#include ], [size_t_bits_minus_1=]) - AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)], - [#include ], [fits_in_uint=]) - if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then - if test $fits_in_uint = 1; then - dnl Even though SIZE_MAX fits in an unsigned int, it must be of type - dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include - extern size_t foo; - extern unsigned long foo; - ]], - [[]])], - [fits_in_uint=0]) - fi - dnl We cannot use 'expr' to simplify this expression, because 'expr' - dnl works only with 'long' integers in the host environment, while we - dnl might be cross-compiling from a 32-bit platform to a 64-bit platform. - if test $fits_in_uint = 1; then - gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" - else - gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" - fi - else - dnl Shouldn't happen, but who knows... - gl_cv_size_max='((size_t)~(size_t)0)' - fi - fi - ]) - if test "$gl_cv_size_max" != yes; then - AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], - [Define as the maximum value of type 'size_t', if the system doesn't define it.]) - fi - dnl Don't redefine SIZE_MAX in config.h if config.h is re-included after - dnl . Remember that the #undef in AH_VERBATIM gets replaced with - dnl #define by AC_DEFINE_UNQUOTED. - AH_VERBATIM([SIZE_MAX], -[/* Define as the maximum value of type 'size_t', if the system doesn't define - it. */ -#ifndef SIZE_MAX -# undef SIZE_MAX -#endif]) -]) diff --git a/source/srcm4/ssize_t.m4 b/source/srcm4/ssize_t.m4 index 38bcee1..03b2b89 100644 --- a/source/srcm4/ssize_t.m4 +++ b/source/srcm4/ssize_t.m4 @@ -1,5 +1,5 @@ # ssize_t.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2001-2003, 2006, 2010-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2003, 2006, 2010-2022 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/source/srcm4/stat-time.m4 b/source/srcm4/stat-time.m4 index 1685788..342857d 100644 --- a/source/srcm4/stat-time.m4 +++ b/source/srcm4/stat-time.m4 @@ -1,6 +1,6 @@ # Checks for stat-related time functions. -# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2019 Free Software +# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2022 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation diff --git a/source/srcm4/stat.m4 b/source/srcm4/stat.m4 index 60040d1..916eb88 100644 --- a/source/srcm4/stat.m4 +++ b/source/srcm4/stat.m4 @@ -1,6 +1,6 @@ -# serial 15 +# serial 18 -# Copyright (C) 2009-2019 Free Software Foundation, Inc. +# Copyright (C) 2009-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -47,8 +47,8 @@ AC_DEFUN([gl_FUNC_STAT], linux-* | linux) 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, assume the worst. - *) gl_cv_func_stat_file_slash="guessing no" ;; + # 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]) @@ -69,6 +69,17 @@ AC_DEFUN([gl_FUNC_STAT], # Prerequisites of lib/stat.c and lib/stat-w32.c. AC_DEFUN([gl_PREREQ_STAT], [ - AC_REQUIRE([gl_HEADER_SYS_STAT_H]) + 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*) + AC_CHECK_HEADERS([sdkddkver.h]) + ;; + esac +]) diff --git a/source/srcm4/std-gnu11.m4 b/source/srcm4/std-gnu11.m4 new file mode 100644 index 0000000..5ca1860 --- /dev/null +++ b/source/srcm4/std-gnu11.m4 @@ -0,0 +1,829 @@ +# Prefer GNU C11 and C++11 to earlier versions. -*- coding: utf-8 -*- + +# This implementation is taken from GNU Autoconf lib/autoconf/c.m4 +# commit 017d5ddd82854911f0119691d91ea8a1438824d6 +# dated Sun Apr 3 13:57:17 2016 -0700 +# This implementation will be obsolete once we can assume Autoconf 2.70 +# or later is installed everywhere a Gnulib program might be developed. + +m4_version_prereq([2.70], [], [ + + +# Copyright (C) 2001-2022 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General 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 David MacKenzie, with help from +# Akim Demaille, Paul Eggert, +# François Pinard, Karl Berry, Richard Pixley, Ian Lance Taylor, +# Roland McGrath, Noah Friedman, david d zuhn, and many others. + + +# AC_PROG_CC([COMPILER ...]) +# -------------------------- +# COMPILER ... is a space separated list of C compilers to search for. +# This just gives the user an opportunity to specify an alternative +# search list for the C compiler. +AC_DEFUN_ONCE([AC_PROG_CC], +[AC_LANG_PUSH(C)dnl +AC_ARG_VAR([CC], [C compiler command])dnl +AC_ARG_VAR([CFLAGS], [C compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +_AC_ARG_VAR_LIBS()dnl +_AC_ARG_VAR_CPPFLAGS()dnl +m4_ifval([$1], + [AC_CHECK_TOOLS(CC, [$1])], +[AC_CHECK_TOOL(CC, gcc) +if test -z "$CC"; then + dnl Here we want: + dnl AC_CHECK_TOOL(CC, cc) + dnl but without the check for a tool without the prefix. + dnl Until the check is removed from there, copy the code: + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(CC, [${ac_tool_prefix}cc], [${ac_tool_prefix}cc]) + fi +fi +if test -z "$CC"; then + AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc) +fi +if test -z "$CC"; then + AC_CHECK_TOOLS(CC, cl.exe) +fi +if test -z "$CC"; then + AC_CHECK_TOOL(CC, clang) +fi +]) + +test -z "$CC" && AC_MSG_FAILURE([no acceptable C compiler found in \$PATH]) + +# Provide some information about the compiler. +_AS_ECHO_LOG([checking for _AC_LANG compiler version]) +set X $ac_compile +ac_compiler=$[2] +for ac_option in --version -v -V -qversion -version; do + _AC_DO_LIMIT([$ac_compiler $ac_option >&AS_MESSAGE_LOG_FD]) +done + +m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl +m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl +_AC_LANG_COMPILER_GNU +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +_AC_PROG_CC_G +dnl +dnl Set ac_prog_cc_stdc to the supported C version. +dnl Also set the documented variable ac_cv_prog_cc_stdc; +dnl its name was chosen when it was cached, but it is no longer cached. +_AC_PROG_CC_C11([ac_prog_cc_stdc=c11 + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11], + [_AC_PROG_CC_C99([ac_prog_cc_stdc=c99 + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99], + [_AC_PROG_CC_C89([ac_prog_cc_stdc=c89 + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89], + [ac_prog_cc_stdc=no + ac_cv_prog_cc_stdc=no])])]) +dnl +AC_LANG_POP(C)dnl +])# AC_PROG_CC + + + +# AC_PROG_CXX([LIST-OF-COMPILERS]) +# -------------------------------- +# LIST-OF-COMPILERS is a space separated list of C++ compilers to search +# for (if not specified, a default list is used). This just gives the +# user an opportunity to specify an alternative search list for the C++ +# compiler. +# aCC HP-UX C++ compiler much better than `CC', so test before. +# FCC Fujitsu C++ compiler +# KCC KAI C++ compiler +# RCC Rational C++ +# xlC_r AIX C Set++ (with support for reentrant code) +# xlC AIX C Set++ +AC_DEFUN([AC_PROG_CXX], +[AC_LANG_PUSH(C++)dnl +AC_ARG_VAR([CXX], [C++ compiler command])dnl +AC_ARG_VAR([CXXFLAGS], [C++ compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +_AC_ARG_VAR_LIBS()dnl +_AC_ARG_VAR_CPPFLAGS()dnl +_AC_ARG_VAR_PRECIOUS([CCC])dnl +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + AC_CHECK_TOOLS(CXX, + [m4_default([$1], + [g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++])], + g++) + fi +fi +# Provide some information about the compiler. +_AS_ECHO_LOG([checking for _AC_LANG compiler version]) +set X $ac_compile +ac_compiler=$[2] +for ac_option in --version -v -V -qversion; do + _AC_DO_LIMIT([$ac_compiler $ac_option >&AS_MESSAGE_LOG_FD]) +done + +m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl +m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl +_AC_LANG_COMPILER_GNU +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +_AC_PROG_CXX_G +_AC_PROG_CXX_CXX11([ac_prog_cxx_stdcxx=cxx11 + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_cv_prog_cxx_cxx98=$ac_cv_prog_cxx_cxx11], + [_AC_PROG_CXX_CXX98([ac_prog_cxx_stdcxx=cxx98 + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98], + [ac_prog_cxx_stdcxx=no + ac_cv_prog_cxx_stdcxx=no])]) +AC_LANG_POP(C++)dnl +])# AC_PROG_CXX + + +# _AC_C_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST, +# ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE) +# -------------------------------------------------------------- +# Check whether the C compiler accepts features of STANDARD (e.g `c89', `c99') +# by trying to compile a program of TEST-PROLOGUE and TEST-BODY. If this fails, +# try again with each compiler option in the space-separated OPTION-LIST; if one +# helps, append it to CC. If eventually successful, run ACTION-IF-AVAILABLE, +# else ACTION-IF-UNAVAILABLE. +AC_DEFUN([_AC_C_STD_TRY], +[AC_MSG_CHECKING([for $CC option to enable ]m4_translit($1, [c], [C])[ features]) +AC_CACHE_VAL(ac_cv_prog_cc_$1, +[ac_cv_prog_cc_$1=no +ac_save_CC=$CC +AC_LANG_CONFTEST([AC_LANG_PROGRAM([$2], [$3])]) +for ac_arg in '' $4 +do + CC="$ac_save_CC $ac_arg" + _AC_COMPILE_IFELSE([], [ac_cv_prog_cc_$1=$ac_arg]) + test "x$ac_cv_prog_cc_$1" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +])# AC_CACHE_VAL +ac_prog_cc_stdc_options= +case "x$ac_cv_prog_cc_$1" in + x) + AC_MSG_RESULT([none needed]) ;; + xno) + AC_MSG_RESULT([unsupported]) ;; + *) + ac_prog_cc_stdc_options=" $ac_cv_prog_cc_$1" + CC=$CC$ac_prog_cc_stdc_options + AC_MSG_RESULT([$ac_cv_prog_cc_$1]) ;; +esac +AS_IF([test "x$ac_cv_prog_cc_$1" != xno], [$5], [$6]) +])# _AC_C_STD_TRY + +# _AC_C_C99_TEST_HEADER +# --------------------- +# A C header suitable for testing for C99. +AC_DEFUN([_AC_C_C99_TEST_HEADER], +[[#include +#include +#include +#include +#include +#include + +// 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); +} + +// 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; + +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; +}]])# _AC_C_C99_TEST_HEADER + +# _AC_C_C99_TEST_BODY +# ------------------- +# A C body suitable for testing for C99, assuming the corresponding header. +AC_DEFUN([_AC_C_C99_TEST_BODY], +[[ + // Check bool. + _Bool success = false; + + // 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[ni.number - 1] = 543; + + // work around unused variable warnings + return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' + || dynamic_array[ni.number - 1] != 543); +]]) + +# _AC_PROG_CC_C99 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE]) +# ---------------------------------------------------------------- +# If the C compiler is not in ISO C99 mode by default, try to add an +# option to output variable CC to make it so. This macro tries +# various options that select ISO C99 on some system or another. It +# considers the compiler to be in ISO C99 mode if it handles _Bool, +# // comments, flexible array members, inline, long long int, mixed +# code and declarations, named initialization of structs, restrict, +# va_copy, varargs macros, variable declarations in for loops and +# variable length arrays. +AC_DEFUN([_AC_PROG_CC_C99], +[_AC_C_STD_TRY([c99], +[_AC_C_C99_TEST_HEADER], +[_AC_C_C99_TEST_BODY], +dnl Try +dnl GCC -std=gnu99 (unused restrictive modes: -std=c99 -std=iso9899:1999) +dnl IBM XL C -qlanglvl=extc1x (V12.1; does not pass C11 test) +dnl IBM XL C -qlanglvl=extc99 +dnl (pre-V12.1; unused restrictive mode: -qlanglvl=stdc99) +dnl HP cc -AC99 +dnl Intel ICC -std=c99, -c99 (deprecated) +dnl IRIX -c99 +dnl Solaris -D_STDC_C99= +dnl cc's -xc99 option uses linker magic to define the external +dnl symbol __xpg4 as if by "int __xpg4 = 1;", which enables C99 +dnl behavior for C library functions. This is not wanted here, +dnl because it means that a single module compiled with -xc99 +dnl alters C runtime behavior for the entire program, not for +dnl just the module. Instead, define the (private) symbol +dnl _STDC_C99, which suppresses a bogus failure in . +dnl The resulting compiler passes the test case here, and that's +dnl good enough. For more, please see the thread starting at: +dnl https://lists.gnu.org/r/autoconf/2010-12/msg00059.html +dnl Tru64 -c99 +dnl with extended modes being tried first. +[[-std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc1x -qlanglvl=extc99]], [$1], [$2])[]dnl +])# _AC_PROG_CC_C99 + + +# _AC_PROG_CC_C11 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE]) +# ---------------------------------------------------------------- +# If the C compiler is not in ISO C11 mode by default, try to add an +# option to output variable CC to make it so. This macro tries +# various options that select ISO C11 on some system or another. It +# considers the compiler to be in ISO C11 mode if it handles _Alignas, +# _Alignof, _Noreturn, _Static_assert, UTF-8 string literals, +# duplicate typedefs, and anonymous structures and unions. +AC_DEFUN([_AC_PROG_CC_C11], +[_AC_C_STD_TRY([c11], +[_AC_C_C99_TEST_HEADER[ +// 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; +]], +[_AC_C_C99_TEST_BODY[ + v1.i = 2; + v1.w.k = 5; + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); +]], +dnl Try +dnl GCC -std=gnu11 (unused restrictive mode: -std=c11) +dnl with extended modes being tried first. +dnl +dnl Do not try -qlanglvl=extc1x, because IBM XL C V12.1 (the latest version as +dnl of September 2012) does not pass the C11 test. For now, try extc1x when +dnl compiling the C99 test instead, since it enables _Static_assert and +dnl _Noreturn, which is a win. If -qlanglvl=extc11 or -qlanglvl=extc1x passes +dnl the C11 test in some future version of IBM XL C, we'll add it here, +dnl preferably extc11. +[[-std=gnu11]], [$1], [$2])[]dnl +])# _AC_PROG_CC_C11 + + +# AC_PROG_CC_C89 +# -------------- +# Do not use AU_ALIAS here and in AC_PROG_CC_C99 and AC_PROG_CC_STDC, +# as that'd be incompatible with how Automake redefines AC_PROG_CC. See +# . +AU_DEFUN([AC_PROG_CC_C89], + [AC_REQUIRE([AC_PROG_CC])], + [$0 is obsolete; use AC_PROG_CC] +) + +# AC_PROG_CC_C99 +# -------------- +AU_DEFUN([AC_PROG_CC_C99], + [AC_REQUIRE([AC_PROG_CC])], + [$0 is obsolete; use AC_PROG_CC] +) + +# AC_PROG_CC_STDC +# --------------- +AU_DEFUN([AC_PROG_CC_STDC], + [AC_REQUIRE([AC_PROG_CC])], + [$0 is obsolete; use AC_PROG_CC] +) + + +# AC_C_PROTOTYPES +# --------------- +# Check if the C compiler supports prototypes, included if it needs +# options. +AC_DEFUN([AC_C_PROTOTYPES], +[AC_REQUIRE([AC_PROG_CC])dnl +if test "$ac_prog_cc_stdc" != no; then + AC_DEFINE(PROTOTYPES, 1, + [Define to 1 if the C compiler supports function prototypes.]) + AC_DEFINE(__PROTOTYPES, 1, + [Define like PROTOTYPES; this can be used by system headers.]) +fi +])# AC_C_PROTOTYPES + + +# _AC_CXX_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST, +# ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE) +# ---------------------------------------------------------------- +# Check whether the C++ compiler accepts features of STANDARD (e.g +# `cxx98', `cxx11') by trying to compile a program of TEST-PROLOGUE +# and TEST-BODY. If this fails, try again with each compiler option +# in the space-separated OPTION-LIST; if one helps, append it to CXX. +# If eventually successful, run ACTION-IF-AVAILABLE, else +# ACTION-IF-UNAVAILABLE. +AC_DEFUN([_AC_CXX_STD_TRY], +[AC_MSG_CHECKING([for $CXX option to enable ]m4_translit(m4_translit($1, [x], [+]), [a-z], [A-Z])[ features]) +AC_LANG_PUSH(C++)dnl +AC_CACHE_VAL(ac_cv_prog_cxx_$1, +[ac_cv_prog_cxx_$1=no +ac_save_CXX=$CXX +AC_LANG_CONFTEST([AC_LANG_PROGRAM([$2], [$3])]) +for ac_arg in '' $4 +do + CXX="$ac_save_CXX $ac_arg" + _AC_COMPILE_IFELSE([], [ac_cv_prog_cxx_$1=$ac_arg]) + test "x$ac_cv_prog_cxx_$1" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +])# AC_CACHE_VAL +ac_prog_cxx_stdcxx_options= +case "x$ac_cv_prog_cxx_$1" in + x) + AC_MSG_RESULT([none needed]) ;; + xno) + AC_MSG_RESULT([unsupported]) ;; + *) + ac_prog_cxx_stdcxx_options=" $ac_cv_prog_cxx_$1" + CXX=$CXX$ac_prog_cxx_stdcxx_options + AC_MSG_RESULT([$ac_cv_prog_cxx_$1]) ;; +esac +AC_LANG_POP(C++)dnl +AS_IF([test "x$ac_cv_prog_cxx_$1" != xno], [$5], [$6]) +])# _AC_CXX_STD_TRY + +# _AC_CXX_CXX98_TEST_HEADER +# ------------------------- +# A C++ header suitable for testing for CXX98. +AC_DEFUN([_AC_CXX_CXX98_TEST_HEADER], +[[ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace test { + typedef std::vector string_vec; + typedef std::pair map_value; + typedef std::map map_type; + typedef std::set set_type; + + template + class printer { + public: + printer(std::ostringstream& os): os(os) {} + void operator() (T elem) { os << elem << std::endl; } + private: + std::ostringstream& os; + }; +} +]])# _AC_CXX_CXX98_TEST_HEADER + +# _AC_CXX_CXX98_TEST_BODY +# ----------------------- +# A C++ body suitable for testing for CXX98, assuming the corresponding header. +AC_DEFUN([_AC_CXX_CXX98_TEST_BODY], +[[ + +try { + // Basic string. + std::string teststr("ASCII text"); + teststr += " string"; + + // Simple vector. + test::string_vec testvec; + testvec.push_back(teststr); + testvec.push_back("foo"); + testvec.push_back("bar"); + if (testvec.size() != 3) { + throw std::runtime_error("vector size is not 1"); + } + + // Dump vector into stringstream and obtain string. + std::ostringstream os; + for (test::string_vec::const_iterator i = testvec.begin(); + i != testvec.end(); ++i) { + if (i + 1 != testvec.end()) { + os << teststr << '\n'; + } + } + // Check algorithms work. + std::for_each(testvec.begin(), testvec.end(), test::printer(os)); + std::string os_out = os.str(); + + // Test pair and map. + test::map_type testmap; + testmap.insert(std::make_pair(std::string("key"), + std::make_pair(53,false))); + + // Test set. + int values[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + test::set_type testset(values, values + sizeof(values)/sizeof(values[0])); + std::list testlist(testset.begin(), testset.end()); + std::copy(testset.begin(), testset.end(), std::back_inserter(testlist)); +} catch (const std::exception& e) { + std::cerr << "Caught exception: " << e.what() << std::endl; + + // Test fstream + std::ofstream of("test.txt"); + of << "Test ASCII text\n" << std::flush; + of << "N= " << std::hex << std::setw(8) << std::left << 534 << std::endl; + of.close(); +} +std::exit(0); +]]) + +# _AC_CXX_CXX11_TEST_HEADER +# ------------------------- +# A C++ header suitable for testing for CXX11. +AC_DEFUN([_AC_CXX_CXX11_TEST_HEADER], +[[ +#include +#include +#include +#include +#include +#include +#include + +namespace cxx11test +{ + typedef std::shared_ptr sptr; + typedef std::weak_ptr wptr; + + typedef std::tuple tp; + typedef std::array int_array; + + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; +} +]])# _AC_CXX_CXX11_TEST_HEADER + +# _AC_CXX_CXX11_TEST_BODY +# ----------------------- +# A C++ body suitable for testing for CXX11, assuming the corresponding header. +AC_DEFUN([_AC_CXX_CXX11_TEST_BODY], +[[ +{ + // Test auto and decltype + std::deque d; + d.push_front(43); + d.push_front(484); + d.push_front(3); + d.push_front(844); + int total = 0; + for (auto i = d.begin(); i != d.end(); ++i) { total += *i; } + + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for and lambda + cxx11test::int_array array = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (int &x : array) { x += 23; } + std::for_each(array.begin(), array.end(), [](int v1){ std::cout << v1; }); +} +{ + using cxx11test::sptr; + using cxx11test::wptr; + + sptr sp(new std::string("ASCII string")); + wptr wp(sp); + sptr sp2(wp); +} +{ + cxx11test::tp tuple("test", 54, 45.53434); + double d = std::get<2>(tuple); + std::string s; + int i; + std::tie(s,i,d) = tuple; +} +{ + static std::regex filename_regex("^_?([a-z0-9_.]+-)+[a-z0-9]+$"); + std::string testmatch("Test if this string matches"); + bool match = std::regex_search(testmatch, filename_regex); +} +{ + cxx11test::int_array array = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + cxx11test::int_array::size_type size = array.size(); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + std::vector> v1; +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +]]) + +# _AC_PROG_CXX_CXX98 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE]) +# ------------------------------------------------------------------- + +# If the C++ compiler is not in ISO C++98 mode by default, try to add +# an option to output variable CXX to make it so. This macro tries +# various options that select ISO C++98 on some system or another. It +# considers the compiler to be in ISO C++98 mode if it handles basic +# features of the std namespace including: string, containers (list, +# map, set, vector), streams (fstreams, iostreams, stringstreams, +# iomanip), pair, exceptions and algorithms. + + +AC_DEFUN([_AC_PROG_CXX_CXX98], +[_AC_CXX_STD_TRY([cxx98], +[_AC_CXX_CXX98_TEST_HEADER], +[_AC_CXX_CXX98_TEST_BODY], +dnl Try +dnl GCC -std=gnu++98 (unused restrictive mode: -std=c++98) +dnl IBM XL C -qlanglvl=extended +dnl HP aC++ -AA +dnl Intel ICC -std=gnu++98 +dnl Solaris N/A (default) +dnl Tru64 N/A (default, but -std gnu could be used) +dnl with extended modes being tried first. +[[-std=gnu++98 -std=c++98 -qlanglvl=extended -AA]], [$1], [$2])[]dnl +])# _AC_PROG_CXX_CXX98 + +# _AC_PROG_CXX_CXX11 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE]) +# ------------------------------------------------------------------- +# If the C++ compiler is not in ISO CXX11 mode by default, try to add +# an option to output variable CXX to make it so. This macro tries +# various options that select ISO C++11 on some system or another. It +# considers the compiler to be in ISO C++11 mode if it handles all the +# tests from the C++98 checks, plus the following: Language features +# (auto, constexpr, decltype, default/deleted constructors, delegate +# constructors, final, initializer lists, lambda functions, nullptr, +# override, range-based for loops, template brackets without spaces, +# unicode literals) and library features (array, memory (shared_ptr, +# weak_ptr), regex and tuple types). +AC_DEFUN([_AC_PROG_CXX_CXX11], +[_AC_CXX_STD_TRY([cxx11], +[_AC_CXX_CXX11_TEST_HEADER +_AC_CXX_CXX98_TEST_HEADER], +[_AC_CXX_CXX11_TEST_BODY +_AC_CXX_CXX98_TEST_BODY], +dnl Try +dnl GCC -std=gnu++11 (unused restrictive mode: -std=c++11) [and 0x variants] +dnl IBM XL C -qlanglvl=extended0x +dnl (pre-V12.1; unused restrictive mode: -qlanglvl=stdcxx11) +dnl HP aC++ -AA +dnl Intel ICC -std=c++11 -std=c++0x +dnl Solaris N/A (no support) +dnl Tru64 N/A (no support) +dnl with extended modes being tried first. +[[-std=gnu++11 -std=c++11 -std=gnu++0x -std=c++0x -qlanglvl=extended0x -AA]], [$1], [$2])[]dnl +])# _AC_PROG_CXX_CXX11 + + +])# m4_version_prereq diff --git a/source/srcm4/stdalign.m4 b/source/srcm4/stdalign.m4 new file mode 100644 index 0000000..78577cb --- /dev/null +++ b/source/srcm4/stdalign.m4 @@ -0,0 +1,56 @@ +# Check for stdalign.h that conforms to C11. + +dnl Copyright 2011-2022 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. + +# Prepare for substituting if it is not supported. + +AC_DEFUN([gl_STDALIGN_H], +[ + AC_CACHE_CHECK([for working stdalign.h], + [gl_cv_header_working_stdalign_h], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + #include + + /* Test that alignof yields a result consistent with offsetof. + This catches GCC bug 52023 + . */ + #ifdef __cplusplus + template struct alignof_helper { char a; t b; }; + # define ao(type) offsetof (alignof_helper, b) + #else + # define ao(type) offsetof (struct { char a; type b; }, b) + #endif + char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1]; + char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; + char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; + + /* Test _Alignas only on platforms where gnulib can help. */ + #if \ + ((defined __cplusplus && 201103 <= __cplusplus) \ + || (__TINYC__ && defined __attribute__) \ + || (defined __APPLE__ && defined __MACH__ \ + ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ + : __GNUC__) \ + || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \ + || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__ \ + || 1300 <= _MSC_VER) + struct alignas_test { char c; char alignas (8) alignas_8; }; + char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 + ? 1 : -1]; + #endif + ]])], + [gl_cv_header_working_stdalign_h=yes], + [gl_cv_header_working_stdalign_h=no])]) + + if test $gl_cv_header_working_stdalign_h = yes; then + GL_GENERATE_STDALIGN_H=false + else + GL_GENERATE_STDALIGN_H=true + fi +]) diff --git a/source/srcm4/stdbool.m4 b/source/srcm4/stdbool.m4 index acb8522..3e6c400 100644 --- a/source/srcm4/stdbool.m4 +++ b/source/srcm4/stdbool.m4 @@ -1,27 +1,39 @@ # Check for stdbool.h that conforms to C99. -dnl Copyright (C) 2002-2006, 2009-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2022 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 7 +#serial 9 # Prepare for substituting if it is not supported. -AC_DEFUN([AM_STDBOOL_H], +AC_DEFUN([gl_STDBOOL_H], [ AC_REQUIRE([AC_CHECK_HEADER_STDBOOL]) + AC_REQUIRE([AC_CANONICAL_HOST]) - # Define two additional variables used in the Makefile substitution. - + dnl On some platforms, does not exist or does not conform to C99. + dnl On Solaris 10 with CC=cc CXX=CC, exists but is not usable + dnl in C++ mode (and no exists). In this case, we use our + dnl replacement, also in C mode (for binary compatibility between C and C++). if test "$ac_cv_header_stdbool_h" = yes; then - STDBOOL_H='' + case "$host_os" in + solaris*) + if test -z "$GCC"; then + GL_GENERATE_STDBOOL_H=true + else + GL_GENERATE_STDBOOL_H=false + fi + ;; + *) + GL_GENERATE_STDBOOL_H=false + ;; + esac else - STDBOOL_H='stdbool.h' + GL_GENERATE_STDBOOL_H=true 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 @@ -31,9 +43,6 @@ AC_DEFUN([AM_STDBOOL_H], 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], diff --git a/source/srcm4/stddef_h.m4 b/source/srcm4/stddef_h.m4 index 979e3cf..abfd203 100644 --- a/source/srcm4/stddef_h.m4 +++ b/source/srcm4/stddef_h.m4 @@ -1,15 +1,20 @@ -dnl A placeholder for , for platforms that have issues. -# stddef_h.m4 serial 6 -dnl Copyright (C) 2009-2019 Free Software Foundation, Inc. +# stddef_h.m4 serial 12 +dnl Copyright (C) 2009-2022 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". @@ -19,22 +24,29 @@ AC_DEFUN([gl_STDDEF_H], [AC_LANG_PROGRAM( [[#include unsigned int s = sizeof (max_align_t); - #if defined __GNUC__ || defined __IBM__ALIGNOF__ + #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 - STDDEF_H=stddef.h + 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], @@ -46,23 +58,36 @@ 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 + 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. diff --git a/source/srcm4/stdint.m4 b/source/srcm4/stdint.m4 index 11d8e8e..c3f0894 100644 --- a/source/srcm4/stdint.m4 +++ b/source/srcm4/stdint.m4 @@ -1,5 +1,5 @@ -# stdint.m4 serial 53 -dnl Copyright (C) 2001-2019 Free Software Foundation, Inc. +# stdint.m4 serial 61 +dnl Copyright (C) 2001-2022 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. @@ -17,21 +17,12 @@ AC_DEFUN_ONCE([gl_STDINT_H], AC_REQUIRE([gl_LIMITS_H]) AC_REQUIRE([gt_TYPE_WINT_T]) - 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]) + 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]) @@ -43,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 @@ -52,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 @@ -161,7 +152,7 @@ uintmax_t j = UINTMAX_MAX; /* Check that SIZE_MAX has the correct type, if possible. */ #if 201112 <= __STDC_VERSION__ int k = _Generic (SIZE_MAX, size_t: 0); -#elif (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ +#elif (2 <= __GNUC__ || 4 <= __clang_major__ || defined __IBM__TYPEOF__ \ || (0x5110 <= __SUNPRO_C && !__STDC__)) extern size_t k; extern __typeof__ (SIZE_MAX) k; @@ -179,7 +170,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) @@ -305,15 +296,16 @@ static const char *macro_values[] = HAVE_C99_STDINT_H=0 HAVE_SYS_BITYPES_H=0 HAVE_SYS_INTTYPES_H=0 - STDINT_H=stdint.h + 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. - AC_CACHE_CHECK([whether stdint.h predates C++11], - [gl_cv_header_stdint_predates_cxx11_h], - [gl_cv_header_stdint_predates_cxx11_h=yes + 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 */ @@ -324,13 +316,14 @@ gl_STDINT_INCLUDES intmax_t im = INTMAX_MAX; int32_t i32 = INT32_C (0x7fffffff); ]])], - [gl_cv_header_stdint_predates_cxx11_h=no])]) + [gl_cv_header_stdint_without_STDC_macros=yes]) + ]) - if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then + 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.]) + [Define to 1 if the system predates C++11.]) AC_DEFINE([__STDC_LIMIT_MACROS], [1], - [Define to 1 if the system predates C++11.]) + [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], @@ -348,7 +341,7 @@ int32_t i32 = INT32_C (0x7fffffff); ]])], [gl_cv_header_stdint_width=yes])]) if test "$gl_cv_header_stdint_width" = yes; then - STDINT_H= + GL_GENERATE_STDINT_H=false fi ;; *) @@ -371,8 +364,6 @@ int32_t i32 = INT32_C (0x7fffffff); AC_SUBST([HAVE_C99_STDINT_H]) AC_SUBST([HAVE_SYS_BITYPES_H]) AC_SUBST([HAVE_SYS_INTTYPES_H]) - AC_SUBST([STDINT_H]) - AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"]) ]) dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) @@ -500,13 +491,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 ]]) @@ -538,7 +525,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 $GNULIB_OVERRIDES_WINT_T = 1; then + if test $GNULIBHEADERS_OVERRIDE_WINT_T = 1; then BITSIZEOF_WINT_T=32 fi ]) diff --git a/source/srcm4/stdint_h.m4 b/source/srcm4/stdint_h.m4 deleted file mode 100644 index 6d5f1af..0000000 --- a/source/srcm4/stdint_h.m4 +++ /dev/null @@ -1,27 +0,0 @@ -# stdint_h.m4 serial 9 -dnl Copyright (C) 1997-2004, 2006, 2008-2019 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_STDINT_H_WITH_UINTMAX if exists, -# doesn't clash with , and declares uintmax_t. - -AC_DEFUN([gl_AC_HEADER_STDINT_H], -[ - AC_CACHE_CHECK([for stdint.h], [gl_cv_header_stdint_h], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include - #include ]], - [[uintmax_t i = (uintmax_t) -1; return !i;]])], - [gl_cv_header_stdint_h=yes], - [gl_cv_header_stdint_h=no])]) - if test $gl_cv_header_stdint_h = yes; then - AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1], - [Define if exists, doesn't clash with , - and declares uintmax_t. ]) - fi -]) diff --git a/source/srcm4/stdio_h.m4 b/source/srcm4/stdio_h.m4 index 6c9c104..42e9607 100644 --- a/source/srcm4/stdio_h.m4 +++ b/source/srcm4/stdio_h.m4 @@ -1,11 +1,12 @@ -# stdio_h.m4 serial 49 -dnl Copyright (C) 2007-2019 Free Software Foundation, Inc. +# stdio_h.m4 serial 59 +dnl Copyright (C) 2007-2022 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_ONCE([gl_STDIO_H], [ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AH_VERBATIM([MINGW_ANSI_STDIO], [/* Use GNU style printf and scanf. */ #ifndef __USE_MINGW_ANSI_STDIO @@ -13,7 +14,6 @@ AC_DEFUN([gl_STDIO_H], #endif ]) AC_DEFINE([__USE_MINGW_ANSI_STDIO]) - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_NEXT_HEADERS([stdio.h]) dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and @@ -40,64 +40,32 @@ AC_DEFUN([gl_STDIO_H], attribute "__gnu_printf__" instead of "__printf__"]) fi - dnl No need to create extra modules for these functions. Everyone who uses - dnl likely needs them. - GNULIB_FSCANF=1 - gl_MODULE_INDICATOR([fscanf]) - GNULIB_SCANF=1 - gl_MODULE_INDICATOR([scanf]) - 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 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 ]) @@ -107,73 +75,104 @@ 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 ]) +# 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]) @@ -195,6 +194,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/source/srcm4/stdlib_h.m4 b/source/srcm4/stdlib_h.m4 index 6121602..9e20969 100644 --- a/source/srcm4/stdlib_h.m4 +++ b/source/srcm4/stdlib_h.m4 @@ -1,10 +1,10 @@ -# stdlib_h.m4 serial 48 -dnl Copyright (C) 2007-2019 Free Software Foundation, Inc. +# stdlib_h.m4 serial 66 +dnl Copyright (C) 2007-2022 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]) @@ -22,63 +22,113 @@ AC_DEFUN([gl_STDLIB_H], #if HAVE_RANDOM_H # include #endif - ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt + ]], [_Exit aligned_alloc atoll canonicalize_file_name free + getloadavg getsubopt grantpt initstate initstate_r mbtowc mkdtemp mkostemp mkostemps mkstemp mkstemps - posix_openpt ptsname ptsname_r qsort_r random random_r reallocarray - realpath rpmatch secure_getenv setenv setstate setstate_r srandom - srandom_r strtod strtold strtoll strtoull unlockpt unsetenv]) + 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]) + + 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_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_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_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_QSORT_R=0; AC_SUBST([GNULIB_QSORT_R]) - GNULIB_RANDOM=0; AC_SUBST([GNULIB_RANDOM]) - GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) - GNULIB_REALLOCARRAY=0; AC_SUBST([GNULIB_REALLOCARRAY]) - GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) - GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH]) - GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) - GNULIB_SECURE_GETENV=0; AC_SUBST([GNULIB_SECURE_GETENV]) - GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) - GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) - GNULIB_STRTOLD=0; AC_SUBST([GNULIB_STRTOLD]) - 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_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT]) @@ -90,6 +140,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], 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]) @@ -106,31 +157,44 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], 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_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_FREE=0; AC_SUBST([REPLACE_FREE]) REPLACE_INITSTATE=0; AC_SUBST([REPLACE_INITSTATE]) - REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC]) + 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_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) + REPLACE_POSIX_MEMALIGN=0; AC_SUBST([REPLACE_POSIX_MEMALIGN]) 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_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/source/srcm4/strerror.m4 b/source/srcm4/strerror.m4 index 2c90f31..4716649 100644 --- a/source/srcm4/strerror.m4 +++ b/source/srcm4/strerror.m4 @@ -1,19 +1,19 @@ -# strerror.m4 serial 20 -dnl Copyright (C) 2002, 2007-2019 Free Software Foundation, Inc. +# strerror.m4 serial 23 +dnl Copyright (C) 2002, 2007-2022 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( @@ -28,8 +28,8 @@ AC_DEFUN([gl_FUNC_STRERROR], *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;; # Guess yes on musl systems. *-musl*) gl_cv_func_working_strerror="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_working_strerror="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_working_strerror="$gl_cross_guess_normal" ;; esac ]) ]) @@ -86,8 +86,8 @@ AC_DEFUN([gl_FUNC_STRERROR_0], *-musl*) gl_cv_func_strerror_0_works="guessing yes" ;; # Guess yes on native Windows. mingw*) gl_cv_func_strerror_0_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_strerror_0_works="guessing no" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_strerror_0_works="$gl_cross_guess_normal" ;; esac ]) ]) diff --git a/source/srcm4/string_h.m4 b/source/srcm4/string_h.m4 index 0c0e3a7..9e09b96 100644 --- a/source/srcm4/string_h.m4 +++ b/source/srcm4/string_h.m4 @@ -1,25 +1,19 @@ # Configure a GNU-like replacement for . -# Copyright (C) 2007-2019 Free Software Foundation, Inc. +# Copyright (C) 2007-2022 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 22 +# serial 34 # 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 @@ -29,64 +23,88 @@ AC_DEFUN([gl_HEADER_STRING_H_BODY], ]], [ffsl ffsll memmem mempcpy memrchr 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], +[ + 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_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], [ - GNULIB_EXPLICIT_BZERO=0; AC_SUBST([GNULIB_EXPLICIT_BZERO]) - 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]) + 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_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) @@ -102,8 +120,12 @@ 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_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY]) @@ -117,6 +139,7 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], 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_STRERRORNAME_NP=0; AC_SUBST([REPLACE_STRERRORNAME_NP]) REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R]) ]) diff --git a/source/srcm4/sys_socket_h.m4 b/source/srcm4/sys_socket_h.m4 index 1ea7b0b..ba3ae68 100644 --- a/source/srcm4/sys_socket_h.m4 +++ b/source/srcm4/sys_socket_h.m4 @@ -1,12 +1,12 @@ -# sys_socket_h.m4 serial 23 -dnl Copyright (C) 2005-2019 Free Software Foundation, Inc. +# sys_socket_h.m4 serial 29 +dnl Copyright (C) 2005-2022 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]) @@ -22,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], [ @@ -44,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 @@ -83,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 @@ -95,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], @@ -104,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 @@ -142,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/source/srcm4/sys_stat_h.m4 b/source/srcm4/sys_stat_h.m4 index 361ac3f..b5a9789 100644 --- a/source/srcm4/sys_stat_h.m4 +++ b/source/srcm4/sys_stat_h.m4 @@ -1,5 +1,5 @@ -# sys_stat_h.m4 serial 31 -*- Autoconf -*- -dnl Copyright (C) 2006-2019 Free Software Foundation, Inc. +# sys_stat_h.m4 serial 41 -*- Autoconf -*- +dnl Copyright (C) 2006-2022 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 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]) @@ -46,40 +46,64 @@ 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 + ]], [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_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]) - GNULIB_OVERRIDES_STRUCT_STAT=0; AC_SUBST([GNULIB_OVERRIDES_STRUCT_STAT]) 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]) @@ -88,13 +112,16 @@ 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_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/source/srcm4/sys_types_h.m4 b/source/srcm4/sys_types_h.m4 index be06559..a5bef22 100644 --- a/source/srcm4/sys_types_h.m4 +++ b/source/srcm4/sys_types_h.m4 @@ -1,15 +1,16 @@ -# sys_types_h.m4 serial 9 -dnl Copyright (C) 2011-2019 Free Software Foundation, Inc. +# sys_types_h.m4 serial 13 +dnl Copyright (C) 2011-2022 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_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.]) - AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) gl_NEXT_HEADERS([sys/types.h]) dnl Ensure the type pid_t gets defined. @@ -30,31 +31,40 @@ AC_DEFUN_ONCE([gl_SYS_TYPES_H], 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], [], [ - -# This is taken from the following Autoconf patch: -# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=e17a30e987d7ee695fb4294a82d987ec3dc9b974 +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 - .])]) + [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 - .])]) + [AC_DEFINE([MAJOR_IN_SYSMACROS], [1], + [Define to 1 if `major', `minor', and `makedev' + are declared in .])]) fi -]) +])# AC_HEADER_MAJOR ]) diff --git a/source/srcm4/threadlib.m4 b/source/srcm4/threadlib.m4 deleted file mode 100644 index bfc3bac..0000000 --- a/source/srcm4/threadlib.m4 +++ /dev/null @@ -1,393 +0,0 @@ -# threadlib.m4 serial 16 -dnl Copyright (C) 2005-2019 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.60]) - -dnl gl_THREADLIB -dnl ------------ -dnl Tests for a multithreading library to be used. -dnl If the configure.ac contains a definition of the gl_THREADLIB_DEFAULT_NO -dnl (it must be placed before the invocation of gl_THREADLIB_EARLY!), then the -dnl default is 'no', otherwise it is system dependent. In both cases, the user -dnl can change the choice through the options --enable-threads=choice or -dnl --disable-threads. -dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS, -dnl USE_PTH_THREADS, USE_WINDOWS_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 is empty whereas LIBMULTITHREAD is not. -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. - AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - dnl Check for multithreading. - m4_ifdef([gl_THREADLIB_DEFAULT_NO], - [m4_divert_text([DEFAULTS], [gl_use_threads_default=no])], - [m4_divert_text([DEFAULTS], [gl_use_threads_default=])]) - AC_ARG_ENABLE([threads], -AC_HELP_STRING([--enable-threads={posix|solaris|pth|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [ -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_LINK_IFELSE 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_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[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_RUN_IFELSE( - [AC_LANG_SOURCE([[ -#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 - dnl But when linking statically, weak symbols don't work. - case " $LDFLAGS " in - *" -static "*) gl_cv_have_weak=no ;; - esac - ]) - 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. - # - # If -pthread works, prefer it to -lpthread, since Ubuntu 14.04 - # needs -pthread for some reason. See: - # https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html - save_LIBS=$LIBS - for gl_pthread in '' '-pthread'; do - LIBS="$LIBS $gl_pthread" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include - pthread_mutex_t m; - pthread_mutexattr_t ma; - ]], - [[pthread_mutex_lock (&m); - pthread_mutexattr_init (&ma);]])], - [gl_have_pthread=yes - LIBTHREAD=$gl_pthread LTLIBTHREAD=$gl_pthread - LIBMULTITHREAD=$gl_pthread LTLIBMULTITHREAD=$gl_pthread]) - LIBS=$save_LIBS - test -n "$gl_have_pthread" && break - done - - # 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" && test -z "$LIBTHREAD"; 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. - # On Solaris 10 or newer, this test is no longer needed, because - # libc contains the fully functional pthread functions. - case "$host_os" in - solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*) - AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], - [Define if the pthread_in_use() detection is hard.]) - esac - ]) - elif test -z "$gl_have_pthread"; then - # 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_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#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 $LIBPTH" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[#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 - case "$gl_use_threads" in - yes | windows | win32) # The 'win32' is for backward compatibility. - if { case "$host_os" in - mingw*) true;; - *) false;; - esac - }; then - gl_threads_api=windows - AC_DEFINE([USE_WINDOWS_THREADS], [1], - [Define if the native Windows multithreading API can be used.]) - fi - ;; - esac - 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 Ubuntu 14.04 posix -pthread Y OK -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 Mac OS 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 windows 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/source/srcm4/time_h.m4 b/source/srcm4/time_h.m4 index f08f29b..98d7b6e 100644 --- a/source/srcm4/time_h.m4 +++ b/source/srcm4/time_h.m4 @@ -1,8 +1,8 @@ # Configure a more-standard replacement for . -# Copyright (C) 2000-2001, 2003-2007, 2009-2019 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2003-2007, 2009-2022 Free Software Foundation, Inc. -# serial 11 +# serial 19 # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -10,19 +10,32 @@ # 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]) + + 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 Check whether 'struct timespec' is declared @@ -93,33 +106,53 @@ AC_DEFUN([gl_CHECK_TYPE_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_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_CTIME=0; AC_SUBST([GNULIB_CTIME]) - GNULIB_MKTIME=0; AC_SUBST([GNULIB_MKTIME]) - GNULIB_LOCALTIME=0; AC_SUBST([GNULIB_LOCALTIME]) - GNULIB_NANOSLEEP=0; AC_SUBST([GNULIB_NANOSLEEP]) - GNULIB_STRFTIME=0; AC_SUBST([GNULIB_STRFTIME]) - GNULIB_STRPTIME=0; AC_SUBST([GNULIB_STRPTIME]) - GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM]) - GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R]) - GNULIB_TIME_RZ=0; AC_SUBST([GNULIB_TIME_RZ]) - GNULIB_TZSET=0; AC_SUBST([GNULIB_TZSET]) 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]) - HAVE_TZSET=1; AC_SUBST([HAVE_TZSET]) + 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]) dnl If another module says to replace or to not replace, do that. diff --git a/source/srcm4/uintmax_t.m4 b/source/srcm4/uintmax_t.m4 deleted file mode 100644 index 2926bea..0000000 --- a/source/srcm4/uintmax_t.m4 +++ /dev/null @@ -1,30 +0,0 @@ -# uintmax_t.m4 serial 12 -dnl Copyright (C) 1997-2004, 2007-2019 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_PREREQ([2.13]) - -# Define uintmax_t to 'unsigned long' or 'unsigned long long' -# if it is not already defined in or . - -AC_DEFUN([gl_AC_TYPE_UINTMAX_T], -[ - AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) - AC_REQUIRE([gl_AC_HEADER_STDINT_H]) - if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then - AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) - test $ac_cv_type_unsigned_long_long_int = yes \ - && ac_type='unsigned long long' \ - || ac_type='unsigned long' - AC_DEFINE_UNQUOTED([uintmax_t], [$ac_type], - [Define to unsigned long or unsigned long long - if and don't define.]) - else - AC_DEFINE([HAVE_UINTMAX_T], [1], - [Define if you have the 'uintmax_t' type in or .]) - fi -]) diff --git a/source/srcm4/unistd_h.m4 b/source/srcm4/unistd_h.m4 index a04055d..4c66ccc 100644 --- a/source/srcm4/unistd_h.m4 +++ b/source/srcm4/unistd_h.m4 @@ -1,15 +1,15 @@ -# unistd_h.m4 serial 74 -dnl Copyright (C) 2006-2019 Free Software Foundation, Inc. +# unistd_h.m4 serial 90 +dnl Copyright (C) 2006-2022 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]) gl_CHECK_NEXT_HEADERS([unistd.h]) @@ -41,157 +41,230 @@ AC_DEFUN([gl_UNISTD_H], # 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 getpass + ]], [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 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_GETPASS=0; AC_SUBST([GNULIB_GETPASS]) - 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_TRUNCATE=0; AC_SUBST([GNULIB_TRUNCATE]) - 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_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_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_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_FACCESSAT=0; AC_SUBST([REPLACE_FACCESSAT]) - 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_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE]) - 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_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_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT]) - REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) - 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_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_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_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_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE]) + 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_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_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/source/srcm4/unlocked-io.m4 b/source/srcm4/unlocked-io.m4 index ea55a1a..d42c95c 100644 --- a/source/srcm4/unlocked-io.m4 +++ b/source/srcm4/unlocked-io.m4 @@ -1,6 +1,6 @@ -# unlocked-io.m4 serial 15 +# unlocked-io.m4 serial 16 -# Copyright (C) 1998-2006, 2009-2019 Free Software Foundation, Inc. +# Copyright (C) 1998-2006, 2009-2022 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,11 +16,6 @@ dnl on Solaris 2.6). AC_DEFUN([gl_FUNC_GLIBC_UNLOCKED_IO], [ - AC_DEFINE([USE_UNLOCKED_IO], [1], - [Define to 1 if you want getc etc. to use unlocked I/O if available. - Unlocked I/O can improve performance in unithreaded apps, - but it is not safe for multithreaded apps.]) - dnl Persuade glibc and Solaris to declare dnl fgets_unlocked(), fputs_unlocked() etc. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) diff --git a/source/srcm4/vararrays.m4 b/source/srcm4/vararrays.m4 new file mode 100644 index 0000000..28e22a4 --- /dev/null +++ b/source/srcm4/vararrays.m4 @@ -0,0 +1,72 @@ +# Check for variable-length arrays. + +# serial 6 + +# From Paul Eggert + +# Copyright (C) 2001, 2009-2022 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. + +m4_version_prereq([2.70], [], [ + +# AC_C_VARARRAYS +# -------------- +# Check whether the C compiler supports variable-length arrays. +AC_DEFUN([AC_C_VARARRAYS], +[ + AC_CACHE_CHECK([for variable-length arrays], + ac_cv_c_vararrays, + [AC_EGREP_CPP([defined], + [#ifdef __STDC_NO_VLA__ + defined + #endif + ], + [ac_cv_c_vararrays='no: __STDC_NO_VLA__ is defined'], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[/* 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 + ]])], + [ac_cv_c_vararrays=yes], + [ac_cv_c_vararrays=no])])]) + if test "$ac_cv_c_vararrays" = yes; then + dnl This is for compatibility with Autoconf 2.61-2.69. + AC_DEFINE([HAVE_C_VARARRAYS], 1, + [Define to 1 if C supports variable-length arrays.]) + elif test "$ac_cv_c_vararrays" = no; then + AC_DEFINE([__STDC_NO_VLA__], 1, + [Define to 1 if C does not support variable-length arrays, and + if the compiler does not already define this.]) + fi +]) + +]) diff --git a/source/srcm4/visibility.m4 b/source/srcm4/visibility.m4 index 8c266a8..4a212a4 100644 --- a/source/srcm4/visibility.m4 +++ b/source/srcm4/visibility.m4 @@ -1,5 +1,5 @@ -# visibility.m4 serial 6 -dnl Copyright (C) 2005, 2008, 2010-2019 Free Software Foundation, Inc. +# visibility.m4 serial 8 +dnl Copyright (C) 2005, 2008, 2010-2022 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. @@ -58,6 +58,11 @@ AC_DEFUN([gl_VISIBILITY], 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) {} ]], [[]])], diff --git a/source/srcm4/warn-on-use.m4 b/source/srcm4/warn-on-use.m4 index 7ebe2d3..d43355a 100644 --- a/source/srcm4/warn-on-use.m4 +++ b/source/srcm4/warn-on-use.m4 @@ -1,5 +1,5 @@ -# warn-on-use.m4 serial 6 -dnl Copyright (C) 2010-2019 Free Software Foundation, Inc. +# warn-on-use.m4 serial 9 +dnl Copyright (C) 2010-2022 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. @@ -30,17 +30,15 @@ AC_DEFUN([gl_WARN_ON_USE_PREPARE], [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, + [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], +[[#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 diff --git a/source/srcm4/wchar_h.m4 b/source/srcm4/wchar_h.m4 new file mode 100644 index 0000000..4baba1a --- /dev/null +++ b/source/srcm4/wchar_h.m4 @@ -0,0 +1,257 @@ +dnl A placeholder for ISO C99 , for platforms that have issues. + +dnl Copyright (C) 2007-2022 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 55 + +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_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]) + 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_WCSTOK=0; AC_SUBST([REPLACE_WCSTOK]) +]) diff --git a/source/srcm4/wchar_t.m4 b/source/srcm4/wchar_t.m4 index 5db5815..268e3e5 100644 --- a/source/srcm4/wchar_t.m4 +++ b/source/srcm4/wchar_t.m4 @@ -1,5 +1,5 @@ # wchar_t.m4 serial 4 (gettext-0.18.2) -dnl Copyright (C) 2002-2003, 2008-2019 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2003, 2008-2022 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/source/srcm4/wint_t.m4 b/source/srcm4/wint_t.m4 index 61e8a23..adc5866 100644 --- a/source/srcm4/wint_t.m4 +++ b/source/srcm4/wint_t.m4 @@ -1,5 +1,5 @@ -# wint_t.m4 serial 7 -dnl Copyright (C) 2003, 2007-2019 Free Software Foundation, Inc. +# wint_t.m4 serial 11 +dnl Copyright (C) 2003, 2007-2022 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. @@ -14,15 +14,7 @@ AC_DEFUN([gt_TYPE_WINT_T], AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( - [[ -/* 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 + [[#include wint_t foo = (wchar_t)'\0';]], [[]])], [gt_cv_c_wint_t=yes], @@ -32,33 +24,24 @@ AC_DEFUN([gt_TYPE_WINT_T], dnl Determine whether gnulib's or would, if present, dnl override 'wint_t'. - AC_CACHE_CHECK([whether wint_t is too small], - [gl_cv_type_wint_t_too_small], + AC_CACHE_CHECK([whether wint_t is large enough], + [gl_cv_type_wint_t_large_enough], [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ -/* 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 + [AC_LANG_PROGRAM( + [[#include int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1]; - ]])], - [gl_cv_type_wint_t_too_small=no], - [gl_cv_type_wint_t_too_small=yes])]) - if test $gl_cv_type_wint_t_too_small = yes; then - GNULIB_OVERRIDES_WINT_T=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 - GNULIB_OVERRIDES_WINT_T=0 + GNULIBHEADERS_OVERRIDE_WINT_T=0 fi else - GNULIB_OVERRIDES_WINT_T=0 + GNULIBHEADERS_OVERRIDE_WINT_T=0 fi - AC_SUBST([GNULIB_OVERRIDES_WINT_T]) + AC_SUBST([GNULIBHEADERS_OVERRIDE_WINT_T]) ]) dnl Prerequisites of the 'wint_t' override. diff --git a/source/srcm4/xsize.m4 b/source/srcm4/xsize.m4 deleted file mode 100644 index f2898ba..0000000 --- a/source/srcm4/xsize.m4 +++ /dev/null @@ -1,12 +0,0 @@ -# xsize.m4 serial 5 -dnl Copyright (C) 2003-2004, 2008-2019 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_XSIZE], -[ - dnl Prerequisites of lib/xsize.h. - AC_REQUIRE([gl_SIZE_MAX]) - AC_CHECK_HEADERS([stdint.h]) -]) diff --git a/source/srcm4/year2038.m4 b/source/srcm4/year2038.m4 new file mode 100644 index 0000000..06db589 --- /dev/null +++ b/source/srcm4/year2038.m4 @@ -0,0 +1,124 @@ +# year2038.m4 serial 7 +dnl Copyright (C) 2017-2022 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 Attempt to ensure that 'time_t' can go past the year 2038 and that +dnl the functions 'time', 'stat', etc. work with post-2038 timestamps. + +AC_DEFUN([gl_YEAR2038_EARLY], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + mingw*) + AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1], + [For 64-bit time_t on 32-bit mingw.]) + ;; + esac +]) + +# gl_YEAR2038_TEST_INCLUDES +# ------------------------- +AC_DEFUN([gl_YEAR2038_TEST_INCLUDES], +[[ + #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]; +]]) + +# gl_YEAR2038_BODY(REQUIRE-YEAR2038-SAFE) +----------------------------------------- +AC_DEFUN([gl_YEAR2038_BODY], +[ + AC_ARG_ENABLE([year2038], + [ --disable-year2038 omit support for timestamps past the year 2038]) + AS_IF([test "$enable_year2038" != no], + [ + dnl On many systems, time_t is already a 64-bit type. + dnl On those systems where time_t is still 32-bit, it requires kernel + dnl and libc support to make it 64-bit. For glibc 2.34 and later on Linux, + dnl defining _TIME_BITS=64 and _FILE_OFFSET_BITS=64 is needed on x86 and ARM. + dnl + dnl On native Windows, the system include files define types __time32_t + dnl and __time64_t. By default, time_t is an alias of + dnl - __time32_t on 32-bit mingw, + dnl - __time64_t on 64-bit mingw and on MSVC (since MSVC 8). + dnl But when compiling with -D__MINGW_USE_VC2005_COMPAT, time_t is an + dnl alias of __time64_t. + dnl And when compiling with -D_USE_32BIT_TIME_T, time_t is an alias of + dnl __time32_t. + AC_CACHE_CHECK([for time_t past the year 2038], [gl_cv_type_time_t_y2038], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([gl_YEAR2038_TEST_INCLUDES])], + [gl_cv_type_time_t_y2038=yes], [gl_cv_type_time_t_y2038=no]) + ]) + if test "$gl_cv_type_time_t_y2038" = no; then + AC_CACHE_CHECK([for 64-bit time_t with _TIME_BITS=64], + [gl_cv_type_time_t_bits_macro], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([[#define _TIME_BITS 64 + #define _FILE_OFFSET_BITS 64 + ]gl_YEAR2038_TEST_INCLUDES])], + [gl_cv_type_time_t_bits_macro=yes], + [gl_cv_type_time_t_bits_macro=no]) + ]) + if test "$gl_cv_type_time_t_bits_macro" = yes; then + AC_DEFINE([_TIME_BITS], [64], + [Number of bits in a timestamp, on hosts where this is settable.]) + dnl AC_SYS_LARGFILE also defines this; it's OK if we do too. + AC_DEFINE([_FILE_OFFSET_BITS], [64], + [Number of bits in a file offset, on hosts where this is settable.]) + gl_cv_type_time_t_y2038=yes + fi + fi + if test $gl_cv_type_time_t_y2038 = no; then + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef _USE_32BIT_TIME_T + int ok; + #else + error fail + #endif + ]])], + [AC_MSG_FAILURE( + [The 'time_t' type stops working after January 2038. + Remove _USE_32BIT_TIME_T from the compiler flags.])], + [# If not cross-compiling and $1 says we should check, + # and 'touch' works with a large timestamp, then evidently wider time_t + # is desired and supported, so fail and ask the builder to fix the + # problem. Otherwise, just warn the builder. + m4_ifval([$1], + [if test $cross_compiling = no \ + && TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null; then + case `TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null` in + *'Feb 7 2106'* | *'Feb 7 17:10'*) + AC_MSG_FAILURE( + [The 'time_t' type stops working after January 2038, + and your system appears to support a wider 'time_t'. + Try configuring with 'CC="${CC} -m64"'. + To build with a 32-bit time_t anyway (not recommended), + configure with '--disable-year2038'.]);; + esac + rm -f conftest.time + fi]) + if test "$gl_warned_about_y2038" != yes; then + AC_MSG_WARN( + [The 'time_t' type stops working after January 2038, + and this package needs a wider 'time_t' type + if there is any way to access timestamps after that. + Configure with 'CC="${CC} -m64"' perhaps?]) + gl_warned_about_y2038=yes + fi + ]) + fi]) +]) + +AC_DEFUN([gl_YEAR2038], +[ + gl_YEAR2038_BODY([require-year2038-safe]) +]) diff --git a/source/srcm4/zzgnulib.m4 b/source/srcm4/zzgnulib.m4 new file mode 100644 index 0000000..fd73a20 --- /dev/null +++ b/source/srcm4/zzgnulib.m4 @@ -0,0 +1,23 @@ +# zzgnulib.m4 serial 1 +dnl Copyright (C) 2020-2022 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/source/tests/IBM-037.TXT b/source/tests/IBM-037.TXT new file mode 100644 index 0000000..bf34f2a --- /dev/null +++ b/source/tests/IBM-037.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x00A2 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x005E +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x005B +0xBB 0x005D +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1025.TXT b/source/tests/IBM-1025.TXT new file mode 100644 index 0000000..be2a7e6 --- /dev/null +++ b/source/tests/IBM-1025.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x0452 +0x43 0x0453 +0x44 0x0451 +0x45 0x0454 +0x46 0x0455 +0x47 0x0456 +0x48 0x0457 +0x49 0x0458 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x0459 +0x52 0x045A +0x53 0x045B +0x54 0x045C +0x55 0x045E +0x56 0x045F +0x57 0x042A +0x58 0x2116 +0x59 0x0402 +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x0403 +0x63 0x0401 +0x64 0x0404 +0x65 0x0405 +0x66 0x0406 +0x67 0x0407 +0x68 0x0408 +0x69 0x0409 +0x6A 0x007C +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x040A +0x71 0x040B +0x72 0x040C +0x73 0x00AD +0x74 0x040E +0x75 0x040F +0x76 0x044E +0x77 0x0430 +0x78 0x0431 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0446 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x0434 +0x8B 0x0435 +0x8C 0x0444 +0x8D 0x0433 +0x8E 0x0445 +0x8F 0x0438 +0x90 0x0439 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x043A +0x9B 0x043B +0x9C 0x043C +0x9D 0x043D +0x9E 0x043E +0x9F 0x043F +0xA0 0x044F +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x0440 +0xAB 0x0441 +0xAC 0x0442 +0xAD 0x0443 +0xAE 0x0436 +0xAF 0x0432 +0xB0 0x044C +0xB1 0x044B +0xB2 0x0437 +0xB3 0x0448 +0xB4 0x044D +0xB5 0x0449 +0xB6 0x0447 +0xB7 0x044A +0xB8 0x042E +0xB9 0x0410 +0xBA 0x0411 +0xBB 0x0426 +0xBC 0x0414 +0xBD 0x0415 +0xBE 0x0424 +0xBF 0x0413 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x0425 +0xCB 0x0418 +0xCC 0x0419 +0xCD 0x041A +0xCE 0x041B +0xCF 0x041C +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x041D +0xDB 0x041E +0xDC 0x041F +0xDD 0x042F +0xDE 0x0420 +0xDF 0x0421 +0xE0 0x005C +0xE1 0x00A7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x0422 +0xEB 0x0423 +0xEC 0x0416 +0xED 0x0412 +0xEE 0x042C +0xEF 0x042B +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x0417 +0xFB 0x0428 +0xFC 0x042D +0xFD 0x0429 +0xFE 0x0427 +0xFF 0x009F diff --git a/source/tests/IBM-1026.TXT b/source/tests/IBM-1026.TXT new file mode 100644 index 0000000..9f48604 --- /dev/null +++ b/source/tests/IBM-1026.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x007B +0x49 0x00F1 +0x4A 0x00C7 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x011E +0x5B 0x0130 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x005B +0x69 0x00D1 +0x6A 0x015F +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0131 +0x7A 0x003A +0x7B 0x00D6 +0x7C 0x015E +0x7D 0x0027 +0x7E 0x003D +0x7F 0x00DC +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x007D +0x8D 0x0060 +0x8E 0x00A6 +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x00F6 +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x005D +0xAD 0x0024 +0xAE 0x0040 +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E7 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x007E +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x011F +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x005C +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00FC +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x0023 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x0022 +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1047.TXT b/source/tests/IBM-1047.TXT new file mode 100644 index 0000000..d6818cf --- /dev/null +++ b/source/tests/IBM-1047.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x00A2 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x005B +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00AC +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00DD +0xBB 0x00A8 +0xBC 0x00AF +0xBD 0x005D +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1097.TXT b/source/tests/IBM-1097.TXT new file mode 100644 index 0000000..b67a074 --- /dev/null +++ b/source/tests/IBM-1097.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x060C +0x43 0x064B +0x44 0xFE81 +0x45 0xFE82 +0x46 0xF8FA +0x47 0xFE8D +0x48 0xFE8E +0x49 0xF8FB +0x4A 0x00A4 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0xFE80 +0x52 0xFE83 +0x53 0xFE84 +0x54 0xF8F9 +0x55 0xFE85 +0x56 0xFE8B +0x57 0xFE8F +0x58 0xFE91 +0x59 0xFB56 +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0xFB58 +0x63 0xFE95 +0x64 0xFE97 +0x65 0xFE99 +0x66 0xFE9B +0x67 0xFE9D +0x68 0xFE9F +0x69 0xFB7A +0x6A 0x061B +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0xFB7C +0x71 0xFEA1 +0x72 0xFEA3 +0x73 0xFEA5 +0x74 0xFEA7 +0x75 0xFEA9 +0x76 0xFEAB +0x77 0xFEAD +0x78 0xFEAF +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0xFB8A +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0xFEB1 +0x8D 0xFEB3 +0x8E 0xFEB5 +0x8F 0xFEB7 +0x90 0xFEB9 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0xFEBB +0x9B 0xFEBD +0x9C 0xFEBF +0x9D 0xFEC1 +0x9E 0xFEC3 +0x9F 0xFEC5 +0xA0 0xFEC7 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0xFEC9 +0xAB 0xFECA +0xAC 0xFECB +0xAD 0xFECC +0xAE 0xFECD +0xAF 0xFECE +0xB0 0xFECF +0xB1 0xFED0 +0xB2 0xFED1 +0xB3 0xFED3 +0xB4 0xFED5 +0xB5 0xFED7 +0xB6 0xFB8E +0xB7 0xFEDB +0xB8 0xFB92 +0xB9 0xFB94 +0xBA 0x005B +0xBB 0x005D +0xBC 0xFEDD +0xBD 0xFEDF +0xBE 0xFEE1 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0xFEE3 +0xCC 0xFEE5 +0xCD 0xFEE7 +0xCE 0xFEED +0xCF 0xFEE9 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0xFEEB +0xDB 0xFEEC +0xDC 0xFBA4 +0xDD 0xFBFC +0xDE 0xFBFD +0xDF 0xFBFE +0xE0 0x005C +0xE1 0x061F +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x0640 +0xEB 0x06F0 +0xEC 0x06F1 +0xED 0x06F2 +0xEE 0x06F3 +0xEF 0x06F4 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x06F5 +0xFB 0x06F6 +0xFC 0x06F7 +0xFD 0x06F8 +0xFE 0x06F9 +0xFF 0x009F diff --git a/source/tests/IBM-1112.TXT b/source/tests/IBM-1112.TXT new file mode 100644 index 0000000..e66d0be --- /dev/null +++ b/source/tests/IBM-1112.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x0161 +0x43 0x00E4 +0x44 0x0105 +0x45 0x012F +0x46 0x016B +0x47 0x00E5 +0x48 0x0113 +0x49 0x017E +0x4A 0x00A2 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x00E9 +0x52 0x0119 +0x53 0x0117 +0x54 0x010D +0x55 0x0173 +0x56 0x201E +0x57 0x201C +0x58 0x0123 +0x59 0x00DF +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x0160 +0x63 0x00C4 +0x64 0x0104 +0x65 0x012E +0x66 0x016A +0x67 0x00C5 +0x68 0x0112 +0x69 0x017D +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x0118 +0x73 0x0116 +0x74 0x010C +0x75 0x0172 +0x76 0x012A +0x77 0x013B +0x78 0x0122 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x0101 +0x8D 0x017C +0x8E 0x0144 +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x0156 +0x9B 0x0157 +0x9C 0x00E6 +0x9D 0x0137 +0x9E 0x00C6 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x201D +0xAB 0x017A +0xAC 0x0100 +0xAD 0x017B +0xAE 0x0143 +0xAF 0x00AE +0xB0 0x005E +0xB1 0x00A3 +0xB2 0x012B +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x005B +0xBB 0x005D +0xBC 0x0179 +0xBD 0x0136 +0xBE 0x013C +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x014D +0xCC 0x00F6 +0xCD 0x0146 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x0107 +0xDC 0x00FC +0xDD 0x0142 +0xDE 0x015B +0xDF 0x2019 +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x014C +0xEC 0x00D6 +0xED 0x0145 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x0106 +0xFC 0x00DC +0xFD 0x0141 +0xFE 0x015A +0xFF 0x009F diff --git a/source/tests/IBM-1122.TXT b/source/tests/IBM-1122.TXT new file mode 100644 index 0000000..7386558 --- /dev/null +++ b/source/tests/IBM-1122.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x007B +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x007D +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x00A7 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x0060 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x00A4 +0x5B 0x00C5 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x0023 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x0024 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00F6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x005C +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x00E9 +0x7A 0x003A +0x7B 0x00C4 +0x7C 0x00D6 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x0161 +0x8D 0x00FD +0x8E 0x017E +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x005D +0xA0 0x00B5 +0xA1 0x00FC +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x0160 +0xAD 0x00DD +0xAE 0x017D +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x005B +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E4 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00A6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00E5 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x007E +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00C9 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x0040 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1123.TXT b/source/tests/IBM-1123.TXT new file mode 100644 index 0000000..3cad5e4 --- /dev/null +++ b/source/tests/IBM-1123.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x0452 +0x43 0x0491 +0x44 0x0451 +0x45 0x0454 +0x46 0x0455 +0x47 0x0456 +0x48 0x0457 +0x49 0x0458 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x0459 +0x52 0x045A +0x53 0x045B +0x54 0x045C +0x55 0x045E +0x56 0x045F +0x57 0x042A +0x58 0x2116 +0x59 0x0402 +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x0490 +0x63 0x0401 +0x64 0x0404 +0x65 0x0405 +0x66 0x0406 +0x67 0x0407 +0x68 0x0408 +0x69 0x0409 +0x6A 0x007C +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x040A +0x71 0x040B +0x72 0x040C +0x73 0x00AD +0x74 0x040E +0x75 0x040F +0x76 0x044E +0x77 0x0430 +0x78 0x0431 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0446 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x0434 +0x8B 0x0435 +0x8C 0x0444 +0x8D 0x0433 +0x8E 0x0445 +0x8F 0x0438 +0x90 0x0439 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x043A +0x9B 0x043B +0x9C 0x043C +0x9D 0x043D +0x9E 0x043E +0x9F 0x043F +0xA0 0x044F +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x0440 +0xAB 0x0441 +0xAC 0x0442 +0xAD 0x0443 +0xAE 0x0436 +0xAF 0x0432 +0xB0 0x044C +0xB1 0x044B +0xB2 0x0437 +0xB3 0x0448 +0xB4 0x044D +0xB5 0x0449 +0xB6 0x0447 +0xB7 0x044A +0xB8 0x042E +0xB9 0x0410 +0xBA 0x0411 +0xBB 0x0426 +0xBC 0x0414 +0xBD 0x0415 +0xBE 0x0424 +0xBF 0x0413 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x0425 +0xCB 0x0418 +0xCC 0x0419 +0xCD 0x041A +0xCE 0x041B +0xCF 0x041C +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x041D +0xDB 0x041E +0xDC 0x041F +0xDD 0x042F +0xDE 0x0420 +0xDF 0x0421 +0xE0 0x005C +0xE1 0x00A7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x0422 +0xEB 0x0423 +0xEC 0x0416 +0xED 0x0412 +0xEE 0x042C +0xEF 0x042B +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x0417 +0xFB 0x0428 +0xFC 0x042D +0xFD 0x0429 +0xFE 0x0427 +0xFF 0x009F diff --git a/source/tests/IBM-1130.TXT b/source/tests/IBM-1130.TXT new file mode 100644 index 0000000..104d5c9 --- /dev/null +++ b/source/tests/IBM-1130.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x0103 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x0303 +0x59 0x00DF +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x0102 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x20AB +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x0111 +0x8D 0x0309 +0x8E 0x0300 +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x0152 +0x9E 0x00C6 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x0110 +0xAD 0x0323 +0xAE 0x0301 +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x0153 +0xBE 0x0178 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x01B0 +0xCE 0x00F3 +0xCF 0x01A1 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x01AF +0xEE 0x00D3 +0xEF 0x01A0 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1132.TXT b/source/tests/IBM-1132.TXT new file mode 100644 index 0000000..425fcd4 --- /dev/null +++ b/source/tests/IBM-1132.TXT @@ -0,0 +1,230 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x0E81 +0x43 0x0E82 +0x44 0x0E84 +0x45 0x0E87 +0x46 0x0E88 +0x47 0x0EAA +0x48 0x0E8A +0x49 0x005B +0x4A 0x00A2 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x52 0x0E8D +0x53 0x0E94 +0x54 0x0E95 +0x55 0x0E96 +0x56 0x0E97 +0x57 0x0E99 +0x58 0x0E9A +0x59 0x005D +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x0E9B +0x63 0x0E9C +0x64 0x0E9D +0x65 0x0E9E +0x66 0x0E9F +0x67 0x0EA1 +0x68 0x0EA2 +0x69 0x005E +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x20AD +0x72 0x0EA3 +0x73 0x0EA5 +0x74 0x0EA7 +0x75 0x0EAB +0x76 0x0EAD +0x77 0x0EAE +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8C 0x0EAF +0x8D 0x0EB0 +0x8E 0x0EB2 +0x8F 0x0EB3 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x0EB4 +0x9B 0x0EB5 +0x9C 0x0EB6 +0x9D 0x0EB7 +0x9E 0x0EB8 +0x9F 0x0EB9 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x0EBC +0xAB 0x0EB1 +0xAC 0x0EBB +0xAD 0x0EBD +0xB0 0x0ED0 +0xB1 0x0ED1 +0xB2 0x0ED2 +0xB3 0x0ED3 +0xB4 0x0ED4 +0xB5 0x0ED5 +0xB6 0x0ED6 +0xB7 0x0ED7 +0xB8 0x0ED8 +0xB9 0x0ED9 +0xBB 0x0EC0 +0xBC 0x0EC1 +0xBD 0x0EC2 +0xBE 0x0EC3 +0xBF 0x0EC4 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCB 0x0EC8 +0xCC 0x0EC9 +0xCD 0x0ECA +0xCE 0x0ECB +0xCF 0x0ECC +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x0ECD +0xDB 0x0EC6 +0xDD 0x0EDC +0xDE 0x0EDD +0xE0 0x005C +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFF 0x009F diff --git a/source/tests/IBM-1137.TXT b/source/tests/IBM-1137.TXT new file mode 100644 index 0000000..99126cd --- /dev/null +++ b/source/tests/IBM-1137.TXT @@ -0,0 +1,254 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x0901 +0x43 0x0902 +0x44 0x0903 +0x45 0x0905 +0x46 0x0906 +0x47 0x0907 +0x48 0x0908 +0x49 0x0909 +0x4A 0x090A +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x090B +0x52 0x090C +0x53 0x090D +0x54 0x090E +0x55 0x090F +0x56 0x0910 +0x57 0x0911 +0x58 0x0912 +0x59 0x0913 +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x0914 +0x63 0x0915 +0x64 0x0916 +0x65 0x0917 +0x66 0x0918 +0x67 0x0919 +0x68 0x091A +0x69 0x091B +0x6A 0x091C +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x091D +0x71 0x091E +0x72 0x091F +0x73 0x0920 +0x74 0x0921 +0x75 0x0922 +0x76 0x0923 +0x77 0x0924 +0x78 0x0925 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0926 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x0927 +0x8B 0x0928 +0x8C 0x092A +0x8D 0x092B +0x8E 0x092C +0x8F 0x092D +0x90 0x092E +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x092F +0x9B 0x0930 +0x9C 0x0932 +0x9D 0x0933 +0x9E 0x0935 +0x9F 0x0936 +0xA0 0x200C +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x0937 +0xAB 0x0938 +0xAC 0x0939 +0xAD 0x005B +0xAE 0x093C +0xAF 0x093D +0xB0 0x093E +0xB1 0x093F +0xB2 0x0940 +0xB3 0x0941 +0xB4 0x0942 +0xB5 0x0943 +0xB6 0x0944 +0xB7 0x0945 +0xB8 0x0946 +0xB9 0x0947 +0xBA 0x0948 +0xBB 0x0949 +0xBC 0x094A +0xBD 0x005D +0xBE 0x094B +0xBF 0x094C +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x094D +0xCB 0x0950 +0xCC 0x0951 +0xCD 0x0952 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x0960 +0xDB 0x0961 +0xDC 0x0962 +0xDD 0x0963 +0xDE 0x0964 +0xDF 0x0965 +0xE0 0x005C +0xE1 0x200D +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x0966 +0xEB 0x0967 +0xEC 0x0968 +0xED 0x0969 +0xEE 0x096A +0xEF 0x096B +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x096C +0xFB 0x096D +0xFC 0x096E +0xFD 0x096F +0xFE 0x0970 +0xFF 0x009F diff --git a/source/tests/IBM-1140.TXT b/source/tests/IBM-1140.TXT new file mode 100644 index 0000000..d38cbe4 --- /dev/null +++ b/source/tests/IBM-1140.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x00A2 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x20AC +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x005E +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x005B +0xBB 0x005D +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1141.TXT b/source/tests/IBM-1141.TXT new file mode 100644 index 0000000..ed22b57 --- /dev/null +++ b/source/tests/IBM-1141.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x007B +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x00C4 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x007E +0x5A 0x00DC +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x005B +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00F6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x00A7 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x20AC +0xA0 0x00B5 +0xA1 0x00DF +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x0040 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E4 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00A6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00FC +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x007D +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00D6 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x005C +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x005D +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1142.TXT b/source/tests/IBM-1142.TXT new file mode 100644 index 0000000..15de29c --- /dev/null +++ b/source/tests/IBM-1142.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x007D +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x0023 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x20AC +0x5B 0x00C5 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x0024 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00F8 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00A6 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x00C6 +0x7C 0x00D8 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0040 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x007B +0x9D 0x00B8 +0x9E 0x005B +0x9F 0x005D +0xA0 0x00B5 +0xA1 0x00FC +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E6 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00E5 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x007E +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1143.TXT b/source/tests/IBM-1143.TXT new file mode 100644 index 0000000..db52662 --- /dev/null +++ b/source/tests/IBM-1143.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x007B +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x007D +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x00A7 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x0060 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x20AC +0x5B 0x00C5 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x0023 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x0024 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00F6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x005C +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x00E9 +0x7A 0x003A +0x7B 0x00C4 +0x7C 0x00D6 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x005D +0xA0 0x00B5 +0xA1 0x00FC +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x005B +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E4 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00A6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00E5 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x007E +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00C9 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x0040 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1144.TXT b/source/tests/IBM-1144.TXT new file mode 100644 index 0000000..f199b92 --- /dev/null +++ b/source/tests/IBM-1144.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x007B +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x005C +0x49 0x00F1 +0x4A 0x00B0 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x005D +0x52 0x00EA +0x53 0x00EB +0x54 0x007D +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x007E +0x59 0x00DF +0x5A 0x00E9 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00F2 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x00F9 +0x7A 0x003A +0x7B 0x00A3 +0x7C 0x00A7 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x005B +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x20AC +0xA0 0x00B5 +0xA1 0x00EC +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x0023 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x0040 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E0 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00A6 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00E8 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x0060 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00E7 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1145.TXT b/source/tests/IBM-1145.TXT new file mode 100644 index 0000000..0ea8e87 --- /dev/null +++ b/source/tests/IBM-1145.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00A6 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x0023 +0x6A 0x00F1 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x00D1 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x20AC +0xA0 0x00B5 +0xA1 0x00A8 +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x005E +0xBB 0x0021 +0xBC 0x00AF +0xBD 0x007E +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1146.TXT b/source/tests/IBM-1146.TXT new file mode 100644 index 0000000..242b53a --- /dev/null +++ b/source/tests/IBM-1146.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x0024 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x0021 +0x5B 0x00A3 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x20AC +0xA0 0x00B5 +0xA1 0x00AF +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x005B +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x005E +0xBB 0x005D +0xBC 0x007E +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1147.TXT b/source/tests/IBM-1147.TXT new file mode 100644 index 0000000..6669c03 --- /dev/null +++ b/source/tests/IBM-1147.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x0040 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x005C +0x49 0x00F1 +0x4A 0x00B0 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x007B +0x52 0x00EA +0x53 0x00EB +0x54 0x007D +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x00A7 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00F9 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x00B5 +0x7A 0x003A +0x7B 0x00A3 +0x7C 0x00E0 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x005B +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x20AC +0xA0 0x0060 +0xA1 0x00A8 +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x0023 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x005D +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x007E +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E9 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00E8 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00A6 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00E7 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1148.TXT b/source/tests/IBM-1148.TXT new file mode 100644 index 0000000..c25322a --- /dev/null +++ b/source/tests/IBM-1148.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x20AC +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1149.TXT b/source/tests/IBM-1149.TXT new file mode 100644 index 0000000..ccaad96 --- /dev/null +++ b/source/tests/IBM-1149.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x00DE +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x00C6 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00D6 +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x00F0 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x00D0 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x0060 +0x8D 0x00FD +0x8E 0x007B +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x007D +0x9D 0x00B8 +0x9E 0x005D +0x9F 0x20AC +0xA0 0x00B5 +0xA1 0x00F6 +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x0040 +0xAD 0x00DD +0xAE 0x005B +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x005C +0xBF 0x00D7 +0xC0 0x00FE +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x007E +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00E6 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00B4 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x005E +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1153.TXT b/source/tests/IBM-1153.TXT new file mode 100644 index 0000000..cab4652 --- /dev/null +++ b/source/tests/IBM-1153.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x0163 +0x45 0x00E1 +0x46 0x0103 +0x47 0x010D +0x48 0x00E7 +0x49 0x0107 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x0119 +0x53 0x00EB +0x54 0x016F +0x55 0x00ED +0x56 0x00EE +0x57 0x013E +0x58 0x013A +0x59 0x00DF +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x02DD +0x65 0x00C1 +0x66 0x0102 +0x67 0x010C +0x68 0x00C7 +0x69 0x0106 +0x6A 0x007C +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x02C7 +0x71 0x00C9 +0x72 0x0118 +0x73 0x00CB +0x74 0x016E +0x75 0x00CD +0x76 0x00CE +0x77 0x013D +0x78 0x0139 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x02D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x015B +0x8B 0x0148 +0x8C 0x0111 +0x8D 0x00FD +0x8E 0x0159 +0x8F 0x015F +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x0142 +0x9B 0x0144 +0x9C 0x0161 +0x9D 0x00B8 +0x9E 0x02DB +0x9F 0x20AC +0xA0 0x0105 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x015A +0xAB 0x0147 +0xAC 0x0110 +0xAD 0x00DD +0xAE 0x0158 +0xAF 0x015E +0xB0 0x02D9 +0xB1 0x0104 +0xB2 0x017C +0xB3 0x0162 +0xB4 0x017B +0xB5 0x00A7 +0xB6 0x017E +0xB7 0x017A +0xB8 0x017D +0xB9 0x0179 +0xBA 0x0141 +0xBB 0x0143 +0xBC 0x0160 +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x0155 +0xCE 0x00F3 +0xCF 0x0151 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x011A +0xDB 0x0171 +0xDC 0x00FC +0xDD 0x0165 +0xDE 0x00FA +0xDF 0x011B +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x010F +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x0154 +0xEE 0x00D3 +0xEF 0x0150 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x010E +0xFB 0x0170 +0xFC 0x00DC +0xFD 0x0164 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1154.TXT b/source/tests/IBM-1154.TXT new file mode 100644 index 0000000..ec1f6a1 --- /dev/null +++ b/source/tests/IBM-1154.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x0452 +0x43 0x0453 +0x44 0x0451 +0x45 0x0454 +0x46 0x0455 +0x47 0x0456 +0x48 0x0457 +0x49 0x0458 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x0459 +0x52 0x045A +0x53 0x045B +0x54 0x045C +0x55 0x045E +0x56 0x045F +0x57 0x042A +0x58 0x2116 +0x59 0x0402 +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x0403 +0x63 0x0401 +0x64 0x0404 +0x65 0x0405 +0x66 0x0406 +0x67 0x0407 +0x68 0x0408 +0x69 0x0409 +0x6A 0x007C +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x040A +0x71 0x040B +0x72 0x040C +0x73 0x00AD +0x74 0x040E +0x75 0x040F +0x76 0x044E +0x77 0x0430 +0x78 0x0431 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0446 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x0434 +0x8B 0x0435 +0x8C 0x0444 +0x8D 0x0433 +0x8E 0x0445 +0x8F 0x0438 +0x90 0x0439 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x043A +0x9B 0x043B +0x9C 0x043C +0x9D 0x043D +0x9E 0x043E +0x9F 0x043F +0xA0 0x044F +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x0440 +0xAB 0x0441 +0xAC 0x0442 +0xAD 0x0443 +0xAE 0x0436 +0xAF 0x0432 +0xB0 0x044C +0xB1 0x044B +0xB2 0x0437 +0xB3 0x0448 +0xB4 0x044D +0xB5 0x0449 +0xB6 0x0447 +0xB7 0x044A +0xB8 0x042E +0xB9 0x0410 +0xBA 0x0411 +0xBB 0x0426 +0xBC 0x0414 +0xBD 0x0415 +0xBE 0x0424 +0xBF 0x0413 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x0425 +0xCB 0x0418 +0xCC 0x0419 +0xCD 0x041A +0xCE 0x041B +0xCF 0x041C +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x041D +0xDB 0x041E +0xDC 0x041F +0xDD 0x042F +0xDE 0x0420 +0xDF 0x0421 +0xE0 0x005C +0xE1 0x20AC +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x0422 +0xEB 0x0423 +0xEC 0x0416 +0xED 0x0412 +0xEE 0x042C +0xEF 0x042B +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x0417 +0xFB 0x0428 +0xFC 0x042D +0xFD 0x0429 +0xFE 0x0427 +0xFF 0x009F diff --git a/source/tests/IBM-1155.TXT b/source/tests/IBM-1155.TXT new file mode 100644 index 0000000..e1046e6 --- /dev/null +++ b/source/tests/IBM-1155.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x007B +0x49 0x00F1 +0x4A 0x00C7 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x011E +0x5B 0x0130 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x005B +0x69 0x00D1 +0x6A 0x015F +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0131 +0x7A 0x003A +0x7B 0x00D6 +0x7C 0x015E +0x7D 0x0027 +0x7E 0x003D +0x7F 0x00DC +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x007D +0x8D 0x0060 +0x8E 0x00A6 +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x20AC +0xA0 0x00B5 +0xA1 0x00F6 +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x005D +0xAD 0x0024 +0xAE 0x0040 +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E7 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x007E +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x011F +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x005C +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00FC +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x0023 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x0022 +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1156.TXT b/source/tests/IBM-1156.TXT new file mode 100644 index 0000000..2816dc1 --- /dev/null +++ b/source/tests/IBM-1156.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x0161 +0x43 0x00E4 +0x44 0x0105 +0x45 0x012F +0x46 0x016B +0x47 0x00E5 +0x48 0x0113 +0x49 0x017E +0x4A 0x00A2 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x00E9 +0x52 0x0119 +0x53 0x0117 +0x54 0x010D +0x55 0x0173 +0x56 0x201E +0x57 0x201C +0x58 0x0123 +0x59 0x00DF +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x0160 +0x63 0x00C4 +0x64 0x0104 +0x65 0x012E +0x66 0x016A +0x67 0x00C5 +0x68 0x0112 +0x69 0x017D +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x0118 +0x73 0x0116 +0x74 0x010C +0x75 0x0172 +0x76 0x012A +0x77 0x013B +0x78 0x0122 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x0101 +0x8D 0x017C +0x8E 0x0144 +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x0156 +0x9B 0x0157 +0x9C 0x00E6 +0x9D 0x0137 +0x9E 0x00C6 +0x9F 0x20AC +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x201D +0xAB 0x017A +0xAC 0x0100 +0xAD 0x017B +0xAE 0x0143 +0xAF 0x00AE +0xB0 0x005E +0xB1 0x00A3 +0xB2 0x012B +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x005B +0xBB 0x005D +0xBC 0x0179 +0xBD 0x0136 +0xBE 0x013C +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x014D +0xCC 0x00F6 +0xCD 0x0146 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x0107 +0xDC 0x00FC +0xDD 0x0142 +0xDE 0x015B +0xDF 0x2019 +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x014C +0xEC 0x00D6 +0xED 0x0145 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x0106 +0xFC 0x00DC +0xFD 0x0141 +0xFE 0x015A +0xFF 0x009F diff --git a/source/tests/IBM-1157.TXT b/source/tests/IBM-1157.TXT new file mode 100644 index 0000000..57801a5 --- /dev/null +++ b/source/tests/IBM-1157.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x007B +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x007D +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x00A7 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x0060 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x20AC +0x5B 0x00C5 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x0023 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x0024 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00F6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x005C +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x00E9 +0x7A 0x003A +0x7B 0x00C4 +0x7C 0x00D6 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x0161 +0x8D 0x00FD +0x8E 0x017E +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x005D +0xA0 0x00B5 +0xA1 0x00FC +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x0160 +0xAD 0x00DD +0xAE 0x017D +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x005B +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E4 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00A6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00E5 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x007E +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00C9 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x0040 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1158.TXT b/source/tests/IBM-1158.TXT new file mode 100644 index 0000000..7ef39fb --- /dev/null +++ b/source/tests/IBM-1158.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x0452 +0x43 0x0491 +0x44 0x0451 +0x45 0x0454 +0x46 0x0455 +0x47 0x0456 +0x48 0x0457 +0x49 0x0458 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x0459 +0x52 0x045A +0x53 0x045B +0x54 0x045C +0x55 0x045E +0x56 0x045F +0x57 0x042A +0x58 0x2116 +0x59 0x0402 +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x0490 +0x63 0x0401 +0x64 0x0404 +0x65 0x0405 +0x66 0x0406 +0x67 0x0407 +0x68 0x0408 +0x69 0x0409 +0x6A 0x007C +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x040A +0x71 0x040B +0x72 0x040C +0x73 0x00AD +0x74 0x040E +0x75 0x040F +0x76 0x044E +0x77 0x0430 +0x78 0x0431 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0446 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x0434 +0x8B 0x0435 +0x8C 0x0444 +0x8D 0x0433 +0x8E 0x0445 +0x8F 0x0438 +0x90 0x0439 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x043A +0x9B 0x043B +0x9C 0x043C +0x9D 0x043D +0x9E 0x043E +0x9F 0x043F +0xA0 0x044F +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x0440 +0xAB 0x0441 +0xAC 0x0442 +0xAD 0x0443 +0xAE 0x0436 +0xAF 0x0432 +0xB0 0x044C +0xB1 0x044B +0xB2 0x0437 +0xB3 0x0448 +0xB4 0x044D +0xB5 0x0449 +0xB6 0x0447 +0xB7 0x044A +0xB8 0x042E +0xB9 0x0410 +0xBA 0x0411 +0xBB 0x0426 +0xBC 0x0414 +0xBD 0x0415 +0xBE 0x0424 +0xBF 0x0413 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x0425 +0xCB 0x0418 +0xCC 0x0419 +0xCD 0x041A +0xCE 0x041B +0xCF 0x041C +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x041D +0xDB 0x041E +0xDC 0x041F +0xDD 0x042F +0xDE 0x0420 +0xDF 0x0421 +0xE0 0x005C +0xE1 0x20AC +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x0422 +0xEB 0x0423 +0xEC 0x0416 +0xED 0x0412 +0xEE 0x042C +0xEF 0x042B +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x0417 +0xFB 0x0428 +0xFC 0x042D +0xFD 0x0429 +0xFE 0x0427 +0xFF 0x009F diff --git a/source/tests/IBM-1160.IRREVERSIBLE.TXT b/source/tests/IBM-1160.IRREVERSIBLE.TXT new file mode 100644 index 0000000..494fef2 --- /dev/null +++ b/source/tests/IBM-1160.IRREVERSIBLE.TXT @@ -0,0 +1,4 @@ +0x51 0x0E48 +0xCA 0x0E49 +0xE1 0x0E4A +0xFD 0x0E4B diff --git a/source/tests/IBM-1160.TXT b/source/tests/IBM-1160.TXT new file mode 100644 index 0000000..fe902e5 --- /dev/null +++ b/source/tests/IBM-1160.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x0E01 +0x43 0x0E02 +0x44 0x0E03 +0x45 0x0E04 +0x46 0x0E05 +0x47 0x0E06 +0x48 0x0E07 +0x49 0x005B +0x4A 0x00A2 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x0E48 +0x52 0x0E08 +0x53 0x0E09 +0x54 0x0E0A +0x55 0x0E0B +0x56 0x0E0C +0x57 0x0E0D +0x58 0x0E0E +0x59 0x005D +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x0E0F +0x63 0x0E10 +0x64 0x0E11 +0x65 0x0E12 +0x66 0x0E13 +0x67 0x0E14 +0x68 0x0E15 +0x69 0x005E +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x0E3F +0x71 0x0E4E +0x72 0x0E16 +0x73 0x0E17 +0x74 0x0E18 +0x75 0x0E19 +0x76 0x0E1A +0x77 0x0E1B +0x78 0x0E1C +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0E4F +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x0E1D +0x8B 0x0E1E +0x8C 0x0E1F +0x8D 0x0E20 +0x8E 0x0E21 +0x8F 0x0E22 +0x90 0x0E5A +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x0E23 +0x9B 0x0E24 +0x9C 0x0E25 +0x9D 0x0E26 +0x9E 0x0E27 +0x9F 0x0E28 +0xA0 0x0E5B +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x0E29 +0xAB 0x0E2A +0xAC 0x0E2B +0xAD 0x0E2C +0xAE 0x0E2D +0xAF 0x0E2E +0xB0 0x0E50 +0xB1 0x0E51 +0xB2 0x0E52 +0xB3 0x0E53 +0xB4 0x0E54 +0xB5 0x0E55 +0xB6 0x0E56 +0xB7 0x0E57 +0xB8 0x0E58 +0xB9 0x0E59 +0xBA 0x0E2F +0xBB 0x0E30 +0xBC 0x0E31 +0xBD 0x0E32 +0xBE 0x0E33 +0xBF 0x0E34 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x0E49 +0xCB 0x0E35 +0xCC 0x0E36 +0xCD 0x0E37 +0xCE 0x0E38 +0xCF 0x0E39 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x0E3A +0xDB 0x0E40 +0xDC 0x0E41 +0xDD 0x0E42 +0xDE 0x0E43 +0xDF 0x0E44 +0xE0 0x005C +0xE1 0x0E4A +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x0E45 +0xEB 0x0E46 +0xEC 0x0E47 +0xED 0x0E48 +0xEE 0x0E49 +0xEF 0x0E4A +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x0E4B +0xFB 0x0E4C +0xFC 0x0E4D +0xFD 0x0E4B +0xFE 0x20AC +0xFF 0x009F diff --git a/source/tests/IBM-1164.TXT b/source/tests/IBM-1164.TXT new file mode 100644 index 0000000..7015807 --- /dev/null +++ b/source/tests/IBM-1164.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x0103 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x0303 +0x59 0x00DF +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x0102 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x20AB +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x0111 +0x8D 0x0309 +0x8E 0x0300 +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x0152 +0x9E 0x00C6 +0x9F 0x20AC +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x0110 +0xAD 0x0323 +0xAE 0x0301 +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x0153 +0xBE 0x0178 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x01B0 +0xCE 0x00F3 +0xCF 0x01A1 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x01AF +0xEE 0x00D3 +0xEF 0x01A0 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1165.TXT b/source/tests/IBM-1165.TXT new file mode 100644 index 0000000..e26969a --- /dev/null +++ b/source/tests/IBM-1165.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x0163 +0x45 0x00E1 +0x46 0x0103 +0x47 0x010D +0x48 0x00E7 +0x49 0x0107 +0x4A 0x00DD +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x00E9 +0x52 0x0119 +0x53 0x00EB +0x54 0x016F +0x55 0x00ED +0x56 0x00EE +0x57 0x013E +0x58 0x013A +0x59 0x00DF +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x02DD +0x65 0x00C1 +0x66 0x0102 +0x67 0x010C +0x68 0x00C7 +0x69 0x0106 +0x6A 0x00A8 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x02C7 +0x71 0x00C9 +0x72 0x0118 +0x73 0x00CB +0x74 0x016E +0x75 0x00CD +0x76 0x00CE +0x77 0x013D +0x78 0x0139 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x02D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x015B +0x8B 0x0148 +0x8C 0x0111 +0x8D 0x00FD +0x8E 0x0159 +0x8F 0x015F +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x0142 +0x9B 0x0144 +0x9C 0x0161 +0x9D 0x00B8 +0x9E 0x02DB +0x9F 0x20AC +0xA0 0x0105 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x015A +0xAB 0x0147 +0xAC 0x0110 +0xAD 0x005B +0xAE 0x0158 +0xAF 0x015E +0xB0 0x02D9 +0xB1 0x0104 +0xB2 0x017C +0xB3 0x0162 +0xB4 0x017B +0xB5 0x00A7 +0xB6 0x017E +0xB7 0x017A +0xB8 0x017D +0xB9 0x0179 +0xBA 0x0141 +0xBB 0x0143 +0xBC 0x0160 +0xBD 0x005D +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x0155 +0xCE 0x00F3 +0xCF 0x0151 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x011A +0xDB 0x0171 +0xDC 0x00FC +0xDD 0x0165 +0xDE 0x00FA +0xDF 0x011B +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x010F +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x0154 +0xEE 0x00D3 +0xEF 0x0150 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x010E +0xFB 0x0170 +0xFC 0x00DC +0xFD 0x0164 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-1166.TXT b/source/tests/IBM-1166.TXT new file mode 100644 index 0000000..064269a --- /dev/null +++ b/source/tests/IBM-1166.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x04D9 +0x43 0x0493 +0x44 0x0451 +0x45 0x0454 +0x46 0x0455 +0x47 0x0456 +0x48 0x049B +0x49 0x0458 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x04A3 +0x52 0x04E9 +0x53 0x04B1 +0x54 0x04AF +0x55 0x045E +0x56 0x04BB +0x57 0x042A +0x58 0x2116 +0x59 0x04D8 +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x0492 +0x63 0x0401 +0x64 0x0404 +0x65 0x0405 +0x66 0x0406 +0x67 0x049A +0x68 0x0408 +0x69 0x04A2 +0x6A 0x007C +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x04E8 +0x71 0x04B0 +0x72 0x04AE +0x73 0x00AD +0x74 0x040E +0x75 0x04BA +0x76 0x044E +0x77 0x0430 +0x78 0x0431 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0446 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x0434 +0x8B 0x0435 +0x8C 0x0444 +0x8D 0x0433 +0x8E 0x0445 +0x8F 0x0438 +0x90 0x0439 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x043A +0x9B 0x043B +0x9C 0x043C +0x9D 0x043D +0x9E 0x043E +0x9F 0x043F +0xA0 0x044F +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x0440 +0xAB 0x0441 +0xAC 0x0442 +0xAD 0x0443 +0xAE 0x0436 +0xAF 0x0432 +0xB0 0x044C +0xB1 0x044B +0xB2 0x0437 +0xB3 0x0448 +0xB4 0x044D +0xB5 0x0449 +0xB6 0x0447 +0xB7 0x044A +0xB8 0x042E +0xB9 0x0410 +0xBA 0x0411 +0xBB 0x0426 +0xBC 0x0414 +0xBD 0x0415 +0xBE 0x0424 +0xBF 0x0413 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x0425 +0xCB 0x0418 +0xCC 0x0419 +0xCD 0x041A +0xCE 0x041B +0xCF 0x041C +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x041D +0xDB 0x041E +0xDC 0x041F +0xDD 0x042F +0xDE 0x0420 +0xDF 0x0421 +0xE0 0x005C +0xE1 0x20AC +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x0422 +0xEB 0x0423 +0xEC 0x0416 +0xED 0x0412 +0xEE 0x042C +0xEF 0x042B +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x0417 +0xFB 0x0428 +0xFC 0x042D +0xFD 0x0429 +0xFE 0x0427 +0xFF 0x009F diff --git a/source/tests/IBM-12712.TXT b/source/tests/IBM-12712.TXT new file mode 100644 index 0000000..8310f89 --- /dev/null +++ b/source/tests/IBM-12712.TXT @@ -0,0 +1,227 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x05D0 +0x42 0x05D1 +0x43 0x05D2 +0x44 0x05D3 +0x45 0x05D4 +0x46 0x05D5 +0x47 0x05D6 +0x48 0x05D7 +0x49 0x05D8 +0x4A 0x00A2 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x05D9 +0x52 0x05DA +0x53 0x05DB +0x54 0x05DC +0x55 0x05DD +0x56 0x05DE +0x57 0x05DF +0x58 0x05E0 +0x59 0x05E1 +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x05E2 +0x63 0x05E3 +0x64 0x05E4 +0x65 0x05E5 +0x66 0x05E6 +0x67 0x05E7 +0x68 0x05E8 +0x69 0x05E9 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x71 0x05EA +0x74 0x00A0 +0x78 0x2017 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9C 0x20AC +0x9D 0x00B8 +0x9E 0x20AA +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAF 0x00AE +0xB0 0x005E +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x2022 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x005B +0xBB 0x005D +0xBC 0x203E +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x202D +0xDC 0x202E +0xDD 0x202C +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x202A +0xFC 0x202B +0xFD 0x200E +0xFE 0x200F +0xFF 0x009F diff --git a/source/tests/IBM-16804.TXT b/source/tests/IBM-16804.TXT new file mode 100644 index 0000000..87a0603 --- /dev/null +++ b/source/tests/IBM-16804.TXT @@ -0,0 +1,249 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x0651 +0x43 0xFE7D +0x44 0x0640 +0x45 0x200B +0x46 0x0621 +0x47 0x0622 +0x48 0xFE82 +0x49 0x0623 +0x4A 0x00A2 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0xFE84 +0x52 0x0624 +0x55 0x0626 +0x56 0x0627 +0x57 0xFE8E +0x58 0x0628 +0x59 0xFE91 +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x0629 +0x63 0x062A +0x64 0xFE97 +0x65 0x062B +0x66 0xFE9B +0x67 0x062C +0x68 0xFE9F +0x69 0x062D +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0xFEA3 +0x71 0x062E +0x72 0xFEA7 +0x73 0x062F +0x74 0x0630 +0x75 0x0631 +0x76 0x0632 +0x77 0x0633 +0x78 0xFEB3 +0x79 0x060C +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0634 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0xFEB7 +0x8B 0x0635 +0x8C 0xFEBB +0x8D 0x0636 +0x8E 0xFEBF +0x8F 0x0637 +0x90 0x0638 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x0639 +0x9B 0xFECA +0x9C 0xFECB +0x9D 0xFECC +0x9E 0x063A +0x9F 0xFECE +0xA0 0xFECF +0xA1 0x00F7 +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0xFED0 +0xAB 0x0641 +0xAC 0xFED3 +0xAD 0x0642 +0xAE 0xFED7 +0xAF 0x0643 +0xB0 0xFEDB +0xB1 0x0644 +0xB2 0xFEF5 +0xB3 0xFEF6 +0xB4 0xFEF7 +0xB5 0xFEF8 +0xB8 0xFEFB +0xB9 0xFEFC +0xBA 0xFEDF +0xBB 0x0645 +0xBC 0xFEE3 +0xBD 0x0646 +0xBE 0xFEE7 +0xBF 0x0647 +0xC0 0x061B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0xFEEB +0xCD 0xFEEC +0xCF 0x0648 +0xD0 0x061F +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x0649 +0xDB 0xFEF0 +0xDC 0x064A +0xDD 0xFEF2 +0xDE 0xFEF3 +0xDF 0x0660 +0xE0 0x00D7 +0xE1 0x2007 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x0661 +0xEB 0x0662 +0xED 0x0663 +0xEE 0x0664 +0xEF 0x0665 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x20AC +0xFB 0x0666 +0xFC 0x0667 +0xFD 0x0668 +0xFE 0x0669 +0xFF 0x009F diff --git a/source/tests/IBM-273.TXT b/source/tests/IBM-273.TXT new file mode 100644 index 0000000..fb82635 --- /dev/null +++ b/source/tests/IBM-273.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x007B +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x00C4 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x007E +0x5A 0x00DC +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x005B +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00F6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x00A7 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x00DF +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x0040 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E4 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00A6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00FC +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x007D +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00D6 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x005C +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x005D +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-277.TXT b/source/tests/IBM-277.TXT new file mode 100644 index 0000000..f7f8137 --- /dev/null +++ b/source/tests/IBM-277.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x007D +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x0023 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x00A4 +0x5B 0x00C5 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x0024 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00F8 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00A6 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x00C6 +0x7C 0x00D8 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0040 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x007B +0x9D 0x00B8 +0x9E 0x005B +0x9F 0x005D +0xA0 0x00B5 +0xA1 0x00FC +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E6 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00E5 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x007E +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-278.TXT b/source/tests/IBM-278.TXT new file mode 100644 index 0000000..8984604 --- /dev/null +++ b/source/tests/IBM-278.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x007B +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x007D +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x00A7 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x0060 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x00A4 +0x5B 0x00C5 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x0023 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x0024 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00F6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x005C +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x00E9 +0x7A 0x003A +0x7B 0x00C4 +0x7C 0x00D6 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x005D +0xA0 0x00B5 +0xA1 0x00FC +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x005B +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E4 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00A6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00E5 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x007E +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00C9 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x0040 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-280.TXT b/source/tests/IBM-280.TXT new file mode 100644 index 0000000..d37e4ef --- /dev/null +++ b/source/tests/IBM-280.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x007B +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x005C +0x49 0x00F1 +0x4A 0x00B0 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x005D +0x52 0x00EA +0x53 0x00EB +0x54 0x007D +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x007E +0x59 0x00DF +0x5A 0x00E9 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00F2 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x00F9 +0x7A 0x003A +0x7B 0x00A3 +0x7C 0x00A7 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x005B +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x00EC +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x0023 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x0040 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E0 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00A6 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00E8 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x0060 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00E7 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-282.TXT b/source/tests/IBM-282.TXT new file mode 100644 index 0000000..a47a7b9 --- /dev/null +++ b/source/tests/IBM-282.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x007B +0x47 0x00E5 +0x48 0x007E +0x49 0x00F1 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x0023 +0x67 0x00C5 +0x68 0x005C +0x69 0x00D1 +0x6A 0x00F5 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x00C3 +0x7C 0x00D5 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x00E7 +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x007D +0xBF 0x00D7 +0xC0 0x00E3 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00A6 +0xD0 0x00B4 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00C7 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x0040 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-284.TXT b/source/tests/IBM-284.TXT new file mode 100644 index 0000000..4fd9b84 --- /dev/null +++ b/source/tests/IBM-284.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00A6 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x0023 +0x6A 0x00F1 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x00D1 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x00A8 +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x005E +0xBB 0x0021 +0xBC 0x00AF +0xBD 0x007E +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-285.TXT b/source/tests/IBM-285.TXT new file mode 100644 index 0000000..07883fb --- /dev/null +++ b/source/tests/IBM-285.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x0024 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x0021 +0x5B 0x00A3 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x00AF +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x005B +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x005E +0xBB 0x005D +0xBC 0x007E +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-297.TXT b/source/tests/IBM-297.TXT new file mode 100644 index 0000000..fd21c48 --- /dev/null +++ b/source/tests/IBM-297.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x0040 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x005C +0x49 0x00F1 +0x4A 0x00B0 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x007B +0x52 0x00EA +0x53 0x00EB +0x54 0x007D +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x00A7 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00F9 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x00B5 +0x7A 0x003A +0x7B 0x00A3 +0x7C 0x00E0 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x005B +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x00A4 +0xA0 0x0060 +0xA1 0x00A8 +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x0023 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x005D +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x007E +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E9 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00E8 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00A6 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00E7 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-423.TXT b/source/tests/IBM-423.TXT new file mode 100644 index 0000000..420ea30 --- /dev/null +++ b/source/tests/IBM-423.TXT @@ -0,0 +1,249 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x0391 +0x42 0x0392 +0x43 0x0393 +0x44 0x0394 +0x45 0x0395 +0x46 0x0396 +0x47 0x0397 +0x48 0x0398 +0x49 0x0399 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x039A +0x52 0x039B +0x53 0x039C +0x54 0x039D +0x55 0x039E +0x56 0x039F +0x57 0x03A0 +0x58 0x03A1 +0x59 0x03A3 +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x03A4 +0x63 0x03A5 +0x64 0x03A6 +0x65 0x03A7 +0x66 0x03A8 +0x67 0x03A9 +0x6A 0x007C +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x71 0x0386 +0x72 0x0388 +0x73 0x0389 +0x74 0x00A0 +0x75 0x038A +0x76 0x038C +0x77 0x038E +0x78 0x038F +0x79 0x0060 +0x7A 0x003A +0x7B 0x00A3 +0x7C 0x00A7 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00C4 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x03B1 +0x8B 0x03B2 +0x8C 0x03B3 +0x8D 0x03B4 +0x8E 0x03B5 +0x8F 0x03B6 +0x90 0x00D6 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x03B7 +0x9B 0x03B8 +0x9C 0x03B9 +0x9D 0x03BA +0x9E 0x03BB +0x9F 0x03BC +0xA0 0x00DC +0xA1 0x00A8 +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x03BD +0xAB 0x03BE +0xAC 0x03BF +0xAD 0x03C0 +0xAE 0x03C1 +0xAF 0x03C3 +0xB1 0x03AC +0xB2 0x03AD +0xB3 0x03AE +0xB4 0x03CA +0xB5 0x03AF +0xB6 0x03CC +0xB7 0x03CD +0xB8 0x03CB +0xB9 0x03CE +0xBA 0x03C2 +0xBB 0x03C4 +0xBC 0x03C5 +0xBD 0x03C6 +0xBE 0x03C7 +0xBF 0x03C8 +0xC0 0x00B8 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x03C9 +0xCC 0x00E2 +0xCD 0x00E0 +0xCE 0x00E4 +0xCF 0x00EA +0xD0 0x00B4 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B1 +0xDB 0x00E9 +0xDC 0x00E8 +0xDD 0x00EB +0xDE 0x00EE +0xDF 0x00EF +0xE0 0x00B0 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00BD +0xEB 0x00F6 +0xEC 0x00F4 +0xED 0x00FB +0xEE 0x00F9 +0xEF 0x00FC +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00FF +0xFB 0x00E7 +0xFC 0x00C7 +0xFF 0x009F diff --git a/source/tests/IBM-424.TXT b/source/tests/IBM-424.TXT new file mode 100644 index 0000000..f3f2e64 --- /dev/null +++ b/source/tests/IBM-424.TXT @@ -0,0 +1,218 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x05D0 +0x42 0x05D1 +0x43 0x05D2 +0x44 0x05D3 +0x45 0x05D4 +0x46 0x05D5 +0x47 0x05D6 +0x48 0x05D7 +0x49 0x05D8 +0x4A 0x00A2 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x05D9 +0x52 0x05DA +0x53 0x05DB +0x54 0x05DC +0x55 0x05DD +0x56 0x05DE +0x57 0x05DF +0x58 0x05E0 +0x59 0x05E1 +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x05E2 +0x63 0x05E3 +0x64 0x05E4 +0x65 0x05E5 +0x66 0x05E6 +0x67 0x05E7 +0x68 0x05E8 +0x69 0x05E9 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x71 0x05EA +0x74 0x00A0 +0x78 0x2017 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9D 0x00B8 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAF 0x00AE +0xB0 0x005E +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x2022 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x005B +0xBB 0x005D +0xBC 0x203E +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFF 0x009F diff --git a/source/tests/IBM-425.TXT b/source/tests/IBM-425.TXT new file mode 100644 index 0000000..46cf48b --- /dev/null +++ b/source/tests/IBM-425.TXT @@ -0,0 +1,255 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x060C +0x44 0x00E0 +0x45 0x061B +0x46 0x0640 +0x47 0x061F +0x48 0x00E7 +0x49 0x0621 +0x4A 0x0622 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x0623 +0x56 0x00EE +0x57 0x00EF +0x58 0x0624 +0x59 0x0625 +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x0626 +0x64 0x00C0 +0x65 0x0627 +0x66 0x0628 +0x67 0x0629 +0x68 0x00C7 +0x69 0x062A +0x6A 0x062B +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x062C +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x062D +0x76 0x00CE +0x77 0x00CF +0x78 0x062E +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x062F +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x0630 +0x8D 0x0631 +0x8E 0x0632 +0x8F 0x0633 +0x90 0x0634 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x0635 +0x9B 0x0636 +0x9C 0x00E6 +0x9D 0x0637 +0x9E 0x00C6 +0x9F 0x20AC +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x0638 +0xAB 0x0639 +0xAC 0x063A +0xAD 0x005B +0xAE 0x0641 +0xAF 0x0642 +0xB0 0x0643 +0xB1 0x0644 +0xB2 0x0645 +0xB3 0x0646 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x0647 +0xB7 0x0152 +0xB8 0x0153 +0xB9 0x0178 +0xBA 0x0648 +0xBB 0x0649 +0xBC 0x064A +0xBD 0x005D +0xBE 0x064B +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x064C +0xCD 0x064D +0xCE 0x064E +0xCF 0x064F +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x0650 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x0651 +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x0652 +0xEB 0x00D4 +0xEC 0x200C +0xED 0x200D +0xEE 0x200E +0xEF 0x200F +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00A4 +0xFF 0x009F diff --git a/source/tests/IBM-4971.TXT b/source/tests/IBM-4971.TXT new file mode 100644 index 0000000..11e9987 --- /dev/null +++ b/source/tests/IBM-4971.TXT @@ -0,0 +1,251 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x0391 +0x42 0x0392 +0x43 0x0393 +0x44 0x0394 +0x45 0x0395 +0x46 0x0396 +0x47 0x0397 +0x48 0x0398 +0x49 0x0399 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x039A +0x52 0x039B +0x53 0x039C +0x54 0x039D +0x55 0x039E +0x56 0x039F +0x57 0x03A0 +0x58 0x03A1 +0x59 0x03A3 +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x03A4 +0x63 0x03A5 +0x64 0x03A6 +0x65 0x03A7 +0x66 0x03A8 +0x67 0x03A9 +0x68 0x03AA +0x69 0x03AB +0x6A 0x007C +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00A8 +0x71 0x0386 +0x72 0x0388 +0x73 0x0389 +0x74 0x00A0 +0x75 0x038A +0x76 0x038C +0x77 0x038E +0x78 0x038F +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0385 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x03B1 +0x8B 0x03B2 +0x8C 0x03B3 +0x8D 0x03B4 +0x8E 0x03B5 +0x8F 0x03B6 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x03B7 +0x9B 0x03B8 +0x9C 0x03B9 +0x9D 0x03BA +0x9E 0x03BB +0x9F 0x03BC +0xA0 0x00B4 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x03BD +0xAB 0x03BE +0xAC 0x03BF +0xAD 0x03C0 +0xAE 0x03C1 +0xAF 0x03C3 +0xB0 0x00A3 +0xB1 0x03AC +0xB2 0x03AD +0xB3 0x03AE +0xB4 0x03CA +0xB5 0x03AF +0xB6 0x03CC +0xB7 0x03CD +0xB8 0x03CB +0xB9 0x03CE +0xBA 0x03C2 +0xBB 0x03C4 +0xBC 0x03C5 +0xBD 0x03C6 +0xBE 0x03C7 +0xBF 0x03C8 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x03C9 +0xCC 0x0390 +0xCD 0x03B0 +0xCE 0x2018 +0xCF 0x2015 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B1 +0xDB 0x00BD +0xDD 0x0387 +0xDE 0x2019 +0xDF 0x00A6 +0xE0 0x005C +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00A7 +0xEE 0x00AB +0xEF 0x00AC +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00A9 +0xFC 0x20AC +0xFE 0x00BB +0xFF 0x009F diff --git a/source/tests/IBM-500.TXT b/source/tests/IBM-500.TXT new file mode 100644 index 0000000..8ab4c49 --- /dev/null +++ b/source/tests/IBM-500.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x00B8 +0x9E 0x00C6 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x00DD +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-838.IRREVERSIBLE.TXT b/source/tests/IBM-838.IRREVERSIBLE.TXT new file mode 100644 index 0000000..3cb51ed --- /dev/null +++ b/source/tests/IBM-838.IRREVERSIBLE.TXT @@ -0,0 +1,5 @@ +0x51 0x0E48 +0xCA 0x0E49 +0xE1 0x0E4A +0xFD 0x0E4B +0xFE 0x0E4C diff --git a/source/tests/IBM-838.TXT b/source/tests/IBM-838.TXT new file mode 100644 index 0000000..15ff42b --- /dev/null +++ b/source/tests/IBM-838.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x0E01 +0x43 0x0E02 +0x44 0x0E03 +0x45 0x0E04 +0x46 0x0E05 +0x47 0x0E06 +0x48 0x0E07 +0x49 0x005B +0x4A 0x00A2 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x0E48 +0x52 0x0E08 +0x53 0x0E09 +0x54 0x0E0A +0x55 0x0E0B +0x56 0x0E0C +0x57 0x0E0D +0x58 0x0E0E +0x59 0x005D +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00AC +0x60 0x002D +0x61 0x002F +0x62 0x0E0F +0x63 0x0E10 +0x64 0x0E11 +0x65 0x0E12 +0x66 0x0E13 +0x67 0x0E14 +0x68 0x0E15 +0x69 0x005E +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x0E3F +0x71 0x0E4E +0x72 0x0E16 +0x73 0x0E17 +0x74 0x0E18 +0x75 0x0E19 +0x76 0x0E1A +0x77 0x0E1B +0x78 0x0E1C +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0E4F +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x0E1D +0x8B 0x0E1E +0x8C 0x0E1F +0x8D 0x0E20 +0x8E 0x0E21 +0x8F 0x0E22 +0x90 0x0E5A +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x0E23 +0x9B 0x0E24 +0x9C 0x0E25 +0x9D 0x0E26 +0x9E 0x0E27 +0x9F 0x0E28 +0xA0 0x0E5B +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x0E29 +0xAB 0x0E2A +0xAC 0x0E2B +0xAD 0x0E2C +0xAE 0x0E2D +0xAF 0x0E2E +0xB0 0x0E50 +0xB1 0x0E51 +0xB2 0x0E52 +0xB3 0x0E53 +0xB4 0x0E54 +0xB5 0x0E55 +0xB6 0x0E56 +0xB7 0x0E57 +0xB8 0x0E58 +0xB9 0x0E59 +0xBA 0x0E2F +0xBB 0x0E30 +0xBC 0x0E31 +0xBD 0x0E32 +0xBE 0x0E33 +0xBF 0x0E34 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x0E49 +0xCB 0x0E35 +0xCC 0x0E36 +0xCD 0x0E37 +0xCE 0x0E38 +0xCF 0x0E39 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x0E3A +0xDB 0x0E40 +0xDC 0x0E41 +0xDD 0x0E42 +0xDE 0x0E43 +0xDF 0x0E44 +0xE0 0x005C +0xE1 0x0E4A +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x0E45 +0xEB 0x0E46 +0xEC 0x0E47 +0xED 0x0E48 +0xEE 0x0E49 +0xEF 0x0E4A +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x0E4B +0xFB 0x0E4C +0xFC 0x0E4D +0xFD 0x0E4B +0xFE 0x0E4C +0xFF 0x009F diff --git a/source/tests/IBM-870.TXT b/source/tests/IBM-870.TXT new file mode 100644 index 0000000..090f3cb --- /dev/null +++ b/source/tests/IBM-870.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x0163 +0x45 0x00E1 +0x46 0x0103 +0x47 0x010D +0x48 0x00E7 +0x49 0x0107 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x0119 +0x53 0x00EB +0x54 0x016F +0x55 0x00ED +0x56 0x00EE +0x57 0x013E +0x58 0x013A +0x59 0x00DF +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x02DD +0x65 0x00C1 +0x66 0x0102 +0x67 0x010C +0x68 0x00C7 +0x69 0x0106 +0x6A 0x007C +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x02C7 +0x71 0x00C9 +0x72 0x0118 +0x73 0x00CB +0x74 0x016E +0x75 0x00CD +0x76 0x00CE +0x77 0x013D +0x78 0x0139 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x02D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x015B +0x8B 0x0148 +0x8C 0x0111 +0x8D 0x00FD +0x8E 0x0159 +0x8F 0x015F +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x0142 +0x9B 0x0144 +0x9C 0x0161 +0x9D 0x00B8 +0x9E 0x02DB +0x9F 0x00A4 +0xA0 0x0105 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x015A +0xAB 0x0147 +0xAC 0x0110 +0xAD 0x00DD +0xAE 0x0158 +0xAF 0x015E +0xB0 0x02D9 +0xB1 0x0104 +0xB2 0x017C +0xB3 0x0162 +0xB4 0x017B +0xB5 0x00A7 +0xB6 0x017E +0xB7 0x017A +0xB8 0x017D +0xB9 0x0179 +0xBA 0x0141 +0xBB 0x0143 +0xBC 0x0160 +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x0155 +0xCE 0x00F3 +0xCF 0x0151 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x011A +0xDB 0x0171 +0xDC 0x00FC +0xDD 0x0165 +0xDE 0x00FA +0xDF 0x011B +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x010F +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x0154 +0xEE 0x00D3 +0xEF 0x0150 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x010E +0xFB 0x0170 +0xFC 0x00DC +0xFD 0x0164 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-871.TXT b/source/tests/IBM-871.TXT new file mode 100644 index 0000000..8e69a60 --- /dev/null +++ b/source/tests/IBM-871.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x00DE +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x00C6 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x00D6 +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x00A6 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x00F0 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x00D0 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x0060 +0x8D 0x00FD +0x8E 0x007B +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x007D +0x9D 0x00B8 +0x9E 0x005D +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x00F6 +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x0040 +0xAD 0x00DD +0xAE 0x005B +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x00BC +0xB8 0x00BD +0xB9 0x00BE +0xBA 0x00AC +0xBB 0x007C +0xBC 0x00AF +0xBD 0x00A8 +0xBE 0x005C +0xBF 0x00D7 +0xC0 0x00FE +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x007E +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x00E6 +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x00B4 +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x005E +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-875.TXT b/source/tests/IBM-875.TXT new file mode 100644 index 0000000..2b9b31f --- /dev/null +++ b/source/tests/IBM-875.TXT @@ -0,0 +1,250 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x0391 +0x42 0x0392 +0x43 0x0393 +0x44 0x0394 +0x45 0x0395 +0x46 0x0396 +0x47 0x0397 +0x48 0x0398 +0x49 0x0399 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x039A +0x52 0x039B +0x53 0x039C +0x54 0x039D +0x55 0x039E +0x56 0x039F +0x57 0x03A0 +0x58 0x03A1 +0x59 0x03A3 +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x03A4 +0x63 0x03A5 +0x64 0x03A6 +0x65 0x03A7 +0x66 0x03A8 +0x67 0x03A9 +0x68 0x03AA +0x69 0x03AB +0x6A 0x007C +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00A8 +0x71 0x0386 +0x72 0x0388 +0x73 0x0389 +0x74 0x00A0 +0x75 0x038A +0x76 0x038C +0x77 0x038E +0x78 0x038F +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0385 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x03B1 +0x8B 0x03B2 +0x8C 0x03B3 +0x8D 0x03B4 +0x8E 0x03B5 +0x8F 0x03B6 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x03B7 +0x9B 0x03B8 +0x9C 0x03B9 +0x9D 0x03BA +0x9E 0x03BB +0x9F 0x03BC +0xA0 0x00B4 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x03BD +0xAB 0x03BE +0xAC 0x03BF +0xAD 0x03C0 +0xAE 0x03C1 +0xAF 0x03C3 +0xB0 0x00A3 +0xB1 0x03AC +0xB2 0x03AD +0xB3 0x03AE +0xB4 0x03CA +0xB5 0x03AF +0xB6 0x03CC +0xB7 0x03CD +0xB8 0x03CB +0xB9 0x03CE +0xBA 0x03C2 +0xBB 0x03C4 +0xBC 0x03C5 +0xBD 0x03C6 +0xBE 0x03C7 +0xBF 0x03C8 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x03C9 +0xCC 0x0390 +0xCD 0x03B0 +0xCE 0x2018 +0xCF 0x2015 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B1 +0xDB 0x00BD +0xDD 0x0387 +0xDE 0x2019 +0xDF 0x00A6 +0xE0 0x005C +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00A7 +0xEE 0x00AB +0xEF 0x00AC +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00A9 +0xFE 0x00BB +0xFF 0x009F diff --git a/source/tests/IBM-880.TXT b/source/tests/IBM-880.TXT new file mode 100644 index 0000000..d7eea2d --- /dev/null +++ b/source/tests/IBM-880.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x0452 +0x43 0x0453 +0x44 0x0451 +0x45 0x0454 +0x46 0x0455 +0x47 0x0456 +0x48 0x0457 +0x49 0x0458 +0x4A 0x005B +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x0459 +0x52 0x045A +0x53 0x045B +0x54 0x045C +0x55 0x045E +0x56 0x045F +0x57 0x042A +0x58 0x2116 +0x59 0x0402 +0x5A 0x005D +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x0403 +0x63 0x0401 +0x64 0x0404 +0x65 0x0405 +0x66 0x0406 +0x67 0x0407 +0x68 0x0408 +0x69 0x0409 +0x6A 0x007C +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x040A +0x71 0x040B +0x72 0x040C +0x73 0x00AD +0x74 0x040E +0x75 0x040F +0x76 0x044E +0x77 0x0430 +0x78 0x0431 +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x0446 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x0434 +0x8B 0x0435 +0x8C 0x0444 +0x8D 0x0433 +0x8E 0x0445 +0x8F 0x0438 +0x90 0x0439 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x043A +0x9B 0x043B +0x9C 0x043C +0x9D 0x043D +0x9E 0x043E +0x9F 0x043F +0xA0 0x044F +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x0440 +0xAB 0x0441 +0xAC 0x0442 +0xAD 0x0443 +0xAE 0x0436 +0xAF 0x0432 +0xB0 0x044C +0xB1 0x044B +0xB2 0x0437 +0xB3 0x0448 +0xB4 0x044D +0xB5 0x0449 +0xB6 0x0447 +0xB7 0x044A +0xB8 0x042E +0xB9 0x0410 +0xBA 0x0411 +0xBB 0x0426 +0xBC 0x0414 +0xBD 0x0415 +0xBE 0x0424 +0xBF 0x0413 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x0425 +0xCB 0x0418 +0xCC 0x0419 +0xCD 0x041A +0xCE 0x041B +0xCF 0x041C +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x041D +0xDB 0x041E +0xDC 0x041F +0xDD 0x042F +0xDE 0x0420 +0xDF 0x0421 +0xE0 0x005C +0xE1 0x00A4 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x0422 +0xEB 0x0423 +0xEC 0x0416 +0xED 0x0412 +0xEE 0x042C +0xEF 0x042B +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x0417 +0xFB 0x0428 +0xFC 0x042D +0xFD 0x0429 +0xFE 0x0427 +0xFF 0x009F diff --git a/source/tests/IBM-905.TXT b/source/tests/IBM-905.TXT new file mode 100644 index 0000000..1ad880b --- /dev/null +++ b/source/tests/IBM-905.TXT @@ -0,0 +1,249 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x47 0x010B +0x48 0x007B +0x49 0x00F1 +0x4A 0x00C7 +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x0021 +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x011E +0x5B 0x0130 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x67 0x010A +0x68 0x005B +0x69 0x00D1 +0x6A 0x015F +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0131 +0x7A 0x003A +0x7B 0x00D6 +0x7C 0x015E +0x7D 0x0027 +0x7E 0x003D +0x7F 0x00DC +0x80 0x02D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x0127 +0x8B 0x0109 +0x8C 0x015D +0x8D 0x016D +0x8F 0x007C +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x0125 +0x9B 0x011D +0x9C 0x0135 +0x9D 0x00B8 +0x9F 0x00A4 +0xA0 0x00B5 +0xA1 0x00F6 +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x0126 +0xAB 0x0108 +0xAC 0x015C +0xAD 0x016C +0xAF 0x0040 +0xB0 0x02D9 +0xB1 0x00A3 +0xB2 0x017C +0xB3 0x007D +0xB4 0x017B +0xB5 0x00A7 +0xB6 0x005D +0xB7 0x00B7 +0xB8 0x00BD +0xB9 0x0024 +0xBA 0x0124 +0xBB 0x011C +0xBC 0x0134 +0xBD 0x00A8 +0xBE 0x00B4 +0xBF 0x00D7 +0xC0 0x00E7 +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x007E +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x0121 +0xD0 0x011F +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x0060 +0xDB 0x00FB +0xDC 0x005C +0xDD 0x00F9 +0xDE 0x00FA +0xE0 0x00FC +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x0023 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x0120 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x0022 +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/IBM-924.TXT b/source/tests/IBM-924.TXT new file mode 100644 index 0000000..d2c06cd --- /dev/null +++ b/source/tests/IBM-924.TXT @@ -0,0 +1,256 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x009C +0x05 0x0009 +0x06 0x0086 +0x07 0x007F +0x08 0x0097 +0x09 0x008D +0x0A 0x008E +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x009D +0x15 0x0085 +0x16 0x0008 +0x17 0x0087 +0x18 0x0018 +0x19 0x0019 +0x1A 0x0092 +0x1B 0x008F +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0080 +0x21 0x0081 +0x22 0x0082 +0x23 0x0083 +0x24 0x0084 +0x25 0x000A +0x26 0x0017 +0x27 0x001B +0x28 0x0088 +0x29 0x0089 +0x2A 0x008A +0x2B 0x008B +0x2C 0x008C +0x2D 0x0005 +0x2E 0x0006 +0x2F 0x0007 +0x30 0x0090 +0x31 0x0091 +0x32 0x0016 +0x33 0x0093 +0x34 0x0094 +0x35 0x0095 +0x36 0x0096 +0x37 0x0004 +0x38 0x0098 +0x39 0x0099 +0x3A 0x009A +0x3B 0x009B +0x3C 0x0014 +0x3D 0x0015 +0x3E 0x009E +0x3F 0x001A +0x40 0x0020 +0x41 0x00A0 +0x42 0x00E2 +0x43 0x00E4 +0x44 0x00E0 +0x45 0x00E1 +0x46 0x00E3 +0x47 0x00E5 +0x48 0x00E7 +0x49 0x00F1 +0x4A 0x00DD +0x4B 0x002E +0x4C 0x003C +0x4D 0x0028 +0x4E 0x002B +0x4F 0x007C +0x50 0x0026 +0x51 0x00E9 +0x52 0x00EA +0x53 0x00EB +0x54 0x00E8 +0x55 0x00ED +0x56 0x00EE +0x57 0x00EF +0x58 0x00EC +0x59 0x00DF +0x5A 0x0021 +0x5B 0x0024 +0x5C 0x002A +0x5D 0x0029 +0x5E 0x003B +0x5F 0x005E +0x60 0x002D +0x61 0x002F +0x62 0x00C2 +0x63 0x00C4 +0x64 0x00C0 +0x65 0x00C1 +0x66 0x00C3 +0x67 0x00C5 +0x68 0x00C7 +0x69 0x00D1 +0x6A 0x0160 +0x6B 0x002C +0x6C 0x0025 +0x6D 0x005F +0x6E 0x003E +0x6F 0x003F +0x70 0x00F8 +0x71 0x00C9 +0x72 0x00CA +0x73 0x00CB +0x74 0x00C8 +0x75 0x00CD +0x76 0x00CE +0x77 0x00CF +0x78 0x00CC +0x79 0x0060 +0x7A 0x003A +0x7B 0x0023 +0x7C 0x0040 +0x7D 0x0027 +0x7E 0x003D +0x7F 0x0022 +0x80 0x00D8 +0x81 0x0061 +0x82 0x0062 +0x83 0x0063 +0x84 0x0064 +0x85 0x0065 +0x86 0x0066 +0x87 0x0067 +0x88 0x0068 +0x89 0x0069 +0x8A 0x00AB +0x8B 0x00BB +0x8C 0x00F0 +0x8D 0x00FD +0x8E 0x00FE +0x8F 0x00B1 +0x90 0x00B0 +0x91 0x006A +0x92 0x006B +0x93 0x006C +0x94 0x006D +0x95 0x006E +0x96 0x006F +0x97 0x0070 +0x98 0x0071 +0x99 0x0072 +0x9A 0x00AA +0x9B 0x00BA +0x9C 0x00E6 +0x9D 0x017E +0x9E 0x00C6 +0x9F 0x20AC +0xA0 0x00B5 +0xA1 0x007E +0xA2 0x0073 +0xA3 0x0074 +0xA4 0x0075 +0xA5 0x0076 +0xA6 0x0077 +0xA7 0x0078 +0xA8 0x0079 +0xA9 0x007A +0xAA 0x00A1 +0xAB 0x00BF +0xAC 0x00D0 +0xAD 0x005B +0xAE 0x00DE +0xAF 0x00AE +0xB0 0x00A2 +0xB1 0x00A3 +0xB2 0x00A5 +0xB3 0x00B7 +0xB4 0x00A9 +0xB5 0x00A7 +0xB6 0x00B6 +0xB7 0x0152 +0xB8 0x0153 +0xB9 0x0178 +0xBA 0x00AC +0xBB 0x0161 +0xBC 0x00AF +0xBD 0x005D +0xBE 0x017D +0xBF 0x00D7 +0xC0 0x007B +0xC1 0x0041 +0xC2 0x0042 +0xC3 0x0043 +0xC4 0x0044 +0xC5 0x0045 +0xC6 0x0046 +0xC7 0x0047 +0xC8 0x0048 +0xC9 0x0049 +0xCA 0x00AD +0xCB 0x00F4 +0xCC 0x00F6 +0xCD 0x00F2 +0xCE 0x00F3 +0xCF 0x00F5 +0xD0 0x007D +0xD1 0x004A +0xD2 0x004B +0xD3 0x004C +0xD4 0x004D +0xD5 0x004E +0xD6 0x004F +0xD7 0x0050 +0xD8 0x0051 +0xD9 0x0052 +0xDA 0x00B9 +0xDB 0x00FB +0xDC 0x00FC +0xDD 0x00F9 +0xDE 0x00FA +0xDF 0x00FF +0xE0 0x005C +0xE1 0x00F7 +0xE2 0x0053 +0xE3 0x0054 +0xE4 0x0055 +0xE5 0x0056 +0xE6 0x0057 +0xE7 0x0058 +0xE8 0x0059 +0xE9 0x005A +0xEA 0x00B2 +0xEB 0x00D4 +0xEC 0x00D6 +0xED 0x00D2 +0xEE 0x00D3 +0xEF 0x00D5 +0xF0 0x0030 +0xF1 0x0031 +0xF2 0x0032 +0xF3 0x0033 +0xF4 0x0034 +0xF5 0x0035 +0xF6 0x0036 +0xF7 0x0037 +0xF8 0x0038 +0xF9 0x0039 +0xFA 0x00B3 +0xFB 0x00DB +0xFC 0x00DC +0xFD 0x00D9 +0xFE 0x00DA +0xFF 0x009F diff --git a/source/tests/Makefile.in b/source/tests/Makefile.in index 16a0072..5d5875f 100644 --- a/source/tests/Makefile.in +++ b/source/tests/Makefile.in @@ -28,7 +28,7 @@ top_builddir = .. all : -check : all table-from table-to ../src/iconv_no_i18n test-shiftseq test-to-wchar +check : all table-from table-to ../src/iconv_no_i18n is-native test-shiftseq test-to-wchar $(SHELL) $(srcdir)/check-stateless $(srcdir) ASCII # /* General multi-byte encodings */ $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(srcdir)/genutf8.c ../srclib/libicrt.a -o genutf8 && \ @@ -197,6 +197,60 @@ check-extra-yes: all table-from table-to ../src/iconv_no_i18n $(SHELL) $(srcdir)/check-stateless $(srcdir) CP865 $(SHELL) $(srcdir)/check-stateless $(srcdir) CP869 $(SHELL) $(srcdir)/check-stateless $(srcdir) CP1125 +# /* z/OS specific encodings, i.e. EBCDIC encodings */ + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-037 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-273 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-277 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-278 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-280 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-282 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-284 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-285 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-297 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-423 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-424 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-425 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-500 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-838 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-870 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-871 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-875 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-880 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-905 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-924 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1025 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1026 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1047 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1097 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1112 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1122 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1123 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1130 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1132 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1137 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1140 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1141 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1142 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1143 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1144 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1145 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1146 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1147 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1148 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1149 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1153 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1154 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1155 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1156 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1157 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1158 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1160 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1164 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1165 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-1166 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-4971 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-12712 + $(SHELL) $(srcdir)/check-stateless $(srcdir) IBM-16804 # /* Extra encodings */ $(SHELL) $(srcdir)/check-stateless $(srcdir) EUC-JISX0213 $(SHELL) $(srcdir)/check-stateless $(srcdir) SHIFT_JISX0213 @@ -218,6 +272,12 @@ table-to : table-to.@OBJEXT@ ../lib/libiconv.la table-to.@OBJEXT@ : $(srcdir)/table-to.c $(CC) -c $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(srcdir)/table-to.c +is-native : is-native.@OBJEXT@ + $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) is-native.@OBJEXT@ ../srclib/libicrt.a -o $@ + +is-native.@OBJEXT@ : $(srcdir)/is-native.c + $(CC) -c $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(srcdir)/is-native.c + test-shiftseq : test-shiftseq.@OBJEXT@ ../lib/libiconv.la $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) test-shiftseq.@OBJEXT@ ../srclib/libicrt.a ../lib/libiconv.la -o $@ @@ -237,7 +297,7 @@ test-to-wchar.@OBJEXT@ : $(srcdir)/test-to-wchar.c mostlyclean : clean clean : force - $(RM) *.@OBJEXT@ *.lo table-from table-from@EXEEXT@ table-to table-to@EXEEXT@ test-shiftseq test-shiftseq@EXEEXT@ test-to-wchar test-to-wchar@EXEEXT@ tmp-* genutf8 genutf8@EXEEXT@ UTF-8.TXT gengb18030z gengb18030z@EXEEXT@ GB18030.TXT core *.stackdump + $(RM) *.@OBJEXT@ *.lo table-from table-from@EXEEXT@ table-to table-to@EXEEXT@ is-native is-native@EXEEXT@ test-shiftseq test-shiftseq@EXEEXT@ test-to-wchar test-to-wchar@EXEEXT@ tmp-* genutf8 genutf8@EXEEXT@ UTF-8.TXT gengb18030z gengb18030z@EXEEXT@ GB18030.TXT core *.stackdump $(RM) -r .libs _libs distclean : clean @@ -363,6 +423,7 @@ SOURCE_FILES = \ Quotes.UTF-8 Quotes.ISO-8859-1 Quotes.ASCII \ Translit1.ISO-8859-1 Translit1.ASCII \ TranslitFail1.ISO-8859-1 \ + is-native.c \ check-subst \ test-shiftseq.c \ test-to-wchar.c \ @@ -391,6 +452,59 @@ SOURCE_FILES = \ CP865.TXT \ CP869.TXT \ CP1125.TXT \ + IBM-037.TXT \ + IBM-273.TXT \ + IBM-277.TXT \ + IBM-278.TXT \ + IBM-280.TXT \ + IBM-282.TXT \ + IBM-284.TXT \ + IBM-285.TXT \ + IBM-297.TXT \ + IBM-423.TXT \ + IBM-424.TXT \ + IBM-425.TXT \ + IBM-4971.TXT \ + IBM-500.TXT \ + IBM-838.TXT IBM-838.IRREVERSIBLE.TXT \ + IBM-870.TXT \ + IBM-871.TXT \ + IBM-875.TXT \ + IBM-880.TXT \ + IBM-905.TXT \ + IBM-924.TXT \ + IBM-1025.TXT \ + IBM-1026.TXT \ + IBM-1047.TXT \ + IBM-1097.TXT \ + IBM-1112.TXT \ + IBM-1122.TXT \ + IBM-1123.TXT \ + IBM-1130.TXT \ + IBM-1132.TXT \ + IBM-1137.TXT \ + IBM-1140.TXT \ + IBM-1141.TXT \ + IBM-1142.TXT \ + IBM-1143.TXT \ + IBM-1144.TXT \ + IBM-1145.TXT \ + IBM-1146.TXT \ + IBM-1147.TXT \ + IBM-1148.TXT \ + IBM-1149.TXT \ + IBM-1153.TXT \ + IBM-1154.TXT \ + IBM-1155.TXT \ + IBM-1156.TXT \ + IBM-1157.TXT \ + IBM-1158.TXT \ + IBM-1160.TXT IBM-1160.IRREVERSIBLE.TXT \ + IBM-1164.TXT \ + IBM-1165.TXT \ + IBM-1166.TXT \ + IBM-12712.TXT \ + IBM-16804.TXT \ EUC-JISX0213.TXT \ SHIFT_JISX0213.TXT \ ISO-2022-JP-3-snippet ISO-2022-JP-3-snippet.UTF-8 \ @@ -399,7 +513,8 @@ SOURCE_FILES = \ ATARIST.TXT \ RISCOS-LATIN1.TXT # List of distributed files imported from other packages. -IMPORTED_FILES = +IMPORTED_FILES = \ + qemu.h # List of distributed files generated by autotools or Makefile.devel. GENERATED_FILES = # List of distributed files generated by "make". diff --git a/source/tests/check-stateful b/source/tests/check-stateful old mode 100644 new mode 100755 diff --git a/source/tests/check-stateless b/source/tests/check-stateless old mode 100644 new mode 100755 diff --git a/source/tests/check-subst b/source/tests/check-subst old mode 100644 new mode 100755 index 1b5f387..8fc721f --- a/source/tests/check-subst +++ b/source/tests/check-subst @@ -19,7 +19,7 @@ cmp tmp-out tmp-ok # Test of --byte-subst with a non-ASCII substitution. -if test "`(locale charmap) 2>/dev/null`" = UTF-8; then +if ./is-native && test "`(locale charmap) 2>/dev/null`" = UTF-8; then cat > tmp-in <<\EOF Böse Bübchen EOF @@ -30,7 +30,7 @@ EOF cmp tmp-out tmp-ok fi -if test "`(locale charmap) 2>/dev/null`" = UTF-8; then +if ./is-native && test "`(locale charmap) 2>/dev/null`" = UTF-8; then cat > tmp-in <<\EOF Böse Bübchen EOF @@ -77,7 +77,7 @@ cmp tmp-out tmp-ok # Test of --unicode-subst with a non-ASCII substitution. -if test "`(locale charmap) 2>/dev/null`" = UTF-8; then +if ./is-native && test "`(locale charmap) 2>/dev/null`" = UTF-8; then cat > tmp-in <<\EOF Russian (Русский) EOF @@ -116,7 +116,7 @@ fi # wcrtomb() doesn't exist on FreeBSD 4.0 and is broken on MacOS X 10.3. # So far this has been tested only on a glibc system with !__STDC_ISO_10646__. -if false && test "`(locale charmap) 2>/dev/null`" = UTF-8; then +if false && ./is-native && test "`(locale charmap) 2>/dev/null`" = UTF-8; then cat > tmp-in <<\EOF Russian (Русский) EOF @@ -128,7 +128,7 @@ Russian (<00000420><00000443><00000441><00000441><0000043a><00000438><00000439>) EOF cmp tmp-out1 tmp-ok cmp tmp-out2 tmp-ok - if test "`(LC_ALL=de_DE.ISO-8859-1 locale charmap) 2>/dev/null`" = ISO-8859-1; then + if ./is-native && test "`(LC_ALL=de_DE.ISO-8859-1 locale charmap) 2>/dev/null`" = ISO-8859-1; then options_latin1=`echo " $options_utf8" | $iconv -f UTF-8 -t ISO-8859-1` LC_ALL=de_DE.ISO-8859-1 $iconv $options_latin1 -f wchar_t -t UTF-8 < tmp-inw > tmp-out1 cat > tmp-ok <<\EOF diff --git a/source/tests/check-translit b/source/tests/check-translit old mode 100644 new mode 100755 diff --git a/source/tests/check-translitfailure b/source/tests/check-translitfailure old mode 100644 new mode 100755 diff --git a/source/tests/gengb18030z.c b/source/tests/gengb18030z.c index b4cb502..7b61c14 100644 --- a/source/tests/gengb18030z.c +++ b/source/tests/gengb18030z.c @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/tests/genutf8.c b/source/tests/genutf8.c index 76c0f54..a3342b9 100644 --- a/source/tests/genutf8.c +++ b/source/tests/genutf8.c @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/tests/is-native.c b/source/tests/is-native.c new file mode 100644 index 0000000..109d376 --- /dev/null +++ b/source/tests/is-native.c @@ -0,0 +1,30 @@ +/* Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU LIBICONV Library. + + The GNU LIBICONV 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 LIBICONV 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 LIBICONV Library; see the file COPYING.LIB. + If not, see . */ + +#include "config.h" + +#include "qemu.h" + +/* Returns 0 (success) in a native environment. + Returns 1 (failure) in a cross-executing environment, that is, in an + environment where compiled programs use a different libc than the system's + libc. Currently, only QEMU user-mode environments are recognized. */ + +int main () +{ + return is_running_under_qemu_user () ? 1 : 0; +} diff --git a/source/tests/qemu.h b/source/tests/qemu.h new file mode 100644 index 0000000..e1e6a61 --- /dev/null +++ b/source/tests/qemu.h @@ -0,0 +1,99 @@ +/* Determine whether the current process is running under QEMU. + Copyright (C) 2021-2022 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 , 2021. */ + +#include +#ifdef __linux__ +# include +# include +# include +#endif + +/* This function determines whether the current process is running under QEMU + (user-mode). + + It does so by looking at parts of the environment that QEMU does not emulate + 100% perfectly well. + + For comparison, the techniques given in the paper + Thomas Raffetseder, Christopher Kruegel, Engin Kirda + "Detecting System Emulators" + 2007 + https://publik.tuwien.ac.at/files/pub-inf_5317.pdf + apply to both the QEMU system mode and QEMU user mode. */ + +static bool +is_running_under_qemu_user (void) +{ +#ifdef __linux__ + char buf[4096 + 1]; + int fd; + +# if defined __m68k__ + fd = open ("/proc/hardware", O_RDONLY); + if (fd >= 0) + { + int n = read (fd, buf, sizeof (buf) - 1); + close (fd); + if (n > 0) + { + buf[n] = '\0'; + if (strstr (buf, "qemu") != NULL) + return true; + } + } +# endif + + fd = open ("/proc/cpuinfo", O_RDONLY); + if (fd >= 0) + { + int n = read (fd, buf, sizeof (buf) - 1); + close (fd); + if (n > 0) + { + buf[n] = '\0'; +# if defined __hppa__ + if (strstr (buf, "QEMU") != NULL) + return true; +# endif +# if !(defined __i386__ || defined __x86_64__) + if (strstr (buf, "AuthenticAMD") != NULL + || strstr (buf, "GenuineIntel") != NULL) + return true; +# endif +# if !(defined __arm__ || defined __aarch64__) + if (strstr (buf, "ARM") != NULL + || strcasestr (buf, "aarch64") != NULL) + return true; +# endif +# if !defined __sparc__ + if (strcasestr (buf, "SPARC") != NULL) + return true; +# endif +# if !defined __powerpc__ + if (strstr (buf, "POWER") != NULL) + return true; +# endif + } + } + + /* If you need more heuristics, look at system calls that are not perfectly + well emulated in qemu/linux-user/syscall.c. */ +#endif + + return false; +} diff --git a/source/tests/table-from.c b/source/tests/table-from.c index ea89477..cbf5f73 100644 --- a/source/tests/table-from.c +++ b/source/tests/table-from.c @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/tests/table-to.c b/source/tests/table-to.c index 0c983fc..acd4cad 100644 --- a/source/tests/table-to.c +++ b/source/tests/table-to.c @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/tests/test-shiftseq.c b/source/tests/test-shiftseq.c index 263721c..84eada0 100644 --- a/source/tests/test-shiftseq.c +++ b/source/tests/test-shiftseq.c @@ -1,17 +1,17 @@ -/* Copyright (C) 2008, 2018 Free Software Foundation, Inc. +/* Copyright (C) 2008, 2018, 2022 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ @@ -64,7 +64,7 @@ void main1 (void) void main2 (void) { - static const char input[] = "+2D/YQNhB"; + static const char input[20] = "+2D/YQNhB"; iconv_t cd; char buf[20]; diff --git a/source/tests/test-to-wchar.c b/source/tests/test-to-wchar.c index 9bcb705..95b5053 100644 --- a/source/tests/test-to-wchar.c +++ b/source/tests/test-to-wchar.c @@ -2,16 +2,16 @@ This file is part of the GNU LIBICONV Library. The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 + and/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 LIBICONV 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with the GNU LIBICONV Library; see the file COPYING.LIB. If not, see . */ diff --git a/source/tools/8bit_tab_to_h.c b/source/tools/8bit_tab_to_h.c index 94d9f39..f2f5227 100644 --- a/source/tools/8bit_tab_to_h.c +++ b/source/tools/8bit_tab_to_h.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2002, 2011-2012, 2016, 2018 Free Software Foundation, Inc. +/* Copyright (C) 1999-2002, 2011-2012, 2016, 2018, 2022 Free Software Foundation, Inc. This file is part of the GNU LIBICONV Tools. This program is free software: you can redistribute it and/or modify @@ -146,20 +146,20 @@ int main (int argc, char *argv[]) } fprintf(f, "/*\n"); - fprintf(f, " * Copyright (C) 1999-2002 Free Software Foundation, Inc.\n"); + fprintf(f, " * Copyright (C) 1999-2022 Free Software Foundation, Inc.\n"); fprintf(f, " * This file is part of the GNU LIBICONV Library.\n"); fprintf(f, " *\n"); fprintf(f, " * The GNU LIBICONV Library is free software; you can redistribute it\n"); - fprintf(f, " * and/or modify it under the terms of the GNU Library General Public\n"); + fprintf(f, " * and/or modify it under the terms of the GNU Lesser General Public\n"); fprintf(f, " * License as published by the Free Software Foundation; either version 2\n"); fprintf(f, " * of the License, or (at your option) any later version.\n"); fprintf(f, " *\n"); fprintf(f, " * The GNU LIBICONV Library is distributed in the hope that it will be\n"); fprintf(f, " * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of\n"); fprintf(f, " * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"); - fprintf(f, " * Library General Public License for more details.\n"); + fprintf(f, " * Lesser General Public License for more details.\n"); fprintf(f, " *\n"); - fprintf(f, " * You should have received a copy of the GNU Library General Public\n"); + fprintf(f, " * You should have received a copy of the GNU Lesser General Public\n"); fprintf(f, " * License along with the GNU LIBICONV Library; see the file COPYING.LIB.\n"); fprintf(f, " * If not, see .\n"); fprintf(f, " */\n"); diff --git a/source/tools/Makefile b/source/tools/Makefile index bf94051..019cbe3 100644 --- a/source/tools/Makefile +++ b/source/tools/Makefile @@ -120,6 +120,59 @@ ALL = \ cp865.h \ cp869.h \ cp1125.h \ + ebcdic037.h \ + ebcdic273.h \ + ebcdic277.h \ + ebcdic278.h \ + ebcdic280.h \ + ebcdic282.h \ + ebcdic284.h \ + ebcdic285.h \ + ebcdic297.h \ + ebcdic423.h \ + ebcdic424.h \ + ebcdic425.h \ + ebcdic500.h \ + ebcdic838.h \ + ebcdic870.h \ + ebcdic871.h \ + ebcdic875.h \ + ebcdic880.h \ + ebcdic905.h \ + ebcdic924.h \ + ebcdic1025.h \ + ebcdic1026.h \ + ebcdic1047.h \ + ebcdic1097.h \ + ebcdic1112.h \ + ebcdic1122.h \ + ebcdic1123.h \ + ebcdic1130.h \ + ebcdic1132.h \ + ebcdic1137.h \ + ebcdic1140.h \ + ebcdic1141.h \ + ebcdic1142.h \ + ebcdic1143.h \ + ebcdic1144.h \ + ebcdic1145.h \ + ebcdic1146.h \ + ebcdic1147.h \ + ebcdic1148.h \ + ebcdic1149.h \ + ebcdic1153.h \ + ebcdic1154.h \ + ebcdic1155.h \ + ebcdic1156.h \ + ebcdic1157.h \ + ebcdic1158.h \ + ebcdic1160.h \ + ebcdic1164.h \ + ebcdic1165.h \ + ebcdic1166.h \ + ebcdic4971.h \ + ebcdic12712.h \ + ebcdic16804.h \ jisx0213.h \ tds565.h \ atarist.h \ @@ -510,6 +563,166 @@ cp1125.h : $(TABLESDIR)/csets-new/CP1125.TXT 8bit_tab_to_h ./8bit_tab_to_h CP1125 cp1125 < $< +ebcdic037.h : ../tests/IBM-037.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-037 ebcdic037 + +ebcdic273.h : ../tests/IBM-273.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-273 ebcdic273 + +ebcdic277.h : ../tests/IBM-277.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-277 ebcdic277 + +ebcdic278.h : ../tests/IBM-278.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-278 ebcdic278 + +ebcdic280.h : ../tests/IBM-280.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-280 ebcdic280 + +ebcdic282.h : ../tests/IBM-282.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-282 ebcdic282 + +ebcdic284.h : ../tests/IBM-284.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-284 ebcdic284 + +ebcdic285.h : ../tests/IBM-285.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-285 ebcdic285 + +ebcdic297.h : ../tests/IBM-297.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-297 ebcdic297 + +ebcdic423.h : ../tests/IBM-423.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-423 ebcdic423 + +ebcdic424.h : ../tests/IBM-424.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-424 ebcdic424 + +ebcdic425.h : ../tests/IBM-425.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-425 ebcdic425 + +ebcdic500.h : ../tests/IBM-500.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-500 ebcdic500 + +ebcdic838.h : ../tests/IBM-838.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-838 ebcdic838 + +ebcdic870.h : ../tests/IBM-870.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-870 ebcdic870 + +ebcdic871.h : ../tests/IBM-871.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-871 ebcdic871 + +ebcdic875.h : ../tests/IBM-875.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-875 ebcdic875 + +ebcdic880.h : ../tests/IBM-880.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-880 ebcdic880 + +ebcdic905.h : ../tests/IBM-905.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-905 ebcdic905 + +ebcdic924.h : ../tests/IBM-924.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-924 ebcdic924 + +ebcdic1025.h : ../tests/IBM-1025.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1025 ebcdic1025 + +ebcdic1026.h : ../tests/IBM-1026.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1026 ebcdic1026 + +ebcdic1047.h : ../tests/IBM-1047.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1047 ebcdic1047 + +ebcdic1097.h : ../tests/IBM-1097.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1097 ebcdic1097 + +ebcdic1112.h : ../tests/IBM-1112.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1112 ebcdic1112 + +ebcdic1122.h : ../tests/IBM-1122.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1122 ebcdic1122 + +ebcdic1123.h : ../tests/IBM-1123.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1123 ebcdic1123 + +ebcdic1130.h : ../tests/IBM-1130.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1130 ebcdic1130 + +ebcdic1132.h : ../tests/IBM-1132.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1132 ebcdic1132 + +ebcdic1137.h : ../tests/IBM-1137.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1137 ebcdic1137 + +ebcdic1140.h : ../tests/IBM-1140.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1140 ebcdic1140 + +ebcdic1141.h : ../tests/IBM-1141.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1141 ebcdic1141 + +ebcdic1142.h : ../tests/IBM-1142.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1142 ebcdic1142 + +ebcdic1143.h : ../tests/IBM-1143.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1143 ebcdic1143 + +ebcdic1144.h : ../tests/IBM-1144.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1144 ebcdic1144 + +ebcdic1145.h : ../tests/IBM-1145.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1145 ebcdic1145 + +ebcdic1146.h : ../tests/IBM-1146.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1146 ebcdic1146 + +ebcdic1147.h : ../tests/IBM-1147.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1147 ebcdic1147 + +ebcdic1148.h : ../tests/IBM-1148.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1148 ebcdic1148 + +ebcdic1149.h : ../tests/IBM-1149.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1149 ebcdic1149 + +ebcdic1153.h : ../tests/IBM-1153.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1153 ebcdic1153 + +ebcdic1154.h : ../tests/IBM-1154.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1154 ebcdic1154 + +ebcdic1155.h : ../tests/IBM-1155.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1155 ebcdic1155 + +ebcdic1156.h : ../tests/IBM-1156.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1156 ebcdic1156 + +ebcdic1157.h : ../tests/IBM-1157.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1157 ebcdic1157 + +ebcdic1158.h : ../tests/IBM-1158.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1158 ebcdic1158 + +ebcdic1160.h : ../tests/IBM-1160.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1160 ebcdic1160 + +ebcdic1164.h : ../tests/IBM-1164.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1164 ebcdic1164 + +ebcdic1165.h : ../tests/IBM-1165.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1165 ebcdic1165 + +ebcdic1166.h : ../tests/IBM-1166.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1166 ebcdic1166 + +ebcdic4971.h : ../tests/IBM-4971.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-4971 ebcdic4971 + +ebcdic12712.h : ../tests/IBM-12712.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-12712 ebcdic12712 + +ebcdic16804.h : ../tests/IBM-16804.TXT 8bit_tab_to_h + (echo '#'; cat $<) | ./8bit_tab_to_h IBM-16804 ebcdic16804 + + jisx0213.h : JISX0213.TXT cjk_tab_to_h ./cjk_tab_to_h JISX0213:2004 jisx0213 < $< > $@ diff --git a/source/tools/cjk_tab_to_h.c b/source/tools/cjk_tab_to_h.c index 74a6aa1..e726c2c 100644 --- a/source/tools/cjk_tab_to_h.c +++ b/source/tools/cjk_tab_to_h.c @@ -79,16 +79,16 @@ static void output_title (const char *charsetname) printf(" * This file is part of the GNU LIBICONV Library.\n"); printf(" *\n"); printf(" * The GNU LIBICONV Library is free software; you can redistribute it\n"); - printf(" * and/or modify it under the terms of the GNU Library General Public\n"); + printf(" * and/or modify it under the terms of the GNU Lesser General Public\n"); printf(" * License as published by the Free Software Foundation; either version 2\n"); printf(" * of the License, or (at your option) any later version.\n"); printf(" *\n"); printf(" * The GNU LIBICONV Library is distributed in the hope that it will be\n"); printf(" * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of\n"); printf(" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"); - printf(" * Library General Public License for more details.\n"); + printf(" * Lesser General Public License for more details.\n"); printf(" *\n"); - printf(" * You should have received a copy of the GNU Library General Public\n"); + printf(" * You should have received a copy of the GNU Lesser General Public\n"); printf(" * License along with the GNU LIBICONV Library; see the file COPYING.LIB.\n"); printf(" * If not, see .\n"); printf(" */\n"); diff --git a/source/tools/cjk_variants.c b/source/tools/cjk_variants.c index 179045d..109a45d 100644 --- a/source/tools/cjk_variants.c +++ b/source/tools/cjk_variants.c @@ -38,16 +38,16 @@ int main (int argc, char *argv[]) printf(" * This file is part of the GNU LIBICONV Library.\n"); printf(" *\n"); printf(" * The GNU LIBICONV Library is free software; you can redistribute it\n"); - printf(" * and/or modify it under the terms of the GNU Library General Public\n"); + printf(" * and/or modify it under the terms of the GNU Lesser General Public\n"); printf(" * License as published by the Free Software Foundation; either version 2\n"); printf(" * of the License, or (at your option) any later version.\n"); printf(" *\n"); printf(" * The GNU LIBICONV Library is distributed in the hope that it will be\n"); printf(" * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of\n"); printf(" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"); - printf(" * Library General Public License for more details.\n"); + printf(" * Lesser General Public License for more details.\n"); printf(" *\n"); - printf(" * You should have received a copy of the GNU Library General Public\n"); + printf(" * You should have received a copy of the GNU Lesser General Public\n"); printf(" * License along with the GNU LIBICONV Library; see the file COPYING.LIB.\n"); printf(" * If not, see .\n"); printf(" */\n"); diff --git a/source/windows/iconv.rc b/source/windows/iconv.rc index 3e25ada..46fe4ac 100644 --- a/source/windows/iconv.rc +++ b/source/windows/iconv.rc @@ -24,7 +24,7 @@ BEGIN VALUE "FileDescription", "GPLed iconv for Windows\0" VALUE "FileVersion", PACKAGE_VERSION_STRING "\0" VALUE "InternalName", "iconv.exe\0" - VALUE "LegalCopyright", "Copyright (C) 1999-2019\0" + VALUE "LegalCopyright", "Copyright (C) 1999-2022\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "iconv.exe\0" VALUE "ProductName", "iconv: character set conversion program\0" diff --git a/source/windows/libiconv.rc b/source/windows/libiconv.rc index bfab7e7..e1469f6 100644 --- a/source/windows/libiconv.rc +++ b/source/windows/libiconv.rc @@ -19,12 +19,12 @@ BEGIN BEGIN BLOCK "04090000" /* Lang = US English, Charset = ASCII */ BEGIN - VALUE "Comments", "This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License. You should have received a copy of the GNU Library General Public License along with this library; if not, see .\0" + VALUE "Comments", "This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License. You should have received a copy of the GNU Lesser General Public License along with this library; if not, see .\0" VALUE "CompanyName", "Free Software Foundation\0" VALUE "FileDescription", "LGPLed libiconv for Windows\0" VALUE "FileVersion", PACKAGE_VERSION_STRING "\0" VALUE "InternalName", "iconv.dll\0" - VALUE "LegalCopyright", "Copyright (C) 1999-2019\0" + VALUE "LegalCopyright", "Copyright (C) 1999-2022\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "iconv.dll\0" VALUE "ProductName", "libiconv: character set conversion library\0" diff --git a/source/windows/windres-options b/source/windows/windres-options old mode 100644 new mode 100755 diff --git a/source/woe32dll/export.h b/source/woe32dll/export.h index 0ef05cc..e3f25cb 100644 --- a/source/woe32dll/export.h +++ b/source/woe32dll/export.h @@ -2,18 +2,19 @@ Copyright (C) 2006, 2011-2018 Free Software Foundation, Inc. Written by Bruno Haible , 2006. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + 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 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; see the file COPYING.LIB. If not, + see . */ /* There are four ways to build shared libraries on Cygwin: diff --git a/source/woe32dll/iconv-exports.c b/source/woe32dll/iconv-exports.c index 48b2d2a..edabe3d 100644 --- a/source/woe32dll/iconv-exports.c +++ b/source/woe32dll/iconv-exports.c @@ -2,18 +2,19 @@ Copyright (C) 2006 Free Software Foundation, Inc. Written by Bruno Haible , 2006. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + 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 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; see the file COPYING.LIB. If not, + see . */ #include "woe32dll/export.h"