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. $ rsync -Lrtvz translationproject.org::tp/latest/libiconv/ po/new $ cd po/new $ for f in *.po; do \ msgmerge --update --lang=${f%.po} --previous $f ../libiconv.pot; \ done $ mv *.po ../ $ cd ..; rm -rf new 2019-04-26 Bruno Haible Update POT file. $ cd po; make update-po 2019-04-26 Bruno Haible Prepare for version 1.16. * 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. * windows/iconv.rc: Likewise. * windows/libiconv.rc: Likewise. * README: Update download link. 2019-04-26 Bruno Haible Tweak exported symbols when --enable-relocatable is used. * lib/Makefile.in (DEFS): Map 'relocate2' to a different symbol. 2019-04-01 Bruno Haible build: Separate git operations from build operations. * gitsub.sh: New file, from gnulib. * .gitmodules: New file. * autogen.sh: Remove all git operations. Look at GNULIB_SRCDIR environment variable. Ignore the GNULIB_TOOL environment variable. * HACKING: Explain when to use gitsub.sh. 2019-03-07 Bruno Haible Avoid signed integer overflow during shifts. Reported by Jeffrey Walton . * lib/tcvn.h (tcvn_wctomb): Use unsigned integer type for bit mask operation. * lib/viscii.h (viscii_wctomb): Likewise. 2019-03-04 Bruno Haible Add support for --enable-relocatable to libcharset. * autogen.sh: Copy some more files to libcharset/build-aux/ and libcharset/m4/. 2019-03-04 Bruno Haible Update --enable-relocatable support after gnulib changed. * configure.ac: Move the LT_INIT invocation before the gl_RELOCATABLE invocation. Remove unused argument to gl_RELOCATABLE. 2019-01-27 Bruno Haible Accommodate a shell that is not in /bin/sh. * Makefile.in (SHELL): Use the value found by configure. * lib/Makefile.in (SHELL): Likewise. * man/Makefile.in (SHELL): Likewise. * src/Makefile.in (SHELL): Likewise. * tests/Makefile.in (SHELL): Likewise. (check, check-extra-yes): Use SHELL to run the check-* scripts. 2019-01-27 Bruno Haible Update after gnulib changed. * Makefile.in (GNULIB_IMPORTED_FILES): Remove build-aux/snippet/*. 2019-01-27 Bruno Haible Update support for building with MSVC. Automake does not install ar-lib. * autogen.sh: Fetch build-aux/ar-lib here. * Makefile.devel (srclib/Makefile.in): Don't fetch build-aux/ar-lib here. * Makefile.in (AUTOMAKE_IMPORTED_FILES): Remove build-aux/ar-lib. (IMPORTED_FILES): Add build-aux/ar-lib. 2019-01-06 Bruno Haible Revisit handling of file descriptors closed by the parent process. * src/iconv.c (main): Add comment. 2018-10-23 Bruno Haible Remove outdated DJGPP build infrastructure. Approved by Juan Manuel Guerrero . * djgpp: Remove directory. * INSTALL.djgpp: Remove file. * Makefile.in (SOURCE_FILES): Remove them. 2018-10-23 Bruno Haible Update after gnulib changed. * configure.ac (AC_PREREQ): Bump minimum Autoconf version to 2.63. 2018-09-22 Bruno Haible Avoid some warnings in MSVC build. * include/export.h: Handle MSVC compiler as well. 2018-09-22 Bruno Haible Update from gnulib. Move mapping tables into the code. * autogen.sh: Don't create libcharset/m4/relocatable-lib.m4. * Makefile.in (mostlyclean, clean, distclean, maintainer-clean): Don't remove lib/charset.alias. * tests/check-subst: Don't set CHARSETALIASDIR. 2018-05-04 Bruno Haible Drop special instructions for OSF/1. * INSTALL.generic: Remove the recommendation for OSF/1. 2018-05-04 Bruno Haible Simplify: Remove the ability to install a preloadable library. * preload/*: Remove directory. * Makefile.devel: Don't recurse into 'preload'. * Makefile.in: Likewise. * configure.ac: Don't declare 'preload' as a subdirectory. * README, NEWS: Update. 2018-05-04 Bruno Haible Simplify code. Drop support for Borland C++ on Windows. * lib/iconv.c: Simplify 'defined _WIN32 || defined __WIN32__' to just 'defined _WIN32'. * lib/iconv_open1.h: Likewise. 2018-05-04 Bruno Haible * lib/relocatable.c: Update from gnulib. 2018-05-04 Bruno Haible Switch to automake 1.16. * autogen.sh: Update comment. * Makefile.devel (AUTOMAKE, ACLOCAL): Switch to version 1.16. * libcharset/Makefile.devel (ACLOCAL): Likewise. * preload/Makefile.devel (ACLOCAL): Likewise. 2018-03-27 Bruno Haible Doc tweaks. * README: Don't recommend to use --prefix=/usr/local, as it produces problems with GCC (since GCC's treatment of /usr/local/include and /usr/local/lib is inconsistent by default). Don't recommend to use the iconv.m4 installed by GNU gettext, because it won't work when GNU automake and GNU gettext are installed with different --prefix options; instead recommend the 'iconv' module from gnulib. 2018-01-27 Bruno Haible Rename some files. * INSTALL.windows: Renamed from README.windows. * INSTALL.djgpp: Renamed from README.djgpp. * Makefile.in (SOURCE_FILES): Update. 2018-01-03 Bruno Haible Fix installation in 64-bit mode on AIX. * lib/Makefile.in (AR): New variable. (install): Use it instead of hardcoding 'ar'. 2017-11-26 Bruno Haible Avoid end-of-lines problem in generated shell scripts on Cygwin. Patch by Feiyun Wang . * lib/genaliases.c (main): Create canonical.sh and canonical_local.sh with Unix end-of-line characters, regardless of Cygwin choice of text mode vs. binary mode. 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'. 2017-07-15 Bruno Haible Don't attempt to build preloadable_libiconv.so when linking statically. * preload/configure.ac (enable_shared, enable_static): Don't force shared libraries when LDFLAGS indicates static linking. (PLUGLIB): Set to empty when is not configured for building shared libraries. 2017-07-15 Bruno Haible Get rid of autom4te.cache directories, as far as possible. * Makefile.devel (srclib/Makefile.in, aclocal.m4, configure, config.h.in): Remove autom4te.cache after invoking aclocal, autoconf, autoheader, automake. * preload/Makefile.devel (aclocal, configure): Likewise. 2017-05-18 Bruno Haible * lib/relocatable.h: Update from gnulib. * lib/relocatable.c: Update from gnulib. 2017-01-30 Bruno Haible Prepare for version 1.15. * src/iconv.c (print_version): Update copyright year. * windows/iconv.rc: Likewise. * windows/libiconv.rc: Likewise. 2016-12-29 Bruno Haible Make Makefile.devel consistent with .gitignore. * Makefile.devel (srclib/Makefile.in): Depend on aclocal.m4. (totally-clean): Remove also aclocal.m4. 2016-12-25 Bruno Haible Tweak autogen.sh. * autogen.sh: Emit a "done" diagnostic when autogen.sh completed successfully. 2016-12-25 Bruno Haible Reorder Makefile.devel. * Makefile.devel: Reorder: put gnulib targets before autotools targets. 2016-12-14 Bruno Haible Cleanup useless removals. * lib/Makefile.in (distclean): No need to remove 'libtool'. 2016-12-04 Bruno Haible Update comments. * Makefile.devel: Update comments about release process. 2016-12-04 Bruno Haible Create tarballs through an Automake-like "make dist" command. * Makefile.in (SOURCE_FILES, LIBTOOL_IMPORTED_FILES, AUTOMAKE_OLD_IMPORTED_FILES, AUTOMAKE_IMPORTED_FILES, IMPORTED_FILES, GENERATED_FILES, DISTRIBUTED_BUILT_FILES, DISTFILES): New macros. (distdir): New target. (PACKAGE, VERSION, TAR, GZIP): New macros. (dist): New target. * lib/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES, DISTRIBUTED_BUILT_FILES, DISTFILES): New macros. (distdir): New target. * man/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES, DISTRIBUTED_BUILT_FILES, DISTFILES): New macros. (distdir): New target. * preload/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES, DISTRIBUTED_BUILT_FILES, DISTFILES): New macros. (distdir): New target. * src/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES, DISTRIBUTED_BUILT_FILES, DISTFILES): New macros. (distdir): New target. * tests/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES, DISTRIBUTED_BUILT_FILES, DISTFILES): New macros. (distdir): New target. 2016-12-04 Bruno Haible Remove duplicates of imported files from version control. * autogen.sh: Copy imported files to libcharset. 2016-12-04 Bruno Haible Always use the newest released copies of files brought in from Automake. * Makefile.devel (srclib/Makefile.in): Make sure to get new versions of files brought in by automake. * build-aux/install-sh: Remove from version control. * build-aux/missing: Likewise. 2016-12-04 Bruno Haible Always use the newest copies of config.guess, config.sub. * Makefile.devel (gnulib-imported-files): New target. * autogen.sh: Invoke it. * build-aux/config.guess: Remove from version control. * build-aux/config.sub: Likewise. 2016-12-04 Bruno Haible Always use the newest copy of fcntl-o.m4. * m4/fcntl-o.m4: Remove file. Rely on srcm4/fcntl-o.m4 instead. 2016-12-04 Bruno Haible Remove obsolete documentation. * PORTS: Remove file. 2016-12-03 Bruno Haible Make Makefile.devel more useful for the users of the released tarball. * Makefile.devel (srclib/Makefile.gnulib): Don't force this target. (gnulib-clean): New target. (totally-clean): New target. Do the removals from autogen.sh. Also, remove lib/aliases*.gperf, lib/canonical*.h, man/iconvctl.3.html, man/iconv_open_into.3.html. * autogen.sh: Invoke target gnulib-clean before srclib/Makefile.gnulib. Invoke target totally-clean before all. * preload/Makefile.devel (totally-clean): New target. 2016-12-03 Bruno Haible Modernize configure.ac. * configure.ac: Use 2-argument AC_INIT. Avoid an AM_INIT_AUTOMAKE warning. * preload/configure.ac: Use 2-argument AC_INIT. Use AC_CONFIG_SRCDIR. 2016-12-03 Bruno Haible Towards reproducible builds. * Makefile.devel (man/%.html): Remove the CreationDate comment line from the output. 2016-12-04 Bruno Haible Update to gettext-0.19.8.1. * ABOUT-NLS: Update through 'gettextize'. 2016-12-03 Bruno Haible Update documentation. * HACKING: Refer to the Git repository. 2016-12-03 Bruno Haible Avoid compilation warnings in 'genflags' program. * lib/genflags.c: Avoid warnings from GCC's -Wunused-function option. 2016-12-02 Bruno Haible * relocatable.c: Update from gnulib. 2016-11-25 Bruno Haible Prepare for version 1.15. * configure.ac: Bump version number to 1.15. * README: Likewise. * include/iconv.h.in (_LIBICONV_VERSION): Likewise. * windows/iconv.rc: Update. * windows/libiconv.rc: Update. * Makefile.devel: Update comments. * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 8:0:6. * src/iconv.c (print_version): Update copyright year. 2016-11-23 Bruno Haible Update installation instructions for Windows. * README.windows: Assume a 64-bit Windows. Explain both 32-bit and 64-bit builds. Add instructions for the MS Visual C/C++ tool chain. Revamp instructions for Cygwin. 2016-11-23 Bruno Haible Drop the nickname "woe32". * README.windows: Renamed from README.woe32. 2016-11-22 Bruno Haible Update support for building with MSVC. * Makefile.devel (srclib/Makefile.in): Import 'ar-lib' and 'compile' from gnulib. * lib/Makefile.in (install-lib, install): Install the .la file with $(INSTALL), not $(INSTALL_DATA). Otherwise the native Windows DLL gets installed without execution permissions, and programs linked to it fail: in a Cygwin shell with exit code 127, or from a cmd.exe window with a dialog "The application was unable to start correctly (0xc0000022)." 2016-11-19 Bruno Haible Fix link error when compiling with gcc -O0. * lib/iconv.c (aliases2_lookup): Make static. Reported by Chung-Lin Tang at https://savannah.gnu.org/bugs/?47953 . 2016-11-17 Bruno Haible UTF-8: Reject surrogates and out-of-range code points. * lib/utf8.h (utf8_mbtowc, utf8_wctomb): Reject code points in the range 0xD800..0xDFFF and >= 0x110000. * tests/genutf8.c (main): Don't emit mappings for 0xD800..0xDFFF. 2016-10-22 Bruno Haible Switch to libtool 2.4.6. * m4/libtool.m4: Update from libtool-2.4.6, 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/ltversion.m4: Likewise. * build-aux/ltmain.sh: Likewise. 2016-10-14 Bruno Haible Use 'size_t', not 'int', for the length of a string. * lib/iconv.c: Include . * lib/genflags.c: Likewise. * lib/converters.h (struct mbtowc_funcs, struct wctomb_funcs): Change 'int n' parameter to 'size_t n'. (RET_COUNT_MAX): New macro. * lib/*.h: Use 'size_t n' instead of 'int n'. * lib/ucs2.h (ucs2_mbtowc): Make sure 'count' does not cause an 'int' overflow. * lib/ucs4.h (ucs4_mbtowc): Likewise. * lib/utf16.h (utf16_mbtowc): Likewise. * lib/utf32.h (utf32_mbtowc): Likewise. * tools/8bit_tab_to_h.c: Generate function signatures with 'size_t n'. * tools/cjk_tab_to_h.c: Likewise. * NEWS: Mention the change. 2016-10-04 Bruno Haible Extend CP1255 mapping. * lib/cp1255.h (cp1255_2uni, cp1255_page05): Map 0xCA to U+05BA. * tests/CP1255.TXT: Likewise. This matches https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1255.txt and what the native Windows converter does since at least Windows XP. 2016-10-01 Ben Noordhuis (tiny change) Bruno Haible Remove large stack requirement from gentranslit. * lib/gentranslit.c (main): Heap-allocate large arrays. * Makefile.devel (lib/translit.h): Remove 'ulimit -s unlimited' command. 2015-12-10 Ben Noordhuis (tiny change) Remove unused array from gentranslit. * lib/gentranslit.c (main): Remove unused array. * Makefile.devel (CC): Add -Wall option. Reported in https://savannah.gnu.org/bugs/?46663 . 2016-10-01 Bruno Haible Fix bug #41187. * src/iconv.c (main): Increment i after parsing the --silent option. Reported in https://savannah.gnu.org/bugs/?41187 . 2016-10-01 Bruno Haible Update to current gnulib. * Makefile.devel (GNULIB_MODULES): Remove memmove. * tests/Makefile.in (INCLUDES): Make sure to include the top-level "config.h". Needed for the 'binary-io' module. 2016-10-01 Bruno Haible Switch to automake 1.15. * autogen.sh: Update comment. * Makefile.devel (AUTOMAKE, ACLOCAL): Switch to version 1.15. (srclib/Makefile.in): Don't remove auxiliary files brought in by automake. * preload/Makefile.devel (ACLOCAL): Switch to version 1.15. * srclib/Makefile.am (AUTOMAKE_OPTIONS): Add subdir-objects. * build-aux/missing: Update from automake-1.15. 2016-10-01 Bruno Haible Remove autogenerated doc files from version control. * man/iconvctl.3.html: Remove file. * man/iconv_open_into.3.html: Remove file. 2012-12-06 Bruno Haible Change copyright holder of man pages. * man/*.[13]: Replace myself with FSF. 2012-06-30 Bruno Haible Make it possible to run 'genaliases2' on native Windows. * lib/genaliases2.c (main): Expect 3 arguments. Open the output files explicitly. Complain if they don't exist. * Makefile.devel (lib/aliases_*.h): Pass the output filenames as arguments to genaliases. Reported at . Make it possible to run 'genaliases' on native Windows. * lib/genaliases.c (main): Expect 3 arguments. Open the output files explicitly. Complain if they don't exist. Improve error checking. * Makefile.devel (lib/aliases*.h): Pass the output filenames as arguments to genaliases. Reported at . 2012-05-13 Bruno Haible Tweak the GB18030 converter to map 0x8135F437 to U+E7C7. * lib/gb18030.h (gb18030_pua2charset, gb18030_wctomb): Remove mapping from U+E7C7 to 0xA8BC. * lib/gb18030uni.h (gb18030uni_mbtowc): Treat 0x8135F437 as a special case. (gb18030uni_wctomb): Treat U+E7C7 as a special case. * tests/GB18030-BMP.TXT: Map 0x8135F437 to U+E7C7, not U+1E3F. * tests/GB18030.IRREVERSIBLE.TXT: Remove irreversible mappings for 0x8135F437 and U+E7C7. 2012-04-28 Bruno Haible Switch to autoconf 2.69 and automake 1.12. * autogen.sh: Update comment. * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.69. (AUTOMAKE, ACLOCAL): Switch to version 1.12. * preload/Makefile.devel (AUTOCONF): Switch to version 2.69. (ACLOCAL): Switch to version 1.12. 2012-03-24 Bruno Haible Avoid a GCC warning. * lib/isoir165.h (isoir165_mbtowc): Don't shadow the 'ret' variable. 2012-01-26 Bruno Haible Modernize quoting. * README: Quote 'like this', not `like this', as per the recent change to the GNU coding standards. * NOTES: Likewise. * gnulib-local/lib/xmalloc.c: Likewise. * lib/config.h.in: Likewise. * src/iconv.c (usage): Likewise. * tests/uniq-u.c: Likewise. * tools/cjk_tab_to_h.c (output_uni2charset_sparse, do_jisx0213): Likewise. * lib/big5.h: Update accordingly. * lib/cns11643_inv.h: Likewise. * lib/cp932ext.h: Likewise. * lib/cp950ext.h: Likewise. * lib/gb12345ext.h: Likewise. * lib/gb2312.h: Likewise. * lib/gbkext_inv.h: Likewise. * lib/hkscs1999.h: Likewise. * lib/hkscs2001.h: Likewise. * lib/hkscs2004.h: Likewise. * lib/hkscs2008.h: Likewise. * lib/isoir165ext.h: Likewise. * lib/jisx0208.h: Likewise. * lib/jisx0212.h: Likewise. * lib/jisx0213.h: Likewise. * lib/ksc5601.h: Likewise. * lib/uhc_1.h: Likewise. * lib/uhc_2.h: Likewise. 2012-01-15 Bruno Haible Support for MSVC 9. * lib/config.h.in (inline, mode_t, ssize_t): Copy snippets from top config.h.in. * tests/genutf8.c: Include config.h. * tests/gengb18030z.c: Likewise. * woe32dll/export.h (VARIABLE): Define to empty if not using GCC. 2011-01-28 Bruno Haible Add a comment. * woe32dll/export.h: Add a reference to the woe32dll writeup. 2012-01-06 Bruno Haible Update after gnulib changed. * gnulib-local/lib/error.h.diff: Update. 2012-01-06 Bruno Haible Talk about "native Windows API", not "Woe32". * lib/relocatable.c: Update comments to mention native Windows. 2012-01-04 Bruno Haible Talk about "native Windows API", not "Win32". * lib/relocatable.c: Update comments to mention native Windows. (WINDOWS_NATIVE): Renamed from WIN32_NATIVE. 2011-10-27 Bruno Haible Fix bug with error handling in UCS-2, UCS-4, UTF-32 decoders. * lib/ucs2.h (ucs2_mbtowc): Increment count only after validating wc. * lib/ucs4.h (ucs4_mbtowc): Likewise. * lib/utf32.h (utf32_mbtowc): Likewise. Reported at . 2012-06-30 Bruno Haible Improve ISO-2022-CP-MS versus CP932. * lib/iso2022_jpms.h (iso2022_jpms_mbtowc): Recognize characters from the rows 0x79..0x7C as rows from CP932. * tests/ISO-2022-JP-MS-snippet.alt: New file, renamed from tests/ISO-2022-JP-MS-snippet. * tests/ISO-2022-JP-MS-snippet.UTF-8: Update the rows that correspond to ESC $ B 0x79..0x7C. * tests/ISO-2022-JP-MS-snippet: Likewise. * tests/check-stateful: Also test the *-snippet.alt file if it exists. * tests/check-stateful.bat: Likewise. 2012-06-30 Bruno Haible Improve ISO-2022-CP-MS versus CP932. * lib/cp50221_0208_ext.h (cp50221_0208_ext_page30): Map U+301D like U+301E. * lib/iso2022_jpms.h (iso2022_jpms_wctomb): Map U+663B to JISX0208 0x7A 0x36, U+FFE2 to 0x7C 0x7B, U+FFE4 to 0x7C 0x7C. Reported by Jeff Diehl . 2011-10-23 Bruno Haible New encoding ISO-2022-CP-MS. * NOTES: Mention ISO-2022-JP-MS. * tools/CP50221-0208-EXT.TXT: New file. * tools/CP50221-0212-EXT.TXT: New file. * tools/8bit_tab_to_h.c: Add comments about how to generate cp50221_0208_ext.h, cp50221_0212_ext.h. * tools/Makefile: Add rules for generating cp50221_0208_ext.h, cp50221_0212_ext.h. * lib/cp50221_0208_ext.h: New file, mostly generated. * lib/cp50221_0212_ext.h: New file, mostly generated. * lib/iso2022_jpms.h: New file. * lib/converters.h: Include it. * lib/encodings.def: Add ISO-2022-JP-MS. * README, man/iconv_open.3: Add ISO-2022-JP-MS. * tests/ISO-2022-JP-MS-snippet: New file. * tests/ISO-2022-JP-MS-snippet.UTF-8: New file. * tests/Makefile.in (check): Also test ISO-2022-JP-MS. Reported by Jeff Diehl . 2011-10-23 Bruno Haible * lib/encodings.def: Add comments about Windows names of encodings. 2011-10-18 Bruno Haible * m4/libtool.m4: Update from libtool-2.4.2, 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/ltversion.m4: Likewise. * build-aux/ltmain.sh: Likewise. 2011-10-03 Bruno Haible * lib/relocatable.c: Update from gnulib. 2011-09-02 Bruno Haible Fix "make check" failure when $(srcdir) != $(builddir). * tests/Makefile.in (check): When $(srcdir) != ., temporarily copy GB18030.IRREVERSIBLE.TXT into the build directory. Reported by Christian Weisgerber . 2011-08-07 Bruno Haible Ensure all HTML-formatted man pages are up-to-date. * Makefile.devel (all): Depend on man/iconvctl.3.html and man/iconv_open_into.3.html. 2011-08-07 Bruno Haible * Version 1.14 released. 2011-08-07 Bruno Haible * configure.ac: Bump version number to 1.14. * README: Likewise. * include/iconv.h.in (_LIBICONV_VERSION): Likewise. * windows/iconv.rc: Update. * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 7:1:5. * src/iconv.c (print_version): Update copyright year. 2011-08-07 Bruno Haible Avoid a test failure on Solaris 2.6 and HP-UX 11.00. * tests/test-to-wchar.c (main): Skip the test if conversion to wchar_t is not supported. 2011-08-07 Bruno Haible * tests/check-subst: Add comments about OSF/1. 2011-08-07 Bruno Haible * lib/relocatable.c: Update from gnulib. 2011-08-06 Bruno Haible Upgrade the GB18030 converter to the version from 2005. * lib/gb18030ext.h (gb18030ext_2uni_pagefe): Change element type to 'unsigned int'. Change values for 0xFE51..0xFE53, 0xFE59, 0xFE61, 0xFE66, 0xFE67, 0xFE6C, 0xFE6D, 0xFE76, 0xFE7E, 0xFE90, 0xFE91, 0xFEA0. (gb18030ext_mbtowc): Change type of wc to 'unsigned int'. Change values for 0xA6D9..0xA6DF, 0xA6EC..0xA6ED, 0xA6F3, 0xA8BC. (gb18030ext_page9f, gb18030ext_pagefe): New constant arrays. (gb18030ext_wctomb): Change values for U+1E3F, U+9FB4..U+9FBB, U+FE10..U+FE19, U+20087, U+20089, U+200CC, U+215D7, U+2298F, U+241FE. * tests/GB18030-BMP.TXT: Change values for 0xA6D9..0xA6DF, 0xA6EC..0xA6ED, 0xA6F3, 0xA8BC, 0xFE51..0xFE53, 0xFE59, 0xFE61, 0xFE66, 0xFE67, 0xFE6C, 0xFE6D, 0xFE76, 0xFE7E, 0xFE90, 0xFE91, 0xFEA0, to map to now-assigned Unicode codepoints. * tests/GB18030.IRREVERSIBLE.TXT: New file. 2011-08-06 Bruno Haible Fix conversion bug in CP1258 converter. * lib/vietcomb.h (viet_comp_table_data): Remove entry for U+00A5 U+0301. Fix entry for U+00A8 U+0301. (viet_decomp_table): Fix entry for U+0385. * tests/CP1258.IRREVERSIBLE.TXT: Update. Reported by Gertjan Halkes . 2011-07-03 Bruno Haible Improve interactive behaviour of iconv program. * src/iconv.c (convert): Flush the output before starting a possibly blocking safe_read call. 2011-07-03 Bruno Haible Fix interactive behaviour of iconv program. * Makefile.devel (GNULIB_MODULES): Add safe-read. * src/iconv.c: Include safe-read.h. (convert): Take the infile as a file descriptor, not as a FILE stream. Use safe_read() instead of fread(). (main): Update. Reported by Xavier Pucel . 2011-05-02 Bruno Haible Update after gnulib changed. * autogen.sh (GNULIB_MODULES): Remove exit, add stdlib. 2011-06-02 Bruno Haible Update after gnulib changed. * gnulib-local/m4/alloca.m4 (gl_FUNC_ALLOCA): Update. 2011-06-04 Bruno Haible Work around bug on OSF/1 5.1. * lib/loop_wchar.h: Before including , include and some other includes. 2011-03-27 KO Myung-Hun Fix installation on OS/2. * src/Makefile.in (all, iconv_no_i18n): Add $(EXEEXT) suffix to iconv_no_i18n. This is the recommended way to use libtool, see . 2011-03-31 Bruno Haible gentranslit: Fix buffer overrun. * lib/gentranslit.c (main): Allocate more room for the suffix strings of the translit pages. Reported by Ben Noordhuis . 2011-02-28 Bruno Haible * lib/relocatable.h: Update from gnulib. * lib/relocatable.c: Likewise. 2011-01-29 Corinna Vinschen Bruno Haible Simplify "wchar_t" handling on Cygwin 1.7.x. * lib/iconv.c (iconv_canonicalize): On Cygwin >= 1.7, map ei_local_wchar_t to ei_utf16le or ei_utf16be, not ei_ucs2internal. * lib/iconv_open1.h: Likewise. Rationale: . 2011-01-29 Bruno Haible Adjust the meaning of "wchar_t" on native Windows systems. * lib/iconv.c (iconv_canonicalize): On native Windows, map ei_local_wchar_t to ei_utf16le or ei_utf16be, not ei_ucs2internal. * lib/iconv_open1.h: Likewise. Reported by Corinna Vinschen in . 2010-11-23 Bruno Haible Implement newer release of BIG5-HKSCS. * tools/Makefile (ALL): Add hkscs2008.h. (hkscs2008.h): New rule. * tools/cjk_tab_to_h.c (main): Recognize hkscs2008. * lib/encodings.def: Add BIG5-HKSCS:2008. Change BIG5-HKSCS alias to be equivalent to BIG5-HKSCS:2008. * lib/hkscs2008.h: New file, autogenerated. * lib/big5hkscs2008.h: New file, based on lib/big5hkscs2004.h. * lib/converters.h: Include the new file. * README, man/iconv_open.3: Add BIG5-HKSCS:2004. * tests/BIG5-HKSCS-2008.TXT: New file, based on tests/BIG5-HKSCS-2004.TXT. * tests/BIG5-HKSCS-2008.IRREVERSIBLE.TXT: New file, copied from tests/BIG5-HKSCS-2004.IRREVERSIBLE.TXT * tests/BIG5-HKSCS-2008-snippet: New file, based on tests/BIG5-HKSCS-2004-snippet. * tests/BIG5-HKSCS-2008-snippet.UTF-8: New file, based on tests/BIG5-HKSCS-2004-snippet.UTF-8. * tests/Makefile.in (check): Check also BIG5-HKSCS:2008. Reported by oCameLo . 2010-11-23 Bruno Haible Make cjk_tab_to_h 64-bit clean. * tools/cjk_tab_to_h.c (do_jisx0213): Add a cast from size_t to int. (output_title): Update copyright year. 2010-09-23 Bruno Haible Switch to autoconf 2.68. * autogen.sh: Update comment. * configure.ac: Fix AC_COMPILE_IFELSE invocation. * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.68. * preload/Makefile.devel (AUTOCONF): Likewise. 2010-09-23 Bruno Haible * m4/libtool.m4: Update from libtool-2.4, 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/ltversion.m4: Update from libtool-2.4. * build-aux/ltmain.sh: Likewise. 2010-09-23 Bruno Haible Simplify use of gnulib-tool now that gnulib-tool --import works better. * autogen.sh: Don't remove gnulib-cache.m4 before running gnulib-tool. * Makefile.devel (srclib/Makefile.gnulib): Depend on 'force'. 2010-07-31 Bruno Haible * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.67. * preload/Makefile.devel (AUTOCONF): Likewise. 2010-07-03 Bruno Haible * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.66. * preload/Makefile.devel (AUTOCONF): Likewise. 2010-06-04 Bruno Haible Addendum to 2009-10-18 commit. * m4/fcntl-o.m4: New file, from gnulib. * configure.ac: Invoke gl_FCNTL_O_FLAGS. * lib/config.h.in (HAVE_WORKING_O_NOFOLLOW): New macro. 2010-06-04 Bruno Haible * m4/libtool.m4: Update from libtool-2.2.8, 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: Update from libtool-2.2.8. * m4/ltversion.m4: Likewise. * m4/lt~obsolete.m4: Likewise. * build-aux/ltmain.sh: Likewise. 2010-04-06 Bruno Haible Avoid a compilation error of gnulib's test-iconv-h-c++.cc on mingw. * include/iconv.h.in: Restrict the extern "C" { ... } scope so that it doesn't contains #include directives. 2010-03-30 Bruno Haible * README.woe32: Update for Cygwin 1.7.x. 2009-12-26 Bruno Haible * windows/libiconv.rc: Update. * windows/iconv.rc: Update. 2009-12-11 Bruno Haible * include/iconv.h.in: Untabify. * gnulib-local/lib/xalloc.h: Untabify. * woe32dll/export.h: Untabify. * tests/uniq-u.c: Untabify. 2009-12-11 Bruno Haible * srclib/Makefile.am (MOSTLYCLEANDIRS): New macro. 2009-12-11 Bruno Haible * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.65. * preload/Makefile.devel (AUTOCONF): Likewise. 2009-11-22 Bruno Haible * tests/check-subst: Add reference to the Solaris printf bug. Reported by Dagobert Michelsen . 2009-09-01 Bruno Haible * README.woe32: Put the -mno-cygwin option into CC and CXX. Recommended by Paolo Bonzini and Eric Blake. 2009-08-15 Bruno Haible * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.64. * preload/Makefile.devel (AUTOCONF): Likewise. 2009-08-15 Bruno Haible Use .git/info/exclude, not .gitignore, for imported or generated files. * Makefile.devel (srclib/Makefile.gnulib): Pass option --no-vc-files to gnulib-tool. 2009-07-07 Bruno Haible Fix an endless loop. * lib/loop_wchar.h (wchar_to_loop_convert): Handle the case of incomplete input correctly. * tests/test-to-wchar.c: New file. * tests/Makefile.in (tests-to-wchar, tests-to-wchar.o): New rules. (check): Depend on and run tests-to-wchar. (clean): Add tests-to-wchar. Reported by Tristan Gingold . 2009-06-30 Bruno Haible * Version 1.13.1 released. 2009-06-30 Bruno Haible * configure.ac: Bump version number to 1.13.1. * README: Likewise. 2009-06-04 Bruno Haible * preload/Makefile.devel (AUTOCONF): Switch to version 2.63. (ACLOCAL): Switch to version 1.11. 2009-05-19 Bruno Haible * Makefile.devel (AUTOMAKE, ACLOCAL): Switch to version 1.11. * autogen.sh: Update comments. 2009-04-24 Bruno Haible Fix a compilation error on HP-UX 11.00, introduced on 2008-09-16. * src/iconv_open2.h: Don't initialize nonexistent field if !(HAVE_WCRTOMB || HAVE_MBRTOWC). Patch by Joel Brobecker . 2009-04-15 Bruno Haible * src/Makefile.in (install, uninstall): Append the $(EXEEXT) suffix explicitly. Needed on Cygwin. 2009-04-11 Bruno Haible * configure.ac: Move the statements for WOE32 and WINDRES. 2009-03-26 Bruno Haible * Version 1.13 released. 2009-03-26 Bruno Haible * src/iconv.c: Update copyright header to GPLv3+. (print_version): Update license info. 2009-03-26 Bruno Haible * src/iconv.c (print_version): Bump year. 2009-03-25 Bruno Haible * build-aux/config.guess: Update to GNU version 2009-02-03. * build-aux/config.sub: Likewise. 2009-03-25 Bruno Haible * configure.ac: Bump version number to 1.13. * README: Likewise. * include/iconv.h.in (_LIBICONV_VERSION): Likewise. * windows/iconv.rc: Update. * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 7:0:5. 2009-03-25 Bruno Haible Fix the handling of Windows resources in shared libraries. * configure.ac: Invoke LT_LANG for 'Windows Resource'. * lib/Makefile.in (RC): New variable. (WINDRES): Remove variable. (OBJECTS_RES_yes): Add .lo suffix. (libiconv.res.lo): Renamed from libiconv.res. Use libtool --tag=RC. (clean): Simplify. Based on a patch by Roumen Petrov . 2009-03-14 Bruno Haible * autogen.sh: Checkout gnulib using 'git' instead of 'cvs'. 2009-01-24 Bruno Haible * tools/Makefile (ALL): Add cp1131.h. (cp1131.h): New rule. * lib/encodings.def: Add CP1131. * lib/cp1131.h: New file. * lib/converters.h: Include it. * README, man/iconv_open.3: Add CP1131. * NOTES: Mention CP1131. * tests/CP1131.TXT: New file. * tests/Makefile.in (check): Also test CP1131. 2009-01-17 Bruno Haible Add support for "make install-strip". * configure.ac: Search for 'strip'. Invoke AM_PROG_INSTALL_STRIP. * Makefile.in (install-strip): New rule. * src/Makefile.in (STRIP, INSTALL_STRIP_PROGRAM, install_sh): New variables. (install-strip): New rule. * lib/Makefile.in (install-strip): New target. * preload/Makefile.in (install-strip): Likewise. * man/Makefile.in (install-strip): Likewise. Reported by Alon Bar-Lev . 2009-01-17 Bruno Haible Update after gnulib changed. * src/Makefile.in (RELOCATABLE_STRIP): New variable. 2009-01-17 Bruno Haible Make --enable-relocatable work on glibc systems. * src/Makefile.in (host): New variable. 2009-01-17 Bruno Haible * lib/genflags.c: Include . 2009-01-14 Bruno Haible * configure.ac: More consistent m4 quoting. * preload/configure.ac: Likewise. 2008-09-28 Bruno Haible * build-aux/ltmain.sh (func_emit_cwrapperexe_src): On mingw, preprocess the argument vector through prepare_spawn. 2008-09-27 Bruno Haible * build-aux/config.guess: Update to GNU version 2008-09-08. * build-aux/config.sub: Likewise. 2008-09-26 Bruno Haible * tests/test-shiftseq.c (main1, main2): Use ICONV_CONST. 2008-09-26 Bruno Haible * Makefile.devel (GNULIB_MODULES): Add sigpipe, stdio. * tests/Makefile.in (check, table-from, table-to, test-shiftseq): Link all programs against libicrt.a. Needed for the stdio function replacements on mingw. 2008-09-21 Tadamasa Teranishi * lib/encodings_extra.def: Add aliases for EUC-JISX0213, SHIFT_JISX0213, ISO-2022-JP-3, found on . 2008-09-20 Bruno Haible * man/iconv_open_into.3: New file. 2008-09-16 Bruno Haible New function iconv_open_into. * include/iconv.h.in: Include and its prerequisites. (iconv_allocation_t): New type. (iconv_open_into): New declaration. * lib/iconv_open1.h: New file, extracted from lib/iconv.c. * lib/iconv_open2.h: New file, extracted from lib/iconv.c. * lib/iconv.c (iconv_open): Include iconv_open1.h and iconv_open2.h. Verify size of iconv_allocation_t. (iconv_open_into): New function. * lib/loop_wchar.h (struct wchar_conv_struct): Don't define a state field if !(HAVE_WCRTOMB || HAVE_MBRTOWC). * configure.ac: Set and substitute USE_MBSTATE_T, BROKEN_WCHAR_H. Reported by Roman Rybalko . 2008-09-16 Bruno Haible * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.63. 2008-09-16 Bruno Haible * include/iconv.h.in: Use Unicode single-quotes in comments. 2008-09-14 Bruno Haible * Makefile.devel (GNULIB_MODULES): Add strerror. 2008-09-07 Bruno Haible Make behaviour when encountering invalid input after a shift sequence more consistent. * lib/converters.h (RET_SHIFT_ILSEQ): New macro. (RET_ILSEQ): Define in terms of RET_SHIFT_ILSEQ. (RET_TOOFEW): Change to avoid collisions with RET_SHIFT_ILSEQ. (DECODE_SHIFT_ILSEQ, DECODE_TOOFEW): New macros. * lib/loop_unicode.h (unicode_loop_convert): Take into account the shift count contained in the negative return values. * lib/hz.h (hz_mbtowc): When encountering invalid input, store the modified state and return RET_SHIFT_ILSEQ. * lib/iso2022_cn.h (iso2022_cn_mbtowc): Likewise. * lib/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Likewise. * lib/iso2022_jp.h (iso2022_jp_mbtowc): Likewise. * lib/iso2022_jp1.h (iso2022_jp1_mbtowc): Likewise. * lib/iso2022_jp2.h (iso2022_jp2_mbtowc): Likewise. * lib/iso2022_jp3.h (iso2022_jp3_mbtowc): Likewise. * lib/iso2022_kr.h (iso2022_kr_mbtowc): Likewise. * lib/ucs2.h (ucs2_mbtowc): Likewise. * lib/ucs4.h (ucs4_mbtowc): Likewise. * lib/utf16.h (utf16_mbtowc): Likewise. * lib/utf32.h (utf32_mbtowc): Likewise. * lib/utf7.h (utf7_mbtowc): Likewise. * lib/utf16be.h (utf16be_mbtowcutf16be_mbtowc): When encountering invalid input, return RET_SHIFT_ILSEQ. * lib/utf16le.h (utf16le_mbtowc): Likewise. * tests/test-shiftseq.c: New file. * tests/Makefile.in (check): Run test-shiftseq. (test-shiftseq, test-shiftseq.@OBJEXT@): New rules. (clean): Remove test-shiftseq executable. Reported by Roman Rybalko at . 2008-09-07 Bruno Haible * man/iconv.3: Clarify the processing of shift-sequences. 2008-09-07 Bruno Haible * m4/libtool.m4: Update from libtool-2.2.6, 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: Update from libtool-2.2.6. * m4/ltsugar.m4: Likewise. * m4/ltversion.m4: Likewise. * build-aux/ltmain.sh: Likewise. 2008-09-06 Bruno Haible * lib/gbk.h (gbk_wctomb): Fix an out-of-bounds write. Reported by Roman Rybalko at . 2008-06-30 Bruno Haible Fix sed expressions to work with the old sed-3.02 on MSYS. * windows/windres-options (sed_extract_major, sed_extract_minor, sed_extract_subminor): Put a semicolon before the closing brace. Use an i\ command instead of an a\ command. Reported by Sunil Negi in via Keith Marshall . 2008-05-22 Bruno Haible * README.woe32: Update with info from GNU gettext's README.woe32. 2008-05-18 Bruno Haible * m4/libtool.m4: Update from libtool-2.2.4, 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: Update from libtool-2.2.4. * m4/ltversion.m4: Likewise. * m4/lt~obsolete.m4: Likewise. * build-aux/ltmain.sh: Likewise. 2008-04-14 Bruno Haible * tests/Makefile.in (check): Remove *.dSYM directories left over by gcc on MacOS X 10.5. 2008-04-14 Bruno Haible * preload/configure.ac: Invoke AC_USE_SYSTEM_EXTENSIONS instead of AC_AIX and AC_MINIX. * Makefile.devel (AUTOCONF, AUTOHEADER): Require autoconf-2.62. * preload/Makefile.devel (AUTOCONF): Likewise. * autogen.sh: Likewise. 2008-04-06 Bruno Haible * m4/libtool.m4: Update from libtool-2.2.2, 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: New file, from libtool-2.2.2. * m4/ltsugar.m4: New file, from libtool-2.2.2. * m4/ltversion.m4: New file, from libtool-2.2.2. * m4/lt~obsolete.m4: New file, from libtool-2.2.2. * build-aux/ltmain.sh: New file, from libtool-2.2.2. * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL. * preload/configure.ac: Likewise. 2008-04-06 Bruno Haible More portable way of building the preloadable library. * preload/Makefile.devel: New file. * preload/Makefile.in: New file, based on lib/Makefile.in. * preload/configure.ac: New file, based on configure.ac. * Makefile.devel (all): Recurse into preload directory. * Makefile.in (all, install, installdirs, uninstall, check, mostlyclean, clean, distclean, maintainer-clean): Recurse into preload directory. * configure.ac: Likewise. (OS, GCC, PLUGLIB): Remove definitions. * lib/Makefile.in (all): Don't depend on PLUGLIB. (preloadable_libiconv.so, preloadable_libiconv_linux.so, preloadable_libiconv_solaris.so, preloadable_libiconv_osf.so): Remove rules. (install, uninstall, clean): Don't handle the preloadable library here. 2008-04-06 Bruno Haible Avoid a gcc warning. * lib/loop_unicode.h (unicode_loop_convert): Add a cast. 2008-04-06 Bruno Haible * src/iconv.c (print_version): Bump year. 2008-04-06 Bruno Haible Support all possible nl_langinfo(CODESET) results on the respective platforms, according to libcharset/lib/config.charset. * lib/encodings.def: Add DEFALIAS statements, conditional on USE_AIX_ALIASES, USE_HPUX_ALIASES, USE_OSF1_ALIASES, USE_SOLARIS_ALIASES. * lib/encodings_aix.def: Add DEFALIAS statements, conditional on USE_AIX_ALIASES. * lib/encodings_osf1.def: Add DEFALIAS statements, conditional on USE_OSF1_ALIASES. * lib/genaliases.c (emit_alias): New function, extracted from emit_encoding. (emit_encoding): Use it. (main): Define DEFALIAS. * lib/genaliases2.c (counter): New variable, extracted from emit_encoding. (emit_alias): New function, extracted from emit_encoding. (emit_encoding): Use it. (main): Define DEFALIAS. * lib/genflags.c (main): Define DEFALIAS. * lib/iconv.c (all_encodings): Define DEFALIAS. Include the system dependent variant of aliases.h on the appropriate systems. (all_canonical): Include the system dependent variant of canonical.h, canonical_aix.h, canonical_osf1.h, canonical_local.h on the appropriate systems. * lib/aliases2.h: Include the system dependent variant of aliases_aix.h or aliases_osf1.h on the appropriate systems. * lib/Makefile.in (iconv.lo): Depend on aliases_sysaix.h, aliases_syshpux.h, aliases_sysosf1.h, aliases_syssolaris.h, aliases_aix_sysaix.h, lib/aliases_osf1_sysosf1.h, and also aliases_extra.h, translit.h. * Makefile.devel (all): Depend on lib/aliases_sysaix.h, lib/aliases_syshpux.h, lib/aliases_sysosf1.h, lib/aliases_syssolaris.h, lib/aliases_aix_sysaix.h, lib/aliases_osf1_sysosf1.h. (lib/aliases_sysaix.h, lib/aliases_syshpux.h, lib/aliases_sysosf1.h, lib/aliases_syssolaris.h): New rules. (lib/aliases_aix_sysaix.h): New rule. (lib/aliases_osf1_sysosf1.h): New rule. * autogen.sh: Also remove lib/aliases_sysaix.h, lib/aliases_syshpux.h, lib/aliases_sysosf1.h, lib/aliases_syssolaris.h, lib/aliases_aix_sysaix.h, lib/aliases_osf1_sysosf1.h. 2008-04-06 Bruno Haible * build-aux/config.libpath: Remove file, brought in by gnulib-tool. * build-aux/config.rpath: Remove file, brought in by gnulib-tool. 2007-11-11 Bruno Haible * Version 1.12 released. 2007-11-11 Bruno Haible * Makefile.devel (AUTOCONF, AUTOHEADER): Require version 2.61. (AUTOMAKE, ACLOCAL): Require version 1.10. (srclib/Makefile.in): Avoid error from automake. 2007-10-26 Bruno Haible * m4/libtool.m4: Update, based on libtool-1.5.24. * build-aux/ltmain.sh: Update, based on libtool-1.5.24. 2007-10-23 Bruno Haible * build-aux/config.guess: Update to GNU version 2007-07-22. * build-aux/config.sub: Likewise. 2007-10-23 Bruno Haible * configure.ac: Bump version number to 1.12. * README: Likewise. 2007-10-23 Bruno Haible Move relocatability infrastructure to gnulib. * gnulib-local/lib/relocatable.h: Remove file. * gnulib-local/lib/relocatable.c: Remove file. 2007-10-23 Bruno Haible Update from GNU gettext. 2006-11-26 Bruno Haible * gnulib-local/lib/xalloc.h (xmemdup): Add a typesafe C++ template variant. Based on a patch from Paul Eggert in gnulib. 2006-11-06 Bruno Haible * gnulib-local/lib/xalloc.h (xcharalloc): New macro. (xmemdup): New declaration. * gnulib-local/lib/xstrdup.c (xmemdup): New function. 2006-11-03 Bruno Haible * gnulib-local/lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros. (xnboundedmalloc): New inline function. * gnulib-local/lib/xstrdup.c (xstrdup): Use XNMALLOC instead of xmalloc. 2006-11-02 Bruno Haible * lib/xalloc.h (xnmalloc): New declaration. From gnulib xalloc.h. * lib/xmalloc.c (fixup_null_alloc): Write NULL, not 0. (xnmalloc): New function. 2007-10-23 Bruno Haible Moved module xreadlink to gnulib. * gnulib-local/modules/xreadlink: Remove file. * gnulib-local/lib/xreadlink.h: Remove file. * gnulib-local/lib/xreadlink.c: Remove file. * gnulib-local/m4/xreadlink.m4: Remove file. 2007-10-07 Bruno Haible Update program license to GPLv3. * COPYING: Replace with GPL 3. * windows/iconv.rc (Comments): Update. 2007-10-07 Bruno Haible * gnulib-local/lib/alloca.in.h: Renamed from gnulib-local/lib/alloca_.h. 2007-03-30 Bruno Haible * gnulib-local/lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_. 2006-06-19 Paul Eggert * gnulib-local/lib/alloca_.h (alloca) [defined alloca]: Don't define or declare. 2007-09-29 Bruno Haible * autogen.sh (GNULIB_CVS_ROOT): Change to read-only git mirror valid since 2007-09-19. 2007-07-07 Bruno Haible * autogen.sh: Add an option --skip-gnulib. 2007-07-07 Bruno Haible * gnulib-local/lib/uniwidth.h: Remove file, moved to gnulib. * gnulib-local/lib/width.c: Remove file, moved to gnulib. * gnulib-local/lib/cjk.h: Remove file, moved to gnulib. * gnulib-local/modules/uniwidth: Remove file. * Makefile.devel (GNULIB_MODULES): Remove uniwidth, add uniwidth/width. * src/iconv.c: Include uniwidth/cjk.h instead of cjk.h. 2007-06-30 Bruno Haible * src/iconv.c (print_version): Use the standard --version output, see . 2007-06-30 Bruno Haible * autogen.sh: New file. * DEPENDENCIES: New file. * HACKING: New file. 2007-06-30 Bruno Haible * src/iconv.c: Provide translator comments for many messages. (conversion_error_EILSEQ, conversion_error_EINVAL, conversion_error_other): New functions, extracted from convert. (convert): Use them. Reported by Tim Van Holder . 2007-06-09 Bruno Haible * gnulib-local/lib/relocwrapper.c: Remove file. 2007-05-27 Bruno Haible * windows/libiconv.rc: New file. * windows/iconv.rc: New file. * windows/windres-options: New file. * configure.ac (WOE32): New variable. (WINDRES) [WOE32]: New variable. * lib/Makefile.in (WINDRES): New variable. (PACKAGE_VERSION): New variable. (OBJECTS_EXP_yes): Renamed from OBJECTS_yes. (OBJECTS_EXP_no): Renamed from OBJECTS_no. (OBJECTS_RES_yes, OBJECTS_RES_no): New variables. (OBJECTS): Add one of them. (libiconv.res): New rule. (clean): Remove also libiconv.res. * src/Makefile.in (WINDRES): New variable. (PACKAGE_VERSION): New variable. (OBJECTS_RES_yes, OBJECTS_RES_no): New variables. (all, iconv_no_i18n, install): Use them. (iconv.res): New rule. (clean): Remove also iconv.res. Suggested and inspired by work by Perry Rapp. 2007-05-27 Bruno Haible Follow broken iconv() prototype in POSIX. * configure.ac (ICONV_CONST): Set to empty if the system has no iconv. * lib/config.h.in (ICONV_CONST): Change default value to an empty comment. * src/iconv.c (ICONV_CONST): Change default value to empty. Reported by Andreas Krennmair . 2007-05-25 Bruno Haible * tools/Makefile (ALL): Add rk1048.h. (rk1048.h): New rule. * lib/encodings.def: Add RK1048. * lib/rk1048.h: New file. * lib/converters.h: Include it. * README, man/iconv_open.3: Add RK1048. * NOTES: Mention RK1048. * tests/RK1048.TXT: New file. * tests/Makefile.in (check): Also test RK1048. Suggested by Timur Birsh . 2007-04-24 Bruno Haible * man/iconv_open.3: Tweak explanation of TRANSLIT. Reported by Perry Rapp. 2007-04-23 Bruno Haible * tests/check-subst: Use the output of 'printf' only if it didn't crash. Needed to work around a buffer overflow in Solaris /bin/printf. Reported by Arto C. Nirkko . 2007-04-23 Bruno Haible * lib/iconv.c (iconv_open, iconv_canonicalize): Treat native Woe32 systems like those which define __STDC_ISO_10646__. Reported by Keith Marshall . 2007-03-31 Bruno Haible * man/iconv.1: Use HYPHEN-MINUS signs instead of HYPHENs where appropriate. * man/iconv_open.3: Likewise. * man/iconv.3: Likewise. * man/iconv_close.3: Likewise. * man/iconvctl.3: Likewise. 2007-03-31 Bruno Haible * man/iconv.1: Mark as POSIX compliant. * man/iconv_open.3: Likewise. * man/iconv.3: Likewise. * man/iconv_close.3: Likewise. * man/*.[13]: Syntactic simplifications. 2007-03-19 Bruno Haible Assume that mkinstalldirs also creates the necessary parent directories. * Makefile.in (install, installdirs): Don't explicitly create the parent directories. * lib/Makefile.in (install, installdirs): Likewise. * src/Makefile.in (install, installdirs): Likewise. * man/Makefile.in (install, installdirs): Likewise. Reported by Thomas Klausner . 2007-03-04 Bruno Haible * Makefile.devel (GNULIB_MODULES): Add relocatable-prog. Remove relocatable, relocwrapper. * configure.ac: Invoke gl_RELOCATABLE instead of AC_RELOCATABLE. * gnulib-local/modules/progreloc: Remove file. * gnulib-local/modules/relocatable: Remove file. * gnulib-local/modules/relocwrapper: Remove file. * gnulib-local/m4/relocatable.m4: Remove file. * gnulib-local/lib/strerror.c.diff: Remove file. * src/Makefile.in: Remove SET_RELOCATABLE invocation. Instead get RELOCATABLE_LDFLAGS and INSTALL_PROGRAM_ENV. 2007-02-19 Bruno Haible * gnulib-local/lib/xmalloc.c: Don't include exit.h. * src/iconv.c: Likewise. 2007-02-16 Juan Manuel Guerrero * djgpp/*: Update. 2007-02-03 Bruno Haible * tools/Makefile (ksc5601.h): Add one extra character. * lib/ksc5601.h: Regenerated. * lib/cp949.h (cp949_mbtowc, cp949_wctomb): Exclude the new character. * tests/EUC-KR.TXT: Add CIRCLED HANGUL IEUNG U. * tests/JOHAB.TXT: Likewise. Reported by Jungshik Shin (신정식, 申政湜) . * lib/euc_kr.h: Update comments. * lib/johab.h: Likewise. 2007-02-03 Bruno Haible * tools/cjk_tab_to_h.c (output_title): Bump copyright year. 2007-01-26 Bruno Haible Moved streq.h to gnulib. * gnulib-local/lib/streq.h: Remove file. * gnulib-local/modules/uniwidth (Files): Remove lib/streq.h. (Depends-on): Add streq. (lib_SOURCES): Remove streq.h. 2007-01-26 Bruno Haible Moved unitypes.h to gnulib. * gnulib-local/lib/unitypes.h: Remove file. * gnulib-local/modules/uniwidth (Files): Remove lib/unitypes.h. (Depends-on): Add unitypes. (lib_SOURCES): Remove unitypes.h. 2007-01-26 Bruno Haible Moved canonicalize to gnulib. * gnulib-local/modules/canonicalize: Remove file. * gnulib-local/lib/canonicalize.h: Remove file. * gnulib-local/lib/canonicalize.c: Remove file. * gnulib-local/m4/canonicalize.m4: Remove file. * gnulib-local/modules/progreloc (Depends-on): Replace 'canonicalize' with 'canonicalize-lgpl'. 2006-12-20 Bruno Haible * lib/Makefile.in (install): On AIX, add the contents of /lib/libiconv.a to libiconv.a. 2006-12-20 Bruno Haible * Makefile.devel (all): Depend on srclib/Makefile.gnulib, not srclib/Makefile.am. (aclocal.m4): Likewise. Touch the resulting file, since aclocal not always does it. (srclib/Makefile.gnulib): Renamed from srclib/Makefile.am. Pass option --makefile-name. (srclib/Makefile.in): Depend on srclib/Makefile.gnulib too. * srclib/Makefile.am: New file that includes srclib/Makefile.gnulib. 2006-10-31 Bruno Haible Update from GNU gettext. 2006-10-29 Bruno Haible Make it compile in C++ mode. * gnulib-local/lib/xalloc.h (xrealloc): Define as template with appropriate return type. * gnulib-local/lib/xstrdup.c (xstrdup): Cast xmalloc result. 2006-10-26 Bruno Haible * gnulib-local/modules/canonicalize (Makefile.am): Remove EXTRA_DIST. Now done by gnulib-tool. * gnulib-local/modules/relocatable (Makefile.am): Likewise. * gnulib-local/modules/relocwrapper (Makefile.am): Likewise. 2006-10-25 Bruno Haible * gnulib-local/m4/relocatable.m4 (AC_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE, without the AC_LIBOBJ invocation. (AC_RELOCATABLE): New macro. Invoke AC_LIBOBJ here. * gnulib-local/modules/relocwrapper (configure.ac): Invoke AC_RELOCATABLE instead of requiring it. 2006-10-12 Bruno Haible * gnulib-local/modules/canonicalize (Makefile.am): Distribute all files in lib/ through EXTRA_DIST. * gnulib-local/modules/relocatable (Makefile.am): Likewise. 2006-09-14 Bruno Haible * gnulib-local/lib/canonicalize.c: Include unconditionally. * gnulib-local/lib/relocatable.c: Likewise. * lib/relocatable.c: Likewise. * gnulib-local/lib/relocwrapper.c: Likewise. * gnulib-local/lib/xmalloc.c: Likewise. * gnulib-local/lib/xreadlink.c: Likewise. * gnulib-local/lib/xstrdup.c: Likewise. 2006-08-02 Bruno Haible * gnulib-local/modules/canonicalize: Put under LGPL. * gnulib-local/modules/relocatable: Likewise. 2006-07-18 Bruno Haible * gnulib-local/xalloc.h (xzalloc): New declaration. * gnulib-local/xmalloc.c (xzalloc): New function. 2006-10-24 Bruno Haible * man/Makefile.in (PACKAGE): New variable. Needed for docdir. Reported by Charles Wilson . 2006-10-14 Bruno Haible * COPYING: New file. * README: Clarify copyright of the iconv program. Reported by Charles Wilson . 2006-08-08 Bruno Haible * INSTALL.generic: Add a recommendation for Tru64. Reported by Gary V. Vaughan . 2006-07-29 Bruno Haible * tests/check-subst: Set CHARSETALIASDIR. Needed so that "make check" works before "make install" on systems such as NetBSD. 2006-07-29 Bruno Haible * Makefile.devel (aclocal.m4): Depend on srclib/Makefile.am. (AUTOCONF_FILES): Add the existing *.m4 files. 2006-07-29 Bruno Haible * gnulib-local/lib/xreadlink.c: Assume exists. * src/iconv.c: Assume exists. * configure.ac: Remove tests for , , , . 2006-07-29 Bruno Haible * configure.ac: Remove obsolete calls AC_PROG_GCC_TRADITIONAL, AC_ISC_POSIX, AC_HEADER_STDC. 2006-07-29 Bruno Haible * configure.ac: Remove macro invocations that are redundant through gl_EARLY and gl_INIT. 2006-07-29 Bruno Haible * gnulib-local/m4/alloca.m4 (gl_PREREQ_ALLOCA): Add a dummy statement. Avoids a sh syntax error. 2006-07-29 Bruno Haible * gnulib-local/m4/relocatable.m4: Add comments. 2006-07-29 Bruno Haible * gnulib-local/modules/libiconv-misc: New file. * Makefile.devel (GNULIB_MODULES): Add libiconv-misc. * Makefile.devel (srclib/Makefile.am): Pass --no-libtool. 2006-07-29 Bruno Haible Note: gnulib macros no longer invoke AC_TYPE_SIZE_T nor AC_CHECK_TYPE([ptrdiff_t], , [AC_DEFINE([ptrdiff_t], [long], ...)]) because we now assume that the system defines size_t and ptrdiff_t. 2006-07-29 Bruno Haible Switch to using gnulib. * configure.ac (AC_PREREQ): Require autoconf-2.60. Invoke gl_EARLY and gl_INIT. * Makefile.devel (all): Depend on srclib/Makefile.am. (aclocal.m4): Pass -I srcm4 to aclocal. Simplify dependencies, assuming GNU make. (GNULIB_MODULES): New variable. (srclib/Makefile.am): New rule. * gnulib-local: New directory. * gnulib-local/m4/alloca.m4: Moved here from m4/alloca.m4. * gnulib-local/m4/canonicalize.m4: Moved here from m4/canonicalize.m4. * gnulib-local/m4/relocatable.m4: Moved here from m4/relocatable.m4. * gnulib-local/m4/xreadlink.m4: Moved here from m4/xreadlink.m4. * gnulib-local/lib/alloca_.h: Moved here from srclib/alloca_.h. * gnulib-local/lib/canonicalize.h: Moved here from srclib/canonicalize.h. * gnulib-local/lib/canonicalize.c: Moved here from srclib/canonicalize.c. * gnulib-local/lib/cjk.h: Moved here from srclib/cjk.h. * gnulib-local/lib/error.h.diff: New file. * gnulib-local/lib/progname.h.diff: New file. * gnulib-local/lib/relocatable.h: Moved here from srclib/relocatable.h. * gnulib-local/lib/relocatable.c: Moved here from srclib/relocatable.c. * gnulib-local/lib/relocwrapper.c: Moved here from srclib/relocwrapper.c. * gnulib-local/lib/streq.h: Moved here from srclib/streq.h. * gnulib-local/lib/strerror.c.diff: New file. * gnulib-local/lib/unitypes.h: Moved here from srclib/unitypes.h. * gnulib-local/lib/uniwidth.h: Moved here from srclib/uniwidth.h. * gnulib-local/lib/width.c: Moved here from srclib/width.c. * gnulib-local/lib/xalloc.h: Moved here from srclib/xalloc.h. * gnulib-local/lib/xmalloc.c: Moved here from srclib/xmalloc.c. * gnulib-local/lib/xstrdup.c: Moved here from srclib/xstrdup.c. * gnulib-local/lib/xreadlink.h: Moved here from srclib/xreadlink.h. * gnulib-local/lib/xreadlink.c: Moved here from srclib/xreadlink.c. * gnulib-local/modules/canonicalize: New file. * gnulib-local/modules/progreloc: New file. * gnulib-local/modules/relocatable: New file. * gnulib-local/modules/relocwrapper: New file. * gnulib-local/modules/uniwidth: New file. * gnulib-local/modules/xalloc: New file. * gnulib-local/modules/xreadlink: New file. * m4/allocsa.m4: Remove file. Now taken from gnulib. * m4/codeset.m4: Likewise. * m4/eealloc.m4: Likewise. * m4/error.m4: Likewise. * m4/extensions.m4: Likewise. * m4/full-header-path.m4: Likewise. * m4/gettext.m4: Likewise. * m4/glibc21.m4: Likewise. * m4/iconv.m4: Likewise. * m4/intmax.m4: Likewise. * m4/inttypes-h.m4: Likewise. * m4/inttypes_h.m4: Likewise. * m4/isc-posix.m4: Likewise. * m4/lcmessage.m4: Likewise. * m4/lib-ld.m4: Likewise. * m4/lib-link.m4: Likewise. * m4/lib-prefix.m4: Likewise. * m4/longdouble.m4: Likewise. * m4/longlong.m4: Likewise. * m4/mbstate_t.m4: Likewise. * m4/nls.m4: Likewise. * m4/onceonly.m4: Likewise. * m4/pathmax.m4: Likewise. * m4/po.m4: Likewise. * m4/printf-posix.m4: Likewise. * m4/progtest.m4: Likewise. * m4/readlink.m4: Likewise. * m4/setenv.m4: Likewise. * m4/signed.m4: Likewise. * m4/size_max.m4: Likewise. * m4/ssize_t.m4: Likewise. * m4/stdbool.m4: Likewise. * m4/stdint.m4: Likewise. * m4/stdint_h.m4: Likewise. * m4/strerror.m4: Likewise. * m4/strerror_r.m4: Likewise. * m4/unistd_h.m4: Likewise. * m4/unlocked-io.m4: Likewise. * m4/visibility.m4: Likewise. * m4/wchar_t.m4: Likewise. * m4/wint_t.m4: Likewise. * srclib/allocsa.h: Remove file. Now taken from gnulib. * srclib/allocsa.c: Likewise. * srclib/binary-io.h: Likewise. * srclib/error.h: Likewise. * srclib/error.c: Likewise. * srclib/exit.h: Likewise. * srclib/gettext.h: Likewise. * srclib/memmove.c: Likewise. * srclib/pathmax.h: Likewise. * srclib/progname.h: Likewise. * srclib/progname.c: Likewise. * srclib/progreloc.c: Likewise. * srclib/readlink.c: Likewise. * srclib/setenv.h: Likewise. * srclib/setenv.c: Likewise. * srclib/stdbool_.h: Likewise. * srclib/stdint_.h: Likewise. * srclib/strerror.c: Likewise. * srclib/unlocked-io.h: Likewise. * srclib/unsetenv.c: Likewise. * srclib/Makefile.am: Remove file. 2006-07-27 Bruno Haible Remove OS/2 build support that doesn't assume GNU make and GNU bash. * README.os2: Remove file. * Makefile.os2: Remove file. * lib/Makefile.os2: Remove file. * src/Makefile.os2: Remove file. * man/Makefile.os2: Remove file. * tests/Makefile.os2: Remove file. * tests/check-stateful.cmd: Remove file. * tests/check-stateless.cmd: Remove file. * tests/check-translit.cmd: Remove file. 2006-07-25 Bruno Haible Remove MSVC/nmake build support. * windows: Remove directory. * Makefile.msvc: Remove file. * lib/Makefile.msvc: Remove file. * srclib/Makefile.msvc: Remove file. * src/Makefile.msvc: Remove file. * tests/Makefile.msvc: Remove file. * man/Makefile.msvc: Remove file. * po/Rules-msvc: Remove file. * po/Makefile.msvc.sh: Remove file. * Makefile.devel (config.h.msvc, lib/config.h.msvc): Remove rules. (include/iconv.h.msvc-static, include/iconv.h.msvc-shared): Remove rules. (po/Makefile.msvc): Remove rule. (all): Update. 2006-07-25 Bruno Haible Remove VMS support. * vms: Remove directory. * Makefile.vms: Remove file. * lib/Makefile.vms: Remove file. * srclib/Makefile.vms: Remove file. * src/Makefile.vms: Remove file. * tests/Makefile.vms: Remove file. * man/Makefile.vms: Remove file. * Makefile.devel (config.h_vms, lib/config.h_vms): Remove rules. (include/iconv.h_vms): Remove rule. (all): Update. 2006-07-23 Bruno Haible * lib/Makefile.in (libiconv.la): Use the CFLAGS during linking. * src/Makefile.in (iconv_no_i18n): Likewise. (install): Likewise. * tests/Makefile.in (table-from, table-to): Likewise. Needed because the CFLAGS can e.g. trigger profiling. Reported by Russell Aspinwall . 2006-07-19 Bruno Haible * Version 1.11 released. 2006-07-19 Bruno Haible * srclib/Makefile.am (libicrt_a_SOURCES): Remove error.h, error.c. (LIBADD_SOURCE): Add them here. 2006-07-19 Bruno Haible * build-aux/config.guess: Update to GNU version 2006-07-02. * build-aux/config.sub: Likewise. 2006-07-14 Bruno Haible * lib/Makefile.in (clean): Remove also *.stackdump. * src/Makefile.in (clean): Likewise. * tests/Makefile.in (clean): Likewise. 2006-07-14 Bruno Haible * src/Makefile.in (clean): Remove also iconv_no_i18n. Needed for cygwin or mingw. * tests/Makefile.in (clean): Remove also the programs, without EXEEXT. Needed for cygwin or mingw. * Makefile.in (mostlyclean, clean, distclean, maintainer-clean): Remove also bin directory. Needed for cygwin and mingw. 2006-07-03 Bruno Haible * src/iconv.c (check_subst_formatstring): Use ngettext. (subst_wc_to_mb_fallback, subst_mb_to_mb_fallback): Fix error messages after 2006-01-22 change. * configure.ac: Require a gettext version with ngettext. 2006-06-28 Bruno Haible * m4/gettext.m4: Update from GNU gettext. * m4/po.m4: Update from GNU gettext. 2006-06-27 Bruno Haible * Makefile.devel (AUTOCONF, AUTOHEADER): Use autoconf-2.60. * Makefile.in (datarootdir): New variable. (install, installdirs, uninstall): Also pass datarootdir. * configure.ac (mandir): Remove customization. * man/Makefile.in (datarootdir): New variable. (docdir, htmldir): Use autoconf-substituted value. * src/Makefile.in (datarootdir): New variable. (localedir): Use autoconf-substituted value. 2006-06-27 Bruno Haible * m4/stdint.m4: Update from gnulib. * srclib/stdint_.h: Update from gnulib. * srclib/Makefile.am: Update. 2006-06-17 Bruno Haible * srclib/unsetenv.c: Update from GNU gettext. * srclib/xreadlink.c: Likewise. 2006-06-16 Bruno Haible * m4/full-header-path.m4: New file, from gnulib. * m4/size_max.m4: New file, from gnulib. * m4/stdint.m4: Update from gnulib. * srclib/stdint_.h: Update from gnulib. * srclib/Makefile.am (stdint.h): Likewise. * Makefile.devel (aclocal.m4): Update dependencies. 2006-06-16 Bruno Haible * m4/ssize_t.m4: Update from GNU gettext. 2006-06-12 Bruno Haible * m4/gettext.m4: Update from GNU gettext. * m4/inttypes-h.m4: New file, from GNU gettext. * m4/inttypes.m4: Remove file. * m4/stdint.m4 (gl_STDINT_H): Update. * Makefile.devel (aclocal.m4): Update dependencies. 2006-06-10 Bruno Haible * src/iconv.c (error) [NO_I18N]: Define here instead of including error.h. Fixes link failure introduced on 2006-01-22. 2006-03-28 Ralf Wildenhues * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when "parsing" /etc/ld.so.conf and empty /etc/ld.so.conf.d. 2006-05-20 Bruno Haible * tests/BIG5-HKSCS-1999-snippet: New file. * tests/BIG5-HKSCS-1999-snippet.UTF-8: New file. * tests/BIG5-HKSCS-2001-snippet: New file. * tests/BIG5-HKSCS-2001-snippet.UTF-8: New file. * tests/BIG5-HKSCS-2004-snippet: New file. * tests/BIG5-HKSCS-2004-snippet.UTF-8: New file. * tests/Makefile.in (check): Test also the stateful parts of BIG5-HKSCS:1999, BIG5-HKSCS:2001, BIG5-HKSCS:2004. 2006-05-17 Bruno Haible Implement newer releases of BIG5-HKSCS. * tools/Makefile (ALL): Remove hkscs.h, add hkscs1999.h, hkscs2001.h, hkscs2004.h. (hkscs.h): Remove rule. (hkscs1999.h, hkscs2001.h, hkscs2004.h): New rules. * tools/cjk_tab_to_h.c (output_title): Update year. (main): Recognize hkscs1999, hkscs2001, hkscs2004. * lib/encodings.def: Rename BIG5-HKSCS to BIG5-HKSCS:1999. Add BIG5-HKSCS:2001, BIG5-HKSCS:2004. Make all three stateful. * lib/hkscs.h: Remove file. * lib/hkscs1999.h: New file. * lib/hkscs2001.h: New file. * lib/hkscs2004.h: New file. * lib/big5hkscs.h: Remove file. * lib/big5hkscs1999.h: New file. * lib/big5hkscs2001.h: New file. * lib/big5hkscs2004.h: New file. * lib/converters.h: Include the new files. * README, man/iconv_open.3: Add BIG5-HKSCS:1999, BIG5-HKSCS:2001. * tests/BIG5-HKSCS.TXT: Remove file. * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Remove file. * tests/BIG5-HKSCS-1999.TXT: New file. * tests/BIG5-HKSCS-1999.IRREVERSIBLE.TXT: New file. * tests/BIG5-HKSCS-2001.TXT: New file. * tests/BIG5-HKSCS-2001.IRREVERSIBLE.TXT: New file. * tests/BIG5-HKSCS-2004.TXT: New file. * tests/BIG5-HKSCS-2004.IRREVERSIBLE.TXT: New file. * tests/check-stateless: Convert colon in the charset name to a dash in the file name. * tests/Makefile.in (check): Check BIG5-HKSCS:1999, BIG5-HKSCS:2001, BIG5-HKSCS:2004 instead of just BIG5-HKSCS. * tests/Makefile.msvc (check): Don't check BIG5-HKSCS. * tests/Makefile.os2 (check): Likewise. 2006-05-17 Bruno Haible * srclib/progreloc.c: Update from GNU gettext. 2006-05-16 Bruno Haible * src/Makefile.in (clean): Use EXEEXT. * tests/Makefile.in (check, clean): Likewise. 2006-05-15 Bruno Haible * configure.ac: Move some checks before AC_RELOCATABLE. 2006-05-15 Bruno Haible Support for building shared libraries on mingw and Cygwin. * configure.ac (WOE32DLL, DLL_VARIABLE): New variables. * include/iconv.h.in (_libiconv_version): Mark as DLL_VARIABLE. * woe32dll/export.h: New file, from GNU gettext. * woe32dll/iconv-exports.h: New file. * Makefile.devel (include/iconv.h_vms, include/iconv.h.msvc-static, include/iconv.h.msvc-shared): Remove the DLL_VARIABLE annotation. * lib/Makefile.in (INCLUDES): Add -I for parent directory. (LDFLAGS): Add WOE32DLL dependent flags. (LDFLAGS_yes, LDFLAGS_no): New variables. (OBJECTS): Add WOE32DLL dependent objects. (OBJECTS_yes, OBJECTS_no): New variables. (iconv-exports.lo): New rule. 2006-05-15 Bruno Haible * srclib/gettext.h: Update from GNU gettext. * srclib/pathmax.h: Update from GNU gettext. * srclib/progreloc.c: Update from GNU gettext. * srclib/unsetenv.c: Update from GNU gettext. * srclib/Makefile.am: Add snippet for creation of unistd.h. * m4/extensions.m4: Update from GNU gettext. * m4/gettext.m4: Update from GNU gettext. * m4/lib-ld.m4: Update from GNU gettext. * m4/lib-link.m4: Update from GNU gettext. * m4/lib-prefix.m4: Update from GNU gettext. * m4/longdouble.m4: Update from GNU gettext. * m4/nls.m4: Update from GNU gettext. * m4/onceonly.m4: Update from GNU gettext. * m4/po.m4: Update from GNU gettext. * m4/relocatable.m4: Update from GNU gettext. * m4/unistd_h.m4: New file, from GNU gettext. * Makefile.devel (aclocal.m4): Depend on it. * configure.ac: Invoke gl_HEADER_UNISTD. 2006-05-14 Bruno Haible , Ralf Wildenhues * m4/libtool.m4 [ linux ] (AC_LIBTOOL_LANG_CXX_CONFIG) (AC_LIBTOOL_POSTDEP_PREDEP, AC_LIBTOOL_PROG_COMPILER_PIC) (AC_LIBTOOL_PROG_LD_SHLIBS): Add support for Sun C 5.9, Sun C++ 5.9, and Sun Fortran 8.3 on Linux. 2006-05-06 Charles Wilson * m4/libtool.m4: On Cygwin, like on mingw, define DLL_EXPORT when compiling a shared library object. 2006-05-15 Bruno Haible * build-aux/config.rpath: Add support for Sun C 5.9 on Linux. 2006-03-31 Juan Manuel Guerrero * djgpp/*: Update. 2006-01-23 Bruno Haible * configure.ac: Invoke gl_ALLOCSA. * Makefile.devel (aclocal.m4): Depend on $(CONFIGURES_IN). 2006-01-22 Bruno Haible * src/iconv.c (xmalloc, xalloc_die) [NO_I18N]: Define to avoid using gettext(). 2006-01-22 Bruno Haible * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 6:0:4. 2006-01-22 Bruno Haible * src/iconv.c: Include error.h, exit.h. (print_version): Use EXIT_SUCCESS. (check_subst_formatstring, subst_mb_to_uc_fallback, subst_uc_to_mb_fallback, subst_mb_to_wc_fallback, subst_wc_to_mb_fallback, subst_mb_to_mb_fallback, convert, main): Use error() instead of fprintf to stderr. 2006-01-22 Bruno Haible New feature: character-dependent substitutions. * include/iconv.h.in (iconv_unicode_mb_to_uc_fallback, iconv_unicode_uc_to_mb_fallback, iconv_wchar_mb_to_wc_fallback, iconv_wchar_wc_to_mb_fallback): New types. (struct iconv_fallbacks): New structure type. (ICONV_SET_FALLBACKS): New macro. * configure.ac: Invoke gt_TYPE_WCHAR_T and substitute HAVE_WCHAR_T. * Makefile.os2 (all): Also substitute @HAVE_WCHAR_T@ in build/iconv.h. * Makefile.devel (include/iconv.h_vms, include/iconv.h.msvc-static, include/iconv.h.msvc-shared): Also substitute @HAVE_WCHAR_T@. * lib/converters.h (struct conv_struct): Add field 'fallbacks'. * lib/loop_unicode.h (struct uc_to_mb_fallback_locals): New type. (uc_to_mb_write_replacement): New function. (struct mb_to_uc_fallback_locals): New type. (mb_to_uc_write_replacement): New function. (unicode_loop_convert): Call mb_to_uc_fallback and uc_to_mb_fallback. (unicode_loop_reset): Call uc_to_mb_fallback. * lib/loop_wchar.h (struct wc_to_mb_fallback_locals): New type. (wc_to_mb_write_replacement): New function. (wchar_from_loop_convert): Call wc_to_mb_fallback. (struct mb_to_wc_fallback_locals): New type. (mb_to_wc_write_replacement): New function. (wchar_to_loop_convert): Call mb_to_wc_fallback. * lib/iconv.c (iconv_open): Initialize the 'fallbacks' field. (iconvctl): Handle ICONV_SET_FALLBACKS. * lib/genflags.c (struct iconv_fallbacks): New dummy definition. * src/iconv.c: Include limits.h. (isdigit, c_isprint): New macros. (usage): Document long options and new options. (check_subst_formatstring): New function. (ilseq_byte_subst, ilseq_wchar_subst, ilseq_unicode_subst): New variables. (ilseq_byte_subst_size, ilseq_wchar_subst_size, ilseq_unicode_subst_size): New variables. (ilseq_byte_subst_buffer, ilseq_wchar_subst_buffer, ilseq_unicode_subst_buffer): New variables. (subst_mb_to_uc_cd, subst_mb_to_uc_temp_buffer): New variables. (subst_mb_to_uc_fallback): New function. (subst_uc_to_mb_cd, subst_uc_to_mb_temp_buffer): New variables. (subst_uc_to_mb_fallback): New function. (subst_mb_to_wc_cd, subst_mb_to_wc_temp_buffer): New variables. (subst_mb_to_wc_fallback): New function. (subst_wc_to_mb_cd, subst_wc_to_mb_temp_buffer): New variables. (subst_wc_to_mb_fallback): New function. (subst_mb_to_mb_cd, subst_mb_to_mb_temp_buffer): New variables. (subst_mb_to_mb_fallback): New function. (convert): Enlarge the outbuf when the conversion failed with E2BIG. (main): Handle new options --byte-subst, --widechar-subst, --unicode-subst. * man/iconv.1: Document --unicode-subst, --byte-subst, --widechar-subst options. * tests/check-subst: New file. * tests/Makefile.in (check): Also invoke check-subst. Suggested by James Taylor . 2006-01-21 Bruno Haible * src/iconv.c (print_version): Bump copyright year. (main): Accept long options --from-code, --to-code, --list, --silent. Accept abbreviated long options, like getopt() does. * man/iconv.1: Document long options. 2005-12-29 Bruno Haible * src/iconv.c (print_version): Update copyright year. 2005-12-29 Bruno Haible * configure.ac: Renamed from configure.in. * Makefile.devel (CONFIGURES_IN, configure, config.h.in): Update. 2005-12-29 Bruno Haible * configure.in: Bump version number. * include/iconv.h.in (_LIBICONV_VERSION): Likewise. * windows/iconv.rc: Likewise. * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 5:1:3. 2005-12-29 Bruno Haible * build-aux/config.guess: Update to GNU version 2005-12-23. * build-aux/config.sub: Likewise. * build-aux/config.libpath: Update from GNU gettext. * build-aux/install-sh: Upgrade to automake-1.9.5. * build-aux/missing: Upgrade to automake-1.9.5. * build-aux/mkinstalldirs: Upgrade to automake-1.9.5. 2005-12-29 Bruno Haible * m4/alloca.m4: Update from GNU gettext. * m4/allocsa.m4: Update from GNU gettext. * m4/canonicalize.m4: Update from GNU gettext. * m4/codeset.m4: Update from GNU gettext. * m4/eealloc.m4: Update from GNU gettext. * m4/error.m4: Update from GNU gettext. * m4/extensions.m4: Update from GNU gettext. * m4/gettext.m4: Update from GNU gettext. * m4/glibc21.m4: Update from GNU gettext. * m4/iconv.m4: Update from GNU gettext. * m4/intmax.m4: Update from GNU gettext. * m4/inttypes_h.m4: New file, from GNU gettext. * m4/isc-posix.m4: Update from GNU gettext. * m4/lcmessage.m4: Update from GNU gettext. * m4/longdouble.m4: Update from GNU gettext. * m4/longlong.m4: Update from GNU gettext. * m4/mbstate_t.m4: Update from GNU gettext. * m4/nls.m4: Update from GNU gettext. * m4/onceonly.m4: Update from GNU gettext. * m4/pathmax.m4: Update from GNU gettext. * m4/po.m4: Update from GNU gettext. * m4/printf-posix.m4: Update from GNU gettext. * m4/progtest.m4: Update from GNU gettext. * m4/readlink.m4: Update from GNU gettext. * m4/relocatable.m4: Update from GNU gettext. * m4/setenv.m4: Update from GNU gettext. * m4/signed.m4: Update from GNU gettext. * m4/ssize_t.m4: Update from GNU gettext. * m4/stdbool.m4: Update from GNU gettext. * m4/stdint_h.m4: New file, from GNU gettext. * m4/strerror.m4: Update from GNU gettext. * m4/strerror_r.m4: Update from GNU gettext. * m4/unlocked-io.m4: Update from GNU gettext. * m4/wchar_t.m4: Update from GNU gettext. * m4/wint_t.m4: Update from GNU gettext. * m4/xreadlink.m4: Update from GNU gettext. * Makefile.devel (aclocal.m4): Depend on m4/inttypes_h.m4 and m4/stdint_h.m4 as well. * configure.in: Invoke AC_TYPE_MBSTATE_T instead of AC_MBSTATE_T. Invoke gl_FUNC_GLIBC_UNLOCKED_IO instead of jm_FUNC_GLIBC_UNLOCKED_IO. Invoke gl_ERROR instead of gt_FUNC_ERROR_AT_LINE. Don't invoke AC_AIX and AC_MINIX, done by gl_USE_SYSTEM_EXTENSIONS. Temporarily redefine AC_LIBOBJ and AC_REPLACE_FUNCS, so as to fill SRCLIBOBJS instead of LIBOBJS. * srclib/alloca_.h: Update from GNU gettext. * srclib/allocsa.h: Update from GNU gettext. * srclib/canonicalize.c: Update from GNU gettext. * srclib/error.h: Update from GNU gettext. * srclib/error.c: Update from GNU gettext. * srclib/gettext.h: Update from GNU gettext. * srclib/memmove.c: Update from GNU gettext. * srclib/progname.h: Update from GNU gettext. * srclib/progname.c: Update from GNU gettext. * srclib/progreloc.c: Update from GNU gettext. * srclib/readlink.c: Update from GNU gettext. * srclib/relocatable.c: Update from GNU gettext. * srclib/relocwrapper.c: Update from GNU gettext. * srclib/setenv.h: Update from GNU gettext. * srclib/setenv.c: Update from GNU gettext. * srclib/stdbool_.h: Update from GNU gettext. * srclib/stdint_.h: Update from gnulib. * srclib/strerror.c: Update from GNU gettext. * srclib/unlocked-io.h: Update from GNU gettext. * srclib/unsetenv.c: Update from GNU gettext. * srclib/xalloc.h: Update from GNU gettext. * srclib/xmalloc.c: Update from GNU gettext. * srclib/xreadlink.c: Update from GNU gettext. * srclib/xstrdup.c: Update from GNU gettext. * srclib/Makefile.am (DEFS): Also define EXEEXT. (libicrt_a_LIBADD): Use SRCLIBOBJS instead of LIBOBJS. (libicrt_a_DEPENDENCIES): New variable. * src/Makefile.in (EXEEXT): New variable. * build-aux/install-reloc: Update from GNU gettext. * build-aux/reloc-ldflags: Update from GNU gettext. * build-aux/config.rpath: Update from GNU gettext. 2005-12-29 Bruno Haible * m4/libtool.m4: Update, based on libtool-1.5.22. * build-aux/ltmain.sh: Update, based on libtool-1.5.22. 2005-12-24 Bruno Haible Check the whole range of GB18030. * tests/GB18030-BMP.TXT: Renamed from tests/GB18030.TXT. * tests/gengb18030z.c: New file. * tests/table-from.c (main): For GB18030, don't stop at U+10000. * tests/table-to.c (main): Likewise. * tests/Makefile.in (check): Generate GB18030.TXT on the fly from GB18030-BMP.TXT. (clean): Remove also gengb18030z and GB18030.TXT. * tests/Makefile.msvc (check): Generate GB18030.TXT on the fly from GB18030-BMP.TXT. (clean): Remove also GB18030Z.TXT, GB18030TMP.TXT, GB18030.TXT. * tests/Makefile.os2 (check): Depend on gengb18030z.exe. Generate GB18030.TXT on the fly from GB18030-BMP.TXT. (clean): Remove also GB18030Z.TXT, GB18030TMP.TXT, GB18030.TXT. 2005-12-20 Bruno Haible * tests/table-to.c (main): Test the mappings up to U+10FFFF, not only up to U+2FFFF. Tolerate that Unicode language tags are silently mapped to nothing. 2005-12-22 Bruno Haible Extend GB18030 converter to cover the entire Unicode PUA. * lib/gb18030.h: Update comments, based on second printing. (gb18030_mbtowc): Add mapping for range U+E000..U+E765. (gb18030_pua2charset): New array. (gb18030_wctomb): Add mapping for range U+E000..U+E765 and the two-byte part of range U+E766..U+E864. * lib/gb18030ext.h (gb18030ext_2uni_pagefe): Add mappings to private area. (gb18030ext_mbtowc): Add mapping for the two-byte part of range U+E766..U+E864. * lib/gb18030uni.h (gb18030uni_charset2uni_ranges, gb18030uni_uni2charset_ranges, gb18030uni_ranges): Add 12 more intervals. (gb18030uni_mbtowc, gb18030uni_wctomb): Update. * tests/GB18030.TXT: Complete mappings to private area. 2005-12-22 Bruno Haible * lib/gbk.h: Update comments. 2005-12-20 Bruno Haible Add private area mappings to CP949. * lib/cp949.h (cp949_mbtowc, cp949_wctomb): Map U+E000..U+E0BB like many others do it. * tests/CP949.TXT: Add mappings for U+E000..U+E0BB. 2005-12-15 Bruno Haible Add private area mappings to CP950. * lib/cp950.h (cp950_mbtowc, cp950_wctomb): Map U+E000..U+F6B0 like most others do it. * tests/CP950.TXT: Add mappings for U+E000..U+F6B0. 2005-12-15 Bruno Haible Make CP936 follow what Microsoft does. In http://www.microsoft.com/globaldev/reference/dbcs/936.mspx they added a 0x80 - U+20AC mapping to the code chart, but not to the tooltips and not to the list of mappings. * lib/cp936.h: New file. * lib/gbk.h: Update comments. * lib/ces_gbk.h: Update comments. * lib/converters.h: Include cp936.h. * lib/encodings.def (CP936): New encoding. (GBK): Remove CP936 aliases. * README, man/iconv_open.3: Add CP936. * tests/Makefile.in (check): Check CP936. * tests/Makefile.msvc (check): Likewise. * tests/Makefile.os2 (check): Likewise. * tests/CP936.TXT: New file. 2005-12-14 Bruno Haible * lib/cp932.h (cp932_wctomb): Map U+FF5E, U+2225, U+FF0D, U+FFE0, U+FFE1 like Microsoft does it. * lib/CP932.IRREVERSIBLE.TXT: Add these mappings. Reported by Lei Wang . 2005-12-14 Bruno Haible Follow Euro sign addition done in 1999 in http://www.microsoft.com/globaldev/reference/dbcs/950/950_A3.mspx * lib/cp950.h (cp950_mbtowc, cp950_wctomb): Add mapping for 0xA3E1. * tests/CP950.TXT: Add mapping for 0xA3E1. 2005-11-11 Bruno Haible * lib/euc_jp.h (euc_jp_wctomb): When writing a 3-bytes byte sequence and only two bytes are available in the output buffer, return RET_TOOSMALL instead of overrunning the output buffer. * lib/isoir165.h (isoir165_wctomb): When only one byte is available in the output buffer, don't overrun the output buffer. Reported by William Bardwell . 2005-09-18 Bruno Haible * m4/libtool.m4: Update, based on libtool-1.5.20. * build-aux/ltmain.sh: Update, based on libtool-1.5.20. 2005-08-12 Bruno Haible * lib/big5_2003.h: Map 0xF9FA..0xF9FD differently. * tests/BIG5-2003.TXT: Likewise. * tests/BIG5-2003.IRREVERSIBLE.TXT: New file. Reported by Ping Yeh . 2005-07-24 Bruno Haible Tidy up exported symbols. * m4/visibility.m4: New file. * include/export.h: New file. * configure.in: Invoke gl_VISIBILITY. Use AC_CONFIG_FILES. Arrange to create also include/iconv.h.inst. * Makefile.devel (all): Depend on include/iconv.h.build.in. (aclocal.m4): Depend on m4/visibility.m4. (include/iconv.h.build.in): New rule. * Makefile.in (install-lib, install): Install include/iconv.h.inst, not the include/iconv.h that was used for building. (distclean, maintainer-clean): Remove also include/iconv.h.inst. * lib/Makefile.in (CFLAGS): Add @CFLAG_VISIBILITY@. (DEFS): Also define BUILDING_LIBICONV and BUILDING_DLL. * lib/config.h.in (HAVE_VISIBILITY): New macro. * lib/relocatable.h (RELOCATABLE_DLL_EXPORTED) [HAVE_VISIBILITY]: Define to the gcc visibility attribute. * srclib/relocatable.h (RELOCATABLE_DLL_EXPORTED) [HAVE_VISIBILITY]: Likewise. 2005-07-25 Bruno Haible 2003-08-24 Bruno Haible * lib/relocatable.h: Make this file includable in C++ mode: add extern "C". 2005-07-08 Bruno Haible * Version 1.10 released. 2005-07-08 Bruno Haible * m4/libtool.m4 (postinstall_cmds) [cygwin,mingw,pw32]: Make DLL executable after installing it. 2005-07-08 Bruno Haible * configure.in: Bump version number. * include/iconv.h.in (_LIBICONV_VERSION): Likewise. * windows/iconv.rc: Likewise. * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 5:0:3. 2005-07-05 Bruno Haible * Makefile.devel (ACLOCAL): New variable. (aclocal.m4): Use it. 2005-07-05 Bruno Haible * m4/relocatable.m4 (AC_RELOCATABLE): On mingw, simply set SET_RELOCATABLE to a trivial value. 2004-08-08 Bruno Haible * srclib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be used. 2004-04-28 Bruno Haible * srclib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN): Treat Cygwin like Windows, since it now accepts Windows pathnames. 2005-06-09 Bruno Haible * Makefile.in (mkinstalldirs): Use build-aux/ instead of autoconf/. * lib/Makefile.in (mkinstalldirs): Likewise. * src/Makefile.in (mkinstalldirs): Likewise. * man/Makefile.in (mkinstalldirs): Likewise. 2005-06-08 Bruno Haible * srclib/canonicalize.c (__realpath): Avoid gcc warnings on platforms that don't support symbolic links. 2005-06-08 Bruno Haible * srclib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc warning on mingw. 2005-05-22 Bruno Haible Implement and document BIG5-2003. * lib/big5_2003.h: New file. * lib/converters.h: Include it. * lib/encodings_extra.def (BIG5-2003): New encoding. * README, man/iconv_open.3: Add BIG5-2003. * tests/Makefile.in (check-extra-yes): Check BIG5-2003. * tests/BIG5-2003.TXT: New file. 2005-05-21 Bruno Haible Add EURO SIGN to EUC-TW converter. * lib/cns11643_1.h (cns11643_1_2uni_page42): Add entry for 0x14242. (cns11643_1_mbtowc): Update. * lib/cns11643_inv.h (cns11643_inv_2charset): Add entry for 0x20AC. (cns11643_inv_uni2indx_page*): Update. * lib/dec_hanyu.h (dec_hanyu_mbtowc, dec_hanyu_wctomb): Consider only part of row 42. * tests/EUC-TW.TXT: Add entry for 0x20AC. * tests/EUC-TW.IRREVERSIBLE.TXT: Likewise. 2005-05-03 Bruno Haible * tools/Makefile (ALL): Add pt154.h. (pt154.h): New rule. * lib/encodings.def: Add PT154. * lib/pt154.h: New file. * lib/converters.h: Include it. * README, man/iconv_open.3: Add PT154. * NOTES: Mention PT154. * tests/PT154.TXT: New file. * tests/Makefile.in (check): Also test PT154. * tests/Makefile.msvc (check): Likewise. * tests/Makefile.os2 (check): Likewise. 2005-03-29 Bruno Haible Rename libiconv_plug.so to preloadable_libiconv.so. * configure.in (PLUGLIB): Set to preloadable_libiconv.so instead of libiconv_plug.so. * lib/Makefile.in (preloadable_libiconv.so): Renamed from libiconv_plug.so. (preloadable_libiconv_linux.so): Renamed from libiconv_plug_linux.so. (preloadable_libiconv_solaris.so): Renamed from libiconv_plug_solaris.so. (preloadable_libiconv_osf.so): Renamed from libiconv_plug_osf.so. (clean): Update. * README: Update. 2005-03-29 Bruno Haible Implement and document ATARIST. * tools/Makefile (ALL): Add atarist.h. (atarist.h): New rule. * lib/atarist.h: New file. * lib/converters.h: Include it. * lib/encodings_extra.def (ATARIST): New encoding. * README, man/iconv_open.3: Add ATARIST. * tests/Makefile.in (check-extra-yes): Check ATARIST. * tests/ATARIST.TXT: New file. 2005-03-22 Bruno Haible * build-aux: New directory, renamed from autoconf. * configure.in (AC_CONFIG_AUX_DIR): Use build-aux. 2005-03-16 Bruno Haible * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of HAVE_LONGLONG_64BIT. * srclib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of HAVE_LONGLONG_64BIT. * srclib/Makefile.am (stdint.h): Likewise. 2005-03-14 Bruno Haible * Makefile.devel (aclocal.m4): Depend also on allocsa.m4, eealloc.m4, extensions.m4, intmax.m4, inttypes.m4, longdouble.m4, longlong.m4, printf-posix.m4, readlink.m4, signed.m4, ssize_t.m4, stdint.m4, wchar_t.m4, wint_t.m4. 2005-03-13 Bruno Haible Make stdout error checking reliable, also when writing to a NFS file. * src/iconv.c (main): Check the return value of fclose(stdout). * lib/genaliases.c (main): Likewise. * lib/genaliases2.c (main): Likewise. * lib/genflags.c (main): Likewise. * lib/gentranslit.c (main): Likewise. * tests/genutf8.c (main): Likewise. * tests/table-from.c (main): Likewise. * tests/table-to.c (main): Likewise. 2005-03-13 Bruno Haible * src/iconv.c (convert): Before outputting an error message, flush stdout and output a newline if suitable. 2005-03-13 Bruno Haible Improved error messages. * srclib/width.c: New file, from GNU clisp. * srclib/uniwidth.h: New file, from GNU clisp with modifications. * srclib/unitypes.h: New file, from GNU clisp with modifications. * srclib/cjk.h: New file, from GNU clisp. * srclib/streq.h: New file, from GNU clisp. * srclib/stdint_.h: New file, from gnulib. * m4/stdint.m4: New file, from gnulib. * m4/inttypes.m4: New file, from gnulib. * srclib/Makefile.am: Add gnulib module 'stdint' snippet. (BUILT_SOURCES): New variable. (libicrt_a_SOURCES): Add width.c, uniwidth.h, unitypes.h, cjk.h, streq.h. * configure.in: Invoke gl_STDINT_H. * src/iconv.c: Include cjk.h, uniwidth.h. (line, column, cjkcode): New variables. (update_line_column): New function. (convert): Initialize line and column. In all error message, show also the line and column number. (main): Initialize cjkcode. Set up hooks to call update_line_column. 2005-03-13 Bruno Haible * include/iconv.h.in (iconv_canonicalize): New declaration. * lib/genaliases.c (emit_encoding): Take two output streams as arguments. To the second stream, emit a shell command for extracting offsets into the gperf generated string pool. (main): Write the shell commands into file descriptors 3 and 4. * lib/genaliases2.c (emit_encoding): Take two output streams as arguments. To the second stream, emit an expression for the offset into the string pool. (main): Write the offsets into file descriptor 3. * Makefile.devel (lib/aliases.gperf): Remove target. (lib/aliases.h): Generate lib/aliases.gperf temporarily. Generate also lib/canonical.h and lib/canonical_local.h. (lib/aliases_aix.h): Generate also lib/canonical_aix.h. (lib/aliases_osf1.h): Generate also lib/canonical_osf1.h. (lib/aliases_dos.h): Generate also lib/canonical_dos.h. (lib/aliases_extra.h): Generate also lib/canonical_extra.h. * lib/iconv.c (stringpool2): Provide default definition when it doesn't exist. (all_canonical): New array. (iconv_canonicalize): New function. 2005-03-13 Bruno Haible * include/iconv.h.in (iconv_unicode_char_hook, iconv_wide_char_hook, iconv_hooks): New types. (ICONV_SET_HOOKS): New macro. * lib/converters.h (struct conv_struct): Add field 'hooks'. * lib/iconv.c (iconv_open): Initialize hooks to NULL. (iconvctl): Handle ICONV_SET_HOOKS. * lib/loop_unicode.h (unicode_loop_convert, unicode_loop_reset): After conversion of a character, call the uc_hook. * lib/loop_wchar.h (wchar_id_loop_convert): After every character, call the wc_hook. * lib/genflags.c (iconv_hooks): Provide a dummy definition. 2005-02-05 Bruno Haible * src/iconv.c (main): In case of unsupported encodings, show a hint towards "iconv -l". 2005-01-06 Bruno Haible * lib/Makefile.msvc (CFLAGS): Define also INSTALLPREFIX. * lib/Makefile.vms (DEFS): Likewise. Reported by Troels Walsted Hansen . 2005-01-05 Bruno Haible * autoconf/config.rpath: Update from GNU gettext. 2005-01-05 Bruno Haible Assume automake-1.9. * Makefile.devel (AUTOMAKE): Assume automake-1.9. 2005-01-05 Bruno Haible * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.10. * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5.10. 2004-11-11 Bruno Haible * lib/iconv.c (iconv_open): Accept the suffixes //TRANSLIT and //IGNORE in arbitrary order. Reported by Lukas Gebauer . 2004-09-21 Juan Manuel Guerrero * djgpp/config.bat: Update. * djgpp/config.sed: Update. * djgpp/config.site: Update. * djgpp/edtest.bat: Update. * djgpp/fnchange.in: Update. * djgpp/Makefile.maint: Update. * djgpp/makefile.sed: Update. * djgpp/README.in: Update. * djgpp/sources.sed: Update. * djgpp/translit-check.sed: Update. 2004-08-25 Bruno Haible * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.6. * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5.6. 2004-07-31 Bruno Haible Update to JISX 0213 plane 1 to 2004 version (ISO-IR-233). * tools/Makefile (jisx0213.h): Bump version number. * tools/JISX0213.TXT: Change mappings U+2015 -> U+2014, U+2299 -> U+29BF, and add 10 new characters. * tools/cjk_tab_to_h.c (output_title): Bump year. (do_jisx0213): Update comments. Emit a conditional 'inline'. * lib/jisx0213.h: Regenerated. * lib/iso2022_jp3.h (iso2022_jp3_mbtowc): Accept escape sequence ESC $ ( Q as a synonym of ESC $ ( O. (iso2022_jp3_wctomb): Emit ESC $ ( Q instead of ESC $ ( O. * tests/EUC-JISX0213.TXT: Change mappings U+2015 -> U+2014, U+2299 -> U+29BF, and add 10 new characters. * tests/SHIFT_JISX0213.TXT: Likewise. * tests/ISO-2022-JP-3-snippet: Update. * tests/ISO-2022-JP-3-snippet.UTF-8: Update. 2004-07-22 Bruno Haible * lib/encodings.def (ISO-8859-7): Add alias ISO_8859-7:2003. * tools/Makefile (iso8859_7.h): Use conversion table from 2003. * lib/iso8859_7.h: Add mappings for 0xa4, 0xa5, 0xaa. * tests/ISO-8859-7.TXT: Update to ISO_8859-7:2003. 2004-07-22 Bruno Haible * tools/Makefile (ALL): Add iso8859_11.h. (iso8859_11.h): New rule. * lib/encodings.def: Add ISO-8859-11. * lib/iso8859_11.h: New file. * lib/converters.h: Include it. * tests/ISO-8859-11.TXT: New file. * tests/Makefile.in (check): Also test ISO-8859-11. * tests/Makefile.msvc (check): Likewise. * tests/Makefile.os2 (check): Likewise. 2004-07-17 Bruno Haible * src/iconv.c (main): Terminate option parsing when option -- is seen. Reported by Len Lattanzi . 2004-03-05 Bruno Haible * src/Makefile.in (install): Make DESTDIR work on HP-UX. Reported by Bob Proulx . 2004-02-19 Bruno Haible * lib/vietcomb.h (viet_comp_table_data): Un-uncomment 0x00D5, 0x00F5, 0x0168, 0x0169. Needed for TCVN-5712 but not for CP1258. (viet_comp_table0301_len): Increment by 4. * lib/cp1255.h (cp1255_mbtowc): Don't delay the handling of characters which are not entries in cp1255_comp_table_data. * lib/cp1258.h (cp1258_comp_bases): New array. (cp1258_mbtowc): Don't delay the handling of characters which are not relevant entries in viet_comp_table_data. * lib/tcvn.h (tcvn_comp_bases): New array. (tcvn_mbtowc): Don't delay the handling of characters which are not relevant entries in viet_comp_table_data. Reported by Alain Bench . 2004-02-02 Perry Rapp Bruno Haible * man/iconvctl.3: New file. * man/iconv.3: Refer to it in "See also". * man/iconv_open.3: Likewise. 2004-01-24 Bruno Haible * srclib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be used. 2004-01-20 Bruno Haible Upgrade from gettext-0.14. * configure.in: Call gl_USE_SYSTEM_EXTENSIONS. Call AM_STDBOOL_H instead of gt_STDBOOL_H. Provide a definition for DLL_VARIABLE. * srclib/Makefile.am (libicrt_a_SOURCES): Add allocsa.h, allocsa.c, xalloc.h. Remove xmalloc.h. (libicrt_a_LIBADD): Remove @ALLOCA@. * srclib/Makefile.msvc (OBJECTS): Add allocsa.obj. (allocsa.obj): New rule. * srclib/Makefile.vms (OBJECTS): Add allocsa.obj. (allocsa.obj): New rule. * Makefile.devel (config.h_vms): Set MALLOC_0_IS_NONNULL to 0. (config.h.msvc): Set MALLOC_0_IS_NONNULL to 1. lib/: 2003-10-09 Bruno Haible * lib/relocatable.c: Include xalloc.h instead of xmalloc.h. 2003-08-01 Bruno Haible * lib/relocatable.c (find_shared_library_fullname): Disable the code on Linux/libc5. Reported by Alain Guibert . 2003-06-22 Bruno Haible * lib/relocatable.c (compute_curr_prefix): Comment out this function in the case when it is not used. Reported by Pavel Roskin . m4/: * m4/gettext.m4: Upgrade from GNU gettext. Many changes. * m4/po.m4: Likewise. * m4/readlink.m4: New file, from GNU gettext. 2003-11-30 Bruno Haible * m4/allocsa.m4: New file. * m4/eealloc.m4: New file. * m4/setenv.m4 (gl_PREREQ_SETENV): Require gl_ALLOCSA instead of AC_FUNC_ALLOCA. 2003-10-21 Bruno Haible * m4/canonicalize.m4 (gl_PREREQ_CANONICALIZE): Also test for readlink(). 2003-08-24 Bruno Haible * m4/relocatable.m4 (AC_RELOCATABLE): Use $(host) instead of @host@, since the substitution of @host@ may occur before the substitution of @SET_RELOCATABLE@. 2003-08-23 Bruno Haible * stdbool.m4: Replace with the version from gnulib, without AC_HEADER_STDBOOL. 2003-08-08 Paul Eggert * m4/extensions.m4: New file. * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE. 2003-07-01 Bruno Haible * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include . should be sufficient. Reported by Paul Eggert. 2003-07-01 Bruno Haible * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Avoid "duplicated macro" error from aclocal-1.4-p4. Reported by Luke Schierer and Michael C. Toren . 2003-07-01 Paul Eggert * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since xreadlink.c now includes it unconditionally. 2003-06-17 Paul Eggert * m4/lib-ld.m4 (AC_LIB_PROG_LD_GNU, AC_LIB_PROG_LD): Don't use egrep, for portability to POSIX 1003.1-2001. Backported from libtool-1.5. 2003-05-28 Paul Eggert * m4/pathmax.m4 (gl_PATHMAX): Don't check for limits.h. * m4/xreadlink.m4 (gl_XREADLINK): Likewise. 2002-12-24 Bruno Haible * m4/setenv.m4 (gt_FUNC_SETENV): New macro. (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4 when invoked twice. (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old gt_FUNC_SETENV. srclib/: 2003-11-30 Bruno Haible * srclib/alloca.c: Remove file. 2003-11-30 Bruno Haible Safer stack allocation. * srclib/allocsa.h: New file. * srclib/allocsa.c: New file. * canonicalize.c: Include allocsa.h. (__realpath): Use allocsa instead of alloca. Don't clobber errno right before returning NULL. * srclib/relocwrapper.c: Indirectly depends on allocsa. * srclib/setenv.c: Include allocsa.h. (alloca): Remove fallback definition. (freea): Remove macro. (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa instead of freea. 2003-11-17 Bruno Haible * srclib/canonicalize.c: #undef realpath after but before the system includes, so as to avoid a prototype clash on Solaris 2.5.1. Reported by Warren L. Dodge . 2003-10-21 Bruno Haible * srclib/canonicalize.c (lstat): Define as an alias to 'stat' on systems without symbolic links. 2003-10-17 Bruno Haible * srclib/binary-io.h: Avoid warnings on Cygwin. 2003-10-09 Bruno Haible * srclib/xalloc.h: Renamed from xmalloc.h. * srclib/progreloc.c: Include xalloc.h instead of xmalloc.h. * srclib/relocatable.c: Likewise. * srclib/xmalloc.c: Likewise. * srclib/xreadlink.c: Likewise. * srclib/xstrdup.c: Likewise. 2003-09-12 Paul Eggert * srclib/progreloc.c (get_full_program_name): Define via prototype. 2003-09-12 Paul Eggert * srclib/setenv.c (clearenv): Define via prototype. 2003-09-10 Bruno Haible * srclib/setenv.c: Include and unconditionally. * srclib/unsetenv.c: Likewise. 2003-08-28 Bruno Haible * srclib/binary-io.h: Undefine O_BINARY before defining it. This avoids a warning on QNX, which defines O_BINARY to 000000. 2003-08-24 Bruno Haible * srclib/binary-io.h: Include , to avoid a compilation error when MSVC7 is included later. 2003-08-24 Bruno Haible * srclib/error.h: Use ANSI C "..." declarations when compiling with MSVC, even though it doesn't define __STDC__ by default. * srclib/error.c: Use when compiling with MSVC, even though it doesn't define __STDC__ by default. 2003-08-24 Bruno Haible Support for building DLLs on Windows. * srclib/error.h (error_print_progname, error_message_count, error_one_per_line): Add DLL_VARIABLE attribute. * srclib/progname.h (program_name): Likewise. 2003-08-24 Bruno Haible * srclib/progname.h: Make this file includable in C++ mode: add extern "C". * srclib/relocatable.h: Likewise. * srclib/xmalloc.h: Likewise. 2003-08-22 Bruno Haible * srclib/progname.h (error_with_progname, maybe_print_progname): Remove declarations. * srclib/progname.c (error_with_progname): Remove variable. (maybe_print_progname): Remove function. 2003-08-01 Bruno Haible * srclib/relocatable.c (find_shared_library_fullname): Disable the code on Linux/libc5. Reported by Alain Guibert . 2003-07-01 Paul Eggert * srclib/xreadlink.c: Include unconditionally, instead of having it depend on HAVE_SYS_TYPES_H. 2003-06-23 Bruno Haible Avoid compilation units that are empty after preprocessing. * srclib/canonicalize.c: Add dummy declaration. * srclib/strerror.c: Likewise. * srclib/error.c: Include even if there's nothing to be compiled. 2003-06-22 Bruno Haible * srclib/relocatable.c (compute_curr_prefix): Comment out this function in the case when it is not used. Reported by Pavel Roskin . 2003-05-28 Paul Eggert * srclib/pathmax.h: Include without checking for HAVE_LIMITS_H. * srclib/xreadlink.c: Likewise. 2004-01-20 Bruno Haible Assume automake-1.8. * Makefile.devel (AUTOCONF, AUTOHEADER): Assume autoconf-2.59. (AUTOMAKE): Assume automake-1.8. * Makefile.in (am--refresh): New target. 2004-01-23 Bruno Haible * Version 1.9.2 released. 2004-01-23 Bruno Haible * tests/table-from.c: Include binary-io.h. (main): Switch stdout to binary mode. * tests/table-to.c: Include binary-io.h. (main): Switch stdout to binary mode. * tests/genutf8.c: Include binary-io.h. (main): Switch stdout to binary mode. * tests/Makefile.in (INCLUDES): Also look in srclib. (check): Pass INCLUDES when compiling genutf8.c. * tests/Makefile.os2 (INCLUDES): Also look in srclib. (genutf8.exe): Pass INCLUDES when compiling genutf8.c. * tests/Makefile.msvc (INCLUDES): Also look in srclib. (check): Pass INCLUDES when compiling genutf8.c. 2004-01-21 Bruno Haible * src/iconv.c (force_binary): Remove variable. (usage): Don't document --binary any more. (convert, main): Always switch to binary mode. * tests/check-stateful.bat: Remove --binary option. * tests/check-translit.bat: Likewise. * tests/check-stateful.cmd: Likewise. * tests/check-translit.cmd: Likewise. * djgpp/stateful-check.sed: Remove MODE variable. * djgpp/translit-check.sed: Likewise. 2004-01-21 Bruno Haible * man/iconv.3: Fix description of return value in case of error. Reported by Jonathan Wakely . 2003-09-12 Paul Eggert * srclib/progreloc.c (get_full_program_name): Define via prototype. 2003-08-15 Bruno Haible * Makefile.devel (lib/translit.h): Add ulimit command so that the gentranslit program gets the stack it needs. Many Linux distributions allow only 8 MB of stack by default. 2003-08-01 Bruno Haible * lib/relocatable.c (find_shared_library_fullname): Disable the code on Linux/libc5. * srclib/relocatable.c (find_shared_library_fullname): Likewise. Reported by Alain Guibert . 2003-07-02 Bruno Haible * m4/lib-ld.m4: Update from GNU gettext. * m4/lib-prefix.m4: Update from GNU gettext. * m4/gettext.m4: Update from GNU gettext. * m4/intmax.m4: New file, from GNU gettext. * m4/longdouble.m4: New file, from GNU gettext. * m4/longlong.m4: New file, from GNU gettext. * m4/printf-posix.m4: New file, from GNU gettext. * m4/signed.m4: New file, from GNU gettext. * m4/wchar_t.m4: New file, from GNU gettext. * m4/wint_t.m4: New file, from GNU gettext. * m4/pathmax.m4: Update from GNU gettext and gnulib. * m4/ssize_t.m4: Update from GNU gettext and gnulib. * m4/xreadlink.m4: Update from GNU gettext and gnulib. * m4/readlink.m4: New file, from gnulib. * autoconf/install-reloc: Update from GNU gettext. * srclib/stdbool_.h: Renamed from srclib/stdbool.h.in. * srclib/readlink.c: New file, from GNU gettext and gnulib. * srclib/Makefile.am (LIBADD_SOURCE): Add readlink.c. (EXTRA_DIST, stdbool.h): Use stdbool_.h instead of stdbool.h.in. * configure.in: Invoke gl_FUNC_READLINK. 2003-06-22 Bruno Haible * src/Makefile.in (install): Link with the already installed library. This fixes a link error on Solaris. Reported by Paul Eggert. 2003-06-08 Bruno Haible * srclib/canonicalize.c (__getcwd) [VMS]: Pass 3 arguments to getcwd. 2003-05-02 Bruno Haible Support for libtool-1.5. * srclib/progname.c (set_program_name): Remove a leading "/.libs/lt-" or "/.libs/", not only "lt-". 2003-06-23 Bruno Haible Avoid compilation units that are empty after preprocessing. * srclib/canonicalize.c: Add dummy declaration. * srclib/strerror.c: Likewise. * srclib/error.c: Include even if there's nothing to be compiled. 2003-06-22 Bruno Haible Portability to mingw32. * m4/ssize_t.m4: New file, from GNU gettext. * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T. Reported by Jeff Bonggren . 2003-06-22 Bruno Haible Portability to mingw32. * lib/relocatable.c [WIN32]: Include . * srclib/relocatable.c: Likewise. Reported by Jeff Bonggren . 2003-06-22 Bruno Haible * lib/relocatable.c (compute_curr_prefix): Comment out this function in the case when it is not used. * srclib/relocatable.c (compute_curr_prefix): Likewise. Reported by Pavel Roskin . 2003-06-18 Bruno Haible * config/install-sh: Update from automake-1.7.5. 2003-06-16 Bruno Haible * lib/encodings.def (ISO-8859-15): Add alias LATIN-9. (ISO-8859-16): Add aliases ISO_8859-16:2001, LATIN10, L10. Remove alias ISO_8859-16:2000. (GBK): Add aliases MS936, WINDOWS-936. Reported by Guido Flohr . 2003-05-09 Bruno Haible * srclib/canonicalize.c: Add #ifdef around versioned_symbol. Avoids an "extraneous semicolon" warning from Tru64 cc. 2003-06-07 Bruno Haible * Makefile.devel (config.h_vms): Don't define HAVE_ENVIRON_DECL. * Makefile.vms (config.h): New rule. (all, install): Depend on it. (all, install, installdirs, uninstall, check): Fix typo. (mostlyclean, clean, distclean, maintainer-clean): Likewise. Remove config.h. * lib/Makefile.vms (DEFS): Fix value of INSTALLDIR. (OBJECTS): Use libiconv.obj instead of iconv.obj. (libiconv.obj): Renamed from iconv.obj. * srclib/Makefile.vms (INCLUDES): Add parent directory. (OBJECTS): Remove strtoul.obj, setenv.obj, unsetenv.obj. (strtoul.obj, setenv.obj, unsetenv.obj): Remove rules. (alloca.h): New rule. (canonicalize.obj): Depend on it. (clean): Remove alloca.h. * src/Makefile.vms (datadir, localedir): New variables. (DEFS): Also define LOCALEDIR. (iconv.obj): Add flags for relocatability, (iconv.exe): Link with libicrt. Use link_options. * vms/link_options.opt: New file. Reported by Jouk Jansen . 2003-06-07 Bruno Haible Support for relocatable data files even on Woe32. * lib/Makefile.msvc (PICFLAGS): Also define PIC. 2003-05-22 Bruno Haible * Version 1.9.1 released. 2003-05-22 Bruno Haible * lib/genaliases.c (main): Emit %pic instead of %null-strings. Change type of 'name' field to 'int'. * lib/genaliases2.c (emit_encoding): Add a 'tag' argument. Emit an invocation of macro S(), including the tag and a counter. (main): Use the command-line argument as tag. * Makefile.devel (lib/aliases_aix.h, lib/aliases_osf1.h, lib/aliases_dos.h, lib/aliases_extra.h): Pass a tag to the program. * lib/iconv.c (stringpool2_t): New type. (stringpool2_contents): New data table. (stringpool2): New macro. (sysdep_aliases): Make position-independent. Move #includes out to aliases2.h. (aliases2_lookup): Update. (nalias): New type. (compare_by_index): Use 'struct nalias' instead of 'struct alias'. (iconvlist): Convert 'struct alias' to 'struct nalias' while copying. * lib/aliases2.h: New file, extracted from lib/iconv.c. 2003-05-20 Bruno Haible * lib/iconv.c (iconvlist): Test p->name against NULL, not against "". Reported by Muraoka Taro . 2003-05-19 Bruno Haible * windows/iconv.rc: Include . Reported by Perry Rapp. 2003-05-18 Bruno Haible * Version 1.9 released. 2003-05-18 Bruno Haible * lib/Makefile.in (libiconv_plug_osf.so): Avoid using LIBTOOL_LINK. 2003-05-18 Bruno Haible * lib/Makefile.msvc (DEBUGFLAGS): New variable. (iconv.lib): Use it. * src/Makefile.msvc (DEBUGFLAGS): New variable. * tests/Makefile.msvc (DEBUGFLAGS): New variable. 2003-05-17 Bruno Haible * src/Makefile.msvc (libdir, datadir, localedir): New variables. (IIlibdir, IIdatadir, IIlocaledir): New variables. (CFLAGS): Define LOCALEDIR. (iconv_no_i18n.exe): New rule. (all): Depend on it. * tests/check-stateful.bat: Invoke iconv_no_i18n instead of iconv. * tests/check-translit.bat: Likewise. 2003-05-16 Bruno Haible * lib/genaliases.c (main): Emit declarations for gperf-3.0. * Makefile.devel (lib/aliases.h): Remove gperf command line options; add new option "-m 10" for gperf-3.0. 2003-05-12 Bruno Haible * m4/error.m4: Update from gettext. 2003-05-12 Bruno Haible * configure.in: Invoke AC_GNU_SOURCE and jm_FUNC_GLIBC_UNLOCKED_IO. 2003-05-12 Bruno Haible * lib/Makefile.msvc (PICFLAGS, CFLAGS): Move BUILDING_* macros from CFLAGS to PICFLAGS. 2003-05-09 Bruno Haible * srclib/error.c: Update from gnulib with modifications. * srclib/unlocked-io.h: New file, from gnulib. * m4/strerror_r.m4: New file, from gnulib. * m4/unlocked-io.m4: New file, from gnulib. * Makefile.devel (aclocal.m4): Depend on them. 2003-05-08 Bruno Haible * Makefile.msvc (IIPREFIX): New variable. * srclib/Makefile.msvc (INCLUDES): Add -I..\windows. * src/Makefile.msvc (IIPREFIX, IIprefix, IIexec_prefix, IIbindir, IIincludedir): New variables. (INCLUDES): Add -I..\windows. (iconv.exe): Define INSTALLPREFIX and INSTALLDIR. Link with ../srclib/icrt.lib. Patches by Perry Rapp. 2003-05-07 Bruno Haible * README.woe32: Fix instructions for step 1. * srclib/Makefile.msvc (OBJECTS): Remove strtoul.obj. (strtoul.obj): Remove rule. Reported by Perry Rapp. 2003-05-07 Bruno Haible * Makefile.vms: New file. * lib/Makefile.vms: New file. * srclib/Makefile.vms: New file. * src/Makefile.vms: New file. * man/Makefile.vms: New file. * tests/Makefile.vms: New file. * Makefile.devel (config.h_vms, lib/config.h_vms, include/iconv.h_vms): New rules. (all): Depend on them. 2003-05-07 Bruno Haible * srclib/Makefile.msvc (OBJECTS): Remove findprog.obj. (findprog.obj): Remove rule. * src/Makefile.msvc (includedir): New variable. 2003-05-06 Bruno Haible * lib/translit.def: Upgrade to Unicode 4.0. 2003-05-06 Bruno Haible * srclib/Makefile.am (DEFS): Fix spelling of DEPENDS_ON_LIBICONV. * srclib/Makefile.msvc (CFLAGS): Likewise. * srclib/Makefile.msvc (INCLUDES): Add -I.. . Reported by Perry Rapp. * Makefile.msvc (config.h): New rule. (all): Depend on it. (mostlyclean, clean, distclean, maintainer-clean): Erase config.h. Reported by Perry Rapp. 2003-05-06 Bruno Haible * autoconf/config.guess: Update to GNU version 2003-02-22. * autoconf/config.sub: Likewise. 2003-05-06 Bruno Haible * m4/lib-link.m4: Update from GNU gettext. * autoconf/config.rpath: Update from GNU gettext. * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5. * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5. * m4/gettext.m4: Update from GNU gettext. * m4/nls.m4: Update from GNU gettext. * m4/po.m4: Update from GNU gettext. * Makefile.devel (aclocal.m4): Depend on m4/nls.m4 and m4/po.m4. 2003-04-12 Bruno Haible Support for OpenVMS 7.3. * lib/iconv.c (USE_OSF1): Define also on VMS. 2003-04-12 Bruno Haible Better support for FreeBSD. * lib/encodings.def (ISO8859-{1,2,3,4,5,6,7,8,9,10,13,14,15,16): New aliases, for compatibility with earlier FreeBSD iconv implementation by Konstantin Chuguev. * lib/iconv.c (iconv_open, iconv, iconv_close) [FreeBSD]: Define as aliases. * src/Makefile.in (install) [FreeBSD]: Avoid installation problem. 2003-04-12 Bruno Haible * configure.in (mandir): Change default value. * Makefile.in (datadir): New variable. (install, installdirs, uninstall): Pass datadir to po and man directories. * Makefile.os2 (datadir): New variable. (mandir): Use it instead of prefix. (install, uninstall): Pass datadir to man directory. * Makefile.msvc (mandir, docdir): Use datadir instead of prefix. * man/Makefile.in (datadir): New variable. (docdir): Use it instead of prefix. (install, installdirs): Update. * man/Makefile.os2 (datadir): New variable. (mandir): Use it instead of prefix. * man/Makefile.msvc (datadir): New variable. (mandir, docdir): Use it instead of prefix. (install, installdirs): Update. 2003-04-06 Bruno Haible Make it possible to build with or without libintl support on Woe32. * Makefile.devel (config.h.msvc): Remove ENABLE_NLS. * Makefile.msvc (NO_NLS): New variable. * srclib/Makefile.msvc (NO_NLS): New variable. (CFLAGS, INCLUDES): Use them. * src/Makefile.msvc (NO_NLS): New variable. (NLSFLAGS, INCINTL, LIBINTL): New variables. (CFLAGS, INCLUDES, iconv.exe): Use them. 2003-04-12 Bruno Haible * lib/loop_unicode.h (unicode_transliterate): When the Hangul or variants transliteration failed with RET_ILUNI, don't return RET_TOOSMALL. Reported by the FreeBSD porters. 2003-04-06 Bruno Haible * srclib/binary-io.h: New file, from GNU gettext. * src/iconv.c: Include it. (O_BINARY, O_TEXT, SET_BINARY): Remove definitions. 2003-04-05 Bruno Haible Support for relocatable installation. * m4/alloca.m4: New file, from GNU gettext. * m4/canonicalize.m4: New file, from GNU gettext. * m4/error.m4: New file, from GNU gettext. * m4/onceonly.m4: New file, from GNU gettext. * m4/pathmax.m4: New file, from GNU gettext. * m4/relocatable.m4: New file, from GNU gettext. * m4/setenv.m4: New file, from GNU gettext. * m4/stdbool.m4: New file, from GNU gettext. * m4/strerror.m4: New file, from GNU gettext. * m4/xreadlink.m4: New file, from GNU gettext. * autoconf/config.libpath: New file, from GNU gettext. * autoconf/install-reloc: New file, from GNU gettext. * autoconf/reloc-ldflags: New file, from GNU gettext. * autoconf/missing: New file, from GNU automake 1.7.3. * lib/relocatable.h: New file, from GNU gettext. * lib/relocatable.c: New file, from GNU gettext. * srclib/alloca.c: New file, from GNU gettext. * srclib/alloca_.h: New file, from GNU gettext. * srclib/canonicalize.c: New file, from GNU gettext. * srclib/canonicalize.h: New file, from GNU gettext. * srclib/error.c: New file, from GNU gettext. * srclib/error.h: New file, from GNU gettext. * srclib/exit.h: New file, from GNU gettext. * srclib/gettext.h: New file, from GNU gettext. * srclib/memmove.c: New file, from GNU gettext. * srclib/pathmax.h: New file, from GNU gettext. * srclib/progname.c: New file, from GNU gettext. * srclib/progname.h: New file, from GNU gettext. * srclib/progreloc.c: New file, from GNU gettext. * srclib/relocatable.c: New file, from GNU gettext. * srclib/relocatable.h: New file, from GNU gettext. * srclib/relocwrapper.c: New file, from GNU gettext. * srclib/setenv.c: New file, from GNU gettext. * srclib/setenv.h: New file, from GNU gettext. * srclib/stdbool.h.in: New file, from GNU gettext. * srclib/strerror.c: New file, from GNU gettext. * srclib/unsetenv.c: New file, from GNU gettext. * srclib/xmalloc.c: New file, from GNU gettext. * srclib/xmalloc.h: New file, from GNU gettext. * srclib/xreadlink.c: New file, from GNU gettext. * srclib/xreadlink.h: New file, from GNU gettext. * srclib/xstrdup.c: New file, from GNU gettext. * srclib/Makefile.am: New file. * srclib/Makefile.msvc: New file. * windows/alloca.h: New file, from GNU gettext. * windows/stdbool.h: New file, from GNU gettext. * configure.in (AC_CONFIG_HEADERS): Replace src/config.h with config.h. Add AC_RELOCATABLE, AC_HEADER_STDC, AC_CHECK_HEADERS(stddef.h stdlib.h string.h), AC_CHECK_FUNCS(getc_unlocked), AC_REPLACE_FUNCS(memmove), AM_LANGINFO_CODESET, gl_FUNC_ALLOCA, gl_CANONICALIZE, gt_FUNC_ERROR_AT_LINE, gl_PATHMAX, gt_FUNC_SETENV, gt_STDBOOL_H, gl_FUNC_STRERROR, gl_XREADLINK, AC_OUTPUT(srclib/Makefile). * lib/config.h.in: Add HAVE_GETC_UNLOCKED, HAVE_LANGINFO_CODESET, HAVE_SETLOCALE, HAVE_STDDEF_H, HAVE_STDLIB_H, HAVE_STRING_H, for localcharset.c. Add ENABLE_RELOCATABLE, INSTALLPREFIX, for relocatable.c. * lib/Makefile.in (DEFS): New variable. (SOURCES): Add localcharset.c and relocatable.c. (OBJECTS): Add localcharset.lo and relocatable.lo. (LIBCHARSET_OBJECTS): Remove variable. (libiconv_plug_linux.so, libiconv_plug_solaris.so, libiconv_plug_osf.so): Use $(DEFS). Don't use $(LIBCHARSET_OBJECTS). (iconv.lo): Use $(DEFS). (localcharset.lo, relocatable.lo): New rules. * lib/Makefile.msvc (CFLAGS): Define HAVE_CONFIG_H, BUILDING_DLL, ENABLE_RELOCATABLE, IN_LIBRARY, INSTALLDIR, NO_XMALLOC, set_relocation_prefix, relocate. Remove $(PICFLAGS). (INCLUDES): Simplify. (SOURCES): Remove variable. (OBJECTS): Add localcharset.obj and relocatable.obj. (LIBCHARSET_OBJECTS): Remove variable. (iconv.obj): Add $(PICFLAGS). (localcharset.obj, relocatable.obj): New rules. (iconv.lib): Drop $(LIBCHARSET_OBJECTS). * include/iconv.h.in (libiconv_set_relocation_prefix): New declaration. * src/gettext.h: Remove file. * src/iconv.c: Include progname.h and relocatable.h. (ICONV_CONST): Define to const if the system has no iconv. (main): Invoke set_program_name. Relocate LOCALEDIR. * src/Makefile.in (top_srcdir): New variable. (INCLUDES): Add .. and ../srclib. (iconv_no_i18n, iconv): Link with ../srclib/libicrt.a. (iconv_no_i18n.@OBJEXT@, iconv.@OBJEXT@): Define INSTALLDIR. (RELOCATABLE_LIBRARY_PATH, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR, RELOCATABLE_CONFIG_H_DIR, @SET_RELOCATABLE@, iconv_LDFLAGS): New variables. (iconv): Use $(iconv_LDFLAGS). (install): Use $(INSTALL_PROGRAM_ENV). (distclean): Drop removing config.h. * src/Makefile.msvc (INCLUDES): Add .., simplify. * tests/Makefile.msvc (INCLUDES): Simplify. * Makefile.devel (AUTOHEADER, AUTOMAKE): New variables. (config.h.in, srclib/Makefile.in, config.h.msvc): New rules. (all): Depend on them. (aclocal.m4) Depend also on m4/alloca.m4, m4/canonicalize.m4, m4/error.m4, m4/onceonly.m4, m4/pathmax.m4, m4/relocatable.m4, m4/setenv.m4, m4/stdbool.m4, m4/strerror.m4, m4/xreadlink.m4. (lib/config.h.msvc): Additional processing. * Makefile.in (all, install, installdirs, uninstall, check): Recurse into srclib. (mostlyclean, clean, distclean, maintainerclean): Likewise. Remove lib/localcharset.h. (distclean, maintainerclean): Remove also config.h and some stamps. * Makefile.msvc (all, install, installdirs, uninstall, check, mostlyclean, clean, distclean, maintainerclean): Recurse into srclib. * INSTALL.generic: Document --enable-relocatable and --with-libintl-prefix. Remove the recommendation to set CPPFLAGS and LDFLAGS. The lib-link.m4 macros make this unnecessary. 2003-04-05 Bruno Haible * configure.in: Bump version number to 1.9. * include/iconv.h.in (_LIBICONV_VERSION): Bump. * windows/iconv.rc: Bump version number. * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 4:0:2. 2003-04-05 Bruno Haible * Makefile.msvc (PREFIX): New variable. (prefix): Use it. (distclean, maintainer-clean): Drop Unix specific removals. * lib/Makefile.msvc (PREFIX, IIPREFIX): New variables. (prefix): Use it. (IIprefix, IIexec_prefix, IIbindir, IIlibdir): New variables. (clean): Drop Unix specific removal. * src/Makefile.msvc (PREFIX): New variable. (prefix): Use it. (clean): Drop Unix specific removal. (distclean): Likewise. * tests/Makefile.msvc (clean): Drop Unix specific removal. (distclean): Likewise. 2003-04-05 Bruno Haible * m4/endian.m4 (CL_WORDS_LITTLEENDIAN): Use 3-argument AC_DEFINE. 2003-04-05 Bruno Haible * m4/general.m4 (CL_CONFIG_SUBDIRS, CL_CANONICAL_HOST, CL_CANONICAL_HOST_CPU, CL_CANONICAL_HOST_CPU_FOR_FFCALL): Remove macros. * m4/gettext.m4: Update from GNU gettext. * m4/iconv.m4: Update from GNU gettext. * m4/lcmessage.m4: Update from GNU gettext. * m4/progtest.m4: Update from GNU gettext. * m4/libtool.m4: Update from GNU gettext. 2003-02-16 Bruno Haible Workaround autoconf >= 2.52 breakage. * libtool.m4 (AC_LIBTOOL_ARG_WITH): New macro. (_LT_AC_LTCONFIG_HACK, AC_PROG_LD): Use it. * autoconf/ltmain.sh: Update from GNU gettext. 2003-02-18 Bruno Haible Fix the 2002-09-16 fix. * ltmain.sh (install): If "ln -s -f" fails (this is the case with /usr/bin/ln on Solaris 2.7), fall back to "rm && ln -s". 2003-04-05 Bruno Haible Start using automake. * configure.in: Add AM_INIT_AUTOMAKE invocation. (PACKAGE, VERSION): Remove. Use AC_CANONICAL_HOST instead of CL_CANONICAL_HOST. Use AC_PROG_LN_S instead of CL_PROG_LN_S. Use AC_PROG_RANLIB instead of CL_PROG_RANLIB. Reorder so that AC_CANONICAL_HOST comes early but still after AC_PROG_CC. * m4/ranlib.m4: Remove file. * m4/libtool.m4: Undo AC_ -> CL_ substitutions. * Makefile.devel (CLISP_DIR): Comment out. (AUTOCONF_FILES): Change to aclocal.m4. (aclocal.m4): Renamed from autoconf/aclocal.m4. Update dependencies. (configure.in): Drop --include option. 2003-03-17 Bruno Haible Improved MSVC support. * Makefile.msvc (prefix): Use less Unixy value. (local_prefix): Remove variable. (libdir, includedir, mandir): Use backslashes. (bindir, datadir, localedir, docdir): New variables. (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): New variables. (all): Recurse into po/ and man/. (install, installdirs, uninstall): Rewritten. (check, mostlyclean, clean, distclean, maintainer-clean): Recurse into po/ and man/. * lib/Makefile.msvc (prefix): Use less Unixy value. (local_prefix): Remove variable. (libdir): Use backslashes. (bindir): New variable. (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Set to real values. (RESOURCES): Enable iconv.res. (install, installdirs, uninstall): New rules. (clean): Remove config.h. (distclean): Don't remove config.h here. * src/Makefile.msvc (prefix, exec_prefix, bindir): New variables. (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): New variables. (install, installdirs, uninstall): New rules. * man/Makefile.msvc: New file. * tests/Makefile.msvc (install, installdirs, uninstall): New rules. * Makefile.devel (all): Depend on po/Makefile.msvc. (po/Makefile.msvc): New rule. * windows/iconv.rc: Update. * README.woe32: Mention automatic installation command. Rename libcharset.h to localcharset.h. * lib/iconv.c: Include localcharset.h, not libcharset.h. * Makefile.in (lib/localcharset.h): Renamed from lib/libcharset.h. (all, install): Update dependencies. (all): Create lib/localcharset.h, not lib/libcharset.h. (mostlyclean, clean, distclean, maintainer-clean): Remove lib/localcharset.h, not lib/libcharset.h. * djgpp/README.in, djgpp/README: Update. * djgpp/config.bat: Update. * djgpp/config.sed: Update. * djgpp/fnchange.in, djgpp/fnchange.lst: Update. 2003-01-31 Bruno Haible * src/Makefile.in (all): Don't do the chmod if it has already been done. 2003-01-31 Bruno Haible * lib/loop_unicode.h (unicode_transliterate): Enable recursive transliteration. Idea from Perry Rapp. * lib/gentranslit.c (main): Change bound from 0x10000 to 0x110000. Change element type of translit_data to 'unsigned int'. * lib/translit.def: Many new transliterations, mostly taken from glibc. * lib/translit.h: Regenerated. * tests/Translit1.ISO-8859-1, tests/Translit1.ASCII: New files. * tests/Makefile.in (check): Add Translit1 check. * tests/Makefile.msvc (check): Likewise. * tests/Makefile.os2 (check): Likewise. * tests/TranslitFail1.ISO-8859-1: Choose a sentence which the new improved transliteration cannot do. 2003-02-14 Bruno Haible * Makefile.devel (AUTOCONF): Switch to autoconf-2.57. (configure): Update rule. 2003-01-03 Albert Chin * autoconf/ltmain.sh: Don't pass -R flags found in a .la's dependency_libs variable directly down to the linker. Reported by Tim Mooney . 2003-01-01 Bruno Haible * src/Makefile.in (install): Use libiconv.la in ../lib, not in $(libdir), so that installing with DESTDIR works. Reported by Michael Adams . 2003-01-01 Bruno Haible * Makefile.in (mkinstalldirs): New variable. (install-lib, install, installdirs): Use it instead of mkdir. * lib/Makefile.in (mkinstalldirs): New variable. (install-lib, install, installdirs): Use it instead of mkdir. * man/Makefile.in (mkinstalldirs): New variable. (install, installdirs): Use it instead of mkdir. * src/Makefile.in (mkinstalldirs): New variable. (install, installdirs): Use it instead of mkdir. 2002-09-27 Bruno Haible * autoconf/mkinstalldirs: Upgrade to automake-1.7.2 version. 2002-11-07 Bruno Haible * m4/libtool.m4: Upgrade to libtool-1.4.3. * autoconf/ltmain.sh: Upgrade to libtool-1.4.3. 2002-07-14 Bruno Haible * m4/libtool.m4 (_LT_AC_LTCONFIG_HACK): Add support for GNU/FreeBSD. 2002-06-12 Bruno Haible * configure.in: Use new AC_* names of libtool macros. Invoke AC_LIBTOOL_WIN32_DLL. 2002-12-19 Bruno Haible * lib/Makefile.in (libiconv_plug_solaris.so): Change rule if using gcc. Reported by Henry Nelson . 2002-11-07 Bruno Haible Make "make install" without prior "make" work. * Makefile.in (lib/libcharset.h): New rule. (all, install): Depend on it. Reported by Martin Mokrejš . 2002-10-28 Bruno Haible * man/Makefile.in (install): Change directory back to the working directory, so that install-sh (which may be a relative pathname) is found in the right place. 2002-09-16 Bruno Haible * autoconf/ltmain.sh (install): Use "ln -s -f" instead of "rm -f && ln -s" to make a symlink for a shared library. Reported by Nelson H. F. Beebe . 2002-09-02 Bruno Haible * src/iconv.c (main): Don't call bindtextdomain if !ENABLE_NLS. 2002-08-16 Bruno Haible * src/iconv.c (main): Perform fflush before testing ferror(stdout). 2002-05-29 Bruno Haible * Version 1.8 released. 2002-05-26 Bruno Haible * lib/c99.h: New file. * lib/converters.h: Include it. * lib/encodings.def (C99): New encoding. * README, man/iconv_open.3: Document C99 encoding. 2002-05-26 Bruno Haible * lib/java.h (java_mbtowc): Accept 12-byte sequences for non-BMP characters. (java_wctomb): Produce 12-byte sequences for non-BMP characters. 2002-05-29 Bruno Haible Fix installation of iconv program when linked with a libintl that was built against an earlier libiconv. * src/iconv.c: Conditionally disable NLS. * src/iconv_no_i18n.c: New file. * src/Makefile.in (libdir): New variable. (all): Depend on iconv_no_i18n, iconv.@OBJEXT@ but not iconv. Make directory writable, so iconv executable can be created during "make install". (iconv): Remove rule. (iconv_no_i18n, iconv_no_i18n.@OBJEXT@): New rules. (install): Link iconv now, after the new libiconv.so is installed. (clean): Also remove iconv_no_i18n. * tests/Makefile.in: (check, check-extra-yes): Depend on iconv_no_i18n, not iconv. * tests/check-stateful: Use iconv_no_i18n, not iconv. * tests/check-translit: LIkewise. * tests/check-translitfailure: Likewise. 2002-05-29 Bruno Haible * configure.in: Call AC_PROG_INSTALL instead of CL_PROG_INSTALL. * m4/install.m4: Remove file. * Makefile.devel (autoconf/aclocal.m4): Don't depend on m4/install.m4. 2002-05-24 Bruno Haible * lib/jisx0213.h: Use 'inline' only conditionally. 2002-05-18 Bruno Haible * configure.in (AC_INIT), include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc, djgpp/README, djgpp/fnchange.lst: Bump version number. * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 3:0:1. 2002-02-06 Bruno Haible * autoconf/ltmain.sh: Upgrade from libtool-1.4 to libtool-1.4.2. 2002-02-02 Bruno Haible * autoconf/ltmain.sh: Add DESTDIR support on ELF systems. 2001-11-03 Bruno Haible * autoconf/ltmain.sh: chmod 777 the .libs directory, so that "make install" succeeds. 2002-05-18 Bruno Haible * src/Makefile.in (iconv): Remove the -liconv dependency of -lintl from the command line. Needed to ensure that the new libiconv version is used on FreeBSD. 2002-05-14 Bruno Haible Implement and document CP853, TDS565, RISCOS-LATIN1. * tools/Makefile (ALL): Add cp853.h, tds565.h, riscos1.h. (cp853.h, tds565.h, riscos1.h): New rules. * lib/cp853.h: New file. * lib/tds565.h: New file. * lib/riscos1.h: New file. * lib/converters.h: Include them. * lib/encodings_dos.def (CP853): New encoding. * lib/encodings_extra.def (TDS565, RISCOS-LATIN1): New encodings. * README, man/iconv_open.3: Add CP853, TDS565, RISCOS-LATIN1. * tests/Makefile.in (check-extra-yes): Check CP853, TDS565, RISCOS-LATIN1. * tests/Makefile.msvc (check): Check CP853. * tests/CP853.TXT: New file. * tests/TDS565.TXT: New file. * tests/RISCOS-LATIN1.TXT: New file. * lib/cp860.h (cp860_wctomb): Optimize. 2002-05-12 Bruno Haible * tools/Makefile (ksc5601.h): Add two extra characters. * lib/ksc5601.h: Regenerated. * tests/EUC-KR.TXT: Add EURO SIGN and REGISTERED SIGN. * tests/CP949.TXT: Likewise. * tests/JOHAB.TXT: Likewise. 2002-05-12 Bruno Haible * README: Mention extra encodings. * man/iconv_open.3: Likewise. Improve formatting in text and html output formats. 2002-05-12 Bruno Haible * tests/SHIFT_JIS.TXT: Renamed from tests/SHIFT-JIS.TXT. 2002-05-12 Bruno Haible * Makefile.devel (AUTOCONF): New variable. (AUTOCONF_FILES): Remove autoconf/autoconf.m4f. (configure): Use the AUTOCONF variable. * autoconf/autoconf: Remove file. * autoconf/autoconf.m4: Remove file. * autoconf/autoconf.m4f: Remove file. 2002-05-12 Bruno Haible * tools/JISX0213.TXT: New file. * tools/cjk_tab_to_h.c (do_jisx0213): New function. (main): Accept "jisx0213". * tools/Makefile (all): Add jisx0213.h. (jisx0213.h): New rule. * lib/jisx0213.h: New file, generated by cjk_tab_to_h. * lib/euc_jisx0213.h: New file. * lib/shift_jisx0213.h: New file. * lib/iso2022_jp3.h: New file. * lib/converters.h: Include them. * lib/encodings_extra.def (EUC-JISX0213, SHIFT_JISX0213, ISO-2022-JP-3): New encodings. * tests/EUC-JISX0213.TXT: New file. * tests/SHIFT_JISX0213.TXT: New file. * tests/ISO-2022-JP-3-snippet: New file. * tests/ISO-2022-JP-3-snippet.UTF-8: New file. * tests/Makefile.in (check-extra): Also check EUC-JISX0213, SHIFT_JISX0213, ISO-2022-JP-3. * tests/check-stateless: Add support for encodings which contain precomposed Unicode characters, by eliminating precomposed characters before the comparison. * tests/table-from.c (main): Fix usage message. * tests/table-to.c (main): Make it work for encodings for which the "to" direction is stateful. 2002-05-09 Bruno Haible New configure option --enable-extra-encodings. * lib/encodings_extra.def: New file. * lib/converters.h: Handle USE_EXTRA. * lib/genaliases2.c (main): Handle USE_EXTRA. * lib/genflags.c: Define USE_EXTRA. (main): Include encodings_extra.def. * lib/iconv.c: Handle ENABLE_EXTRA, conditionally set USE_EXTRA. Handle USE_EXTRA. * lib/config.h.in (ENABLE_EXTRA): New macro. * configure.in: Accept option --enable-extra-encodings. * Makefile.devel (all): Depend on lib/aliases_extra.h. (lib/aliases_extra.h): New rule. (lib/flags.h): Depend on lib/encodings_extra.def. * tests/Makefile.in (check-extra, check-extra-no, check-extra-yes): New rules. (check): Invoke check-extra. * tests/Makefile.msvc (check): Also check the DOS encodings. Support for testing the AIX encodings. * tests/CP856.TXT: New file. * tests/CP922.TXT: New file. * tests/CP1046.TXT: New file. * tests/CP1124.TXT: New file. * tests/CP1129.TXT: New file. * tests/CP1161.TXT, tests/CP1161.IRREVERSIBLE.TXT: New files. * tests/CP1162.TXT: New file. * tests/CP1163.TXT, tests/CP1163.IRREVERSIBLE.TXT: New files. Support for testing the OSF/1 encodings. * tests/DEC-KANJI.TXT: New file. * tests/DEC-HANYU.TXT, tests/DEC-HANYU.IRREVERSIBLE.TXT: New files. Support for testing the DOS encodings. * tests/CP437.TXT: New file. * tests/CP737.TXT: New file. * tests/CP775.TXT: New file. * tests/CP852.TXT: New file. * tests/CP855.TXT: New file. * tests/CP857.TXT: New file. * tests/CP858.TXT: New file. * tests/CP860.TXT: New file. * tests/CP861.TXT: New file. * tests/CP863.TXT: New file. * tests/CP864.TXT: New file. * tests/CP865.TXT: New file. * tests/CP869.TXT: New file. * tests/CP1125.TXT: New file. 2002-05-09 Bruno Haible Implement more ASCII compatible DOS encodings. * tools/Makefile (ALL): Add cp737.h, cp858.h, cp860.h, cp863.h. (cp737.h, cp858.h, cp860.h, cp863.h): New rules. * lib/cp737.h: New file. * lib/cp858.h: New file. * lib/cp860.h: New file. * lib/cp863.h: New file. * lib/converters.h: Include them. * lib/encodings_dos.def (CP737, CP858, CP860, CP863): New encodings. 2002-05-09 Bruno Haible Implement new ASCII compatible encodings from IBM. * tools/Makefile (ALL): Add cp1161.h, cp1162.h, cp1163.h. (cp1161.h, cp1162.h, cp1163.h): New rules. * lib/cp1161.h: New file. * lib/cp1162.h: New file. * lib/cp1163.h: New file. * lib/converters.h: Include them. * lib/encodings_aix.def (CP1161, CP1162, CP1163): New encodings. 2002-05-09 Bruno Haible Implement and document KOI8-T. * tools/Makefile (ALL): Add koi8_t.h. (koi8_t.h): New rule. * lib/koi8_t.h: New file. * lib/converters.h: Include it. * lib/encodings.def (KOI8-T): New encoding. * README, man/iconv_open.3: Add KOI8-T. * tests/Makefile.in (tests): Check KOI8-T. * tests/Makefile.os2 (tests): Likewise. * tests/Makefile.msvc (tests): Likewise. * tests/KOI8-T.TXT: New file. 2002-05-09 Bruno Haible * tools/8bit_tab_to_h.c (main): Update copyright year. * tools/cjk_variants.c (main): Likewise. 2002-05-08 Bruno Haible * README.woe32: Renamed from README.win32. 2002-05-08 Bruno Haible * lib/iconv.c: Enable DOS encodings also when compiling for Woe32, because the Woe32 consoles use them. 2002-05-04 Bruno Haible * lib/loop_unicode.h (unicode_loop_convert): When quitting the loop without writing an output character, restore cd->istate to its value before the xxx_mbtowc call. Otherwise we lose some characters during CP1255/CP1258/TCVN to Unicode conversion. (unicode_loop_reset): Likewise for the xxx_flushwc call. * tests/CP1255-snippet, tests/CP1255-snippet.UTF-8: Make the test files large enough to test against the bug. * tests/CP1258-snippet, tests/CP1258-snippet.UTF-8: Likewise. * tests/TCVN-snippet, tests/TCVN-snippet.UTF-8: Likewise. 2002-04-28 Bruno Haible * tools/Makefile (armscii_8.h): Use table from glibc-2.2.90. * tests/ARMSCII-8.TXT: Update to glibc-2.2.90 version. * tests/ARMSCII-8.IRREVERSIBLE.TXT: Remove 0x0027. * lib/armscii_8.h: Regenerated. 2002-04-28 Bruno Haible * src/iconv.c: Include gettext.h. (_): New macro. (usage, print_version, convert, main): Internationalize. (main): Call setlocale, bindtextdomain, textdomain. * src/gettext.h: New file, from GNU gettext 0.11.2. * src/config.h.in: New file, needed for ENABLE_NLS. * src/Makefile.in (datadir, localedir): New variables. (iconv): Link with @LTLIBINTL@. (iconv.@OBJEXT@): Define LOCALEDIR. (distclean): Remove config.h. * po: New directory. * Makefile.in (all, install, installdirs, uninstall, check, mostlyclean, clean, distclean, maintainer-clean): Recurse into the po directory. * autoconf/mkinstalldirs: New file, from automake-1.5. * ABOUT-NLS: New file, from GNU gettext 0.11.2. * m4/codeset.m4: New file, from GNU gettext 0.11.2. * m4/gettext.m4: New file, from GNU gettext 0.11.2. * m4/glibc21.m4: New file, from GNU gettext 0.11.2. * m4/isc-posix.m4: New file, from GNU gettext 0.11.2. * m4/lcmessage.m4: New file, from GNU gettext 0.11.2. * m4/progtest.m4: New file, from GNU gettext 0.11.2. * configure.in: Require autoconf-2.52, needed for multiple config.h.in files. Use new form of AC_INIT. Invoke AM_GNU_GETTEXT. (PACKAGE, VERSION): Define, needed for po/Makefile.in.in. * lib/config.h.in (HAVE_LOCALE_H, HAVE_SETLOCALE): Remove. 2002-04-28 gettextize * configure.in (AC_OUTPUT): Add po/Makefile.in. 2002-04-28 Bruno Haible * m4/eilseq.m4: Renamed from autoconf/eilseq.m4. * m4/mbstate_t.m4: Renamed from autoconf/mbstate_t.m4. * m4/general.m4: New file, from GNU clisp. * m4/proto.m4: New file, from GNU clisp. * m4/ranlib.m4: New file, from GNU clisp. * m4/install.m4: New file, from GNU clisp. * m4/cp.m4: New file, from GNU clisp. * m4/ln.m4: New file, from GNU clisp. * m4/endian.m4: New file, from GNU clisp. * m4/iconv.m4: New file, from GNU gettext 0.11.2. * m4/lib-ld.m4: New file, from GNU gettext 0.11.2. * m4/lib-link.m4: New file, from GNU gettext 0.11.2. * m4/lib-prefix.m4: New file, from GNU gettext 0.11.2. * autoconf/config.rpath: New file, from GNU gettext 0.11.2. * m4/libtool.m4: New file, based on libtool-1.4.2. * Makefile.devel (ACLOCAL): Remove variable. (ACSELECT): Remove variable. (OTHERMACROS): Remove variable. (m4/*.m4): New rules. (autoconf/aclocal.m4): Construct using aclocal instead of acselect. * configure.in: Invoke AM_ICONV instead of CL_ICONV. 2002-04-06 Bruno Haible Upgrade to Unicode 3.2. * tools/cjk_tab_to_h.c (output_title): Bump copyright year. (compact_large_charset2uni): Add an argument. Determine optimal shift. Copy modified enc->charset2uni table. (output_charset2uni): Deal with shift other than 8. Copy encoding, so as to not disturb subsequent output_uni2charset[_sparse] call. * lib/hkscs.h: Regenerated. * tests/BIG5-HKSCS.TXT: Update. * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Update. 2002-04-06 Bruno Haible Upgrade to Unicode 3.2. * tools/Makefile (cns11643_1.h, cns11643_2.h, cns11643_3.h, cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h, cns11643_7.h, cns11643_15.h, cns11643_inv.h): Use CNS11643-Unicode32.TXT instead of CNS11643-Unicode31.TXT. * lib/cns11643_3.h: Regenerated. * lib/cns11643_4a.h: Regenerated. * lib/cns11643_4b.h: Regenerated. * lib/cns11643_5.h: Regenerated. * lib/cns11643_6.h: Regenerated. * lib/cns11643_7.h: Regenerated. * lib/cns11643_15.h: Regenerated. * lib/cns11643_inv.h: Regenerated. * tests/EUC-TW.TXT: Update. 2002-01-17 Bruno Haible * lib/tcvn.h (tcvn_2uni_1): Make it smaller. (tcvn_mbtowc): Small optimization. 2002-01-13 Bruno Haible New options -l, -c, -s. * src/iconv.c (discard_unconvertible, silent): New variables. (usage): Document options -l, -c, -s. (print_one): New function. (convert): If silent is true, don't print error messages about the conversion to stderr. If discard_unconvertible is true, set the iconv descriptor to DISCARD_ILSEQ the first time, but make sure to return the same return code as when discard_unconvertible is false. (main): Accept options -l, -c, -s. Implement option -l. * man/iconv.1: Document options -l, -c, -s. 2002-01-13 Bruno Haible Support for "iconv -c". * include/iconv.h.in (ICONV_GET_DISCARD_ILSEQ): New macro. (ICONV_SET_DISCARD_ILSEQ): Likewise. * lib/converters.h (struct conv_struct): New field discard_ilseq. * lib/iconv.c (iconv_open): Set discard_ilseq to true if tocode has an "//IGNORE" suffix, and to false otherwise. (iconvctl): Implement ICONV_GET_DISCARD_ILSEQ, ICONV_SET_DISCARD_ILSEQ. * lib/loop_unicode.h (unicode_loop_convert): If discard_ilseq is true, skip one input character instead of returning EILSEQ. (unicode_loop_reset): Likewise. * lib/loop_wchar.h (wchar_from_loop_convert): Likewise. (wchar_to_loop_convert): Likewise. 2002-01-13 Bruno Haible Support for "iconv -l". * include/iconv.h.in (iconvlist): New declaration. * Makefile.devel (lib/aliases.h): Change gperf options. * lib/iconv.c (compare_by_index, compare_by_name, iconvlist): New functions. 2002-01-06 Bruno Haible * lib/loop_unicode.h (unicode_transliterate): If the transliteration fails due to limited output encoding, return RET_ILUNI, not RET_TOOSMALL. Reported by Nelson H. F. Beebe . * tests/check-translitfailure: New file. * tests/TranslitFail1.ISO-8859-1: New file. * tests/Makefile.in (check): Call check-translitfailure. 2001-12-15 Bruno Haible * lib/euc_jp.h (euc_jp_wctomb): Add irreversible mappings for Shift_JIS characters 0x5C and 0x7E. * tests/EUC-JP.IRREVERSIBLE.TXT: New file. 2001-12-05 Bruno Haible * lib/iconv.c (iconv_open): Recognize the empty encoding name. Avoid endless loop if locale_charset() returns the empty string. * README, man/iconv_open.3: Add the empty encoding name. 2001-11-10 Bruno Haible * lib/Makefile.in (libiconv_plug_linux.so): Allow building it with a non-gcc compiler. 2001-10-23 Bruno Haible * tools/Makefile (cp1125.h): New target. (ALL): Add it. * lib/cp1125.h: New file. * lib/converters.h: Include it. * lib/encodings_dos.def (CP1125): New encoding. 2001-09-08 Bruno Haible * autoconf/eilseq.m4: New file. * Makefile.devel (OTHERMACROS): Add it. * configure.in: Call AC_EILSEQ. * include/iconv.h.in (EILSEQ): Define to the autoconf determined value. 2001-08-25 Bruno Haible Upgrade to autoconf-2.52. * autoconf/autoconf: Upgrade to autoconf-2.52. * autoconf/acgeneral.m4: Remove file. * autoconf/acspecific.m4: Remove file. * autoconf/autoconf.m4f: New file, from autoconf-2.52. * autoconf/aclocal.m4: Require autoconf-2.52. (CL_CANONICAL_HOST): Call AC_CANONICAL_HOST. Don't cache the result, AC_CANONICAL_HOST does it itself. Add $SHELL in front of $ac_config_guess and $ac_config_sub. * Makefile.devel (AUTOCONF_FILES): Remove acgeneral.m4, acspecific.m4. Add autoconf.m4f. (configure): Use autoconf options -A, -l instead of -m. * configure.in: Use AC_CONFIG_SUBDIRS, not AC_OUTPUT_SUBDIRS. 2001-08-05 Bruno Haible * autoconf/acgeneral.m4 (AC_MSG_RESULTPROTO): Remove macro. (AC_LANG_EXTERN): Move to aclocal.m4. * autoconf/aclocal.m4 (AC_LANG_EXTERN): Moved here from acgeneral.m4. (CL_PROTO): Use AC_MSG_RESULT directly, instead of AC_MSG_RESULTPROTO. (CL_SILENT): No need to pushdef AC_MSG_RESULTPROTO. 2001-08-05 Bruno Haible Make it possible to build libiconv with CC=gcc CFLAGS="-x c++". * lib/loop_wchar.h (wchar_to_loop_convert): Rename local variable 'try' to 'incount'. * lib/Makefile.in (libiconv_plug_linux.so): Add "-x none" option between sources and libs. (libiconv_plug_solaris.so) [GCC]: Likewise. (libiconv_plug_osf.so) [GCC]: Likewise. * src/Makefile.in (iconv.@OBJEXT@): New rule. (iconv): Depend on it. (clean): Erase *.@OBJEXT@, not *.o. * tests/Makefile.in (table-from.@OBJEXT@): New rule. (table-from): Depend on it. (table-to.@OBJEXT@): New rule. (table-to): Depend on it. (clean): Erase *.@OBJEXT@, not *.o. 2001-07-28 Bruno Haible * tools/Makefile (iso8859_16.h): Generate from the unicode.org table. * lib/iso8859_16.h: Regenerated. * tests/ISO-8859-16.TXT: Swap the values of 0xA5 and 0xAB. 2001-07-17 Bruno Haible * configure.in (VERSION): Define. Needed by djgpp/Makefile.maint. 2001-07-03 Bruno Haible * configure.in: Also check for mbsinit. * lib/loop_wchar.h (mbsinit): Define to 1 if not defined. Needed for SCO 3.2v5.0.2. 2001-06-27 Bruno Haible * Version 1.7 released. 2001-06-27 Bruno Haible * INSTALL.generic (Particular Systems): Generalize section about /usr/local to "most systems". * lib/Makefile.in (all): Build @PLUGLIB@ before libiconv.la, because Solaris cc destroys iconv.o and iconv.lo while building libiconv_plug_solaris.so. (clean): Remove so_locations, left there by the OSF/1 linker. * lib/cp1255.h (cp1255_decomp): Use 'signed int' instead of 'int'. * lib/vietcomb.h (viet_decomp): Use 'unsigned int' instead of 'unsigned short'. * tests/table-from.c: Include string.h. * tests/table-to.c: Likewise. 2001-06-26 Bruno Haible * tools/Makefile (jisx0208.h): Replace U+005C with U+FF3C. (jisx0212.h): Replace U+007E with U+FF5E. * lib/jisx0208.h: Regenerated. * lib/jisx0212.h: Regenerated. * tests/EUC-JP.TXT: Map 0xA1C0 to U+FF3C. Map 0x8FA2B7 to U+FF5E. * tests/EUC-JP.IRREVERSIBLE.TXT: Remove file. * tests/SHIFT-JIS.TXT: Map 0x815F to U+FF3C. * tests/CP932.TXT: Likewise. * tests/CP932.IRREVERSIBLE.TXT: 0x815F mapping is now reversible. 2001-06-25 Bruno Haible * src/Makefile.in (iconv): Mention $(INCLUDES) before $(CFLAGS) and $(CPPFLAGS). * src/Makefile.msvc (iconv.exe): Likewise. * src/Makefile.os2 (iconv.exe): Likewise. * lib/Makefile.in (libiconv_plug_linux.so): Likewise. (libiconv_plug_solaris.so): Likewise. (libiconv_plug_osf.so): Likewise. (iconv.lo): Likewise. * lib/Makefile.msvc (iconv.obj): Likewise. * lib/Makefile.os2 (iconv.obj): Likewise. * tests/Makefile.in (table-from, table-to): Likewise. * tests/Makefile.msvc (table-from.exe, table-to.exe): Likewise. * tests/Makefile.os2 (table-from.exe, table-to.exe): Likewise. (genutf8.exe): Don't use $(INCLUDES). 2001-06-25 Bruno Haible * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc: Bump version number. * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:4:0. 2001-06-25 Bruno Haible * Makefile.devel (OTHERMACROS): Use libtool.m4 in libcharset subdir. 2001-06-25 Bruno Haible * lib/encodings.def: Make SHIFT_JIS the primary name of SJIS. 2001-06-08 Bruno Haible * autoconf/ltmain.sh: Upgrade to libtool-1.4. * autoconf/ltconfig: Remove file. 2001-06-08 Bruno Haible * autoconf/config.guess: Update to GNU version 2001-05-11. * autoconf/config.sub: Likewise. 2001-06-03 Bruno Haible * lib/loop_unicode.h (unicode_loop_convert): Ignore Unicode 3.1 tag characters if they cannot be converted. (unicode_loop_reset): Likewise. * lib/iso2022_jp2.h (STATE_TAG_NONE, STATE_TAG_LANGUAGE, STATE_TAG_LANGUAGE_j, STATE_TAG_LANGUAGE_ja, STATE_TAG_LANGUAGE_k, STATE_TAG_LANGUAGE_ko, STATE_TAG_LANGUAGE_z, STATE_TAG_LANGUAGE_zh): New macros. (SPLIT_STATE, COMBINE_STATE): Different differently for wctomb direction. (iso2022_jp2_wctomb): Keep track of Unicode 3.1 language tag. If "ja", prefer conversion to Japanese character sets. If "zh", prefer conversion to GB2312. If "ko", prefer conversion to KSC5601. * lib/converters.h (RET_ILUNI): Change value from 0 to -1. (RET_TOOSMALL): Change value from -1 to -2. * lib/loop_unicode.h (unicode_transliterate): Allow xxx_wctomb to return 0 written bytes. 2001-06-06 Bruno Haible * lib/encodings.def: Align with IANA character-set registry. (US-ASCII): Add alias "ANSI_X3.4-1986". (ISO-8859-14): Add alias "ISO-CELTIC". (JIS_X0208): Add alias "JIS_C6226-1983". (BIG5HKSCS): Add alias "BIG5-HKSCS". * README, man/iconv_open.3: Rename BIG5HKSCS to BIG5-HKSCS. * tests/Makefile.in (check): Likewise. * tests/Makefile.os2 (check): Likewise. * tests/Makefile.msvc (check): Likewise. * tests/BIG5-HKSCS.TXT: Renamed from BIG5HKSCS.TXT. * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Renamed from BIG5HKSCS.IRREVERSIBLE.TXT. 2001-06-02 Bruno Haible * tools/cjk_tab_to_h.c (Encoding): Add fffd field. (is_charset2uni_large, compact_large_charset2uni): New functions. (find_charset2uni_pages): Use enc->fffd instead of 0xfffd. (output_charset2uni): If mapping to more than the Unicode BMP, use an extra indirection to keep each value in 16 bits. (invert): Bump limit from U+10000 to U+30000. (output_uni2charset_dense): Likewise. (output_uni2charset_sparse): Likewise. If mapping to more than one CJK plane, use three bytes per value instead of two bytes. (byte_row_cns11643): Allow more than 3 CJK planes. (do_cns11643_only_uni2charset): Increase number of rows, to include plane 15. Remove plane bits hack. (main): Accept names cns11643_4a,4b,5,6,7,15 as well. * tools/Makefile (ALL): Add cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h, cns11643_7.h, cns11643_15.h. (cns11643_1.h, cns11643_2.h, cns11643_3.h): Use new Unicode 3.1 derived table. (cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h, cns11643_7.h, cns11643_15.h): New rules. (cns11643_inv.h): Change title. * lib/cns11643_1.h: Regenerated from Unicode 3.1 derived table. * lib/cns11643_3.h: Likewise. * lib/cns11643_4a.h: New file. * lib/cns11643_4b.h: New file. * lib/cns11643_4.h: New file. * lib/cns11643_5.h: New file. * lib/cns11643_6.h: New file. * lib/cns11643_7.h: New file. * lib/cns11643_15.h: New file. * lib/cns11643_inv.h: Regenerated from Unicode 3.1 derived table. (cns11643_inv_wctomb): Return 3 bytes now. * lib/cns11643.h: Include cns11643_4.h, cns11643_5.h, cns11643_6.h, cns11643_7.h, cns11643_15.h. (cns11643_wctomb): Now a simple alias to cns11643_inv_wctomb. Return plane number starting at 1, not 0. * lib/dec_hanyu.h (dec_hanyu_wctomb): Update for cns11643_wctomb change. * lib/euc_tw.h (euc_tw_mbtowc): Accept CNS11643 planes 4,5,6,7,15 as well. (euc_tw_wctomb): Update for cns11643_wctomb change. * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise. * lib/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Accept CNS11643 planes 4,5,6,7 as well. (iso2022_cn_ext_wctomb): Update for cns11643_wctomb change. Try CNS11643 planes 4,5,6,7 as well. * tests/EUC-TW.TXT: Many additions, mostly in planes 3,4,5,6,7,15. * tests/EUC-TW.IRREVERSIBLE.TXT: Reflect additions to CNS11643 plane 1. Add U+5344. 2001-06-01 Bruno Haible * tests/table-from.c (bmp_only): New variable. (ucs4_decode): If bmp_only, don't return characters outside Unicode plane 0. (main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print a conversion line if ucs4_decode returns NULL. * tests/table-to.c (main): When testing encodings other than UTF-8 and GB18030, loop upto U+30000 instead of U+10000. 2001-05-24 Bruno Haible * lib/converters.h (mbtowc_funcs): Add flushwc member function. * lib/flushwc.h: New file. * lib/cp1255.h: Include flushwc.h. (cp1255_comp_table_data, cp1255_comp_table): New arrays. (cp1255_mbtowc): Compose base and combining characters. (cp1255_flushwc): New macro. * lib/vietcomb.h (viet_comp_table_data, viet_comp_table): New arrays. * lib/cp1258.h: Include flushwc.h. (cp1258_mbtowc): Compose base and combining characters. (cp1258_flushwc): New macro. * lib/tcvn.h: Include flushwc.h. (tcvn_mbtowc): Compose base and combining characters. (tcvn_flushwc): New macro. * lib/loop_unicode.h: (unicode_transliterate): New function, extracted from unicode_loop_convert. (unicode_loop_convert): Use unicode_transliterate. (unicode_loop_reset): Call xxx_flushwc and output the resulting character. * lib/encodings.def: Add xxx_flushwc member. * lib/encodings_aix.def: Likewise. * lib/encodings_dos.def: Likewise. * lib/encodings_local.def: Likewise. * lib/encodings_osf1.def: Likewise. * lib/genaliases.c: Add an argument to the DEFENCODING macro. * lib/genaliases2.c: Likewise. * lib/genflags.c: Likewise. * lib/iconv.c: Likewise. * tests/table-from.c (try): Reset the iconv descriptor before the main call, and flush it afterwards. (ucs4_decode): New function. (main): Allow up to 3 Unicode characters output. Call ucs4_decode. * tests/CP1255-snippet: New file. * tests/CP1255-snippet.UTF-8: New file. * tests/CP1258-snippet: New file. * tests/CP1258-snippet.UTF-8: New file. * tests/TCVN-snippet: New file. * tests/TCVN-snippet.UTF-8: New file. * tests/Makefile.in (check): Check combining behaviour of CP1255, CP1258, TCVN. * tests/Makefile.msvc (check): Likewise. * tests/Makefile.os2 (check): Likewise. 2001-05-22 Bruno Haible * lib/converters.h (RET_ILUNI): New macro. (RET_ILSEQ): Change value to -1. (RET_TOOFEW): Change value. * lib/loop_unicode.h (unicode_loop_convert): Write RET_ILUNI instead of 0. Update handling of xxx_mbtowc return value. * lib/genflags.c (emit_encoding): Likewise. * lib/ascii.h (ascii_wctomb): Use RET_ILUNI instead of RET_ILSEQ. * lib/armscii_8.h (armscii_8_wctomb): Likewise. * lib/big5.h (big5_wctomb): Likewise. * lib/big5hkscs.h (big5hkscs_wctomb): Likewise. * lib/ces_big5.h (ces_big5_wctomb): Likewise. * lib/ces_gbk.h (ces_gbk_wctomb): Likewise. * lib/cns11643.h (cns11643_wctomb): Likewise. * lib/cns11643_inv.h (cns11643_inv_wctomb): Likewise. * lib/cp437.h (cp437_wctomb): Likewise. * lib/cp775.h (cp775_wctomb): Likewise. * lib/cp850.h (cp850_wctomb): Likewise. * lib/cp852.h (cp852_wctomb): Likewise. * lib/cp855.h (cp855_wctomb): Likewise. * lib/cp856.h (cp856_wctomb): Likewise. * lib/cp857.h (cp857_wctomb): Likewise. * lib/cp861.h (cp861_wctomb): Likewise. * lib/cp862.h (cp862_wctomb): Likewise. * lib/cp864.h (cp864_wctomb): Likewise. * lib/cp865.h (cp865_wctomb): Likewise. * lib/cp866.h (cp866_wctomb): Likewise. * lib/cp869.h (cp869_wctomb): Likewise. * lib/cp874.h (cp874_wctomb): Likewise. * lib/cp922.h (cp922_wctomb): Likewise. * lib/cp932ext.h (cp932ext_wctomb): Likewise. * lib/cp932.h (cp932_wctomb): Likewise. * lib/cp936ext.h (cp936ext_wctomb): Likewise. * lib/cp949.h (cp949_wctomb): Likewise. * lib/cp950ext.h (cp950ext_wctomb): Likewise. * lib/cp950.h (cp950_wctomb): Likewise. * lib/cp1046.h (cp1046_wctomb): Likewise. * lib/cp1124.h (cp1124_wctomb): Likewise. * lib/cp1129.h (cp1129_wctomb): Likewise. * lib/cp1133.h (cp1133_wctomb): Likewise. * lib/cp1250.h (cp1250_wctomb): Likewise. * lib/cp1251.h (cp1251_wctomb): Likewise. * lib/cp1252.h (cp1252_wctomb): Likewise. * lib/cp1253.h (cp1253_wctomb): Likewise. * lib/cp1254.h (cp1254_wctomb): Likewise. * lib/cp1255.h (cp1255_wctomb): Likewise. * lib/cp1256.h (cp1256_wctomb): Likewise. * lib/cp1257.h (cp1257_wctomb): Likewise. * lib/cp1258.h (cp1258_wctomb): Likewise. * lib/dec_hanyu.h (dec_hanyu_wctomb): Likewise. * lib/dec_kanji.h (dec_kanji_wctomb): Likewise. * lib/euc_cn.h (euc_cn_wctomb): Likewise. * lib/euc_jp.h (euc_jp_wctomb): Likewise. * lib/euc_kr.h (euc_kr_wctomb): Likewise. * lib/euc_tw.h (euc_tw_wctomb): Likewise. * lib/gb12345ext.h (gb12345ext_wctomb): Likewise. * lib/gb12345.h (gb12345_wctomb): Likewise. * lib/gb18030ext.h (gb18030ext_wctomb): Likewise. * lib/gb18030.h (gb18030_wctomb): Likewise. * lib/gb18030uni.h (gb18030uni_wctomb): Likewise. * lib/gb2312.h (gb2312_wctomb): Likewise. * lib/gbkext_inv.h (gbkext_inv_wctomb): Likewise. * lib/gbk.h (gbk_wctomb): Likewise. * lib/georgian_academy.h (georgian_academy_wctomb): Likewise. * lib/georgian_ps.h (georgian_ps_wctomb): Likewise. * lib/hkscs.h (hkscs_wctomb): Likewise. * lib/hp_roman8.h (hp_roman8_wctomb): Likewise. * lib/hz.h (hz_wctomb): Likewise. * lib/iso2022_cnext.h (iso2022_cn_ext_wctomb): Likewise. * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise. * lib/iso2022_jp1.h (iso2022_jp1_wctomb): Likewise. * lib/iso2022_jp2.h (iso2022_jp2_wctomb): Likewise. * lib/iso2022_jp.h (iso2022_jp_wctomb): Likewise. * lib/iso2022_kr.h (iso2022_kr_wctomb): Likewise. * lib/iso646_cn.h (iso646_cn_wctomb): Likewise. * lib/iso646_jp.h (iso646_jp_wctomb): Likewise. * lib/iso8859_1.h (iso8859_1_wctomb): Likewise. * lib/iso8859_2.h (iso8859_2_wctomb): Likewise. * lib/iso8859_3.h (iso8859_3_wctomb): Likewise. * lib/iso8859_4.h (iso8859_4_wctomb): Likewise. * lib/iso8859_5.h (iso8859_5_wctomb): Likewise. * lib/iso8859_6.h (iso8859_6_wctomb): Likewise. * lib/iso8859_7.h (iso8859_7_wctomb): Likewise. * lib/iso8859_8.h (iso8859_8_wctomb): Likewise. * lib/iso8859_9.h (iso8859_9_wctomb): Likewise. * lib/iso8859_10.h (iso8859_10_wctomb): Likewise. * lib/iso8859_13.h (iso8859_13_wctomb): Likewise. * lib/iso8859_14.h (iso8859_14_wctomb): Likewise. * lib/iso8859_15.h (iso8859_15_wctomb): Likewise. * lib/iso8859_16.h (iso8859_16_wctomb): Likewise. * lib/isoir165ext.h (isoir165ext_wctomb): Likewise. * lib/isoir165.h (isoir165_wctomb): Likewise. * lib/jisx0201.h (jisx0201_wctomb): Likewise. * lib/jisx0208.h (jisx0208_wctomb): Likewise. * lib/jisx0212.h (jisx0212_wctomb): Likewise. * lib/johab.h (johab_wctomb): Likewise. * lib/johab_hangul.h (johab_hangul_wctomb, johab_hangul_decompose): Likewise. * lib/koi8_r.h (koi8_r_wctomb): Likewise. * lib/koi8_ru.h (koi8_ru_wctomb): Likewise. * lib/koi8_u.h (koi8_u_wctomb): Likewise. * lib/ksc5601.h (ksc5601_wctomb): Likewise. * lib/mac_arabic.h (mac_arabic_wctomb): Likewise. * lib/mac_centraleurope.h (mac_centraleurope_wctomb): Likewise. * lib/mac_croatian.h (mac_croatian_wctomb): Likewise. * lib/mac_cyrillic.h (mac_cyrillic_wctomb): Likewise. * lib/mac_greek.h (mac_greek_wctomb): Likewise. * lib/mac_hebrew.h (mac_hebrew_wctomb): Likewise. * lib/mac_iceland.h (mac_iceland_wctomb): Likewise. * lib/mac_roman.h (mac_roman_wctomb): Likewise. * lib/mac_romania.h (mac_romania_wctomb): Likewise. * lib/mac_thai.h (mac_thai_wctomb): Likewise. * lib/mac_turkish.h (mac_turkish_wctomb): Likewise. * lib/mac_ukraine.h (mac_ukraine_wctomb): Likewise. * lib/mulelao.h (mulelao_wctomb): Likewise. * lib/nextstep.h (nextstep_wctomb): Likewise. * lib/sjis.h (sjis_wctomb): Likewise. * lib/tcvn.h (tcvn_wctomb): Likewise. * lib/tis620.h (tis620_wctomb): Likewise. * lib/ucs2be.h (ucs2be_wctomb): Likewise. * lib/ucs2.h (ucs2_wctomb): Likewise. * lib/ucs2internal.h (ucs2internal_wctomb): Likewise. * lib/ucs2le.h (ucs2le_wctomb): Likewise. * lib/ucs2swapped.h (ucs2swapped_wctomb): Likewise. * lib/ucs4.h (ucs4_wctomb): Likewise. * lib/uhc_1.h (uhc_1_wctomb): Likewise. * lib/uhc_2.h (uhc_2_wctomb): Likewise. * lib/utf16be.h (utf16be_wctomb): Likewise. * lib/utf16.h (utf16_wctomb): Likewise. * lib/utf16le.h (utf16le_wctomb): Likewise. * lib/utf32be.h (utf32be_wctomb): Likewise. * lib/utf32.h (utf32_wctomb): Likewise. * lib/utf32le.h (utf32le_wctomb): Likewise. * lib/utf7.h (utf7_wctomb): Likewise. * lib/utf8.h (utf8_wctomb): Likewise. * lib/viscii.h (viscii_wctomb): Likewise. * tools/8bit_tab_to_h.c (main): Likewise. * tools/cjk_tab_to_h.c (output_uni2charset_dense, output_uni2charset_sparse, do_gb18030uni): Likewise. 2001-05-19 Bruno Haible * Makefile.devel (all): Add man/{iconv.1,iconv*.3}.html. (man/%.html): New rule. * man/Makefile.in (docdir, htmldir): New variables. (install, installdirs): Install the HTML formatted man pages in $(htmldir). (uninstall): Uninstall them. 2001-05-20 Bruno Haible * lib/cp1255.h (cp1255_decomp_table): New array. (cp1255_comb_table): New array. (cp1255_wctomb): Decompose Unicode characters. * tests/CP1255.IRREVERSIBLE.TXT: New file. 2001-05-13 Bruno Haible * lib/vietcomb.h: New file. * lib/cp1258.h: Include it. (cp1258_comb_table): New array. (cp1258_wctomb): Decompose Unicode characters. * lib/tcvn.h: Include it. (tcvn_comb_table): New array. (tcvn_wctomb): Decompose Unicode characters. * tests/CP1258.IRREVERSIBLE.TXT: New file. * tests/TCVN.IRREVERSIBLE.TXT: New file. 2001-05-06 Bruno Haible * lib/Makefile.msvc (config.h): Allow the 'del' command to fail. (iconv.lib): Likewise. 2001-05-06 Bruno Haible * lib/Makefile.in (CPPFLAGS, LDFLAGS): New variables. (CPP): Remove variable. (libiconv.la, libiconv_plug_linux.so, libiconv_plug_solaris.so, libiconv_plug_osf.so): Use LDFLAGS. (libiconv_plug_linux.so, libiconv_plug_solaris.so, libiconv_plug_osf.so, iconv.lo): Use CPPFLAGS. * lib/Makefile.msvc (CPP): Remove variable. * src/Makefile.in (CPPFLAGS, LDFLAGS): New variables. (CPP): Remove variable. (iconv): Use CPPFLAGS and LDFLAGS. * src/Makefile.msvc (CPP): Remove variable. * tests/Makefile.in (CPPFLAGS, LDFLAGS): New variables. (check, table-from, table-to): Use CPPFLAGS and LDFLAGS. * tests/Makefile.msvc (CPP): Remove variable. 2001-05-06 Bruno Haible * lib/Makefile.in (libiconv_plug_solaris.so): Change rule if not using gcc. Reported by Paananen Mikko . 2001-04-11 Bruno Haible Implement and document UTF-32, UTF-32BE, UTF-32LE. * src/utf32.h, src/utf32be.h, src/utf32le.h: New files. * src/converters.h: Include them. * src/encodings.def (UTF-32, UTF-32BE, UTF32LE): New encodings. * README, man/iconv_open.3: Add UTF-32, UTF-32BE, UTF32LE. * tests/Makefile.in (check): Check UTF-32, UTF-32BE, UTF32LE. * tests/Makefile.os2 (check): Likewise. * tests/Makefile.msvc (check): Likewise. * tests/UTF-32*snippet*: New files. * lib/ucs4.h (ucs4_mbtowc): Fix value of other-endian byte order. (ucs4_wctomb): Allow any 31-bit codepoint. 2001-04-11 Bruno Haible * tests/GB18030.TXT: Add mappings for all of U+0000..U+FFFF, including unassigned code points. * tests/table-from.c (main); When dumping GB18030, don't print code points larger than U+FFFF. 2001-03-30 Bruno Haible * tools/Makefile (GB18030uni.TXT): Use a table source which includes the unassigned Unicode code points. * lib/gb18030uni.h: Update. (gb18030uni_ranges): Remove bitmap_offset field. (gb18030uni_bitmap): Remove array. (gb18030uni_mbtowc): Omit gb18030uni_bitmap access. (gb18030uni_wctomb): Likewise. * lib/gb18030.h (gb18030_mbtowc): Handle Unicode characters >= 0x10000. (gb18030_wctomb): Likewise. 2001-03-21 Bruno Haible * INSTALL.generic (Particular Systems): Add recommendations for AIX 3. 2001-03-21 Bruno Haible * src/iconv.c (print_version): Now called GNU libiconv. 2001-03-20 Bruno Haible * README: This package is now called GNU libiconv. * tools/8bit_tab_to_h.c (main): Emit copyright notice to the output file. * tools/cjk_tab_to_h.c (output_title): Likewise. * tools/cjk_variants.c (main): Likewise. * lib/gentranslit.c (main): Likewise. 2001-03-19 Bruno Haible * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Always define ac_config_guess and ac_config_sub. Then ignore requests for AC_CONFIG_AUX_DIR_DEFAULT or AC_CANONICAL_HOST. 2001-03-10 Bruno Haible * INSTALL.generic: New section "Particular Systems". 2001-03-10 Bruno Haible * lib/Makefile.in (libiconv.la): Pass flag -no-undefined. Needed on platforms like BeOS. * lib/loop_wchar.h (mbstate_t): Don't typedef if already #defined in config.h. 2001-03-06 Bruno Haible * Version 1.6 released. * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc: Bump version number. * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:3:0. 2001-03-05 Bruno Haible Provide all encodings used by OSF/1 5.1 locales. * lib/dec_kanji.h: New file. * lib/dec_hanyu.h: New file. * lib/converters.h: Include them if USE_OSF1 is defined. * lib/encodings_osf1.def: New file. * lib/genflags.c (main): Include it. Define USE_OSF1. * lib/genaliases2.c (main): Include it conditionally. * lib/iconv.c: Define USE_OSF1 on OSF/1. Include encodings_osf1.def and aliases_osf1.h. * lib/Makefile.in (iconv.lo): Depend on encodings_osf1.def and aliases_osf1.h. * Makefile.devel (lib/aliases_osf1.h): New target. (all): Depend on lib/aliases_osf1.h. (lib/flags.h): Depend on lib/encodings_osf1.def. 2001-03-01 Bruno Haible * tools/Makefile (cp775.h): New target. (ALL): Add it. * lib/cp775.h: New file. * lib/converters.h: Include it. * lib/encodings_dos.def (CP775): New encoding. 2001-02-25 Bruno Haible * lib/iconv.c (iconv_open): locale_charset() doesn't return NULL any more. 2001-02-24 Bruno Haible * src/iconv.c (convert): Use ICONV_CONST. * tests/table-from.c: Include config.h. (try): Use ICONV_CONST. * tests/table-to.c: Include config.h. (main): Use ICONV_CONST. * tests/Makefile.in (INCLUDES): Add -I../lib. * tests/Makefile.os2 (INCLUDES): Likewise. * tests/Makefile.msvc (INCLUDES): Add -I..\lib. 2001-02-24 Bruno Haible Provide all encodings used by DOS locales. * tools/Makefile (cp437.h, cp852.h, cp855.h, cp857.h, cp861.h, cp864.h, cp865.h, cp869.h): New targets. (ALL): Add them. * lib/cp437.h: New file. * lib/cp852.h: New file. * lib/cp855.h: New file. * lib/cp857.h: New file. * lib/cp861.h: New file. * lib/cp864.h: New file. * lib/cp865.h: New file. * lib/cp869.h: New file. * lib/converters.h: Include them if USE_DOS is defined. * lib/encodings_dos.def: New file. * lib/genflags.c (main): Include it. Define USE_DOS. * lib/genaliases2.c (main): Include it conditionally. * lib/iconv.c: Define USE_DOS on DJGPP. Include encodings_dos.def and aliases_dos.h. * lib/Makefile.in (iconv.lo): Depend on encodings_dos.def and aliases_dos.h. * Makefile.devel (lib/aliases_dos.h): New target. (all): Depend on lib/aliases_dos.h. (lib/flags.h): Depend on lib/encodings_dos.def. 2001-02-23 Bruno Haible * src/iconv.c [DJGPP]: Include and . (SET_BINARY) [O_BINARY]: New macro. (usage): Mention --binary if available. (convert): Use SET_BINARY instead of setmode. (main): Likewise. Reported by Juan Manuel Guerrero . 2001-02-25 Bruno Haible * autoconf/ltconfig: sed -e 's/reload object files/produce relocatable object files/'. 2001-02-20 Bruno Haible * src/iconv.c (usage, main): Make -f and -t options optional. * man/iconv.1: Mark them as optional. 2001-02-20 Bruno Haible * tools/Makefile (GB18030ext.TXT, GB18030uni.TXT): Generate from glibc-2.2.2 table. * lib/gb18030uni.h, lib/gb18030ext.h: Add mapping 0xA989 -> U+303E, 0xFE5E -> U+2E97. Shift the entire four-byte range. * tests/GB18030.TXT: Regenerated. 2001-02-20 Bruno Haible Better support for DOS/Windows platforms. * autoconf/ltconfig: Upgrade to libtool-1.3.5. * autoconf/ltmain.sh: Likewise. * autoconf/aclocal.m4: Likewise. * autoconf/install-sh: New file. * configure.in: Call AC_OBJEXT and AC_EXEEXT. Call AC_CONFIG_AUX_DIR. 2001-02-20 Bruno Haible * Makefile.in (libdir, includedir, mandir): Use the autoconf determined value, in order to respect the configure arguments. * lib/Makefile.in (libdir): Likewise. * src/Makefile.in (bindir): Likewise. * man/Makefile.in (mandir): Likewise. 2001-02-04 Bruno Haible * lib/translit.def: Add all the neutral transliterations from glibc. * lib/gentranslit.c (main): Allow UTF-8 replacements which are in UCS-2 but not in ISO-8859-1. Generate a table of 'unsigned short'. Avoid accessing data[-1]. * lib/loop_unicode.h (unicode_loop_convert): Change type of pointer into translit_data. 2001-01-05 Bruno Haible Implement and document CP862. * tools/Makefile (ALL): Add cp862.h. (cp862.h): New target. * lib/cp862.h: New file. * lib/converters.h: Include it. * lib/encodings.def (CP862): New encoding. * README, man/iconv_open.3: Add CP862. * tests/Makefile.in (check): Check CP862. * tests/Makefile.msvc (check): Likewise. * tests/Makefile.os2 (check): Likewise. * tests/CP862.TXT: New file. 2000-12-18 Bruno Haible * autoconf/mbstate_t.m4: New file, from textutils-2.0.10. * Makefile.devel (OTHERMACROS): Add it. * configure.in: Call AC_MBSTATE_T. * lib/config.h.in (mbstate_t): New definition. * lib/loop_wchar.h (mbrtowc): For BeOS, declare and define fallback. 2000-12-12 Bruno Haible * Makefile.in: Use $(MAKE) instead of $(MAKE) -r. Needed with Solaris "make", which doesn't set MAKE as expected by @SET_MAKE@ if -r is given. Reported by Toshimitsu Fujiwara. 2000-12-08 Bruno Haible * Makefile.in (exec_prefix): Use configure's --exec-prefix argument. * lib/Makefile.in (exec_prefix): Likewise. * src/Makefile.in (exec_prefix): Likewise. * man/Makefile.in (exec_prefix): Likewise. 2000-12-02 Bruno Haible * Version 1.5 released. * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc: Bump version number. * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:2:0. 2000-12-02 Bruno Haible * Makefile.in (mostlyclean, clean, distclean, maintainer-clean): Remove files installed in lib by libcharset. * Makefile.msvc (mostlyclean): Likewise. * Makefile.in (check): Depend on target 'all'. * Makefile.os2 (check): Likewise. * Makefile.msvc (check): Depend on target 'force' as well. * src/iconv.c (usage): Take an exitcode argument. (print_version): New function. (main): Recognize --help and --version command line options. 2000-12-02 Bruno Haible * Makefile.msvc: Replace STATIC with its opposite flag, DLL. * lib/Makefile.msvc: Likewise. * src/Makefile.msvc: Likewise. * tests/Makefile.msvc: Likewise. 2000-12-01 Bruno Haible * src/iconv.c: Include . Define fallbacks for setmode, fileno. (force_binary): New variable. (convert): If requested, set the input O_BINARY. (main): Accept --binary option. If requested, set the output O_BINARY. * tests/check-stateful.bat: Pass --binary to iconv. * tests/check-stateful.cmd: Likewise. * tests/check-translit.bat: Likewise. * tests/check-translit.cmd: Likewise. 2000-12-01 Bruno Haible * include/iconv.h.in (_libiconv_version): New declaration. * lib/iconv.c (_libiconv_version): New variable. 2000-11-30 Bruno Haible * Makefile.msvc (all): File now named lib/libcharset.h. (clean, distclean, maintainer-clean): Likewise. 2000-11-23 Bruno Haible * lib/*: Move here all files from src/*. * src/*: Move all files to lib. * lib/Makefile.in (distclean): No need to remove config.status, config.log, config.cache. * configure.in: Require lib/iconv.c, not src/iconv.c. Create lib/config.h, not src/config.h. Also create lib/Makefile. * Makefile.in (all): Install libcharset into lib, not src. Recurse into lib and src. (install-lib): Recurse into lib, not src. (install): Recurse into libcharset, lib and src. (installdirs, uninstall): Likewise. (check, mostlyclean, clean, distclean, maintainer-clean): Likewise. * Makefile.msvc (all): Recurse into lib and src. (install): Recurse into libcharset, lib and src. (installdirs, uninstall): Likewise. (check, mostlyclean, clean, distclean, maintainer-clean): Likewise. * Makefile.os2 (all): Recurse into lib and src. (install-lib): Recurse into lib, not src. (install, uninstall): Recurse into lib and src. (check, mostlyclean, clean, distclean, maintainer-clean): Likewise. * Makefile.devel (lib/config.h.msvc): Renamed from src/config.h.msvc. (lib/aliases.h): Renamed from src/aliases.h. (lib/aliases.gperf): Renamed from src/aliases.gperf. (lib/aliases_aix.h): Renamed from src/aliases_aix.h. (lib/flags.h): Renamed from src/flags.h. (lib/translit.h): Renamed from src/translit.h. * src/iconv.c: Moved here from tests/iconv.c. * src/Makefile.in: New file. * src/Makefile.msvc: New file. * src/Makefile.os2: New file. * tests/Makefile.in (iconv): Remove target. (../lib/libiconv.la): Renamed from ../src/libiconv.la. (clean): No need to remove iconv. * tests/Makefile.msvc (iconv.exe): Remove target. * tests/Makefile.os2 (iconv.exe): Likewise. * tests/check-stateful: iconv is in ../src. * tests/check-stateful.bat: Likewise. * tests/check-stateful.cmd: Likewise. * tests/check-translit: iconv is in ../src. * tests/check-translit.bat: Likewise. * tests/check-translit.cmd: Likewise. * man/iconv.1: New file. * man/Makefile.in (install, installdirs, uninstall): Also install *.1 man pages. * man/Makefile.os2 (MAN3): Renamed from MAN. (MAN1): New variable. (install, uninstall): Also install *.1 man pages. 2000-11-21 Bruno Haible * Makefile.msvc (all, check, mostlyclean, clean, distclean, maintainer-clean): Recurse into libcharset. (clean, distclean, maintainer-clean): Remove src\libcharset.h. * src/Makefile.msvc (LIBCHARSET_OBJECTS): New variable. (iconv.lib): Link with $(LIBCHARSET_OBJECTS). 2000-11-18 Bruno Haible * src/cp950.h (cp950_mbtowc, cp950_wctomb): Change implementation so that it agrees with Microsoft's definition of CP950. * tests/CP950.TXT: Likewise. * tests/CP950.IRREVERSIBLE.TXT: Add 0xA244, 0xA2CC, 0xA2CE. 2000-11-18 Bruno Haible Add support for locale dependent "char" and "wchar_t" encodings. * libcharset: New subdirectory. * src/loop_unicode.h: New file, extracted from src/iconv.c. * src/loop_wchar.h: New file. * src/loops.h: New file. Include loop_unicode.h and loop_wchar.h. * src/encodings_local.def: New file. * src/genaliases.c: Also create aliases for encodings_local.def. * src/converters.h (conv_struct): Add lfuncs field. * src/genflags.c: Add dummy definitions of struct loop_funcs. * src/iconv.c: Include libcharset.h. (loop_funcs): New structure. Treat encodings_local.def like encodings.def. Include loops.h. (iconv_open): Move the bulk of the code to loop_unicode.h. (iconv): Likewise. (iconvctl): Extend determination of TRIVIALP to wchar_t conversion descriptors. * src/Makefile.in (PLUG_SOURCES): Remove variable. (LIBCHARSET_OBJECTS): New variable. (libiconv.la): Link in the LIBCHARSET_OBJECTS. (libiconv_plug_linux.so, libiconv_plug_solaris.so, libiconv_plug_osf.so): Link in the LIBCHARSET_OBJECTS, using LIBTOOL_LINK. (iconv.lo): Depend on encodings_local.def. * src/Makefile.msvc (iconv.obj): Depend on encodings_local.def. * src/Makefile.os2 (iconv.obj): Likewise. * configure.in: Add tests for locale.h, mbrtowc, wcrtomb, setlocale. Recurse into libcharset. * src/config.h.in (HAVE_LOCALE_H, HAVE_MBRTOWC, HAVE_WCRTOMB, HAVE_SETLOCALE): New macros. * tests/iconv.c: Include config.h and locale.h. (main): Call setlocale. * tests/Makefile.in (iconv): Search for config.h in ../src. * tests/Makefile.os2 (iconv.exe): Likewise. * tests/Makefile.msvc (iconv.exe): Likewise. * README, man/iconv_open.3: Document "char" and "wchar_t" encodings. * Makefile.in: After "cd", use "&&" not ";". (all, check, mostlyclean, clean, distclean, maintainer-clean): Recurse into libcharset. * Makefile.devel (all): Recurse into libcharset. (src/aliases.gperf): Depend on src/encodings_local.def. 2000-11-18 Bruno Haible * src/converters.h (ucs4_t): New type. (wchar_t): Remove locally defined override. (mbtowc_funcs, wctomb_funcs): Use ucs4_t instead of wchar_t. * src/iconv.c (iconv): Likewise. * src/genflags.c (emit_encoding): Use ucs4_t instead of wchar_t. * tools/8bit_tab_to_h.c: Use "ucs4_t" instead of "wchar_t". * tools/cjk_tab_to_h.c: Likewise. * src/armscii_8.h: Use ucs4_t instead of wchar_t. * src/ascii.h: Likewise. * src/big5.h: Likewise. * src/big5hkscs.h: Likewise. * src/ces_big5.h: Likewise. * src/ces_gbk.h: Likewise. * src/cns11643.h: Likewise. * src/cns11643_1.h: Likewise. * src/cns11643_2.h: Likewise. * src/cns11643_3.h: Likewise. * src/cns11643_inv.h: Likewise. * src/cp1046.h: Likewise. * src/cp1124.h: Likewise. * src/cp1129.h: Likewise. * src/cp1133.h: Likewise. * src/cp1250.h: Likewise. * src/cp1251.h: Likewise. * src/cp1252.h: Likewise. * src/cp1253.h: Likewise. * src/cp1254.h: Likewise. * src/cp1255.h: Likewise. * src/cp1256.h: Likewise. * src/cp1257.h: Likewise. * src/cp1258.h: Likewise. * src/cp850.h: Likewise. * src/cp856.h: Likewise. * src/cp866.h: Likewise. * src/cp874.h: Likewise. * src/cp922.h: Likewise. * src/cp932.h: Likewise. * src/cp932ext.h: Likewise. * src/cp936ext.h: Likewise. * src/cp949.h: Likewise. * src/cp950.h: Likewise. * src/cp950ext.h: Likewise. * src/euc_cn.h: Likewise. * src/euc_jp.h: Likewise. * src/euc_kr.h: Likewise. * src/euc_tw.h: Likewise. * src/gb12345.h: Likewise. * src/gb12345ext.h: Likewise. * src/gb18030.h: Likewise. * src/gb18030ext.h: Likewise. * src/gb18030uni.h: Likewise. * src/gb2312.h: Likewise. * src/gbk.h: Likewise. * src/gbkext1.h: Likewise. * src/gbkext2.h: Likewise. * src/gbkext_inv.h: Likewise. * src/georgian_academy.h: Likewise. * src/georgian_ps.h: Likewise. * src/hkscs.h: Likewise. * src/hp_roman8.h: Likewise. * src/hz.h: Likewise. * src/iso2022_cn.h: Likewise. * src/iso2022_cnext.h: Likewise. * src/iso2022_jp.h: Likewise. * src/iso2022_jp1.h: Likewise. * src/iso2022_jp2.h: Likewise. * src/iso2022_kr.h: Likewise. * src/iso646_cn.h: Likewise. * src/iso646_jp.h: Likewise. * src/iso8859_1.h: Likewise. * src/iso8859_10.h: Likewise. * src/iso8859_13.h: Likewise. * src/iso8859_14.h: Likewise. * src/iso8859_15.h: Likewise. * src/iso8859_16.h: Likewise. * src/iso8859_2.h: Likewise. * src/iso8859_3.h: Likewise. * src/iso8859_4.h: Likewise. * src/iso8859_5.h: Likewise. * src/iso8859_6.h: Likewise. * src/iso8859_7.h: Likewise. * src/iso8859_8.h: Likewise. * src/iso8859_9.h: Likewise. * src/isoir165.h: Likewise. * src/isoir165ext.h: Likewise. * src/java.h: Likewise. * src/jisx0201.h: Likewise. * src/jisx0208.h: Likewise. * src/jisx0212.h: Likewise. * src/johab.h: Likewise. * src/johab_hangul.h: Likewise. * src/koi8_r.h: Likewise. * src/koi8_ru.h: Likewise. * src/koi8_u.h: Likewise. * src/ksc5601.h: Likewise. * src/mac_arabic.h: Likewise. * src/mac_centraleurope.h: Likewise. * src/mac_croatian.h: Likewise. * src/mac_cyrillic.h: Likewise. * src/mac_greek.h: Likewise. * src/mac_hebrew.h: Likewise. * src/mac_iceland.h: Likewise. * src/mac_roman.h: Likewise. * src/mac_romania.h: Likewise. * src/mac_thai.h: Likewise. * src/mac_turkish.h: Likewise. * src/mac_ukraine.h: Likewise. * src/mulelao.h: Likewise. * src/nextstep.h: Likewise. * src/sjis.h: Likewise. * src/tcvn.h: Likewise. * src/tis620.h: Likewise. * src/ucs2.h: Likewise. * src/ucs2be.h: Likewise. * src/ucs2internal.h: Likewise. * src/ucs2le.h: Likewise. * src/ucs2swapped.h: Likewise. * src/ucs4.h: Likewise. * src/ucs4be.h: Likewise. * src/ucs4internal.h: Likewise. * src/ucs4le.h: Likewise. * src/ucs4swapped.h: Likewise. * src/uhc_1.h: Likewise. * src/uhc_2.h: Likewise. * src/utf16.h: Likewise. * src/utf16be.h: Likewise. * src/utf16le.h: Likewise. * src/utf7.h: Likewise. * src/utf8.h: Likewise. * src/viscii.h: Likewise. 2000-11-18 Bruno Haible Make transliteration optional. * src/iconv.c (iconv_open): Strip off //TRANSLIT suffix from names. Set transliteration on if and only if tocode ends in //TRANSLIT. * README, man/iconv_open.3: Document how to enable transliteration. * tests/check-translit: Add //TRANSLIT to iconv's 't' argument. * tests/check-translit.bat: Likewise. * tests/check-translit.cmd: Likewise. 2000-11-18 Bruno Haible * man/iconv.3: Fix typo. 2000-10-31 Bruno Haible * README, man/iconv_open.3: Document JOHAB again. 2000-11-15 Bruno Haible * Makefile.msvc: Add support for MFLAGS and DEBUG parameters. (STATIC): Change default from 0 to 1. * src/Makefile.msvc: Likewise. * tests/Makefile.msvc: Likewise. * tests/check-stateless.bat: Call 'sort' with no arguments. 2000-11-12 Bruno Haible * autoconf/config.guess, autoconf/config.sub: Upgrade to newest version from GNU CVS. 2000-10-24 Bruno Haible * Version 1.4 released. * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc: Bump version number. * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:1:0. 2000-10-23 Bruno Haible Implement and document GB18030 and BIG5HKSCS. * tools/cjk_tab_to_h.c (row_byte_hkscs, byte_row_hkscs, do_hkscs): New functions. (do_gb18030uni): New function. (main): Accept gb18030ext, gb18030uni, hkscs. * tools/Makefile (ALL): Add gb18030ext.h, gb18030uni.h, hkscs.h. (gb18030ext.h, GB18030ext.TXT, gb18030uni.h, GB18030uni.TXT, hkscs.h): New targets. * src/gb18030ext.h, src/gb18030uni.h, src/gb18030.h: New files. * src/hkscs.h, src/big5hkscs.h: New files. * src/converters.h: Include gb18030.h and big5hkscs.h. * src/encodings.def (GB18030, BIG5HKSCS): New encodings. * README, man/iconv_open.3: Add GB18030, BIG5HKSCS. * tests/Makefile.in (check): Check GB18030, BIG5HKSCS. * tests/Makefile.msvc (check): Likewise. * tests/Makefile.os2 (check): Likewise. * tests/GB18030.TXT: New file. * tests/BIG5HKSCS.TXT, tests/BIG5HKSCS.IRREVERSIBLE.TXT: New files. 2000-10-23 Bruno Haible * tests/table-from.c (try, main): Use UCS-4-INTERNAL instead of UCS-2-INTERNAL, to avoid problems with UCS-2 surrogate handling. * tests/table-to.c (main): Likewise. 2000-10-22 Bruno Haible * src/gentranslit.c (main): Read the input in UTF-8 encoding. 2000-10-09 Bruno Haible CPU recognition on OpenBSD. * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __m68k__, __mc68020__, __MIPSEB__, __MIPSEL__, __m88k__ as CPU indicators. 2000-10-03 Bruno Haible * src/gentranslit.c (main): Don't output non-ASCII ISO-8859-1 character literals, use the numeric value instead. Reported by Shin-Hsien Yeh . 2000-09-29 Bruno Haible * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23 change. 2000-09-25 Bruno Haible * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __i386__ as equivalent to __i386. For OpenBSD. 2000-09-21 Bruno Haible * src/utf16.h (utf16_wctomb): Reject single surrogates. * src/utf16be.h (utf16be_wctomb): Likewise. * src/utf16le.h (utf16le_wctomb): Likewise. * src/ucs2.h (ucs2_mbtowc, ucs2_wctomb): Likewise. * src/ucs2be.h (ucs2be_mbtowc, ucs2be_wctomb): Likewise. * src/ucs2le.h (ucs2le_mbtowc, ucs2le_wctomb): Likewise. * src/ucs2internal.h (ucs2internal_mbtowc, ucs2internal_wctomb): Likewise. * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb): Likewise. 2000-09-15 Bruno Haible * Makefile.in (install, installdirs, uninstall): Support DESTDIR. * src/Makefile.in (install, installdirs, uninstall): Likewise. * man/Makefile.in (install, installdirs, uninstall): Likewise. 2000-09-11 Bruno Haible * src/utf7.h (utf7_mbtowc): Fix combining of UTF-16 surrogates. 2000-08-26 Bruno Haible * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default value, not parens. 2000-07-04 Akira Hatakeyama Bruno Haible * os2/iconv.def, README.os2, Makefile.os2, src/Makefile.os2, tests/Makefile.os2, man/Makefile.os2, tests/check-stateful.cmd, tests/check-stateless.cmd, tests/check-translit.cmd: New files. 2000-06-28 Bruno Haible * src/ucs2internal.h (ucs2internal_mbtowc): Avoid gcc warning about cast. * src/ucs4internal.h (ucs4internal_mbtowc): Likewise. * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb): Verify sizeof(unsigned short). * src/ucs4swapped.h (ucs4swapped_mbtowc, ucs4swapped_mbtowc): Verify sizeof(unsigned int). Reported by François Pinard . 2000-05-29 Bruno Haible * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo. Reported by Thomas Klausner . 2000-05-23 Bruno Haible * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu, host_vendor, host_os correctly if $host has more than two hyphens. 2000-04-15 Bruno Haible * Version 1.3 released. * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc: Bump version number. * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:0:0. 2000-04-15 Bruno Haible * THANKS: New file. * INSTALL.generic: New file. Implement and document UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE. * src/ucs2be.h, src/ucs2le.h, src/ucs4be.h, src/ucs4le.h: New files. * src/converters.h: Include them. * src/ucs2swapped.h: Remove #defines for UCS-2-BE, UCS-2-LE. * src/ucs4swapped.h: Remove #defines for UCS-4-BE, UCS-4-LE. * src/encodings.def (UCS-2BE): Renamed from UCS-2-BE. (UCS-2LE): Renamed from UCS-2-LE. (UCS-4BE): Renamed from UCS-4-BE. (UCS-4LE): Renamed from UCS-4-LE. * Makefile.devel (src/aliases.h): Pass option "-i 1" to gperf. * README, man/iconv_open.3: Add UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE. * tests/Makefile.in (check): Check UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE. * tests/Makefile.msvc (check): Likewise. * tests/UCS-*snippet*: New files. Allow building as a shared library on Windows. Allow running the tests on Windows. * Makefile.devel (include/iconv.h.msvc): Remove rule. (include/iconv.h.msvc-static, include/iconv.h.msvc-shared): New rules. (all): Update. * windows/dllexport.h: New file. * include/iconv.h.msvc: Remove file. * include/iconv.h.msvc-static, include/iconv.h.msvc-shared: New autogenerated files. * Makefile.msvc (STATIC, DEBUG): Default to 0. (all): Choose either include\iconv.h.msvc-static or include\iconv.h.msvc-shared. (check): Depend on all. (all, check, mostlyclean, clean, distclean, maintainer-clean): Recurse into tests directory. * src/Makefile.msvc (STATIC, DEBUG): Default to 0. (WARN_CFLAGS, PICFLAGS, OPTIMFLAGS): New variables. (CFLAGS): Use them. Add -MD and -DBUILDING_LIBICONV. (RESOURCES): New variable. (iconv.lib): Change rule when building DLL. (clean, distclean): One filename per line. * tests/Makefile.msvc: New file. * tests/check-stateful.bat, tests/check-stateless.bat, tests/check-translit.bat: New files. * tests/uniq-u.c: New file, taken from GNU textutils. * README.win32: Update. Based on patches by Taro Muraoka . 2000-04-14 Bruno Haible Fix an OSF/1 problem. * configure.in: Define GCC variable for substitution. * src/Makefile.in (libiconv_plug_osf.so): Change rule if not using gcc. 2000-04-13 Bruno Haible Fix a SunOS 4 problem. * include/iconv.h.in: If EILSEQ is not defined by the system, define it to ENOENT, not EINVAL. 2000-04-02 Bruno Haible Allow building on filesystems lacking symlinks and hard links. * Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with CL_PROG_LN_S. * configure.in: Add CL_PROG_LN, CL_PROG_LN_S. * src/Makefile.in (LN): Use autoconfigured value @LN@. (LN_S): Use autoconfigured value @LN_S@. 2000-03-15 Bruno Haible * Version 1.2 released. * include/iconv.h.in (_LIBICONV_VERSION): Bump version number. * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:1:1. 2000-03-14 Bruno Haible Implement and document UTF-16BE and UTF16LE. * src/utf16be.h, src/utf16le.h: New files. * src/converters.h: Include them. * src/encodings.def (UTF-16BE, UTF16LE): New encodings. * README, man/iconv_open.3: Add UTF-16BE, UTF16LE. * tests/Makefile.in (check): Check UTF-16, UTF-16BE, UTF16LE. * tests/UTF-16*snippet*: New files. * src/utf16.h (utf16_wctomb): Output a byte order mark. 2000-03-13 Bruno Haible Provide all encodings used by AIX locales. * tools/Makefile (all): Add cp856.h, cp922.h, cp1046.h, cp1124.h, cp1129.h. (cp856.h, cp922.h, cp1046.h, cp1124.h, cp1129.h): New targets. * src/cp856.h, src/cp922.h, src/cp943.h, src/cp1046.h, src/cp1124.h, src/cp1129.h: New files. * src/converters.h: Include them if USE_AIX is defined. * src/encodings_aix.def: New file, with CP856, CP922, CP943, CP1046, CP1124, CP1129. * src/genflags.c: Define USE_AIX. Include encodings_aix.def. * src/genaliases2.c: New file. * src/iconv.c: Define USE_AIX on AIX. Include encodings_aix.def and aliases_aix.h. (aliases2_lookup): New function. (iconv_open): Call aliases2_lookup. * src/Makefile.in (iconv.lo): Depend on encodings_aix.def and aliases_aix.h. * Makefile.devel (all): Add src/aliases_aix.h. (src/aliases_aix.h): New rule. (src/flags.h): Depend on src/encodings_aix.def. 2000-02-24 Bruno Haible * src/iconv.c (iconv): Don't write beyond the end of the output buffer. Reported by Edmund Grimley Evans . 2000-02-22 Bruno Haible * src/utf7.h (direct_tab, xdirect_tab): Treat tab like space. 2000-02-15 Bruno Haible * src/iconv.c (iconv): Add cast in xxx_reset call. 2000-02-05 Bruno Haible * src/tis620.h: Simplify. 2000-01-27 Bruno Haible * Makefile.devel (CLISP_DIR): Change to "..". 2000-01-24 Bruno Haible * Version 1.1 released. * include/iconv.h.in (_LIBICONV_VERSION): Bump version number. * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:0:1. 2000-01-23 Bruno Haible * src/utf7.h (utf7_wctomb): If base64 encoding is not active, encode '+' as "+-". 2000-01-22 Bruno Haible * include/iconv.h.in (iconvctl): New declaration. (ICONV_TRIVIALP, ICONV_GET_TRANSLITERATE, ICONV_SET_TRANSLITERATE): New macros. * src/iconv.c (iconvctl): New function. * tests/Makefile.in: Add a rule for ../src/libiconv.la. Define $(MAKE). Solve a build problem. * include/iconv.h.in: Renamed from include/libiconv.h.in. * Makefile.devel: libiconv.h -> iconv.h. * Makefile.in: Likewise. * configure.in: Likewise. Remove check for . * src/iconv.c: Include iconv.h instead of libiconv.h. * tests/iconv.c, tests/table-from.c, tests/table-to.c: Likewise. * README, man/iconv_open.3: Don't document JOHAB any more. * man/iconv.3: Clarify return value again. 2000-01-16 Bruno Haible Add aliases. * src/encodings.def (ISO-8859-14): Add alias ISO-IR-199. (ISO-8859-15): Add alias ISO-IR-203. (EUC-CN): Add alias CN-GB, from RFC 1922. (BIG5): Add alias CN-BIG5, from RFC 1922. * Makefile.devel (src/aliases.h): Add 8th character to key set. Drop X11 aliases. * src/encodings.def (JIS_X0201): Drop JISX0201.1976-0 alias. (JIS_X0208): Drop JIS_X0208.1983-0, JIS_X0208.1983-1 aliases. (KSC_5601): Drop KSC5601.1987-0 alias. Improve GB/T 12345 (not used yet). * tools/Makefile (gb12345ext.h): Use GB12345-more.TXT. * src/gb12345ext.h: Regenerated. Improve and document CP949. * tools/Makefile (all): Add uhc_1.h and uhc_2.h. (uhc_1.h, uhc_2.h): New rules. * tools/cjk_tab_to_h.c (output_charset2uni_noholes_monotonic): New function. (output_uni2charset_sparse): Take an additional boolean argument. All callers changed. (*_uhc_1, *_uhc_2): New functions. (main): Treat uhc_1 and uhc_2. * src/uhc_1.h, src/uhc_2.h: New files. * src/cp949.h: New file, include them. * src/converters.h: Include it. * src/encodings.def (KSC_5601): Remove alias CP949. (CP949): New encoding. * README, man/iconv_open.3: Add CP949. * tests/Makefile.in (check): Check CP949. * tests/CP949.TXT: New file. Document CP932. * README, man/iconv_open.3: Add CP932. * tests/Makefile.in (check): Check CP932. * tests/CP932.TXT, tests/CP932.IRREVERSIBLE.TXT: New files. * Makefile.devel (src/flags.h): Depend on src/converters.h. * tests/Makefile.in (check): Check JIS_X0201. * tests/JIS_X0201.TXT: New file. * src/euc_kr.h (euc_kr_wctomb): Shrink size of buf. * src/iso2022_kr.h (iso2022_kr_wctomb): Likewise. * src/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Use isoir165_mbtowc. (iso2022_cn_ext_wctomb): Use isoir165_wctomb. Add ISO-IR-165 (undocumented). * tools/Makefile (all): Add isoir165ext.h. (isoir165ext.h): New rule. * tools/cjk_tab_to_h.c (main): Treat isoir165ext like gb2312. * src/isoir165.h, src/isoir165ext.h: New files. * src/converters.h: Include it. * src/encodings.def: Add ISO-IR-165. * tests/Makefile.in (check): Check ISO-IR-165. * tests/ISO-IR-165.TXT, tests/ISO-IR-165.IRREVERSIBLE.TXT: New files. Add ISO646-CN (undocumented). * src/iso646_cn.h: New file. * src/converters.h: Include it. * src/encodings.def: Add ISO646-CN. * tests/Makefile.in (check): Check ISO646-CN. * tests/ISO646-CN.TXT: New file. Add ISO646-JP (undocumented). * src/iso646_jp.h: New file. * src/converters.h: Include it. * src/encodings.def: Add ISO646-JP. * tests/Makefile.in (check): Check ISO646-JP. * tests/ISO646-JP.TXT: New file. 2000-01-05 Bruno Haible Add ISO-8859-16. * tools/Makefile (all): Add iso8859_16.h. (iso8859_16.h): New rule. * src/iso8859_16.h: New file. * src/converters.h: Include it. * src/encodings.def: Add ISO-8859-16. * README, man/iconv_open.3: Add ISO-8859-16. * tests/Makefile.in (check): Check ISO-8859-16. * tests/ISO-8859-16.TXT: New file. * man/iconv.3: Clarify what happens *inbuf in case 3. * src/iso8859_8.h: Update using newest table from ftp.unicode.org. * tests/ISO-8859-8.TXT: Likewise. 2000-01-04 Bruno Haible * Version 1.0 released. * include/libiconv.h.in (_LIBICONV_VERSION): Bump version number. * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 0:1:0. (libiconv.la): Use LIBICONV_VERSION_INFO. 2000-01-03 Bruno Haible * tests/Makefile.in: New file. tests/check-stateless, tests/table-from.c, tests/table-to.c, tests/*.TXT, tests/genutf8.c: New files, checks for stateless encodings. tests/check-stateful, tests/iconv.c, tests/*-snippet*: New files, checks for stateful encodings. * Makefile.in (all, check, mostlyclean, clean, distclean, maintainer-clean): Descend into tests directory. * configure.in: Add tests/Makefile to AC_OUTPUT duties. * src/gentranslit.c: New file. * Makefile.devel (src/translit.h): New rule. * src/translit.def, src/translit.h: New files. * src/iconv.c: Include it. (iconv): Transliterate using translit.h table. * src/genflags.c: New file. * Makefile.devel (src/flags.h): New rule. * src/flags.h: New file. * src/iconv.c: Include it. (encoding): Add field 'oflags'. (all_encodings): Initialize the field 'oflags'. (iconv_open): Copy field 'oflags'. (iconv): Transliterate quotation marks U+2018, U+2019, U+201A. * src/Makefile.in (iconv.lo): Update dependencies. * src/converters.h: New file, extracted from src/iconv.c. * src/iconv.c: Include it. * src/Makefile.in (iconv.lo): Update dependencies. * tools/cjk_variants.c: New file. * tools/Makefile (ALL): Add cjk_variants.h. (cjk_variants.h, cjk_variants): New rules. * src/cjk_variants.h: New file. * src/iconv.c: Include it. (iconv): Use cjk_variants for transliteration. * man/iconv.3: Fix description of return value. * euc_kr.h (euc_kr_wctomb): Remove Hangul transliteration. * iso2022_kr.h (iso2022kr_wctomb): Likewise. * src/iconv.c (iconv): Do Hangul transliteration here and increment result once for every transliterated character. * src/johab_hangul.h (johab_hangul_decompose): Change result array from 'unsigned char*' to 'wchar_t*'. * src/cp1258.h (cp1258_mbtowc): Return RET_ILSEQ instead of storing 0xfffd. * src/georgian_ps.h (georgian_ps_wctomb): Accept 0x00e6. * src/euc_jp.h (euc_jp_wctomb): Don't treat U+005C and U+007E like Katakana. * src/euc_tw.h (euc_tw_mbtowc): Fix typo. * src/cp950.h (cp950_mbtowc, cp950_wctomb): Exclude the range 0xC6A1..0xC7FE. * tools/cjk_tab_to_h.c (read_table_ksc5601): Some Hangul range was not being excluded. Fix that. * src/ksc5601.h: Regenerated. * src/johab.h (johab_mbtowc): Don't accept 0xDA{A1..D3} - this is valid in KSC5601/KSX1001 but not in JOHAB. * src/iconv.c (conv_struct): Add fields iindex, oindex. (iconv_open): Fill in iindex, oindex. * src/encodings.def (UCS-2-BE): Add aliases "UNICODE-1-1" and "csUnicode11", from IANA charset list. (MacRoman): Add aliases "MAC" and "csMacintosh" for "MACINTOSH", from IANA charset list. (JIS_X0208): Add aliases "X0208", "ISO-IR-87", "csISO87JISX0208", from IANA charset list. (GB_2312-80): New encoding, from IANA charset list. * README, man/iconv_open.3: Add MacIceland and MacUkraine. * Makefile.devel: Add rules for src/aliases.h and src/aliases.gperf. (all): Depend on src/aliases.h. * src/Makefile.in: Remove rules for $(srcdir)/aliases.h and $(srcdir)/aliases.gperf. (clean): Clean up. * src/Makefile.in (libiconv_plug_linux.so): Remove unneeded "-ldl". 1999-12-31 Bruno Haible * Version 0.3 released.