diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index ca4ea277..00000000
--- a/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-ChangeLog merge=merge-changelog
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 9e32a341..a6638a16 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -11,61 +11,43 @@ jobs:
runs-on: ubuntu-latest
steps:
+ - name: ๐ Checkout
+ uses: actions/checkout@v4
- #--------------------------------------------collect--------------------------------------------
- - uses: actions/checkout@v3
-
- - name: ๐ท๏ธ Get infomations
- run: |
- tag="${GITHUB_REF#refs/tags/}"
- echo "tag=$tag" >> $GITHUB_ENV
- echo "pkgname=cppp-reiconv-$tag" >> $GITHUB_ENV
- echo "srcdir=$(pwd)" >> $GITHUB_ENV
+ - name: ๐งฐ Setup Rubisco
+ id: rubisco
+ uses: cppp-project/rubisco@main
+ with:
+ host: x86_64-linux-gnu
- - name: ๐ Collect dependencies
- run: |
- sudo apt-get update
- sudo apt-get install p7zip-full zip xz-utils -y
- sudo apt-get install gperf cmake gcc python3 -y
-
- #--------------------------------------------build--------------------------------------------
- - name: ๐งณ Prepare for source distribution building
- run: |
- mkdir -p ./dist
- ./setup.sh
-
- - name: ๐ ๏ธ Build source distribution
+ - name: ๐ Collect subpackages
run: |
- ./cpppdist.py
-
- - name: ๐ฆ Make packages
+ git clone https://github.com/cppp-project/build-aux --depth 1
+ git clone https://github.com/cppp-project/cppp-platform --depth 1
+
+ - name: ๐ฆ Build source distribution
run: |
- tar cvf ${{ env.pkgname }}.tar ${{ env.pkgname }}
- zip -r -9 dist/${{ env.pkgname }}.zip ${{ env.pkgname }}
- 7z a dist/${{ env.pkgname }}.7z ${{ env.pkgname }}
- xz -c -9 -k ${{ env.pkgname }}.tar > dist/${{ env.pkgname }}.tar.xz
- gzip -c -9 -k ${{ env.pkgname }}.tar > dist/${{ env.pkgname }}.tar.gz
+ rubisco dist
+ # Rubisco will support it later.
+ - name: ๐ฆ Generate checksum
+ run: |
cd dist
- for i in $(ls) ; do md5sum $i > $i.md5 ; done
+ for i in $(ls) ; do sha256sum $i > $i.sha256 ; done
cd ..
-
- #--------------------------------------------publish--------------------------------------------
- name: โฌ๏ธ Create release and upload assets
uses: softprops/action-gh-release@v1
with:
- tag_name: ${{ env.tag }}
+ tag_name: ${{ steps.rubisco.outputs.tag }}
files: ./dist/*
build-linux:
-
- needs: build-dist
strategy:
fail-fast: false
matrix:
- arch: [
+ host: [
aarch64-linux-gnu,
alpha-linux-gnu,
arm-linux-gnueabi,
@@ -75,51 +57,44 @@ jobs:
mips64-linux-gnuabi64,
mips64el-linux-gnuabi64,
mipsel-linux-gnu,
- mipsisa32r6-linux-gnu,
- mipsisa32r6el-linux-gnu,
- mipsisa64r6-linux-gnuabi64,
- mipsisa64r6el-linux-gnuabi64,
powerpc-linux-gnu,
powerpc64-linux-gnu,
- powerpc64le-linux-gnu,
riscv64-linux-gnu,
sh4-linux-gnu,
x86_64-linux-gnu
]
-
+
runs-on: ubuntu-latest
-
+
steps:
-
- #--------------------------------------------collect--------------------------------------------
- - name: ๐ท๏ธ Get infomations
- run: |
- tag="${GITHUB_REF#refs/tags/}"
- echo "tag=$tag" >> $GITHUB_ENV
- echo "pkgname=cppp-reiconv-$tag" >> $GITHUB_ENV
- echo "srcdir=$(pwd)" >> $GITHUB_ENV
+ - name: ๐ Checkout
+ uses: actions/checkout@v4
+ - name: ๐งฐ Setup Rubisco
+ id: rubisco
+ uses: cppp-project/rubisco@main
+ with:
+ host: ${{ matrix.host }}
+
+ # Rubisco don't support setup cross-compiler now.
- name: ๐ Collect dependencies
run: |
sudo apt-get update
- sudo apt-get install p7zip-full zip xz-utils wget -y
- sudo apt-get install gperf cmake -y
- if [ "${{ matrix.arch }}" = "x86_64-linux-gnu" ] ;
+ if [ "${{ matrix.host }}" = "x86_64-linux-gnu" ] ;
then
sudo apt-get install gcc g++ -y ;
else
- sudo apt-get install gcc-${{ matrix.arch }} g++-${{ matrix.arch }} -y ;
+ sudo apt-get install gcc-${{ matrix.host }} g++-${{ matrix.host }} -y ;
fi
-
- - name: ๐ Get source distribution tarball
+
+ - name: ๐ Collect subpackages
run: |
- wget https://github.com/${{ github.repository }}/releases/download/${{ env.tag }}/${{ env.pkgname }}.tar.gz
- tar zxvf ${{ env.pkgname }}.tar.gz
- mv ${{ env.pkgname }}/* .
-
- #--------------------------------------------build--------------------------------------------
- - name: ๐งณ Prepare for binary distribution building
+ git clone https://github.com/cppp-project/build-aux --depth 1
+ git clone https://github.com/cppp-project/cppp-platform --depth 1
+
+ - name: ๐งณ Prepare for building
run: |
+ mkdir -p ${{ steps.rubisco.outputs.pkgname }}-${{ matrix.host }}
mkdir -p dist
- name: ๐ ๏ธ Build binary distribution
@@ -127,184 +102,142 @@ jobs:
export C_COMPILER="gcc"
export CXX_COMPILER="g++"
export LINKER="ld"
- export CC_CROSS="/usr/bin/${{ matrix.arch }}-$C_COMPILER"
- export CXX_CROSS="/usr/bin/${{ matrix.arch }}-$CXX_COMPILER"
- export LD="/usr/bin/${{ matrix.arch }}-$LINKER"
+ export CC_CROSS="/usr/bin/${{ matrix.host }}-$C_COMPILER"
+ export CXX_CROSS="/usr/bin/${{ matrix.host }}-$CXX_COMPILER"
+ export LD="/usr/bin/${{ matrix.host }}-$LINKER"
mkdir build
cd build
- cmake .. -DCMAKE_INSTALL_PREFIX=${{ env.srcdir }}/${{ env.pkgname }}-${{ matrix.arch }} -DCMAKE_C_COMPILER=$CC_CROSS -DCMAKE_CXX_COMPILER=$CXX_CROSS -DCMAKE_LINKER=$LD
- cmake --build . --config=Release
- cmake --install .
+ cmake .. -DBUILD_TESTING=OFF -DICONV_COMPAT=OFF -DCMAKE_INSTALL_PREFIX="${{ steps.rubisco.outputs.srcdir }}/${{ steps.rubisco.outputs.pkgname }}-${{ matrix.host }}" -DCMAKE_C_COMPILER=$CC_CROSS -DCMAKE_CXX_COMPILER=$CXX_CROSS -DCMAKE_LINKER=$LD
+ cmake --build . --config=Release -j $(nproc)
+ cmake --install . --config=Release
cd ..
- name: ๐ฆ Make packages
run: |
- tar cvf ${{ env.pkgname }}-${{ matrix.arch }}.tar ${{ env.pkgname }}-${{ matrix.arch }}
- zip -r -9 dist/${{ env.pkgname }}-${{ matrix.arch }}.zip ${{ env.pkgname }}-${{ matrix.arch }}
- 7z a dist/${{ env.pkgname }}-${{ matrix.arch }}.7z ${{ env.pkgname }}-${{ matrix.arch }}
- xz -c -9 -k ${{ env.pkgname }}-${{ matrix.arch }}.tar > dist/${{ env.pkgname }}-${{ matrix.arch }}.tar.xz
- gzip -c -9 -k ${{ env.pkgname }}-${{ matrix.arch }}.tar > dist/${{ env.pkgname }}-${{ matrix.arch }}.tar.gz
+ tar cvf dist/${{ steps.rubisco.outputs.pkgname }}-${{ matrix.host }}.tar ${{ steps.rubisco.outputs.pkgname }}-${{ matrix.host }}
+ xz -9 dist/${{ steps.rubisco.outputs.pkgname }}-${{ matrix.host }}.tar
+ - name: ๐ฆ Generate checksum
+ run: |
cd dist
- for i in $(ls) ; do md5sum $i > $i.md5 ; done
+ for i in $(ls) ; do sha256sum $i > $i.sha256 ; done
cd ..
-
- #--------------------------------------------publish--------------------------------------------
- name: โฌ๏ธ Create release and upload assets
uses: softprops/action-gh-release@v1
with:
- tag_name: ${{ env.tag }}
+ tag_name: ${{ steps.rubisco.outputs.tag }}
files: ./dist/*
- build-macos:
-
- needs: build-dist
-
- strategy:
- fail-fast: false
- matrix:
- arch: [
- x86_64,
- arm64
- ]
+ build-darwin:
runs-on: macos-latest
steps:
-
- #--------------------------------------------collect--------------------------------------------
- - uses: maxim-lobanov/setup-xcode@v1
- with:
- xcode-version: latest-stable
+ - name: ๐ Checkout
+ uses: actions/checkout@v4
- - name: ๐ท๏ธ Get infomations
- run: |
- tag="${GITHUB_REF#refs/tags/}"
- echo "tag=$tag" >> $GITHUB_ENV
- echo "pkgname=cppp-reiconv-$tag" >> $GITHUB_ENV
- echo "srcdir=$(pwd)" >> $GITHUB_ENV
+ - name: ๐งฐ Setup Rubisco
+ id: rubisco
+ uses: cppp-project/rubisco@main
+ with:
+ host: arm64-apple-darwin
- name: ๐ Collect dependencies
run: |
- brew install p7zip zip xz wget md5sha1sum
- brew install gperf cmake
-
- - name: ๐ Get source distribution tarball
+ brew install coreutils
+
+ - name: ๐ Collect subpackages
run: |
- wget https://github.com/${{ github.repository }}/releases/download/${{ env.tag }}/${{ env.pkgname }}.tar.gz
- tar zxvf ${{ env.pkgname }}.tar.gz
- mv ${{ env.pkgname }}/* .
-
- #--------------------------------------------build--------------------------------------------
- - name: ๐งณ Prepare for binary distribution building
+ git clone https://github.com/cppp-project/build-aux --depth 1
+ git clone https://github.com/cppp-project/cppp-platform --depth 1
+
+ - name: ๐งณ Prepare for building
run: |
+ mkdir -p ${{ steps.rubisco.outputs.pkgname }}-arm64-apple-darwin
mkdir -p dist
-
+
- name: ๐ ๏ธ Build binary distribution
run: |
- export CC_CROSS="clang"
- export CXX_CROSS="clang++"
-
mkdir build
cd build
- cmake .. -DCMAKE_INSTALL_PREFIX=${{ env.srcdir }}/${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple -DCMAKE_C_COMPILER=$CC_CROSS -DCMAKE_CXX_COMPILER=$CXX_CROSS -DCMAKE_C_FLAGS="${CMAKE_C_FLAGS} -arch ${{ matrix.arch }}" -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -arch ${{ matrix.arch }}"
- cmake --build . --config=Release
- cmake --install .
+ cmake .. -DBUILD_TESTING=OFF -DICONV_COMPAT=OFF -DCMAKE_INSTALL_PREFIX="${{ steps.rubisco.outputs.srcdir }}/${{ steps.rubisco.outputs.pkgname }}-arm64-apple-darwin"
+ cmake --build . --config=Release -j $(nproc)
+ cmake --install . --config=Release
cd ..
-
+
- name: ๐ฆ Make packages
run: |
- tar cvf ${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.tar ${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple
- zip -r -9 dist/${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.zip ${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple
- 7z a dist/${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.7z ${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple
- xz -c -9 -k ${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.tar > dist/${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.tar.xz
- gzip -c -9 -k ${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.tar > dist/${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.tar.gz
+ tar cvf dist/${{ steps.rubisco.outputs.pkgname }}-arm64-apple-darwin.tar ${{ steps.rubisco.outputs.pkgname }}-arm64-apple-darwin
+ xz -9 dist/${{ steps.rubisco.outputs.pkgname }}-arm64-apple-darwin.tar
+ - name: ๐ฆ Generate checksum
+ run: |
cd dist
- for i in $(ls) ; do md5sum $i > $i.md5 ; done
- cd ..
- #--------------------------------------------publish--------------------------------------------
+ for i in $(ls) ; do sha256sum $i > $i.sha256 ; done
+ cd ..
- name: โฌ๏ธ Create release and upload assets
uses: softprops/action-gh-release@v1
with:
- tag_name: ${{ env.tag }}
+ tag_name: ${{ steps.rubisco.outputs.tag }}
files: ./dist/*
- build-msvc:
-
- needs: build-dist
-
- strategy:
- fail-fast: false
- matrix:
- include:
- - { arch: amd64, msvc_arch: x64 }
- - { arch: i386, msvc_arch: Win32 }
- - { arch: arm64, msvc_arch: ARM64 }
- - { arch: arm, msvc_arch: ARM }
-
- runs-on: windows-latest
-
- steps:
-
- #--------------------------------------------collect--------------------------------------------
- - name: ๐งณ Set up MSVC
- uses: microsoft/setup-msbuild@v1
-
- - name: ๐ท๏ธ Get infomations
- run: |
- $tag="$env:GITHUB_REF_NAME"
- echo "tag=$tag" >> $env:GITHUB_ENV
- echo "pkgname=cppp-reiconv-$tag" >> $env:GITHUB_ENV
- echo "srcdir=$($PWD.Path)" >> $env:GITHUB_ENV
-
- - name: ๐ Collect dependencies
- run: |
- choco install 7zip.commandline zip gzip dos2unix wget mingw -y
-
- - name: ๐ Get source distribution tarball
- run: |
- wget https://github.com/${{ github.repository }}/releases/download/${{ env.tag }}/${{ env.pkgname }}.tar.gz
- tar zxvf ${{ env.pkgname }}.tar.gz
- Move-Item -Path ${{ env.pkgname }}\* -Destination .
-
- - name: ๐งณ Prepare for binary distribution building
- run: |
- mkdir dist
-
- - name: ๐ ๏ธ Build binary distribution
- run: |
- mkdir build
- cd build
- cmake .. -DCMAKE_INSTALL_PREFIX=${{ env.srcdir }}/${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc -A ${{ matrix.msvc_arch }}
- cmake --build . --config=Release
- cmake --install .
- cd ..
-
- - name: ๐ฆ Make packages
- run: |
- tar cvf ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.tar ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc
- zip -r -9 dist/${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.zip ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc
- 7z a dist/${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.7z ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc
- xz -9 -k ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.tar
- gzip -9 -k ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.tar
- mv ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.tar.xz dist
- mv ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.tar.gz dist
-
- cd dist
- Get-ChildItem | ForEach-Object {
- md5sum $_.Name > ($_.Name + ".md5")
- dos2unix ($_.Name + ".md5")
- }
- cd ..
-
- #--------------------------------------------publish--------------------------------------------
-
- - name: โฌ๏ธ Create release and upload assets
- uses: softprops/action-gh-release@v1
- with:
- tag_name: ${{ env.tag }}
- files: ./dist/*
+ # Rubisco cannot been install due to encoding problems on Windows.
+ # build-windows:
+
+ # runs-on: windows-latest
+
+ # steps:
+ # - name: ๐ Checkout
+ # uses: actions/checkout@v4
+
+ # - name: ๐งฐ Setup Rubisco
+ # id: rubisco
+ # uses: cppp-project/rubisco@main
+ # with:
+ # host: x86_64-windows-msvc
+
+ # - name: ๐ Collect dependencies
+ # run: |
+ # choco install zip dos2unix mingw -y
+
+ # - name: ๐ Collect subpackages
+ # run: |
+ # git clone https://github.com/cppp-project/build-aux --depth 1
+ # git clone https://github.com/cppp-project/cppp-platform --depth 1
+
+ # - name: ๐งณ Prepare for building
+ # run: |
+ # mkdir -p ${{ steps.rubisco.outputs.pkgname }}-x86_64-windows-msvc
+ # mkdir -p dist
+
+ # - name: ๐ ๏ธ Build binary distribution
+ # run: |
+ # mkdir build
+ # cd build
+ # cmake .. -DBUILD_TESTING=OFF -DICONV_COMPAT=ON -DCMAKE_INSTALL_PREFIX="${{ steps.rubisco.outputs.srcdir }}/${{ steps.rubisco.outputs.pkgname }}-x86_64-windows-msvc"
+ # cmake --build . --config=Release -j $(nproc)
+ # cmake --install . --config=Release
+ # cd ..
+
+ # - name: ๐ฆ Make packages
+ # run: |
+ # tar cvf dist/${{ steps.rubisco.outputs.pkgname }}-x86_64-windows-msvc.tar ${{ steps.rubisco.outputs.pkgname }}-x86_64-windows-msvc
+ # xz -9 dist/${{ steps.rubisco.outputs.pkgname }}-x86_64-windows-msvc.tar
+
+ # - name: ๐ฆ Generate checksum
+ # run: |
+ # cd dist
+ # Get-ChildItem | ForEach-Object {
+ # sha256sum $_.Name > ($_.Name + ".sha256")
+ # dos2unix ($_.Name + ".sha256")
+ # }
+ # cd ..
+
+ # - name: โฌ๏ธ Create release and upload assets
+ # uses: softprops/action-gh-release@v1
+ # with:
+ # tag_name: ${{ steps.rubisco.outputs.tag }}
+ # files: ./dist/*
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index b937fe55..6fb6bcf2 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,77 +1,38 @@
-name: โ๏ธ Test cppp-reiconv library
+name: โ๏ธ Test cppp-reiconv
on:
release:
types: [published]
push:
branches: [ "main" ]
- workflow_dispatch:
+ pull_request:
+ branches: [ "main" ]
jobs:
- test-linux:
+ build:
+ runs-on: ${{ matrix.os }}
- runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
- steps:
- #--------------------------------------------collect--------------------------------------------
- - uses: actions/checkout@v3
+ matrix:
+ include:
+ - { os: macos-latest, host: aarch64-apple-darwin }
+ - { os: ubuntu-latest, host: x86_64-linux-gnu }
- - name: ๐งฐ Setup Python
- uses: actions/setup-python@v4
-
- - name: ๐ Collect dependencies
- run: |
- sudo apt-get update
- sudo apt-get install gcc cmake -y
-
- - name: ๐งฐ Setup build-aux
- run: |
- ./setup.sh
-
- #--------------------------------------------build--------------------------------------------
- - name: ๐ ๏ธ Build
- run : |
- mkdir -p build
- cd build
- cmake .. -DENABLE_EXTRA=ON -DENABLE_TEST=ON
- cmake --build . --config=Release
- cd ..
-
- #--------------------------------------------test--------------------------------------------
- - name: โ๏ธ Test
- run : |
- cd build
- ctest --verbose -C Release
- cd ..
-
- test-macos:
+ steps:
+ - name: ๐ Checkout
+ uses: actions/checkout@v4
- runs-on: macos-latest
+ - name: ๐งฐ Setup Rubisco
+ uses: cppp-project/rubisco@main
+ with:
+ host: ${{ matrix.host }}
- steps:
- #--------------------------------------------collect--------------------------------------------
- - uses: actions/checkout@v3
-
- - name: ๐ Collect dependencies
+ - name: ๐ Setup subpackages
run: |
- brew install cmake
-
- - name: ๐งฐ Setup build-aux
- run : |
- ./setup.sh
-
- #--------------------------------------------build--------------------------------------------
- - name: ๐ ๏ธ Build
- run : |
- mkdir build
- cd build
- cmake .. -DENABLE_EXTRA=ON -DENABLE_TEST=ON
- cmake --build . --config=Release
- cd ..
-
- #--------------------------------------------test--------------------------------------------
- - name: โ๏ธ Test
- run : |
- cd build
- ctest --verbose -C Release
- cd ..
+ git clone https://github.com/cppp-project/build-aux --depth 1
+ git clone https://github.com/cppp-project/cppp-platform --depth 1
+
+ - name: ๐งช Test
+ run: rubisco test
diff --git a/.gitignore b/.gitignore
index db96c706..5ab9e39b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,64 +1,74 @@
# CMake build files
-build/
+build
+install
CMakeFiles
-*.so
-*.so.*.*.*
-*.a
-*.dylib
-*.stackdump
-*.lib
-*.pdb
-*.dll
-*.exe
cmake_install.cmake
CMakeCache.txt
CTestTestfile.cmake
DartConfiguration.tcl
Makefile
-uninstall.cmake
+cmake_uninstall.cmake
reiconv.hpp
CTestCostData.txt
-*.inst
Testing
+install_manifest.txt
+CPackConfig.cmake
+CPackSourceConfig.cmake
+_CPack_Packages
+pdb
+tests/check-encoding
+tests/check-stateful
+tests/check-stateless
+tests/data-generator
+tests/sort
+tests/test-bom-state
+tests/test-discard
+windows/cppp-reiconv.rc
+*.inst
*.log
*.dSYM
+*.so
+*.so.*.*.*
+*.a
+*.dylib
+*.stackdump
+*.lib
+*.pdb
+*.dll
+*.exe
+*.sln
+*.out
+*.vcxproj
+*.vcxproj.filters
+*.vcxproj.user
+*.vcxproj.user.*
+build.ninja
+.ninja_*
+Release/
+Debug/
+RelWithDebInfo/
+MinSizeRel/
+x64/
+x86/
+ARM/
+ARM64/
+*.suo
+*.user
+*.user.*
+*.dir
+__pycache__
+
+# Dist files
+dist/
+cppp-reiconv-*
+*.tar.xz
+*.deb
# Makefile.devel temp files
lib/generated/genaliases
-lib/generated/genaliases_sysaix
-lib/generated/genaliases_syshpux
-lib/generated/genaliases_sysosf1
-lib/generated/genaliases_syssolaris
-lib/generated/genaliases2_aix
-lib/generated/genaliases2_aix_sysaix
-lib/generated/genaliases2_dos
-lib/generated/genaliases2_extra
-lib/generated/genaliases2_osf1
-lib/generated/genaliases2_osf1_sysosf1
-lib/generated/genaliases2_zos
-lib/generated/genflags
-/*/**/*.gperf
-
-
-# Test suite runable
-tests/cmp
-tests/cmp.exe
-tests/gengb18030z
-tests/gengb18030z.exe
-tests/genutf8
-tests/genutf8.exe
-tests/reiconv-test
-tests/reiconv-test.exe
-tests/table-from
-tests/table-from.exe
-tests/table-to
-tests/table-to.exe
-tests/test-shiftseq
-tests/test-shiftseq.exe
-tests/uniq-u
-tests/uniq-u.exe
-tests/tmp-*.TXT
-a.out
+lib/generated/genindexes
+lib/generated/check-encodings
+*.gperf
# Patterns for all subdirectories: all kinds of automatic backup files.
*.orig
@@ -68,18 +78,18 @@ a.out
*.swp
.#*
\#*#
-.vscode
-.cache
+.vscode/
+.cache/
-# Autopull modules
+# Submodules.
build-aux/
+cppp-platform/
# Temp tests files.
tests/data/UTF-8.TXT
tests/data/GB18030-2005.TXT
tests/data/GB18030-2022.TXT
+tests/tmp-*.TXT
*.tmp
-
-# Dist directory and temps
-cppp-reiconv-v*
-__pycache__
+*.dump
+benchmark/benchmark
diff --git a/.markdownlint.json b/.markdownlint.json
new file mode 100644
index 00000000..e0f2ca05
--- /dev/null
+++ b/.markdownlint.json
@@ -0,0 +1,11 @@
+{
+ "MD013": {
+ "code_blocks": false
+ },
+ "MD024": {
+ "siblings_only": true
+ },
+ "MD033": {
+ "allowed_elements": ["img"]
+ }
+}
diff --git a/.rubisco/build.yml b/.rubisco/build.yml
new file mode 100644
index 00000000..6a9a5325
--- /dev/null
+++ b/.rubisco/build.yml
@@ -0,0 +1,19 @@
+name: ๐ ๏ธ Build ${{ project.name }}
+
+steps:
+ - name: ๐ฆ Make binary distribution directory
+ mkdir: ${{ project.name }}-${{ project.version }}-bin
+
+ - name: ๐ ๏ธ Configure and build
+ run: |
+ cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DCMAKE_INSTALL_PREFIX="${{ project.name }}-${{ project.version }}-bin"
+ cmake --build build --config Release -v -j ${{ nproc }}
+
+ - name: ๐ฆ Install to temp install path
+ run: |
+ cmake --install build --config Release --prefix "${{ project.name }}-${{ project.version }}-bin"
+
+ - name: ๐ฆ Packing the binary distribution
+ compress: ${{ project.name }}-${{ project.version }}-bin
+ to: dist/${{ project.name }}-${{ project.version }}
+ format: [zip, tar.xz]
diff --git a/.rubisco/dist.yml b/.rubisco/dist.yml
new file mode 100644
index 00000000..252da1ec
--- /dev/null
+++ b/.rubisco/dist.yml
@@ -0,0 +1,99 @@
+name: ๐ Make ${{ project.name }} distribution package
+
+vars:
+ - ignores:
+ [
+ ".git",
+ ".venv",
+ ".github",
+ "build",
+ "install",
+ "dist",
+ "CMakeFiles",
+ "cmake_install.cmake",
+ "CMakeCache.txt",
+ "CTestTestfile.cmake",
+ "DartConfiguration.tcl",
+ "Makefile",
+ "cmake_uninstall.cmake",
+ "reiconv.hpp",
+ "CTestCostData.txt",
+ "Testing",
+ "install_manifest.txt",
+ "CPackConfig.cmake",
+ "CPackSourceConfig.cmake",
+ "_CPack_Packages",
+ "tests/check-ascii-converters",
+ "tests/check-stateful",
+ "tests/check-stateless",
+ "tests/data-generator",
+ "tests/sort",
+ "windows/cppp-reiconv.rc",
+ "pdb",
+ "*.inst",
+ "*.log",
+ "*.dSYM",
+ "*.so",
+ "*.so.*.*.*",
+ "*.a",
+ "*.dylib",
+ "*.stackdump",
+ "*.lib",
+ "*.pdb",
+ "*.dll",
+ "*.exe",
+ "*.sln",
+ "*.vcxproj",
+ "*.vcxproj.filters",
+ "*.vcxproj.user",
+ "*.vcxproj.user.*",
+ "build.ninja",
+ ".ninja_*",
+ "Release",
+ "Debug",
+ "RelWithDebInfo",
+ "MinSizeRel",
+ "x64",
+ "x86",
+ "ARM",
+ "ARM64",
+ "*.suo",
+ "*.user",
+ "*.user.*",
+ "*.dir",
+ "__pycache__",
+ "dist",
+ "cppp-reiconv-*",
+ "*.tar.xz",
+ "*.deb",
+ "lib/generated/genaliases",
+ "*.gperf",
+ "*.orig",
+ "*.rej",
+ "*~",
+ "*.kate-swp",
+ "*.swp",
+ ".vscode",
+ ".cache",
+ "build-aux/",
+ "tests/data/UTF-8.TXT",
+ "tests/data/GB18030-2005.TXT",
+ "tests/data/GB18030-2022.TXT",
+ "tests/tmp-*.TXT",
+ "*.tmp",
+ ]
+
+steps:
+ - name: ๐ฆ Make source distribution directory
+ mkdir: ${{ project.name }}-${{ project.version }}
+ - mkdir: dist
+
+ - name: ๐ฆ Copy files to source distribution directory
+ copy: ${{ cwd }}
+ to: ${{ project.name }}-${{ project.version }}
+ excludes: ${{ ignores }}
+
+ - name: ๐ฆ Packing the source distribution
+ compress: ${{ project.name }}-${{ project.version }}
+ to: dist/${{ project.name }}-${{ project.version }}
+ format: [zip, tar.xz]
diff --git a/.rubisco/test.yml b/.rubisco/test.yml
new file mode 100644
index 00000000..a2785c7a
--- /dev/null
+++ b/.rubisco/test.yml
@@ -0,0 +1,13 @@
+name: ๐งช Run tests for ${{ project.name }}
+
+steps:
+ - name: ๐ ๏ธ Configure and build
+ run: |
+ cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON
+ cmake --build build --config Release -v -j ${{ nproc }}
+
+ - name: ๐งช Run tests
+ run: |
+ cd build
+ ctest --output-on-failure -C Release
+ cd ..
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 79d3deed..1a35a9f9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (C) 2023 The C++ Plus Project.
+# Copyright (C) 2023-2024 The C++ Plus Project.
# This file is part of the cppp-reiconv library.
#
# The cppp-reiconv library is free software; you can redistribute it
@@ -12,104 +12,150 @@
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
-# License along with the cppp-reiconv library; see the file COPYING.
+# License along with the cppp-reiconv library; see the file LICENSE.
# If not, see .
cmake_minimum_required(VERSION 3.12)
-project(cppp-reiconv VERSION 2.1.0)
+project(cppp-reiconv
+ VERSION 3.0.0
+ DESCRIPTION "A character set conversion library based on GNU LIBICONV."
+ HOMEPAGE_URL "https://github.com/cppp-project/cppp-reiconv")
-# Define options
-option(ENABLE_EXTRA "Enable extra encodings and features." OFF)
-
-# Set C++ standard
-set(CMAKE_CXX_STANDARD 17)
+option(BUILD_TESTING "Test suites for '${PROJECT_NAME}' enabled." ON)
+option(ICONV_COMPAT "Enable compatibility with iconv." OFF)
# ----------------------------------------------------------------------------------
-# Import build-aux subdirectory.
+# Import build auxiliaries.
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/build-aux")
set(BUILD_AUX "${CMAKE_CURRENT_SOURCE_DIR}/build-aux")
add_subdirectory("${BUILD_AUX}")
- message(STATUS "Using '${BUILD_AUX}' for C++ Plus build-aux directory.")
+ message(STATUS "Using '${BUILD_AUX}' for C+++ build-aux directory.")
elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../build-aux")
set(BUILD_AUX "${CMAKE_CURRENT_SOURCE_DIR}/../build-aux")
else()
- message(FATAL_ERROR "CMake build-aux directory is not exists, try to execute 'setup.cmd' or './setup.sh' to get it.")
+ message(FATAL_ERROR "C+++ build-aux directory is not exists.")
endif()
get_filename_component(BUILD_AUX "${BUILD_AUX}" ABSOLUTE)
include("${BUILD_AUX}/cmake/cppp.cmake")
-
-cppp_init_nls_util()
-
# ----------------------------------------------------------------------------------
-check_have_visibility()
-if(MSVC)
+add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/cppp-platform")
+
+if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ add_compile_options(-Wno-unused-parameter)
+ add_compile_options(-Wno-missing-field-initializers)
+ add_compile_options(-Wno-implicit-fallthrough)
+ add_compile_options(-Wno-unused-function)
+ add_compile_options(-Wno-sign-compare)
+ add_compile_options(-Wno-type-limits)
+elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ add_compile_options(-Wno-unused-parameter)
+ add_compile_options(-Wno-missing-field-initializers)
+ add_compile_options(-Wno-implicit-fallthrough)
+ add_compile_options(-Wno-unused-function)
+ add_compile_options(-Wno-sign-compare)
+ add_compile_options(-Wno-type-limits)
+elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ add_compile_options(/wd4996)
+ add_compile_options(/wd4267)
+ add_compile_options(/wd4244)
add_compile_options(/wd4018)
endif()
-# Generate header file for build
-if(WIN32)
- set(DLL_VARIABLE "__declspec(dllexport)")
-elseif(HAVE_VISIBILITY)
- set(DLL_VARIABLE "__attribute__((__visibility__(\"default\")))")
-else()
- set(DLL_VARIABLE "")
-endif()
+# Header for install.
+# cppp/reiconv.hpp
+set(CPPP_API "${CPPP_IMPORT_API}")
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/include/cppp/reiconv.hpp.in" "${output_includedir}/cppp/reiconv.hpp.inst")
+
+# cppp/reiconv.h
+set(CPPP_API "${CPPP_IMPORT_API}")
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/include/cppp/reiconv.h.in" "${output_includedir}/cppp/reiconv.h.inst")
+
+# Header for build.
+# cppp/reiconv.hpp
+set(CPPP_API "${CPPP_EXPORT_API}")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/include/cppp/reiconv.hpp.in" "${output_includedir}/cppp/reiconv.hpp")
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/windows/libcppp-reiconv.rc.in" "${CMAKE_BINARY_DIR}/windows/libcppp-reiconv.rc")
-# Generate header file for install
-if(WIN32)
- set(DLL_VARIABLE "__declspec(dllimport)")
-else()
- set(DLL_VARIABLE "")
-endif()
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/include/cppp/reiconv.hpp.in" "${output_includedir}/cppp/reiconv.hpp.inst")
-cppp_nls_autotranslate("${output_includedir}/cppp/reiconv.hpp.inst" "${CMAKE_CURRENT_SOURCE_DIR}/lang")
+# cppp/reiconv.h
+set(CPPP_API "${CPPP_EXPORT_API}")
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/include/cppp/reiconv.h.in" "${output_includedir}/cppp/reiconv.h")
+
+# cppp-reiconv.rc
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/windows/cppp-reiconv.rc.in" "${CMAKE_BINARY_DIR}/windows/cppp-reiconv.rc")
+
+# cppp/encodings/reiconv.hpp
+file(READ "${CMAKE_CURRENT_SOURCE_DIR}/lib/generated/indexes.hpp.shippet" _INDEXES_CODE)
+string(STRIP "${_INDEXES_CODE}" INDEXES_CODE)
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/include/cppp/encodings/reiconv.hpp.in" "${output_includedir}/cppp/encodings/reiconv.hpp")
+
+# cppp/encodings/reiconv.h
+file(READ "${CMAKE_CURRENT_SOURCE_DIR}/lib/generated/indexes.h.shippet" _INDEXES_CODE)
+string(STRIP "${_INDEXES_CODE}" INDEXES_CODE)
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/include/cppp/encodings/reiconv.h.in" "${output_includedir}/cppp/encodings/reiconv.h")
-# Add includes
+# iconv.h
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/include/iconv.h.in" "${output_includedir}/iconv.h")
+
+# Add includes.
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/lib")
-include_directories("${CMAKE_CURRENT_SOURCE_DIR}/lib/generated")
include_directories("${output_includedir}")
-# Add definitions
-if(ENABLE_EXTRA)
- message(STATUS "Extra encodings and features enabled.")
- add_compile_definitions(ENABLE_EXTRA=1)
+# Add definitions.
+add_compile_definitions(VERSION_MAJOR=${PROJECT_VERSION_MAJOR})
+add_compile_definitions(VERSION_MINOR=${PROJECT_VERSION_MINOR})
+add_compile_definitions(VERSION_PATCH=${PROJECT_VERSION_PATCH})
+
+include(CheckFunctionExists)
+check_function_exists(nl_langinfo HAVE_LANGINFO_CODESET)
+if(HAVE_LANGINFO_CODESET)
+ add_compile_definitions(HAVE_LANGINFO_CODESET=1)
endif()
-# Add library
-cppp_build_library(${PROJECT_NAME} "${CMAKE_CURRENT_SOURCE_DIR}/lib/iconv.cpp" TRUE TRUE "${CMAKE_BINARY_DIR}/windows/libcppp-reiconv.rc")
+# Add library.
+set(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/lib/iconv.c"
+ "${CMAKE_CURRENT_SOURCE_DIR}/lib/reiconv.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/lib/locale_charset.c"
+ "${CMAKE_CURRENT_SOURCE_DIR}/lib/locale_charset.cpp")
+cppp_build_library(${PROJECT_NAME} SOURCES TRUE TRUE "${CMAKE_BINARY_DIR}/windows/cppp-reiconv.rc")
# Include test suite.
-include("tests/tests.cmake")
+if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/tests" AND BUILD_TESTING)
+ include("${CMAKE_CURRENT_SOURCE_DIR}/tests/tests.cmake")
+endif()
-# Install
-# Static
-# PERMISSIONS 0644
-install(TARGETS libcppp-reiconv.static
- DESTINATION "${install_staticdir}"
- PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
- LIBRARY DESTINATION "${install_shareddir}"
- ARCHIVE DESTINATION "${install_staticdir}"
- RUNTIME DESTINATION "${install_bindir}"
- INCLUDES DESTINATION "${install_includedir}" )
-
-# Shared
-# PERMISSIONS 0755
-install(TARGETS libcppp-reiconv.shared
- EXPORT libcppp-reiconv-export
- DESTINATION "${install_shareddir}"
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
- LIBRARY DESTINATION "${install_shareddir}"
- ARCHIVE DESTINATION "${install_staticdir}"
- RUNTIME DESTINATION "${install_bindir}"
- INCLUDES DESTINATION "${install_includedir}" )
-
-# Includes
-# install includes
+# Install libraries.
+cppp_install_library(${PROJECT_NAME})
+
+# Install headers.
# PERMISSIONS 0644
install(FILES "${output_includedir}/cppp/reiconv.hpp.inst"
DESTINATION "${install_includedir}"
RENAME "cppp/reiconv.hpp"
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ )
+
+# PERMISSIONS 0644
+install(FILES "${output_includedir}/cppp/encodings/reiconv.hpp"
+ DESTINATION "${install_includedir}"
+ RENAME "cppp/encodings/reiconv.hpp"
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ )
+
+# PERMISSIONS 0644
+install(FILES "${output_includedir}/cppp/reiconv.h.inst"
+ DESTINATION "${install_includedir}"
+ RENAME "cppp/reiconv.h"
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ )
+
+# PERMISSIONS 0644
+install(FILES "${output_includedir}/cppp/encodings/reiconv.h"
+ DESTINATION "${install_includedir}"
+ RENAME "cppp/encodings/reiconv.h"
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ )
+
+# PERMISSIONS 0644
+if(ICONV_COMPAT)
+ install(FILES "${output_includedir}/iconv.h"
+ DESTINATION "${install_includedir}"
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ )
+endif()
+
+include("${CMAKE_CURRENT_SOURCE_DIR}/cpack.cmake")
diff --git a/CPPPPKG b/CPPPPKG
deleted file mode 100644
index 2e64cca9..00000000
--- a/CPPPPKG
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "name" : "cppp-reiconv",
- "version" : "2.1.0",
- "list_file_path": "FILELIST",
- "description": "C++ Plus character set conversion library",
- "authors": [
- "The C++ Plus Project",
- "Bruno Haible",
- "ChenPi11"
- ],
- "webpage": "https://github.com/cppp-project/cppp-reiconv",
- "subpackages": {
- "build-aux": { "path": "build-aux", "ignore": true }
- },
- "license": [
- "LGPLv3"
- ]
-}
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index e32ba067..00000000
--- a/ChangeLog
+++ /dev/null
@@ -1,6208 +0,0 @@
-2023-10-03 ChenPi11
-
- Update C++ standard of the project.
- Remove unused canonical files and codes.
- Move 'lib/gen*.c' to 'tools/gen*.cpp'.
- Optimize 'Makefile.devel'.
- Move generated files to C++ to avoid 'register' warnings.
- Add test and clean target in 'Makefile.devel'.
- Update 'FILELIST'.
- Update GitHub Action for build and test.
- Prepare for release version 2.1.0.
-
-2023-09-09 ChenPi11
-
- Version 2.1.0 compile failed (release failed).
- Update doccomments in reiconv.hpp.in.
- Add function 'int iconv_string(const iconv_t& cd, const char *start, const char *end, char **resultp, size_t *lengthp)'
- Add function 'int iconv_string(int tocode_cp, int fromcode_cp, const char* start, const char* end, char** resultp, size_t* lengthp, bool strict=true)'
- Update function 'encode' definion.
- Fix some warnings in Clang.
- Change the 'autodetect' feature of 'iconv_string' to a non extra feature.
- Update language maps.
- Fix compile error in MinGW GNU GCC.
-
-2023-09-02 ChenPi11
-
- Optimize 'iconv_open(int, int)'.
- Change version to '2.1.0'.
- Update NEWS.md.
- Remove some authors because they are only contributors.
- Prepare for release version 2.1.0.
-
-2023-08-29 ChenPi11
-
- Fix type-conflict warning when in clang.
- Fully remove wchar support.
- Add function 'extern iconv_t iconv_open (int tocode_cp, int fromcode_cp, bool strict=true)'.
- Update language map.
-
-2023-08-27 ChenPi11
-
- Add codepage definitions.
-
-2023-08-24 ChenPi11
-
- Fix subdirectory import bug.
- Optimize the way to import build-aux.
-
-2023-08-23 ChenPi11
-
- Add CTest on Windows support.
-
-2023-07-28 ChenPi11
-
- Finish NLS Translate language maps (en_US, zh_CN).
- Add Doxygen notes for 'cppp/reiconv.hpp'.
- Fix 'reiconv_version' bug (changed it to 2.0).
- Remove 'iconv_allocation_t';
-
-2023-07-19 ChenPi11
-
- Fix encode()'s EILSEQ bug.
-
-2023-07-17 ChenPi11
-
- Add social preview in README.md.
-
-2023-07-16 ChenPi11
-
- Finish GitHub build CI for Windows.
- Fix encoding bug in Windows Resource '(C)' character.
- Fix shared library runtime and archive install destination problem.
-
-2023-07-15 ChenPi11
-
- Fix macro bug in MSVC resource build.
- Add GitHub build CI for Linux and macOS.
-
-2023-07-12 ChenPi11
-
- Change `int` to 'unsigned short' in canonical headers.
- Finish GitHub CI test for Linux and macOS.
-
-2023-07-10 ChenPi11
-
- Update build-aux setup scripts.
- Fix GitHub test CI's bug.
-
-2023-07-08 ChenPi11
-
- Add GitHub test CI.
-
-2023-07-07 ChenPi11
-
- Perfect the documents.
-
-2023-07-03 ChenPi11
-
- Add 'GB18030' tests.
- Add C++ Plus dist utils and change version info.
- Remove function 'iconv_open_into'.
-
-2023-07-02 ChenPi11
-
- Add C++ Plus dist utils.
-
-2023-07-01 ChenPi11
-
- Remove src, srclib, gnulib, po, man, tools.
- Remove unused things.
- Change 'COPYING.LIB' to 'COPYING'.
- Redist 'GNU LIBICONV' to 'cppp-reiconv'.
- Remove 'CHAR' and 'WCHAR_T' encoding.
- Remove libcharset.
- Preparing to transition to C++.
- Remove autoconf buildsystem support.
- Add CMake support.
- Move generated file into 'lib/generated'.
- Move cppp-reiconv to a C++ library.
- Remove translit support.
- Remove 'LIBICONV_PLUG'.
-
-2023-06-29 Bruno Haible
-
- Update the installation instructions for Windows.
- * INSTALL.windows: Add a note about MSYS2.
-
-2023-05-29 Bruno Haible
-
- GB18030: Help transitioning away from PUA code points.
- * lib/gb18030ext.h (gb18030_2005_ext_wctomb): Remove function.
- (gb18030ext_wctomb): Renamed from gb18030_2022_ext_wctomb.
- * lib/gb18030uni.h (gb18030_2005_uni_wctomb): Map 6 Ext-B code points to
- 4-bytes sequences.
- (gb18030_2022_uni_wctomb): Small refactoring.
- * lib/gb18030_2005.h (gb18030_2005_pua2charset): Map 6 PUA code points
- to 4-bytes sequences instead of 2-bytes sequences.
- (gb18030_2005_wctomb): Update accordingly. Invoke gb18030ext_wctomb
- instead of gb18030_2005_ext_wctomb.
- * lib/gb18030_2022.h (gb18030_2022_wctomb): Invoke gb18030ext_wctomb
- instead of gb18030_2022_ext_wctomb.
- * tests/GB18030-2005.IRREVERSIBLE.TXT: Update the inverse mappings of 6
- Ext-B code points and 6 PUA code points.
- * NEWS: Mention it.
-
-2023-05-24 Bruno Haible
-
- man pages: List a fifth condition when iconv(3) may stop.
- Based on the patch to the man-pages project
- =
-
- * man/iconv.3: List a fifth condition.
-
-2023-05-24 Bruno Haible
-
- man pages: Use man page section title from groff or the distro.
- Reported by Mike Fulton in
- .
- * man/*.[13]: Remove section title "Linux Programmer's Manual".
-
-2023-05-21 Bruno Haible
-
- Support creating shared libraries on Hurd/x86_64.
- Patch from
- .
- * m4/libtool.m4 (_LT_ENABLE_LOCK): Treat Hurd/x86_64 like
- Linux/x86_64.
-
-2023-05-21 Bruno Haible
-
- Fix link error regarding _libiconv_version on MSVC in C++ mode.
- Reported at .
- * include/iconv.h.in (_libiconv_version): Enclose in an extern "C"
- block.
-
-2023-05-20 Bruno Haible
-
- Implement GB18030 version 2022.
- * lib/encodings.def (GB18030): Add alias GB18030:2005.
- (GB18030:2022): New encoding.
- * lib/gb18030ext.h (gb18030_2005_ext_2uni_pagefe): Renamed from
- gb18030ext_2uni_pagefe.
- (gb18030_2022_ext_2uni_pagefe): New array.
- (gb18030_2005_ext_mbtowc): Renamed from gb18030ext_mbtowc.
- (gb18030_2022_ext_mbtowc): New function.
- (gb18030_2005_ext_wctomb): Renamed from gb18030ext_wctomb.
- (gb18030_2022_ext_wctomb): New function.
- * lib/gb18030uni.h (gb18030_2022_charset2uni_pua1,
- gb18030_2022_charset2uni_pua2): New arrays.
- (gb18030_2005_uni_mbtowc): Renamed from gb18030uni_mbtowc.
- (gb18030_2022_uni_mbtowc): New function.
- (gb18030_2022_uni2charset_pua1, gb18030_2022_uni2charset_pua2): New
- arrays.
- (gb18030_2005_uni_wctomb): Renamed from gb18030uni_wctomb.
- (gb18030_2022_uni_wctomb): New function.
- * lib/gb18030_2005.h: Renamed from lib/gb18030.h. Update comments.
- (gb18030_2005_mbtowc): Renamed from gb18030_mbtowc.
- (gb18030_2005_pua2charset): Renamed from gb18030_pua2charset.
- (gb18030_2005_wctomb): Renamed from gb18030_wctomb.
- * lib/gb18030_2022.h: New file, based on lib/gb18030_2005.h.
- * lib/converters.h: Don't include gb18030.h. Include gb18030_2005.h,
- gb18030_2022.h.
- * lib/Makefile.in (SOURCE_FILES): Remove gb18030.h. Add gb18030_2005.h,
- gb18030_2022.h.
- * tests/GB18030-2005-BMP.TXT: Renamed from tests/GB18030-BMP.TXT.
- * tests/GB18030-2005.IRREVERSIBLE.TXT: Renamed from
- tests/GB18030.IRREVERSIBLE.TXT.
- * tests/GB18030-2022-BMP.TXT: New file.
- * tests/Makefile.in (check): Test GB18030:2005 instead of GB18030. Also
- test GB18030:2022.
- (clean): Don't remove GB18030.TXT. Instead, remove GB18030-2005.TXT and
- GB18030-2022.TXT.
- (SOURCE_FILES): Update. Add GB18030-2022-BMP.TXT.
- * README: Mention the new encoding.
- * man/iconv_open.3: Likewise.
- * NEWS: Likewise.
-
-2023-05-19 Bruno Haible
-
- Make the compiler used by Makefile.devel customizable.
- Reported by Mike Fulton in
- .
- * Makefile.devel: Require GNU make.
- (CC): Use value from the environment, if set and non-empty.
- (CFLAGS): Use value from the environment, if set.
- * autogen.sh (GMAKE): New variable.
- Use it for executing Makefile.devel.
-
-2023-05-17 Bruno Haible
-
- On z/OS, allow charset tagging of temporary shell scripts.
- Reported by Mike Fulton in
- .
- * lib/genaliases.c (BINARY_MODE): New macro.
- (main): Use it instead of "b".
-
-2023-05-12 Bruno Haible
-
- Integrate the last change.
- * src/Makefile.in (SOURCE_FILES): Add zos-tag.h.
- * tests/Makefile.in (SOURCE_FILES): Add check-tag.
- * NEWS: Mention the new functionality.
-
-2023-05-12 Mike Fulton
-
- On z/OS, set a charset tag on iconv's output file.
- For the concept of charset tags as external metadata on z/OS files, see
- .
- * src/zos-tag.h: New file.
- * src/iconv.c: Include zos-tag.h.
- (convert): Add a 'tocode' parameter. On z/OS, turn off auto-conversion
- and tag the output file.
- (main): Update callers.
- * tests/check-ebcdic: On z/OS, make all test files initially untagged.
- * tests/check-tag: New file.
- * tests/Makefile.in (check): Pass the host_os to check-ebcdic. Invoke
- check-tag.
-
-2023-04-03 Bruno Haible
-
- Fix genflags compilation error.
- * lib/genflags.c (ICONV_SURFACE_EBCDIC_ZOS_UNIX): New macro, copied from
- include/iconv.h.in.
-
- Allow overriding the newline conversion for EBCDIC encodings.
- Reported by Mike Fulton in
- .
- * include/iconv.h.in (ICONV_SURFACE_NONE,
- ICONV_SURFACE_EBCDIC_ZOS_UNIX): New macros.
- (ICONV_GET_FROM_SURFACE, ICONV_SET_FROM_SURFACE, ICONV_GET_TO_SURFACE,
- ICONV_SET_TO_SURFACE): New macros.
- * lib/converters.h (struct conv_struct): Add the fields isurface,
- osurface.
- (swap_x15_x25): New macro.
- * lib/iconv.c (iconv_open, iconv_open_into): Add local variables
- from_surface, to_surface.
- (ALL_SURFACES): New macro.
- (iconvctl): Adjust ICONV_TRIVIALP implementation. Implement the
- ICONV_{GET,SET}_{FROM,TO}_SURFACE requests.
- * lib/iconv_open1.h: Parse a /ZOS_UNIX surface specifier. Set
- from_surface, to_surface.
- * lib/iconv_open2.h: Copy the values of from_surface, to_surface into
- the conversion descriptor.
- * lib/ebcdic*.h (*_mbtowc): Test the isurface. If requested, call
- swap_x15_x25 right after fetching an input byte.
- (*_wctomb): Test the osurface. If requested, call swap_x15_x25 right
- before storing an output byte.
- * man/iconvctl.3 (REQUEST VALUES): Document the
- ICONV_{GET,SET}_{FROM,TO}_SURFACE requests.
- * src/iconv.c (main): If ICONV_EBCDIC_ZOS_UNIX is set, set the from/to
- surfaces accordingly.
- * man/iconv.1 (ENVIRONMENT): New section.
- * tests/check-ebcdic: New file.
- * tests/Makefile.in (check): Invoke it.
- (SOURCE_FILES): Add it.
- * NEWS: Mention the new functionality.
-
-2023-03-31 Bruno Haible
-
- Add some transliterations for mathematical symbols.
- Based on
- and the translit_neutral change in
- .
- Reported by Mike Fulton in
- .
- * lib/translit.def: Add a couple of transliterations in the range
- U+27C0..U+29FF.
- * NEWS: Mention it.
-
-2023-03-31 Bruno Haible
-
- Upgrade transliterations to Unicode 15.0.0.
- * tools/gen-translit-def-part.lisp: Update comments.
- * lib/translit.def: Include differences between the generated files
- translit-part-4.0.0.def and translit-part-15.0.0.def.
-
-2023-03-31 Bruno Haible
-
- Make table of transliterations more maintainable.
- * tools/gen-translit-def-part.lisp: New file.
- * Makefile.in (SOURCE_FILES): Add it.
-
-2023-03-31 Bruno Haible
-
- Fix table of transliterations.
- * lib/translit.def: Sort according to Unicode code point.
-
-2023-02-13 Bruno Haible
-
- Fix iconv link command for Cygwin.
- Inspired by https://www.cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/libiconv.git;a=blob;f=1.16-cross-install.patch;h=7b3c5c0d761497a20abf0e4cc38d74f2755445fb;hb=HEAD .
- Rationale: libintl may depends on libiconv.
- * src/Makefile.in (install): On the link command line, mention libintl
- before libiconv.
-
-2023-01-29 Bruno Haible
-
- Fix a clang warning "a function declaration without a prototype...".
- * lib/loop_wchar.h (mbrtowc): Don't declare. Drop portability to BeOS.
-
-2022-07-18 Bruno Haible
-
- Make autopull.sh more suited for continuous integration.
- * autopull.sh: Support option --one-time.
-
-2022-07-18 Bruno Haible
-
- Move gnulib-tool invocation back from autopull.sh to autogen.sh.
- * autogen.sh: Revert last change. Improve comments.
- * autopull.sh: Only call 'gitsub.sh pull'.
- * HACKING: Mention autopull.sh.
-
-2022-07-17 Bruno Haible
-
- Split autogen.sh into autopull.sh and autogen.sh.
- * autopull.sh: New file, based on autogen.sh.
- * autogen.sh: Remove code that was moved to autopull.sh. Remove
- --skip-gnulib option.
- * Makefile.devel (all): Remove srclib/Makefile.gnulib.
- * Makefile.in (SOURCE_FILES): Add autogen.sh.
- * HACKING: Mention autopull.sh.
-
-2022-05-22 Bruno Haible
-
- Add GNU Project notice.
- * JOIN-GNU: New file. Inspired by a suggestion from Josรฉ E. Marchesi
- on the gnu-prog-discuss mailing list.
- * README: Refer to it.
- * Makefile.in (SOURCE_FILES): Add it.
-
-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