diff --git a/build/build64.cmd b/build/build64.cmd new file mode 100644 index 0000000..061189e --- /dev/null +++ b/build/build64.cmd @@ -0,0 +1,17 @@ +SET ARCH=X64 +SET SDK=MSVC2013 +SET PG_MAJOR_VERSION=12 +SET PG_PATCH_VERSION=2.1 +SET PRODUCT_NAME=PostgresProEnterprise +rem SET PRODUCT_NAME=PostgreSQL 1C +rem SET ONE_C=YES +rem SET PGURL=http://repo.postgrespro.ru/1c-10-beta/src/postgrespro-1c-10.3.tar.bz2 +rem SET GIT_PATH=https://git.postgrespro.ru/pgpro-dev/postgrespro.git +rem GIT_BRANCH=PGPROEE12_DEV +SET PERL5LIB=. +SET MSBFLAGS=/m +SET WITHTAPTESTS=1 +SET NOLOAD_SRC= +rem SET ISDEV=0 +rem SET BUILD_TYPE=dev +call run.cmd %1 diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd old mode 100644 new mode 100755 index 39efb08..80f409f --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -10,38 +10,176 @@ rm -rf %DEPENDENCIES_SRC_DIR% MKDIR %DEPENDENCIES_SRC_DIR% MKDIR %DOWNLOADS_DIR% +IF %SDK% == MSVC2015 ( +SET WindowsTargetPlatformVersion=%WindowsSDKVersion% +) +IF %SDK% == MSVC2017 ( +SET WindowsTargetPlatformVersion=%WindowsSDKVersion% +) +IF %SDK% == MSVC2019 ( +SET WindowsTargetPlatformVersion=%WindowsSDKVersion% +) +IF %SDK% == MSVC2022 ( +SET WindowsTargetPlatformVersion=%WindowsSDKVersion% +) + +rem GOTO :BUILD_ICONV +rem GOTO :BUILD_ICU +if "%PRODUCT_NAME%" == "PostgreSQL" goto :SKIP_ZSTD +if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD + + +:ZSTD +TITLE "Building libzstd" +IF "%ZSTD_RELEASE%" == "" set ZSTD_RELEASE=1.4.4 +CD /D %DOWNLOADS_DIR% +rem wget -O zstd-%ZSTD_RELEASE%.zip --no-check-certificate -c https://github.com/facebook/zstd/archive/v%ZSTD_RELEASE%.zip + +wget -O zstd-%ZSTD_RELEASE%.tar.gz --no-check-certificate -c http://repo.postgrespro.ru/depends/zstd-%ZSTD_RELEASE%.tar.gz +rm -rf %DEPENDENCIES_SRC_DIR%/zstd-%ZSTD_RELEASE% +MKDIR %DEPENDENCIES_SRC_DIR%\zstd-%ZSTD_RELEASE% +rem 7z x %DOWNLOADS_DIR%\zstd-%ZSTD_RELEASE%.zip +tar xf zstd-%ZSTD_RELEASE%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR +CD %DEPENDENCIES_SRC_DIR%\zstd-%ZSTD_RELEASE% + +CD build/VS2010 +msbuild zstd.sln /m /t:Clean,Build /p:Configuration=Release /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR +CD ../.. + +rem Not working on 1.4.4, problem with /p:OutDir: fatal error LNK1181: cannot open input file 'libzstd.lib' for fullbench-dll.vcxproj +rem call build/VS_Scripts/build.VS%REDIST_YEAR%.cmd || GOTO :ERROR + + +MKDIR %DEPENDENCIES_BIN_DIR%\zstd +cp lib\zstd.h %DEPENDENCIES_BIN_DIR%\zstd +MKDIR %DEPENDENCIES_BIN_DIR%\zstd\include +MKDIR %DEPENDENCIES_BIN_DIR%\zstd\lib +cp lib\zstd.h %DEPENDENCIES_BIN_DIR%\zstd\include +if %ARCH% == X86 ( + cp -va build/VS2010/bin/Win32_Release/libzstd* %DEPENDENCIES_BIN_DIR%\zstd + cp -va build/VS2010/bin/Win32_Release/libzstd* %DEPENDENCIES_BIN_DIR%\zstd\lib +) else ( + cp -va build/VS2010/bin/x64_Release/libzstd* %DEPENDENCIES_BIN_DIR%\zstd + cp -va build/VS2010/bin/x64_Release/libzstd* %DEPENDENCIES_BIN_DIR%\zstd\lib +) +7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\zstd + +:SKIP_ZSTD + +:LZ4 +TITLE "Building lz4" +IF "%LZ4_RELEASE%" == "" set LZ4_RELEASE=1.9.3 +CD /D %DOWNLOADS_DIR% +wget -O lz4-%LZ4_RELEASE%.tar.gz --no-check-certificate -c http://repo.postgrespro.ru/depends/lz4-%LZ4_RELEASE%.tar.gz +rm -rf %DEPENDENCIES_SRC_DIR%/lz4-%LZ4_RELEASE% +MKDIR %DEPENDENCIES_SRC_DIR%\lz4-%LZ4_RELEASE% +tar xf lz4-%LZ4_RELEASE%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR +CD %DEPENDENCIES_SRC_DIR%\lz4-%LZ4_RELEASE% +CD build/VS2017 +SET INCLUDE=%DEPENDENCIES_SRC_DIR%\lz4-%LZ4_RELEASE%\lib;%DEPENDENCIES_SRC_DIR%\lz4-%LZ4_RELEASE%\programs;%INCLUDE% +rem set UseEnv=true for using INCLUDE variable +msbuild lz4.sln /m /p:Configuration=Release /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% /p:WindowsTargetPlatformVersion=%WindowsSDKVersion% /p:RunCodeAnalysis=false /p:UseEnv=true || GOTO :ERROR +CD ../.. + +MKDIR %DEPENDENCIES_BIN_DIR%\lz4 +MKDIR %DEPENDENCIES_BIN_DIR%\lz4\include +MKDIR %DEPENDENCIES_BIN_DIR%\lz4\lib +cp lib/*.h %DEPENDENCIES_BIN_DIR%\lz4\include +if %ARCH% == X86 ( + cp -va build/VS2017/bin/Win32_Release/liblz4* %DEPENDENCIES_BIN_DIR%\lz4\lib +) else ( + cp -va build/VS2017/bin/x64_Release/liblz4* %DEPENDENCIES_BIN_DIR%\lz4\lib +) +7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\lz4 + +REM TO-DO: overwrite to build rules + +:DOWNLOAD_MSYS_UTILS +TITLE Download msys utils... +CD /D %DOWNLOADS_DIR% +wget --no-check-certificate -c http://repo.postgrespro.ru/depends/mingw_min/min_msys_X86.zip -O min_msys_%ARCH%.zip + +:BUILD_LESS +TITLE "Building less" +CD /D %DOWNLOADS_DIR% +wget -O less.zip --no-check-certificate -c https://github.com/vbwagner/less/archive/master.zip +rm -rf %DEPENDENCIES_SRC_DIR%\less-master %DEPENDENCIES_BIN_DIR%\less +MKDIR %DEPENDENCIES_SRC_DIR%\less-master +CD /D %DEPENDENCIES_SRC_DIR% +7z x %DOWNLOADS_DIR%\less.zip + + +CD /D %DEPENDENCIES_SRC_DIR%\less-master +IF %ARCH% == X86 ( + nmake -f Makefile.wnm || GOTO :ERROR +) ELSE ( + nmake -f Makefile.wnm ARCH=%ARCH%|| GOTO :ERROR +) +MKDIR %DEPENDENCIES_BIN_DIR%\less +cp -va *.exe %DEPENDENCIES_BIN_DIR%\less + +7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\less + +:BUILD_WINLIBEDIT +TITLE Build winlibedit +CD /D %DOWNLOADS_DIR% +REM wget --no-check-certificate -c http://downloads.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip +rem wget --no-check-certificate -c http://repo.l.postgrespro.ru/depends/wineditline-%EDITLINE_VER%.zip +wget --no-check-certificate -c http://repo.postgrespro.ru/depends/wineditline-%EDITLINE_VER%.zip +CD /D %DEPENDENCIES_SRC_DIR% +7z x %DOWNLOADS_DIR%\wineditline-%EDITLINE_VER%.zip +CD /D wineditline-%EDITLINE_VER%\src +patch -p2 < %ROOT%/patches/wineditline/clipboard_paste.patch || goto :ERROR +CL -I. /MD -c history.c editline.c fn_complete.c || goto :ERROR +LIB /out:edit.lib *.obj || goto :ERROR +MKDIR %DEPENDENCIES_BIN_DIR%\wineditline +MKDIR %DEPENDENCIES_BIN_DIR%\wineditline\include +MKDIR %DEPENDENCIES_BIN_DIR%\wineditline\include\editline +if %ARCH% == X64 ( + MKDIR %DEPENDENCIES_BIN_DIR%\wineditline\lib64 + COPY edit.lib %DEPENDENCIES_BIN_DIR%\wineditline\lib64 +) else ( + MKDIR %DEPENDENCIES_BIN_DIR%\wineditline\lib32 + COPY edit.lib %DEPENDENCIES_BIN_DIR%\wineditline\lib32 +) +COPY editline\readline.h %DEPENDENCIES_BIN_DIR%\wineditline\include\editline + +7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\wineditline + :BUILD_ICONV TITLE Building iconv... CD /D %DOWNLOADS_DIR% -wget --no-check-certificate -c http://ftp.gnu.org/gnu/libiconv/libiconv-%ICONV_VER%.tar.gz -O libiconv-%ICONV_VER%.tar.gz +rem wget --no-check-certificate -c http://ftp.gnu.org/gnu/libiconv/libiconv-%ICONV_VER%.tar.gz -O libiconv-%ICONV_VER%.tar.gz +wget --no-check-certificate -c http://repo.postgrespro.ru/depends/libiconv-%ICONV_VER%.tar.gz -O libiconv-%ICONV_VER%.tar.gz rm -rf %DEPENDENCIES_BIN_DIR%\iconv %DEPENDENCIES_SRC_DIR%\libiconv-* MKDIR %DEPENDENCIES_BIN_DIR%\iconv -tar xf libiconv-%ICONV_VER%.tar.gz -C %DEPENDENCIES_SRC_DIR% || GOTO :ERROR -CD /D %DEPENDENCIES_SRC_DIR%\libiconv-%ICONV_VER%* +tar xf libiconv-%ICONV_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR +CD /D %DEPENDENCIES_SRC_DIR%\libiconv-%ICONV_VER%* cp -v %ROOT%/patches/libiconv/libiconv-%ICONV_VER%-%SDK%.patch libiconv.patch + patch -f -p0 < libiconv.patch || GOTO :ERROR -IF %ARCH% == X64 msbuild libiconv.vcxproj /m /p:Configuration=Release /p:Platform=x64 /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR -IF %ARCH% == X86 msbuild libiconv.vcxproj /m /p:Configuration=Release /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR + +msbuild libiconv.vcxproj /m /p:Configuration=Release /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR + cp -av include %DEPENDENCIES_BIN_DIR%\iconv || GOTO :ERROR -cp -av iconv.h %DEPENDENCIES_BIN_DIR%\iconv\include || GOTO :ERROR -cp -av config.h %DEPENDENCIES_BIN_DIR%\iconv\include || GOTO :ERROR +cp -av iconv.h %DEPENDENCIES_BIN_DIR%\iconv\include +cp -av config.h %DEPENDENCIES_BIN_DIR%\iconv\include MKDIR %DEPENDENCIES_BIN_DIR%\iconv\lib -cp -av Release*/*.dll %DEPENDENCIES_BIN_DIR%\iconv\lib || GOTO :ERROR -cp -av Release*/libiconv.dll %DEPENDENCIES_BIN_DIR%\iconv\lib\iconv.dll || GOTO :ERROR -cp -av Release*/*.lib %DEPENDENCIES_BIN_DIR%\iconv\lib || GOTO :ERROR -cp -av Release*/libiconv.lib %DEPENDENCIES_BIN_DIR%\iconv\lib\iconv.lib || GOTO :ERROR +cp -av %Platform%/Release*/*.dll %DEPENDENCIES_BIN_DIR%\iconv\lib || GOTO :ERROR +cp -av %Platform%/Release*/libiconv.dll %DEPENDENCIES_BIN_DIR%\iconv\lib\iconv.dll || GOTO :ERROR +cp -av %Platform%/Release*/*.lib %DEPENDENCIES_BIN_DIR%\iconv\lib || GOTO :ERROR +cp -av %Platform%/Release*/libiconv.lib %DEPENDENCIES_BIN_DIR%\iconv\lib\iconv.lib || GOTO :ERROR cp -av lib %DEPENDENCIES_BIN_DIR%\iconv\libiconv || GOTO :ERROR CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\iconv - :BUILD_ZLIB TITLE Building zlib... CD /D %DOWNLOADS_DIR% wget -c http://zlib.net/zlib-%ZLIB_VER%.tar.gz -O zlib-%ZLIB_VER%.tar.gz -rm -rf "%DEPENDENCIES_BIN_DIR%\zlib %DEPENDENCIES_SRC_DIR%\zlib* -MKDIR "%DEPENDENCIES_BIN_DIR%\zlib -tar xf zlib-%ZLIB_VER%.tar.gz -C %DEPENDENCIES_SRC_DIR% || GOTO :ERROR +rm -rf %DEPENDENCIES_BIN_DIR%\zlib %DEPENDENCIES_SRC_DIR%\zlib* +MKDIR %DEPENDENCIES_BIN_DIR%\zlib +tar xf zlib-%ZLIB_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR CD /D %DEPENDENCIES_SRC_DIR%\zlib* set CL=/MP nmake -f win32/Makefile.msc || GOTO :ERROR @@ -57,17 +195,18 @@ CD /D %DOWNLOADS_DIR% :BUILD_UUID TITLE Building uuid... CD /D %DOWNLOADS_DIR% -wget -c http://netcologne.dl.sourceforge.net/project/osspuuidwin32/src/ossp_uuid_1.6.2_win32_source_120608.7z -O ossp_uuid_1.6.2_win32_source_120608.7z +rem wget -c http://netcologne.dl.sourceforge.net/project/osspuuidwin32/src/ossp_uuid_1.6.2_win32_source_120608.7z -O ossp_uuid_1.6.2_win32_source_120608.7z +wget -c http://repo.postgrespro.ru/depends/ossp_uuid_1.6.2_win32_source_120608.7z -O ossp_uuid_1.6.2_win32_source_120608.7z rm -rf %DEPENDENCIES_BIN_DIR%\uuid %DEPENDENCIES_SRC_DIR%\ossp_uuid MKDIR %DEPENDENCIES_BIN_DIR%\uuid 7z x %DOWNLOADS_DIR%\ossp_uuid_1.6.2_win32_source_120608.7z -o%DEPENDENCIES_SRC_DIR%\ -y || GOTO :ERROR CD /D %DEPENDENCIES_SRC_DIR%\ossp_uuid +patch -p1 < %ROOT%/patches/uuid/oosp_uuid.patch || goto :ERROR IF %ARCH% == X64 sed -i 's/Win32/x64/g' ossp_uuid.sln || GOTO :ERROR IF %ARCH% == X64 sed -i 's/Win32/x64/g' ossp_uuid\ossp_uuid.vcxproj || GOTO :ERROR IF %ARCH% == X64 sed -i 's/Win32/x64/g' example\example.vcxproj || GOTO :ERROR IF %ARCH% == X64 sed -i 's/Win32/x64/g' uuid_cli\uuid_cli.vcxproj || GOTO :ERROR -IF %ARCH% == X64 msbuild ossp_uuid.sln /m /p:Configuration=Release /p:Platform=x64 || GOTO :ERROR -IF %ARCH% == X86 msbuild ossp_uuid.sln /m /p:Configuration=Release || GOTO :ERROR +msbuild ossp_uuid.sln /m /p:Configuration=Release /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR MKDIR %DEPENDENCIES_BIN_DIR%\uuid\lib cp -av include %DEPENDENCIES_BIN_DIR%\uuid || GOTO :ERROR IF %ARCH% == X64 cp -av x64\Release\ossp_uuid.lib %DEPENDENCIES_BIN_DIR%\uuid\lib\uuid.lib || GOTO :ERROR @@ -79,19 +218,28 @@ CD /D %DOWNLOADS_DIR% :BUILD_XML TITLE Building xml... CD /D %DOWNLOADS_DIR% -wget -c ftp://xmlsoft.org/libxml2/libxml2-%XML_VER%.tar.gz -O libxml2-%XML_VER%.tar.gz -rm -rf %DEPENDENCIES_BIN_DIR%\libxml2 %DEPENDENCIES_SRC_DIR%\libxml2- +REM wget -c ftp://xmlsoft.org/libxml2/libxml2-%XML_VER%.tar.gz -O libxml2-%XML_VER%.tar.gz +wget -c http://repo.postgrespro.ru/depends/libxml2-v%XML_VER%.tar.gz -O libxml2-%XML_VER%.tar.gz +rm -rf %DEPENDENCIES_BIN_DIR%\libxml2 %DEPENDENCIES_SRC_DIR%\libxml2-* MKDIR %DEPENDENCIES_BIN_DIR%\libxml2 -tar xf libxml2-%XML_VER%.tar.gz -C %DEPENDENCIES_SRC_DIR% || GOTO :ERROR +rem problem with symlink on first tar run : /ambig_name-class.rng: Cannot create symlink to "tutorA.rng" +tar xf libxml2-%XML_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% +tar xf libxml2-%XML_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR +CD /D %DEPENDENCIES_SRC_DIR%\libxml2-* +rem libxml2 2.9.7 doesn't need this patch +rem patch -f -p1 < %ROOT%/patches/libxml2/libxml2.patch || GOTO :ERROR CD /D %DEPENDENCIES_SRC_DIR%\libxml2-*\win32 cscript configure.js compiler=msvc include=%DEPENDENCIES_BIN_DIR%\iconv\include lib=%DEPENDENCIES_BIN_DIR%\iconv\lib sed -i /NOWIN98/d Makefile.msvc set CL=/MP nmake /f Makefile.msvc || GOTO :ERROR nmake /f Makefile.msvc install || GOTO :ERROR +rem "override old libxml2.dll location with freshly build dll" +cp bin\libxml2.dll lib || GOTO :ERROR cp -av bin %DEPENDENCIES_BIN_DIR%\libxml2 || GOTO :ERROR cp -av lib %DEPENDENCIES_BIN_DIR%\libxml2 || GOTO :ERROR -cp -av include %DEPENDENCIES_BIN_DIR%\libxml2 || GOTO :ERROR +MKDIR %DEPENDENCIES_BIN_DIR%\libxml2\include || GOTO :ERROR +cp -av include\libxml2\libxml %DEPENDENCIES_BIN_DIR%\libxml2\include || GOTO :ERROR CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\libxml2 -y @@ -99,10 +247,18 @@ CD /D %DOWNLOADS_DIR% :BUILD_XSLT TITLE Building xslt... CD /D %DOWNLOADS_DIR% -wget -c ftp://xmlsoft.org/libxslt/libxslt-%XSLT_VER%.tar.gz -O libxslt-%XSLT_VER%.tar.gz +REM wget -c ftp://xmlsoft.org/libxslt/libxslt-%XSLT_VER%.tar.gz -O libxslt-%XSLT_VER%.tar.gz +wget -c http://repo.postgrespro.ru/depends/libxslt-v%XSLT_VER%.tar.gz -O libxslt-%XSLT_VER%.tar.gz rm -rf %DEPENDENCIES_BIN_DIR%\libxslt %DEPENDENCIES_SRC_DIR%\libxslt-* MKDIR %DEPENDENCIES_BIN_DIR%\libxslt -tar xf libxslt-%XSLT_VER%.tar.gz -C %DEPENDENCIES_SRC_DIR% || GOTO :ERROR +tar xf libxslt-%XSLT_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR + +IF EXIST %ROOT%/patches/libxslt/libxslt-%XSLT_VER%.patch ( +CD /D %DEPENDENCIES_SRC_DIR%\libxslt-%XSLT_VER%* +cp -v %ROOT%/patches/libxslt/libxslt-%XSLT_VER%.patch libxslt.patch +patch -f -p1 < libxslt.patch || GOTO :ERROR +) + CD /D %DEPENDENCIES_SRC_DIR%\libxslt-*\win32 cscript configure.js compiler=msvc zlib=yes iconv=yes include=%DEPENDENCIES_BIN_DIR%\iconv\include;%DEPENDENCIES_BIN_DIR%\libxml2\include;%DEPENDENCIES_BIN_DIR%\zlib\include lib=%DEPENDENCIES_BIN_DIR%\iconv\lib;%DEPENDENCIES_BIN_DIR%\libxml2\lib;%DEPENDENCIES_BIN_DIR%\zlib\lib sed -i /NOWIN98/d Makefile.msvc @@ -115,21 +271,29 @@ cp -av include %DEPENDENCIES_BIN_DIR%\libxslt || GOTO :ERROR CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\libxslt -y - :BUILD_OPENSSL TITLE Building OpenSSL... CD /D %DOWNLOADS_DIR% -wget --no-check-certificate -c https://www.openssl.org/source/openssl-%OPENSSL_VER%.tar.gz -O openssl-%OPENSSL_VER%.tar.gz +rem wget --no-check-certificate -c https://www.openssl.org/source/openssl-%OPENSSL_VER%.tar.gz -O openssl-%OPENSSL_VER%.tar.gz +wget --no-check-certificate -c http://repo.postgrespro.ru/depends/openssl-%OPENSSL_VER%.tar.gz -O openssl-%OPENSSL_VER%.tar.gz + rm -rf %DEPENDENCIES_BIN_DIR%\openssl %DEPENDENCIES_SRC_DIR%\openssl-* MKDIR %DEPENDENCIES_BIN_DIR%\openssl -tar zxf openssl-%OPENSSL_VER%.tar.gz -C %DEPENDENCIES_SRC_DIR% +tar zxf openssl-%OPENSSL_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% CD /D %DEPENDENCIES_SRC_DIR%\openssl-* -IF %ARCH% == X86 perl Configure VC-WIN32 no-asm || GOTO :ERROR -IF %ARCH% == X64 perl Configure VC-WIN64A no-asm || GOTO :ERROR -IF %ARCH% == X86 call ms\do_ms -IF %ARCH% == X64 call ms\do_win64a.bat -set CL=/MP -nmake -f ms\ntdll.mak || GOTO :ERROR +IF %ARCH% == X86 perl Configure VC-WIN32 no-asm --prefix=%DEPENDENCIES_BIN_DIR%\openssl\ --openssldir=%DEPENDENCIES_BIN_DIR%\openssldir\ || GOTO :ERROR +IF %ARCH% == X64 perl Configure VC-WIN64A no-asm --prefix=%DEPENDENCIES_BIN_DIR%\openssl\ --openssldir=%DEPENDENCIES_BIN_DIR%\openssldir\ || GOTO :ERROR +rem IF %ARCH% == X86 call ms\do_ms +rem IF %ARCH% == X64 call ms\do_win64a.bat +rem set CL=/MP +rem nmake -f ms\ntdll.mak || GOTO :ERROR +nmake || GOTO :ERROR +TITLE Installing OpenSSL... +nmake install || GOTO :ERROR +CD /D %DOWNLOADS_DIR% +7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\openssl -y +GOTO :BUILD_GETTEXT + MKDIR %DEPENDENCIES_BIN_DIR%\openssl\lib MKDIR %DEPENDENCIES_BIN_DIR%\openssl\include cp -av out32dll/* %DEPENDENCIES_BIN_DIR%\openssl\lib || GOTO :ERROR @@ -138,6 +302,9 @@ MKDIR %DEPENDENCIES_BIN_DIR%\openssl\lib\VC cp -av out32dll/* %DEPENDENCIES_BIN_DIR%\openssl\lib\VC || GOTO :ERROR cp -v out32dll/ssleay32.lib %DEPENDENCIES_BIN_DIR%\openssl\lib\VC\ssleay32MD.lib || GOTO :ERROR cp -v out32dll/libeay32.lib %DEPENDENCIES_BIN_DIR%\openssl\lib\VC\libeay32MD.lib || GOTO :ERROR +MKDIR %DEPENDENCIES_BIN_DIR%\openssl\bin +cp -av out32dll/openssl.exe %DEPENDENCIES_BIN_DIR%\openssl\bin || GOTO :ERROR +cp -av out32dll/*32.dll %DEPENDENCIES_BIN_DIR%\openssl\bin || GOTO :ERROR CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\openssl -y @@ -145,15 +312,15 @@ CD /D %DOWNLOADS_DIR% :BUILD_GETTEXT TITLE Building gettext... CD /D %DOWNLOADS_DIR% -wget --no-check-certificate -c http://ftp.gnu.org/gnu/gettext/gettext-%GETTEXT_VER%.tar.gz -O gettext-%GETTEXT_VER%.tar.gz +rem wget --no-check-certificate -c http://ftp.gnu.org/gnu/gettext/gettext-%GETTEXT_VER%.tar.gz -O gettext-%GETTEXT_VER%.tar.gz +wget --no-check-certificate -c http://repo.postgrespro.ru/depends/gettext-%GETTEXT_VER%.tar.gz -O gettext-%GETTEXT_VER%.tar.gz rm -rf %DEPENDENCIES_BIN_DIR%\libintl %DEPENDENCIES_SRC_DIR%\gettext-* MKDIR %DEPENDENCIES_BIN_DIR%\libintl -tar xf gettext-%GETTEXT_VER%.tar.gz -C %DEPENDENCIES_SRC_DIR% || GOTO :ERROR +tar xf gettext-%GETTEXT_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR CD /D %DEPENDENCIES_SRC_DIR%\gettext-* cp -v %ROOT%/patches/gettext/gettext-%GETTEXT_VER%-%SDK%.patch gettext.patch patch -f -p0 < gettext.patch || GOTO :ERROR -IF %ARCH% == X64 msbuild libintl.vcxproj /m /p:Configuration=Release /p:Platform=x64 /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR -IF %ARCH% == X86 msbuild libintl.vcxproj /m /p:Configuration=Release /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR +msbuild libintl.vcxproj /m /p:Configuration=Release /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR MKDIR %DEPENDENCIES_BIN_DIR%\libintl\lib %DEPENDENCIES_BIN_DIR%\libintl\include cp -v Release*/*.dll %DEPENDENCIES_BIN_DIR%\libintl\lib || GOTO :ERROR cp -v Release*/*.lib %DEPENDENCIES_BIN_DIR%\libintl\lib || GOTO :ERROR @@ -163,50 +330,61 @@ MKDIR %DEPENDENCIES_BIN_DIR%\libintl\bin CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\libintl -y - +rem LIBSSH2 not used for PostgresPro +GOTO :BUILD_ICU :BUILD_LIBSSH2 TITLE Building libssh2... CD /D %DOWNLOADS_DIR% wget --no-check-certificate -c http://www.libssh2.org/download/libssh2-%LIBSSH2_VER%.tar.gz -O libssh2-%LIBSSH2_VER%.tar.gz -rm -rf %DEPENDENCIES_BIN_DIR%\libssh2 %DEPENDENCIES_SRC_DIR%/libssh2-* +rm -rf %DEPENDENCIES_BIN_UDIR%/libssh2 %DEPENDENCIES_SRC_UDIR%/libssh2-* MKDIR %DEPENDENCIES_BIN_DIR%\libssh2 -tar xf libssh2-%LIBSSH2_VER%.tar.gz -C %DEPENDENCIES_SRC_DIR% || GOTO :ERROR -cp -va %DEPENDENCIES_SRC_DIR%/libssh2-*/include %DEPENDENCIES_BIN_DIR%\libssh2\include || GOTO :ERROR -cp -va %DEPENDENCIES_SRC_DIR%/libssh2-*/win32/libssh2_config.h %DEPENDENCIES_BIN_DIR%\libssh2\include || GOTO :ERROR +tar xf libssh2-%LIBSSH2_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR +cp -va %DEPENDENCIES_SRC_UDIR%/libssh2-*/include %DEPENDENCIES_BIN_UDIR%/libssh2/include || GOTO :ERROR +cp -va %DEPENDENCIES_SRC_UDIR%/libssh2-*/win32/libssh2_config.h %DEPENDENCIES_BIN_UDIR%/libssh2/include || GOTO :ERROR CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\libssh2 -y :BUILD_ICU TITLE Building icu... +echo on CD /D %DOWNLOADS_DIR% -wget --no-check-certificate -c http://download.icu-project.org/files/icu4c/56.1/icu4c-56_1-src.zip -O icu4c-56_1-src.zip -rm -rf %DEPENDENCIES_BIN_DIR%\icu %DEPENDENCIES_SRC_DIR%\icu -MKDIR %DEPENDENCIES_BIN_DIR%\icu -7z x icu4c-56_1-src.zip -o%DEPENDENCIES_SRC_DIR% -y -CD /D %DEPENDENCIES_SRC_DIR%\icu -IF %ARCH% == X86 msbuild source\allinone\allinone.sln /m /p:Configuration="Release" /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR -IF %ARCH% == X64 msbuild source\allinone\allinone.sln /m /p:Configuration="Release" /p:Platform=x64 /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR +rem wget --no-check-certificate -c https://github.com/unicode-org/icu/releases/download/release-56-2/icu4c-56_2-src.zip -O icu4c-56_2-src.zip +wget --no-check-certificate -c http://repo.postgrespro.ru/depends/icu4c-%ICU_VER%-src.zip -O icu4c-%ICU_VER%-src.zip +rm -rf %DEPENDENCIES_BIN_DIR%\icu%ICU_VER% %DEPENDENCIES_SRC_DIR%\icu%ICU_VER% +MKDIR %DEPENDENCIES_BIN_DIR%\icu%ICU_VER% +7z x icu4c-%ICU_VER%-src.zip -o%DEPENDENCIES_SRC_DIR% -y +mv %DEPENDENCIES_SRC_DIR%\icu %DEPENDENCIES_SRC_DIR%\icu%ICU_VER% +CD /D %DEPENDENCIES_SRC_DIR%\icu%ICU_VER% +IF %SDK% == MSVC2013 ( + msbuild source\allinone\allinone.sln /m /p:Configuration="Release" /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR +) ELSE ( + msbuild source\allinone\allinone.sln /m /p:Configuration="Release" /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% /p:WindowsTargetPlatformVersion=%WindowsSDKVersion% /p:SkipUWP=true || GOTO :ERROR +) + IF %ARCH% == X64 ( - cp -va %DEPENDENCIES_SRC_DIR%\icu\bin64 %DEPENDENCIES_BIN_DIR%\icu\bin || GOTO :ERROR - cp -va %DEPENDENCIES_SRC_DIR%\icu\lib64 %DEPENDENCIES_BIN_DIR%\icu\lib || GOTO :ERROR + cp -va %DEPENDENCIES_SRC_DIR%\icu%ICU_VER%\bin64 %DEPENDENCIES_BIN_DIR%\icu%ICU_VER%\bin || GOTO :ERROR + cp -va %DEPENDENCIES_SRC_DIR%\icu%ICU_VER%\lib64 %DEPENDENCIES_BIN_DIR%\icu%ICU_VER%\lib || GOTO :ERROR + cp -va %DEPENDENCIES_SRC_DIR%\icu%ICU_VER%\lib64 %DEPENDENCIES_BIN_DIR%\icu%ICU_VER%\lib64 || GOTO :ERROR ) ELSE ( - cp -va %DEPENDENCIES_SRC_DIR%\icu\bin %DEPENDENCIES_BIN_DIR%\icu\bin || GOTO :ERROR - cp -va %DEPENDENCIES_SRC_DIR%\icu\lib %DEPENDENCIES_BIN_DIR%\icu\lib || GOTO :ERROR + cp -va %DEPENDENCIES_SRC_DIR%\icu%ICU_VER%\bin %DEPENDENCIES_BIN_DIR%\icu%ICU_VER%\bin || GOTO :ERROR + cp -va %DEPENDENCIES_SRC_DIR%\icu%ICU_VER%\lib %DEPENDENCIES_BIN_DIR%\icu%ICU_VER%\lib || GOTO :ERROR ) -cp -va %DEPENDENCIES_SRC_DIR%\icu\include %DEPENDENCIES_BIN_DIR%\icu\include || GOTO :ERROR +cp -va %DEPENDENCIES_SRC_DIR%\icu%ICU_VER%\include %DEPENDENCIES_BIN_DIR%\icu%ICU_VER%\include || GOTO :ERROR CD /D %DOWNLOADS_DIR% -7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\icu +7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\icu%ICU_VER% +IF "%ICU_VER%" NEQ "56_2" ( +SET ICU_VER=56_2 +goto :BUILD_ICU +) REM If everything is compiled OK go to DONE GOTO :DONE :ERROR ECHO Failed with error #%errorlevel%. -PAUSE EXIT /b %errorlevel% :DONE ECHO Done. -PAUSE diff --git a/build/helpers/genlists.py b/build/helpers/genlists.py new file mode 100644 index 0000000..f741528 --- /dev/null +++ b/build/helpers/genlists.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- +""" +This script reads list of glob patterns from files, specified in the +command-line and generates lists of files for each pattern +""" +from __future__ import print_function +import sys +import fnmatch +import os +import os.path + +#pylint: disable=invalid-name +filelist_name = sys.argv.pop(1) +if os.path.isdir(filelist_name): + # Generate filelist ourselves + pwd = os.getcwd() + os.chdir(filelist_name) + filelist = set() + for dirname, subdirlist, files in os.walk("."): + dirname = dirname.replace("\\", "/") + for f in files: + filelist.add(dirname + "/" + f) + os.chdir(pwd) +else: + with open(filelist_name, "r") as f: + filelist = set(map(lambda x: x.strip(), f.readlines())) + +for module in sys.argv[1:]: + modname = module[:module.find(".")] + print("Processing module ", modname, file=sys.stderr) + with open(module, "r") as f: + patterns = [x.strip() for x in f.readlines()] + for p in patterns: + if p.startswith("./bin/") and not p.endswith(".dll"): + patterns.append("./share/locale/*/LC_MESSAGES/" + + p[6:p.rfind(".")] + "*.mo") + found = set() + for p in patterns: + if p.startswith("#"): + continue + for f in filelist: + if fnmatch.fnmatch(f, p): + found.add(f) + filelist -= found + with open(modname + "_list.nsi", "w") as out: + curdir = "" + for f in sorted(found): + filedir = os.path.dirname(f) + if filedir != curdir: + print("SetOutPath $INSTDIR" + filedir[1:].replace("/", "\\"), + file=out) + curdir = filedir + print("File ${PG_INS_SOURCE_DIR}" + f[1:].replace("/", "\\"), + file=out) + +# When all module files are processed: +if filelist: + print("Following unprocessed files found:\n", ", ".join(sorted(filelist)), + file=sys.stderr) + sys.exit(1) diff --git a/build/helpers/make_zip.cmd b/build/helpers/make_zip.cmd index a099687..1df3934 100644 --- a/build/helpers/make_zip.cmd +++ b/build/helpers/make_zip.cmd @@ -3,8 +3,8 @@ CALL %ROOT%\build\helpers\setvars.cmd REM Make ZIP of binaries TITLE Make PostgreSQL and PgAdmin3 archives IF %ONE_C% == YES ( - 7z a "c:\pg\installers\postgrespro-1c-%ARCH%-%PG_DEF_VERSION%.zip" "c:\pg\distr_%ARCH%_%PG_DEF_VERSION%\postgresql" || EXIT /b %errorlevel% + 7z a "%BUILD_DIR%\installers\postgrespro-1c-%ARCH%-%PG_DEF_VERSION%.zip" "%BUILD_DIR%\distr_%ARCH%_%PG_DEF_VERSION%\postgresql" || EXIT /b %errorlevel% ) ELSE ( - 7z a "c:\pg\installers\postgresql-%ARCH%-%PG_DEF_VERSION%.zip" "c:\pg\distr_%ARCH%_%PG_DEF_VERSION%\postgresql" || EXIT /b %errorlevel% + 7z a "%BUILD_DIR%\installers\postgresql-%ARCH%-%PG_DEF_VERSION%.zip" "%BUILD_DIR%\distr_%ARCH%_%PG_DEF_VERSION%\postgresql" || EXIT /b %errorlevel% ) -7z a "c:\pg\installers\pgAdmin3-%ARCH%-%PG_DEF_VERSION%.zip" "c:\pg\distr_%ARCH%_%PG_DEF_VERSION%\pgadmin" || EXIT /b %errorlevel% +7z a "%BUILD_DIR%\installers\pgAdmin3-%ARCH%-%PG_DEF_VERSION%.zip" "%BUILD_DIR%\distr_%ARCH%_%PG_DEF_VERSION%\pgadmin" || EXIT /b %errorlevel% diff --git a/build/helpers/pgadmin.cmd b/build/helpers/pgadmin.cmd index 7172a4c..566560c 100644 --- a/build/helpers/pgadmin.cmd +++ b/build/helpers/pgadmin.cmd @@ -1,8 +1,8 @@ CALL %ROOT%\build\helpers\setvars.cmd rm -rf %DEPENDENCIES_BIN_DIR% -IF EXIST %DOWNLOADS_DIR%\deps-SDK71-%ARCH%.zip ( - 7z x %DOWNLOADS_DIR%\deps-SDK71-%ARCH%.zip -o%DEPENDENCIES_BIN_DIR% -y +IF EXIST %DOWNLOADS_DIR%\deps-%SDK%-%ARCH%.zip ( + 7z x %DOWNLOADS_DIR%\deps-%SDK%-%ARCH%.zip -o%DEPENDENCIES_BIN_DIR% -y ) ELSE ( ECHO "You need to build PostgreSQL dependencies first!" EXIT /B 1 || GOTO :ERROR @@ -24,7 +24,7 @@ CD /D %DOWNLOADS_DIR% wget --no-check-certificate -c https://sourceforge.net/projects/wxwindows/files/%WXWIDGETS_VER%/wxWidgets-%WXWIDGETS_VER%.tar.bz2 -O wxWidgets-%WXWIDGETS_VER%.tar.bz2 rm -rf %DEPENDENCIES_BIN_DIR%\wxwidgets %DEPENDENCIES_SRC_DIR%\wxWidgets-* MKDIR %DEPENDENCIES_BIN_DIR%\wxwidgets -tar xf wxWidgets-%WXWIDGETS_VER%.tar.bz2 -C %DEPENDENCIES_SRC_DIR% || GOTO :ERROR +tar xf wxWidgets-%WXWIDGETS_VER%.tar.bz2 -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR CD /D %DEPENDENCIES_SRC_DIR%\wxWidgets-* cp -v %ROOT%/patches/wxWidgets/wxWidgets-%WXWIDGETS_VER%-%SDK%.patch wxWidgets.patch @@ -60,8 +60,8 @@ IF %SDK% == MSVC2015 ( cp -va %DEPENDENCIES_SRC_DIR%/wxWidgets-3*/lib %DEPENDENCIES_BIN_DIR%\wxwidgets || GOTO :ERROR cp -va %DEPENDENCIES_SRC_DIR%/wxWidgets-3*/utils %DEPENDENCIES_BIN_DIR%\wxwidgets || GOTO :ERROR IF %ARCH% == X64 ( - mv -v %DEPENDENCIES_BIN_DIR%/wxwidgets/lib/vc_*dll %DEPENDENCIES_BIN_DIR%\wxwidgets\lib\vc_dll || GOTO :ERROR - mv -v %DEPENDENCIES_BIN_DIR%/wxwidgets/lib/vc_*lib %DEPENDENCIES_BIN_DIR%\wxwidgets\lib\vc_lib || GOTO :ERROR +rem mv -v %DEPENDENCIES_BIN_DIR%/wxwidgets/lib/vc_*dll %DEPENDENCIES_BIN_DIR%\wxwidgets\lib\vc_dll || GOTO :ERROR +rem mv -v %DEPENDENCIES_BIN_DIR%/wxwidgets/lib/vc_*_lib/* %DEPENDENCIES_BIN_DIR%\wxwidgets\lib\vc_lib || GOTO :ERROR ) cp -va %DEPENDENCIES_SRC_DIR%/wxWidgets-3*/include %DEPENDENCIES_BIN_DIR%\wxwidgets\include || GOTO :ERROR @@ -86,6 +86,12 @@ IF NOT EXIST libssh2.patch GOTO :DONE_PGADMIN_LIBSSH2_PATCH patch -f -p0 < libssh2.patch || GOTO :ERROR :DONE_PGADMIN_LIBSSH2_PATCH +REM Update RU po +wget --no-check-certificate -c https://repo.l.postgrespro.ru/depends/pgadmin3-%PGADMIN_VERSION%.po -O i18n/ru_RU/pgadmin3.po +wget --no-check-certificate -c https://repo.l.postgrespro.ru/depends/pgadmin3-%PGADMIN_VERSION%-ru_RU.tar.bz2 -O docs/ru_RU.tar.bz2 +tar xf docs/ru_RU.tar.bz2 -C docs || GOTO :ERROR +rm -f docs/ru_RU.tar.bz2 + IF %ARCH% == X64 sed -i 's/Win32/x64/g' xtra\png2c\png2c.vcxproj IF %ARCH% == X64 sed -i 's/Win32/x64/g' pgadmin\pgAdmin3.vcxproj sed -i "//,/<\/Bscmake>/d" pgadmin\pgAdmin3.vcxproj @@ -101,8 +107,8 @@ REM msbuild docs/Docs.vcxproj /m /p:Configuration="All" /p:Platform="Win32" || G rm -rf %BUILD_DIR%\distr_%ARCH%_%PGVER%\pgadmin MKDIR %BUILD_DIR%\distr_%ARCH%_%PGVER%\pgadmin %BUILD_DIR%\distr_%ARCH%_%PGVER%\pgadmin\bin %BUILD_DIR%\distr_%ARCH%_%PGVER%\pgadmin\lib cp -va pgadmin/Release*/*.exe %BUILD_DIR%\distr_%ARCH%_%PGVER%\pgadmin\bin || GOTO :ERROR -cp -va i18n c:/pg/distr_%ARCH%_%PGVER%/pgadmin/bin || GOTO :ERROR -cp -va c:/pg/distr_%ARCH%_%PGVER%/postgresql/bin/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\pgadmin\bin || GOTO :ERROR +cp -va i18n %BUILD_DIR%/distr_%ARCH%_%PGVER%/pgadmin/bin || GOTO :ERROR +cp -va %BUILD_DIR%/distr_%ARCH%_%PGVER%/postgresql/bin/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\pgadmin\bin || GOTO :ERROR cp -va %DEPENDENCIES_BIN_DIR%/wxwidgets/lib/vc_dll/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\pgadmin\bin || GOTO :ERROR @@ -110,9 +116,7 @@ GOTO :DONE :ERROR ECHO Failed with error #%errorlevel%. -PAUSE EXIT /b %errorlevel% :DONE ECHO Done. -PAUSE diff --git a/build/helpers/pgadmin_installer.cmd b/build/helpers/pgadmin_installer.cmd index e06ba83..dbb982d 100644 --- a/build/helpers/pgadmin_installer.cmd +++ b/build/helpers/pgadmin_installer.cmd @@ -10,13 +10,13 @@ REM 6. 7z for making ZIP files REM Download VC Redistibutable packages TITLE Downloading VC Redistibutable packages -MKDIR "c:\pg\vcredist" +MKDIR "%BUILD_DIR%\vcredist" -wget -c https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe -O "c:\pg\vcredist\vcredist_x86_2015.exe" || GOTO :ERROR -wget -c https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe -O "c:\pg\vcredist\vcredist_x64_2015.exe" || GOTO :ERROR +wget -c https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe -O "%BUILD_DIR%\vcredist\vcredist_x86_2015.exe" || GOTO :ERROR +wget -c https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe -O "%BUILD_DIR%\vcredist\vcredist_x64_2015.exe" || GOTO :ERROR REM Make directory for installers -MKDIR "c:\pg\installers" +MKDIR "%BUILD_DIR%\installers" TITLE Making NSIS installers call %ROOT%\build\helpers\pgadmin_nsis_installer.cmd || GOTO :ERROR @@ -25,9 +25,7 @@ GOTO :DONE :ERROR ECHO Failed with error #%errorlevel%. -PAUSE EXIT /b %errorlevel% :DONE ECHO Done. -PAUSE diff --git a/build/helpers/pgadmin_nsis_installer.cmd b/build/helpers/pgadmin_nsis_installer.cmd index 2992019..3c253c8 100644 --- a/build/helpers/pgadmin_nsis_installer.cmd +++ b/build/helpers/pgadmin_nsis_installer.cmd @@ -19,7 +19,7 @@ SET ADMIN_DEF_VERSION="%PGADMIN_VERSION%" SET PRODUCT_DIR_REGKEY="Software\%COMPANY_NAME%\%PRODUCT_NAME%\%PGADMIN_VERSION%" SET ADMIN_REG_KEY="SOFTWARE\%COMPANY_NAME%\%PRODUCT_NAME%\%PGADMIN_VERSION%\Installations\" SET ADMIN_INS_SUFFIX="%ARCH%bit_Setup.exe" -SET ADMIN_INS_SOURCE_DIR="C:\pg\distr_%ARCH%_%PG_DEF_VERSION%\pgadmin\*.*" +SET ADMIN_INS_SOURCE_DIR="%BUILD_DIR%\distr_%ARCH%_%PG_DEF_VERSION%\pgadmin\*.*" >%NSIS_RES_DIR%\pgadmin.def.nsh ECHO !define PRODUCT_NAME "%PRODUCT_NAME%" >>%NSIS_RES_DIR%\pgadmin.def.nsh ECHO !define PRODUCT_VERSION "%PGADMIN_VERSION%" >>%NSIS_RES_DIR%\pgadmin.def.nsh ECHO !define PRODUCT_PUBLISHER %PRODUCT_PUBLISHER% @@ -31,20 +31,19 @@ SET ADMIN_INS_SOURCE_DIR="C:\pg\distr_%ARCH%_%PG_DEF_VERSION%\pgadmin\*.*" >>%NSIS_RES_DIR%\pgadmin.def.nsh ECHO !define ADMIN_INS_SUFFIX %ADMIN_INS_SUFFIX% >>%NSIS_RES_DIR%\pgadmin.def.nsh ECHO !define ADMIN_INS_SOURCE_DIR %ADMIN_INS_SOURCE_DIR% >>%NSIS_RES_DIR%\pgadmin.def.nsh ECHO !define REDIST_YEAR %REDIST_YEAR% +>>%NSIS_RES_DIR%\pgadmin.def.nsh ECHO !define BUILD_DIR %BUILD_DIR% IF "%ARCH%" == "X64" ( >>%NSIS_RES_DIR%\pgadmin.def.nsh ECHO !define Admin64 ) -CD %NSIS_RES_DIR% || GOTO :ERROR +CD /D %NSIS_RES_DIR% || GOTO :ERROR makensis pgadmin.nsi || GOTO :ERROR GOTO :DONE :ERROR ECHO Failed with error #%errorlevel%. -PAUSE EXIT /b %errorlevel% :DONE ECHO Done. -PAUSE diff --git a/build/helpers/pgbouncer.cmd b/build/helpers/pgbouncer.cmd index 9adb23e..0573dc6 100644 --- a/build/helpers/pgbouncer.cmd +++ b/build/helpers/pgbouncer.cmd @@ -27,9 +27,7 @@ GOTO :DONE :ERROR ECHO Failed with error #%errorlevel%. -PAUSE EXIT /b %errorlevel% :DONE ECHO Done. -PAUSE diff --git a/build/helpers/pgodbc.cmd b/build/helpers/pgodbc.cmd new file mode 100644 index 0000000..86c32a7 --- /dev/null +++ b/build/helpers/pgodbc.cmd @@ -0,0 +1,38 @@ +CALL %ROOT%\build\helpers\setvars.cmd + +IF EXIST %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql ( + ECHO "PostgreSQL version %PGVER% already build" +) ELSE ( + IF EXIST %DOWNLOADS_DIR%\pgsql_%ARCH%_%PGVER%.zip ( + 7z x %DOWNLOADS_DIR%\pgsql_%ARCH%_%PGVER%.zip -o%BUILD_DIR%\distr_%ARCH%_%PGVER% -y + ) ELSE ( + ECHO "You need to build PostgreSQL first!" + EXIT /B 1 || GOTO :ERROR + ) +) + +:BUILD_PGODBC +TITLE Building PgODBC... +CD /D %DOWNLOADS_DIR% +wget --no-check-certificate -c https://ftp.postgresql.org/pub/odbc/versions/src/psqlodbc-%PG_ODBC_VERSION%.tar.gz +rm -rf %BUILD_DIR%\pgodbc +MKDIR %BUILD_DIR%\pgodbc +tar xf psqlodbc-%PG_ODBC_VERSION%.tar.gz -C %BUILD_UDIR%/pgodbc +CD /D %BUILD_DIR%\pgodbc\psqlodbc-%PG_ODBC_VERSION% + +>>windows-local.mak ECHO PG_INC=%BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\include +>>windows-local.mak ECHO PG_LIB=%BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib +>>windows-local.mak ECHO TARGET_CPU=%ARCH% + +nmake -f win64.mak || GOTO :ERROR + +GOTO :DONE + +:ERROR +ECHO Failed with error #%errorlevel%. +PAUSE +EXIT /b %errorlevel% + +:DONE +ECHO Done. +PAUSE diff --git a/build/helpers/pgodbc_nsis_installer.cmd b/build/helpers/pgodbc_nsis_installer.cmd new file mode 100644 index 0000000..9034846 --- /dev/null +++ b/build/helpers/pgodbc_nsis_installer.cmd @@ -0,0 +1,56 @@ +CALL %ROOT%\build\helpers\setvars.cmd + +REM ---------------------------------------------------------------------------- +REM Assume, you have your PostgreSQL build in C:\pg\distr_X.._9.6... +REM For PostgreSQL you have 'postgresql' directory and +REM for psqlODBC you have 'C:\pg\pgodbc\psqlodbc-%VERSION%' directory +REM ---------------------------------------------------------------------------- + +SET PRODUCT_PUBLISHER="Postgres Professional Russia" +SET COMPANY_NAME=PostgresPro +SET PRODUCT_WEB_SITE="http://postgrespro.ru" + +SET NSIS_RES_DIR=%~dp0 +SET NSIS_RES_DIR=%NSIS_RES_DIR:~0,-1% +SET NSIS_RES_DIR=%NSIS_RES_DIR%\..\..\nsis + +REM psqlODBC Section +SET PRODUCT_NAME=psqlODBC +SET ADMIN_DEF_BRANDING="%PRODUCT_NAME% %PG_ODBC_VERSION%" +SET ADMIN_DEF_VERSION="%PG_ODBC_VERSION%" +SET PRODUCT_DIR_REGKEY="Software\%COMPANY_NAME%\%PRODUCT_NAME%\%PG_ODBC_VERSION%" +SET ADMIN_REG_KEY="SOFTWARE\%COMPANY_NAME%\%PRODUCT_NAME%\%PG_ODBC_VERSION%\Installations\" +SET ADMIN_INS_SUFFIX="%ARCH%bit_Setup.exe" +SET ADMIN_INS_SOURCE_DIR="%BUILD_DIR%\pgodbc\psqlodbc-%PG_ODBC_VERSION%\%ARCH%_Unicode_Release\" +SET PG_INS_SOURCE_DIR="%BUILD_DIR%\distr_%ARCH%_%PG_DEF_VERSION%\postgresql\" + +>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define PRODUCT_NAME "%PRODUCT_NAME%" +>>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define PRODUCT_VERSION "%PG_ODBC_VERSION%" +>>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define PRODUCT_PUBLISHER %PRODUCT_PUBLISHER% +>>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define PRODUCT_WEB_SITE %PRODUCT_WEB_SITE% +>>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define PRODUCT_DIR_REGKEY %PRODUCT_DIR_REGKEY% +>>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define ADMIN_REG_KEY %ADMIN_REG_KEY% +>>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define ADMIN_DEF_VERSION %ADMIN_DEF_VERSION% +>>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define ADMIN_DEF_BRANDING %ADMIN_DEF_BRANDING% +>>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define ADMIN_INS_SUFFIX %ADMIN_INS_SUFFIX% +>>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define ADMIN_INS_SOURCE_DIR %ADMIN_INS_SOURCE_DIR% +>>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define REDIST_YEAR %REDIST_YEAR% +>>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define BUILD_DIR %BUILD_DIR% +>>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define PG_INS_SOURCE_DIR %PG_INS_SOURCE_DIR% +IF "%ARCH%" == "X64" ( + >>%NSIS_RES_DIR%\pgodbc.def.nsh ECHO !define Admin64 +) + +CD %NSIS_RES_DIR% || GOTO :ERROR +makensis pgodbc.nsi || GOTO :ERROR + +GOTO :DONE + +:ERROR +ECHO Failed with error #%errorlevel%. +PAUSE +EXIT /b %errorlevel% + +:DONE +ECHO Done. +PAUSE diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd old mode 100644 new mode 100755 index 99671e9..17cb964 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -1,25 +1,45 @@ CALL %ROOT%\build\helpers\setvars.cmd - IF EXIST %DOWNLOADS_DIR%\%DEPS_ZIP% ( 7z x %DOWNLOADS_DIR%\%DEPS_ZIP% -o%DEPENDENCIES_BIN_DIR% -y REM Go to last build GOTO :BUILD_ALL ) ELSE ( ECHO "You need to build dependencies first!" - EXIT /B 1 || GOTO :ERROR + GOTO :ERROR ) :BUILD_ALL +IF NOT "%NOLOAD_SRC%"=="" ( +CD /D %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR +GOTO :NOLOAD +) + + :BUILD_POSTGRESQL TITLE Building PostgreSQL... CD /D %DOWNLOADS_DIR% +IF "%GIT_PATH%"=="" ( +SET GIT_PATH=git://git.postgresql.org/git/postgresql.git +) + +IF NOT "%GIT_BRANCH%"=="" ( +rm -rf %BUILD_DIR%\postgresql +MKDIR %BUILD_DIR%\postgresql +MKDIR %BUILD_DIR%\postgresql\postgresql-%PGVER% +git clone -b %GIT_BRANCH% %GIT_PATH% %BUILD_DIR%\postgresql\postgresql-%PGVER% +rem --depth 1 to save traffic +CD /D %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR +GOTO :NOTAR +) + wget --no-check-certificate %PGURL% -O postgresql-%PGVER%.tar.bz2 || GOTO :ERROR rm -rf %BUILD_DIR%\postgresql MKDIR %BUILD_DIR%\postgresql -tar xf postgresql-%PGVER%.tar.bz2 -C %BUILD_DIR%\postgresql -CD /D %BUILD_DIR%\postgresql\*%PGVER%* +%MSYS2_PATH%\tar xf postgres*-%PGVER%.tar.bz2 -C %BUILD_UDIR%/postgresql || GOTO :ERROR +CD /D %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR +:NOTAR IF %ONE_C% == YES ( cp -va %ROOT%/patches/postgresql/%PGVER%/series.for1c . IF NOT EXIST series.for1c GOTO :ERROR @@ -30,15 +50,38 @@ IF %ONE_C% == YES ( ) ) -cp -va %ROOT%/patches/postgresql/%PGVER%/series . -IF NOT EXIST series GOTO :DONE_POSTGRESQL_PATCH -FOR /F %%I IN (series) do ( - ECHO %%I - cp -va %ROOT%/patches/postgresql/%PGVER%/%%I . - patch -p1 < %%I || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgreSQL" ( + cp -va %ROOT%/patches/postgresql/%PG_MAJOR_VERSION%/series . + IF NOT EXIST series GOTO :DONE_POSTGRESQL_PATCH + FOR /F %%I IN (series) do ( + ECHO %%I + cp -va %ROOT%/patches/postgresql/%PG_MAJOR_VERSION%/%%I . + patch -p1 < %%I || GOTO :ERROR + ) ) :DONE_POSTGRESQL_PATCH +IF "%SDK%" == "MSVC2017" ( + cp -va %ROOT%/patches/postgresql/2017.patch . + rem patch -p1 < 2017.patch || GOTO :ERROR + + rem cp -va %ROOT%/patches/postgresql/perl.5.30.patch . + rem patch -p1 < perl.5.30.patch || GOTO :ERROR + +) + +IF "%SDK%" == "MSVC2019" ( + cp -va %ROOT%/patches/postgresql/2017.patch . + rem patch -p1 < 2017.patch || GOTO :ERROR + + rem cp -va %ROOT%/patches/postgresql/perl.5.30.patch . + rem patch -p1 < perl.5.30.patch || GOTO :ERROR + +) + +IF "%PG_MAJOR_VERSION%" LSS "13" SET ICU_VER=56_2 +IF "%PG_MAJOR_VERSION%" == "9.6" SET ICU_VER=56_2 + >src\tools\msvc\config.pl ECHO use strict; >>src\tools\msvc\config.pl ECHO use warnings; >>src\tools\msvc\config.pl ECHO our $config = { @@ -52,8 +95,14 @@ FOR /F %%I IN (series) do ( >>src\tools\msvc\config.pl ECHO ldap ^=^> 1, >>src\tools\msvc\config.pl ECHO nls ^=^> '%DEPENDENCIES_BIN_DIR%\libintl', >>src\tools\msvc\config.pl ECHO tcl ^=^> undef, -IF %ARCH% == X64 (>>src\tools\msvc\config.pl ECHO perl ^=^> '%PERL64_PATH%', ) +IF %SDK% == SDK71 GOTO :DISABLE_PERL +rem IF %ARCH% == X86 GOTO :DISABLE_PERL IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO perl ^=^> '%PERL32_PATH%', ) +IF %ARCH% == X64 (>>src\tools\msvc\config.pl ECHO perl ^=^> '%PERL64_PATH%', ) +GOTO :PERL_CONF_DONE +:DISABLE_PERL +IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO perl ^=^> undef, ) +:PERL_CONF_DONE IF %ARCH% == X64 (>>src\tools\msvc\config.pl ECHO python ^=^> '%PYTHON64_PATH%', ) IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO python ^=^> '%PYTHON32_PATH%', ) >>src\tools\msvc\config.pl ECHO openssl ^=^> '%DEPENDENCIES_BIN_DIR%\openssl', @@ -62,40 +111,90 @@ IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO python ^=^> '%PYTHON32_PATH%' >>src\tools\msvc\config.pl ECHO xslt ^=^> '%DEPENDENCIES_BIN_DIR%\libxslt', >>src\tools\msvc\config.pl ECHO iconv ^=^> '%DEPENDENCIES_BIN_DIR%\iconv', >>src\tools\msvc\config.pl ECHO zlib ^=^> '%DEPENDENCIES_BIN_DIR%\zlib', ->>src\tools\msvc\config.pl ECHO icu ^=^> '%DEPENDENCIES_BIN_DIR%\icu' +if "%PRODUCT_NAME%" == "PostgresProEnterprise" >>src\tools\msvc\config.pl ECHO zstd ^=^> '%DEPENDENCIES_BIN_DIR%\zstd', +if "%PRODUCT_NAME%" == "PostgresProEnterprise" >>src\tools\msvc\config.pl ECHO lz4 ^=^> '%DEPENDENCIES_BIN_DIR%\lz4', +>>src\tools\msvc\config.pl ECHO icu ^=^> '%DEPENDENCIES_BIN_DIR%\icu%ICU_VER%', +IF "%WITHTAPTESTS%" == "1" >>src\tools\msvc\config.pl ECHO tap_tests ^=^> 1, +>>src\tools\msvc\config.pl ECHO libedit ^=^> '%DEPENDENCIES_BIN_DIR%\wineditline' + >>src\tools\msvc\config.pl ECHO ^}; >>src\tools\msvc\config.pl ECHO 1^; +rem Setting pager +>>src\include\pg_config.h.win32 ECHO #define DEFAULT_PAGER "less -XE" + + + IF %ONE_C% == YES ( mv -v contrib\fulleq\fulleq.sql.in.in contrib\fulleq\fulleq.sql.in || GOTO :ERROR +rem With PostgresPro we'll use ICU libraries without copiing them +rem cp -va %DEPENDENCIES_BIN_DIR%/icu/include/* src\include\ || GOTO :ERROR +rem cp -va %DEPENDENCIES_BIN_DIR%/icu/lib/* . || GOTO :ERROR + ) +:NOLOAD +IF %ARCH% == X86 SET PERL5LIB=%PERL32_PATH%\lib;src\tools\msvc;. +IF %ARCH% == X64 SET PERL5LIB=%PERL64_PATH%\lib;src\tools\msvc;. -cp -va %DEPENDENCIES_BIN_DIR%/icu/include/* src\include\ || GOTO :ERROR -cp -va %DEPENDENCIES_BIN_DIR%/icu/lib/* . || GOTO :ERROR +rem CD /D %BUILD_DIR%\postgresql\*%PGVER%*\src\tools\msvc || GOTO :ERROR +rem %PERL_EXE% build.pl || GOTO :ERROR +%PERL_EXE% src\tools\msvc\build.pl || GOTO :ERROR +CD /D %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR +IF EXIST contrib\pg_probackup\gen_probackup_project.pl %PERL_EXE% contrib\pg_probackup\gen_probackup_project.pl || GOTO :ERROR -perl src\tools\msvc\build.pl || GOTO :ERROR -IF %ARCH% == X86 SET PERL5LIB=%PERL32_PATH%\lib;src\tools\msvc -IF %ARCH% == X64 SET PERL5LIB=%PERL64_PATH%\lib;src\tools\msvc rm -rf %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql MKDIR %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql -CD %BUILD_DIR%\postgresql\*%PGVER%*\src\tools\msvc +CD /D %BUILD_DIR%\postgresql\*%PGVER%*\src\tools\msvc + + +rem We need ICONV and LibIntl DLLS available during install for ZIC to work +rem no need to copy them, just add to PATH +PATH %PATH%;%DEPENDENCIES_BIN_DIR%\libintl\lib;%DEPENDENCIES_BIN_DIR%\iconv\lib +%PERL_EXE% install.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql || GOTO :ERROR + +REM remove test_* extensions after install +rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/share/extension/test_* || GOTO :ERROR +rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/lib/test_* || GOTO :ERROR +rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/symbols/test_* || GOTO :ERROR + +REM remove python3 extensions +rem rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/share/extension/*python3* || GOTO :ERROR +rem rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/lib/*python3* || GOTO :ERROR -REM xcopy /Y %DEPENDENCIES_BIN_DIR%\libintl\lib\*.dll %BUILD_DIR%\postgresql\*%PGVER%*\ || GOTO :ERROR -REM xcopy /Y %DEPENDENCIES_BIN_DIR%\iconv\lib\*.dll %BUILD_DIR%\postgresql\*%PGVER%*\ || GOTO :ERROR -cp -va %DEPENDENCIES_BIN_DIR%\libintl\lib\libintl.dll %BUILD_DIR%\postgresql\postgresql-%PGVER%\ || GOTO :ERROR -cp -va %DEPENDENCIES_BIN_DIR%\iconv\lib\libiconv.dll %BUILD_DIR%\postgresql\postgresql-%PGVER%\ || GOTO :ERROR -cp -va %DEPENDENCIES_BIN_DIR%\iconv\lib\iconv.dll %BUILD_DIR%\postgresql\postgresql-%PGVER%\ || GOTO :ERROR +REM remove test binaries +rm -f %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/bin/test_plan_lru.exe || GOTO :ERROR + +IF EXIST ..\..\..\doc\buildinfo.txt COPY ..\..\..\doc\buildinfo.txt %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc +rem now actually copy DLLs of dependencies into our bindir + +SET DEPENDENCIES_BIN_DIR=%DEPENDENCIES_BIN_DIR:\=/% + +rem SET PRO_BACKUP=%BUILD_DIR%\postgresql\*%PGVER%*\Release\pg_probackup\pg_probackup.exe +rem SET PRO_BACKUP=%PRO_BACKUP:\=/% + +rem cp -va %PRO_BACKUP% %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin -perl install.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql || GOTO :ERROR cp -va %DEPENDENCIES_BIN_DIR%/libintl/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/libintl/lib/*.lib %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib || GOTO :ERROR cp -va %DEPENDENCIES_BIN_DIR%/iconv/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR -cp -va %DEPENDENCIES_BIN_DIR%/libxml2/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR -cp -va %DEPENDENCIES_BIN_DIR%/libxslt/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR -cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR -cp -va %DEPENDENCIES_BIN_DIR%/zlib/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR -cp -va %DEPENDENCIES_BIN_DIR%/icu/bin/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/libxml2/bin/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/libxslt/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin +cp -va %DEPENDENCIES_BIN_DIR%/libxslt/bin/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR -REM Copy libraries headers to "include" directory for a God sake +rem cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +rem cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/openssl.exe %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/openssl/bin/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/openssl/bin/openssl.exe %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR + +cp -va %DEPENDENCIES_BIN_DIR%/zlib/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresProEnterprise" cp -va %DEPENDENCIES_BIN_DIR%/zstd/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresProEnterprise" cp -va %DEPENDENCIES_BIN_DIR%/lz4/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/icu%ICU_VER%/bin/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +REM Copy needed executables +rem cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/openssl.exe %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/less/*.exe %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR + +REM Copy libraries headers to "include" directory for a God sake cp -va %DEPENDENCIES_BIN_DIR%/libintl/include/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\include || GOTO :ERROR cp -va %DEPENDENCIES_BIN_DIR%/iconv/include/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\include || GOTO :ERROR cp -va %DEPENDENCIES_BIN_DIR%/libxml2/include/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\include || GOTO :ERROR @@ -103,19 +202,54 @@ cp -va %DEPENDENCIES_BIN_DIR%/libxslt/include/* %BUILD_DIR%\distr_%ARCH%_%PGVER cp -va %DEPENDENCIES_BIN_DIR%/openssl/include/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\include || GOTO :ERROR cp -va %DEPENDENCIES_BIN_DIR%/zlib/include/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\include || GOTO :ERROR cp -va %DEPENDENCIES_BIN_DIR%/uuid/include/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\include || GOTO :ERROR - -CD %BUILD_DIR%\postgresql\*%PGVER%*\doc\src\sgml -cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc - +REM Copy import libraries to "lib' directory +cp -va %DEPENDENCIES_BIN_DIR%/libintl/lib/*.lib %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/iconv/lib/*.lib %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/libxml2/lib/libxml2.lib %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/libxslt/lib/*t.lib %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib || GOTO :ERROR +rem cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/*eay32.lib %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/libssl.lib %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/libcrypto.lib %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/zlib/lib/zdll.lib %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib || GOTO :ERROR +cp -va %DEPENDENCIES_BIN_DIR%/uuid/lib/uuid.lib %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib || GOTO :ERROR + +cp -va %BUILD_DIR%/postgresql/*%PGVER%*/Release/libpgfeutils/libpgfeutils.lib %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib + +rem Copy msys shell and sed +CD /D %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin +if exist pgpro_upgrade 7z x %DOWNLOADS_DIR%\min_msys_%ARCH%.zip + +SET WGET=wget -N --no-check-certificate + +rem download help sources +CD /D %DOWNLOADS_DIR% +rem SET DOCURL=http://localrepo.l.postgrespro.ru/%BUILD_TYPE%/doc +rem cut tar.bz2 extension from PGURL +SET HELPURL=%PGURL:~0,-8% +%WGET% -O help-sources-en.zip %HELPURL%.help.en.zip || GOTO :ERROR +%WGET% -O help-sources-ru.zip %HELPURL%.help.ru.zip || GOTO :ERROR + +rem building help files +CD /D %BUILD_DIR%\postgresql +mkdir help-ru +mkdir help-en +CD help-ru +7z x %DOWNLOADS_DIR%\help-sources-ru.zip +CD help-ru +"C:\Program Files (x86)\HTML Help Workshop\hhc" htmlhelp.hhp +cp htmlhelp.chm %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc\postgresql-ru.chm +CD ..\help-en +7z x %DOWNLOADS_DIR%\help-sources-en.zip +CD help-en +"C:\Program Files (x86)\HTML Help Workshop\hhc" htmlhelp.hhp +cp htmlhelp.chm %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc\postgresql-en.chm 7z a -r %DOWNLOADS_DIR%\pgsql_%ARCH%_%PGVER%.zip %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql GOTO :DONE :ERROR ECHO Failed with error #%errorlevel%. -PAUSE EXIT /b %errorlevel% :DONE ECHO Done. -PAUSE diff --git a/build/helpers/postgres_installer.cmd b/build/helpers/postgres_installer.cmd index 23bd390..c442b45 100644 --- a/build/helpers/postgres_installer.cmd +++ b/build/helpers/postgres_installer.cmd @@ -10,13 +10,42 @@ REM 6. 7z for making ZIP files REM Download VC Redistibutable packages TITLE Downloading VC Redistibutable packages -MKDIR "c:\pg\vcredist" - -wget -c https://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe -O "c:\pg\vcredist\vcredist_x86_2010.exe" || GOTO :ERROR -wget -c https://download.microsoft.com/download/3/2/2/3224B87F-CFA0-4E70-BDA3-3DE650EFEBA5/vcredist_x64.exe -O "c:\pg\vcredist\vcredist_x64_2010.exe" || GOTO :ERROR +MKDIR "%BUILD_DIR%\vcredist" +IF %REDIST_YEAR% == 2010 ( +wget -c https://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe -O "%BUILD_DIR%\vcredist\vcredist_x86_2010.exe" || GOTO :ERROR +wget -c https://download.microsoft.com/download/3/2/2/3224B87F-CFA0-4E70-BDA3-3DE650EFEBA5/vcredist_x64.exe -O "%BUILD_DIR%\vcredist\vcredist_x64_2010.exe" || GOTO :ERROR +) + +IF %REDIST_YEAR% == 2013 ( +wget -c https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x86.exe -O "%BUILD_DIR%\vcredist\vcredist_x86_2013.exe" || GOTO :ERROR +wget -c https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe -O "%BUILD_DIR%\vcredist\vcredist_x64_2013.exe" || GOTO :ERROR +) + +IF %REDIST_YEAR% == 2015 ( +wget -c https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe -O "%BUILD_DIR%\vcredist\vcredist_x86_2015.exe" || GOTO :ERROR +wget -c https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe -O "%BUILD_DIR%\vcredist\vcredist_x64_2015.exe" || GOTO :ERROR +) + +IF %REDIST_YEAR% == 2017 ( +rem wget -c https://download.visualstudio.microsoft.com/download/pr/11100229/78c1e864d806e36f6035d80a0e80399e/VC_redist.x86.exe -O "%BUILD_DIR%\vcredist\vcredist_x86_2017.exe" || GOTO :ERROR +rem wget -c https://download.visualstudio.microsoft.com/download/pr/11100230/15ccb3f02745c7b206ad10373cbca89b/VC_redist.x64.exe -O "%BUILD_DIR%\vcredist\vcredist_x64_2017.exe" || GOTO :ERROR +rem VCToolsRedistDir=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.16.27012\ +cp "%VCToolsRedistDir%vc_redist.x86.exe" "%BUILD_DIR%\vcredist\vcredist_x86_2017.exe" +cp "%VCToolsRedistDir%vc_redist.x64.exe" "%BUILD_DIR%\vcredist\vcredist_x64_2017.exe" +) + +IF %REDIST_YEAR% == 2019 ( +cp "%VCToolsRedistDir%vc_redist.x86.exe" "%BUILD_DIR%\vcredist\vcredist_x86_2019.exe" +cp "%VCToolsRedistDir%vc_redist.x64.exe" "%BUILD_DIR%\vcredist\vcredist_x64_2019.exe" +) + +IF %REDIST_YEAR% == 2022 ( +cp "%VCToolsRedistDir%vc_redist.x86.exe" "%BUILD_DIR%\vcredist\vcredist_x86_2022.exe" +cp "%VCToolsRedistDir%vc_redist.x64.exe" "%BUILD_DIR%\vcredist\vcredist_x64_2022.exe" +) REM Make directory for installers -MKDIR "c:\pg\installers" +MKDIR "%BUILD_DIR%\installers" TITLE Making NSIS installers call %ROOT%\build\helpers\postgres_nsis_installer.cmd || GOTO :ERROR @@ -25,9 +54,7 @@ GOTO :DONE :ERROR ECHO Failed with error #%errorlevel%. -PAUSE EXIT /b %errorlevel% :DONE ECHO Done. -PAUSE diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd old mode 100644 new mode 100755 index 3ee8220..e95d433 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -1,5 +1,5 @@ REM ---------------------------------------------------------------------------- -REM Assume, you have your PostgreSQL and PgAdmin3 build in C:\pg\distr_X.._9.4... +REM Assume, you have your PostgreSQL and PgAdmin3 build in %BUILD_DIR%\distr_X.._9.4... REM For PostgreSQL you have 'postgresql' directory and REM for PgAdmin3 you have 'pgadmin' directory REM ---------------------------------------------------------------------------- @@ -12,29 +12,61 @@ SET PRODUCT_PUBLISHER="Postgres Professional Russia" SET COMPANY_NAME=PostgresPro SET PRODUCT_WEB_SITE="http://postgrespro.ru" +IF "%PRODUCT_NAME%" == "" SET PRODUCT_NAME=PostgresPro + +SET PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\%PG_MAJOR_VERSION% +SET PREV_PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\%PG_PREV_MAJOR_VERSION% +REM The OLD_* variables used for upgrade from old installers, which was built without PRODUCT_NAME. +SET OLD_PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PG_MAJOR_VERSION% +SET OLD_PREV_PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PG_PREV_MAJOR_VERSION% + +IF %ARCH% == X86 ( + SET BITS=32bit +) else ( + SET BITS=64bit +) + +REM Set Service-Id +SET PG_DEF_SERVICEID="postgresql-%ARCH%-%PG_MAJOR_VERSION%" +IF "%PRODUCT_NAME%" == "PostgreSQL" ( + SET PG_DEF_SERVICEID="postgresql-%ARCH%-%PG_MAJOR_VERSION%" + IF %BITS%==32bit SET PG_DEF_SERVICEID=postgresql-%PG_MAJOR_VERSION%-%BITS% +) +IF "%PRODUCT_NAME%" == "PostgresPro" SET PG_DEF_SERVICEID="postgrespro-%ARCH%-%PG_MAJOR_VERSION%" +IF "%PRODUCT_NAME%" == "PostgresProEnterprise" SET PG_DEF_SERVICEID="postgrespro-enterprise-%ARCH%-%PG_MAJOR_VERSION%" + + IF %ONE_C% == YES ( - SET PRODUCT_NAME=PostgresPro 1C - SET PG_DEF_SERVICEID="postgrespro-1C-${PRODUCT_VERSION}" + SET PRODUCT_NAME=PostgreSQL 1C + rem SET PG_DEF_SERVICEID="postgrespro-1C-${PRODUCT_VERSION}" + IF %BITS%==32bit SET PG_DEF_SERVICEID=postgresql-1c-%PG_MAJOR_VERSION%-%BITS% + IF %BITS%==64bit SET PG_DEF_SERVICEID=postgresql-1c-%PG_MAJOR_VERSION% SET PG_INS_SUFFIX="%ARCH%bit_1C_Setup.exe" SET PG_REG_KEY="Software\Postgres Professional\${PRODUCT_NAME}\Installations\postgresql-${PRODUCT_VERSION}" SET PG_REG_SERVICE_KEY="Software\Postgres Professional\${PRODUCT_NAME}\Services\postgresql-${PRODUCT_VERSION}" SET PRODUCT_DIR_REGKEY="Software\Postgres Professional\${PRODUCT_NAME}\${PRODUCT_VERSION}" SET PRODUCT_VERSION="%PG_MAJOR_VERSION%" + SET WITH_1C="TRUE" ) ELSE ( - SET PRODUCT_NAME=PostgreSQL - SET PG_DEF_SERVICEID="postgresql-%ARCH%-%PG_MAJOR_VERSION%" - SET PG_INS_SUFFIX="%ARCH%bit_Setup.exe" - SET PG_REG_KEY="SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\%PG_MAJOR_VERSION%\Installations\postgresql-%PG_MAJOR_VERSION%" - SET PG_REG_SERVICE_KEY="SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\%PG_MAJOR_VERSION%\Services\postgresql-%PG_MAJOR_VERSION%" - SET PRODUCT_DIR_REGKEY="SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\%PG_MAJOR_VERSION%" - SET PRODUCT_VERSION="%PG_MAJOR_VERSION% (%ARCH%)" + SET PG_INS_SUFFIX="%BITS%_Setup.exe" + SET PRODUCT_VERSION="%PG_MAJOR_VERSION% (%BITS%)" + SET PG_REG_KEY="%PRODUCT_DIR_REGKEY%\Installations\postgresql-%PG_MAJOR_VERSION%" + SET PG_REG_SERVICE_KEY="%PRODUCT_DIR_REGKEY%\Services\postgresql-%PG_MAJOR_VERSION%" + SET PG_PREV_REG_KEY="%PREV_PRODUCT_DIR_REGKEY%\Installations\postgresql-%PG_PREV_MAJOR_VERSION%" + SET PG_PREV_REG_SERVICE_KEY="%PREV_PRODUCT_DIR_REGKEY%\Services\postgresql-%PG_PREV_MAJOR_VERSION%" + SET PG_OLD_REG_KEY="%OLD_PRODUCT_DIR_REGKEY%\Installations\postgresql-%PG_MAJOR_VERSION%" + SET PG_OLD_REG_SERVICE_KEY="%OLD_PRODUCT_DIR_REGKEY%\Services\postgresql-%PG_MAJOR_VERSION%" + SET PG_OLD_PREV_REG_KEY="%OLD_PREV_PRODUCT_DIR_REGKEY%\Installations\postgresql-%PG_PREV_MAJOR_VERSION%" + SET PG_OLD_PREV_REG_SERVICE_KEY="%OLD_PREV_PRODUCT_DIR_REGKEY%\Services\postgresql-%PG_PREV_MAJOR_VERSION%" + SET WITH_1C="FALSE" ) SET PG_DEF_PORT="%DEFAULT_PORT%" SET PG_DEF_SUPERUSER="%DEFAULT_USER%" SET PG_DEF_SERVICEACCOUNT="NT AUTHORITY\NetworkService" -SET PG_DEF_BRANDING="%PRODUCT_NAME% %PG_MAJOR_VERSION% (%ARCH%)" -SET PG_INS_SOURCE_DIR="C:\pg\distr_%ARCH%_%PG_DEF_VERSION%\postgresql\*.*" +SET PG_DEF_BRANDING="%PRODUCT_NAME% %PG_MAJOR_VERSION% (%BITS%)" +rem SET PG_INS_SOURCE_DIR="%BUILD_DIR%\distr_%ARCH%_%PG_DEF_VERSION%\postgresql\*.*" +SET PG_INS_SOURCE_DIR="%BUILD_DIR%\distr_%ARCH%_%PG_DEF_VERSION%\postgresql" SET NSIS_RES_DIR=%~dp0 SET NSIS_RES_DIR=%NSIS_RES_DIR:~0,-1% @@ -45,9 +77,16 @@ REM PostgreSQL Section >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PRODUCT_VERSION %PRODUCT_VERSION% >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PRODUCT_PUBLISHER %PRODUCT_PUBLISHER% >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PRODUCT_WEB_SITE %PRODUCT_WEB_SITE% ->>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PRODUCT_DIR_REGKEY %PRODUCT_DIR_REGKEY% +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PRODUCT_DIR_REGKEY "%PRODUCT_DIR_REGKEY%" +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define OLD_PRODUCT_DIR_REGKEY "%OLD_PRODUCT_DIR_REGKEY%" >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_REG_KEY %PG_REG_KEY% >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_REG_SERVICE_KEY %PG_REG_SERVICE_KEY% +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_PREV_REG_KEY %PG_PREV_REG_KEY% +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_PREV_REG_SERVICE_KEY %PG_PREV_REG_SERVICE_KEY% +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_OLD_REG_KEY %PG_OLD_REG_KEY% +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_OLD_REG_SERVICE_KEY %PG_OLD_REG_SERVICE_KEY% +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_OLD_PREV_REG_KEY %PG_OLD_PREV_REG_KEY% +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_OLD_PREV_REG_SERVICE_KEY %PG_OLD_PREV_REG_SERVICE_KEY% >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_DEF_PORT %PG_DEF_PORT% >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_DEF_SUPERUSER %PG_DEF_SUPERUSER% >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_DEF_SERVICEACCOUNT %PG_DEF_SERVICEACCOUNT% @@ -58,21 +97,72 @@ REM PostgreSQL Section >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_INS_SUFFIX %PG_INS_SUFFIX% >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_INS_SOURCE_DIR %PG_INS_SOURCE_DIR% >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define REDIST_YEAR %REDIST_YEAR% +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define WITH_1C %WITH_1C% +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define BUILD_DIR %BUILD_DIR% +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define SDK %SDK% +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !addplugindir Plugins + IF "%ARCH%" == "X64" ( - >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_64bit +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_64bit +) + +IF "%PRODUCT_NAME%" == "PostgreSQL" ( +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_ru "license.txt" +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_en "license.txt" +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PRODUCT_NAME_SHORT "PostgreSQL" +GOTO :ENDLIC +) +IF "%PRODUCT_NAME%" == "PostgresPro" ( +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_ru "license_std_ru.txt" +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_en "license_std_en.txt" +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PRODUCT_NAME_SHORT "Postgres Pro" +GOTO :ENDLIC +) +IF "%PRODUCT_NAME%" == "PostgresProEnterprise" ( +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_ru "license_ee_ru.txt" +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_en "license_ee_en.txt" +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PRODUCT_NAME_SHORT "Postgres Pro" +GOTO :ENDLIC +) +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_ru "license.txt" +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_en "license.txt" +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PRODUCT_NAME_SHORT "PostgreSQL" + +:ENDLIC + +CD /D %NSIS_RES_DIR% || GOTO :ERROR +rem Genarate file lists +rem Remove old filelists first +rm -f *_list.nsi +rem tune pattern lists to major version and product +IF "%PG_MAJOR_VERSION%" == "9.6" ( + sed "s/wal/xlog/" server.files > allserver.files + sed "s/wal/xlog/" client.files > allclient.files + echo ./bin/createlang.* >> allclient.files + echo ./bin/droplang.* >> allclient.files +) ELSE ( + cat server.files > allserver.files + type client.files > allclient.files ) +IF NOT "%PG_MAJOR_VERSION%" == "9.6" GOTO :NO_PGPRO_UPGRADE +IF "%PRODUCT_NAME%" == "PostgresPro" GOTO :ADD_PGPRO_UPGRADE +IF "%PRODUCT_NAME%" == "PostgresProEnterprise" GOTO :ADD_PGPRO_UPGRADE +GOTO :NO_PGPRO_UPGRADE +:ADD_PGPRO_UPGRADE +type pgpro_upgrade.files >> allserver.files +:NO_PGPRO_UPGRADE +rem expand pattern lists to actual file lists +%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py %PG_INS_SOURCE_DIR% allclient.files devel.files plperl.files plpython2.files plpython3.files unneeded.files allserver.files || GOTO :ERROR -CD %NSIS_RES_DIR% || GOTO :ERROR +rem generate installer itself makensis postgresql.nsi || GOTO :ERROR GOTO :DONE :ERROR ECHO Failed with error #%errorlevel%. -PAUSE EXIT /b %errorlevel% :DONE ECHO Done. -PAUSE diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 9ca910d..d499ec2 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -1,12 +1,16 @@ REM LIBRARY VERSIONS -SET ICONV_VER=1.14 -SET XSLT_VER=1.1.28 -SET ZLIB_VER=1.2.8 -SET XML_VER=2.7.3 -SET OPENSSL_VER=1.0.2g -SET GETTEXT_VER=0.19.4 -SET LIBSSH2_VER=1.6.0 +SET ICONV_VER=1.17 +SET XSLT_VER=1.1.36 +SET ZLIB_VER=1.2.12 +SET XML_VER=2.10.0 +SET OPENSSL_VER=1.1.1q +SET GETTEXT_VER=0.21 +SET LIBSSH2_VER=1.10.0 +SET ZSTD_RELEASE=1.5.2 SET WXWIDGETS_VER=3.0.2 +SET EDITLINE_VER=2.205 +SET ICU_VER=56_2 +SET LZ4_RELEASE=1.9.3 REM Path vars SET PERL32_PATH=C:\Perl @@ -14,19 +18,28 @@ SET PERL64_PATH=C:\Perl64 SET PERL32_BIN=%PERL32_PATH%\bin SET PERL64_BIN=%PERL64_PATH%\bin SET PYTHON32_PATH=C:\Python27x86 -SET PYTHON64_PATH=C:\Python27x64 +rem SET PYTHON64_PATH=C:\Python27x64 +SET PYTHON64_PATH=C:\Python310 SET ZIP_PATH=C:\Program Files\7-Zip;C:\Program Files (x86)\7-Zip SET NSIS_PATH=C:\Program Files (x86)\NSIS -SET MSYS2_PATH=C:\msys32\usr\bin;C:\msys64\usr\bin +SET MSYS2_PATH=C:\msys64\usr\bin +rem C:\msys32\usr\bin SET PATH=%PATH%;%ZIP_PATH%;%MSYS2_PATH%;%NSIS_PATH% +SET PERL5LIB=. IF %ARCH% == X86 SET PATH=%PERL32_BIN%;%PATH% -IF %ARCH% == X64 SET PATH=%PERL64_BIN%;%PATH% +IF %ARCH% == X86 SET PERL_EXE=%PERL32_BIN%\perl.exe +IF %ARCH% == X86 GOTO :NOT64 + +IF EXIST "%PERL64_BIN%" SET PATH=%PERL64_BIN%;%PATH% +IF EXIST "%PERL64_BIN%" SET PERL_EXE=%PERL64_BIN%\perl.exe + +:NOT64 IF %SDK% == SDK71 ( SET REDIST_YEAR=2010 SET PlatformToolset=v100 - CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv" /%ARCH% || GOTO :ERROR + CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv" /xp /%ARCH% || GOTO :ERROR ECHO ON ) @@ -40,6 +53,7 @@ IF %SDK% == MSVC2013 ( ) IF %SDK% == MSVC2015 ( + SET ICU_VER=67_1 SET REDIST_YEAR=2015 SET PlatformToolset=v140 IF %ARCH% == X86 CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall" x86 || GOTO :ERROR @@ -47,6 +61,36 @@ IF %SDK% == MSVC2015 ( IF %ARCH% == X64 CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall" amd64 || GOTO :ERROR ECHO ON ) +IF %SDK% == MSVC2017 ( + SET ICU_VER=67_1 + SET REDIST_YEAR=2017 + SET PlatformToolset=v141 + IF %ARCH% == X86 CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86 || GOTO :ERROR + ECHO ON + IF %ARCH% == X64 call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 || GOTO :ERROR +) +IF %SDK% == MSVC2019 ( + SET ICU_VER=67_1 + SET REDIST_YEAR=2019 + SET PlatformToolset=v142 + IF %ARCH% == X86 CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86 || GOTO :ERROR + ECHO ON + IF %ARCH% == X64 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 || GOTO :ERROR +) +IF %SDK% == MSVC2022 ( + SET ICU_VER=67_1 + SET REDIST_YEAR=2022 + SET PlatformToolset=v143 + IF %ARCH% == X86 CALL "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86 || GOTO :ERROR + ECHO ON + IF %ARCH% == X64 call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 || GOTO :ERROR + SET PlatformToolset=v143 +) + +rem vcvarsall of VS 2019 rewrite this variable +IF %ARCH% == X86 SET Platform=Win32 +IF %ARCH% == X64 SET Platform=X64 + REM As we use Msys2 for build we need to install useful packages we will use @ECHO "Current PATH is:" @@ -59,15 +103,31 @@ ECHO %PG_PATCH_VERSION% | grep "^[0-9]." > nul && ( SET PG_DEF_VERSION=%PG_MAJOR_VERSION%%PG_PATCH_VERSION% ) +IF "%ISDEV%"=="1" SET BUILD_TYPE=dev +IF "%ISDEV%"=="0" SET BUILD_TYPE=stable + +if "%BUILD_TYPE%"=="" SET BUILD_TYPE=dev + SET PGVER=%PG_DEF_VERSION% -IF "%PGURL%"=="" SET PGURL="https://ftp.postgresql.org/pub/source/v%PGVER%/postgresql-%PGVER%.tar.bz2" +IF "%PGURL%"=="" ( + IF "%PRODUCT_NAME%"=="" SET PGURL=https://ftp.postgresql.org/pub/source/v%PGVER%/postgresql-%PGVER%.tar.bz2 + IF "%PRODUCT_NAME%"=="PostgreSQL" SET PGURL=https://ftp.postgresql.org/pub/source/v%PGVER%/postgresql-%PGVER%.tar.bz2 + IF "%PRODUCT_NAME%"=="PostgresPro" SET PGURL=http://localrepo.l.postgrespro.ru/%BUILD_TYPE%/src/postgrespro-standard-%PGVER%.tar.bz2 + IF "%PRODUCT_NAME%"=="PostgresProEnterprise" SET PGURL=http://localrepo.l.postgrespro.ru/%BUILD_TYPE%/src/postgrespro-enterprise-%PGVER%.tar.bz2 +) REM Set useful directories paths so they're used in scripts -SET BUILD_DIR=c:\pg +SET BUILD_DIR=%ROOT%\builddir SET DEPENDENCIES_SRC_DIR=%BUILD_DIR%\dependencies_src SET DEPENDENCIES_BIN_DIR=%BUILD_DIR%\dependencies SET DEPS_ZIP=deps-%SDK%-%ARCH%.zip SET DOWNLOADS_DIR=%BUILD_DIR%\downloads + +REM Convert paths for Unix utilites +SET BUILD_UDIR=%BUILD_DIR:\=/% +SET DEPENDENCIES_SRC_UDIR=%DEPENDENCIES_SRC_DIR:\=/% +SET DEPENDENCIES_BIN_UDIR=%DEPENDENCIES_BIN_DIR:\=/% + REM Magic to set root directory of those scripts (Where Readme.md lies) REM Let's use MP for nmake for parallel build diff --git a/build/run.cmd b/build/run.cmd index d2284d4..9c2ecf2 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -14,6 +14,10 @@ IF "%~1" == "4" GOTO :OK IF "%~1" == "5" GOTO :OK IF "%~1" == "6" GOTO :OK IF "%~1" == "7" GOTO :OK +IF "%~1" == "8" GOTO :OK +IF "%~1" == "9" GOTO :OK +IF "%~1" == "12" GOTO :OK +IF "%~1" == "13" GOTO :OK SET USG=1 @@ -27,6 +31,10 @@ IF DEFINED USG ( ECHO 5: Build installer PgAdmin3 ECHO 6: Make PostgreSQL and PgAdmin3 archives ECHO 7: Build pgbouncer + ECHO 8: Build psqlODBC + ECHO 9: Build psqlODBC installer + ECHO 12: Build PostgresPro + ECHO 13: Build installer PostgresPro PAUSE EXIT /b 1 ) @@ -34,8 +42,8 @@ IF DEFINED USG ( :OK REM Set PostgreSQL version -IF "%PG_MAJOR_VERSION%"=="" SET PG_MAJOR_VERSION=9.5 -IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1 +IF "%PG_PREV_MAJOR_VERSION%"=="" SET PG_PREV_MAJOR_VERSION=9.6 +IF "%PG_MAJOR_VERSION%"=="" SET PG_MAJOR_VERSION=10 REM Set PgAdmin3 Version SET PGADMIN_VERSION=1.22.1 @@ -52,45 +60,85 @@ IF "%ARCH%"=="x64" SET ARCH=X64 REM Set PGBouner Version SET PGBOUNCER_VERSION=1.7 +REM Set PgODBC Version +IF "%PG_ODBC_VERSION%"=="" SET PG_ODBC_VERSION=09.05.0400 + @echo off&setlocal FOR %%i in ("%~dp0..") do set "ROOT=%%~fi" IF "%~1"=="1" ( TITLE Building dependencies IF "%SDK%"=="" SET SDK=SDK71 - CMD.EXE /C %ROOT%\build\helpers\dependencies.cmd + CMD.EXE /C %ROOT%\build\helpers\dependencies.cmd || GOTO :ERROR ) IF "%~1"=="2" ( TITLE Building PostgreSQL IF "%SDK%"=="" SET SDK=SDK71 - CMD.EXE /C %ROOT%\build\helpers\postgres.cmd + IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1 + CMD.EXE /C %ROOT%\build\helpers\postgres.cmd || GOTO :ERROR +) + +IF "%~1"=="12" ( + TITLE Building PostgresPro + IF "%SDK%"=="" SET SDK=SDK71 + IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro + IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1.1 + CMD.EXE /C %ROOT%\build\helpers\postgres.cmd || GOTO :ERROR ) IF "%~1"=="3" ( TITLE Building PostgreSQL installer IF "%SDK%"=="" SET SDK=SDK71 - CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd + IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1 + CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd || GOTO :ERROR +) + +IF "%~1"=="13" ( + TITLE Building PostgresPro installer + IF "%SDK%"=="" SET SDK=SDK71 + IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro + IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1.1 + CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd || GOTO :ERROR ) IF "%~1"=="4" ( TITLE Building PgAdmin - IF "%SDK%"=="" SET SDK=MSVC2015 - CMD.EXE /C %ROOT%\build\helpers\pgadmin.cmd + IF "%SDK%"=="" SET SDK=SDK71 + CMD.EXE /C %ROOT%\build\helpers\pgadmin.cmd || GOTO :ERROR ) IF "%~1"=="5" ( TITLE Building PgAdmin installer - IF "%SDK%"=="" SET SDK=MSVC2015 - CMD.EXE /C %ROOT%\build\helpers\pgadmin_installer.cmd + IF "%SDK%"=="" SET SDK=SDK71 + CMD.EXE /C %ROOT%\build\helpers\pgadmin_installer.cmd || GOTO :ERROR ) IF "%~1"=="6" ( TITLE Making Archives - CMD.EXE /C %ROOT%\build\helpers\make_zip.cmd + CMD.EXE /C %ROOT%\build\helpers\make_zip.cmd || GOTO :ERROR ) IF "%~1"=="7" ( TITLE Build PGBouncer - CMD.EXE /C %ROOT%\build\helpers\pgbouncer.cmd + CMD.EXE /C %ROOT%\build\helpers\pgbouncer.cmd || GOTO :ERROR +) + +IF "%~1"=="8" ( + TITLE Build psqlODBC + CMD.EXE /C %ROOT%\build\helpers\pgodbc.cmd || GOTO :ERROR +) + +IF "%~1"=="9" ( + TITLE Build psqlODBC installer + CMD.EXE /C %ROOT%\build\helpers\pgodbc_nsis_installer.cmd || GOTO :ERROR ) + +GOTO :DONE + +:ERROR +ECHO Failed with error #%errorlevel%. +EXIT /b %errorlevel% + +:DONE +ECHO Done. diff --git a/nsis/Plugins/RunAs.dll b/nsis/Plugins/RunAs.dll new file mode 100644 index 0000000..e59f2b1 Binary files /dev/null and b/nsis/Plugins/RunAs.dll differ diff --git a/nsis/Plugins/nsisFirewall.dll b/nsis/Plugins/nsisFirewall.dll new file mode 100644 index 0000000..69f6d1e Binary files /dev/null and b/nsis/Plugins/nsisFirewall.dll differ diff --git a/nsis/Ports.nsh b/nsis/Ports.nsh new file mode 100644 index 0000000..78b128e --- /dev/null +++ b/nsis/Ports.nsh @@ -0,0 +1,123 @@ +# Usage: +# Push "Tcp" or "Udp" +# Push "port_number" +# Call IsPortOpen +# Pop $0 ; "open" or "closed" or anything else for error +# +# Or with the LogicLib +# ${If} ${TCPPortOpen} 80 +# ${EndIf} +# ${If} ${UDPPortOpen} 137 +# ${EndIf} +# +Function IsPortOpen + + Exch $R0 # port to check + Exch + Exch $R1 + Push $0 + Push $1 + Push $2 + + System::Call 'iphlpapi::Get$R1Table(*i.r0, *i .r1, i 1) i .r2' + ${If} $2 != 122 # ERROR_INSUFFICIENT_BUFFER + StrCpy $R0 "" + Pop $2 + Pop $1 + Pop $0 + Exch $R1 + Exch + Exch $R0 + Return + ${EndIf} + + System::Alloc $1 + Pop $0 + + System::Call 'iphlpapi::Get$R1Table(ir0, *i r1, i 1) i .r2' + ${If} $2 != 0 # NO_ERROR + System::Free $0 + StrCpy $R0 "" + Pop $2 + Pop $1 + Pop $0 + Exch $R1 + Exch + Exch $R0 + Return + ${EndIf} + + Push $3 + Push $4 + Push $5 + + System::Call *$0(i.r2) + IntOp $2 $2 - 1 + ${For} $3 0 $2 + IntOp $4 $0 + 4 # skip dwNumEntries + ${If} $R1 == "Tcp" + IntOp $5 $3 * 20 # sizeof(MIB_TCPROW) + IntOp $4 $4 + $5 # skip to entry + System::Call *$4(i.r1,i,i.r4,i,i) + ${If} $1 <> 2 # $1 = dwState, 2 = MIB_TCP_STATE_LISTEN + ${Continue} + ${EndIf} + ${Else} + IntOp $5 $3 * 8 # sizeof(MIB_UDPROW) + IntOp $4 $4 + $5 # skip to entry + System::Call *$4(i,i.r4) + ${EndIf} +!if "${NSIS_PACKEDVERSION}" >= 50343936 ; v3.3+ + System::Call ws2_32::ntohs(hr4)h.r4 +!else + System::Call ws2_32::ntohs(ir4)i.r4 + IntOp $4 $4 & 0xffff ; Truncate to 16-bits +!endif + + ${If} $4 = $R0 + StrCpy $R0 "open" + ${Break} + ${EndIf} + ${Next} + + ${If} $R0 != "open" + StrCpy $R0 "closed" + ${EndIf} + + System::Free $0 + + Pop $5 + Pop $4 + Pop $3 + Pop $2 + Pop $1 + Pop $0 + Exch $R1 + Exch + Exch $R0 + +FunctionEnd + +# LogicLib macros for IsPortOpen + +!include LogicLib.nsh + +!macro _PortOpen _a _b _t _f + !insertmacro _LOGICLIB_TEMP + Push `${_a}` + Push `${_b}` + Call IsPortOpen + Pop $_LOGICLIB_TEMP + !insertmacro _== $_LOGICLIB_TEMP "open" `${_t}` `${_f}` +!macroend +!define PortOpen `PortOpen` + +!macro _TCPPortOpen _a _b _t _f + !insertmacro _PortOpen Tcp `${_b}` `${_t}` `${_f}` +!macroend +!define TCPPortOpen `"" TCPPortOpen` + +!macro _UDPPortOpen _a _b _t _f + !insertmacro _PortOpen Udp `${_b}` `${_t}` `${_f}` +!macroend +!define UDPPortOpen `"" UDPPortOpen` diff --git a/nsis/StrContains.nsh b/nsis/StrContains.nsh new file mode 100644 index 0000000..1763b5f --- /dev/null +++ b/nsis/StrContains.nsh @@ -0,0 +1,48 @@ +; StrContains +; This function does a case sensitive searches for an occurrence of a substring in a string. +; It returns the substring if it is found. +; Otherwise it returns null(""). +; Written by kenglish_hi +; Adapted from StrReplace written by dandaman32 + + +Var STR_HAYSTACK +Var STR_NEEDLE +Var STR_CONTAINS_VAR_1 +Var STR_CONTAINS_VAR_2 +Var STR_CONTAINS_VAR_3 +Var STR_CONTAINS_VAR_4 +Var STR_RETURN_VAR + +Function StrContains + Exch $STR_NEEDLE + Exch 1 + Exch $STR_HAYSTACK + ; Uncomment to debug + ;MessageBox MB_OK 'STR_NEEDLE = $STR_NEEDLE STR_HAYSTACK = $STR_HAYSTACK ' + StrCpy $STR_RETURN_VAR "" + StrCpy $STR_CONTAINS_VAR_1 -1 + StrLen $STR_CONTAINS_VAR_2 $STR_NEEDLE + StrLen $STR_CONTAINS_VAR_4 $STR_HAYSTACK + loop: + IntOp $STR_CONTAINS_VAR_1 $STR_CONTAINS_VAR_1 + 1 + StrCpy $STR_CONTAINS_VAR_3 $STR_HAYSTACK $STR_CONTAINS_VAR_2 $STR_CONTAINS_VAR_1 + StrCmp $STR_CONTAINS_VAR_3 $STR_NEEDLE found + StrCmp $STR_CONTAINS_VAR_1 $STR_CONTAINS_VAR_4 done + Goto loop + found: + StrCpy $STR_RETURN_VAR $STR_NEEDLE + Goto done + done: + Pop $STR_NEEDLE ;Prevent "invalid opcode" errors and keep the + Exch $STR_RETURN_VAR +FunctionEnd + +!macro _StrContainsConstructor OUT NEEDLE HAYSTACK + Push `${HAYSTACK}` + Push `${NEEDLE}` + Call StrContains + Pop `${OUT}` +!macroend + +!define StrContains '!insertmacro "_StrContainsConstructor"' diff --git a/nsis/client.files b/nsis/client.files new file mode 100644 index 0000000..a69fb74 --- /dev/null +++ b/nsis/client.files @@ -0,0 +1,37 @@ +./bin/*.dll +./bin/clusterdb.* +./bin/createdb.* +./bin/createuser.* +./bin/dropdb.* +./bin/dropuser.* +./bin/pg_basebackup.* +./bin/pgbench.* +./bin/pg_dump.* +./bin/pg_dumpall.* +./bin/pg_isready.* +./bin/pg_receivewal.* +./bin/pg_recvlogical.* +./bin/pg_restore.* +./bin/psql.* +./bin/reindexdb.* +./bin/vacuumdb.* +./bin/oid2name.* +./bin/vacuumlo.* +./bin/less.* +./bin/lesskey.* +./bin/openssl.* +./share/psqlrc.sample +./doc/postgresql-en.chm +./doc/postgresql-ru.chm +./share/locale/*/libpq*.mo +./share/locale/*/pgscripts*.mo +${if pg_major >= 13} +./bin/pg_verifybackup.* +./share/locale/*/LC_MESSAGES/pg_verifybackup*.mo +${endif} +${if pg_major >= 14} +./bin/pg_amcheck.* +./share/locale/*/LC_MESSAGES/pg_amcheck*.mo +./bin/libpq_pipeline.* +./share/locale/*/LC_MESSAGES/libpq_pipeline*.mo +${endif} diff --git a/nsis/devel.files b/nsis/devel.files new file mode 100644 index 0000000..45c8372 --- /dev/null +++ b/nsis/devel.files @@ -0,0 +1,6 @@ +./include/* +./lib/*.lib +./bin/pg_config.* +./bin/ecpg.* +./symbols/*.pdb +./share/errcodes.txt diff --git a/nsis/installation-notes-ru.html b/nsis/installation-notes-ru.html index 6586615..2017861 100644 --- a/nsis/installation-notes-ru.html +++ b/nsis/installation-notes-ru.html @@ -32,18 +32,17 @@ -

��������� PosgreSQL ��� Windows

+

��������� Postgres Pro (PostgreSQL) ��� Windows

��������� �� ���������

�������������� ������������ �������

-

������ ������ PostgreSQL ������� ����� -���� ����������� �� ���������� � �� Windows XP SP3 -� ����. 64-��������� ������ PosgreSQL -������� ����� ���� ����������� ������ �� 64 ��������� ������ -Windows.

+

������ ������ Postgres Pro (PostgreSQL) ������� ����� +���� ����������� �� ���������� � �� Windows XP SP3� ����. + 64-��������� ������ ������� ����� ���� ����������� ������ �� 64 + ��������� ������ Windows.

��������� ���������

������� ������������ ������ ��������� ��������� �������. ����� ������� ����������, ������� ����� �����������.

-

���� ����������, ��� PostgreSQL ������ +

���� ����������, ��� Postgre Pro ������ ��� ����������, �� ������������ ���������� ������ � �������� ���. ��� ���� ��� ���������� � �������� ����� ���������. ��� ����������� ������������� ������� ������������ ������ � ���������� ���������� �� @@ -70,7 +69,7 @@

������� ������ ������� � Windows

��� ������� ������� ������������ ����������� ���������� ������� ������ Windows: 'NT AUTHORITY\NetworkService'. -������ ������ Postgresql-9.4 +������ ������ postgresql-9.6 �� ������� ������������ ����� ��������� ����� ���������, ��������, ����� ��������� «���������� �����������» � Windows.

@@ -160,7 +159,7 @@ ����� �������. ����� � ������� �� ���������. ������������ ���������� �� ���������.

������������ Postgres -��������������� +����������������

- \ No newline at end of file + diff --git a/nsis/installation-notes.html b/nsis/installation-notes.html index baf9239..f8b60c0 100644 --- a/nsis/installation-notes.html +++ b/nsis/installation-notes.html @@ -29,47 +29,37 @@ -

PostgreSQL 9.4

+

Postgres Pro

Installation Notes

-

Welcome to the PostgreSQL 9.4 Installation Wizard.

+

Welcome to the Postgres Pro (PostgreSQL) Installation Wizard.

Legal Bits

First the boring legal stuff. The software bundled together in this package is released under a number of different Open Source licences. By using any component of this installation package, you agree to abide by the terms and conditions of it’s licence.

-

The PostgreSQL Server, pgAdmin and the installer itself are +

The Postgres Pro Server, pgAdmin and the installer itself are released under the PostgreSQL License.

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)

Supported Operating Systems

This Windows installer can run on a Windows XP SP3 and above.

Procedural Languages

-

The procedural languages pl/Perl, pl/Python and pl/Tcl are -included in this distribution of PostgreSQL. The server has been -built using the LanguagePack community distributions of those -language interpreters. To use any of the these languages from within -PostgreSQL, download and install the appropriate interpreters and -ensure they are included in the PATH variable under which the -database server will be started. The versions used are shown below - -newer minor (bugfix) releases may also work, but have not been -tested:

- +

The procedural languages pl/Perl, pl/Python are included in this + distribution of Postgres Pro. The server has been built using the + LanguagePack community distributions of those + language interpreters. To use any of the these languages from within + Postgres Pro, download and install the appropriate interpreters and + ensure they are included in the PATH variable under which the + database server will be started. The versions used are shown below - + newer minor (bugfix) releases may also work, but have not been + tested.

+

The current pl/Python is dynamically linked with Python's shared library in the LanguagePack installers. Some distributions of Python interpreters (including ActivePython) on Linux do not carry a dynamic library of Python. Such interpreters would no longer be functional -with pl/Python.We strongly recommend the users to use LanguagePack -installers for pl/Perl, pl/Python and pl/Tcl.

+with pl/Python. We strongly recommend the users to use LanguagePack +installers for pl/Perl and pl/Python.

Windows Service Account

The special 'NT AUTHORITY\NetworkService' account is used. @@ -115,11 +105,11 @@

INI file format

instal ODBC drivers

  • envvar=1 – set up - environment variables helpful for PostgreSQL: + environment variables helpful for Postgres Pro: PGDATA, PGDATABASE, PGUSER, PGPORT, PGLOCALEDIR

    Assembled by Postgres -Professional +Professional

    - \ No newline at end of file + diff --git a/nsis/license.txt b/nsis/license.txt index e471d4b..2bb8cd1 100644 --- a/nsis/license.txt +++ b/nsis/license.txt @@ -27,24 +27,3 @@ NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - -==================== -pgAdmin III License -==================== - -Copyright (C) 2002 - 2015, The pgAdmin Development Team - -Permission to use, copy, modify, and distribute this software and its documentation for -any purpose, without fee, and without a written agreement is hereby granted, provided -that the above copyright notice and this paragraph and the following two paragraphs -appear in all copies. - -IN NO EVENT SHALL THE PGADMIN DEVELOPMENT TEAM BE LIABLE TO ANY PARTY FOR DIRECT, -INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING -OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE PGADMIN DEVELOPMENT -TEAM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -THE PGADMIN DEVELOPMENT TEAM SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE PGADMIN DEVELOPMENT TEAM -HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. diff --git a/nsis/license_ee_en.txt b/nsis/license_ee_en.txt new file mode 100644 index 0000000..80d7a1c --- /dev/null +++ b/nsis/license_ee_en.txt @@ -0,0 +1,180 @@ +LICENSE AGREEMENT +ON THE USE OF THE PRODUCT DBMS POSTGRES PRO +AND ALL ITS VERSIONS + +PLEASE REVIEW THE FOLLOWING TERMS CAREFULLY BEFORE YOU START DOWNLOADING AND/OR +SETTING UP, AND/OR COPYING AND/OR INSTALLATION, AND/OR ANY USE OF THE DBMS POSTGRES +PRO ON YOUR COMPUTER/SERVER/PROCESSOR. ANY USE OF DBMS POSTGRES PRO MEANS YOUR +UNDERSTANDING OF THE TEXT OF THE AGREEMENT AND CONSENT, FULL AND UNCONDITIONAL +ACCEPTANCE OF ALL THE TERMS OF THIS AGREEMENT. + +This License Agreement (hereinafter referred to as - Agreement) for the right to use DBMS POSTGRES +PRO and all its versions (hereinafter referred to as - the Product) is a legal agreement between you - +natural person or legal entity (hereinafter referred to as - the User) and LLC PPG (Postgres +Professional) the Russian Federation, the Republic of Tatarstan, Innopolis (hereinafter referred to as +- the Rights Holder). This Agreement determines the terms, procedure, restrictions and other rules +for the use of the Product. This Agreement is legally valid as any other written agreement signed by +you. The Rights Holder reserves the right to amend this Agreement, an updated version of this +document is available at: https://postgrespro.ru. +If you do not agree with the terms of the Agreement, you must, without installation of the Product, +return the Product to the Rights Holder or its authorized representative or stop the installation of the +Product. Herewith, the refusal to install/download the Product does not exempt you, without +limitation, from the fulfillment of other terms of this Agreement, specified in Section 3. + +1. EXCLUSIVE INTELLECTUAL PROPERTY RIGHTS +1.1. The product of DBMS POSTGRES PRO (and all its versions), systems, methods, algorithms, +structure, libraries, applications (additional software), components/parts of the Product (including +texts and fonts), all modules, other component parts of the Product, copied and/or included in all +working software of the Hardware and software system or any part thereof, any copies, +documentation, authorship, logos and other information contained in the Product are objects of +intellectual property and commercial secret of the Rights Holder-Company Postgres Professional (LLC +PPG, Postgres Professional) and/or its affiliates, and are protected according to the current legislation +of the Russian Federation on intellectual property, commercial secret, and the provisions of this +Agreement. +1.2. Name Postgres / Postgres, logos Postgres / Postgres are registered trademarks of LLC PPG and +are protected by the Copyright Law of the Russian Federation. The Rights Holder guarantees that he +is authorized to use these logos and trademarks. +1.3. The use of the Product in violation of the terms of this Agreement is deemed to be a violation +of the current Copyright Law of the Russian Federation and is a sufficient reason for depriving you of +the rights granted with respect to the Product. +1.4. The Rights Holder shall assist in protecting the User from all claims of the third parties with +respect to intellectual or industrial ownership of the Product package. In the event of such a claim, +the User shall inform promptly the Rights Holder of all claims made by the third party, and provide +all necessary information concerning this dispute. +1.5. The Rights Holder declares that at the time of the transfer of the rights to use the Product, he +is not aware of the rights of the third parties that could be violated by granting a non-exclusive right +of the User to use the Product under this Agreement. +1.6. During the term of this Agreement, the Rights Holder is obliged to refrain from any actions that +could complicate the User's implementation of the right to use the result of intellectual activity within +the limits established by the Agreement. +2. SUBJECT OF THE AGREEMENT +2.1. The subject of this Agreement is the granting by the Rights Holder to you - the User (under +compliance with all technical requirements described in the technical and user documentation, as +well as all the conditions and restrictions specified in this Agreement) of non-exclusive rights to use +the software product DBMS POSTGRES PRO and all its subsequent versions within and by the +methods specified in this Agreement. Description and instructions for the use of the Product are +included in the Product, and are also available on the website of the Rights Holder at: +https://postgrespro.ru. +2.2. All updates to the Product shall be submitted in accordance with the terms of the technical +support of the Product. Technical support depends on the type of license used and is carried out +according to the rules for providing technical support on the website of the Rights Holder +https://postgrespro.ru. +2.3. The terms and procedure for remuneration for granting the rights to use the Product in case of +its commercial use, depending on the type of license, shall be determined in separately concluded +contracts with the Rights Holder or its authorized representatives/partners. +3. VOLUME OF TRANSFERABLE RIGHTS AND METHODS OF USE +3.1. The user shall be granted a non-exclusive right to use the Product and the user documentation +thereto with the limitation of the total number of installations, processors, processor cores or users +(determined in accordance with separate agreements with the Rights Holder or with the Rights +Holder's Partners), within the limits specified in this Agreement (simple (non-exclusive) license): the +right to install and reproduce provided for the installation and startup of software products in +accordance with the documentation accompanying the delivery of the Product and establishing the +rules for its use; +3.2. The right received by the User does not include the following rights: +3.2.1. To transfer the received right of using the Product, including media and documentation, by +legal entities or natural persons, by selling, leasing, renting, lending or other ways of disposition. +3.2.2. To transfer activation and access codes (or their copies) for use of the Product to the third +parties. +3.2.3. To use the Product on behalf of the third party. +3.2.4. To carry out the following activities: +3.2.4.1.To decompile (to convert object code to source code) and to modify programs and other +components of the Product. +3.2.4.2.To make any changes to the object code of the programs, except those that are made by +means included in the Product package and described in the documentation. +3.2.4.3.To perform other actions in relation to the Product that violate Russian and international +standards of the copyright and software laws. +3.3. The right received by the User for the use of the Product shall be valid during the period of +validity of exclusive rights to the Product and within the territory of the Russian Federation, unless +otherwise specified in separate agreements with the Rights Holder or with the Rights Holder's +Partners. +3.4. The following ways of using the Product with the technical specifications provided by the Rights +Holder on "as is" basis are: +3.4.1. Use of the Product for the development of applied solutions, for conducting tests, experiments +and exploring the opportunities of the Product. +3.4.2. The rights to use the Product for other purposes, taking into account the limitations of the use +of the Product, within the framework of separately licensed contracts concluded by the User and the +Rights Holder shall be determined by the terms of these agreements. + +4. TRANSFER PROCEDURE +4.1. Transfer of a copy of the Product to the User shall be carried out by providing access for +downloading on the website of the Rights Holder. User documentation shall be transferred to the +User in electronic form on the website of the Rights Holder. +4.2. Any changes, additions and other actions related to the transfer, activation, access provision +to the Product are carried out exclusively by the Rights Holder directly or through his authorized +representatives. +5. WARRANTY LIABILITIES +5.1. The Rights Holder guarantees that upon the transfer of rights to the Product, the copyrights, +closely-related or any other rights of the third parties shall not be violated. +5.2. The product with the rights of use specified in the Agreement is provided on "as is" basis, with +the absence of obligations of the Rights Holder about his/her suitability for the purposes of the User +or multiple use with certain software. +5.3. The Rights Holder does not provide any guarantees with respect to software and equipment of +other manufacturers that may be supplied to the User with the Product either as a part of the Product +or with which the Product is supplied. +5.4. Additionally, the Rights Holder declares as follows: +5.4.1. Additional conditions: +Portions Copyright (c) 2015-2018, Postgres Professional +Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group +Portions Copyright (c) 1994 Regents of the University of California +5.4.2. In no event shall the University of California be liable to any party for direct, indirect, special, +incidental, or consequential damages, including lost profits, arising out of the use of this software +and its documentation, even if the University of California has been advised of the possibility of such +damage. +5.4.3. The University of California specifically disclaims any warranties, including, but not limited to, +the implied warranties of merchantability and fitness for a particular purpose. The software provided +hereunder is on an "as is" basis, and the University of California has no obligations to provide +maintenance, support, updates, enhancements, or modifications. +5.4.4. A limited liability company under the laws of Russian Federation �Postgres Professional� +(Postgres Professional) incurs no liability for any damage, including loss of income, caused by direct +or indirect, special or incidental use of this software or its documentation, even if a limited liability +company under the laws of Russian Federation �Postgres Professional� was informed of the +possibility of such damages. +5.4.5. A limited liability company under the laws of Russian Federation �Postgres Professional� +(Postgres Professional) specifically refuses to provide any guarantees, including, but not limited to, +these warranties: implicit warranties of merchantability or suitability for a particular purpose. This +software shall be provided on "as is" basis and a limited liability company under the laws of Russian +Federation �Postgres Professional� is not obliged to provide maintenance, support, updates, +expansion or changes. +6. LIABILITY +6.1. The Rights Holder and his affiliated persons shall not be liable or compensate for direct or +indirect damages, including lost profit, loss of the User's confidential information, caused by +violations and/or errors in the operation of the Product, resulting from misconduct of the User's +personnel, or third parties, as well as malfunctions of the technical means and electrical equipment. +6.2. The Rights Holder also shall not incur any liability and shall not give any guarantees with respect +to any consumer qualities of the Product, except for those declared and listed in the user +documentation, if the Product was purchased by the User not from the Rights Holder or his +authorized representatives. +6.3. The User is liable for recovering any damage resulting from and following from the use of the +Product and the information contained therein or created by the Product, and also resulting from the +interaction (or inability to interact properly) with any other equipment, complex or software provided +by the Rights Holder and/or a third party. +6.4. The User undertakes to compensate for any expenses to the Rights Holder, including legal +costs, remuneration to lawyers/legal officers/representatives, and to protect the Rights Holder from +any claims, disputes, litigation, losses, damages, costs, expenses, any other liability arising from +improper, unlawful use of the Product (including any party related to the User, as well as persons +authorized by the User's instruction to act in clear breach of the terms of this Agreement and +applicable law). +7. SPECIAL ADDITIONAL CONDITIONS +7.1. The rights to use the Product are valid only if the Product is genuine. Purchased on a legal basis, +the Product shall be accompanied by a unique identification number and User data specified when +purchasing the Product. The user shall incur full liability for the data integrity transferred directly to +the Rights Holder or his authorized representative. The User undertakes to notify the Rights Holder +or his authorized representative about the discrepancies in the information provided by him, changes +in his details. +7.2. This Agreement, as described above, shall be deemed to be concluded and shall come into +force from the moment of the beginning of the installation and/or use of the Product, and constitutes +the entire agreement between the User and the Rights Holder on its terms and conditions. If any of +its provisions are recognized by the competent court as invalid, illegal, the remaining provisions of +the Agreement shall remain in full force and effect. All disputes and disagreements between the +parties to this Agreement shall be settled through negotiations, and if the positive result of the +negotiations is not achieved - by judicial procedure in accordance with the current legislation of the +Russian Federation. +7.3. Violation of the terms of this Agreement shall entail liability in accordance with the current +legislation of the Russian Federation and this Agreement. Without prejudice to any of its rights, the +Rights Holder has the right to unilaterally terminate this Agreement if the User does not comply with +its terms and conditions. Cash paid by the User for the use of the Product is non-refundable. +7.4. If the User has become aware of any information indicating copyright infringement of the +Rights Holder (illegal resale of the Product, reference links to unauthorized sites), please send this +information to: info@postgrespro.ru. +7.5. For additional information on emerging issues regarding this Agreement, other explanations +on the use of the Product, the User may contact: info@postgrespro.ru. \ No newline at end of file diff --git a/nsis/license_ee_ru.txt b/nsis/license_ee_ru.txt new file mode 100644 index 0000000..ef8511d --- /dev/null +++ b/nsis/license_ee_ru.txt @@ -0,0 +1,208 @@ +������������ ���������� � ������������� �� ���� POSTGRES PRO +(�) Postgres Professional 2015-2018 + +������������ ���������� +�� ������������� �������� ���� POSTGRES PRO +� ���� ��� ������ + +����������� ������������ � ��������� ���������� ������, ��� �� ������� +�������� �/��� ��������� �/��� ����������� �/��� ����������� �/��� ����� +������������� ���� POSTGRES PRO �� ��� ���������/������/���������. ����� +������������� ���� POSTGRES PRO �������� ���� ��������� ������ ����������, +�������� � ������ � �������������� �������� ���� ������� ���������� + +����������. +��������� ������������ ���������� (����� � ����������) �� �������������� ���� +������������� ���� POSTGRES PRO � ���� ��� ������ (����� � �������) �������� ����������� +�����������, ����������� ����� ���� � ���������� ��� ����������� ����� (����� - +������������) � ��� ���û (Postgres Professional) ���������� ���������, ���������� +���������, �. ��������� (����� � ���������������). ��������� ���������� ���������� +�������, �������, ����������� � ���� ������� ������������� ��������. ��������� +���������� ����� ����������� ���� ��� ���� ������ ���������� ����������, ����������� +����. ��������������� ��������� �� ����� ����� �� �������� ��������� � ��������� +����������, ����������� ������ ������� ��������� ���������: https://postgrespro.ru. +���� �� �� �������� � ��������� ����������, ��� ����������, �� ��������� ��������� +��������, ���������� ������� �������� ��������������� ��� ��� ��������������� +������������� ��� ���������� ��������� ��������. ��� ����, ����� �� ���������/�������� +�������� �� ����������� ���, � ��� �����, �� ���������� ���� ������� ���������� +����������, ����������� � ������� 3. + +1. �������������� ����� �� ���������������� ������������� +1.1. ������� ���� POSTGRES PRO (� ��� ��� ������), �������, ������, ���������, ���������, +����������, ���������� (�������������� ����������� �����������), ����������/����� +�������� (� �.�. ������ � ������), ��� ������, ���� ������������ ��������, ������������� +�/��� ���������� �� ��� ������� ����������� ����������� ����������-����������� +��������� ��� � ��� �����, ����� �����, ������������, ���������, �������� � ���� +����������, ������������ � ��������, �������� ��������� ���������������� ������������� +� ������������ ������ ��������������� � �������� �������� ���������������� (��� +���û, Postgres Professional) �/��� ��� �������������� ��� � �������� � ������������ � +����������� ����������������� ���������� ��������� �� ���������������� �������������, +������������ �����, � ����� ����������� ���������� ����������. +1.2. ������������ ��������/Postgres, �������� ��������/Postgres �������� +������������������� ��������� ������� ��� ���û � �������� ����������������� +���������� ��������� �� ��������� ������. ��������������� �����������, ��� ����� +��������������� ����� �� ������������� ��������� ��������� � �������� ������. +1.3. ������������� �������� � ��������� ������� ���������� ���������� ���������� +���������� ������������ ���������������� ���������� ��������� �� ��������� ������ � +�������� ����������� ���������� ��� ������� ��� ����, ��������������� � ��������� +��������. +1.4. ��������������� ����� ��������� ������ � ������ ������������ �� ���� ����� ������� +������ � ��������� ����������������� ��� ������������� �������� ������� ��������. � +������ ������������� ������ ���� ������������ ������ ��������������� ������������� +��������������� ��� ���� ����������, ������������� ������� ��������, � ������������ ��� +����������� ����������, ���������� ����� �����. +1.5. ��������������� ��������, ��� �� ������ �������� ���� �� ������������� �������� ��� +������ �� �������� � ������ ������� ���, ������� ����� �� ���� �������� ��������������� +������������ ����������������� ����� ������������� �������� �� ������� ����������. +1.6. � ������� ����� �������� ���������� ���������� ��������������� ������ +�������������� �� �����-���� ��������, ��������� ���������� ������������� ������������� +���������������� ��� ����� ������������� ���������� ���������������� ������������ � +������������� ����������� ��������. +2. ������� ���������� +2.1. ��������� ���������� ���������� �������� �������������� ���������������� ��� - +������������ (��� ������� ���������� ���� ���� ����������� ����������, ��������� � +����������� � ���������������� ������������, � ����� ���� ������� � �����������, +��������� � ��������� ����������) ���������������� ���� ������������� ������������ +�������� ����� POSTGRES PRO� � ���� ��� ����������� ������ � �������� � ���������, +���������� � ��������� ����������. �������� � ���������� �� ������������� �������� +������ � ������ ��������, � ����� �������� �� ����� ��������������� �� ������: +https://postgrespro.ru. +2.2. ��� ���������� � �������� �������������� � ������������ � ��������� ������������� +����������� ��������� ��������. ����������� ��������� ������� �� ���� ������������ +�������� � �������������� �� �������� �������������� ����������� ���������, +����������� �� ����� ��������������� https://postgrespro.ru. +2.3. ������� � ������� ������� �������������� �� �������������� ���� ������������� +�������� � ������ ��� ������������� ������������� � ����������� �� ���� �������� +������������ � �������� ����������� ��������� � ���������������� ��� ��� +��������������� ���������������/����������. +3. ����� ������������ ���� � ������� ������������� +3.1. ������������ ��������������� ���������������� ����� �� ������������� �������� � +���������������� ������������ � ���� � ������������ ������ ����� ���������, �����������, +���� ����������� ��� ������������� (������������ �������� ��������� ����������� � +���������������� ��� � ���������� ���������������), � ��������, ������������ +��������� ����������� (������� (����������������) ��������): ����� �� ��������� � +���������������, ��������������� ��� ����������� � ������� ����������� ��������� � +������������ � �������������, �������������� �������� �������� � ��������������� +������� ��� �������������; +3.2. ���������� ������������� ����� �� �������� �����: +3.2.1. ���������� ���������� ����� ����������� ��������, ������� �������� � +������������, ����������� ��� ���������� ������, ����� �������, �������, ����� �����, +�������������� ������ ��� ����� ������� ��������� ����������. +3.2.2. ���������� ���� ��������� � ������� (��� �� �����) ��� ������������� �������� +������� �����. +3.2.3. ������������ ������� �� ����� ������� �������. +3.2.4. ������������ ��������� ������������: +3.2.4.1.��������������� (��������������� ��������� ��� � �������� �����) � +�������������� ��������� � ������ ���������� ��������. +3.2.4.2.������� �����-���� ��������� � ��������� ��� �������� �� ����������� ���, +������� �������� ����������, ����������� � �������� �������� � ���������� � +������������. +3.2.4.3.��������� ������������ �������� ������ ��������, ���������� ���������� � +������������� ����� ���������������� �� ��������� ����� � ������������� ����������� +�������. +3.3. ���������� ������������� ����� �� ������������� �������� ��������� � ������� ����� +�������� �������������� ���� �� ������� � � �������� ���������� ���������� ���������, +���� ���� �� ������������ � ��������� ����������� � ���������������� ��� � ���������� +���������������. +3.4. �������� ��������� ������� ���������� �������� � ���������������� +���������������� ������������ ���������������� ���� �����: +3.4.1. ������������� �������� ��� ���������� ���������� �������, ��� ���������� ������, +������������� � �������� ������������ ��������. +3.4.2. ����� ������������� �������� ��� ���� ����� � ������ ����������� ������������� +��������, � ������ �������� ����������� ������������� � ���������������� +������������ ���������, ������������ ��������� ������ ���������. +4. ������� �������� +4.1. �������� ������������ ����� �������� �������������� ����������� �������������� +������� ��� ���������� �� ����� ���������������. ���������������� ������������ +���������� ������������ � ����������� ���� �� ����� ���������������. +4.2. ����� ���������, ���������� � ������ ��������, ��������� � ���������, ����������, +��������������� ������� � �������� �������������� ������������� ���������������� +�������� ��� ����� ��� �������������� ��������������. +5. ����������� ������������� +5.1. ��������������� �����������, ��� ��� �������� ���� �� ������� �� �������� +���������, ������� ��� ����� ���� ����� ������� ���. +5.2. ������� � ������������� � ���������� ������� ��� ������������� ��������������� +���� �����, � ����������� ������������ ��������������� � ��� ����������� ��� ����� +������������ ��� ����������� ������������� � ������������ ����������� ������������. +5.3. ��������������� �� ������������� ������� �������� � ��������� ������������ +����������� � ������������ ������ ��������������, ������� ����� ������������ +������������ ������ � ��������� ��� � ������� ��������, ���� � ������� ������������ +�������. +5.4. ������������� ��������������� �������� � �������������: +5.4.1. �������������� �������: +Portions Copyright (c) 2015-2018, Postgres Professional +Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group +Portions Copyright (c) 1994 Regents of the University of California +5.4.2. �������������� ����������� �� ����� ������� ��������������� �� ����� +�����������, ������� ������ ������, ���������� ������ ��� ��������, ����������� ��� +��������� �������������� ������� ������������ ����������� ��� ��� ������������, ���� +���� �������������� ����������� ��� ������� � ����������� ����� �����������. +5.4.3. �������������� ����������� ���������� ������������ ������������� ����� +��������, �������, �� �� ������������� ������ ����� ����������: ������� �������� +����������� ������ ��� ����������� ��� ��������� ����. ������ ����������� ����������� +��������������� �� ������ �������� "��� ����" � �������������� ����������� �� ������ +������������� �������������, ���������, ����������, ���������� ��� ���������. +5.4.4. �������� � ������������ ���������������� "�������� ����������������" (Postgres +Professional) �� ����� ������� ��������������� �� ����� �����������, ������� ������ +������, ���������� ������ ��� ��������, ����������� ��� ��������� �������������� +������� ������������ ����������� ��� ��� ������������, ���� ���� �������� � +������������ ���������������� "�������� ����������������" ���� �������� � ����������� +����� �����������. +5.4.5. �������� � ������������ ���������������� "�������� ����������������" (Postgres +Professional) ���������� ������������ ������������� ����� ��������, �������, �� �� +������������� ������ ����� ����������: ������� �������� ����������� ������ ��� +����������� ��� ��������� ����. ������ ����������� ����������� ��������������� �� +������ �������� "��� ����" � �������� � ������������ ���������������� "�������� +����������������" �� ������� ������������� �������������, ���������, ����������, +���������� ��� ���������. +6. ��������������� +6.1. ��������������� � ��� �������������� ���� �� ����� ��������������� � �� ��������� +������ ��� ��������� ������, ������� ��������� ������, ������ ���������������� +���������� ������������, ��������� ����������� �/��� �������� ��� ������������ +��������, ��������� � ���������� ������������� �������� ��������� ������������, ���� +������� ���, � ����� ��������� ����������� ������� � ����� �������������������. +6.2. ��������������� ����� �� ����� ��������������� � �� ���� ������� �������� � +��������� �����-���� ��������������� ������� ��������, ����� ���������� � ����������� � +���������������� ������������, ���� ������� ��� ���������� ������������� �� � +��������������� ��� ��� �������������� ��������������. +6.3. �� ������������ ����������� ��������������� �� ���������� ������ ������, +����������� � ���������� �� ������������� �� �������� � ����������, ������������ � +��� ��� ��������� ���������, � ����� ����������� �� �������������� (��� ������������� +����������������� ������� �������) � ����� ���� �������������, ���������� ��� +����������� ������������, ��������������� ���������������� �/��� ������� �����. +6.4. ������������ ��������� �������������� ��������������� ����� �������, ������� +�������� ��������, �������������� ���������/�������/��������������, � ����� +������������ ������ ��������������� �� ����� ���������, ������, �������� ��������������, +������, �������, ��������, ������, ����� ���� ���������������, ����������� � ���������� +��������������, ����������� ������������� �������� (� ��� ����� ����� ������� +��������� � ������������ ��������, ����� ��� � ������, ��������������� �� ��������� +������������ ����������� ����� ������� � ��������� ������� ���������� ���������� � +������������ ����������������). +7. ������, �������������� ������� +7.1. ����� �� ������������� �������� ������������� ������ � ��� ������, ���� ������� +�������� ���������. ������������� �� �������� ���������� ������� �������������� +���������� ����������������� ������� � ������� ������������, ���������� ��� +������� ��������. ������������ ����� ������ ��������������� �� ������������� ������, +���������� ��������������� ��������������� ��� ��� ��������������� �������������. +������������ ��������� �������� ��������������� ��� ��� ��������������� ������������� +�� ������������ �� ��������������� ��������������� ������, ��������� ����� ����������. +7.2. ��������� ����������, ��� ������� ����, ��������� ����������� � �������� � ���� � +������� ������ ��������� �/��� ������������� �������� � ������������ ����� ������ +���������� ����� ������������� � ���������������� � ��� ��������. ���� �����-���� ��� +��������� ���������� �������� ������������ ����� �����������������, �����������, +��������� ��������� ���������� �������� � ���� � ���������� �����������. ��� ����� � +����������� ������ ���������� ���������� �������� �������������� ����� �����������, � +��� ������������ �������������� ���������� ����������� � � �������� ������� � +������������ � ����������� ����������������� ���������� ���������. +7.3. ��������� ������� ���������� ���������� ������ ��������������� � ������������ � +����������� ����������������� ���������� ��������� � ������ �����������. ��� ������ +��� �����-���� ����� ���� ��������������� ����� ����� � ������������� ���������� +�������� ���������� ���������� ��� ������������ ������������� ��� ������� � +�����������. �������� ��������, ���������� ������������� �� ������������� ��������, +�������� �� ��������. +7.4. ���� ������������ ����� �������� �����-���� ����������, ����������� �� ��������� +��������� ���� ��������������� (������������� ����������� ��������, ������ �� +��������� �����) ������ ���������� ��������� ���������� �� ������: info@postgrespro.ru. +7.5. �� �������������� ����������� �� ����������� �������� � ��������� ���������� +����������, ����� ������������� �� ������������� �������� ������������ ����� +���������� �� ������: info@postgrespro.ru. \ No newline at end of file diff --git a/nsis/license_std_en.txt b/nsis/license_std_en.txt new file mode 100644 index 0000000..80d7a1c --- /dev/null +++ b/nsis/license_std_en.txt @@ -0,0 +1,180 @@ +LICENSE AGREEMENT +ON THE USE OF THE PRODUCT DBMS POSTGRES PRO +AND ALL ITS VERSIONS + +PLEASE REVIEW THE FOLLOWING TERMS CAREFULLY BEFORE YOU START DOWNLOADING AND/OR +SETTING UP, AND/OR COPYING AND/OR INSTALLATION, AND/OR ANY USE OF THE DBMS POSTGRES +PRO ON YOUR COMPUTER/SERVER/PROCESSOR. ANY USE OF DBMS POSTGRES PRO MEANS YOUR +UNDERSTANDING OF THE TEXT OF THE AGREEMENT AND CONSENT, FULL AND UNCONDITIONAL +ACCEPTANCE OF ALL THE TERMS OF THIS AGREEMENT. + +This License Agreement (hereinafter referred to as - Agreement) for the right to use DBMS POSTGRES +PRO and all its versions (hereinafter referred to as - the Product) is a legal agreement between you - +natural person or legal entity (hereinafter referred to as - the User) and LLC PPG (Postgres +Professional) the Russian Federation, the Republic of Tatarstan, Innopolis (hereinafter referred to as +- the Rights Holder). This Agreement determines the terms, procedure, restrictions and other rules +for the use of the Product. This Agreement is legally valid as any other written agreement signed by +you. The Rights Holder reserves the right to amend this Agreement, an updated version of this +document is available at: https://postgrespro.ru. +If you do not agree with the terms of the Agreement, you must, without installation of the Product, +return the Product to the Rights Holder or its authorized representative or stop the installation of the +Product. Herewith, the refusal to install/download the Product does not exempt you, without +limitation, from the fulfillment of other terms of this Agreement, specified in Section 3. + +1. EXCLUSIVE INTELLECTUAL PROPERTY RIGHTS +1.1. The product of DBMS POSTGRES PRO (and all its versions), systems, methods, algorithms, +structure, libraries, applications (additional software), components/parts of the Product (including +texts and fonts), all modules, other component parts of the Product, copied and/or included in all +working software of the Hardware and software system or any part thereof, any copies, +documentation, authorship, logos and other information contained in the Product are objects of +intellectual property and commercial secret of the Rights Holder-Company Postgres Professional (LLC +PPG, Postgres Professional) and/or its affiliates, and are protected according to the current legislation +of the Russian Federation on intellectual property, commercial secret, and the provisions of this +Agreement. +1.2. Name Postgres / Postgres, logos Postgres / Postgres are registered trademarks of LLC PPG and +are protected by the Copyright Law of the Russian Federation. The Rights Holder guarantees that he +is authorized to use these logos and trademarks. +1.3. The use of the Product in violation of the terms of this Agreement is deemed to be a violation +of the current Copyright Law of the Russian Federation and is a sufficient reason for depriving you of +the rights granted with respect to the Product. +1.4. The Rights Holder shall assist in protecting the User from all claims of the third parties with +respect to intellectual or industrial ownership of the Product package. In the event of such a claim, +the User shall inform promptly the Rights Holder of all claims made by the third party, and provide +all necessary information concerning this dispute. +1.5. The Rights Holder declares that at the time of the transfer of the rights to use the Product, he +is not aware of the rights of the third parties that could be violated by granting a non-exclusive right +of the User to use the Product under this Agreement. +1.6. During the term of this Agreement, the Rights Holder is obliged to refrain from any actions that +could complicate the User's implementation of the right to use the result of intellectual activity within +the limits established by the Agreement. +2. SUBJECT OF THE AGREEMENT +2.1. The subject of this Agreement is the granting by the Rights Holder to you - the User (under +compliance with all technical requirements described in the technical and user documentation, as +well as all the conditions and restrictions specified in this Agreement) of non-exclusive rights to use +the software product DBMS POSTGRES PRO and all its subsequent versions within and by the +methods specified in this Agreement. Description and instructions for the use of the Product are +included in the Product, and are also available on the website of the Rights Holder at: +https://postgrespro.ru. +2.2. All updates to the Product shall be submitted in accordance with the terms of the technical +support of the Product. Technical support depends on the type of license used and is carried out +according to the rules for providing technical support on the website of the Rights Holder +https://postgrespro.ru. +2.3. The terms and procedure for remuneration for granting the rights to use the Product in case of +its commercial use, depending on the type of license, shall be determined in separately concluded +contracts with the Rights Holder or its authorized representatives/partners. +3. VOLUME OF TRANSFERABLE RIGHTS AND METHODS OF USE +3.1. The user shall be granted a non-exclusive right to use the Product and the user documentation +thereto with the limitation of the total number of installations, processors, processor cores or users +(determined in accordance with separate agreements with the Rights Holder or with the Rights +Holder's Partners), within the limits specified in this Agreement (simple (non-exclusive) license): the +right to install and reproduce provided for the installation and startup of software products in +accordance with the documentation accompanying the delivery of the Product and establishing the +rules for its use; +3.2. The right received by the User does not include the following rights: +3.2.1. To transfer the received right of using the Product, including media and documentation, by +legal entities or natural persons, by selling, leasing, renting, lending or other ways of disposition. +3.2.2. To transfer activation and access codes (or their copies) for use of the Product to the third +parties. +3.2.3. To use the Product on behalf of the third party. +3.2.4. To carry out the following activities: +3.2.4.1.To decompile (to convert object code to source code) and to modify programs and other +components of the Product. +3.2.4.2.To make any changes to the object code of the programs, except those that are made by +means included in the Product package and described in the documentation. +3.2.4.3.To perform other actions in relation to the Product that violate Russian and international +standards of the copyright and software laws. +3.3. The right received by the User for the use of the Product shall be valid during the period of +validity of exclusive rights to the Product and within the territory of the Russian Federation, unless +otherwise specified in separate agreements with the Rights Holder or with the Rights Holder's +Partners. +3.4. The following ways of using the Product with the technical specifications provided by the Rights +Holder on "as is" basis are: +3.4.1. Use of the Product for the development of applied solutions, for conducting tests, experiments +and exploring the opportunities of the Product. +3.4.2. The rights to use the Product for other purposes, taking into account the limitations of the use +of the Product, within the framework of separately licensed contracts concluded by the User and the +Rights Holder shall be determined by the terms of these agreements. + +4. TRANSFER PROCEDURE +4.1. Transfer of a copy of the Product to the User shall be carried out by providing access for +downloading on the website of the Rights Holder. User documentation shall be transferred to the +User in electronic form on the website of the Rights Holder. +4.2. Any changes, additions and other actions related to the transfer, activation, access provision +to the Product are carried out exclusively by the Rights Holder directly or through his authorized +representatives. +5. WARRANTY LIABILITIES +5.1. The Rights Holder guarantees that upon the transfer of rights to the Product, the copyrights, +closely-related or any other rights of the third parties shall not be violated. +5.2. The product with the rights of use specified in the Agreement is provided on "as is" basis, with +the absence of obligations of the Rights Holder about his/her suitability for the purposes of the User +or multiple use with certain software. +5.3. The Rights Holder does not provide any guarantees with respect to software and equipment of +other manufacturers that may be supplied to the User with the Product either as a part of the Product +or with which the Product is supplied. +5.4. Additionally, the Rights Holder declares as follows: +5.4.1. Additional conditions: +Portions Copyright (c) 2015-2018, Postgres Professional +Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group +Portions Copyright (c) 1994 Regents of the University of California +5.4.2. In no event shall the University of California be liable to any party for direct, indirect, special, +incidental, or consequential damages, including lost profits, arising out of the use of this software +and its documentation, even if the University of California has been advised of the possibility of such +damage. +5.4.3. The University of California specifically disclaims any warranties, including, but not limited to, +the implied warranties of merchantability and fitness for a particular purpose. The software provided +hereunder is on an "as is" basis, and the University of California has no obligations to provide +maintenance, support, updates, enhancements, or modifications. +5.4.4. A limited liability company under the laws of Russian Federation �Postgres Professional� +(Postgres Professional) incurs no liability for any damage, including loss of income, caused by direct +or indirect, special or incidental use of this software or its documentation, even if a limited liability +company under the laws of Russian Federation �Postgres Professional� was informed of the +possibility of such damages. +5.4.5. A limited liability company under the laws of Russian Federation �Postgres Professional� +(Postgres Professional) specifically refuses to provide any guarantees, including, but not limited to, +these warranties: implicit warranties of merchantability or suitability for a particular purpose. This +software shall be provided on "as is" basis and a limited liability company under the laws of Russian +Federation �Postgres Professional� is not obliged to provide maintenance, support, updates, +expansion or changes. +6. LIABILITY +6.1. The Rights Holder and his affiliated persons shall not be liable or compensate for direct or +indirect damages, including lost profit, loss of the User's confidential information, caused by +violations and/or errors in the operation of the Product, resulting from misconduct of the User's +personnel, or third parties, as well as malfunctions of the technical means and electrical equipment. +6.2. The Rights Holder also shall not incur any liability and shall not give any guarantees with respect +to any consumer qualities of the Product, except for those declared and listed in the user +documentation, if the Product was purchased by the User not from the Rights Holder or his +authorized representatives. +6.3. The User is liable for recovering any damage resulting from and following from the use of the +Product and the information contained therein or created by the Product, and also resulting from the +interaction (or inability to interact properly) with any other equipment, complex or software provided +by the Rights Holder and/or a third party. +6.4. The User undertakes to compensate for any expenses to the Rights Holder, including legal +costs, remuneration to lawyers/legal officers/representatives, and to protect the Rights Holder from +any claims, disputes, litigation, losses, damages, costs, expenses, any other liability arising from +improper, unlawful use of the Product (including any party related to the User, as well as persons +authorized by the User's instruction to act in clear breach of the terms of this Agreement and +applicable law). +7. SPECIAL ADDITIONAL CONDITIONS +7.1. The rights to use the Product are valid only if the Product is genuine. Purchased on a legal basis, +the Product shall be accompanied by a unique identification number and User data specified when +purchasing the Product. The user shall incur full liability for the data integrity transferred directly to +the Rights Holder or his authorized representative. The User undertakes to notify the Rights Holder +or his authorized representative about the discrepancies in the information provided by him, changes +in his details. +7.2. This Agreement, as described above, shall be deemed to be concluded and shall come into +force from the moment of the beginning of the installation and/or use of the Product, and constitutes +the entire agreement between the User and the Rights Holder on its terms and conditions. If any of +its provisions are recognized by the competent court as invalid, illegal, the remaining provisions of +the Agreement shall remain in full force and effect. All disputes and disagreements between the +parties to this Agreement shall be settled through negotiations, and if the positive result of the +negotiations is not achieved - by judicial procedure in accordance with the current legislation of the +Russian Federation. +7.3. Violation of the terms of this Agreement shall entail liability in accordance with the current +legislation of the Russian Federation and this Agreement. Without prejudice to any of its rights, the +Rights Holder has the right to unilaterally terminate this Agreement if the User does not comply with +its terms and conditions. Cash paid by the User for the use of the Product is non-refundable. +7.4. If the User has become aware of any information indicating copyright infringement of the +Rights Holder (illegal resale of the Product, reference links to unauthorized sites), please send this +information to: info@postgrespro.ru. +7.5. For additional information on emerging issues regarding this Agreement, other explanations +on the use of the Product, the User may contact: info@postgrespro.ru. \ No newline at end of file diff --git a/nsis/license_std_ru.txt b/nsis/license_std_ru.txt new file mode 100644 index 0000000..ef8511d --- /dev/null +++ b/nsis/license_std_ru.txt @@ -0,0 +1,208 @@ +������������ ���������� � ������������� �� ���� POSTGRES PRO +(�) Postgres Professional 2015-2018 + +������������ ���������� +�� ������������� �������� ���� POSTGRES PRO +� ���� ��� ������ + +����������� ������������ � ��������� ���������� ������, ��� �� ������� +�������� �/��� ��������� �/��� ����������� �/��� ����������� �/��� ����� +������������� ���� POSTGRES PRO �� ��� ���������/������/���������. ����� +������������� ���� POSTGRES PRO �������� ���� ��������� ������ ����������, +�������� � ������ � �������������� �������� ���� ������� ���������� + +����������. +��������� ������������ ���������� (����� � ����������) �� �������������� ���� +������������� ���� POSTGRES PRO � ���� ��� ������ (����� � �������) �������� ����������� +�����������, ����������� ����� ���� � ���������� ��� ����������� ����� (����� - +������������) � ��� ���û (Postgres Professional) ���������� ���������, ���������� +���������, �. ��������� (����� � ���������������). ��������� ���������� ���������� +�������, �������, ����������� � ���� ������� ������������� ��������. ��������� +���������� ����� ����������� ���� ��� ���� ������ ���������� ����������, ����������� +����. ��������������� ��������� �� ����� ����� �� �������� ��������� � ��������� +����������, ����������� ������ ������� ��������� ���������: https://postgrespro.ru. +���� �� �� �������� � ��������� ����������, ��� ����������, �� ��������� ��������� +��������, ���������� ������� �������� ��������������� ��� ��� ��������������� +������������� ��� ���������� ��������� ��������. ��� ����, ����� �� ���������/�������� +�������� �� ����������� ���, � ��� �����, �� ���������� ���� ������� ���������� +����������, ����������� � ������� 3. + +1. �������������� ����� �� ���������������� ������������� +1.1. ������� ���� POSTGRES PRO (� ��� ��� ������), �������, ������, ���������, ���������, +����������, ���������� (�������������� ����������� �����������), ����������/����� +�������� (� �.�. ������ � ������), ��� ������, ���� ������������ ��������, ������������� +�/��� ���������� �� ��� ������� ����������� ����������� ����������-����������� +��������� ��� � ��� �����, ����� �����, ������������, ���������, �������� � ���� +����������, ������������ � ��������, �������� ��������� ���������������� ������������� +� ������������ ������ ��������������� � �������� �������� ���������������� (��� +���û, Postgres Professional) �/��� ��� �������������� ��� � �������� � ������������ � +����������� ����������������� ���������� ��������� �� ���������������� �������������, +������������ �����, � ����� ����������� ���������� ����������. +1.2. ������������ ��������/Postgres, �������� ��������/Postgres �������� +������������������� ��������� ������� ��� ���û � �������� ����������������� +���������� ��������� �� ��������� ������. ��������������� �����������, ��� ����� +��������������� ����� �� ������������� ��������� ��������� � �������� ������. +1.3. ������������� �������� � ��������� ������� ���������� ���������� ���������� +���������� ������������ ���������������� ���������� ��������� �� ��������� ������ � +�������� ����������� ���������� ��� ������� ��� ����, ��������������� � ��������� +��������. +1.4. ��������������� ����� ��������� ������ � ������ ������������ �� ���� ����� ������� +������ � ��������� ����������������� ��� ������������� �������� ������� ��������. � +������ ������������� ������ ���� ������������ ������ ��������������� ������������� +��������������� ��� ���� ����������, ������������� ������� ��������, � ������������ ��� +����������� ����������, ���������� ����� �����. +1.5. ��������������� ��������, ��� �� ������ �������� ���� �� ������������� �������� ��� +������ �� �������� � ������ ������� ���, ������� ����� �� ���� �������� ��������������� +������������ ����������������� ����� ������������� �������� �� ������� ����������. +1.6. � ������� ����� �������� ���������� ���������� ��������������� ������ +�������������� �� �����-���� ��������, ��������� ���������� ������������� ������������� +���������������� ��� ����� ������������� ���������� ���������������� ������������ � +������������� ����������� ��������. +2. ������� ���������� +2.1. ��������� ���������� ���������� �������� �������������� ���������������� ��� - +������������ (��� ������� ���������� ���� ���� ����������� ����������, ��������� � +����������� � ���������������� ������������, � ����� ���� ������� � �����������, +��������� � ��������� ����������) ���������������� ���� ������������� ������������ +�������� ����� POSTGRES PRO� � ���� ��� ����������� ������ � �������� � ���������, +���������� � ��������� ����������. �������� � ���������� �� ������������� �������� +������ � ������ ��������, � ����� �������� �� ����� ��������������� �� ������: +https://postgrespro.ru. +2.2. ��� ���������� � �������� �������������� � ������������ � ��������� ������������� +����������� ��������� ��������. ����������� ��������� ������� �� ���� ������������ +�������� � �������������� �� �������� �������������� ����������� ���������, +����������� �� ����� ��������������� https://postgrespro.ru. +2.3. ������� � ������� ������� �������������� �� �������������� ���� ������������� +�������� � ������ ��� ������������� ������������� � ����������� �� ���� �������� +������������ � �������� ����������� ��������� � ���������������� ��� ��� +��������������� ���������������/����������. +3. ����� ������������ ���� � ������� ������������� +3.1. ������������ ��������������� ���������������� ����� �� ������������� �������� � +���������������� ������������ � ���� � ������������ ������ ����� ���������, �����������, +���� ����������� ��� ������������� (������������ �������� ��������� ����������� � +���������������� ��� � ���������� ���������������), � ��������, ������������ +��������� ����������� (������� (����������������) ��������): ����� �� ��������� � +���������������, ��������������� ��� ����������� � ������� ����������� ��������� � +������������ � �������������, �������������� �������� �������� � ��������������� +������� ��� �������������; +3.2. ���������� ������������� ����� �� �������� �����: +3.2.1. ���������� ���������� ����� ����������� ��������, ������� �������� � +������������, ����������� ��� ���������� ������, ����� �������, �������, ����� �����, +�������������� ������ ��� ����� ������� ��������� ����������. +3.2.2. ���������� ���� ��������� � ������� (��� �� �����) ��� ������������� �������� +������� �����. +3.2.3. ������������ ������� �� ����� ������� �������. +3.2.4. ������������ ��������� ������������: +3.2.4.1.��������������� (��������������� ��������� ��� � �������� �����) � +�������������� ��������� � ������ ���������� ��������. +3.2.4.2.������� �����-���� ��������� � ��������� ��� �������� �� ����������� ���, +������� �������� ����������, ����������� � �������� �������� � ���������� � +������������. +3.2.4.3.��������� ������������ �������� ������ ��������, ���������� ���������� � +������������� ����� ���������������� �� ��������� ����� � ������������� ����������� +�������. +3.3. ���������� ������������� ����� �� ������������� �������� ��������� � ������� ����� +�������� �������������� ���� �� ������� � � �������� ���������� ���������� ���������, +���� ���� �� ������������ � ��������� ����������� � ���������������� ��� � ���������� +���������������. +3.4. �������� ��������� ������� ���������� �������� � ���������������� +���������������� ������������ ���������������� ���� �����: +3.4.1. ������������� �������� ��� ���������� ���������� �������, ��� ���������� ������, +������������� � �������� ������������ ��������. +3.4.2. ����� ������������� �������� ��� ���� ����� � ������ ����������� ������������� +��������, � ������ �������� ����������� ������������� � ���������������� +������������ ���������, ������������ ��������� ������ ���������. +4. ������� �������� +4.1. �������� ������������ ����� �������� �������������� ����������� �������������� +������� ��� ���������� �� ����� ���������������. ���������������� ������������ +���������� ������������ � ����������� ���� �� ����� ���������������. +4.2. ����� ���������, ���������� � ������ ��������, ��������� � ���������, ����������, +��������������� ������� � �������� �������������� ������������� ���������������� +�������� ��� ����� ��� �������������� ��������������. +5. ����������� ������������� +5.1. ��������������� �����������, ��� ��� �������� ���� �� ������� �� �������� +���������, ������� ��� ����� ���� ����� ������� ���. +5.2. ������� � ������������� � ���������� ������� ��� ������������� ��������������� +���� �����, � ����������� ������������ ��������������� � ��� ����������� ��� ����� +������������ ��� ����������� ������������� � ������������ ����������� ������������. +5.3. ��������������� �� ������������� ������� �������� � ��������� ������������ +����������� � ������������ ������ ��������������, ������� ����� ������������ +������������ ������ � ��������� ��� � ������� ��������, ���� � ������� ������������ +�������. +5.4. ������������� ��������������� �������� � �������������: +5.4.1. �������������� �������: +Portions Copyright (c) 2015-2018, Postgres Professional +Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group +Portions Copyright (c) 1994 Regents of the University of California +5.4.2. �������������� ����������� �� ����� ������� ��������������� �� ����� +�����������, ������� ������ ������, ���������� ������ ��� ��������, ����������� ��� +��������� �������������� ������� ������������ ����������� ��� ��� ������������, ���� +���� �������������� ����������� ��� ������� � ����������� ����� �����������. +5.4.3. �������������� ����������� ���������� ������������ ������������� ����� +��������, �������, �� �� ������������� ������ ����� ����������: ������� �������� +����������� ������ ��� ����������� ��� ��������� ����. ������ ����������� ����������� +��������������� �� ������ �������� "��� ����" � �������������� ����������� �� ������ +������������� �������������, ���������, ����������, ���������� ��� ���������. +5.4.4. �������� � ������������ ���������������� "�������� ����������������" (Postgres +Professional) �� ����� ������� ��������������� �� ����� �����������, ������� ������ +������, ���������� ������ ��� ��������, ����������� ��� ��������� �������������� +������� ������������ ����������� ��� ��� ������������, ���� ���� �������� � +������������ ���������������� "�������� ����������������" ���� �������� � ����������� +����� �����������. +5.4.5. �������� � ������������ ���������������� "�������� ����������������" (Postgres +Professional) ���������� ������������ ������������� ����� ��������, �������, �� �� +������������� ������ ����� ����������: ������� �������� ����������� ������ ��� +����������� ��� ��������� ����. ������ ����������� ����������� ��������������� �� +������ �������� "��� ����" � �������� � ������������ ���������������� "�������� +����������������" �� ������� ������������� �������������, ���������, ����������, +���������� ��� ���������. +6. ��������������� +6.1. ��������������� � ��� �������������� ���� �� ����� ��������������� � �� ��������� +������ ��� ��������� ������, ������� ��������� ������, ������ ���������������� +���������� ������������, ��������� ����������� �/��� �������� ��� ������������ +��������, ��������� � ���������� ������������� �������� ��������� ������������, ���� +������� ���, � ����� ��������� ����������� ������� � ����� �������������������. +6.2. ��������������� ����� �� ����� ��������������� � �� ���� ������� �������� � +��������� �����-���� ��������������� ������� ��������, ����� ���������� � ����������� � +���������������� ������������, ���� ������� ��� ���������� ������������� �� � +��������������� ��� ��� �������������� ��������������. +6.3. �� ������������ ����������� ��������������� �� ���������� ������ ������, +����������� � ���������� �� ������������� �� �������� � ����������, ������������ � +��� ��� ��������� ���������, � ����� ����������� �� �������������� (��� ������������� +����������������� ������� �������) � ����� ���� �������������, ���������� ��� +����������� ������������, ��������������� ���������������� �/��� ������� �����. +6.4. ������������ ��������� �������������� ��������������� ����� �������, ������� +�������� ��������, �������������� ���������/�������/��������������, � ����� +������������ ������ ��������������� �� ����� ���������, ������, �������� ��������������, +������, �������, ��������, ������, ����� ���� ���������������, ����������� � ���������� +��������������, ����������� ������������� �������� (� ��� ����� ����� ������� +��������� � ������������ ��������, ����� ��� � ������, ��������������� �� ��������� +������������ ����������� ����� ������� � ��������� ������� ���������� ���������� � +������������ ����������������). +7. ������, �������������� ������� +7.1. ����� �� ������������� �������� ������������� ������ � ��� ������, ���� ������� +�������� ���������. ������������� �� �������� ���������� ������� �������������� +���������� ����������������� ������� � ������� ������������, ���������� ��� +������� ��������. ������������ ����� ������ ��������������� �� ������������� ������, +���������� ��������������� ��������������� ��� ��� ��������������� �������������. +������������ ��������� �������� ��������������� ��� ��� ��������������� ������������� +�� ������������ �� ��������������� ��������������� ������, ��������� ����� ����������. +7.2. ��������� ����������, ��� ������� ����, ��������� ����������� � �������� � ���� � +������� ������ ��������� �/��� ������������� �������� � ������������ ����� ������ +���������� ����� ������������� � ���������������� � ��� ��������. ���� �����-���� ��� +��������� ���������� �������� ������������ ����� �����������������, �����������, +��������� ��������� ���������� �������� � ���� � ���������� �����������. ��� ����� � +����������� ������ ���������� ���������� �������� �������������� ����� �����������, � +��� ������������ �������������� ���������� ����������� � � �������� ������� � +������������ � ����������� ����������������� ���������� ���������. +7.3. ��������� ������� ���������� ���������� ������ ��������������� � ������������ � +����������� ����������������� ���������� ��������� � ������ �����������. ��� ������ +��� �����-���� ����� ���� ��������������� ����� ����� � ������������� ���������� +�������� ���������� ���������� ��� ������������ ������������� ��� ������� � +�����������. �������� ��������, ���������� ������������� �� ������������� ��������, +�������� �� ��������. +7.4. ���� ������������ ����� �������� �����-���� ����������, ����������� �� ��������� +��������� ���� ��������������� (������������� ����������� ��������, ������ �� +��������� �����) ������ ���������� ��������� ���������� �� ������: info@postgrespro.ru. +7.5. �� �������������� ����������� �� ����������� �������� � ��������� ���������� +����������, ����� ������������� �� ������������� �������� ������������ ����� +���������� �� ������: info@postgrespro.ru. \ No newline at end of file diff --git a/nsis/pgadmin.nsi b/nsis/pgadmin.nsi index df8130a..349f771 100644 --- a/nsis/pgadmin.nsi +++ b/nsis/pgadmin.nsi @@ -22,7 +22,7 @@ ;-------------------------------- ;General Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -OutFile "c:\pg\installers\${PRODUCT_NAME}_${ADMIN_DEF_VERSION}_${ADMIN_INS_SUFFIX}" +OutFile "${BUILD_DIR}\installers\${PRODUCT_NAME}_${ADMIN_DEF_VERSION}_${ADMIN_INS_SUFFIX}" !ifdef Admin64 InstallDir "$PROGRAMFILES64\${PRODUCT_NAME}\${ADMIN_DEF_VERSION}" @@ -84,12 +84,12 @@ Var StartMenuFolder ;-------------------------------- ;Installer Sections -Section "Microsoft Visual C++ 2015 Redistibutable" secMS +Section "Microsoft Visual C++ $REDIST_YEAR Redistibutable" secMS GetTempFileName $1 !ifdef PG_64bit - File /oname=$1 "c:\pg\vcredist\vcredist_x64_2015.exe" + File /oname=$1 "${BUILD_DIR}\vcredist\vcredist_x64_${REDIST_YEAR}.exe" !else - File /oname=$1 "c:\pg\vcredist\vcredist_x86_2015.exe" + File /oname=$1 "${BUILD_DIR}\vcredist\vcredist_x86_${REDIST_YEAR}.exe" !endif ExecWait "$1 /passive /norestart" $0 DetailPrint "Visual C++ Redistributable Packages return $0" @@ -99,7 +99,7 @@ SectionEnd Section "PgAdmin3" pgAdmin SetOutPath "$INSTDIR" File /r ${ADMIN_INS_SOURCE_DIR} - File "License.txt" + File "pgadmin_license.txt" File "3rd_party_licenses.txt" ;Store installation folder WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" $INSTDIR @@ -144,7 +144,7 @@ SectionEnd section "uninstall" Delete "$SMPROGRAMS\$StartMenuFolder\pgAdmin3.lnk" RMDir "$SMPROGRAMS\$StartMenuFolder" - Delete "$INSTDIR\license.txt" + Delete "$INSTDIR\pgadmin_license.txt" Delete "$INSTDIR\3rd_party_licenses.txt" RMDir /r "$INSTDIR\bin" RMDir /r "$INSTDIR\lib" diff --git a/nsis/pgadmin_license.txt b/nsis/pgadmin_license.txt new file mode 100644 index 0000000..2b06545 --- /dev/null +++ b/nsis/pgadmin_license.txt @@ -0,0 +1,20 @@ +==================== +pgAdmin III License +==================== + +Copyright (C) 2002 - 2015, The pgAdmin Development Team + +Permission to use, copy, modify, and distribute this software and its documentation for +any purpose, without fee, and without a written agreement is hereby granted, provided +that the above copyright notice and this paragraph and the following two paragraphs +appear in all copies. + +IN NO EVENT SHALL THE PGADMIN DEVELOPMENT TEAM BE LIABLE TO ANY PARTY FOR DIRECT, +INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING +OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE PGADMIN DEVELOPMENT +TEAM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +THE PGADMIN DEVELOPMENT TEAM SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE PGADMIN DEVELOPMENT TEAM +HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. diff --git a/nsis/pgodbc.nsi b/nsis/pgodbc.nsi new file mode 100644 index 0000000..46eb309 --- /dev/null +++ b/nsis/pgodbc.nsi @@ -0,0 +1,166 @@ +; PostgeSQL install Script +; Written by Postgres Professional, Postgrespro.ru +; Author: at the late night, Alexey Slaykovsky + +!include "pgodbc.def.nsh" + +;-------------------------------- +;Include Modern UI +!include "MUI2.nsh" +!include "logiclib.nsh" + +!include "WordFunc.nsh" +!include "TextFunc.nsh" +!include "StrRep.nsh" + +!include "ReplaceInFile.nsh" +!include "common_macro.nsh" +!include "Utf8Converter.nsh" + +!insertmacro VersionCompare + +;-------------------------------- +;General +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +OutFile "${BUILD_DIR}\installers\${PRODUCT_NAME}_${ADMIN_DEF_VERSION}_${ADMIN_INS_SUFFIX}" + +!ifdef Admin64 + InstallDir "$PROGRAMFILES64\${PRODUCT_NAME}\${ADMIN_DEF_VERSION}" +!else + InstallDir "$PROGRAMFILES32\${PRODUCT_NAME}\${ADMIN_DEF_VERSION}" +!endif + +BrandingText "PostgresPro.ru" + +;Get installation folder from registry if available +InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" + +;ShowInstDetails show +;ShowUnInstDetails show + +;Request application privileges for Windows Vista +RequestExecutionLevel admin + +Var StartMenuFolder + +;MUI_COMPONENTSPAGE_SMALLDESC or MUI_COMPONENTSPAGE_NODESC +!define MUI_COMPONENTSPAGE_SMALLDESC + +;-------------------------------- +;Interface Settings + +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_BITMAP "pp_header.bmp" ; optional +!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\win-install.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\win-uninstall.ico" +!define MUI_WELCOMEFINISHPAGE_BITMAP "Elephant.bmp" +!define MUI_UNWELCOMEFINISHPAGE_BITMAP "Elephant.bmp" + +!define MUI_ABORTWARNING + +;-------------------------------- +;Pages +;Page custom nsDialogsPage + +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE "License.txt" + +!insertmacro MUI_PAGE_COMPONENTS +!insertmacro MUI_PAGE_DIRECTORY + +;Start Menu Folder Page Configuration +!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM" +!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_DIR_REGKEY}" +!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" +!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder + +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_WELCOME +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES +!insertmacro MUI_UNPAGE_FINISH +;-------------------------------- +;Installer Sections + +Section "Microsoft Visual C++ ${REDIST_YEAR} Redistributable" secMS + GetTempFileName $1 + !ifdef Admin64 + File /oname=$1 "${BUILD_DIR}\vcredist\vcredist_x64_${REDIST_YEAR}.exe" + !else + File /oname=$1 "${BUILD_DIR}\vcredist\vcredist_x86_${REDIST_YEAR}.exe" + !endif + ExecWait "$1 /passive /norestart" $0 + DetailPrint "Visual C++ Redistributable Packages return $0" + Delete $1 +SectionEnd + +Section "psqlODBC" psqlODBC + SetOutPath "$INSTDIR" + File ${ADMIN_INS_SOURCE_DIR}pgenlist.dll + File ${ADMIN_INS_SOURCE_DIR}psqlodbc35w.dll + File ${PG_INS_SOURCE_DIR}lib\libpq.dll + File ${PG_INS_SOURCE_DIR}bin\libintl.dll + File ${PG_INS_SOURCE_DIR}bin\libeay32.dll + File ${PG_INS_SOURCE_DIR}bin\ssleay32.dll + File ${PG_INS_SOURCE_DIR}bin\libiconv.dll + !ifdef Admin64 + File ${ADMIN_INS_SOURCE_DIR}pgxalib.dll + SetRegView 64 + !endif + ;Store installation folder + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" $INSTDIR + ;Register drivers + WriteRegStr HKLM "SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers" "PostgreSQL Unicode" "Installed" + WriteRegStr HKLM "SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL Unicode" "APILevel" "1" + WriteRegStr HKLM "SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL Unicode" "ConnectFunctions" "YYN" + WriteRegStr HKLM "SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL Unicode" "Driver" "$INSTDIR\psqlodbc35w.dll" + WriteRegStr HKLM "SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL Unicode" "DriverODBCVer" "03.51" + WriteRegStr HKLM "SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL Unicode" "FileUsage" "0" + WriteRegStr HKLM "SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL Unicode" "Setup" "$INSTDIR\psqlodbc35w.dll" + WriteRegStr HKLM "SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL Unicode" "SQLLevel" "1" + WriteRegStr HKLM "SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL Unicode" "UsageCount" "1" + !ifdef Admin64 + WriteRegStr HKLM "SOFTWARE\Microsoft\MSDTC\XADLL" "pgxalib.dll" "[#pgxalib.dll]" + !endif + ;Create uninstaller + WriteUninstaller "$INSTDIR\Uninstall.exe" + ; write uninstall strings + WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ADMIN_DEF_BRANDING}" "InstallLocation" "$INSTDIR" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ADMIN_DEF_BRANDING}" "DisplayName" "$StartMenuFolder" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ADMIN_DEF_BRANDING}" "UninstallString" '"$INSTDIR\Uninstall.exe"' + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ADMIN_DEF_BRANDING}" "DisplayVersion" "${ADMIN_DEF_VERSION}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ADMIN_DEF_BRANDING}" "Publisher" "PostgreSQL Global Development Group" + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ADMIN_DEF_BRANDING}" "EstimatedSize" 1024 + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ADMIN_DEF_BRANDING}" "HelpLink" "http://www.postgresql.org/docs" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ADMIN_DEF_BRANDING}" "Comments" "The PostgreSQL RDBMS, version ${ADMIN_DEF_VERSION}, packaged by PostgresPro.ru" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ADMIN_DEF_BRANDING}" "UrlInfoAbout" "http://www.postgresql.org/" + +SectionEnd +;-------------------------------- +;Descriptions + +;-------------------------------- +;Languages + +!insertmacro MUI_LANGUAGE "English" ;first language is the default language +!insertmacro MUI_LANGUAGE "Russian" + +!include translates.nsi + +;Language strings +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN +!insertmacro MUI_DESCRIPTION_TEXT ${SecMS} $(DESC_SecMS) +; !insertmacro MUI_DESCRIPTION_TEXT ${pgAdmin} $(DESC_PgAdmin) +!insertmacro MUI_FUNCTION_DESCRIPTION_END +;-------------------------------- +;Uninstaller Section + section "uninstall" + RMDir /r "$INSTDIR" + Delete "$INSTDIR\Uninstall.exe" + rmDir $INSTDIR + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ADMIN_DEF_BRANDING}" + DeleteRegKey HKLM "SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL Unicode" + DeleteRegKey HKLM "SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers\PostgreSQL Unicode" + sectionEnd diff --git a/nsis/pgpro_upgrade.files b/nsis/pgpro_upgrade.files new file mode 100644 index 0000000..1317e93 --- /dev/null +++ b/nsis/pgpro_upgrade.files @@ -0,0 +1,5 @@ +./bin/sh.* +./bin/mv.* +./bin/sed.* +./bin/pgpro_upgrade +./share/pgpro-upgrade/* diff --git a/nsis/plperl.files b/nsis/plperl.files new file mode 100644 index 0000000..b7b8623 --- /dev/null +++ b/nsis/plperl.files @@ -0,0 +1,3 @@ +./lib/*plperl.dll +./share/extension/*plperl.* +./share/locale/*/plperl-*.mo diff --git a/nsis/plpython2.files b/nsis/plpython2.files new file mode 100644 index 0000000..7399900 --- /dev/null +++ b/nsis/plpython2.files @@ -0,0 +1,4 @@ +./lib/*plpython2.dll +./share/extension/*plpython2u* +./share/extension/*plpythonu* +./share/locale/*/LC_MESSAGES/plpython-*.mo diff --git a/nsis/plpython3.files b/nsis/plpython3.files new file mode 100644 index 0000000..2e42db0 --- /dev/null +++ b/nsis/plpython3.files @@ -0,0 +1,7 @@ +# For future plpython3 builds. +# This file should be processed before server.files and filelist +# generated, but later ignored by installer. Thus plpython3 related +# files wouldn't be included into installation +./lib/*plpython3.dll +./share/extension/*plpython3u* + diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi old mode 100644 new mode 100755 index 7706185..1ed17e5 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -2,9 +2,9 @@ ; Written by Postgres Professional, Postgrespro.ru ; used plugins: AccessControl, UserMgr, ; and AddToPath plugin was created by Victor Spirin for this project - +Unicode False +!addplugindir Plugins !include "postgres.def.nsh" - ;-------------------------------- ;Include "Modern UI" !include "MUI2.nsh" @@ -19,12 +19,17 @@ !include "common_macro.nsh" !include "Utf8Converter.nsh" +!include "WinVer.nsh" +!include "Ports.nsh" +!include "x64.nsh" +!include "StrContains.nsh" !insertmacro VersionCompare - ;-------------------------------- +!define LANGFILE_LANGDLL_FMT "%ENGNAME%" +!define PG_REG_KEY_FOR_PGADIN "SOFTWARE\PostgreSQL\Services\" ;General Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -OutFile "c:\pg\installers\${PRODUCT_NAME}_${PG_DEF_VERSION}_${PG_INS_SUFFIX}" +OutFile "${BUILD_DIR}\installers\${PRODUCT_NAME}_${PG_DEF_VERSION}_${PG_INS_SUFFIX}" !ifdef PG_64bit InstallDir "$PROGRAMFILES64\${PRODUCT_NAME}\${PG_MAJOR_VERSION}" @@ -54,7 +59,8 @@ Var UserName Var Pass1 Var Pass2 -Var DATA_DIR ;path to data +Var DATA_DIR ; path to data +Var OLD_DATA_DIR ; path to old data Var TextPort_text Var IsTextPortInIni @@ -65,11 +71,18 @@ Var UserName_text Var Pass1_text Var Pass2_text +Var Chcp_text + Var ServiceAccount_text Var ServiceID_text Var Version_text Var Branding_text +Var OldServiceAccount_text +Var OldServiceID_text +Var OldUserName_text +Var OldBranding_text + Var loggedInUser ;current Domain/UserName Var loggedInUserShort ;current UserName @@ -87,7 +100,7 @@ Var AllMem Var FreeMem Var shared_buffers Var work_mem -Var needOptimiztion +Var needOptimization Var rButton1 Var rButton2 @@ -95,8 +108,28 @@ Var rButton2 Var checkBoxEnvVar Var isEnvVar +Var LogFile +Var effective_cache_size + +Var checkBoxDataChecksums +Var isDataChecksums + +Var checkBoxMoreOptions +Var isShowMoreOptions + +Var servicePassword_text +Var servicePassword_editor + +Var ServiceAccount_editor +Var ServiceID_editor + +Var Collation_editor +Var Collation_text + +Var currCommand ; Set 'install service' variable -Var service +;Var service + ;MUI_COMPONENTSPAGE_SMALLDESC or MUI_COMPONENTSPAGE_NODESC !define MUI_COMPONENTSPAGE_SMALLDESC @@ -117,8 +150,12 @@ Var service ;Pages ;Page custom nsDialogsPage +!define MUI_WELCOMEPAGE_TITLE_3LINES +!define MUI_FINISHPAGE_TITLE_3LINES !insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_LICENSE "License.txt" +; !insertmacro MUI_PAGE_LICENSE "License.txt" +!insertmacro MUI_PAGE_LICENSE $(myLicenseData) + Page custom ChecExistInstall ;PG_OLD_DIR !="" if exist !insertmacro MUI_PAGE_COMPONENTS @@ -133,12 +170,15 @@ PageEx directory DirText $(DATADIR_MESS) $(DATADIR_TITLE) $(BROWSE_BUTTON) PageExEnd + Page custom ChecExistDataDir Page custom nsDialogServer nsDialogsServerPageLeave Page custom nsDialogOptimization nsDialogsOptimizationPageLeave +Page custom nsDialogMore nsDialogsMorePageLeave ;Start Menu Folder Page Configuration +!define MUI_STARTMENUPAGE_DEFAULTFOLDER "${PG_DEF_BRANDING}" !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM" !define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_DIR_REGKEY}" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" @@ -148,7 +188,10 @@ Page custom nsDialogOptimization nsDialogsOptimizationPageLeave !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH +!define MUI_WELCOMEPAGE_TITLE_3LINES +!define MUI_FINISHPAGE_TITLE_3LINES !insertmacro MUI_UNPAGE_WELCOME +;!insertmacro MUI_UNPAGE_COMPONENTS !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_UNPAGE_FINISH @@ -160,61 +203,241 @@ Page custom nsDialogOptimization nsDialogsOptimizationPageLeave !include translates.nsi +!ifndef myLicenseFile_ru +!define myLicenseFile_ru "license.txt" +!endif +!ifndef myLicenseFile_en +!define myLicenseFile_en "license.txt" +!endif + + + +LicenseLangString myLicenseData ${LANG_RUSSIAN} ${myLicenseFile_ru} +LicenseLangString myLicenseData ${LANG_ENGLISH} ${myLicenseFile_en} +LicenseData $(myLicenseData) + + ;-------------------------------- ;Installer Sections -Section "Microsoft Visual C++ 2010 Redistibutable" secMS +Section "Microsoft Visual C++ ${REDIST_YEAR} Redistributable" secMS GetTempFileName $1 !ifdef PG_64bit - File /oname=$1 "c:\pg\vcredist\vcredist_x64_2010.exe" + File /oname=$1 "${BUILD_DIR}\vcredist\vcredist_x64_${REDIST_YEAR}.exe" !else - File /oname=$1 "c:\pg\vcredist\vcredist_x86_2010.exe" + File /oname=$1 "${BUILD_DIR}\vcredist\vcredist_x86_${REDIST_YEAR}.exe" !endif ExecWait "$1 /passive /norestart" $0 DetailPrint "Visual C++ Redistributable Packages return $0" Delete $1 SectionEnd -Section $(PostgreSQLString) sec1 - ${if} $PG_OLD_DIR != "" ;exist PG install - MessageBox MB_YESNO|MB_ICONQUESTION "$(MESS_STOP_SERVER)" IDYES doitStop IDNO noyetStop - noyetStop: +SectionGroup /e $(PostgreSQLString) serverGroup + + + +Section $(componentClient) secClient + + /*${If} ${FileExists} "$INSTDIR\*.*" + ${orif} ${FileExists} "$INSTDIR" + MessageBox MB_OK|MB_ICONINFORMATION 'Can not install clients components to this path! The installation was found on the path "$PG_OLD_DIR" ' Return + ${EndIf} */ + + ;MessageBox MB_OK|MB_ICONINFORMATION "pg_old_dir: $PG_OLD_DIR" + ;Call ChecExistInstall ;get port number for psql + IfSilent 0 +2 + Call ChecExistInstall + + var /GLOBAL isStopped + StrCpy $isStopped 0 + + + ;MessageBox MB_OK|MB_ICONINFORMATION "pg_old_dir: $PG_OLD_DIR" + + ${if} $PG_OLD_DIR != "" ; exist PG install + MessageBox MB_YESNO|MB_ICONQUESTION "$(MESS_STOP_SERVER)" /SD IDYES IDYES doitStop IDNO noyetStop + noyetStop: + ;Return + Abort doitStop: DetailPrint "Stop the server ..." - ${if} $DATA_DIR != "" - nsExec::Exec '"$INSTDIR\bin\pg_ctl.exe" stop -D "$DATA_DIR" -m fast -w' + ${if} $OLD_DATA_DIR != "" + nsExec::Exec '"$PG_OLD_DIR\bin\pg_ctl.exe" stop -D "$OLD_DATA_DIR" -m fast -w' pop $0 DetailPrint "pg_ctl.exe stop return $0" + StrCpy $isStopped 1 ${endif} ;unregister + ${endif} + + + + !include allclient_list.nsi + ;SetOutPath "$INSTDIR\bin" + ;File /r ${PG_INS_SOURCE_DIR}\*.* + ;File /r ${PG_INS_SOURCE_DIR}\bin\*.* + ;SetOutPath "$INSTDIR\doc" + ;File /r ${PG_INS_SOURCE_DIR}\doc\*.* + ;File /r ${PG_INS_SOURCE_DIR}\include\*.* + ;File /r ${PG_INS_SOURCE_DIR}\lib\*.* + ;File /r ${PG_INS_SOURCE_DIR}\share\*.* + ;File /r ${PG_INS_SOURCE_DIR}\symbols\*.* + + ;File "License.txt" + SetOutPath $INSTDIR + ;File /nonfatal "/oname=$INSTDIR\License.txt" ${myLicenseFile_ru} + File ${myLicenseFile_ru} + File ${myLicenseFile_en} + + File "3rd_party_licenses.txt" + + CreateDirectory "$INSTDIR\scripts" + File "/oname=$INSTDIR\scripts\pg-psql.ico" "pg-psql.ico" + CreateDirectory "$INSTDIR\doc" + File "/oname=$INSTDIR\doc\pg-help.ico" "pg-help.ico" + + ;Store installation folder + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" $INSTDIR + + + WriteUninstaller "$INSTDIR\Uninstall.exe" + Call writeUnistallReg + Call createRunPsql + + ;for all users + SetShellVarContext all + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application + + ;Create shortcuts + ; create common shortcuts for client and server + CreateDirectory "$SMPROGRAMS\$StartMenuFolder" + CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" + + ${if} ${FileExists} "$INSTDIR\scripts\runpgsql.bat" + CreateShortCut "$SMPROGRAMS\$StartMenuFolder\SQL Shell (psql).lnk" "$INSTDIR\scripts\runpgsql.bat" "" "$INSTDIR\scripts\pg-psql.ico" "0" "" "" "PostgreSQL command line utility" + ${else} + CreateShortCut "$SMPROGRAMS\$StartMenuFolder\SQL Shell (psql).lnk" "$INSTDIR\bin\psql.exe" "-h localhost -U $UserName_text -d postgres -p $TextPort_text" "" "" "" "" "PostgreSQL command line utility" + ${endif} + + + ReadRegStr $0 HKCU "Console\SQL Shell (psql)" "FaceName" + ${if} $0 == "" + WriteRegStr HKCU "Console\SQL Shell (psql)" "FaceName" "Consolas" + WriteRegDWORD HKCU "Console\SQL Shell (psql)" "FontWeight" "400" + WriteRegDWORD HKCU "Console\SQL Shell (psql)" "FontSize" "917504" + WriteRegDWORD HKCU "Console\SQL Shell (psql)" "FontFamily" "54" + ${endif} + + + CreateDirectory "$SMPROGRAMS\$StartMenuFolder\Documentation" + + !insertmacro CreateInternetShortcut \ + "$SMPROGRAMS\$StartMenuFolder\Documentation\${PRODUCT_NAME} documentation (EN)" \ + "$INSTDIR\doc\postgresql-en.chm" \ + "$INSTDIR\doc\pg-help.ico" "0" + + !insertmacro CreateInternetShortcut \ + "$SMPROGRAMS\$StartMenuFolder\Documentation\${PRODUCT_NAME} documentation (RU)" \ + "$INSTDIR\doc\postgresql-ru.chm" \ + "$INSTDIR\doc\pg-help.ico" "0" + + !insertmacro MUI_STARTMENU_WRITE_END + + ${if} $isStopped = 1 + ;SectionGetFlags ${sec1} $1 + ; start server + call IsServerSection + pop $0 + ${if} $0 == "0" + DetailPrint "Start server ..." + Sleep 1000 + nsExec::ExecToStack /TIMEOUT=60000 'sc start "$ServiceID_text"' + Sleep 5000 + StrCpy $isStopped 0 + ${endif} + + ${endif} + +SectionEnd + +Section $(componentServer) sec1 + + +;MessageBox MB_OK|MB_ICONINFORMATION "componentServer" +IfSilent 0 +2 +Call CheckDataDir + +;MessageBox MB_OK|MB_ICONINFORMATION "OLD_DATA_DIR=$OLD_DATA_DIR" + + FileOpen $LogFile $INSTDIR\install.log w ;Opens a Empty File an fills it + + ${if} $PG_OLD_DIR != "" ; exist PG install + ${if} $isStopped == 0 + MessageBox MB_YESNO|MB_ICONQUESTION "$(MESS_STOP_SERVER)" /SD IDYES IDYES doitStop IDNO noyetStop + noyetStop: + ;Return + FileClose $LogFile + Abort + doitStop: + ${if} $OLD_DATA_DIR != "" + DetailPrint "Stop the server ..." + FileWrite $LogFile "Stop the server ...$\r$\n" + FileWrite $LogFile '"$PG_OLD_DIR\bin\pg_ctl.exe" stop -D "$OLD_DATA_DIR" -m fast -w$\r$\n' + nsExec::Exec '"$PG_OLD_DIR\bin\pg_ctl.exe" stop -D "$OLD_DATA_DIR" -m fast -w' + pop $0 + FileWrite $LogFile "pg_ctl.exe stop return $0 $\r$\n" + DetailPrint "pg_ctl.exe stop return $0" + ${endif} + ${endif} + + ;unregister + FileWrite $LogFile "Unregister the service ...$\r$\n" DetailPrint "Unregister the service ..." - ${if} $ServiceID_text != "" - nsExec::Exec '"$INSTDIR\bin\pg_ctl.exe" unregister -N "$ServiceID_text"' + ${if} $OldServiceID_text != "" + FileWrite $LogFile '"$PG_OLD_DIR\bin\pg_ctl.exe" unregister -N "$OldServiceID_text"$\r$\n' + nsExec::Exec '"$PG_OLD_DIR\bin\pg_ctl.exe" unregister -N "$OldServiceID_text"' pop $0 + FileWrite $LogFile "pg_ctl.exe unregister return $0 $\r$\n" DetailPrint "pg_ctl.exe unregister return $0" ${endif} ${endif} - SetOutPath "$INSTDIR" + !include allserver_list.nsi + !include plperl_list.nsi + !include plpython2_list.nsi - File /r ${PG_INS_SOURCE_DIR} - File "/oname=$INSTDIR\doc\installation-notes.html" "installation-notes.html" - File "/oname=$INSTDIR\doc\installation-notes-ru.html" "installation-notes-ru.html" + ;SetOutPath "$INSTDIR" + ;File /r ${PG_INS_SOURCE_DIR}\*.* + ;File /r ${PG_INS_SOURCE_DIR}\bin\*.* + ;File /r ${PG_INS_SOURCE_DIR}\doc\*.* + ;File /r ${PG_INS_SOURCE_DIR}\include\*.* + ;File /r ${PG_INS_SOURCE_DIR}\lib\*.* + ;File /r ${PG_INS_SOURCE_DIR}\share\*.* + ;File /r ${PG_INS_SOURCE_DIR}\symbols\*.* + + ;File "License.txt" + + ;FileOpen $LogFile $INSTDIR\install.log w ;Opens a Empty File an fills it - File "License.txt" - File "3rd_party_licenses.txt" CreateDirectory "$INSTDIR\scripts" File "/oname=$INSTDIR\scripts\pg-psql.ico" "pg-psql.ico" + CreateDirectory "$INSTDIR\doc" File "/oname=$INSTDIR\doc\pg-help.ico" "pg-help.ico" ;Store installation folder WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" $INSTDIR ;Create uninstaller + FileWrite $LogFile "Create uninstaller$\r$\n" WriteUninstaller "$INSTDIR\Uninstall.exe" ; write uninstall strings + FileWrite $LogFile "Write to register$\r$\n" + + Call writeUnistallReg + + /* WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "InstallLocation" "$INSTDIR" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "DisplayName" "$StartMenuFolder" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "UninstallString" '"$INSTDIR\Uninstall.exe"' @@ -227,7 +450,8 @@ Section $(PostgreSQLString) sec1 ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 IntFmt $0 "0x%08X" $0 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "EstimatedSize" "$0" - + */ + FileWrite $LogFile "Create BAT files$\r$\n" ClearErrors FileOpen $0 $INSTDIR\scripts\reload.bat w IfErrors creatBatErr @@ -235,12 +459,37 @@ Section $(PostgreSQLString) sec1 FileClose $0 creatBatErr: ClearErrors + + ;System::Call "kernel32::GetACP() i .r2" + ;StrCpy $Codepage_text $2 + ;DetailPrint "Set codepage $Codepage_text" +/* + ${If} ${AtLeastWin2008} + StrCpy $Chcp_text "chcp 65001" + ${Else} + StrCpy $Chcp_text "" + ${Endif} + + ${if} ${PRODUCT_NAME} == "PostgreSQL" + StrCpy $Chcp_text "" + + DetailPrint "Language settings:" + DetailPrint "LANG_RUSSIAN=${LANG_RUSSIAN}" + DetailPrint "LANG_ENGLISH=${LANG_ENGLISH}" + DetailPrint "LANGUAGE=$LANGUAGE" + + ${if} $LANGUAGE == ${LANG_RUSSIAN} + StrCpy $Chcp_text "chcp 1251" + ${endif} + ${endif} + FileOpen $0 $INSTDIR\scripts\runpgsql.bat w IfErrors creatBatErr2 - FileWrite $0 'echo off$\r$\n"$INSTDIR\bin\psql.exe" -h localhost -U "$UserName_text" -d postgres -p $TextPort_text $\r$\npause' + FileWrite $0 '@echo off$\r$\n$Chcp_text$\r$\nPATH $INSTDIR\bin;%PATH%$\r$\nif not exist "%APPDATA%\postgresql" md "%APPDATA%\postgresql"$\r$\npsql.exe -h localhost -U "$UserName_text" -d postgres -p $TextPort_text $\r$\npause' FileClose $0 creatBatErr2: +*/ ClearErrors FileOpen $0 $INSTDIR\scripts\restart.bat w IfErrors creatBatErr3 @@ -262,29 +511,20 @@ Section $(PostgreSQLString) sec1 FileClose $0 creatBatErr5: + ClearErrors + FileOpen $0 $INSTDIR\scripts\pgpro_upgrade.cmd w + IfErrors creatBatErr6 + FileWrite $0 '@echo off$\r$\nif "%PGDATA%"=="" set PGDATA=%~1$\r$\nif "%PGDATA%"=="" set PGDATA=$DATA_DIR$\r$\nPATH $INSTDIR\bin;%PATH%$\r$\nrem if exist "$INSTDIR\bin\pgpro_upgrade" sh.exe "$INSTDIR\bin\pgpro_upgrade"$\r$\n' + FileClose $0 + + creatBatErr6: ;for all users - SetShellVarContext all + SetShellVarContext all !insertmacro MUI_STARTMENU_WRITE_BEGIN Application - ;Create shortcuts - CreateDirectory "$SMPROGRAMS\$StartMenuFolder" - CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" - - ${if} ${FileExists} "$INSTDIR\scripts\runpgsql.bat" - CreateShortCut "$SMPROGRAMS\$StartMenuFolder\SQL Shell (psql).lnk" "$INSTDIR\scripts\runpgsql.bat" "" "$INSTDIR\scripts\pg-psql.ico" "0" "" "" "PostgreSQL command line utility" - ${else} - CreateShortCut "$SMPROGRAMS\$StartMenuFolder\SQL Shell (psql).lnk" "$INSTDIR\bin\psql.exe" "-h localhost -U $UserName_text -d postgres -p $TextPort_text" "" "" "" "" "PostgreSQL command line utility" - ${endif} - - ; set font Lucida Console for shortcut psql - ReadRegStr $0 HKCU "Console\SQL Shell (psql)" "FaceName" - ${if} $0 == "" - WriteRegStr HKCU "Console\SQL Shell (psql)" "FaceName" "Consolas" - WriteRegDWORD HKCU "Console\SQL Shell (psql)" "FontWeight" "400" - WriteRegDWORD HKCU "Console\SQL Shell (psql)" "FontSize" "917504" - WriteRegDWORD HKCU "Console\SQL Shell (psql)" "FontFamily" "54" - ${endif} + FileWrite $LogFile "Create shortcuts$\r$\n" + ;Create shortcuts CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Reload Configuration.lnk" "$INSTDIR\scripts\reload.bat" "" "" "" "" "" "Reload PostgreSQL configuration" ;run as administrator push "$SMPROGRAMS\$StartMenuFolder\Reload Configuration.lnk" @@ -306,40 +546,21 @@ Section $(PostgreSQLString) sec1 push "$SMPROGRAMS\$StartMenuFolder\Start Server.lnk" call ShellLinkSetRunAs pop $0 - CreateDirectory "$SMPROGRAMS\$StartMenuFolder\Documentation" - - !insertmacro CreateInternetShortcut \ - "$SMPROGRAMS\$StartMenuFolder\Documentation\Installation notes" \ - "$INSTDIR\doc\installation-notes.html" \ - "$INSTDIR\doc\pg-help.ico" "0" - - !insertmacro CreateInternetShortcut \ - "$SMPROGRAMS\$StartMenuFolder\Documentation\Installation notes (RU)" \ - "$INSTDIR\doc\installation-notes-ru.html" \ - "$INSTDIR\doc\pg-help.ico" "0" - - !insertmacro CreateInternetShortcut \ - "$SMPROGRAMS\$StartMenuFolder\Documentation\PostgreSQL documentation" \ - "$INSTDIR\doc\postgresql\html\index.html" \ - "$INSTDIR\doc\pg-help.ico" "0" - - !insertmacro CreateInternetShortcut \ - "$SMPROGRAMS\$StartMenuFolder\Documentation\PostgreSQL release notes" \ - "$INSTDIR\doc\postgresql\html\release.html" \ - "$INSTDIR\doc\pg-help.ico" "0" - + !insertmacro MUI_STARTMENU_WRITE_END - ; Create data dir begin ${if} $isDataDirExist == 0 + ; Create data dir begin + FileWrite $LogFile "Create data dir begin$\r$\n" CreateDirectory "$DATA_DIR" ;AccessControl::GrantOnFile "$DATA_DIR" "(BU)" "FullAccess" ;GenericWrite ;Pop $0 ;"ok" or "error" + error details - ;;;AccessControl::GrantOnFile "$DATA_DIR" "$ServiceAccount_text" "FullAccess" - ;;;Pop $0 ;"ok" or "error" + error details - ;;;AccessControl::GrantOnFile "$DATA_DIR" "$loggedInUser" "FullAccess" ;GenericWrite - ;;;Pop $0 ;"ok" or "error" + error details + FileWrite $LogFile "GRANT Access $\r$\n" + + DetailPrint "GRANT FullAccess ON $DATA_DIR TO $loggedInUser" + AccessControl::GrantOnFile "$DATA_DIR" "$loggedInUser" "FullAccess" ;GenericWrite + DetailPrint "GRANT FullAccess ON $DATA_DIR TO $loggedInUserShort" AccessControl::GrantOnFile "$DATA_DIR" "$loggedInUserShort" "FullAccess" Pop $0 @@ -352,31 +573,70 @@ Section $(PostgreSQLString) sec1 FileClose $R0 StrCpy $tempVar ' --pwfile "$tempFileName" -A md5 ' ${endif} + DetailPrint "Database initialization ..." AccessControl::GetCurrentUserName Pop $0 ; or "error" + DetailPrint "GRANT FullAccess ON $DATA_DIR TO $0" AccessControl::GrantOnFile "$DATA_DIR" "$0" "FullAccess" ;GenericWrite Pop $0 ;"ok" or "error" + error details - ${if} "$Locale_text" == "$(DEF_LOCALE_NAME)" - ; Initialise the database cluster, and set the appropriate permissions/ownership - nsExec::ExecToStack /TIMEOUT=90000 '"$INSTDIR\bin\initdb.exe" $tempVar \ + System::Call 'Kernel32::SetEnvironmentVariable(t, t)i ("LC_MESSAGES", "C").r0' + + FileWrite $LogFile "Database initialization ...$\r$\n" + + + StrCpy $currCommand '"$INSTDIR\bin\initdb.exe" $tempVar \ --encoding=$Coding_text -U "$UserName_text" \ -D "$DATA_DIR"' + + + ${if} "${PRODUCT_NAME_SHORT}" == "PostgreSQL" + ${if} $isDataChecksums == ${BST_CHECKED} + StrCpy $currCommand '$currCommand --data-checksums' + ${endif} + ${else} + ${if} $isDataChecksums != ${BST_CHECKED} + StrCpy $currCommand '$currCommand --no-data-checksums' + ${endif} + ${endif} + + ${if} "$Locale_text" == "$(DEF_LOCALE_NAME)" + ${if} "$Collation_text" != "$(DEF_COLATE_NAME)" + StrCpy $currCommand '$currCommand --locale="@$Collation_text"' + ${endif} ${else} - nsExec::ExecToStack /TIMEOUT=60000 '"$INSTDIR\bin\initdb.exe" $tempVar \ - --locale="$Locale_text" \ - -U "$UserName_text" \ - -D "$DATA_DIR"' + ${if} "$Collation_text" != "$(DEF_COLATE_NAME)" + StrCpy $currCommand '$currCommand --locale="$Locale_text@$Collation_text"' + ${else} + StrCpy $currCommand '$currCommand --locale="$Locale_text"' + ${endif} ${endif} + FileWrite $LogFile '$currCommand $\r$\n' + ; Initialise the database cluster, and set the appropriate permissions/ownership + nsExec::ExecToLog /TIMEOUT=90000 '$currCommand' + pop $0 Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} ${if} $0 != 0 DetailPrint "initdb.exe return $0" - DetailPrint "Output: $1" - Sleep 5000 + ;DetailPrint "Output: $1" + FileWrite $LogFile "initdb.exe return $0 $\r$\n" + FileWrite $LogFile "Output: $1 $\r$\n" + FileClose $LogFile ;Closes the filled file + + ${if} $0 != 1 + IfSilent +2 + MessageBox MB_OK|MB_ICONINFORMATION $(MESS_ERROR_INITDB2) + ${else} + IfSilent +2 + MessageBox MB_OK|MB_ICONINFORMATION $(MESS_ERROR_INITDB) + ${endif} + + Abort ${else} DetailPrint "Database initialization OK" + FileWrite $LogFile "Database initialization OK $\r$\n" ${endif} ;Delete the password file ${if} "$Pass1_text" != "" @@ -387,8 +647,15 @@ Section $(PostgreSQLString) sec1 ${endif} ; Create data dir end ${if} $isDataDirExist == 0 + FileWrite $LogFile "Create postgresql.conf $\r$\n" ${if} $checkNoLocal_state == ${BST_CHECKED} !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#listen_addresses = 'localhost'" "listen_addresses = '*'" + ; Add line to pg_hba.conf + ${ConfigWrite} "$DATA_DIR\pg_hba.conf" "host$\tall$\tall$\t" "0.0.0.0/0$\tmd5" $R0 + ; Add postgres to Windows Firewall exceptions + nsisFirewall::AddAuthorizedApplication "$INSTDIR\bin\postgres.exe" "PostgresPro server" + + pop $0 ${else} !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#listen_addresses = 'localhost'" "listen_addresses = 'localhost'" ${EndIf} @@ -397,7 +664,7 @@ Section $(PostgreSQLString) sec1 !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#logging_collector = off" "logging_collector = on" !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#log_line_prefix = ''" "log_line_prefix = '%t '" - ${if} $needOptimiztion == "1" + ${if} $needOptimization == "1" ${if} $shared_buffers != "" ${ConfigWrite} "$DATA_DIR\postgresql.conf" "shared_buffers = " "$shared_buffers$\t$\t# min 128kB" $R0 ${endif} @@ -405,48 +672,156 @@ Section $(PostgreSQLString) sec1 ;#work_mem = 4MB # min 64kB !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#work_mem = 4MB" "work_mem = $work_mem" ${endif} + ${if} $effective_cache_size != "" + ;#work_mem = 4MB # min 64kB + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#effective_cache_size = 4GB" "effective_cache_size = $effective_cache_size" + ${endif} + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#temp_buffers = 8MB" "temp_buffers = 32MB" + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#maintenance_work_mem = 64MB" "maintenance_work_mem = 128MB" + + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#autovacuum_max_workers = 3" "autovacuum_max_workers = 6" + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#autovacuum_naptime = 1min" "autovacuum_naptime = 20s" + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#autovacuum_vacuum_cost_limit = -1" "autovacuum_vacuum_cost_limit = 400" + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#bgwriter_delay = 200ms" "bgwriter_delay = 20ms" + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#bgwriter_lru_multiplier = 2.0" "bgwriter_lru_multiplier = 4.0" + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#bgwriter_lru_maxpages = 100" "bgwriter_lru_maxpages = 400" + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#synchronous_commit = on" "synchronous_commit = off" + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#checkpoint_completion_target = 0.5" "checkpoint_completion_target = 0.9" + + ;!insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#effective_io_concurrency = 0" "effective_io_concurrency = 2" + + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#random_page_cost = 4.0" "random_page_cost = 1.5" + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "max_connections = 100" "max_connections = 500" + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#max_locks_per_transaction = 64" "max_locks_per_transaction = 256" + ;!insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#shared_preload_libraries = ''" "shared_preload_libraries = 'online_analyze, plantuner'" + ;!insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "" "" + ${if} ${WITH_1C} == "TRUE" + ClearErrors + FileOpen $0 $DATA_DIR\postgresql.conf a + IfErrors ErrFileCfg1 + FileSeek $0 0 END + FileWrite $0 "#Options for 1C:$\r$\n" + FileWrite $0 "escape_string_warning = off$\r$\n" + FileWrite $0 "standard_conforming_strings = off$\r$\n" + FileWrite $0 "shared_preload_libraries = 'online_analyze, plantuner'$\r$\n" + FileWrite $0 "online_analyze.table_type = 'temporary'$\r$\n" + FileWrite $0 "online_analyze.verbose = 'off'$\r$\n" + FileWrite $0 "online_analyze.local_tracking = 'on'$\r$\n" + FileWrite $0 "plantuner.fix_empty_table = 'on' $\r$\n" + FileWrite $0 "online_analyze.enable = on$\r$\n" + FileWrite $0 "lc_messages = 'en_EN.utf-8'$\r$\n" + FileClose $0 + ${else} + ClearErrors + FileOpen $0 $DATA_DIR\postgresql.conf a + IfErrors ErrFileCfg1 + FileSeek $0 0 END + FileWrite $0 "#Options for 1C:$\r$\n" + FileWrite $0 "#escape_string_warning = off$\r$\n" + FileWrite $0 "#standard_conforming_strings = off$\r$\n" + FileWrite $0 "#shared_preload_libraries = 'online_analyze, plantuner'$\r$\n" + FileWrite $0 "#online_analyze.table_type = 'temporary'$\r$\n" + FileWrite $0 "#online_analyze.verbose = 'off'$\r$\n" + FileWrite $0 "#online_analyze.local_tracking = 'on'$\r$\n" + FileWrite $0 "#plantuner.fix_empty_table = 'on' $\r$\n" + FileWrite $0 "#online_analyze.enable = on$\r$\n" + FileClose $0 + + ${endif} + ErrFileCfg1: + ${endif} ${EndIf} - + Delete "$DATA_DIR\postgresql.conf.old" + + ;# Add line to pg_hba.conf Call WriteInstallOptions DetailPrint "Service $ServiceID_text registration ..." - nsExec::ExecToStack /TIMEOUT=60000 '"$INSTDIR\bin\pg_ctl.exe" register -N "$ServiceID_text" -U "$ServiceAccount_text" -D "$DATA_DIR" -w' + FileWrite $LogFile "Service $ServiceID_text registration ... $\r$\n" + + StrCpy $currCommand '"$INSTDIR\bin\pg_ctl.exe" register -N "$ServiceID_text" -U "$ServiceAccount_text" -D "$DATA_DIR" -w' + ;save without password here + FileWrite $LogFile '$currCommand $\r$\n' + ${if} $servicePassword_text != "" + StrCpy $currCommand '$currCommand -P "$servicePassword_text"' + ${endif} + ;FileWrite $LogFile '$currCommand $\r$\n' + nsExec::ExecToLog /TIMEOUT=60000 '$currCommand' + Pop $0 # return value/error/timeout Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} ${if} $0 != 0 DetailPrint "pg_ctl.exe register return $0" DetailPrint "Output: $1" + FileWrite $LogFile "pg_ctl.exe register return $0 $\r$\n" + FileWrite $LogFile "Output: $1 $\r$\n" + Sleep 5000 ${else} DetailPrint "Service registration OK" + FileWrite $LogFile "Service registration OK $\r$\n" ${endif} ;Write the DisplayName manually WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\$ServiceID_text" "DisplayName" "$ServiceID_text - PostgreSQL Server ${PG_MAJOR_VERSION}" WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\$ServiceID_text" "Description" "Provides relational database storage." + DetailPrint "GRANT FullAccess ON $DATA_DIR TO $ServiceAccount_text" AccessControl::GrantOnFile "$DATA_DIR" "$ServiceAccount_text" "FullAccess" Pop $0 ;"ok" or "error" + error details - AccessControl::GrantOnFile "$DATA_DIR" "$loggedInUser" "FullAccess" ;GenericWrite - Pop $0 ;"ok" or "error" + error details - AccessControl::GrantOnFile "$DATA_DIR" "$loggedInUserShort" "FullAccess" ;GenericWrite - Pop $0 ;"ok" or "error" + error details + DetailPrint "GRANT GenericRead + GenericExecute ON $INSTDIR TO $ServiceAccount_text" AccessControl::GrantOnFile "$INSTDIR" "$ServiceAccount_text" "GenericRead + GenericExecute" Pop $0 ;"ok" or "error" + error details + DetailPrint "GRANT FullAccess ON $DATA_DIR\postgresql.conf TO $ServiceAccount_text" AccessControl::GrantOnFile "$DATA_DIR\postgresql.conf" "$ServiceAccount_text" "FullAccess" Pop $0 ;"ok" or "error" + error details - AccessControl::GrantOnFile "$DATA_DIR\postgresql.conf" "$loggedInUser" "FullAccess" ;"GenericRead + GenericExecute" ;GenericWrite + DetailPrint "GRANT FullAccess ON $DATA_DIR\postgresql.conf TO $loggedInUser" + AccessControl::GrantOnFile "$DATA_DIR\postgresql.conf" "$loggedInUser" "FullAccess" Pop $0 ;"ok" or "error" + error details - AccessControl::GrantOnFile "$DATA_DIR\postgresql.conf" "$loggedInUserShort" "FullAccess" ;GenericWrite + DetailPrint "GRANT FullAccess ON $DATA_DIR\postgresql.conf TO $loggedInUserShort" + AccessControl::GrantOnFile "$DATA_DIR\postgresql.conf" "$loggedInUserShort" "FullAccess" Pop $0 ;"ok" or "error" + error details +/* + DetailPrint "GRANT FullAccess ON $INSTDIR\scripts TO $loggedInUser" AccessControl::GrantOnFile "$INSTDIR\scripts" "$loggedInUser" "FullAccess" + DetailPrint "GRANT GenericRead + GenericExecute ON $INSTDIR\scripts\pgpro_upgrade.cmd TO $loggedInUser" + AccessControl::GrantOnFile "$INSTDIR\scripts\pgpro_upgrade.cmd" "$loggedInUser" "GenericRead + GenericExecute" Pop $0 ;"ok" or "error" + error details +*/ + ${if} $isDataDirExist == 1 + ; there exist data directory. We need to stop service, + ; run pgpro-upgrade script and + + DetailPrint "Performing catalog upgradeon $DATA_DIR" + nsExec::ExecToStack /TIMEOUT=120000 '"$INSTDIR\scripts\pgpro_upgrade.cmd" "$DATA_DIR"' + Pop $0 + DetailPrint "pgpro_upgrade return $0" + Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} + DetailPrint "$1" + + ; write log + FileOpen $R0 "$INSTDIR\scripts\pgpro_upgrade.log" w + FileWrite $R0 $1 + FileClose $R0 + + ; Don't work with empty password: + ; StrCpy $1 $ServiceAccount_text + ; StrCpy $2 "" + ; StrCpy $3 '"$INSTDIR/scripts/pgpro_upgrade" "$DATA_DIR"' + ; StrCpy $4 0 + ; System::Call 'RunAs::RunAsW(w r1, w r2, w r3, *w .r4) i .r0 ? u' + ; pop $0 + ; DetailPrint "pgpro_upgrade over runas return $0" + ${endif} DetailPrint "Start server service..." + FileWrite $LogFile "Start server service... $\r$\n" + FileWrite $LogFile 'sc start "$ServiceID_text" $\r$\n' + Sleep 1000 nsExec::ExecToStack /TIMEOUT=60000 'sc start "$ServiceID_text"' @@ -457,10 +832,77 @@ Section $(PostgreSQLString) sec1 ${if} $0 != 0 DetailPrint "Start service return $0" DetailPrint "Output: $1" + FileWrite $LogFile "Start service return $0 $\r$\n" + FileWrite $LogFile "Output: $1 $\r$\n" Sleep 5000 ${else} DetailPrint "Start service OK" + FileWrite $LogFile "Start service OK $\r$\n" + + ${endif} + + ;check that service is running + ;sc query "postgrespro-X64-10" | find "RUNNING" + + DetailPrint "Check service is running ..." + call checkServiceIsRunning + pop $0 + ${if} $0 == "" + Sleep 7000 + call checkServiceIsRunning + pop $0 + ${if} $0 == "" + DetailPrint "Error: service is not running!" + FileWrite $LogFile "Error: service $ServiceID_text is not running!$\r$\n" + FileClose $LogFile + IfSilent +2 + MessageBox MB_OK|MB_ICONSTOP "$(MESS_ERROR_SERVER)" + Abort + ${endif} + ${endif} + + + ;check connection to the server + ${if} $OLD_DATA_DIR == "" ;if server war running we do not know password + + DetailPrint "Check connection ..." + Sleep 1000 + + FileWrite $LogFile "Check connection ... $\r$\n" + FileWrite $LogFile '"$INSTDIR\bin\psql.exe" -p $TextPort_text -U "$UserName_text" -c "SELECT 1;" postgres $\r$\n' + + ;send password to Environment Variable PGPASSWORD + ${if} "$Pass1_text" != "" + StrCpy $R0 $Pass1_text + System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i("PGPASSWORD", R0).r0' + ${endif} + + nsExec::ExecToStack /TIMEOUT=10000 '"$INSTDIR\bin\psql.exe" -p $TextPort_text -U "$UserName_text" -c "SELECT 1;" postgres' + + pop $0 + pop $1 # printed text, up to ${NSIS_MAX_STRLEN} + ${if} $0 != 0 + DetailPrint "Checking connection has return $0" + DetailPrint "Output: $1" + FileWrite $LogFile "Checking connection has return $0 $\r$\n" + FileWrite $LogFile "Output: $1 $\r$\n" + FileClose $LogFile + + ;MessageBox MB_OK "Create adminpack error: $1" + IfSilent +2 + MessageBox MB_OK|MB_ICONSTOP "$(MESS_ERROR_SERVER)" + Abort + ${else} + DetailPrint "Checking connection is OK" + FileWrite $LogFile "Checking connection is OK $\r$\n" + ${endif} + + + ${if} "$Pass1_text" != "" + StrCpy $R0 "" + System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i("PGPASSWORD", R0).r0' ${endif} + ;end check connection to the server ${if} $isDataDirExist == 0 ;send password to Environment Variable PGPASSWORD @@ -470,6 +912,8 @@ Section $(PostgreSQLString) sec1 ${endif} DetailPrint "Create adminpack ..." + FileWrite $LogFile "Create adminpack ... $\r$\n" + FileWrite $LogFile '"$INSTDIR\bin\psql.exe" -p $TextPort_text -U "$UserName_text" -c "CREATE EXTENSION adminpack;" postgres $\r$\n' Sleep 5000 nsExec::ExecToStack /TIMEOUT=60000 '"$INSTDIR\bin\psql.exe" -p $TextPort_text -U "$UserName_text" -c "CREATE EXTENSION adminpack;" postgres' pop $0 @@ -477,16 +921,25 @@ Section $(PostgreSQLString) sec1 ${if} $0 != 0 DetailPrint "Create adminpack return $0" DetailPrint "Output: $1" + FileWrite $LogFile "Create adminpack return $0 $\r$\n" + FileWrite $LogFile "Output: $1 $\r$\n" + ;MessageBox MB_OK "Create adminpack error: $1" + IfSilent +2 MessageBox MB_OK|MB_ICONSTOP "$(MESS_ERROR_SERVER)" ${else} DetailPrint "Create adminpack OK" + FileWrite $LogFile "Create adminpack OK $\r$\n" ${endif} ${if} "$Pass1_text" != "" StrCpy $R0 "" System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i("PGPASSWORD", R0).r0' ${endif} ${endif} + + ${endif} ; end: if server war running we do not know password? + + ${if} $isEnvVar == ${BST_CHECKED} WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PGDATA" "$DATA_DIR" WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PGDATABASE" "postgres" @@ -494,8 +947,31 @@ Section $(PostgreSQLString) sec1 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PGPORT" "$TextPort_text" WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PGLOCALEDIR" "$INSTDIR\share\locale\" ${endif} + DetailPrint "Set PATH variable ..." + AddToPath::AddToPath "$INSTDIR\bin" + Pop $0 ; or "error" + + FileClose $LogFile ;Closes the filled file + + AccessControl::DisableFileInheritance "$DATA_DIR" + AccessControl::RevokeOnFile "$DATA_DIR" "(BU)" "GenericWrite + GenericRead" + AccessControl::RevokeOnFile "$DATA_DIR" "(AU)" "GenericWrite + GenericRead" + AccessControl::RevokeOnFile "$DATA_DIR" "(DU)" "GenericWrite + GenericRead" + + push "$INSTDIR" + call createAccessForFolder + +SectionEnd + +Section $(componentDeveloper) secDev +!include devel_list.nsi SectionEnd +SectionGroupEnd + + + + ;Uninstaller Section Section "Uninstall" Call un.ChecExistInstall @@ -514,8 +990,14 @@ Section "Uninstall" ${endif} Delete "$INSTDIR\Uninstall.exe" - Delete "$INSTDIR\license.txt" + ;Delete "$INSTDIR\license.txt" + Delete "$INSTDIR\${myLicenseFile_ru}" + Delete "$INSTDIR\${myLicenseFile_en}" + + Delete "$INSTDIR\3rd_party_licenses.txt" + Delete "$INSTDIR\install.log" + RMDir /r "$INSTDIR\bin" RMDir /r "$INSTDIR\doc" @@ -525,8 +1007,14 @@ Section "Uninstall" RMDir /r "$INSTDIR\symbols" RMDir /r "$INSTDIR\StackBuilder" RMDir /r "$INSTDIR\scripts" + + + + RMDir "$INSTDIR" + nsisFirewall::RemoveAuthorizedApplication "$INSTDIR\bin\postgres.exe" + Call un.DeleteInstallOptions SetShellVarContext all @@ -547,6 +1035,10 @@ Section "Uninstall" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" ${endif} + DetailPrint "Set PATH variable ..." + AddToPath::RemoveFromPath "$INSTDIR\bin" + Pop $0 ; or "error" + DeleteRegKey /ifempty HKLM "${PRODUCT_DIR_REGKEY}" ;${EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\bin" ; Remove install dir from PATH @@ -554,7 +1046,13 @@ Section "Uninstall" ;Call un.RemoveFromPath Pop $0 ; or "error" + + IfSilent 0 +2 + Goto done + MessageBox MB_OK|MB_ICONINFORMATION "$(UNINSTALL_END)$DATA_DIR" ;debug + + done: SectionEnd ;-------------------------------- @@ -563,77 +1061,218 @@ SectionEnd !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecMS} $(DESC_SecMS) !insertmacro MUI_DESCRIPTION_TEXT ${Sec1} $(DESC_Sec1) -!insertmacro MUI_DESCRIPTION_TEXT ${SecService} $(DESC_SecService) +!insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_componentClient) +!insertmacro MUI_DESCRIPTION_TEXT ${secDev} $(DESC_componentDeveloper) + + + +;!insertmacro MUI_DESCRIPTION_TEXT ${SecService} $(DESC_SecService) !insertmacro MUI_FUNCTION_DESCRIPTION_END + +Function writeUnistallReg + WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "InstallLocation" "$INSTDIR" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "DisplayName" "$StartMenuFolder" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "UninstallString" '"$INSTDIR\Uninstall.exe"' + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "DisplayVersion" "${PG_DEF_VERSION}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "Publisher" "${PRODUCT_PUBLISHER}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "HelpLink" "${PRODUCT_WEB_SITE}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "Comments" "Packaged by PostgresPro.ru" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "UrlInfoAbout" "${PRODUCT_WEB_SITE}" + + ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 + IntFmt $0 "0x%08X" $0 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "EstimatedSize" "$0" + +FunctionEnd + +Function createRunPsql + ${If} ${AtLeastWin2008} + StrCpy $Chcp_text "chcp 65001" + ${Else} + StrCpy $Chcp_text "" + ${Endif} + + ${if} "${PRODUCT_NAME}" == "PostgreSQL" + StrCpy $Chcp_text "" + + DetailPrint "Language settings:" + DetailPrint "LANG_RUSSIAN=${LANG_RUSSIAN}" + DetailPrint "LANG_ENGLISH=${LANG_ENGLISH}" + DetailPrint "LANGUAGE=$LANGUAGE" + + ${if} $LANGUAGE == ${LANG_RUSSIAN} + StrCpy $Chcp_text "chcp 1251" + ${endif} + ${endif} + + FileOpen $0 $INSTDIR\scripts\runpgsql.bat w + IfErrors +2 0 + FileWrite $0 '@echo off$\r$\n$Chcp_text$\r$\nPATH $INSTDIR\bin;%PATH%$\r$\nif not exist "%APPDATA%\postgresql" md "%APPDATA%\postgresql"$\r$\npsql.exe -h localhost -U "$UserName_text" -d postgres -p $TextPort_text $\r$\npause' + FileClose $0 +FunctionEnd + + ;check existing install ;if exist then get install options to vars Function ChecExistInstall StrCpy $Locale_text "$(DEF_LOCALE_NAME)" - ReadRegStr $1 HKLM "${PG_REG_KEY}" "Version" + ; check old previous major version params + ; ReadRegStr $1 HKLM "${PG_OLD_PREV_REG_KEY}" "Version" + ; ${if} $1 != "" ;we have install + ; ;get exist options + ; ReadRegStr $PG_OLD_VERSION HKLM "${PG_OLD_PREV_REG_KEY}" "Version" + ; ReadRegStr $PG_OLD_DIR HKLM "${PG_OLD_PREV_REG_KEY}" "Base Directory" + ; ReadRegStr $OLD_DATA_DIR HKLM "${PG_OLD_PREV_REG_KEY}" "Data Directory" + + ; ReadRegStr $OldServiceAccount_text HKLM "${PG_OLD_PREV_REG_KEY}" "Service Account" + ; ReadRegStr $OldServiceID_text HKLM "${PG_OLD_PREV_REG_KEY}" "Service ID" + ; ReadRegStr $OldUserName_text HKLM "${PG_OLD_PREV_REG_KEY}" "Super User" + ; ReadRegStr $OldBranding_text HKLM "${PG_OLD_PREV_REG_KEY}" "Branding" + + ; ; StrCpy $PG_OLD_DIR $INSTDIR + ; ${endif} + + ; ReadRegDWORD $1 HKLM "${PG_OLD_PREV_REG_SERVICE_KEY}" "Port" + ; ${if} $1 != "" ;we have install + ; StrCpy $TextPort_text $1 + ; ${endif} + + ; ReadRegStr $1 HKLM "${PG_OLD_PREV_REG_SERVICE_KEY}" "Locale" + ; ${if} $1 != "" + ; StrCpy $Locale_text $1 + ; ${endif} + + ; check old major version params + ReadRegStr $1 HKLM "${PG_OLD_REG_KEY}" "Version" ${if} $1 != "" ;we have install ;get exist options - ReadRegStr $PG_OLD_VERSION HKLM "${PG_REG_KEY}" "Version" - ReadRegStr $INSTDIR HKLM "${PG_REG_KEY}" "Base Directory" - ReadRegStr $DATA_DIR HKLM "${PG_REG_KEY}" "Data Directory" + ReadRegStr $PG_OLD_VERSION HKLM "${PG_OLD_REG_KEY}" "Version" + ReadRegStr $PG_OLD_DIR HKLM "${PG_OLD_REG_KEY}" "Base Directory" + ReadRegStr $OLD_DATA_DIR HKLM "${PG_OLD_REG_KEY}" "Data Directory" - ReadRegStr $ServiceAccount_text HKLM "${PG_REG_KEY}" "Service Account" - ReadRegStr $ServiceID_text HKLM "${PG_REG_KEY}" "Service ID" - ReadRegStr $UserName_text HKLM "${PG_REG_KEY}" "Super User" - ReadRegStr $Branding_text HKLM "${PG_REG_KEY}" "Branding" + ReadRegStr $OldServiceAccount_text HKLM "${PG_OLD_REG_KEY}" "Service Account" + ReadRegStr $OldServiceID_text HKLM "${PG_OLD_REG_KEY}" "Service ID" + ReadRegStr $OldUserName_text HKLM "${PG_OLD_REG_KEY}" "Super User" + ReadRegStr $OldBranding_text HKLM "${PG_OLD_REG_KEY}" "Branding" - StrCpy $PG_OLD_DIR $INSTDIR + ; StrCpy $PG_OLD_DIR $INSTDIR ${endif} - ReadRegDWORD $1 HKLM "${PG_REG_SERVICE_KEY}" "Port" + ReadRegDWORD $1 HKLM "${PG_OLD_REG_SERVICE_KEY}" "Port" ${if} $1 != "" ;we have install StrCpy $TextPort_text $1 - ${else} - ;calculate free num port - use EnumRegKey - StrCpy $0 0 - StrCpy $2 5432 - - ;SetRegView 32 - SetRegView 64 - ${While} 1 = 1 - EnumRegKey $1 HKLM "SOFTWARE\PostgreSQL\Services" $0 - ${if} $1 == "" - ${ExitWhile} - ${endif} - ReadRegDWORD $3 HKLM "SOFTWARE\PostgreSQL\Services\$1" "Port" - ${if} $3 >= $2 - IntOp $2 $3 + 1 - ${endif} - IntOp $0 $0 + 1 - ${EndWhile} - SetRegView 32 - StrCpy $0 0 - ${While} 1 = 1 - EnumRegKey $1 HKLM "SOFTWARE\PostgreSQL\Services" $0 - ${if} $1 == "" - ${ExitWhile} - ${endif} - ReadRegDWORD $3 HKLM "SOFTWARE\PostgreSQL\Services\$1" "Port" - ${if} $3 >= $2 - IntOp $2 $3 + 1 - ${endif} + ${endif} - IntOp $0 $0 + 1 - ${EndWhile} + ReadRegStr $1 HKLM "${PG_OLD_REG_SERVICE_KEY}" "Locale" + ${if} $1 != "" + StrCpy $Locale_text $1 + ${endif} - ${if} $IsTextPortInIni != 1 ;port can be send in ini file - StrCpy $TextPort_text $2 - ${endif} + ; check previous major version params + ; ReadRegStr $1 HKLM "${PG_PREV_REG_KEY}" "Version" + + ; ${if} $1 != "" ;we have install + ; ;get exist options + ; ReadRegStr $PG_OLD_VERSION HKLM "${PG_PREV_REG_KEY}" "Version" + ; ReadRegStr $PG_OLD_DIR HKLM "${PG_PREV_REG_KEY}" "Base Directory" + ; ReadRegStr $OLD_DATA_DIR HKLM "${PG_PREV_REG_KEY}" "Data Directory" + + ; ReadRegStr $OldServiceAccount_text HKLM "${PG_PREV_REG_KEY}" "Service Account" + ; ReadRegStr $OldServiceID_text HKLM "${PG_PREV_REG_KEY}" "Service ID" + ; ReadRegStr $OldUserName_text HKLM "${PG_PREV_REG_KEY}" "Super User" + ; ReadRegStr $OldBranding_text HKLM "${PG_PREV_REG_KEY}" "Branding" + + ; ; StrCpy $PG_OLD_DIR $INSTDIR + ; ${endif} + + ; ReadRegDWORD $1 HKLM "${PG_PREV_REG_SERVICE_KEY}" "Port" + ; ${if} $1 != "" ;we have install + ; StrCpy $TextPort_text $1 + ; ${endif} + + ; ReadRegStr $1 HKLM "${PG_PREV_REG_SERVICE_KEY}" "Locale" + ; ${if} $1 != "" + ; StrCpy $Locale_text $1 + ; ${endif} + + ; check current major version params + ReadRegStr $1 HKLM "${PG_REG_KEY}" "Version" + + ${if} $1 != "" ;we have install + ;get exist options + ReadRegStr $PG_OLD_VERSION HKLM "${PG_REG_KEY}" "Version" + ReadRegStr $PG_OLD_DIR HKLM "${PG_REG_KEY}" "Base Directory" + ReadRegStr $OLD_DATA_DIR HKLM "${PG_REG_KEY}" "Data Directory" + + ReadRegStr $OldServiceAccount_text HKLM "${PG_REG_KEY}" "Service Account" + ReadRegStr $OldServiceID_text HKLM "${PG_REG_KEY}" "Service ID" + ReadRegStr $OldUserName_text HKLM "${PG_REG_KEY}" "Super User" + ReadRegStr $OldBranding_text HKLM "${PG_REG_KEY}" "Branding" + + ; inherits + StrCpy $DATA_DIR $OLD_DATA_DIR + StrCpy $ServiceAccount_text $OldServiceAccount_text + StrCpy $ServiceID_text $OldServiceID_text + StrCpy $UserName_text $OldUserName_text + StrCpy $Branding_text $OldBranding_text + StrCpy $INSTDIR $PG_OLD_DIR + + ${endif} + + ReadRegDWORD $1 HKLM "${PG_REG_SERVICE_KEY}" "Port" + ${if} $1 != "" ;we have install + StrCpy $TextPort_text $1 ${endif} ReadRegStr $1 HKLM "${PG_REG_SERVICE_KEY}" "Locale" ${if} $1 != "" StrCpy $Locale_text $1 ${endif} + + ; calculate free num port - use EnumRegKey + ; ${if} $TextPort_text == "" + ; ; todo: compatibility with pg-installers family + ; StrCpy $0 0 + ; StrCpy $2 5432 + + ; ;SetRegView 32 + ; SetRegView 64 + ; ${While} 1 = 1 + ; EnumRegKey $1 HKLM "SOFTWARE\PostgreSQL\Services" $0 + ; ${if} $1 == "" + ; ${ExitWhile} + ; ${endif} + ; ReadRegDWORD $3 HKLM "SOFTWARE\PostgreSQL\Services\$1" "Port" + ; ${if} $3 >= $2 + ; IntOp $2 $3 + 1 + ; ${endif} + ; IntOp $0 $0 + 1 + ; ${EndWhile} + ; SetRegView 32 + ; StrCpy $0 0 + ; ${While} 1 = 1 + ; EnumRegKey $1 HKLM "SOFTWARE\PostgreSQL\Services" $0 + ; ${if} $1 == "" + ; ${ExitWhile} + ; ${endif} + ; ReadRegDWORD $3 HKLM "SOFTWARE\PostgreSQL\Services\$1" "Port" + ; ${if} $3 >= $2 + ; IntOp $2 $3 + 1 + ; ${endif} + + ; IntOp $0 $0 + 1 + ; ${EndWhile} + + ; ${if} $IsTextPortInIni != 1 ;port can be send in ini file + ; StrCpy $TextPort_text $2 + ; ${endif} + ; ${endif} + FunctionEnd -;write to PG_REG_KEY - "SOFTWARE\PostgreSQL\Installations\postgresql-9.5" +;write to PG_REG_KEY - "SOFTWARE\PostgreSQL\Installations\postgresql-${PG_MAJOR_VERSION}" Function WriteInstallOptions ;get exist options WriteRegStr HKLM "${PG_REG_KEY}" "Version" "${PG_DEF_VERSION}" @@ -653,6 +1292,15 @@ Function WriteInstallOptions WriteRegStr HKLM "${PG_REG_SERVICE_KEY}" "Display Name" $Branding_text WriteRegStr HKLM "${PG_REG_SERVICE_KEY}" "Product Code" $ServiceID_text WriteRegStr HKLM "${PG_REG_SERVICE_KEY}" "Service Account" $ServiceAccount_text + + ;for pgAdmin + WriteRegStr HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" "Data Directory" $DATA_DIR + WriteRegStr HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" "Database Superuser" $UserName_text + WriteRegStr HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" "Display Name" $Branding_text + WriteRegDWORD HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" "Port" $TextPort_text + WriteRegStr HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" "Product Code" $ServiceID_text + WriteRegStr HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" "Service Account" $ServiceAccount_text + FunctionEnd Function un.DeleteInstallOptions @@ -674,6 +1322,36 @@ Function un.DeleteInstallOptions DeleteRegValue HKLM "${PG_REG_SERVICE_KEY}" "Service Account" DeleteRegKey /ifempty HKLM "${PG_REG_KEY}" DeleteRegKey /ifempty HKLM "${PG_REG_SERVICE_KEY}" + + ReadRegStr $1 HKLM "${PG_OLD_REG_KEY}" "Version" + ${if} $1 != "" ;we have old install + DeleteRegValue HKLM "${PG_OLD_REG_KEY}" "Version" + DeleteRegValue HKLM "${PG_OLD_REG_KEY}" "Base Directory" + DeleteRegValue HKLM "${PG_OLD_REG_KEY}" "Data Directory" + DeleteRegValue HKLM "${PG_OLD_REG_KEY}" "Service Account" + DeleteRegValue HKLM "${PG_OLD_REG_KEY}" "Service ID" + DeleteRegValue HKLM "${PG_OLD_REG_KEY}" "Super User" + DeleteRegValue HKLM "${PG_OLD_REG_KEY}" "Branding" + DeleteRegValue HKLM "${PG_OLD_REG_SERVICE_KEY}" "Port" + DeleteRegValue HKLM "${PG_OLD_REG_SERVICE_KEY}" "Locale" + ;for compatibility + DeleteRegValue HKLM "${PG_OLD_REG_SERVICE_KEY}" "Data Directory" + DeleteRegValue HKLM "${PG_OLD_REG_SERVICE_KEY}" "Database Superuser" + DeleteRegValue HKLM "${PG_OLD_REG_SERVICE_KEY}" "Display Name" + DeleteRegValue HKLM "${PG_OLD_REG_SERVICE_KEY}" "Product Code" + DeleteRegValue HKLM "${PG_OLD_REG_SERVICE_KEY}" "Service Account" + DeleteRegKey /ifempty HKLM "${PG_OLD_REG_KEY}" + DeleteRegKey /ifempty HKLM "${PG_OLD_REG_SERVICE_KEY}" + ${endif} + ;for pgAdmin + DeleteRegValue HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" "Data Directory" + DeleteRegValue HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" "Database Superuser" + DeleteRegValue HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" "Display Name" + DeleteRegValue HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" "Port" + DeleteRegValue HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" "Product Code" + DeleteRegValue HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" "Service Account" + DeleteRegKey /ifempty HKLM "${PG_REG_KEY_FOR_PGADIN}$ServiceID_text" + FunctionEnd Function un.ChecExistInstall @@ -682,7 +1360,7 @@ Function un.ChecExistInstall ;get exist options ReadRegStr $PG_OLD_VERSION HKLM "${PG_REG_KEY}" "Version" ReadRegStr $0 HKLM "${PG_REG_KEY}" "Base Directory" - ${if} $0! = "" + ${if} $0 != "" StrCpy $INSTDIR $0 ${endif} ReadRegStr $DATA_DIR HKLM "${PG_REG_KEY}" "Data Directory" @@ -691,7 +1369,10 @@ Function un.ChecExistInstall ReadRegStr $ServiceID_text HKLM "${PG_REG_KEY}" "Service ID" ReadRegStr $UserName_text HKLM "${PG_REG_KEY}" "Super User" ReadRegStr $Branding_text HKLM "${PG_REG_KEY}" "Branding" + + ${endif} + FunctionEnd Function getServerDataFromDlg @@ -705,6 +1386,11 @@ Function getServerDataFromDlg ${NSD_GetText} $Locale $Locale_text ${NSD_GetState} $checkBoxEnvVar $isEnvVar + + + ${NSD_GetState} $checkBoxDataChecksums $isDataChecksums + + FunctionEnd Function nsDialogsServerPageLeave @@ -735,6 +1421,7 @@ FunctionEnd ;say that PG is exist Function nsDialogServerExist ${Unless} ${SectionIsSelected} ${sec1} + ${AndUnless} ${SectionIsSelected} ${secClient} Abort ${EndUnless} ${if} $PG_OLD_DIR == "" ;no PG install @@ -752,25 +1439,21 @@ Function nsDialogServerExist nsDialogs::Show FunctionEnd -Function ChecExistDataDir - ${Unless} ${SectionIsSelected} ${sec1} - Abort - ${EndUnless} +;check existing datadir function +Function CheckDataDir ${If} ${FileExists} "$DATA_DIR\*.*" StrCpy $isDataDirExist 1 ${ElseIf} ${FileExists} "$DATA_DIR" StrCpy $isDataDirExist -1 ${Else} StrCpy $isDataDirExist 0 - Abort ${EndIf} - + ${If} ${FileExists} "$DATA_DIR\postgresql.conf" ClearErrors ${ConfigRead} "$DATA_DIR\postgresql.conf" "port" $R0 ${if} ${Errors} StrCpy $isDataDirExist 0 - Abort ${EndIf} ${StrRep} '$0' '$R0' '=' '' ${StrRep} '$1' '$0' ' ' '' @@ -782,9 +1465,50 @@ Function ChecExistDataDir StrCpy $TextPort_text $0 ${Else} StrCpy $isDataDirExist 0 - Abort ${EndIf} + +FunctionEnd + +;check existing datadir dialog +Function ChecExistDataDir + ${Unless} ${SectionIsSelected} ${sec1} + Abort + ${EndUnless} + + Call CheckDataDir + ${if} $isDataDirExist = 0 + Abort + ${endif} + ;${If} ${FileExists} "$DATA_DIR\*.*" + ; StrCpy $isDataDirExist 1 + ;${ElseIf} ${FileExists} "$DATA_DIR" + ; StrCpy $isDataDirExist -1 + ;${Else} + ; StrCpy $isDataDirExist 0 + ; Abort + ;${EndIf} + + ;${If} ${FileExists} "$DATA_DIR\postgresql.conf" + ; ClearErrors + ; ${ConfigRead} "$DATA_DIR\postgresql.conf" "port" $R0 + ; ${if} ${Errors} + ; StrCpy $isDataDirExist 0 + ; Abort + ; ${EndIf} + ; ${StrRep} '$0' '$R0' '=' '' + ; ${StrRep} '$1' '$0' ' ' '' + + ; StrCpy $0 $1 5 + + ; ${StrRep} '$1' '$0' '$\t' '' + ;${StrRep} '$0' '$1' '#' '' + ; StrCpy $TextPort_text $0 + ;${Else} + ; StrCpy $isDataDirExist 0 + ; Abort + ;${EndIf} + ${if} $PG_OLD_DIR != "" ;exist PG install Abort ${endif} @@ -819,180 +1543,539 @@ Function nsDialogServer Abort ${EndIf} - ${NSD_CreateLabel} 0 2u 60u 12u "$(DLG_PORT)" + ${NSD_CreateLabel} 0 2u 70u 12u "$(DLG_PORT)" Pop $Label - ${NSD_CreateText} 62u 0 100u 12u "$TextPort_text" + ${NSD_CreateText} 72u 0 100u 12u "$TextPort_text" Pop $TextPort - ${NSD_CreateLabel} 0 16u 60u 12u "$(DLG_ADR1)" + ${NSD_CreateLabel} 0 16u 70u 12u "$(DLG_ADR1)" Pop $Label2 - ${NSD_CreateCheckBox} 62u 15u 100% 12u "$(DLG_ADR2)" + ${NSD_CreateCheckBox} 72u 15u 100% 12u "$(DLG_ADR2)" Pop $checkNoLocal ${NSD_SetState} $checkNoLocal $checkNoLocal_state - ${NSD_CreateLabel} 0 32u 60u 12u "$(DLG_LOCALE)" + ${NSD_CreateLabel} 0 32u 70u 12u "$(DLG_LOCALE)" Pop $Label2 - ${NSD_CreateDropList} 62u 30u 100u 12u "" + ${NSD_CreateDropList} 72u 30u 100u 12u "" Pop $Locale ${NSD_CB_AddString} $Locale "$(DEF_LOCALE_NAME)" - - ${NSD_CB_AddString} $Locale "Afrikaans, South Africa" - ${NSD_CB_AddString} $Locale "Albanian, Albania" - ${NSD_CB_AddString} $Locale "Azeri (Cyrillic), Azerbaijan" - ${NSD_CB_AddString} $Locale "Azeri (Latin), Azerbaijan" - ${NSD_CB_AddString} $Locale "Basque, Spain" - ${NSD_CB_AddString} $Locale "Belarusian, Belarus" - ${NSD_CB_AddString} $Locale "Bosnian, Bosnia and Herzegovina" - ${NSD_CB_AddString} $Locale "Bosnian (Cyrillic), Bosnia and Herzegovina" - ${NSD_CB_AddString} $Locale "Bulgarian, Bulgaria" - ${NSD_CB_AddString} $Locale "Catalan, Spain" - ${NSD_CB_AddString} $Locale "Croatian, Bosnia and Herzegovina" - ${NSD_CB_AddString} $Locale "Croatian, Croatia" - ${NSD_CB_AddString} $Locale "Czech, Czech Republic" - ${NSD_CB_AddString} $Locale "Danish, Denmark" - ${NSD_CB_AddString} $Locale "Dutch, Belgium" - ${NSD_CB_AddString} $Locale "Dutch, Netherlands" - ${NSD_CB_AddString} $Locale "English, Australia" - ${NSD_CB_AddString} $Locale "English, Belize" - ${NSD_CB_AddString} $Locale "English, Canada" - ${NSD_CB_AddString} $Locale "English, Caribbean" - ${NSD_CB_AddString} $Locale "English, Ireland" - ${NSD_CB_AddString} $Locale "English, Jamaica" - ${NSD_CB_AddString} $Locale "English, New Zealand" - ${NSD_CB_AddString} $Locale "English, Republic of the Philippines" - ${NSD_CB_AddString} $Locale "English, South Africa" - ${NSD_CB_AddString} $Locale "English, Trinidad and Tobago" - ${NSD_CB_AddString} $Locale "English, United Kingdom" - ${NSD_CB_AddString} $Locale "English, United States" - ${NSD_CB_AddString} $Locale "English, Zimbabwe" - ${NSD_CB_AddString} $Locale "Estonian, Estonia" - ${NSD_CB_AddString} $Locale "FYRO Macedonian, Former Yugoslav Republic of Macedonia" - ${NSD_CB_AddString} $Locale "Faroese, Faroe Islands" - ${NSD_CB_AddString} $Locale "Filipino, Philippines" - ${NSD_CB_AddString} $Locale "Finnish, Finland" - ${NSD_CB_AddString} $Locale "French, Belgium" - ${NSD_CB_AddString} $Locale "French, Canada" - ${NSD_CB_AddString} $Locale "French, France" - ${NSD_CB_AddString} $Locale "French, Luxembourg" - ${NSD_CB_AddString} $Locale "French, Principality of Monaco" - ${NSD_CB_AddString} $Locale "French, Switzerland" - ${NSD_CB_AddString} $Locale "Frisian, Netherlands" - ${NSD_CB_AddString} $Locale "Galician, Spain" - ${NSD_CB_AddString} $Locale "German, Austria" - ${NSD_CB_AddString} $Locale "German, Germany" - ${NSD_CB_AddString} $Locale "German, Liechtenstein" - ${NSD_CB_AddString} $Locale "German, Luxembourg" - ${NSD_CB_AddString} $Locale "German, Switzerland" - ${NSD_CB_AddString} $Locale "Greek, Greece" - ${NSD_CB_AddString} $Locale "Hungarian, Hungary" - ${NSD_CB_AddString} $Locale "Icelandic, Iceland" - ${NSD_CB_AddString} $Locale "Indonesian, Indonesia" - ${NSD_CB_AddString} $Locale "Inuktitut (Latin), Canada" - ${NSD_CB_AddString} $Locale "Irish, Ireland" - ${NSD_CB_AddString} $Locale "Italian, Italy" - ${NSD_CB_AddString} $Locale "Italian, Switzerland" - ${NSD_CB_AddString} $Locale "Kazakh, Kazakhstan" - ${NSD_CB_AddString} $Locale "Kyrgyz, Kyrgyzstan" - ${NSD_CB_AddString} $Locale "Latvian, Latvia" - ${NSD_CB_AddString} $Locale "Lithuanian, Lithuania" - ${NSD_CB_AddString} $Locale "Luxembourgish, Luxembourg" - ${NSD_CB_AddString} $Locale "Malay, Brunei Darussalam" - ${NSD_CB_AddString} $Locale "Malay, Malaysia" - ${NSD_CB_AddString} $Locale "Maltese, Malta" - ${NSD_CB_AddString} $Locale "Maori, New Zealand" - ${NSD_CB_AddString} $Locale "Mapudungun, Chile" - ${NSD_CB_AddString} $Locale "Mohawk, Canada" - ${NSD_CB_AddString} $Locale "Mongolian, Mongolia" - ${NSD_CB_AddString} $Locale "Northern Sotho, South Africa" - ${NSD_CB_AddString} $Locale "Norwegian (Bokmal), Norway" - ${NSD_CB_AddString} $Locale "Norwegian (Nynorsk), Norway" - ${NSD_CB_AddString} $Locale "Polish, Poland" - ${NSD_CB_AddString} $Locale "Portuguese, Brazil" - ${NSD_CB_AddString} $Locale "Portuguese, Portugal" - ${NSD_CB_AddString} $Locale "Quechua, Bolivia" - ${NSD_CB_AddString} $Locale "Quechua, Ecuador" - ${NSD_CB_AddString} $Locale "Quechua, Peru" - ${NSD_CB_AddString} $Locale "Romanian, Romania" - ${NSD_CB_AddString} $Locale "Romansh, Switzerland" - ${NSD_CB_AddString} $Locale "Russian, Russia" - ${NSD_CB_AddString} $Locale "Sami (Inari), Finland" - ${NSD_CB_AddString} $Locale "Sami (Lule), Norway" - ${NSD_CB_AddString} $Locale "Sami (Lule), Sweden" - ${NSD_CB_AddString} $Locale "Sami (Northern), Finland" - ${NSD_CB_AddString} $Locale "Sami (Northern), Norway" - ${NSD_CB_AddString} $Locale "Sami (Northern), Sweden" - ${NSD_CB_AddString} $Locale "Sami (Skolt), Finland" - ${NSD_CB_AddString} $Locale "Sami (Southern), Norway" - ${NSD_CB_AddString} $Locale "Sami (Southern), Sweden" - ${NSD_CB_AddString} $Locale "Serbian (Cyrillic), Bosnia and Herzegovina" - ${NSD_CB_AddString} $Locale "Serbian (Cyrillic), Serbia and Montenegro" - ${NSD_CB_AddString} $Locale "Serbian (Latin), Bosnia and Herzegovina" - ${NSD_CB_AddString} $Locale "Serbian (Latin), Serbia and Montenegro" - ${NSD_CB_AddString} $Locale "Slovak, Slovakia" - ${NSD_CB_AddString} $Locale "Slovenian, Slovenia" - ${NSD_CB_AddString} $Locale "Spanish, Argentina" - ${NSD_CB_AddString} $Locale "Spanish, Bolivia" - ${NSD_CB_AddString} $Locale "Spanish, Chile" - ${NSD_CB_AddString} $Locale "Spanish, Colombia" - ${NSD_CB_AddString} $Locale "Spanish, Costa Rica" - ${NSD_CB_AddString} $Locale "Spanish, Dominican Republic" - ${NSD_CB_AddString} $Locale "Spanish, Ecuador" - ${NSD_CB_AddString} $Locale "Spanish, El Salvador" - ${NSD_CB_AddString} $Locale "Spanish, Guatemala" - ${NSD_CB_AddString} $Locale "Spanish, Honduras" - ${NSD_CB_AddString} $Locale "Spanish, Mexico" - ${NSD_CB_AddString} $Locale "Spanish, Nicaragua" - ${NSD_CB_AddString} $Locale "Spanish, Panama" - ${NSD_CB_AddString} $Locale "Spanish, Paraguay" - ${NSD_CB_AddString} $Locale "Spanish, Peru" - ${NSD_CB_AddString} $Locale "Spanish, Puerto Rico" - ${NSD_CB_AddString} $Locale "Spanish, Spain" - ${NSD_CB_AddString} $Locale "Spanish, Spain" - ${NSD_CB_AddString} $Locale "Spanish, Uruguay" - ${NSD_CB_AddString} $Locale "Spanish, Venezuela" - ${NSD_CB_AddString} $Locale "Swahili, Kenya" - ${NSD_CB_AddString} $Locale "Swedish, Finland" - ${NSD_CB_AddString} $Locale "Swedish, Sweden" - ${NSD_CB_AddString} $Locale "Tatar, Russia" - ${NSD_CB_AddString} $Locale "Tswana, South Africa" - ${NSD_CB_AddString} $Locale "Turkish, Turkey" - ${NSD_CB_AddString} $Locale "Ukrainian, Ukraine" - ${NSD_CB_AddString} $Locale "Uzbek (Cyrillic), Uzbekistan" - ${NSD_CB_AddString} $Locale "Uzbek (Latin), Uzbekistan" - ${NSD_CB_AddString} $Locale "Welsh, United Kingdom" - ${NSD_CB_AddString} $Locale "Xhosa, South Africa" - ${NSD_CB_AddString} $Locale "Zulu, South Africa" - + ${if} ${PG_MAJOR_VERSION} >= "10" + ;; Source URL: https://www.microsoft.com/resources/msdn/goglobal/default.mspx (windows 7) + ${NSD_CB_AddString} $Locale "af" ; 0x0036 af Afrikaans Afrikaans Afrikaans 1252 850 ZAF AFK + ${NSD_CB_AddString} $Locale "af-ZA" ; 0x0436 af-ZA Afrikaans (South Africa) Afrikaans Afrikaans (Suid Afrika) 1252 850 ZAF AFK + ${NSD_CB_AddString} $Locale "am" ; 0x005E am Amharic Amharic አማርኛ 0 1 ETH AMH + ${NSD_CB_AddString} $Locale "am-ET" ; 0x045E am-ET Amharic (Ethiopia) Amharic አማርኛ (ኢትዮጵያ) 0 1 ETH AMH + ${NSD_CB_AddString} $Locale "ar" ; 0x0001 ar Arabic‎ Arabic العربية‏ 1256 720 SAU ARA + ${NSD_CB_AddString} $Locale "ar-AE" ; 0x3801 ar-AE Arabic (U.A.E.)‎ Arabic العربية (الإمارات العربية المتحدة)‏ 1256 720 ARE ARU + ${NSD_CB_AddString} $Locale "ar-BH" ; 0x3C01 ar-BH Arabic (Bahrain)‎ Arabic العربية (البحرين)‏ 1256 720 BHR ARH + ${NSD_CB_AddString} $Locale "ar-DZ" ; 0x1401 ar-DZ Arabic (Algeria)‎ Arabic العربية (الجزائر)‏ 1256 720 DZA ARG + ${NSD_CB_AddString} $Locale "ar-EG" ; 0x0C01 ar-EG Arabic (Egypt)‎ Arabic العربية (مصر)‏ 1256 720 EGY ARE + ${NSD_CB_AddString} $Locale "ar-IQ" ; 0x0801 ar-IQ Arabic (Iraq)‎ Arabic العربية (العراق)‏ 1256 720 IRQ ARI + ${NSD_CB_AddString} $Locale "ar-JO" ; 0x2C01 ar-JO Arabic (Jordan)‎ Arabic العربية (الأردن)‏ 1256 720 JOR ARJ + ${NSD_CB_AddString} $Locale "ar-KW" ; 0x3401 ar-KW Arabic (Kuwait)‎ Arabic العربية (الكويت)‏ 1256 720 KWT ARK + ${NSD_CB_AddString} $Locale "ar-LB" ; 0x3001 ar-LB Arabic (Lebanon)‎ Arabic العربية (لبنان)‏ 1256 720 LBN ARB + ${NSD_CB_AddString} $Locale "ar-LY" ; 0x1001 ar-LY Arabic (Libya)‎ Arabic العربية (ليبيا)‏ 1256 720 LBY ARL + ${NSD_CB_AddString} $Locale "ar-MA" ; 0x1801 ar-MA Arabic (Morocco)‎ Arabic العربية (المملكة المغربية)‏ 1256 720 MAR ARM + ${NSD_CB_AddString} $Locale "arn" ; 0x007A arn Mapudungun Mapudungun Mapudungun 1252 850 CHL MPD + ${NSD_CB_AddString} $Locale "arn-CL" ; 0x047A arn-CL Mapudungun (Chile) Mapudungun Mapudungun (Chile) 1252 850 CHL MPD + ${NSD_CB_AddString} $Locale "ar-OM" ; 0x2001 ar-OM Arabic (Oman)‎ Arabic العربية (عمان)‏ 1256 720 OMN ARO + ${NSD_CB_AddString} $Locale "ar-QA" ; 0x4001 ar-QA Arabic (Qatar)‎ Arabic العربية (قطر)‏ 1256 720 QAT ARQ + ${NSD_CB_AddString} $Locale "ar-SA" ; 0x0401 ar-SA Arabic (Saudi Arabia)‎ Arabic العربية (المملكة العربية السعودية)‏ 1256 720 SAU ARA + ${NSD_CB_AddString} $Locale "ar-SY" ; 0x2801 ar-SY Arabic (Syria)‎ Arabic العربية (سوريا)‏ 1256 720 SYR ARS + ${NSD_CB_AddString} $Locale "ar-TN" ; 0x1C01 ar-TN Arabic (Tunisia)‎ Arabic العربية (تونس)‏ 1256 720 TUN ART + ${NSD_CB_AddString} $Locale "ar-YE" ; 0x2401 ar-YE Arabic (Yemen)‎ Arabic العربية (اليمن)‏ 1256 720 YEM ARY + ${NSD_CB_AddString} $Locale "as" ; 0x004D as Assamese Assamese অসমীয়া 0 1 IND ASM + ${NSD_CB_AddString} $Locale "as-IN" ; 0x044D as-IN Assamese (India) Assamese অসমীয়া (ভাৰত) 0 1 IND ASM + ${NSD_CB_AddString} $Locale "az" ; 0x002C az Azeri Azeri (Latin) Azərbaycan­ılı 1254 857 AZE AZE + ${NSD_CB_AddString} $Locale "az-Cyrl" ; 0x742C az-Cyrl Azeri (Cyrillic) Azeri (Cyrillic) Азәрбајҹан дили 1251 866 AZE AZC + ${NSD_CB_AddString} $Locale "az-Cyrl-AZ" ; 0x082C az-Cyrl-AZ Azeri (Cyrillic, Azerbaijan) Azeri (Cyrillic) Азәрбајҹан (Азәрбајҹан) 1251 866 AZE AZC + ${NSD_CB_AddString} $Locale "az-Latn" ; 0x782C az-Latn Azeri (Latin) Azeri (Latin) Azərbaycan­ılı 1254 857 AZE AZE + ${NSD_CB_AddString} $Locale "az-Latn-AZ" ; 0x042C az-Latn-AZ Azeri (Latin, Azerbaijan) Azeri (Latin) Azərbaycan­ılı (Azərbaycan) 1254 857 AZE AZE + ${NSD_CB_AddString} $Locale "ba" ; 0x006D ba Bashkir Bashkir Башҡорт 1251 866 RUS BAS + ${NSD_CB_AddString} $Locale "ba-RU" ; 0x046D ba-RU Bashkir (Russia) Bashkir Башҡорт (Россия) 1251 866 RUS BAS + ${NSD_CB_AddString} $Locale "be" ; 0x0023 be Belarusian Belarusian Беларускі 1251 866 BLR BEL + ${NSD_CB_AddString} $Locale "be-BY" ; 0x0423 be-BY Belarusian (Belarus) Belarusian Беларускі (Беларусь) 1251 866 BLR BEL + ${NSD_CB_AddString} $Locale "bg" ; 0x0002 bg Bulgarian Bulgarian български 1251 866 BGR BGR + ${NSD_CB_AddString} $Locale "bg-BG" ; 0x0402 bg-BG Bulgarian (Bulgaria) Bulgarian български (България) 1251 866 BGR BGR + ${NSD_CB_AddString} $Locale "bn" ; 0x0045 bn Bengali Bengali বাংলা 0 1 IND BNG + ${NSD_CB_AddString} $Locale "bn-BD" ; 0x0845 bn-BD Bengali (Bangladesh) Bengali বাংলা (বাংলাদেশ) 0 1 BGD BNB + ${NSD_CB_AddString} $Locale "bn-IN" ; 0x0445 bn-IN Bengali (India) Bengali বাংলা (ভারত) 0 1 IND BNG + ${NSD_CB_AddString} $Locale "bo" ; 0x0051 bo Tibetan Tibetan བོད་ཡིག 0 1 CHN BOB + ${NSD_CB_AddString} $Locale "bo-CN" ; 0x0451 bo-CN Tibetan (PRC) Tibetan བོད་ཡིག (ཀྲུང་ཧྭ་མི་དམངས་སྤྱི་མཐུན་རྒྱལ་ཁབ།) 0 1 CHN BOB + ${NSD_CB_AddString} $Locale "br" ; 0x007E br Breton Breton brezhoneg 1252 850 FRA BRE + ${NSD_CB_AddString} $Locale "br-FR" ; 0x047E br-FR Breton (France) Breton brezhoneg (Frañs) 1252 850 FRA BRE + ${NSD_CB_AddString} $Locale "bs" ; 0x781A bs Bosnian Bosnian (Latin) bosanski 1250 852 BIH BSB + ${NSD_CB_AddString} $Locale "bs-Cyrl" ; 0x641A bs-Cyrl Bosnian (Cyrillic) Bosnian (Cyrillic) босански (Ћирилица) 1251 855 BIH BSC + ${NSD_CB_AddString} $Locale "bs-Cyrl-BA" ; 0x201A bs-Cyrl-BA Bosnian (Cyrillic, Bosnia and Herzegovina) Bosnian (Cyrillic) босански (Босна и Херцеговина) 1251 855 BIH BSC + ${NSD_CB_AddString} $Locale "bs-Latn" ; 0x681A bs-Latn Bosnian (Latin) Bosnian (Latin) bosanski (Latinica) 1250 852 BIH BSB + ${NSD_CB_AddString} $Locale "bs-Latn-BA" ; 0x141A bs-Latn-BA Bosnian (Latin, Bosnia and Herzegovina) Bosnian (Latin) bosanski (Bosna i Hercegovina) 1250 852 BIH BSB + ${NSD_CB_AddString} $Locale "ca" ; 0x0003 ca Catalan Catalan català 1252 850 ESP CAT + ${NSD_CB_AddString} $Locale "ca-ES" ; 0x0403 ca-ES Catalan (Catalan) Catalan català (català) 1252 850 ESP CAT + ${NSD_CB_AddString} $Locale "co" ; 0x0083 co Corsican Corsican Corsu 1252 850 FRA COS + ${NSD_CB_AddString} $Locale "co-FR" ; 0x0483 co-FR Corsican (France) Corsican Corsu (France) 1252 850 FRA COS + ${NSD_CB_AddString} $Locale "cs" ; 0x0005 cs Czech Czech čeština 1250 852 CZE CSY + ${NSD_CB_AddString} $Locale "cs-CZ" ; 0x0405 cs-CZ Czech (Czech Republic) Czech čeština (Česká republika) 1250 852 CZE CSY + ${NSD_CB_AddString} $Locale "cy" ; 0x0052 cy Welsh Welsh Cymraeg 1252 850 GBR CYM + ${NSD_CB_AddString} $Locale "cy-GB" ; 0x0452 cy-GB Welsh (United Kingdom) Welsh Cymraeg (y Deyrnas Unedig) 1252 850 GBR CYM + ${NSD_CB_AddString} $Locale "da" ; 0x0006 da Danish Danish dansk 1252 850 DNK DAN + ${NSD_CB_AddString} $Locale "da-DK" ; 0x0406 da-DK Danish (Denmark) Danish dansk (Danmark) 1252 850 DNK DAN + ${NSD_CB_AddString} $Locale "de" ; 0x0007 de German German Deutsch 1252 850 DEU DEU + ${NSD_CB_AddString} $Locale "de-AT" ; 0x0C07 de-AT German (Austria) German Deutsch (Österreich) 1252 850 AUT DEA + ${NSD_CB_AddString} $Locale "de-CH" ; 0x0807 de-CH German (Switzerland) German Deutsch (Schweiz) 1252 850 CHE DES + ${NSD_CB_AddString} $Locale "de-DE" ; 0x0407 de-DE German (Germany) German Deutsch (Deutschland) 1252 850 DEU DEU + ${NSD_CB_AddString} $Locale "de-LI" ; 0x1407 de-LI German (Liechtenstein) German Deutsch (Liechtenstein) 1252 850 LIE DEC + ${NSD_CB_AddString} $Locale "de-LU" ; 0x1007 de-LU German (Luxembourg) German Deutsch (Luxemburg) 1252 850 LUX DEL + ${NSD_CB_AddString} $Locale "dsb" ; 0x7C2E dsb Lower Sorbian Lower Sorbian dolnoserbšćina 1252 850 GER DSB + ${NSD_CB_AddString} $Locale "dsb-DE" ; 0x082E dsb-DE Lower Sorbian (Germany) Lower Sorbian dolnoserbšćina (Nimska) 1252 850 GER DSB + ${NSD_CB_AddString} $Locale "dv" ; 0x0065 dv Divehi‎ Divehi ދިވެހިބަސް‏ 0 1 MDV DIV + ${NSD_CB_AddString} $Locale "dv-MV" ; 0x0465 dv-MV Divehi (Maldives)‎ Divehi ދިވެހިބަސް (ދިވެހި ރާއްޖެ)‏ 0 1 MDV DIV + ${NSD_CB_AddString} $Locale "el" ; 0x0008 el Greek Greek Ελληνικά 1253 737 GRC ELL + ${NSD_CB_AddString} $Locale "el-GR" ; 0x0408 el-GR Greek (Greece) Greek Ελληνικά (Ελλάδα) 1253 737 GRC ELL + ${NSD_CB_AddString} $Locale "en-029" ; 0x2409 en-029 English (Caribbean) English English (Caribbean) 1252 850 CAR ENB + ${NSD_CB_AddString} $Locale "en" ; 0x0009 en English English English 1252 437 USA ENU + ${NSD_CB_AddString} $Locale "en-AU" ; 0x0C09 en-AU English (Australia) English English (Australia) 1252 850 AUS ENA + ${NSD_CB_AddString} $Locale "en-BZ" ; 0x2809 en-BZ English (Belize) English English (Belize) 1252 850 BLZ ENL + ${NSD_CB_AddString} $Locale "en-CA" ; 0x1009 en-CA English (Canada) English English (Canada) 1252 850 CAN ENC + ${NSD_CB_AddString} $Locale "en-GB" ; 0x0809 en-GB English (United Kingdom) English English (United Kingdom) 1252 850 GBR ENG + ${NSD_CB_AddString} $Locale "en-IE" ; 0x1809 en-IE English (Ireland) English English (Ireland) 1252 850 IRL ENI + ${NSD_CB_AddString} $Locale "en-IN" ; 0x4009 en-IN English (India) English English (India) 1252 437 IND ENN + ${NSD_CB_AddString} $Locale "en-JM" ; 0x2009 en-JM English (Jamaica) English English (Jamaica) 1252 850 JAM ENJ + ${NSD_CB_AddString} $Locale "en-MY" ; 0x4409 en-MY English (Malaysia) English English (Malaysia) 1252 437 MYS ENM + ${NSD_CB_AddString} $Locale "en-NZ" ; 0x1409 en-NZ English (New Zealand) English English (New Zealand) 1252 850 NZL ENZ + ${NSD_CB_AddString} $Locale "en-PH" ; 0x3409 en-PH English (Republic of the Philippines) English English (Philippines) 1252 437 PHL ENP + ${NSD_CB_AddString} $Locale "en-SG" ; 0x4809 en-SG English (Singapore) English English (Singapore) 1252 437 SGP ENE + ${NSD_CB_AddString} $Locale "en-TT" ; 0x2C09 en-TT English (Trinidad and Tobago) English English (Trinidad y Tobago) 1252 850 TTO ENT + ${NSD_CB_AddString} $Locale "en-US" ; 0x0409 en-US English (United States) English English (United States) 1252 437 USA ENU + ${NSD_CB_AddString} $Locale "en-ZA" ; 0x1C09 en-ZA English (South Africa) English English (South Africa) 1252 437 ZAF ENS + ${NSD_CB_AddString} $Locale "en-ZW" ; 0x3009 en-ZW English (Zimbabwe) English English (Zimbabwe) 1252 437 ZWE ENW + ${NSD_CB_AddString} $Locale "es" ; 0x000A es Spanish Spanish español 1252 850 ESP ESN + ${NSD_CB_AddString} $Locale "es-AR" ; 0x2C0A es-AR Spanish (Argentina) Spanish Español (Argentina) 1252 850 ARG ESS + ${NSD_CB_AddString} $Locale "es-BO" ; 0x400A es-BO Spanish (Bolivia) Spanish Español (Bolivia) 1252 850 BOL ESB + ${NSD_CB_AddString} $Locale "es-CL" ; 0x340A es-CL Spanish (Chile) Spanish Español (Chile) 1252 850 CHL ESL + ${NSD_CB_AddString} $Locale "es-CO" ; 0x240A es-CO Spanish (Colombia) Spanish Español (Colombia) 1252 850 COL ESO + ${NSD_CB_AddString} $Locale "es-CR" ; 0x140A es-CR Spanish (Costa Rica) Spanish Español (Costa Rica) 1252 850 CRI ESC + ${NSD_CB_AddString} $Locale "es-DO" ; 0x1C0A es-DO Spanish (Dominican Republic) Spanish Español (República Dominicana) 1252 850 DOM ESD + ${NSD_CB_AddString} $Locale "es-EC" ; 0x300A es-EC Spanish (Ecuador) Spanish Español (Ecuador) 1252 850 ECU ESF + ${NSD_CB_AddString} $Locale "es-ES" ; 0x0C0A es-ES Spanish (Spain, International Sort) Spanish Español (España, alfabetización internacional) 1252 850 ESP ESN + ${NSD_CB_AddString} $Locale "es-GT" ; 0x100A es-GT Spanish (Guatemala) Spanish Español (Guatemala) 1252 850 GTM ESG + ${NSD_CB_AddString} $Locale "es-HN" ; 0x480A es-HN Spanish (Honduras) Spanish Español (Honduras) 1252 850 HND ESH + ${NSD_CB_AddString} $Locale "es-MX" ; 0x080A es-MX Spanish (Mexico) Spanish Español (México) 1252 850 MEX ESM + ${NSD_CB_AddString} $Locale "es-NI" ; 0x4C0A es-NI Spanish (Nicaragua) Spanish Español (Nicaragua) 1252 850 NIC ESI + ${NSD_CB_AddString} $Locale "es-PA" ; 0x180A es-PA Spanish (Panama) Spanish Español (Panamá) 1252 850 PAN ESA + ${NSD_CB_AddString} $Locale "es-PE" ; 0x280A es-PE Spanish (Peru) Spanish Español (Perú) 1252 850 PER ESR + ${NSD_CB_AddString} $Locale "es-PR" ; 0x500A es-PR Spanish (Puerto Rico) Spanish Español (Puerto Rico) 1252 850 PRI ESU + ${NSD_CB_AddString} $Locale "es-PY" ; 0x3C0A es-PY Spanish (Paraguay) Spanish Español (Paraguay) 1252 850 PRY ESZ + ${NSD_CB_AddString} $Locale "es-SV" ; 0x440A es-SV Spanish (El Salvador) Spanish Español (El Salvador) 1252 850 SLV ESE + ${NSD_CB_AddString} $Locale "es-US" ; 0x540A es-US Spanish (United States) Spanish Español (Estados Unidos) 1252 850 USA EST + ${NSD_CB_AddString} $Locale "es-UY" ; 0x380A es-UY Spanish (Uruguay) Spanish Español (Uruguay) 1252 850 URY ESY + ${NSD_CB_AddString} $Locale "es-VE" ; 0x200A es-VE Spanish (Venezuela) Spanish Español (Republica Bolivariana de Venezuela) 1252 850 VEN ESV + ${NSD_CB_AddString} $Locale "et" ; 0x0025 et Estonian Estonian eesti 1257 775 EST ETI + ${NSD_CB_AddString} $Locale "et-EE" ; 0x0425 et-EE Estonian (Estonia) Estonian eesti (Eesti) 1257 775 EST ETI + ${NSD_CB_AddString} $Locale "eu" ; 0x002D eu Basque Basque euskara 1252 850 ESP EUQ + ${NSD_CB_AddString} $Locale "eu-ES" ; 0x042D eu-ES Basque (Basque) Basque euskara (euskara) 1252 850 ESP EUQ + ${NSD_CB_AddString} $Locale "fa" ; 0x0029 fa Persian‎ Persian فارسى‏ 1256 720 IRN FAR + ${NSD_CB_AddString} $Locale "fa-IR" ; 0x0429 fa-IR Persian‎ Persian فارسى (ایران)‏ 1256 720 IRN FAR + ${NSD_CB_AddString} $Locale "fi" ; 0x000B fi Finnish Finnish suomi 1252 850 FIN FIN + ${NSD_CB_AddString} $Locale "fi-FI" ; 0x040B fi-FI Finnish (Finland) Finnish suomi (Suomi) 1252 850 FIN FIN + ${NSD_CB_AddString} $Locale "fil" ; 0x0064 fil Filipino Filipino Filipino 1252 437 PHL FPO + ${NSD_CB_AddString} $Locale "fil-PH" ; 0x0464 fil-PH Filipino (Philippines) Filipino Filipino (Pilipinas) 1252 437 PHL FPO + ${NSD_CB_AddString} $Locale "fo" ; 0x0038 fo Faroese Faroese føroyskt 1252 850 FRO FOS + ${NSD_CB_AddString} $Locale "fo-FO" ; 0x0438 fo-FO Faroese (Faroe Islands) Faroese føroyskt (Føroyar) 1252 850 FRO FOS + ${NSD_CB_AddString} $Locale "fr" ; 0x000C fr French French français 1252 850 FRA FRA + ${NSD_CB_AddString} $Locale "fr-BE" ; 0x080C fr-BE French (Belgium) French français (Belgique) 1252 850 BEL FRB + ${NSD_CB_AddString} $Locale "fr-CA" ; 0x0C0C fr-CA French (Canada) French français (Canada) 1252 850 CAN FRC + ${NSD_CB_AddString} $Locale "fr-CH" ; 0x100C fr-CH French (Switzerland) French français (Suisse) 1252 850 CHE FRS + ${NSD_CB_AddString} $Locale "fr-FR" ; 0x040C fr-FR French (France) French français (France) 1252 850 FRA FRA + ${NSD_CB_AddString} $Locale "fr-LU" ; 0x140C fr-LU French (Luxembourg) French français (Luxembourg) 1252 850 LUX FRL + ${NSD_CB_AddString} $Locale "fr-MC" ; 0x180C fr-MC French (Monaco) French français (Principauté de Monaco) 1252 850 MCO FRM + ${NSD_CB_AddString} $Locale "fy" ; 0x0062 fy Frisian Frisian Frysk 1252 850 NLD FYN + ${NSD_CB_AddString} $Locale "fy-NL" ; 0x0462 fy-NL Frisian (Netherlands) Frisian Frysk (Nederlân) 1252 850 NLD FYN + ${NSD_CB_AddString} $Locale "ga" ; 0x003C ga Irish Irish Gaeilge 1252 850 IRL IRE + ${NSD_CB_AddString} $Locale "ga-IE" ; 0x083C ga-IE Irish (Ireland) Irish Gaeilge (Éire) 1252 850 IRL IRE + ${NSD_CB_AddString} $Locale "gd" ; 0x0091 gd Scottish Gaelic Scottish Gaelic Gàidhlig 1252 850 GBR GLA + ${NSD_CB_AddString} $Locale "gd-GB" ; 0x0491 gd-GB Scottish Gaelic (United Kingdom) Scottish Gaelic Gàidhlig (An Rìoghachd Aonaichte) 1252 850 GBR GLA + ${NSD_CB_AddString} $Locale "gl" ; 0x0056 gl Galician Galician galego 1252 850 ESP GLC + ${NSD_CB_AddString} $Locale "gl-ES" ; 0x0456 gl-ES Galician (Galician) Galician galego (galego) 1252 850 ESP GLC + ${NSD_CB_AddString} $Locale "gsw" ; 0x0084 gsw Alsatian Alsatian Elsässisch 1252 850 FRA GSW + ${NSD_CB_AddString} $Locale "gsw-FR" ; 0x0484 gsw-FR Alsatian (France) Alsatian Elsässisch (Frànkrisch) 1252 850 FRA GSW + ${NSD_CB_AddString} $Locale "gu" ; 0x0047 gu Gujarati Gujarati ગુજરાતી 0 1 IND GUJ + ${NSD_CB_AddString} $Locale "gu-IN" ; 0x0447 gu-IN Gujarati (India) Gujarati ગુજરાતી (ભારત) 0 1 IND GUJ + ${NSD_CB_AddString} $Locale "ha" ; 0x0068 ha Hausa Hausa (Latin) Hausa 1252 437 NGA HAU + ${NSD_CB_AddString} $Locale "ha-Latn" ; 0x7C68 ha-Latn Hausa (Latin) Hausa (Latin) Hausa (Latin) 1252 437 NGA HAU + ${NSD_CB_AddString} $Locale "ha-Latn-NG" ; 0x0468 ha-Latn-NG Hausa (Latin, Nigeria) Hausa (Latin) Hausa (Nigeria) 1252 437 NGA HAU + ${NSD_CB_AddString} $Locale "he" ; 0x000D he Hebrew‎ Hebrew עברית‏ 1255 862 ISR HEB + ${NSD_CB_AddString} $Locale "he-IL" ; 0x040D he-IL Hebrew (Israel)‎ Hebrew עברית (ישראל)‏ 1255 862 ISR HEB + ${NSD_CB_AddString} $Locale "hi" ; 0x0039 hi Hindi Hindi हिंदी 0 1 IND HIN + ${NSD_CB_AddString} $Locale "hi-IN" ; 0x0439 hi-IN Hindi (India) Hindi हिंदी (भारत) 0 1 IND HIN + ${NSD_CB_AddString} $Locale "hr" ; 0x001A hr Croatian Croatian hrvatski 1250 852 HRV HRV + ${NSD_CB_AddString} $Locale "hr-BA" ; 0x101A hr-BA Croatian (Latin, Bosnia and Herzegovina) Croatian (Latin) hrvatski (Bosna i Hercegovina) 1250 852 BIH HRB + ${NSD_CB_AddString} $Locale "hr-HR" ; 0x041A hr-HR Croatian (Croatia) Croatian hrvatski (Hrvatska) 1250 852 HRV HRV + ${NSD_CB_AddString} $Locale "hsb" ; 0x002E hsb Upper Sorbian Upper Sorbian hornjoserbšćina 1252 850 GER HSB + ${NSD_CB_AddString} $Locale "hsb-DE" ; 0x042E hsb-DE Upper Sorbian (Germany) Upper Sorbian hornjoserbšćina (Němska) 1252 850 GER HSB + ${NSD_CB_AddString} $Locale "hu" ; 0x000E hu Hungarian Hungarian magyar 1250 852 HUN HUN + ${NSD_CB_AddString} $Locale "hu-HU" ; 0x040E hu-HU Hungarian (Hungary) Hungarian magyar (Magyarország) 1250 852 HUN HUN + ${NSD_CB_AddString} $Locale "hy" ; 0x002B hy Armenian Armenian Հայերեն 0 1 ARM HYE + ${NSD_CB_AddString} $Locale "hy-AM" ; 0x042B hy-AM Armenian (Armenia) Armenian Հայերեն (Հայաստան) 0 1 ARM HYE + ${NSD_CB_AddString} $Locale "id" ; 0x0021 id Indonesian Indonesian Bahasa Indonesia 1252 850 IDN IND + ${NSD_CB_AddString} $Locale "id-ID" ; 0x0421 id-ID Indonesian (Indonesia) Indonesian Bahasa Indonesia (Indonesia) 1252 850 IDN IND + ${NSD_CB_AddString} $Locale "ig" ; 0x0070 ig Igbo Igbo Igbo 1252 437 NGA IBO + ${NSD_CB_AddString} $Locale "ig-NG" ; 0x0470 ig-NG Igbo (Nigeria) Igbo Igbo (Nigeria) 1252 437 NGA IBO + ${NSD_CB_AddString} $Locale "ii" ; 0x0078 ii Yi Yi ꆈꌠꁱꂷ 0 1 CHN III + ${NSD_CB_AddString} $Locale "ii-CN" ; 0x0478 ii-CN Yi (PRC) Yi ꆈꌠꁱꂷ (ꍏꉸꏓꂱꇭꉼꇩ) 0 1 CHN III + ${NSD_CB_AddString} $Locale "is" ; 0x000F is Icelandic Icelandic íslenska 1252 850 ISL ISL + ${NSD_CB_AddString} $Locale "is-IS" ; 0x040F is-IS Icelandic (Iceland) Icelandic íslenska (Ísland) 1252 850 ISL ISL + ${NSD_CB_AddString} $Locale "it" ; 0x0010 it Italian Italian italiano 1252 850 ITA ITA + ${NSD_CB_AddString} $Locale "it-CH" ; 0x0810 it-CH Italian (Switzerland) Italian italiano (Svizzera) 1252 850 CHE ITS + ${NSD_CB_AddString} $Locale "it-IT" ; 0x0410 it-IT Italian (Italy) Italian italiano (Italia) 1252 850 ITA ITA + ${NSD_CB_AddString} $Locale "iu" ; 0x005D iu Inuktitut Inuktitut (Latin) Inuktitut 1252 437 CAN IUK + ${NSD_CB_AddString} $Locale "iu-Cans" ; 0x785D iu-Cans Inuktitut (Syllabics) Inuktitut (Syllabics) ᐃᓄᒃᑎᑐᑦ (ᖃᓂᐅᔮᖅᐸᐃᑦ) 0 1 CAN IUS + ${NSD_CB_AddString} $Locale "iu-Cans-CA" ; 0x045D iu-Cans-CA Inuktitut (Syllabics, Canada) Inuktitut (Syllabics) ᐃᓄᒃᑎᑐᑦ (ᑲᓇᑕᒥ) 0 1 CAN IUS + ${NSD_CB_AddString} $Locale "iu-Latn" ; 0x7C5D iu-Latn Inuktitut (Latin) Inuktitut (Latin) Inuktitut (Qaliujaaqpait) 1252 437 CAN IUK + ${NSD_CB_AddString} $Locale "iu-Latn-CA" ; 0x085D iu-Latn-CA Inuktitut (Latin, Canada) Inuktitut (Latin) Inuktitut 1252 437 CAN IUK + ${NSD_CB_AddString} $Locale "ja" ; 0x0011 ja Japanese Japanese 日本語 932 932 JPN JPN + ${NSD_CB_AddString} $Locale "ja-JP" ; 0x0411 ja-JP Japanese (Japan) Japanese 日本語 (日本) 932 932 JPN JPN + ${NSD_CB_AddString} $Locale "ka" ; 0x0037 ka Georgian Georgian ქართული 0 1 GEO KAT + ${NSD_CB_AddString} $Locale "ka-GE" ; 0x0437 ka-GE Georgian (Georgia) Georgian ქართული (საქართველო) 0 1 GEO KAT + ${NSD_CB_AddString} $Locale "kk" ; 0x003F kk Kazakh Kazakh Қазақ 0 1 KAZ KKZ + ${NSD_CB_AddString} $Locale "kk-KZ" ; 0x043F kk-KZ Kazakh (Kazakhstan) Kazakh Қазақ (Қазақстан) 0 1 KAZ KKZ + ${NSD_CB_AddString} $Locale "kl" ; 0x006F kl Greenlandic Greenlandic kalaallisut 1252 850 GRL KAL + ${NSD_CB_AddString} $Locale "kl-GL" ; 0x046F kl-GL Greenlandic (Greenland) Greenlandic kalaallisut (Kalaallit Nunaat) 1252 850 GRL KAL + ${NSD_CB_AddString} $Locale "km" ; 0x0053 km Khmer Khmer ខ្មែរ 0 1 KHM KHM + ${NSD_CB_AddString} $Locale "km-KH" ; 0x0453 km-KH Khmer (Cambodia) Khmer ខ្មែរ (កម្ពុជា) 0 1 KHM KHM + ${NSD_CB_AddString} $Locale "kn" ; 0x004B kn Kannada Kannada ಕನ್ನಡ 0 1 IND KDI + ${NSD_CB_AddString} $Locale "kn-IN" ; 0x044B kn-IN Kannada (India) Kannada ಕನ್ನಡ (ಭಾರತ) 0 1 IND KDI + ${NSD_CB_AddString} $Locale "ko" ; 0x0012 ko Korean Korean 한국어 949 949 KOR KOR + ${NSD_CB_AddString} $Locale "kok" ; 0x0057 kok Konkani Konkani कोंकणी 0 1 IND KNK + ${NSD_CB_AddString} $Locale "kok-IN" ; 0x0457 kok-IN Konkani (India) Konkani कोंकणी (भारत) 0 1 IND KNK + ${NSD_CB_AddString} $Locale "ko-KR" ; 0x0412 ko-KR Korean (Korea) Korean 한국어 (대한민국) 949 949 KOR KOR + ${NSD_CB_AddString} $Locale "ky" ; 0x0040 ky Kyrgyz Kyrgyz Кыргыз 1251 866 KGZ KYR + ${NSD_CB_AddString} $Locale "ky-KG" ; 0x0440 ky-KG Kyrgyz (Kyrgyzstan) Kyrgyz Кыргыз (Кыргызстан) 1251 866 KGZ KYR + ${NSD_CB_AddString} $Locale "lb" ; 0x006E lb Luxembourgish Luxembourgish Lëtzebuergesch 1252 850 LUX LBX + ${NSD_CB_AddString} $Locale "lb-LU" ; 0x046E lb-LU Luxembourgish (Luxembourg) Luxembourgish Lëtzebuergesch (Luxembourg) 1252 850 LUX LBX + ${NSD_CB_AddString} $Locale "lo" ; 0x0054 lo Lao Lao ລາວ 0 1 LAO LAO + ${NSD_CB_AddString} $Locale "lo-LA" ; 0x0454 lo-LA Lao (Lao P.D.R.) Lao ລາວ (ສ.ປ.ປ. ລາວ) 0 1 LAO LAO + ${NSD_CB_AddString} $Locale "lt" ; 0x0027 lt Lithuanian Lithuanian lietuvių 1257 775 LTU LTH + ${NSD_CB_AddString} $Locale "lt-LT" ; 0x0427 lt-LT Lithuanian (Lithuania) Lithuanian lietuvių (Lietuva) 1257 775 LTU LTH + ${NSD_CB_AddString} $Locale "lv" ; 0x0026 lv Latvian Latvian latviešu 1257 775 LVA LVI + ${NSD_CB_AddString} $Locale "lv-LV" ; 0x0426 lv-LV Latvian (Latvia) Latvian latviešu (Latvija) 1257 775 LVA LVI + ${NSD_CB_AddString} $Locale "mi" ; 0x0081 mi Maori Maori Reo Māori 0 1 NZL MRI + ${NSD_CB_AddString} $Locale "mi-NZ" ; 0x0481 mi-NZ Maori (New Zealand) Maori Reo Māori (Aotearoa) 0 1 NZL MRI + ${NSD_CB_AddString} $Locale "mk" ; 0x002F mk Macedonian (FYROM) Macedonian (FYROM) македонски јазик 1251 866 MKD MKI + ${NSD_CB_AddString} $Locale "mk-MK" ; 0x042F mk-MK Macedonian (Former Yugoslav Republic of Macedonia) Macedonian (FYROM) македонски јазик (Македонија) 1251 866 MKD MKI + ${NSD_CB_AddString} $Locale "ml" ; 0x004C ml Malayalam Malayalam മലയാളം 0 1 IND MYM + ${NSD_CB_AddString} $Locale "ml-IN" ; 0x044C ml-IN Malayalam (India) Malayalam മലയാളം (ഭാരതം) 0 1 IND MYM + ${NSD_CB_AddString} $Locale "mn" ; 0x0050 mn Mongolian (Cyrillic) Mongolian (Cyrillic) Монгол хэл 1251 866 MNG MNN + ${NSD_CB_AddString} $Locale "mn-Cyrl" ; 0x7850 mn-Cyrl Mongolian (Cyrillic) Mongolian (Cyrillic) Монгол хэл 1251 866 MNG MNN + ${NSD_CB_AddString} $Locale "mn-MN" ; 0x0450 mn-MN Mongolian (Cyrillic, Mongolia) Mongolian (Cyrillic) Монгол хэл (Монгол улс) 1251 866 MNG MNN + ${NSD_CB_AddString} $Locale "mn-Mong" ; 0x7C50 mn-Mong Mongolian (Traditional Mongolian) Mongolian (Traditional Mongolian) ᠮᠤᠨᠭᠭᠤᠯ ᠬᠡᠯᠡ 0 1 CHN MNG + ${NSD_CB_AddString} $Locale "mn-Mong-CN" ; 0x0850 mn-Mong-CN Mongolian (Traditional Mongolian, PRC) Mongolian (Traditional Mongolian) ᠮᠤᠨᠭᠭᠤᠯ ᠬᠡᠯᠡ (ᠪᠦᠭᠦᠳᠡ ᠨᠠᠢᠷᠠᠮᠳᠠᠬᠤ ᠳᠤᠮᠳᠠᠳᠤ ᠠᠷᠠᠳ ᠣᠯᠣᠰ) 0 1 CHN MNG + ${NSD_CB_AddString} $Locale "moh" ; 0x007C moh Mohawk Mohawk Kanien'kéha 1252 850 CAN MWK + ${NSD_CB_AddString} $Locale "moh-CA" ; 0x047C moh-CA Mohawk (Mohawk) Mohawk Kanien'kéha 1252 850 CAN MWK + ${NSD_CB_AddString} $Locale "mr" ; 0x004E mr Marathi Marathi मराठी 0 1 IND MAR + ${NSD_CB_AddString} $Locale "mr-IN" ; 0x044E mr-IN Marathi (India) Marathi मराठी (भारत) 0 1 IND MAR + ${NSD_CB_AddString} $Locale "ms" ; 0x003E ms Malay Malay Bahasa Melayu 1252 850 MYS MSL + ${NSD_CB_AddString} $Locale "ms-BN" ; 0x083E ms-BN Malay (Brunei Darussalam) Malay Bahasa Melayu (Brunei Darussalam) 1252 850 BRN MSB + ${NSD_CB_AddString} $Locale "ms-MY" ; 0x043E ms-MY Malay (Malaysia) Malay Bahasa Melayu (Malaysia) 1252 850 MYS MSL + ${NSD_CB_AddString} $Locale "mt" ; 0x003A mt Maltese Maltese Malti 0 1 MLT MLT + ${NSD_CB_AddString} $Locale "mt-MT" ; 0x043A mt-MT Maltese (Malta) Maltese Malti (Malta) 0 1 MLT MLT + ${NSD_CB_AddString} $Locale "nb" ; 0x7C14 nb Norwegian (Bokmål) Norwegian (Bokmål) norsk (bokmål) 1252 850 NOR NOR + ${NSD_CB_AddString} $Locale "nb-NO" ; 0x0414 nb-NO Norwegian, Bokmål (Norway) Norwegian (Bokmål) norsk, bokmål (Norge) 1252 850 NOR NOR + ${NSD_CB_AddString} $Locale "ne" ; 0x0061 ne Nepali Nepali नेपाली 0 1 NEP NEP + ${NSD_CB_AddString} $Locale "ne-NP" ; 0x0461 ne-NP Nepali (Nepal) Nepali नेपाली (नेपाल) 0 1 NEP NEP + ${NSD_CB_AddString} $Locale "nl" ; 0x0013 nl Dutch Dutch Nederlands 1252 850 NLD NLD + ${NSD_CB_AddString} $Locale "nl-BE" ; 0x0813 nl-BE Dutch (Belgium) Dutch Nederlands (België) 1252 850 BEL NLB + ${NSD_CB_AddString} $Locale "nl-NL" ; 0x0413 nl-NL Dutch (Netherlands) Dutch Nederlands (Nederland) 1252 850 NLD NLD + ${NSD_CB_AddString} $Locale "nn" ; 0x7814 nn Norwegian (Nynorsk) Norwegian (Nynorsk) norsk (nynorsk) 1252 850 NOR NON + ${NSD_CB_AddString} $Locale "nn-NO" ; 0x0814 nn-NO Norwegian, Nynorsk (Norway) Norwegian (Nynorsk) norsk, nynorsk (Noreg) 1252 850 NOR NON + ${NSD_CB_AddString} $Locale "no" ; 0x0014 no Norwegian Norwegian (Bokmål) norsk 1252 850 NOR NOR + ${NSD_CB_AddString} $Locale "nso" ; 0x006C nso Sesotho sa Leboa Sesotho sa Leboa Sesotho sa Leboa 1252 850 ZAF NSO + ${NSD_CB_AddString} $Locale "nso-ZA" ; 0x046C nso-ZA Sesotho sa Leboa (South Africa) Sesotho sa Leboa Sesotho sa Leboa (Afrika Borwa) 1252 850 ZAF NSO + ${NSD_CB_AddString} $Locale "oc" ; 0x0082 oc Occitan Occitan Occitan 1252 850 FRA OCI + ${NSD_CB_AddString} $Locale "oc-FR" ; 0x0482 oc-FR Occitan (France) Occitan Occitan (França) 1252 850 FRA OCI + ${NSD_CB_AddString} $Locale "or" ; 0x0048 or Oriya Oriya ଓଡ଼ିଆ 0 1 IND ORI + ${NSD_CB_AddString} $Locale "or-IN" ; 0x0448 or-IN Oriya (India) Oriya ଓଡ଼ିଆ (ଭାରତ) 0 1 IND ORI + ${NSD_CB_AddString} $Locale "pa" ; 0x0046 pa Punjabi Punjabi ਪੰਜਾਬੀ 0 1 IND PAN + ${NSD_CB_AddString} $Locale "pa-IN" ; 0x0446 pa-IN Punjabi (India) Punjabi ਪੰਜਾਬੀ (ਭਾਰਤ) 0 1 IND PAN + ${NSD_CB_AddString} $Locale "pl" ; 0x0015 pl Polish Polish polski 1250 852 POL PLK + ${NSD_CB_AddString} $Locale "pl-PL" ; 0x0415 pl-PL Polish (Poland) Polish polski (Polska) 1250 852 POL PLK + ${NSD_CB_AddString} $Locale "prs" ; 0x008C prs Dari‎ Dari درى‏ 1256 720 AFG PRS + ${NSD_CB_AddString} $Locale "prs-AF" ; 0x048C prs-AF Dari (Afghanistan)‎ Dari درى (افغانستان)‏ 1256 720 AFG PRS + ${NSD_CB_AddString} $Locale "ps" ; 0x0063 ps Pashto‎ Pashto پښتو‏ 0 1 AFG PAS + ${NSD_CB_AddString} $Locale "ps-AF" ; 0x0463 ps-AF Pashto (Afghanistan)‎ Pashto پښتو (افغانستان)‏ 0 1 AFG PAS + ${NSD_CB_AddString} $Locale "pt" ; 0x0016 pt Portuguese Portuguese Português 1252 850 BRA PTB + ${NSD_CB_AddString} $Locale "pt-BR" ; 0x0416 pt-BR Portuguese (Brazil) Portuguese Português (Brasil) 1252 850 BRA PTB + ${NSD_CB_AddString} $Locale "pt-PT" ; 0x0816 pt-PT Portuguese (Portugal) Portuguese português (Portugal) 1252 850 PRT PTG + ${NSD_CB_AddString} $Locale "qut" ; 0x0086 qut K'iche K'iche K'iche 1252 850 GTM QUT + ${NSD_CB_AddString} $Locale "qut-GT" ; 0x0486 qut-GT K'iche (Guatemala) K'iche K'iche (Guatemala) 1252 850 GTM QUT + ${NSD_CB_AddString} $Locale "quz" ; 0x006B quz Quechua Quechua runasimi 1252 850 BOL QUB + ${NSD_CB_AddString} $Locale "quz-BO" ; 0x046B quz-BO Quechua (Bolivia) Quechua runasimi (Qullasuyu) 1252 850 BOL QUB + ${NSD_CB_AddString} $Locale "quz-EC" ; 0x086B quz-EC Quechua (Ecuador) Quechua runasimi (Ecuador) 1252 850 ECU QUE + ${NSD_CB_AddString} $Locale "quz-PE" ; 0x0C6B quz-PE Quechua (Peru) Quechua runasimi (Piruw) 1252 850 PER QUP + ${NSD_CB_AddString} $Locale "rm" ; 0x0017 rm Romansh Romansh Rumantsch 1252 850 CHE RMC + ${NSD_CB_AddString} $Locale "rm-CH" ; 0x0417 rm-CH Romansh (Switzerland) Romansh Rumantsch (Svizra) 1252 850 CHE RMC + ${NSD_CB_AddString} $Locale "ro" ; 0x0018 ro Romanian Romanian română 1250 852 ROM ROM + ${NSD_CB_AddString} $Locale "ro-RO" ; 0x0418 ro-RO Romanian (Romania) Romanian română (România) 1250 852 ROM ROM + ${NSD_CB_AddString} $Locale "ru" ; 0x0019 ru Russian Russian русский 1251 866 RUS RUS + ${NSD_CB_AddString} $Locale "ru-RU" ; 0x0419 ru-RU Russian (Russia) Russian русский (Россия) 1251 866 RUS RUS + ${NSD_CB_AddString} $Locale "rw" ; 0x0087 rw Kinyarwanda Kinyarwanda Kinyarwanda 1252 437 RWA KIN + ${NSD_CB_AddString} $Locale "rw-RW" ; 0x0487 rw-RW Kinyarwanda (Rwanda) Kinyarwanda Kinyarwanda (Rwanda) 1252 437 RWA KIN + ${NSD_CB_AddString} $Locale "sa" ; 0x004F sa Sanskrit Sanskrit संस्कृत 0 1 IND SAN + ${NSD_CB_AddString} $Locale "sah" ; 0x0085 sah Yakut Yakut саха 1251 866 RUS SAH + ${NSD_CB_AddString} $Locale "sah-RU" ; 0x0485 sah-RU Yakut (Russia) Yakut саха (Россия) 1251 866 RUS SAH + ${NSD_CB_AddString} $Locale "sa-IN" ; 0x044F sa-IN Sanskrit (India) Sanskrit संस्कृत (भारतम्) 0 1 IND SAN + ${NSD_CB_AddString} $Locale "se" ; 0x003B se Sami (Northern) Sami (Northern) davvisámegiella 1252 850 NOR SME + ${NSD_CB_AddString} $Locale "se-FI" ; 0x0C3B se-FI Sami, Northern (Finland) Sami (Northern) davvisámegiella (Suopma) 1252 850 FIN SMG + ${NSD_CB_AddString} $Locale "se-NO" ; 0x043B se-NO Sami, Northern (Norway) Sami (Northern) davvisámegiella (Norga) 1252 850 NOR SME + ${NSD_CB_AddString} $Locale "se-SE" ; 0x083B se-SE Sami, Northern (Sweden) Sami (Northern) davvisámegiella (Ruoŧŧa) 1252 850 SWE SMF + ${NSD_CB_AddString} $Locale "si" ; 0x005B si Sinhala Sinhala සිංහ 0 1 LKA SIN + ${NSD_CB_AddString} $Locale "si-LK" ; 0x045B si-LK Sinhala (Sri Lanka) Sinhala සිංහ (ශ්‍රී ලංකා) 0 1 LKA SIN + ${NSD_CB_AddString} $Locale "sk" ; 0x001B sk Slovak Slovak slovenčina 1250 852 SVK SKY + ${NSD_CB_AddString} $Locale "sk-SK" ; 0x041B sk-SK Slovak (Slovakia) Slovak slovenčina (Slovenská republika) 1250 852 SVK SKY + ${NSD_CB_AddString} $Locale "sl" ; 0x0024 sl Slovenian Slovenian slovenski 1250 852 SVN SLV + ${NSD_CB_AddString} $Locale "sl-SI" ; 0x0424 sl-SI Slovenian (Slovenia) Slovenian slovenski (Slovenija) 1250 852 SVN SLV + ${NSD_CB_AddString} $Locale "sma" ; 0x783B sma Sami (Southern) Sami (Southern) åarjelsaemiengiele 1252 850 SWE SMB + ${NSD_CB_AddString} $Locale "sma-NO" ; 0x183B sma-NO Sami, Southern (Norway) Sami (Southern) åarjelsaemiengiele (Nöörje) 1252 850 NOR SMA + ${NSD_CB_AddString} $Locale "sma-SE" ; 0x1C3B sma-SE Sami, Southern (Sweden) Sami (Southern) åarjelsaemiengiele (Sveerje) 1252 850 SWE SMB + ${NSD_CB_AddString} $Locale "smj" ; 0x7C3B smj Sami (Lule) Sami (Lule) julevusámegiella 1252 850 SWE SMK + ${NSD_CB_AddString} $Locale "smj-NO" ; 0x103B smj-NO Sami, Lule (Norway) Sami (Lule) julevusámegiella (Vuodna) 1252 850 NOR SMJ + ${NSD_CB_AddString} $Locale "smj-SE" ; 0x143B smj-SE Sami, Lule (Sweden) Sami (Lule) julevusámegiella (Svierik) 1252 850 SWE SMK + ${NSD_CB_AddString} $Locale "smn" ; 0x703B smn Sami (Inari) Sami (Inari) sämikielâ 1252 850 FIN SMN + ${NSD_CB_AddString} $Locale "smn-FI" ; 0x243B smn-FI Sami, Inari (Finland) Sami (Inari) sämikielâ (Suomâ) 1252 850 FIN SMN + ${NSD_CB_AddString} $Locale "sms" ; 0x743B sms Sami (Skolt) Sami (Skolt) sääm´ǩiõll 1252 850 FIN SMS + ${NSD_CB_AddString} $Locale "sms-FI" ; 0x203B sms-FI Sami, Skolt (Finland) Sami (Skolt) sääm´ǩiõll (Lää´ddjânnam) 1252 850 FIN SMS + ${NSD_CB_AddString} $Locale "sq" ; 0x001C sq Albanian Albanian shqipe 1250 852 ALB SQI + ${NSD_CB_AddString} $Locale "sq-AL" ; 0x041C sq-AL Albanian (Albania) Albanian shqipe (Shqipëria) 1250 852 ALB SQI + ${NSD_CB_AddString} $Locale "sr" ; 0x7C1A sr Serbian Serbian (Latin) srpski 1250 852 SRB SRM + ${NSD_CB_AddString} $Locale "sr-Cyrl" ; 0x6C1A sr-Cyrl Serbian (Cyrillic) Serbian (Cyrillic) српски (Ћирилица) 1251 855 SRB SRO + ${NSD_CB_AddString} $Locale "sr-Cyrl-BA" ; 0x1C1A sr-Cyrl-BA Serbian (Cyrillic, Bosnia and Herzegovina) Serbian (Cyrillic) српски (Босна и Херцеговина) 1251 855 BIH SRN + ${NSD_CB_AddString} $Locale "sr-Cyrl-CS" ; 0x0C1A sr-Cyrl-CS Serbian (Cyrillic, Serbia and Montenegro (Former)) Serbian (Cyrillic) српски (Србија и Црна Гора (Претходно)) 1251 855 SCG SRB + ${NSD_CB_AddString} $Locale "sr-Cyrl-ME" ; 0x301A sr-Cyrl-ME Serbian (Cyrillic, Montenegro) Serbian (Cyrillic) српски (Црна Гора) 1251 855 MNE SRQ + ${NSD_CB_AddString} $Locale "sr-Cyrl-RS" ; 0x281A sr-Cyrl-RS Serbian (Cyrillic, Serbia) Serbian (Cyrillic) српски (Србија) 1251 855 SRB SRO + ${NSD_CB_AddString} $Locale "sr-Latn" ; 0x701A sr-Latn Serbian (Latin) Serbian (Latin) srpski (Latinica) 1250 852 SRB SRM + ${NSD_CB_AddString} $Locale "sr-Latn-BA" ; 0x181A sr-Latn-BA Serbian (Latin, Bosnia and Herzegovina) Serbian (Latin) srpski (Bosna i Hercegovina) 1250 852 BIH SRS + ${NSD_CB_AddString} $Locale "sr-Latn-CS" ; 0x081A sr-Latn-CS Serbian (Latin, Serbia and Montenegro (Former)) Serbian (Latin) srpski (Srbija i Crna Gora (Prethodno)) 1250 852 SCG SRL + ${NSD_CB_AddString} $Locale "sr-Latn-ME" ; 0x2C1A sr-Latn-ME Serbian (Latin, Montenegro) Serbian (Latin) srpski (Crna Gora) 1250 852 MNE SRP + ${NSD_CB_AddString} $Locale "sr-Latn-RS" ; 0x241A sr-Latn-RS Serbian (Latin, Serbia) Serbian (Latin) srpski (Srbija) 1250 852 SRB SRM + ${NSD_CB_AddString} $Locale "sv" ; 0x001D sv Swedish Swedish svenska 1252 850 SWE SVE + ${NSD_CB_AddString} $Locale "sv-FI" ; 0x081D sv-FI Swedish (Finland) Swedish svenska (Finland) 1252 850 FIN SVF + ${NSD_CB_AddString} $Locale "sv-SE" ; 0x041D sv-SE Swedish (Sweden) Swedish svenska (Sverige) 1252 850 SWE SVE + ${NSD_CB_AddString} $Locale "sw" ; 0x0041 sw Kiswahili Kiswahili Kiswahili 1252 437 KEN SWK + ${NSD_CB_AddString} $Locale "sw-KE" ; 0x0441 sw-KE Kiswahili (Kenya) Kiswahili Kiswahili (Kenya) 1252 437 KEN SWK + ${NSD_CB_AddString} $Locale "syr" ; 0x005A syr Syriac‎ Syriac ܣܘܪܝܝܐ‏ 0 1 SYR SYR + ${NSD_CB_AddString} $Locale "syr-SY" ; 0x045A syr-SY Syriac (Syria)‎ Syriac ܣܘܪܝܝܐ (سوريا)‏ 0 1 SYR SYR + ${NSD_CB_AddString} $Locale "ta" ; 0x0049 ta Tamil Tamil தமிழ் 0 1 IND TAM + ${NSD_CB_AddString} $Locale "ta-IN" ; 0x0449 ta-IN Tamil (India) Tamil தமிழ் (இந்தியா) 0 1 IND TAM + ${NSD_CB_AddString} $Locale "te" ; 0x004A te Telugu Telugu తెలుగు 0 1 IND TEL + ${NSD_CB_AddString} $Locale "te-IN" ; 0x044A te-IN Telugu (India) Telugu తెలుగు (భారత దేశం) 0 1 IND TEL + ${NSD_CB_AddString} $Locale "tg" ; 0x0028 tg Tajik (Cyrillic) Tajik (Cyrillic) Тоҷикӣ 1251 866 TAJ TAJ + ${NSD_CB_AddString} $Locale "tg-Cyrl" ; 0x7C28 tg-Cyrl Tajik (Cyrillic) Tajik (Cyrillic) Тоҷикӣ 1251 866 TAJ TAJ + ${NSD_CB_AddString} $Locale "tg-Cyrl-TJ" ; 0x0428 tg-Cyrl-TJ Tajik (Cyrillic, Tajikistan) Tajik (Cyrillic) Тоҷикӣ (Тоҷикистон) 1251 866 TAJ TAJ + ${NSD_CB_AddString} $Locale "th" ; 0x001E th Thai Thai ไทย 874 874 THA THA + ${NSD_CB_AddString} $Locale "th-TH" ; 0x041E th-TH Thai (Thailand) Thai ไทย (ไทย) 874 874 THA THA + ${NSD_CB_AddString} $Locale "tk" ; 0x0042 tk Turkmen Turkmen türkmençe 1250 852 TKM TUK + ${NSD_CB_AddString} $Locale "tk-TM" ; 0x0442 tk-TM Turkmen (Turkmenistan) Turkmen türkmençe (Türkmenistan) 1250 852 TKM TUK + ${NSD_CB_AddString} $Locale "tn" ; 0x0032 tn Setswana Setswana Setswana 1252 850 ZAF TSN + ${NSD_CB_AddString} $Locale "tn-ZA" ; 0x0432 tn-ZA Setswana (South Africa) Setswana Setswana (Aforika Borwa) 1252 850 ZAF TSN + ${NSD_CB_AddString} $Locale "tr" ; 0x001F tr Turkish Turkish Türkçe 1254 857 TUR TRK + ${NSD_CB_AddString} $Locale "tr-TR" ; 0x041F tr-TR Turkish (Turkey) Turkish Türkçe (Türkiye) 1254 857 TUR TRK + ${NSD_CB_AddString} $Locale "tt" ; 0x0044 tt Tatar Tatar Татар 1251 866 RUS TTT + ${NSD_CB_AddString} $Locale "tt-RU" ; 0x0444 tt-RU Tatar (Russia) Tatar Татар (Россия) 1251 866 RUS TTT + ${NSD_CB_AddString} $Locale "tzm" ; 0x005F tzm Tamazight Tamazight (Latin) Tamazight 1252 850 DZA TZM + ${NSD_CB_AddString} $Locale "tzm-Latn" ; 0x7C5F tzm-Latn Tamazight (Latin) Tamazight (Latin) Tamazight (Latin) 1252 850 DZA TZM + ${NSD_CB_AddString} $Locale "tzm-Latn-DZ" ; 0x085F tzm-Latn-DZ Tamazight (Latin, Algeria) Tamazight (Latin) Tamazight (Djazaïr) 1252 850 DZA TZM + ${NSD_CB_AddString} $Locale "ug" ; 0x0080 ug Uyghur‎ Uyghur ئۇيغۇر يېزىقى‏ 1256 720 CHN UIG + ${NSD_CB_AddString} $Locale "ug-CN" ; 0x0480 ug-CN Uyghur (PRC)‎ Uyghur (ئۇيغۇر يېزىقى (جۇڭخۇا خەلق جۇمھۇرىيىتى‏ 1256 720 CHN UIG + ${NSD_CB_AddString} $Locale "uk" ; 0x0022 uk Ukrainian Ukrainian українська 1251 866 UKR UKR + ${NSD_CB_AddString} $Locale "uk-UA" ; 0x0422 uk-UA Ukrainian (Ukraine) Ukrainian українська (Україна) 1251 866 UKR UKR + ${NSD_CB_AddString} $Locale "ur" ; 0x0020 ur Urdu‎ Urdu اُردو‏ 1256 720 PAK URD + ${NSD_CB_AddString} $Locale "ur-PK" ; 0x0420 ur-PK Urdu (Islamic Republic of Pakistan)‎ Urdu اُردو (پاکستان)‏ 1256 720 PAK URD + ${NSD_CB_AddString} $Locale "uz" ; 0x0043 uz Uzbek (Latin) Uzbek (Latin) U'zbek 1254 857 UZB UZB + ${NSD_CB_AddString} $Locale "uz-Cyrl" ; 0x7843 uz-Cyrl Uzbek (Cyrillic) Uzbek (Cyrillic) Ўзбек 1251 866 UZB UZB + ${NSD_CB_AddString} $Locale "uz-Cyrl-UZ" ; 0x0843 uz-Cyrl-UZ Uzbek (Cyrillic, Uzbekistan) Uzbek (Cyrillic) Ўзбек (Ўзбекистон) 1251 866 UZB UZB + ${NSD_CB_AddString} $Locale "uz-Latn" ; 0x7C43 uz-Latn Uzbek (Latin) Uzbek (Latin) U'zbek 1254 857 UZB UZB + ${NSD_CB_AddString} $Locale "uz-Latn-UZ" ; 0x0443 uz-Latn-UZ Uzbek (Latin, Uzbekistan) Uzbek (Latin) U'zbek (U'zbekiston Respublikasi) 1254 857 UZB UZB + ${NSD_CB_AddString} $Locale "vi" ; 0x002A vi Vietnamese Vietnamese Tiếng Việt 1258 1258 VNM VIT + ${NSD_CB_AddString} $Locale "vi-VN" ; 0x042A vi-VN Vietnamese (Vietnam) Vietnamese Tiếng Việt (Việt Nam) 1258 1258 VNM VIT + ${NSD_CB_AddString} $Locale "wo" ; 0x0088 wo Wolof Wolof Wolof 1252 850 SEN WOL + ${NSD_CB_AddString} $Locale "wo-SN" ; 0x0488 wo-SN Wolof (Senegal) Wolof Wolof (Sénégal) 1252 850 SEN WOL + ${NSD_CB_AddString} $Locale "xh" ; 0x0034 xh isiXhosa isiXhosa isiXhosa 1252 850 ZAF XHO + ${NSD_CB_AddString} $Locale "xh-ZA" ; 0x0434 xh-ZA isiXhosa (South Africa) isiXhosa isiXhosa (uMzantsi Afrika) 1252 850 ZAF XHO + ${NSD_CB_AddString} $Locale "yo" ; 0x006A yo Yoruba Yoruba Yoruba 1252 437 NGA YOR + ${NSD_CB_AddString} $Locale "yo-NG" ; 0x046A yo-NG Yoruba (Nigeria) Yoruba Yoruba (Nigeria) 1252 437 NGA YOR + ${NSD_CB_AddString} $Locale "zh" ; 0x7804 zh Chinese Chinese (Simplified) 中文 936 936 CHN CHS + ${NSD_CB_AddString} $Locale "zh-CN" ; 0x0804 zh-CN Chinese (Simplified, PRC) Chinese (Simplified) 中文(中华人民共和国) 936 936 CHN CHS + ${NSD_CB_AddString} $Locale "zh-Hans" ; 0x0004 zh-Hans Chinese (Simplified) Chinese (Simplified) 中文(简体) 936 936 CHN CHS + ${NSD_CB_AddString} $Locale "zh-Hant" ; 0x7C04 zh-Hant Chinese (Traditional) Chinese (Traditional) 中文(繁體) 950 950 HKG ZHH + ${NSD_CB_AddString} $Locale "zh-HK" ; 0x0C04 zh-HK Chinese (Traditional, Hong Kong S.A.R.) Chinese (Traditional) 中文(香港特別行政區) 950 950 HKG ZHH + ${NSD_CB_AddString} $Locale "zh-MO" ; 0x1404 zh-MO Chinese (Traditional, Macao S.A.R.) Chinese (Traditional) 中文(澳門特別行政區) 950 950 MCO ZHM + ${NSD_CB_AddString} $Locale "zh-SG" ; 0x1004 zh-SG Chinese (Simplified, Singapore) Chinese (Simplified) 中文(新加坡) 936 936 SGP ZHI + ${NSD_CB_AddString} $Locale "zh-TW" ; 0x0404 zh-TW Chinese (Traditional, Taiwan) Chinese (Traditional) 中文(台灣) 950 950 TWN CHT + ${NSD_CB_AddString} $Locale "zu" ; 0x0035 zu isiZulu isiZulu isiZulu 1252 850 ZAF ZUL + ${NSD_CB_AddString} $Locale "zu-ZA" ; 0x0435 zu-ZA isiZulu (South Africa) isiZulu isiZulu (iNingizimu Afrika) 1252 850 ZAF ZUL + ${else} + ${NSD_CB_AddString} $Locale "Afrikaans, South Africa" + ${NSD_CB_AddString} $Locale "Albanian, Albania" + ${NSD_CB_AddString} $Locale "Azeri (Cyrillic), Azerbaijan" + ${NSD_CB_AddString} $Locale "Azeri (Latin), Azerbaijan" + ${NSD_CB_AddString} $Locale "Basque, Spain" + ${NSD_CB_AddString} $Locale "Belarusian, Belarus" + ${NSD_CB_AddString} $Locale "Bosnian, Bosnia and Herzegovina" + ${NSD_CB_AddString} $Locale "Bosnian (Cyrillic), Bosnia and Herzegovina" + ${NSD_CB_AddString} $Locale "Bulgarian, Bulgaria" + ${NSD_CB_AddString} $Locale "Catalan, Spain" + ${NSD_CB_AddString} $Locale "Croatian, Bosnia and Herzegovina" + ${NSD_CB_AddString} $Locale "Croatian, Croatia" + ${NSD_CB_AddString} $Locale "Czech, Czech Republic" + ${NSD_CB_AddString} $Locale "Danish, Denmark" + ${NSD_CB_AddString} $Locale "Dutch, Belgium" + ${NSD_CB_AddString} $Locale "Dutch, Netherlands" + ${NSD_CB_AddString} $Locale "English, Australia" + ${NSD_CB_AddString} $Locale "English, Belize" + ${NSD_CB_AddString} $Locale "English, Canada" + ${NSD_CB_AddString} $Locale "English, Caribbean" + ${NSD_CB_AddString} $Locale "English, Ireland" + ${NSD_CB_AddString} $Locale "English, Jamaica" + ${NSD_CB_AddString} $Locale "English, New Zealand" + ${NSD_CB_AddString} $Locale "English, Republic of the Philippines" + ${NSD_CB_AddString} $Locale "English, South Africa" + ${NSD_CB_AddString} $Locale "English, Trinidad and Tobago" + ${NSD_CB_AddString} $Locale "English, United Kingdom" + ${NSD_CB_AddString} $Locale "English, United States" + ${NSD_CB_AddString} $Locale "English, Zimbabwe" + ${NSD_CB_AddString} $Locale "Estonian, Estonia" + ${NSD_CB_AddString} $Locale "FYRO Macedonian, Former Yugoslav Republic of Macedonia" + ${NSD_CB_AddString} $Locale "Faroese, Faroe Islands" + ${NSD_CB_AddString} $Locale "Filipino, Philippines" + ${NSD_CB_AddString} $Locale "Finnish, Finland" + ${NSD_CB_AddString} $Locale "French, Belgium" + ${NSD_CB_AddString} $Locale "French, Canada" + ${NSD_CB_AddString} $Locale "French, France" + ${NSD_CB_AddString} $Locale "French, Luxembourg" + ${NSD_CB_AddString} $Locale "French, Principality of Monaco" + ${NSD_CB_AddString} $Locale "French, Switzerland" + ${NSD_CB_AddString} $Locale "Frisian, Netherlands" + ${NSD_CB_AddString} $Locale "Galician, Spain" + ${NSD_CB_AddString} $Locale "German, Austria" + ${NSD_CB_AddString} $Locale "German, Germany" + ${NSD_CB_AddString} $Locale "German, Liechtenstein" + ${NSD_CB_AddString} $Locale "German, Luxembourg" + ${NSD_CB_AddString} $Locale "German, Switzerland" + ${NSD_CB_AddString} $Locale "Greek, Greece" + ${NSD_CB_AddString} $Locale "Hungarian, Hungary" + ${NSD_CB_AddString} $Locale "Icelandic, Iceland" + ${NSD_CB_AddString} $Locale "Indonesian, Indonesia" + ${NSD_CB_AddString} $Locale "Inuktitut (Latin), Canada" + ${NSD_CB_AddString} $Locale "Irish, Ireland" + ${NSD_CB_AddString} $Locale "Italian, Italy" + ${NSD_CB_AddString} $Locale "Italian, Switzerland" + ${NSD_CB_AddString} $Locale "Kazakh, Kazakhstan" + ${NSD_CB_AddString} $Locale "Kyrgyz, Kyrgyzstan" + ${NSD_CB_AddString} $Locale "Latvian, Latvia" + ${NSD_CB_AddString} $Locale "Lithuanian, Lithuania" + ${NSD_CB_AddString} $Locale "Luxembourgish, Luxembourg" + ${NSD_CB_AddString} $Locale "Malay, Brunei Darussalam" + ${NSD_CB_AddString} $Locale "Malay, Malaysia" + ${NSD_CB_AddString} $Locale "Maltese, Malta" + ${NSD_CB_AddString} $Locale "Maori, New Zealand" + ${NSD_CB_AddString} $Locale "Mapudungun, Chile" + ${NSD_CB_AddString} $Locale "Mohawk, Canada" + ${NSD_CB_AddString} $Locale "Mongolian, Mongolia" + ${NSD_CB_AddString} $Locale "Northern Sotho, South Africa" + ${NSD_CB_AddString} $Locale "Norwegian (Bokmal), Norway" + ${NSD_CB_AddString} $Locale "Norwegian (Nynorsk), Norway" + ${NSD_CB_AddString} $Locale "Polish, Poland" + ${NSD_CB_AddString} $Locale "Portuguese, Brazil" + ${NSD_CB_AddString} $Locale "Portuguese, Portugal" + ${NSD_CB_AddString} $Locale "Quechua, Bolivia" + ${NSD_CB_AddString} $Locale "Quechua, Ecuador" + ${NSD_CB_AddString} $Locale "Quechua, Peru" + ${NSD_CB_AddString} $Locale "Romanian, Romania" + ${NSD_CB_AddString} $Locale "Romansh, Switzerland" + ${NSD_CB_AddString} $Locale "Russian, Russia" + ${NSD_CB_AddString} $Locale "Sami (Inari), Finland" + ${NSD_CB_AddString} $Locale "Sami (Lule), Norway" + ${NSD_CB_AddString} $Locale "Sami (Lule), Sweden" + ${NSD_CB_AddString} $Locale "Sami (Northern), Finland" + ${NSD_CB_AddString} $Locale "Sami (Northern), Norway" + ${NSD_CB_AddString} $Locale "Sami (Northern), Sweden" + ${NSD_CB_AddString} $Locale "Sami (Skolt), Finland" + ${NSD_CB_AddString} $Locale "Sami (Southern), Norway" + ${NSD_CB_AddString} $Locale "Sami (Southern), Sweden" + ${NSD_CB_AddString} $Locale "Serbian (Cyrillic), Bosnia and Herzegovina" + ${NSD_CB_AddString} $Locale "Serbian (Cyrillic), Serbia and Montenegro" + ${NSD_CB_AddString} $Locale "Serbian (Latin), Bosnia and Herzegovina" + ${NSD_CB_AddString} $Locale "Serbian (Latin), Serbia and Montenegro" + ${NSD_CB_AddString} $Locale "Slovak, Slovakia" + ${NSD_CB_AddString} $Locale "Slovenian, Slovenia" + ${NSD_CB_AddString} $Locale "Spanish, Argentina" + ${NSD_CB_AddString} $Locale "Spanish, Bolivia" + ${NSD_CB_AddString} $Locale "Spanish, Chile" + ${NSD_CB_AddString} $Locale "Spanish, Colombia" + ${NSD_CB_AddString} $Locale "Spanish, Costa Rica" + ${NSD_CB_AddString} $Locale "Spanish, Dominican Republic" + ${NSD_CB_AddString} $Locale "Spanish, Ecuador" + ${NSD_CB_AddString} $Locale "Spanish, El Salvador" + ${NSD_CB_AddString} $Locale "Spanish, Guatemala" + ${NSD_CB_AddString} $Locale "Spanish, Honduras" + ${NSD_CB_AddString} $Locale "Spanish, Mexico" + ${NSD_CB_AddString} $Locale "Spanish, Nicaragua" + ${NSD_CB_AddString} $Locale "Spanish, Panama" + ${NSD_CB_AddString} $Locale "Spanish, Paraguay" + ${NSD_CB_AddString} $Locale "Spanish, Peru" + ${NSD_CB_AddString} $Locale "Spanish, Puerto Rico" + ${NSD_CB_AddString} $Locale "Spanish, Spain" + ${NSD_CB_AddString} $Locale "Spanish, Spain" + ${NSD_CB_AddString} $Locale "Spanish, Uruguay" + ${NSD_CB_AddString} $Locale "Spanish, Venezuela" + ${NSD_CB_AddString} $Locale "Swahili, Kenya" + ${NSD_CB_AddString} $Locale "Swedish, Finland" + ${NSD_CB_AddString} $Locale "Swedish, Sweden" + ${NSD_CB_AddString} $Locale "Tatar, Russia" + ${NSD_CB_AddString} $Locale "Tswana, South Africa" + ${NSD_CB_AddString} $Locale "Turkish, Turkey" + ${NSD_CB_AddString} $Locale "Ukrainian, Ukraine" + ${NSD_CB_AddString} $Locale "Uzbek (Cyrillic), Uzbekistan" + ${NSD_CB_AddString} $Locale "Uzbek (Latin), Uzbekistan" + ${NSD_CB_AddString} $Locale "Welsh, United Kingdom" + ${NSD_CB_AddString} $Locale "Xhosa, South Africa" + ${NSD_CB_AddString} $Locale "Zulu, South Africa" + ${endif} ${NSD_CB_SelectString} $Locale $Locale_text - ${NSD_CreateLabel} 0 54u 60u 24u "$(DLG_SUPERUSER)" + ${NSD_CreateLabel} 0 59u 70u 24u "$(DLG_SUPERUSER)" Pop $Label2 - ${NSD_CreateText} 62u 57u 100u 12u "$UserName_text" + ${NSD_CreateText} 72u 57u 100u 12u "$UserName_text" Pop $UserName - ${NSD_CreateLabel} 0 74u 60u 12u "$(DLG_PASS1)" + ${NSD_CreateLabel} 0 74u 70u 12u "$(DLG_PASS1)" Pop $Label2 - ${NSD_CreatePassword} 62u 72u 100u 12u $Pass1_text + ${NSD_CreatePassword} 72u 72u 100u 12u $Pass1_text Pop $Pass1 - ${NSD_CreateLabel} 0 90u 60u 12u "$(DLG_PASS2)" + ${NSD_CreateLabel} 0 90u 70u 12u "$(DLG_PASS2)" Pop $Label2 - ${NSD_CreatePassword} 62u 88u 100u 12u $Pass2_text + ${NSD_CreatePassword} 72u 88u 100u 12u $Pass2_text Pop $Pass2 + + ${NSD_CreateCheckBox} 72u 105u 100% 12u "$(DLG_data-checksums)" + Pop $checkBoxDataChecksums + ${NSD_SetState} $checkBoxDataChecksums $isDataChecksums + + ;env vars - ${NSD_CreateCheckBox} 62u 120u 100% 12u "$(DLG_ENVVAR)" + ${NSD_CreateCheckBox} 72u 120u 100% 12u "$(DLG_ENVVAR)" Pop $checkBoxEnvVar ${NSD_SetState} $checkBoxEnvVar $isEnvVar - + GetFunctionAddress $0 getServerDataFromDlg nsDialogs::OnBack $0 @@ -1034,7 +2117,24 @@ Function makeOptimization ;768MB = 98304 = 805306368 ;512MB = 65536 = 536870912 ;256MB = 32768 = 268435456 + ${if} $AllMem > 16000 ;>16gb + StrCpy $work_mem "128MB" +!ifdef PG_64bit + StrCpy $shared_buffers "1GB" +!else + StrCpy $shared_buffers "768MB" +!endif + StrCpy $effective_cache_size "16GB" + return + ${endif} + + ${if} $AllMem > 8090 ;>8gb + StrCpy $work_mem "128MB" + StrCpy $shared_buffers "768MB" + StrCpy $effective_cache_size "8GB" + return + ${endif} ${if} $AllMem > 4090 ;>4gb StrCpy $work_mem "128MB" StrCpy $shared_buffers "512MB" @@ -1079,12 +2179,17 @@ Function nsDialogOptimization ${NSD_CreateRadioButton} 0 70u 200u 24U "$(DLG_OPT3)" Pop $rButton1 - ${if} $needOptimiztion == "1" + ${if} $needOptimization == "1" ${NSD_SetState} $rButton2 ${BST_CHECKED} ${else} ${NSD_SetState} $rButton1 ${BST_CHECKED} ${endif} + ${NSD_CreateCheckBox} 20u 100u 100% 12u "$(MORE_SHOW_MORE)" + Pop $checkBoxMoreOptions + ${NSD_SetState} $checkBoxMoreOptions $isShowMoreOptions + + GetFunctionAddress $0 nsDialogsOptimizationPageLeave nsDialogs::OnBack $0 @@ -1093,19 +2198,67 @@ FunctionEnd Function nsDialogsOptimizationPageLeave ${NSD_GetState} $rButton2 $0 + ${if} $0 == ${BST_CHECKED} - StrCpy $needOptimiztion "1" + StrCpy $needOptimization "1" ${else} - StrCpy $needOptimiztion "0" + StrCpy $needOptimization "0" ${endif} + + ${NSD_GetState} $checkBoxMoreOptions $isShowMoreOptions +FunctionEnd + +Function SetDefaultTcpPort + ; tcp-port auto selector + StrCpy $TextPort_text "${PG_DEF_PORT}" + ${while} 1 = 1 + ${if} ${TCPPortOpen} $TextPort_text + IntOp $TextPort_text $TextPort_text + 1 + ${else} + ${exitwhile} + ${endif} + ${endwhile} +FunctionEnd + +!macro GetUIId UN +Function ${UN}GetUIId + System::Call 'kernel32::GetACP() i.r10' + Push $R0 FunctionEnd +!macroend +!insertmacro GetUIId "" +!insertmacro GetUIId "un." + Function .onInit - !insertmacro MUI_LANGDLL_DISPLAY ;select language + Call CheckWindowsVersion + Call SetDefaultTcpPort + +!ifdef PG_64bit +${IfNot} ${RunningX64} +MessageBox MB_OK|MB_ICONSTOP "This version can be installed only on 64-bit Windows!" +Abort +${EndIf} +!endif + IntOp $3 ${SF_SELECTED} | ${SF_RO} + SectionSetFlags ${secClient} $3 + ;SectionSetFlags ${secClient} ${SF_RO} +; !define MUI_LANGDLL_ALLLANGUAGES +; !insertmacro MUI_LANGDLL_DISPLAY ;select language + Call GetUIId + pop $R0 + ${if} $R0 == "1251" + !define MUI_LANGDLL_ALLLANGUAGES + !insertmacro MUI_LANGDLL_DISPLAY ;select language + ${else} + StrCpy $LANGUAGE ${LANG_ENGLISH} + ${endif} + + StrCpy $PG_OLD_DIR "" StrCpy $DATA_DIR "$INSTDIR\data" + StrCpy $OLD_DATA_DIR "" - StrCpy $TextPort_text "${PG_DEF_PORT}" StrCpy $UserName_text "${PG_DEF_SUPERUSER}" StrCpy $ServiceAccount_text "${PG_DEF_SERVICEACCOUNT}" @@ -1115,8 +2268,12 @@ Function .onInit StrCpy $checkNoLocal_state ${BST_CHECKED} StrCpy $isEnvVar ${BST_UNCHECKED} ;${BST_CHECKED} + StrCpy $isDataChecksums ${BST_CHECKED} ;${BST_CHECKED} + StrCpy $isShowMoreOptions ${BST_UNCHECKED} ;${BST_CHECKED} StrCpy $Coding_text "UTF8" ;"UTF-8" + + StrCpy $Collation_text $(DEF_COLATE_NAME) UserMgr::GetCurrentDomain Pop $0 @@ -1129,7 +2286,7 @@ Function .onInit ;AccessControl::GetCurrentUserName ;Pop $0 ; or "error" ;MessageBox MB_OK "$0" - StrCpy $needOptimiztion "1" + StrCpy $needOptimization "1" StrCpy $isDataDirExist 0 @@ -1198,15 +2355,15 @@ Function .onInit SectionSetFlags ${secMS} $3 ${endif} - ReadINIStr $1 $0 options service - ${if} "$1" == "no" - SectionGetFlags ${secService} $3 - IntOp $3 $3 & ${SECTION_OFF} - SectionSetFlags ${secService} $3 - ${endif} - ${if} "$1" == "yes" - StrCpy $service "YES" - ${endif} +; ReadINIStr $1 $0 options service +; ${if} "$1" == "no" +; SectionGetFlags ${secService} $3 +; IntOp $3 $3 & ${SECTION_OFF} +; SectionSetFlags ${secService} $3 +; ${endif} +; ${if} "$1" == "yes" +; StrCpy $service "YES" +; ${endif} ReadINIStr $1 $0 options pgserver ${if} "$1" == "no" @@ -1219,6 +2376,36 @@ Function .onInit ${if} "$1" != "" StrCpy $isEnvVar $1 ${endif} + + ReadINIStr $1 $0 options needoptimization + ${if} "$1" != "" + StrCpy $needOptimization "$1" + ${endif} + + + ReadINIStr $1 $0 options datachecksums + ${if} "$1" != "" + StrCpy $isDataChecksums "$1" + ${endif} + + ReadINIStr $1 $0 options serviceaccount + ${if} "$1" != "" + StrCpy $ServiceAccount_text "$1" + ${endif} + ReadINIStr $1 $0 options servicepassword + ${if} "$1" != "" + StrCpy $servicePassword_text "$1" + ${endif} + ReadINIStr $1 $0 options serviceid + ${if} "$1" != "" + StrCpy $ServiceID_text "$1" + ${endif} + ReadINIStr $1 $0 options islibc + ${if} "$1" != "" + StrCpy $Collation_text "libc" + ${endif} + + FunctionEnd Function func1 @@ -1232,11 +2419,188 @@ Function func1 is5: FunctionEnd + Function dirPre + ;${if} ${SectionIsSelected} ${secClient} + ; return + ;${endif} + ${Unless} ${SectionIsSelected} ${sec1} + ${AndUnless} ${SectionIsSelected} ${secClient} Abort ${EndUnless} ${if} $PG_OLD_DIR != "" ;exist PG install Abort ${endif} FunctionEnd + +Function CheckWindowsVersion + ${If} ${SDK} != "SDK71" + ${Unless} ${AtLeastWin2008} + MessageBox MB_OK|MB_ICONINFORMATION $(MESS_UNSUPPORTED_WINDOWS) + Abort + ${EndUnless} + ${EndIf} +FunctionEnd + + +Function .onSelChange + ;MessageBox MB_OK|MB_ICONINFORMATION $0 + ${if} $0 == ${sec1} + ${orif} $0 == ${serverGroup} + SectionGetFlags ${sec1} $1 + ;IntOp $1 ${SF_SELECTED} + ;SectionSetFlags 2 ${SF_SELECTED} | ${SF_RO} + ${if} $1 == ${SF_SELECTED} + IntOp $3 ${SF_SELECTED} | ${SF_RO} + SectionSetFlags ${secClient} $3 + ;SectionSetFlags ${secClient} ${SF_RO} + ${else} + SectionSetFlags ${secClient} ${SF_SELECTED} + ${endif} + + ${endif} +FunctionEnd + +Function checkServiceIsRunning + nsExec::ExecToStack /TIMEOUT=10000 'sc query "$ServiceID_text"' + pop $0 + pop $1 # printed text, up to ${NSIS_MAX_STRLEN} + ${if} $0 != '0' + push "" + return + ${endif} + + ${StrContains} $2 "RUNNING" "$1" + ${if} $2 == "" + push "" + return + ${endif} + push "1" + +FunctionEnd + +Function IsServerSection + SectionGetFlags ${sec1} $1 + ${if} $1 == ${SF_SELECTED} + push "1" + ${else} + push "0" + ${endif} + +FunctionEnd + + +Function nsDialogMore + + ${Unless} ${SectionIsSelected} ${sec1} + Abort + ${EndUnless} + + ${if} $isShowMoreOptions != ${BST_CHECKED} + Abort + ${endif} + + nsDialogs::Create 1018 + Pop $Dialog + + ${If} $Dialog == error + Abort + ${EndIf} + +#!define PG_DEF_SERVICEACCOUNT "NT AUTHORITY\NetworkService" +#!define PG_DEF_SERVICEID "postgrespro-enterprise-X64-9.6" +#isu + +${NSD_CreateGroupBox} 0 0 100% 80u "$(MORE_SERVICE_TITLE)" + Pop $0 + + ${NSD_CreateLabel} 10u 12u 360u 16u "$(MORE_USER_HELP)" + Pop $Label + + + ${NSD_CreateLabel} 10u 32u 120u 16u "$(MORE_WINUSER)" + Pop $Label + + ${NSD_CreateText} 130u 30u 160u 12u "$ServiceAccount_text" + Pop $ServiceAccount_editor + + ${NSD_CreateLabel} 10u 47u 120u 12u "$(MORE_WINPASS)" + Pop $Label + + ${NSD_CreatePassword} 130u 45u 160u 12u $servicePassword_text + Pop $servicePassword_editor + + + ${NSD_CreateLabel} 10u 62u 120u 16u "$(MORE_SERVICE_NAME)" + Pop $Label + + ${NSD_CreateText} 130u 60u 160u 12u "$ServiceID_text" + Pop $ServiceID_editor + + + ${if} "${PRODUCT_NAME_SHORT}" != "PostgreSQL" + ${if} ${PG_MAJOR_VERSION} >= "10" + ${NSD_CreateLabel} 10u 92u 100% 26u "$(MORE_ICU_HELP)" + Pop $Label + + ${NSD_CreateLabel} 10u 122u 120u 16u "$(MORE_COLATION)" + Pop $Label + ${NSD_CreateDropList} 130u 120u 100u 12u "" + Pop $Collation_editor + + ${NSD_CB_AddString} $Collation_editor "$(DEF_COLATE_NAME)" + ;${NSD_CB_AddString} $Collation_editor "icu" + ${NSD_CB_AddString} $Collation_editor "libc" + ${NSD_CB_SelectString} $Collation_editor $Collation_text + ${endif} + ${endif} + + + nsDialogs::Show + +FunctionEnd + + +Function nsDialogsMorePageLeave + ${NSD_GetText} $ServiceAccount_editor $ServiceAccount_text + ${NSD_GetText} $servicePassword_editor $servicePassword_text + ${NSD_GetText} $ServiceID_editor $ServiceID_text + ${if} "${PRODUCT_NAME_SHORT}" != "PostgreSQL" + ${if} ${PG_MAJOR_VERSION} >= "10" + ${NSD_GetText} $Collation_editor $Collation_text + ${endif} + ${endif} + + +FunctionEnd + +Function un.onInit + Call un.GetUIId + pop $R0 + ${if} $R0 == "1251" + ;!define MUI_LANGDLL_ALLLANGUAGES + !insertmacro MUI_LANGDLL_DISPLAY ;select language + ${else} + StrCpy $LANGUAGE ${LANG_ENGLISH} + + ${endif} + +FunctionEnd + +Function createAccessForFolder + pop $0 + AccessControl::DisableFileInheritance "$0" + AccessControl::RevokeOnFile "$0" "(BU)" "GenericWrite" + AccessControl::RevokeOnFile "$0" "(AU)" "GenericWrite" + AccessControl::RevokeOnFile "$0" "(DU)" "GenericWrite" + AccessControl::GrantOnFile "$0" "(BU)" "GenericRead + GenericExecute" + ${if} ${AtLeastWin8} + ;ALL_APP_PACKAGES (S-1-15-2-1) + AccessControl::GrantOnFile "$0" "(S-1-15-2-1)" "GenericRead + GenericExecute" + ;The SID for "ALL RESTRICTED APPLICATION PACKAGES" is S-1-15-2-2 + AccessControl::GrantOnFile "$0" "(S-1-15-2-2)" "GenericRead + GenericExecute" + ${endif} + +FunctionEnd + diff --git a/nsis/server.files b/nsis/server.files new file mode 100644 index 0000000..c1508ae --- /dev/null +++ b/nsis/server.files @@ -0,0 +1,44 @@ +# This file contains some quite broad catch-all wildcard patterns, so +# it should be last of all modules +./bin/initdb.* +./bin/pg_archivecleanup.* +./bin/pg_controldata.* +./bin/pg_ctl.* +./bin/pg_probackup.* +./bin/pg_resetwal.* +./bin/pg_rewind.* +./bin/pg_standby.* +./bin/pg_test_fsync.* +./bin/pg_test_timing.* +./bin/pg_upgrade.* +./bin/pg_waldump.* +./bin/pg_*checksums.* +./bin/postgres.* +./bin/postmaster.* +./bin/zic.* +./doc/extension/*.example +./doc/buildinfo.txt +./lib/*.dll +./share/extension/* +./share/*.sample +./share/*.sql +./share/postgres.bki +./share/*.description +./share/*.shdescription +./share/sql_features.txt +./share/extension/plpgsql* +./share/locale/*/LC_MESSAGES/plpgsql* +./share/timezonesets/* +./share/timezone/* +./share/tsearch_data/* +./bin/droplang.* +./bin/mv.* +./bin/pg_receivexlog.* +./bin/pg_resetxlog.* +./bin/pg_xlogdump.* +./bin/pgpro_upgrade +./bin/sed.* +./bin/sh.* +./bin/createlang.* +./share/pgpro-upgrade/*.* + diff --git a/nsis/translates.nsi b/nsis/translates.nsi index c870909..776c31d 100644 --- a/nsis/translates.nsi +++ b/nsis/translates.nsi @@ -1,65 +1,67 @@ -LangString PostgreSQLString ${LANG_ENGLISH} "PostgreSQL server" -LangString PostgreSQLString ${LANG_RUSSIAN} "PostgreSQL ������" +LangString PostgreSQLString ${LANG_ENGLISH} "${PRODUCT_NAME_SHORT} server" +LangString PostgreSQLString ${LANG_RUSSIAN} "������ ${PRODUCT_NAME_SHORT}" - LangString DATADIR_MESS ${LANG_ENGLISH} "Please select a directory under which to store your data" + LangString DATADIR_MESS ${LANG_ENGLISH} "Select a directory under which to store your data" LangString DATADIR_MESS ${LANG_RUSSIAN} "���� ������ ����� ����������� � ��������� �������" LangString DATADIR_TITLE ${LANG_ENGLISH} "Data directory" - LangString DATADIR_TITLE ${LANG_RUSSIAN} "������� ��� ��������� ��� ������" + LangString DATADIR_TITLE ${LANG_RUSSIAN} "������� ������" LangString BROWSE_BUTTON ${LANG_ENGLISH} "Browse ..." LangString BROWSE_BUTTON ${LANG_RUSSIAN} "����� ..." LangString DESC_SecMS ${LANG_ENGLISH} "Install run-time components that are required to run C++ applications" - LangString DESC_SecMS ${LANG_RUSSIAN} "���������� ����� ����������, ����������� ��� ���������� ����������" + LangString DESC_SecMS ${LANG_RUSSIAN} "���������� ����� ����������, ����������� ��� ���������� ���������� C++" - LangString DESC_Sec1 ${LANG_ENGLISH} "Install PostgreSQL server on this computer" - LangString DESC_Sec1 ${LANG_RUSSIAN} "��������� ������� PostgreSQL �� ���� ���������" + LangString DESC_Sec1 ${LANG_ENGLISH} "Install ${PRODUCT_NAME_SHORT} server components." + LangString DESC_Sec1 ${LANG_RUSSIAN} "��������� ������ ������� ${PRODUCT_NAME_SHORT}." - LangString DESC_PgAdmin ${LANG_ENGLISH} "Install pgAdmin tools on this computer" - LangString DESC_PgAdmin ${LANG_RUSSIAN} "��������� pgAdmin ��� ���������� ��������" + LangString DESC_PgAdmin ${LANG_ENGLISH} "Install pgAdmin tools for server administration." + LangString DESC_PgAdmin ${LANG_RUSSIAN} "��������� pgAdmin ��� ���������� ��������." - LangString DESC_Sec1dir ${LANG_ENGLISH} "Please specify the directory where PostgreSQL will be installed" - LangString DESC_Sec1die ${LANG_RUSSIAN} "����������, ������� ���������� ��� ��������� PostgreSQL" + LangString DESC_Sec1dir ${LANG_ENGLISH} "Specify the directory where ${PRODUCT_NAME_SHORT} will be installed" + LangString DESC_Sec1die ${LANG_RUSSIAN} "������� �������, ���� ����� ���������� ${PRODUCT_NAME_SHORT}" LangString SERVER_SET_TITLE ${LANG_ENGLISH} "Server options" LangString SERVER_SET_TITLE ${LANG_RUSSIAN} "��������� �������" - LangString SERVER_SET_SUBTITLE ${LANG_ENGLISH} "Please specify options of server" - LangString SERVER_SET_SUBTITLE ${LANG_RUSSIAN} "����������, ������� ��������� �������" + LangString SERVER_SET_SUBTITLE ${LANG_ENGLISH} "Specify server options" + LangString SERVER_SET_SUBTITLE ${LANG_RUSSIAN} "������� ��������� �������" - LangString SERVER_EXIST_TITLE ${LANG_ENGLISH} "Existing installation" - LangString SERVER_EXIST_TITLE ${LANG_RUSSIAN} "��� ������� ��������� �������" + LangString SERVER_EXIST_TITLE ${LANG_ENGLISH} "Existing Installation" + LangString SERVER_EXIST_TITLE ${LANG_RUSSIAN} "������������ �����������" - LangString SERVER_EXIST_TEXT1 ${LANG_ENGLISH} "An existing PostgresSQL installation has been found at " - LangString SERVER_EXIST_TEXT1 ${LANG_RUSSIAN} "������� ��������� ������� PostgresSQL � ���������� " + LangString SERVER_EXIST_TEXT1 ${LANG_ENGLISH} "An existing ${PRODUCT_NAME_SHORT} installation has been found at " + LangString SERVER_EXIST_TEXT1 ${LANG_RUSSIAN} "������� ����������� ������� ${PRODUCT_NAME_SHORT} � �������� " - LangString SERVER_EXIST_TEXT2 ${LANG_ENGLISH} "This instalation will be upgraded.$\n$\nIn order to upgrade, we may need to restart the server " - LangString SERVER_EXIST_TEXT2 ${LANG_RUSSIAN} "��� ��������� ����� ���������.$\n$\n�� ����� ���������� ����������� ���������� ������ ������� " + LangString SERVER_EXIST_TEXT2 ${LANG_ENGLISH} "This installation will be upgraded.$\n$\nServer restart is required to complete the upgrade. " + LangString SERVER_EXIST_TEXT2 ${LANG_RUSSIAN} "��� ����������� ����� ���������.$\n$\n��� ���������� ���������� ��������� ���������� �������. " - LangString DATADIR_EXIST_TITLE ${LANG_ENGLISH} "Existing data directory" - LangString DATADIR_EXIST_TITLE ${LANG_RUSSIAN} "��� ������� ���������� � �������" + LangString DATADIR_EXIST_TITLE ${LANG_ENGLISH} "Existing Data Directory" + LangString DATADIR_EXIST_TITLE ${LANG_RUSSIAN} "��� ������� ������� � �������" - LangString DATADIR_EXIST_TEXT1 ${LANG_ENGLISH} "An existing data directory installation has been found at $DATA_DIR , port $TextPort_text . This directory will be used for this installation." - LangString DATADIR_EXIST_TEXT1 ${LANG_RUSSIAN} "��� ������� ���������� � ������� $DATA_DIR , ���� $TextPort_text . ��� ���������� ����� ������������ ��� ���� ��������� �������." + LangString DATADIR_EXIST_TEXT1 ${LANG_ENGLISH} "An existing data directory has been found at $DATA_DIR , port $TextPort_text . This directory will be used for this installation." + LangString DATADIR_EXIST_TEXT1 ${LANG_RUSSIAN} "��� ������� ������� � ������� $DATA_DIR , ���� $TextPort_text . ���� ������� ����� ����������� ��� ������ ����������� �������." - LangString DATADIR_EXIST_ERROR1 ${LANG_ENGLISH} "An existing file with name $DATA_DIR has been found. Can not create directory with this name" - LangString DATADIR_EXIST_ERROR1 ${LANG_RUSSIAN} "��� ���������� � �� ������������ ����� ������������ ��� ���� ��������� �������" + LangString DATADIR_EXIST_ERROR1 ${LANG_ENGLISH} "An existing file with name $DATA_DIR has been found. Cannot create a directory with this name." + LangString DATADIR_EXIST_ERROR1 ${LANG_RUSSIAN} "������ ���� � ������ $DATA_DIR . ������� ������� � ���� ������ ����������." - LangString UNINSTALL_END ${LANG_ENGLISH} "Uninstallation has been ended.$\n$\nPerhaps you need to restart your computer as service '$ServiceID_text' exists.$\n$\nThe data directory has not been removed: " - LangString UNINSTALL_END ${LANG_RUSSIAN} "�������� PostgreSQL ������� ��������.$\n$\n��������, ��� ����� ����� ������������� ���������, ���� ������ '$ServiceID_text' ����������.$\n$\n���������� � ������� �� �������: " + LangString UNINSTALL_END ${LANG_ENGLISH} "${PRODUCT_NAME_SHORT} has been uninstalled.$\n$\nYou may need to restart your computer as service '$ServiceID_text' still exists.$\n$\nData directory has not been removed: " + LangString UNINSTALL_END ${LANG_RUSSIAN} "�������� ���������.$\n$\n��������, ��� ����������� ������������� ���������, ��� ��� ���������� ������ '$ServiceID_text'.$\n$\n������� � ������� �� �����: " - LangString MESS_PASS1 ${LANG_ENGLISH} "Passwords Do Not Match!" - LangString MESS_PASS1 ${LANG_RUSSIAN} "��������� ������ � �������������� �����������!" + LangString MESS_PASS1 ${LANG_ENGLISH} "Passwords do not match." + LangString MESS_PASS1 ${LANG_RUSSIAN} "��������� ������ � ������������� �����������." - LangString MESS_PASS2 ${LANG_ENGLISH} "You do not enter a password! Do you confirm the installation without a password?" - LangString MESS_PASS2 ${LANG_RUSSIAN} "�� �� ����� ������!$\n$\n������������� ��������� ��� ������?" + LangString MESS_PASS2 ${LANG_ENGLISH} "You have not entered the password. Do you want to continue without a password?" + LangString MESS_PASS2 ${LANG_RUSSIAN} "�� �� ����� ������.$\n$\n������������� ��������� ��� ������?" - LangString MESS_PASS3 ${LANG_ENGLISH} "You entered the password with non-Latin characters. Do you wish use that password?" + LangString MESS_PASS3 ${LANG_ENGLISH} "You have entered a password with non-Latin characters. Do you want to use this password?" LangString MESS_PASS3 ${LANG_RUSSIAN} "�� ������������ � ������ ����������� �������. ��� ����� ������� \ - �������� � ������ ������! ����������" + �������� � ������ ������. ����������?" + LangString MESS_UNSUPPORTED_WINDOWS ${LANG_ENGLISH} "Your Windows version is too old. At least Windows 2008 Server or Windows 7 SP1 is required to run this product." + LangString MESS_UNSUPPORTED_WINDOWS ${LANG_RUSSIAN} "���� ������ Windows �� ��������������. ��� ������� �������� ��������� Windows 2008 Server ��� Windows 7 SP1 � ����." LangString DLG_PORT ${LANG_ENGLISH} "Port:" LangString DLG_PORT ${LANG_RUSSIAN} "����:" @@ -67,14 +69,14 @@ LangString PostgreSQLString ${LANG_RUSSIAN} "PostgreSQL LangString DLG_ADR1 ${LANG_ENGLISH} "Addresses:" LangString DLG_ADR1 ${LANG_RUSSIAN} "������:" - LangString DLG_ADR2 ${LANG_ENGLISH} "Allow connections from any IP address:" - LangString DLG_ADR2 ${LANG_RUSSIAN} "������������ ������������� � ����� IP �������:" + LangString DLG_ADR2 ${LANG_ENGLISH} "Allow connections from any IP address" + LangString DLG_ADR2 ${LANG_RUSSIAN} "��������� ����������� � ����� IP-�������" LangString DLG_LOCALE ${LANG_ENGLISH} "Locale:" LangString DLG_LOCALE ${LANG_RUSSIAN} "������:" - LangString DLG_SUPERUSER ${LANG_ENGLISH} "Super user:" - LangString DLG_SUPERUSER ${LANG_RUSSIAN} "����� ������������:" + LangString DLG_SUPERUSER ${LANG_ENGLISH} "Superuser:" + LangString DLG_SUPERUSER ${LANG_RUSSIAN} "�����������������:" LangString DLG_PASS1 ${LANG_ENGLISH} "Password:" LangString DLG_PASS1 ${LANG_RUSSIAN} "������:" @@ -82,12 +84,12 @@ LangString PostgreSQLString ${LANG_RUSSIAN} "PostgreSQL LangString DLG_PASS2 ${LANG_ENGLISH} "Confirm:" LangString DLG_PASS2 ${LANG_RUSSIAN} "�������������:" - LangString DLG_OPT1 ${LANG_ENGLISH} "It is possible to optimize server performance based on the amount of memory installed $AllMem Mb. \ -The server will allocate more memory. \ -The parameters are written to the file $DATA_DIR\postgresql.conf" + LangString DLG_OPT1 ${LANG_ENGLISH} "Server performance can be optimized based on the amount of memory installed: $AllMem MB. \ +This setting allocates more memory to the server. \ +Configuration parameters are written to the $DATA_DIR\postgresql.conf file." - LangString DLG_OPT1 ${LANG_RUSSIAN} "����� �������� ����������� ������������������ ������� ������ �� ������ ������������� ������ $AllMem Mb. \ -C������ ����� �������� ������ ����������� ������. \ + LangString DLG_OPT1 ${LANG_RUSSIAN} "����� �������� ����������� ������������������ �������, ������ �� ������ ������������� ������ $AllMem ��. \ +������� ����� �������� ������ ����������� ������. \ ��������� ����� �������� � ���� $DATA_DIR\postgresql.conf" LangString DLG_ENVVAR ${LANG_ENGLISH} "Set up environment variables" @@ -95,7 +97,7 @@ C - LangString DLG_OPT2 ${LANG_ENGLISH} "Make optimizations" + LangString DLG_OPT2 ${LANG_ENGLISH} "Tune configuration parameters" LangString DLG_OPT2 ${LANG_RUSSIAN} "�������� ����������� ����������" LangString DLG_OPT3 ${LANG_ENGLISH} "Use default settings" @@ -106,8 +108,64 @@ C - LangString MESS_STOP_SERVER ${LANG_ENGLISH} "Previous installation was found.$\n$\nIn order to upgrade the service needs to restart!$\n$\nContinue?" - LangString MESS_STOP_SERVER ${LANG_RUSSIAN} "���������� ���������� �����������.$\n$\n��� ����, ����� ����������, ����������� ������������� ������.$\n$\n����������?" + LangString MESS_STOP_SERVER ${LANG_ENGLISH} "Previous installation was found.$\n$\nTo complete the upgrade, the service needs to restart.$\n$\nDo you want to continue?" + LangString MESS_STOP_SERVER ${LANG_RUSSIAN} "���������� ���������� �����������.$\n$\n��� ���������� ��������� ���������� ������.$\n$\n����������?" - LangString MESS_ERROR_SERVER ${LANG_ENGLISH} "An error occurred while initializing the server! Perhaps Server service failed to start." - LangString MESS_ERROR_SERVER ${LANG_RUSSIAN} "�������� ������ ��� ������������� �������! �������� ������ ������� �� ������ �����������." + LangString MESS_ERROR_SERVER ${LANG_ENGLISH} "An error occurred while initializing the server. Server service may have failed to start." + LangString MESS_ERROR_SERVER ${LANG_RUSSIAN} "��� ������������� ������� ��������� ������. ��������, ������ ������� �� ������ �����������." + + LangString MESS_ERROR_INITDB ${LANG_ENGLISH} "An error occurred while initializing the database." + LangString MESS_ERROR_INITDB ${LANG_RUSSIAN} "��� ������������� ���� ������ ��������� ������." + + LangString MESS_ERROR_INITDB2 ${LANG_ENGLISH} "An error occurred while initializing the database. Make sure that Microsoft Visual C++ Redistributable is installed." + LangString MESS_ERROR_INITDB2 ${LANG_RUSSIAN} "��� ������������� ���� ������ ��������� ������. ���������, ��� ���������� ����� Microsoft Visual C ++ Redistributable." + + +LangString componentServer ${LANG_ENGLISH} "Server components" +LangString componentServer ${LANG_RUSSIAN} "���������� �������" + + +LangString componentClient ${LANG_ENGLISH} "Client components" +LangString componentClient ${LANG_RUSSIAN} "���������� �������" + +LangString componentDeveloper ${LANG_ENGLISH} "Developer components" +LangString componentDeveloper ${LANG_RUSSIAN} "���������� ������������" + +LangString DESC_componentClient ${LANG_ENGLISH} "Install ${PRODUCT_NAME_SHORT} client components and documentation" +LangString DESC_componentClient ${LANG_RUSSIAN} "��������� ������ ������� ${PRODUCT_NAME_SHORT} � ������������." + +LangString DESC_componentDeveloper ${LANG_ENGLISH} "Install ${PRODUCT_NAME_SHORT} developer components" +LangString DESC_componentDeveloper ${LANG_RUSSIAN} "��������� ������ ${PRODUCT_NAME_SHORT} ��� ������������." + + +LangString DLG_data-checksums ${LANG_ENGLISH} "Enable data checksums" +LangString DLG_data-checksums ${LANG_RUSSIAN} "�������� ����������� ����� ��� �������" + + +LangString DEF_COLATE_NAME ${LANG_ENGLISH} "icu" +LangString DEF_COLATE_NAME ${LANG_RUSSIAN} "icu" + +LangString MORE_WINUSER ${LANG_ENGLISH} "Windows user name:" +LangString MORE_WINUSER ${LANG_RUSSIAN} "������������ Windows:" + + +LangString MORE_WINPASS ${LANG_ENGLISH} "Windows user password:" +LangString MORE_WINPASS ${LANG_RUSSIAN} "������ ������������ Windows:" + +LangString MORE_SERVICE_TITLE ${LANG_ENGLISH} "System service settings" +LangString MORE_SERVICE_TITLE ${LANG_RUSSIAN} "��������� ��������� ������" + +LangString MORE_SERVICE_NAME ${LANG_ENGLISH} "System service name:" +LangString MORE_SERVICE_NAME ${LANG_RUSSIAN} "��� ��������� ������:" + +LangString MORE_COLATION ${LANG_ENGLISH} "Collation provider:" +LangString MORE_COLATION ${LANG_RUSSIAN} "��������� ������ ����������:" + +LangString MORE_SHOW_MORE ${LANG_ENGLISH} "Show advanced options..." +LangString MORE_SHOW_MORE ${LANG_RUSSIAN} "�������� �������������� ��������� ..." + +LangString MORE_ICU_HELP ${LANG_ENGLISH} "Postgres Pro uses icu collation by default. If you are upgrading from vanilla PostgreSQL, choose libc." +LangString MORE_ICU_HELP ${LANG_RUSSIAN} "Postgres Pro �� ��������� ���������� ������� ���������� icu. ��� �������� � ��������� ������ PostgreSQL, �������� libc." + +LangString MORE_USER_HELP ${LANG_ENGLISH} "Specify a Windows user that will start ${PRODUCT_NAME_SHORT} service." +LangString MORE_USER_HELP ${LANG_RUSSIAN} "������� ������������ Windows, ������� �������� ������ ${PRODUCT_NAME_SHORT}." diff --git a/nsis/unneeded.files b/nsis/unneeded.files new file mode 100644 index 0000000..21a6a89 --- /dev/null +++ b/nsis/unneeded.files @@ -0,0 +1,7 @@ +./bin/pg_regress*.exe +./bin/pg_isolation_regress.exe +./bin/isolationtester.exe +./doc/contrib/README* +./doc/extension/README* +./share/locale/*/LC_MESSAGES/pltcl-*.mo +./bin/corrupt_icu_version.exe diff --git a/patches/gettext/gettext-0.19.4-msvc2013.patch b/patches/gettext/gettext-0.19.8-MSVC2013.patch similarity index 99% rename from patches/gettext/gettext-0.19.4-msvc2013.patch rename to patches/gettext/gettext-0.19.8-MSVC2013.patch index 78d6924..409070c 100644 --- a/patches/gettext/gettext-0.19.4-msvc2013.patch +++ b/patches/gettext/gettext-0.19.8-MSVC2013.patch @@ -1679,18 +1679,6 @@ diff -ruN ./config.h ../gettext-0.19.4/config.h +#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch +#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. + -diff -ruN ./gettext-runtime/intl/loadmsgcat.c ../gettext-0.19.4/gettext-runtime/intl/loadmsgcat.c ---- ./gettext-runtime/intl/loadmsgcat.c 2014-12-09 11:43:44.000000000 +0300 -+++ ../gettext-0.19.4/gettext-runtime/intl/loadmsgcat.c 2015-10-06 17:10:26.771737719 +0300 -@@ -785,7 +785,7 @@ - _nl_load_domain (struct loaded_l10nfile *domain_file, - struct binding *domainbinding) - { -- __libc_lock_define_initialized_recursive (static, lock); -+ __libc_lock_define_initialized_recursive (static, lock) - int fd = -1; - size_t size; - #ifdef _LIBC diff -ruN ./libgnuintl.h ../gettext-0.19.4/libgnuintl.h --- ./libgnuintl.h 1970-01-01 03:00:00.000000000 +0300 +++ ../gettext-0.19.4/libgnuintl.h 2015-10-06 17:37:53.971759143 +0300 @@ -2725,7 +2713,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + Disabled -+ .;.\gettext-runtime;c:\pg\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) + BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks @@ -2737,7 +2725,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + libiconv.lib;%(AdditionalDependencies) -+ c:\pg\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) + $(OutDir)libintl.dll + true + Windows @@ -2751,7 +2739,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + Full + AnySuitable -+ .;.\gettext-runtime;c:\pg\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) + BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDLL + @@ -2761,7 +2749,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + libiconv.lib;%(AdditionalDependencies) -+ c:\pg\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) + $(OutDir)libintl.dll + true + Windows @@ -2779,7 +2767,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + Disabled -+ .;.\gettext-runtime;c:\pg\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) + BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks @@ -2791,7 +2779,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + libiconv.lib;%(AdditionalDependencies) -+ c:\pg\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) + $(OutDir)libintl.dll + true + Windows @@ -2809,7 +2797,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + Full + AnySuitable -+ .;.\gettext-runtime;c:\pg\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) + BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDLL + @@ -2819,7 +2807,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + libiconv.lib;%(AdditionalDependencies) -+ c:\pg\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) + $(OutDir)libintl.dll + true + Windows diff --git a/patches/gettext/gettext-0.19.4-msvc2015.patch b/patches/gettext/gettext-0.19.8-MSVC2015.patch similarity index 99% rename from patches/gettext/gettext-0.19.4-msvc2015.patch rename to patches/gettext/gettext-0.19.8-MSVC2015.patch index 78d6924..409070c 100644 --- a/patches/gettext/gettext-0.19.4-msvc2015.patch +++ b/patches/gettext/gettext-0.19.8-MSVC2015.patch @@ -1679,18 +1679,6 @@ diff -ruN ./config.h ../gettext-0.19.4/config.h +#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch +#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. + -diff -ruN ./gettext-runtime/intl/loadmsgcat.c ../gettext-0.19.4/gettext-runtime/intl/loadmsgcat.c ---- ./gettext-runtime/intl/loadmsgcat.c 2014-12-09 11:43:44.000000000 +0300 -+++ ../gettext-0.19.4/gettext-runtime/intl/loadmsgcat.c 2015-10-06 17:10:26.771737719 +0300 -@@ -785,7 +785,7 @@ - _nl_load_domain (struct loaded_l10nfile *domain_file, - struct binding *domainbinding) - { -- __libc_lock_define_initialized_recursive (static, lock); -+ __libc_lock_define_initialized_recursive (static, lock) - int fd = -1; - size_t size; - #ifdef _LIBC diff -ruN ./libgnuintl.h ../gettext-0.19.4/libgnuintl.h --- ./libgnuintl.h 1970-01-01 03:00:00.000000000 +0300 +++ ../gettext-0.19.4/libgnuintl.h 2015-10-06 17:37:53.971759143 +0300 @@ -2725,7 +2713,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + Disabled -+ .;.\gettext-runtime;c:\pg\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) + BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks @@ -2737,7 +2725,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + libiconv.lib;%(AdditionalDependencies) -+ c:\pg\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) + $(OutDir)libintl.dll + true + Windows @@ -2751,7 +2739,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + Full + AnySuitable -+ .;.\gettext-runtime;c:\pg\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) + BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDLL + @@ -2761,7 +2749,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + libiconv.lib;%(AdditionalDependencies) -+ c:\pg\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) + $(OutDir)libintl.dll + true + Windows @@ -2779,7 +2767,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + Disabled -+ .;.\gettext-runtime;c:\pg\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) + BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks @@ -2791,7 +2779,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + libiconv.lib;%(AdditionalDependencies) -+ c:\pg\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) + $(OutDir)libintl.dll + true + Windows @@ -2809,7 +2797,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + Full + AnySuitable -+ .;.\gettext-runtime;c:\pg\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) + BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDLL + @@ -2819,7 +2807,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + libiconv.lib;%(AdditionalDependencies) -+ c:\pg\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) + $(OutDir)libintl.dll + true + Windows diff --git a/patches/gettext/gettext-0.19.4-sdk71.patch b/patches/gettext/gettext-0.19.8-MSVC2017.patch similarity index 99% rename from patches/gettext/gettext-0.19.4-sdk71.patch rename to patches/gettext/gettext-0.19.8-MSVC2017.patch index 78d6924..409070c 100644 --- a/patches/gettext/gettext-0.19.4-sdk71.patch +++ b/patches/gettext/gettext-0.19.8-MSVC2017.patch @@ -1679,18 +1679,6 @@ diff -ruN ./config.h ../gettext-0.19.4/config.h +#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch +#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. + -diff -ruN ./gettext-runtime/intl/loadmsgcat.c ../gettext-0.19.4/gettext-runtime/intl/loadmsgcat.c ---- ./gettext-runtime/intl/loadmsgcat.c 2014-12-09 11:43:44.000000000 +0300 -+++ ../gettext-0.19.4/gettext-runtime/intl/loadmsgcat.c 2015-10-06 17:10:26.771737719 +0300 -@@ -785,7 +785,7 @@ - _nl_load_domain (struct loaded_l10nfile *domain_file, - struct binding *domainbinding) - { -- __libc_lock_define_initialized_recursive (static, lock); -+ __libc_lock_define_initialized_recursive (static, lock) - int fd = -1; - size_t size; - #ifdef _LIBC diff -ruN ./libgnuintl.h ../gettext-0.19.4/libgnuintl.h --- ./libgnuintl.h 1970-01-01 03:00:00.000000000 +0300 +++ ../gettext-0.19.4/libgnuintl.h 2015-10-06 17:37:53.971759143 +0300 @@ -2725,7 +2713,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + Disabled -+ .;.\gettext-runtime;c:\pg\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) + BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks @@ -2737,7 +2725,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + libiconv.lib;%(AdditionalDependencies) -+ c:\pg\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) + $(OutDir)libintl.dll + true + Windows @@ -2751,7 +2739,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + Full + AnySuitable -+ .;.\gettext-runtime;c:\pg\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) + BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDLL + @@ -2761,7 +2749,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + libiconv.lib;%(AdditionalDependencies) -+ c:\pg\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) + $(OutDir)libintl.dll + true + Windows @@ -2779,7 +2767,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + Disabled -+ .;.\gettext-runtime;c:\pg\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) + BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks @@ -2791,7 +2779,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + libiconv.lib;%(AdditionalDependencies) -+ c:\pg\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) + $(OutDir)libintl.dll + true + Windows @@ -2809,7 +2797,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + Full + AnySuitable -+ .;.\gettext-runtime;c:\pg\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) + BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDLL + @@ -2819,7 +2807,7 @@ diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj + + + libiconv.lib;%(AdditionalDependencies) -+ c:\pg\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) + $(OutDir)libintl.dll + true + Windows diff --git a/patches/gettext/gettext-0.19.8-MSVC2019.patch b/patches/gettext/gettext-0.19.8-MSVC2019.patch new file mode 100644 index 0000000..409070c --- /dev/null +++ b/patches/gettext/gettext-0.19.8-MSVC2019.patch @@ -0,0 +1,2861 @@ +diff -ruN ./config.h ../gettext-0.19.4/config.h +--- ./config.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/config.h 2015-10-06 17:09:28.491737100 +0300 +@@ -0,0 +1,1677 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define if mono is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_MONO */ ++ ++/* Define if pnet is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_PNET */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Define to 1 if // is a file system root distinct from /. */ ++#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #define ENABLE_NLS 1 */ ++ ++/* Define to 1 if the package shall run at any location in the file system. */ ++/* #undef ENABLE_RELOCATABLE */ ++ ++/* Define to 1 if realpath() can malloc memory, always gives an absolute path, ++ and handles trailing slash correctly. */ ++/* #undef FUNC_REALPATH_WORKS */ ++ ++/* Define if gettimeofday clobbers the localtime buffer. */ ++/* #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME */ ++ ++/* Define this to 'void' or 'struct timezone' to match the system's ++ declaration of the second argument to gettimeofday. */ ++#define GETTIMEOFDAY_TIMEZONE void ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module canonicalize-lgpl shall be considered present. */ ++#define GNULIB_CANONICALIZE_LGPL 1 ++ ++#define GNULIB_defined_setlocale 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fscanf shall be considered present. */ ++#define GNULIB_FSCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fwriteerror shall be considered present. */ ++#define GNULIB_FWRITEERROR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module lock shall be considered present. */ ++#define GNULIB_LOCK 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module scanf shall be considered present. */ ++#define GNULIB_SCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module sigpipe shall be considered present. */ ++#define GNULIB_SIGPIPE 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module strerror shall be considered present. */ ++#define GNULIB_STRERROR 1 ++ ++/* Define to 1 when the gnulib module canonicalize_file_name should be tested. ++ */ ++#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 ++ ++/* Define to 1 when the gnulib module environ should be tested. */ ++#define GNULIB_TEST_ENVIRON 1 ++ ++/* Define to 1 when the gnulib module getopt-gnu should be tested. */ ++#define GNULIB_TEST_GETOPT_GNU 1 ++ ++/* Define to 1 when the gnulib module gettimeofday should be tested. */ ++#define GNULIB_TEST_GETTIMEOFDAY 1 ++ ++/* Define to 1 when the gnulib module iswblank should be tested. */ ++#define GNULIB_TEST_ISWBLANK 1 ++ ++/* Define to 1 when the gnulib module lstat should be tested. */ ++#define GNULIB_TEST_LSTAT 1 ++ ++/* Define to 1 when the gnulib module mbrtowc should be tested. */ ++#define GNULIB_TEST_MBRTOWC 1 ++ ++/* Define to 1 when the gnulib module mbsinit should be tested. */ ++#define GNULIB_TEST_MBSINIT 1 ++ ++/* Define to 1 when the gnulib module mbslen should be tested. */ ++#define GNULIB_TEST_MBSLEN 1 ++ ++/* Define to 1 when the gnulib module mbsstr should be tested. */ ++#define GNULIB_TEST_MBSSTR 1 ++ ++/* Define to 1 when the gnulib module memchr should be tested. */ ++#define GNULIB_TEST_MEMCHR 1 ++ ++/* Define to 1 when the gnulib module raise should be tested. */ ++#define GNULIB_TEST_RAISE 1 ++ ++/* Define to 1 when the gnulib module readlink should be tested. */ ++#define GNULIB_TEST_READLINK 1 ++ ++/* Define to 1 when the gnulib module realpath should be tested. */ ++#define GNULIB_TEST_REALPATH 1 ++ ++/* Define to 1 when the gnulib module setlocale should be tested. */ ++#define GNULIB_TEST_SETLOCALE 1 ++ ++/* Define to 1 when the gnulib module sigprocmask should be tested. */ ++#define GNULIB_TEST_SIGPROCMASK 1 ++ ++/* Define to 1 when the gnulib module stat should be tested. */ ++#define GNULIB_TEST_STAT 1 ++ ++/* Define to 1 when the gnulib module strerror should be tested. */ ++#define GNULIB_TEST_STRERROR 1 ++ ++/* Define to 1 when the gnulib module strnlen should be tested. */ ++#define GNULIB_TEST_STRNLEN 1 ++ ++/* Define to 1 when the gnulib module wcwidth should be tested. */ ++#define GNULIB_TEST_WCWIDTH 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module unistr/u8-mbtoucr shall be considered present. */ ++#define GNULIB_UNISTR_U8_MBTOUCR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module unistr/u8-uctomb shall be considered present. */ ++#define GNULIB_UNISTR_U8_UCTOMB 1 ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `argz_count' function. */ ++/* #undef HAVE_ARGZ_COUNT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_ARGZ_H */ ++ ++/* Define to 1 if you have the `argz_next' function. */ ++/* #undef HAVE_ARGZ_NEXT */ ++ ++/* Define to 1 if you have the `argz_stringify' function. */ ++/* #undef HAVE_ARGZ_STRINGIFY */ ++ ++/* Define to 1 if you have the `asprintf' function. */ ++/* #undef HAVE_ASPRINTF */ ++ ++/* Define to 1 if you have the `atexit' function. */ ++#define HAVE_ATEXIT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_BP_SYM_H */ ++ ++/* Define to 1 if the compiler understands __builtin_expect. */ ++/* #define HAVE_BUILTIN_EXPECT 1 */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_GETENV 1 ++ ++/* Define to 1 if you have the declaration of `iswblank', and to 0 if you ++ don't. */ ++#define HAVE_DECL_ISWBLANK 1 ++ ++/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_MBRTOWC */ ++ ++/* Define to 1 if you have the declaration of `mbsinit', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_MBSINIT */ ++ ++/* Define to 1 if you have the declaration of `program_invocation_name', and ++ to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_short_name', ++ and to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_SETENV 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the declaration of `strnlen', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRNLEN 0 ++ ++/* Define to 1 if you have the declaration of `towlower', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_TOWLOWER */ ++ ++/* Define to 1 if you have the declaration of `wcwidth', and to 0 if you ++ don't. */ ++#define HAVE_DECL_WCWIDTH 0 ++ ++/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNPRINTF 1 ++ ++/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNWPRINTF 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_FEATURES_H */ ++ ++/* Define to 1 if you have the `fwprintf' function. */ ++#define HAVE_FWPRINTF 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getegid' function. */ ++/* #undef HAVE_GETEGID */ ++ ++/* Define to 1 if you have the `geteuid' function. */ ++/* #undef HAVE_GETEUID */ ++ ++/* Define to 1 if you have the `getgid' function. */ ++/* #undef HAVE_GETGID */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_GETOPT_H */ ++ ++/* Define to 1 if you have the `getopt_long_only' function. */ ++/* #undef HAVE_GETOPT_LONG_ONLY */ ++ ++/* Define to 1 if you have the `getpagesize' function. */ ++#define HAVE_GETPAGESIZE 1 ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define to 1 if you have the `gettimeofday' function. */ ++#define HAVE_GETTIMEOFDAY 1 ++ ++/* Define to 1 if you have the `getuid' function. */ ++/* #undef HAVE_GETUID */ ++ ++/* Define if you have the iconv() function and it works. */ ++#define HAVE_ICONV 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_ICONV_H 1 ++ ++/* Define to 1 if the compiler supports one of the keywords 'inline', ++ '__inline__', '__inline' and effectively inlines functions marked as such. ++ */ ++#define HAVE_INLINE 1 ++ ++/* Define if you have the 'intmax_t' type in or . */ ++#define HAVE_INTMAX_T 1 ++ ++/* Define to 1 if you have the header file. */ ++#if _MSC_VER > 1600 ++#define HAVE_INTTYPES_H 1 ++#endif ++/* Define if exists, doesn't clash with , and ++ declares uintmax_t. */ ++#if _MSC_VER > 1600 ++#define HAVE_INTTYPES_H_WITH_UINTMAX 1 ++#endif ++ ++/* Define to 1 if you have the `iswblank' function. */ ++#define HAVE_ISWBLANK 1 ++ ++/* Define to 1 if you have the `iswcntrl' function. */ ++#define HAVE_ISWCNTRL 1 ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define if your file defines LC_MESSAGES. */ ++/* #undef HAVE_LC_MESSAGES */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if the system has the type 'long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++/* #undef HAVE_LSTAT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including ++ config.h and . */ ++/* #undef HAVE_MAP_ANONYMOUS */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++#define HAVE_MBRTOWC 1 ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++#define HAVE_MBSINIT 1 ++ ++/* Define to 1 if you have the `mbslen' function. */ ++/* #undef HAVE_MBSLEN */ ++ ++/* Define to 1 if declares mbstate_t. */ ++#define HAVE_MBSTATE_T 1 ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the `mempcpy' function. */ ++/* #undef HAVE_MEMPCPY */ ++ ++/* Define to 1 if you have a working `mmap' system call. */ ++/* #undef HAVE_MMAP */ ++ ++/* Define to 1 if you have the `mprotect' function. */ ++#define HAVE_MPROTECT 1 ++ ++/* Define to 1 on MSVC platforms that have the "invalid parameter handler" ++ concept. */ ++#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `munmap' function. */ ++/* #undef HAVE_MUNMAP */ ++ ++/* Define to 1 if you have the `newlocale' function. */ ++/* #undef HAVE_NEWLOCALE */ ++ ++/* Define if your printf() function supports format strings with positions. */ ++/* #undef HAVE_POSIX_PRINTF */ ++ ++/* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ ++/* #undef HAVE_PTHREAD_MUTEX_RECURSIVE */ ++ ++/* Define if the POSIX multithreading library has read/write locks. */ ++/* #undef HAVE_PTHREAD_RWLOCK */ ++ ++/* Define to 1 if you have the `putenv' function. */ ++#define HAVE_PUTENV 1 ++ ++/* Define to 1 if you have the `raise' function. */ ++#define HAVE_RAISE 1 ++ ++/* Define to 1 if atoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ATOLL 1 ++ ++/* Define to 1 if btowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_BTOWC 1 ++ ++/* Define to 1 if canonicalize_file_name is declared even after undefining ++ macros. */ ++/* #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if chdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_CHDIR 1 ++ ++/* Define to 1 if chown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_CHOWN */ ++ ++/* Define to 1 if dprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DPRINTF */ ++ ++/* Define to 1 if dup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP 1 ++ ++/* Define to 1 if dup2 is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP2 1 ++ ++/* Define to 1 if dup3 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUP3 */ ++ ++/* Define to 1 if duplocale is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUPLOCALE */ ++ ++/* Define to 1 if endusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENDUSERSHELL */ ++ ++/* Define to 1 if environ is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENVIRON */ ++ ++/* Define to 1 if euidaccess is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_EUIDACCESS */ ++ ++/* Define to 1 if faccessat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FACCESSAT */ ++ ++/* Define to 1 if fchdir is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHDIR */ ++ ++/* Define to 1 if fchmodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHMODAT */ ++ ++/* Define to 1 if fchownat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHOWNAT */ ++ ++/* Define to 1 if fdatasync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FDATASYNC */ ++ ++/* Define to 1 if ffsl is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FFSL */ ++ ++/* Define to 1 if ffsll is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FFSLL */ ++ ++/* Define to 1 if fpurge is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FPURGE */ ++ ++/* Define to 1 if fseeko is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSEEKO */ ++ ++/* Define to 1 if fstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTAT */ ++ ++/* Define to 1 if fstatat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTATAT */ ++ ++/* Define to 1 if fsync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSYNC */ ++ ++/* Define to 1 if ftello is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FTELLO */ ++ ++/* Define to 1 if ftruncate is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_FTRUNCATE 1 ++ ++/* Define to 1 if futimens is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FUTIMENS */ ++ ++/* Define to 1 if getcwd is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETCWD 1 ++ ++/* Define to 1 if getdelim is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDELIM */ ++ ++/* Define to 1 if getdomainname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDOMAINNAME */ ++ ++/* Define to 1 if getdtablesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDTABLESIZE */ ++ ++/* Define to 1 if getgroups is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETGROUPS */ ++ ++/* Define to 1 if gethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETHOSTNAME */ ++ ++/* Define to 1 if getline is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLINE */ ++ ++/* Define to 1 if getloadavg is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOADAVG */ ++ ++/* Define to 1 if getlogin is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN */ ++ ++/* Define to 1 if getlogin_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN_R */ ++ ++/* Define to 1 if getpagesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETPAGESIZE */ ++ ++/* Define to 1 if gets is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETS 1 ++ ++/* Define to 1 if getsubopt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETSUBOPT */ ++ ++/* Define to 1 if gettimeofday is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETTIMEOFDAY 1 ++ ++/* Define to 1 if getusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETUSERSHELL */ ++ ++/* Define to 1 if grantpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GRANTPT */ ++ ++/* Define to 1 if group_member is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GROUP_MEMBER */ ++ ++/* Define to 1 if initstate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTATE */ ++ ++/* Define to 1 if initstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTATE_R */ ++ ++/* Define to 1 if isatty is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ISATTY 1 ++ ++/* Define to 1 if iswctype is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ISWCTYPE 1 ++ ++/* Define to 1 if lchmod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHMOD */ ++ ++/* Define to 1 if lchown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHOWN */ ++ ++/* Define to 1 if link is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINK */ ++ ++/* Define to 1 if linkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINKAT */ ++ ++/* Define to 1 if lseek is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_LSEEK 1 ++ ++/* Define to 1 if lstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LSTAT */ ++ ++/* Define to 1 if mbrlen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRLEN 1 ++ ++/* Define to 1 if mbrtowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRTOWC 1 ++ ++/* Define to 1 if mbsinit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSINIT 1 ++ ++/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MBSNRTOWCS */ ++ ++/* Define to 1 if mbsrtowcs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSRTOWCS 1 ++ ++/* Define to 1 if memmem is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMMEM */ ++ ++/* Define to 1 if mempcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMPCPY */ ++ ++/* Define to 1 if memrchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMRCHR */ ++ ++/* Define to 1 if mkdirat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDIRAT */ ++ ++/* Define to 1 if mkdtemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDTEMP */ ++ ++/* Define to 1 if mkfifo is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFO */ ++ ++/* Define to 1 if mkfifoat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFOAT */ ++ ++/* Define to 1 if mknod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNOD */ ++ ++/* Define to 1 if mknodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNODAT */ ++ ++/* Define to 1 if mkostemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMP */ ++ ++/* Define to 1 if mkostemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMPS */ ++ ++/* Define to 1 if mkstemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMP */ ++ ++/* Define to 1 if mkstemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMPS */ ++ ++/* Define to 1 if pclose is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_PCLOSE 1 ++ ++/* Define to 1 if pipe is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE */ ++ ++/* Define to 1 if pipe2 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE2 */ ++ ++/* Define to 1 if popen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_POPEN 1 ++ ++/* Define to 1 if posix_openpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_POSIX_OPENPT */ ++ ++/* Define to 1 if pread is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PREAD */ ++ ++/* Define to 1 if pthread_sigmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTHREAD_SIGMASK */ ++ ++/* Define to 1 if ptsname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME */ ++ ++/* Define to 1 if ptsname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME_R */ ++ ++/* Define to 1 if pwrite is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PWRITE */ ++ ++/* Define to 1 if random is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM */ ++ ++/* Define to 1 if random_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM_R */ ++ ++/* Define to 1 if rawmemchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RAWMEMCHR */ ++ ++/* Define to 1 if readlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINK */ ++ ++/* Define to 1 if readlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINKAT */ ++ ++/* Define to 1 if realpath is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_REALPATH */ ++ ++/* Define to 1 if renameat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RENAMEAT */ ++ ++/* Define to 1 if rmdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_RMDIR 1 ++ ++/* Define to 1 if rpmatch is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RPMATCH */ ++ ++/* Define to 1 if secure_getenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SECURE_GETENV */ ++ ++/* Define to 1 if setenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETENV */ ++ ++/* Define to 1 if sethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETHOSTNAME */ ++ ++/* Define to 1 if setlocale is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SETLOCALE 1 ++ ++/* Define to 1 if setstate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE */ ++ ++/* Define to 1 if setstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE_R */ ++ ++/* Define to 1 if setusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETUSERSHELL */ ++ ++/* Define to 1 if sigaction is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGACTION */ ++ ++/* Define to 1 if sigaddset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGADDSET */ ++ ++/* Define to 1 if sigdelset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGDELSET */ ++ ++/* Define to 1 if sigemptyset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGEMPTYSET */ ++ ++/* Define to 1 if sigfillset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGFILLSET */ ++ ++/* Define to 1 if sigismember is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGISMEMBER */ ++ ++/* Define to 1 if sigpending is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPENDING */ ++ ++/* Define to 1 if sigprocmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPROCMASK */ ++ ++/* Define to 1 if sleep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SLEEP */ ++ ++/* Define to 1 if snprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SNPRINTF 1 ++ ++/* Define to 1 if srandom is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM */ ++ ++/* Define to 1 if srandom_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM_R */ ++ ++/* Define to 1 if stat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STAT */ ++ ++/* Define to 1 if stpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPCPY */ ++ ++/* Define to 1 if stpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPNCPY */ ++ ++/* Define to 1 if strcasestr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCASESTR */ ++ ++/* Define to 1 if strchrnul is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCHRNUL */ ++ ++/* Define to 1 if strdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRDUP 1 ++ ++/* Define to 1 if strerror_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRERROR_R */ ++ ++/* Define to 1 if strncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRNCAT 1 ++ ++/* Define to 1 if strndup is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNDUP */ ++ ++/* Define to 1 if strnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNLEN */ ++ ++/* Define to 1 if strpbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRPBRK 1 ++ ++/* Define to 1 if strsep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSEP */ ++ ++/* Define to 1 if strsignal is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSIGNAL */ ++ ++/* Define to 1 if strtod is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOD 1 ++ ++/* Define to 1 if strtok_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRTOK_R */ ++ ++/* Define to 1 if strtoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOLL 1 ++ ++/* Define to 1 if strtoull is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOULL 1 ++ ++/* Define to 1 if strverscmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRVERSCMP */ ++ ++/* Define to 1 if symlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINK */ ++ ++/* Define to 1 if symlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINKAT */ ++ ++/* Define to 1 if tmpfile is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TMPFILE 1 ++ ++/* Define to 1 if towctrans is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TOWCTRANS 1 ++ ++/* Define to 1 if ttyname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_TTYNAME_R */ ++ ++/* Define to 1 if unlink is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_UNLINK 1 ++ ++/* Define to 1 if unlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLINKAT */ ++ ++/* Define to 1 if unlockpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLOCKPT */ ++ ++/* Define to 1 if unsetenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNSETENV */ ++ ++/* Define to 1 if usleep is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_USLEEP 1 ++ ++/* Define to 1 if utimensat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UTIMENSAT */ ++ ++/* Define to 1 if vdprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_VDPRINTF */ ++ ++/* Define to 1 if vsnprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_VSNPRINTF 1 ++ ++/* Define to 1 if wcpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCPCPY */ ++ ++/* Define to 1 if wcpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCPNCPY */ ++ ++/* Define to 1 if wcrtomb is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCRTOMB 1 ++ ++/* Define to 1 if wcscasecmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSCASECMP */ ++ ++/* Define to 1 if wcscat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCAT 1 ++ ++/* Define to 1 if wcschr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCHR 1 ++ ++/* Define to 1 if wcscmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCMP 1 ++ ++/* Define to 1 if wcscoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCOLL 1 ++ ++/* Define to 1 if wcscpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCPY 1 ++ ++/* Define to 1 if wcscspn is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCSPN 1 ++ ++/* Define to 1 if wcsdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSDUP 1 ++ ++/* Define to 1 if wcslen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSLEN 1 ++ ++/* Define to 1 if wcsncasecmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNCASECMP */ ++ ++/* Define to 1 if wcsncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCAT 1 ++ ++/* Define to 1 if wcsncmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCMP 1 ++ ++/* Define to 1 if wcsncpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCPY 1 ++ ++/* Define to 1 if wcsnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNLEN */ ++ ++/* Define to 1 if wcsnrtombs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNRTOMBS */ ++ ++/* Define to 1 if wcspbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSPBRK 1 ++ ++/* Define to 1 if wcsrchr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRCHR 1 ++ ++/* Define to 1 if wcsrtombs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRTOMBS 1 ++ ++/* Define to 1 if wcsspn is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSSPN 1 ++ ++/* Define to 1 if wcsstr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSSTR 1 ++ ++/* Define to 1 if wcstok is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSTOK 1 ++ ++/* Define to 1 if wcswidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSWIDTH */ ++ ++/* Define to 1 if wcsxfrm is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSXFRM 1 ++ ++/* Define to 1 if wctob is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTOB 1 ++ ++/* Define to 1 if wctrans is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTRANS 1 ++ ++/* Define to 1 if wctype is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTYPE 1 ++ ++/* Define to 1 if wcwidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCWIDTH */ ++ ++/* Define to 1 if wmemchr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCHR 1 ++ ++/* Define to 1 if wmemcmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCMP 1 ++ ++/* Define to 1 if wmemcpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCPY 1 ++ ++/* Define to 1 if wmemmove is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMMOVE 1 ++ ++/* Define to 1 if wmemset is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMSET 1 ++ ++/* Define to 1 if _Exit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL__EXIT 1 ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the `readlinkat' function. */ ++/* #undef HAVE_READLINKAT */ ++ ++/* Define to 1 if you have the `realpath' function. */ ++/* #undef HAVE_REALPATH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if the system has the type `sigset_t'. */ ++#define HAVE_SIGSET_T 1 ++ ++/* Define to 1 if you have the `snprintf' function. */ ++#define HAVE_SNPRINTF 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDDEF_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define if exists, doesn't clash with , and declares ++ uintmax_t. */ ++#define HAVE_STDINT_H_WITH_UINTMAX 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `stpcpy' function. */ ++/* #undef HAVE_STPCPY */ ++ ++/* Define to 1 if you have the `strcasecmp' function. */ ++/* #undef HAVE_STRCASECMP */ ++ ++/* Define to 1 if you have the `strdup' function. */ ++#define HAVE_STRDUP 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the `strnlen' function. */ ++/* #undef HAVE_STRNLEN */ ++ ++/* Define to 1 if you have the `strtoul' function. */ ++#define HAVE_STRTOUL 1 ++ ++/* Define to 1 if you have the `symlink' function. */ ++/* #undef HAVE_SYMLINK */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_MMAN_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_PARAM_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_SOCKET_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_STAT_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TIMEB_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TIME_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TYPES_H 1 */ ++ ++/* Define to 1 if you have the `towlower' function. */ ++#define HAVE_TOWLOWER 1 ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define if you have the 'uintmax_t' type in or . */ ++#define HAVE_UINTMAX_T 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type 'unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `uselocale' function. */ ++/* #undef HAVE_USELOCALE */ ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++/* #undef HAVE_VISIBILITY */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++#define HAVE_WCRTOMB 1 ++ ++/* Define to 1 if you have the `wcslen' function. */ ++#define HAVE_WCSLEN 1 ++ ++/* Define to 1 if you have the `wcsnlen' function. */ ++/* #undef HAVE_WCSNLEN */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCTYPE_H 1 ++ ++/* Define to 1 if you have the `wcwidth' function. */ ++/* #undef HAVE_WCWIDTH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WINSOCK2_H 1 ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Define to 1 if O_NOATIME works. */ ++#define HAVE_WORKING_O_NOATIME 0 ++ ++/* Define to 1 if O_NOFOLLOW works. */ ++#define HAVE_WORKING_O_NOFOLLOW 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_XLOCALE_H */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++#define HAVE__BOOL 1 ++ ++/* Define to 1 if you have the `_ftime' function. */ ++#define HAVE__FTIME 1 ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ ++#define HAVE__SET_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `__fsetlocking' function. */ ++/* #undef HAVE___FSETLOCKING */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to a symbolic name denoting the flavor of iconv_open() ++ implementation. */ ++/* #undef ICONV_FLAVOR */ ++ ++/* Define to the value of ${prefix}, as a string. */ ++#define INSTALLPREFIX "/usr/local" ++ ++/* Define if integer division by zero raises signal SIGFPE. */ ++#define INTDIV0_RAISES_SIGFPE 1 ++ ++/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing ++ slash. */ ++/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ ++ ++/* Define to the sub-directory where libtool stores uninstalled libraries. */ ++#define LT_OBJDIR ".libs/" ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 1 ++ ++/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ ++/* #undef MAP_ANONYMOUS */ ++ ++/* Define if the mbrtowc function does not return (size_t) -2 for empty input. ++ */ ++/* #undef MBRTOWC_EMPTY_INPUT_BUG */ ++ ++/* Define if the mbrtowc function has the NULL pwc argument bug. */ ++/* #undef MBRTOWC_NULL_ARG1_BUG */ ++ ++/* Define if the mbrtowc function has the NULL string argument bug. */ ++/* #undef MBRTOWC_NULL_ARG2_BUG */ ++ ++/* Define if the mbrtowc function does not return 0 for a NUL character. */ ++/* #undef MBRTOWC_NUL_RETVAL_BUG */ ++ ++/* Define if the mbrtowc function returns a wrong return value. */ ++#define MBRTOWC_RETVAL_BUG 1 ++ ++/* Name of package */ ++#define PACKAGE "gettext-runtime" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "bug-gnu-gettext@gnu.org" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "gettext-runtime" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "gettext-runtime 0.19.4" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "gettext-runtime" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "0.19.4" ++ ++/* Define if exists and defines unusable PRI* macros. */ ++/* #undef PRI_MACROS_BROKEN */ ++ ++/* Define if the pthread_in_use() detection is hard. */ ++/* #undef PTHREAD_IN_USE_DETECTION_HARD */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++/* #undef PTRDIFF_T_SUFFIX */ ++ ++/* Define to 1 if readlink fails to recognize a trailing slash. */ ++/* #undef READLINK_TRAILING_SLASH_BUG */ ++ ++/* Define to 1 if stat needs help when passed a directory name with a trailing ++ slash */ ++#define REPLACE_FUNC_STAT_DIR 1 ++ ++/* Define to 1 if stat needs help when passed a file name with a trailing ++ slash */ ++/* #undef REPLACE_FUNC_STAT_FILE */ ++ ++/* Define to 1 if strerror(0) does not return a message implying success. */ ++/* #undef REPLACE_STRERROR_0 */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++/* #undef SIG_ATOMIC_T_SUFFIX */ ++ ++/* Define as the maximum value of type 'size_t', if the system doesn't define ++ it. */ ++#ifndef SIZE_MAX ++/* # undef SIZE_MAX */ ++#endif ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++/* #undef SIZE_T_SUFFIX */ ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Define to 1 if the `S_IS*' macros in do not work properly. */ ++/* #undef STAT_MACROS_BROKEN */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to the prefix of C symbols at the assembler and linker level, either ++ an underscore or empty. */ ++#define USER_LABEL_PREFIX _ ++ ++/* Define if the POSIX multithreading library can be used. */ ++/* #undef USE_POSIX_THREADS */ ++ ++/* Define if references to the POSIX multithreading library should be made ++ weak. */ ++/* #undef USE_POSIX_THREADS_WEAK */ ++ ++/* Define if the GNU Pth multithreading library can be used. */ ++/* #undef USE_PTH_THREADS */ ++ ++/* Define if references to the GNU Pth multithreading library should be made ++ weak. */ ++/* #undef USE_PTH_THREADS_WEAK */ ++ ++/* Define if the old Solaris multithreading library can be used. */ ++/* #undef USE_SOLARIS_THREADS */ ++ ++/* Define if references to the old Solaris multithreading library should be ++ made weak. */ ++/* #undef USE_SOLARIS_THREADS_WEAK */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable general extensions on OS X. */ ++#ifndef _DARWIN_C_SOURCE ++# define _DARWIN_C_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable X/Open extensions if necessary. HP-UX 11.11 defines ++ mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of ++ whether compiling with -Ae or -D_HPUX_SOURCE=1. */ ++#ifndef _XOPEN_SOURCE ++/* # undef _XOPEN_SOURCE */ ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# define __EXTENSIONS__ 1 ++#endif ++ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Define if the native Windows multithreading API can be used. */ ++#define USE_WINDOWS_THREADS 1 ++ ++/* Version number of package */ ++#define VERSION "0.19.4" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++/* #undef WCHAR_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++/* #undef WINT_T_SUFFIX */ ++ ++/* Define when --enable-shared is used on mingw or Cygwin. */ ++#define WOE32DLL 1 ++ ++/* Enable large inode numbers on Mac OS X 10.5. */ ++#define _DARWIN_USE_64_BIT_INODE 1 ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct ++ stat.st_size becomes 64-bit. */ ++#define _GL_WINDOWS_64_BIT_ST_SIZE 1 ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* Define to 1 on Solaris. */ ++/* #undef _LCONV_C99 */ ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ ++/* #undef _NETBSD_SOURCE */ ++ ++/* The _Noreturn keyword of C11. */ ++#if ! (defined _Noreturn \ ++ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) ++# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ ++ || 0x5110 <= __SUNPRO_C) ++# define _Noreturn __attribute__ ((__noreturn__)) ++# elif defined _MSC_VER && 1200 <= _MSC_VER ++# define _Noreturn __declspec (noreturn) ++# else ++# define _Noreturn ++# endif ++#endif ++ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for 'stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Define to rpl_ if the getopt replacement functions and variables should be ++ used. */ ++#define __GETOPT_PREFIX rpl_ ++ ++/* Please see the Gnulib manual for how to use these macros. ++ ++ Suppress extern inline with HP-UX cc, as it appears to be broken; see ++ . ++ ++ Suppress extern inline with Sun C in standards-conformance mode, as it ++ mishandles inline functions that call each other. E.g., for 'inline void f ++ (void) { } inline void g (void) { f (); }', c99 incorrectly complains ++ 'reference to static identifier "f" in extern inline function'. ++ This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. ++ ++ Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) ++ on configurations that mistakenly use 'static inline' to implement ++ functions or macros in standard C headers like . For example, ++ if isdigit is mistakenly implemented via a static inline function, ++ a program containing an extern inline function that calls isdigit ++ may not work since the C standard prohibits extern inline functions ++ from calling static functions. This bug is known to occur on: ++ ++ OS X 10.8 and earlier; see: ++ http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html ++ ++ DragonFly; see ++ http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log ++ ++ FreeBSD; see: ++ http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html ++ ++ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and ++ for clang but remains for g++; see . ++ Assume DragonFly and FreeBSD will be similar. */ ++#if (((defined __APPLE__ && defined __MACH__) \ ++ || defined __DragonFly__ || defined __FreeBSD__) \ ++ && (defined __header_inline \ ++ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ ++ && ! defined __clang__) \ ++ : ((! defined _DONT_USE_CTYPE_INLINE_ \ ++ && (defined __GNUC__ || defined __cplusplus)) \ ++ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ ++ && defined __GNUC__ && ! defined __cplusplus)))) ++# define _GL_EXTERN_INLINE_STDHEADER_BUG ++#endif ++#if ((__GNUC__ \ ++ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ ++ : (199901L <= __STDC_VERSION__ \ ++ && !defined __HP_cc \ ++ && !(defined __SUNPRO_C && __STDC__))) \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# define _GL_INLINE inline ++# define _GL_EXTERN_INLINE extern inline ++# define _GL_EXTERN_INLINE_IN_USE ++#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ ++ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ ++# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) ++# else ++# define _GL_INLINE extern inline ++# endif ++# define _GL_EXTERN_INLINE extern ++# define _GL_EXTERN_INLINE_IN_USE ++#else ++# define _GL_INLINE static _GL_UNUSED ++# define _GL_EXTERN_INLINE static _GL_UNUSED ++#endif ++ ++/* In GCC, suppress bogus "no previous prototype for 'FOO'" ++ and "no previous declaration for 'FOO'" diagnostics, ++ when FOO is an inline function in the header; see ++ and ++ . */ ++#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) ++# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ ++# define _GL_INLINE_HEADER_CONST_PRAGMA ++# else ++# define _GL_INLINE_HEADER_CONST_PRAGMA \ ++ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") ++# endif ++# define _GL_INLINE_HEADER_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ ++ _GL_INLINE_HEADER_CONST_PRAGMA ++# define _GL_INLINE_HEADER_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++# define _GL_INLINE_HEADER_BEGIN ++# define _GL_INLINE_HEADER_END ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define gid_t int ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#ifndef _GL_UNUSED ++# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++# else ++# define _GL_UNUSED ++# endif ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#ifndef _GL_ATTRIBUTE_PURE ++# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++# else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++# endif ++#endif ++ ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef __cplusplus ++#define inline __inline ++#endif ++ ++/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports ++ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of ++ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. ++ __APPLE__ && __MACH__ test for Mac OS X. ++ __APPLE_CC__ tests for the Apple compiler and its version. ++ __STDC_VERSION__ tests for the C99 mode. */ ++#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ ++# define __GNUC_STDC_INLINE__ 1 ++#endif ++ ++/* Define to a type if does not define. */ ++/* #undef mbstate_t */ ++ ++/* Define to `int' if does not define. */ ++/* #undef mode_t */ ++ ++/* Define to the type of st_nlink in struct stat, or a supertype. */ ++#define nlink_t int ++ ++/* Define to `int' if does not define. */ ++/* #undef pid_t */ ++ ++/* Define as the type of the result of subtracting two pointers, if the system ++ doesn't define it. */ ++/* #undef ptrdiff_t */ ++ ++/* Work around a bug in Sun C++: it does not support _Restrict or ++ __restrict__, even though the corresponding Sun C compiler ends up with ++ "#define restrict _Restrict" or "#define restrict __restrict__" in the ++ previous line. Perhaps some future version of Sun C++ will work with ++ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++# define __restrict__ ++#endif ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef size_t */ ++ ++/* Define as a signed type of the same size as size_t. */ ++/* #undef ssize_t */ ++ ++/* Define to `int' if doesn't define. */ ++#define uid_t int ++ ++/* Define to unsigned long or unsigned long long if and ++ don't define. */ ++/* #undef uintmax_t */ ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_UNUSED ++#endif ++/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name ++ is a misnomer outside of parameter lists. */ ++#define _UNUSED_PARAMETER_ _GL_UNUSED ++ ++/* gcc supports the "unused" attribute on possibly unused labels, and ++ g++ has since version 4.5. Note to support C++ as well as C, ++ _GL_UNUSED_LABEL should be used with a trailing ; */ ++#if !defined __cplusplus || __GNUC__ > 4 \ ++ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) ++# define _GL_UNUSED_LABEL _GL_UNUSED ++#else ++# define _GL_UNUSED_LABEL ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++#else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++#endif ++ ++/* The __const__ attribute was added in gcc 2.95. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) ++# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) ++#else ++# define _GL_ATTRIBUTE_CONST /* empty */ ++#endif ++ ++ ++ ++#define __libc_lock_t gl_lock_t ++#define __libc_lock_define gl_lock_define ++#define __libc_lock_define_initialized gl_lock_define_initialized ++#define __libc_lock_init gl_lock_init ++#define __libc_lock_lock gl_lock_lock ++#define __libc_lock_unlock gl_lock_unlock ++#define __libc_lock_recursive_t gl_recursive_lock_t ++#define __libc_lock_define_recursive gl_recursive_lock_define ++#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized ++#define __libc_lock_init_recursive gl_recursive_lock_init ++#define __libc_lock_lock_recursive gl_recursive_lock_lock ++#define __libc_lock_unlock_recursive gl_recursive_lock_unlock ++#define glthread_in_use libintl_thread_in_use ++#define glthread_lock_init_func libintl_lock_init_func ++#define glthread_lock_lock_func libintl_lock_lock_func ++#define glthread_lock_unlock_func libintl_lock_unlock_func ++#define glthread_lock_destroy_func libintl_lock_destroy_func ++#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded ++#define glthread_rwlock_init_func libintl_rwlock_init_func ++#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded ++#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func ++#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded ++#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func ++#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded ++#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func ++#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded ++#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func ++#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded ++#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func ++#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded ++#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func ++#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded ++#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func ++#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded ++#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func ++#define glthread_once_func libintl_once_func ++#define glthread_once_singlethreaded libintl_once_singlethreaded ++#define glthread_once_multithreaded libintl_once_multithreaded ++ ++ ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#if (defined _MSC_VER && defined _DLL) && !defined IN_RELOCWRAPPER ++# define DLL_VARIABLE __declspec (dllimport) ++#else ++# define DLL_VARIABLE ++#endif ++ ++/* Extra OS/2 (emx+gcc) defines. */ ++#ifdef __EMX__ ++# include "intl/os2compat.h" ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++#define LOCALEDIR "" ++#define LOCALE_ALIAS_PATH "" ++ ++#include ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ +diff -ruN ./libgnuintl.h ../gettext-0.19.4/libgnuintl.h +--- ./libgnuintl.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libgnuintl.h 2015-10-06 17:37:53.971759143 +0300 +@@ -0,0 +1,474 @@ ++/* libgnuintl.h. Generated from libgnuintl.h.in. */ ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include ++#if (defined __APPLE__ && defined __MACH__) && 0 ++# include ++#endif ++ ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001304 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to 'gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to 'dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to 'dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++#ifndef IN_LIBGLOCALE ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++#endif /* IN_LIBGLOCALE */ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !0 ++ ++#include ++#include ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include ++#else ++# include ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 1 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 1 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#ifndef GNULIB_defined_setlocale /* don't override gnulib */ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++#endif ++ ++#if 0 ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +diff -ruN ./libintl.h ../gettext-0.19.4/libintl.h +--- ./libintl.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libintl.h 2015-10-06 17:29:18.471752070 +0300 +@@ -0,0 +1,474 @@ ++/* libgnuintl.h. Generated from libgnuintl.h.in. */ ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include ++#if (defined __APPLE__ && defined __MACH__) && 0 ++# include ++#endif ++ ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001304 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to 'gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to 'dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to 'dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++#ifndef IN_LIBGLOCALE ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++#endif /* IN_LIBGLOCALE */ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !0 ++ ++#include ++#include ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include ++#else ++# include ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 1 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 1 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#ifndef GNULIB_defined_setlocale /* don't override gnulib */ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++#endif ++ ++#if 0 ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj +--- ./libintl.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libintl.vcxproj 2015-10-06 17:29:41.251752381 +0300 +@@ -0,0 +1,220 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {9E3973B5-12BD-4E6F-A30A-D41D8E657A4D} ++ libintl ++ Win32Proj ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libintl\ ++ ++ ++ ++ Disabled ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libintl.pdb ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --git a/patches/gettext/gettext-0.19.8-SDK71.patch b/patches/gettext/gettext-0.19.8-SDK71.patch new file mode 100644 index 0000000..409070c --- /dev/null +++ b/patches/gettext/gettext-0.19.8-SDK71.patch @@ -0,0 +1,2861 @@ +diff -ruN ./config.h ../gettext-0.19.4/config.h +--- ./config.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/config.h 2015-10-06 17:09:28.491737100 +0300 +@@ -0,0 +1,1677 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define if mono is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_MONO */ ++ ++/* Define if pnet is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_PNET */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Define to 1 if // is a file system root distinct from /. */ ++#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #define ENABLE_NLS 1 */ ++ ++/* Define to 1 if the package shall run at any location in the file system. */ ++/* #undef ENABLE_RELOCATABLE */ ++ ++/* Define to 1 if realpath() can malloc memory, always gives an absolute path, ++ and handles trailing slash correctly. */ ++/* #undef FUNC_REALPATH_WORKS */ ++ ++/* Define if gettimeofday clobbers the localtime buffer. */ ++/* #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME */ ++ ++/* Define this to 'void' or 'struct timezone' to match the system's ++ declaration of the second argument to gettimeofday. */ ++#define GETTIMEOFDAY_TIMEZONE void ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module canonicalize-lgpl shall be considered present. */ ++#define GNULIB_CANONICALIZE_LGPL 1 ++ ++#define GNULIB_defined_setlocale 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fscanf shall be considered present. */ ++#define GNULIB_FSCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fwriteerror shall be considered present. */ ++#define GNULIB_FWRITEERROR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module lock shall be considered present. */ ++#define GNULIB_LOCK 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module scanf shall be considered present. */ ++#define GNULIB_SCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module sigpipe shall be considered present. */ ++#define GNULIB_SIGPIPE 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module strerror shall be considered present. */ ++#define GNULIB_STRERROR 1 ++ ++/* Define to 1 when the gnulib module canonicalize_file_name should be tested. ++ */ ++#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 ++ ++/* Define to 1 when the gnulib module environ should be tested. */ ++#define GNULIB_TEST_ENVIRON 1 ++ ++/* Define to 1 when the gnulib module getopt-gnu should be tested. */ ++#define GNULIB_TEST_GETOPT_GNU 1 ++ ++/* Define to 1 when the gnulib module gettimeofday should be tested. */ ++#define GNULIB_TEST_GETTIMEOFDAY 1 ++ ++/* Define to 1 when the gnulib module iswblank should be tested. */ ++#define GNULIB_TEST_ISWBLANK 1 ++ ++/* Define to 1 when the gnulib module lstat should be tested. */ ++#define GNULIB_TEST_LSTAT 1 ++ ++/* Define to 1 when the gnulib module mbrtowc should be tested. */ ++#define GNULIB_TEST_MBRTOWC 1 ++ ++/* Define to 1 when the gnulib module mbsinit should be tested. */ ++#define GNULIB_TEST_MBSINIT 1 ++ ++/* Define to 1 when the gnulib module mbslen should be tested. */ ++#define GNULIB_TEST_MBSLEN 1 ++ ++/* Define to 1 when the gnulib module mbsstr should be tested. */ ++#define GNULIB_TEST_MBSSTR 1 ++ ++/* Define to 1 when the gnulib module memchr should be tested. */ ++#define GNULIB_TEST_MEMCHR 1 ++ ++/* Define to 1 when the gnulib module raise should be tested. */ ++#define GNULIB_TEST_RAISE 1 ++ ++/* Define to 1 when the gnulib module readlink should be tested. */ ++#define GNULIB_TEST_READLINK 1 ++ ++/* Define to 1 when the gnulib module realpath should be tested. */ ++#define GNULIB_TEST_REALPATH 1 ++ ++/* Define to 1 when the gnulib module setlocale should be tested. */ ++#define GNULIB_TEST_SETLOCALE 1 ++ ++/* Define to 1 when the gnulib module sigprocmask should be tested. */ ++#define GNULIB_TEST_SIGPROCMASK 1 ++ ++/* Define to 1 when the gnulib module stat should be tested. */ ++#define GNULIB_TEST_STAT 1 ++ ++/* Define to 1 when the gnulib module strerror should be tested. */ ++#define GNULIB_TEST_STRERROR 1 ++ ++/* Define to 1 when the gnulib module strnlen should be tested. */ ++#define GNULIB_TEST_STRNLEN 1 ++ ++/* Define to 1 when the gnulib module wcwidth should be tested. */ ++#define GNULIB_TEST_WCWIDTH 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module unistr/u8-mbtoucr shall be considered present. */ ++#define GNULIB_UNISTR_U8_MBTOUCR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module unistr/u8-uctomb shall be considered present. */ ++#define GNULIB_UNISTR_U8_UCTOMB 1 ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `argz_count' function. */ ++/* #undef HAVE_ARGZ_COUNT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_ARGZ_H */ ++ ++/* Define to 1 if you have the `argz_next' function. */ ++/* #undef HAVE_ARGZ_NEXT */ ++ ++/* Define to 1 if you have the `argz_stringify' function. */ ++/* #undef HAVE_ARGZ_STRINGIFY */ ++ ++/* Define to 1 if you have the `asprintf' function. */ ++/* #undef HAVE_ASPRINTF */ ++ ++/* Define to 1 if you have the `atexit' function. */ ++#define HAVE_ATEXIT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_BP_SYM_H */ ++ ++/* Define to 1 if the compiler understands __builtin_expect. */ ++/* #define HAVE_BUILTIN_EXPECT 1 */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_GETENV 1 ++ ++/* Define to 1 if you have the declaration of `iswblank', and to 0 if you ++ don't. */ ++#define HAVE_DECL_ISWBLANK 1 ++ ++/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_MBRTOWC */ ++ ++/* Define to 1 if you have the declaration of `mbsinit', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_MBSINIT */ ++ ++/* Define to 1 if you have the declaration of `program_invocation_name', and ++ to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_short_name', ++ and to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_SETENV 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the declaration of `strnlen', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRNLEN 0 ++ ++/* Define to 1 if you have the declaration of `towlower', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_TOWLOWER */ ++ ++/* Define to 1 if you have the declaration of `wcwidth', and to 0 if you ++ don't. */ ++#define HAVE_DECL_WCWIDTH 0 ++ ++/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNPRINTF 1 ++ ++/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNWPRINTF 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_FEATURES_H */ ++ ++/* Define to 1 if you have the `fwprintf' function. */ ++#define HAVE_FWPRINTF 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getegid' function. */ ++/* #undef HAVE_GETEGID */ ++ ++/* Define to 1 if you have the `geteuid' function. */ ++/* #undef HAVE_GETEUID */ ++ ++/* Define to 1 if you have the `getgid' function. */ ++/* #undef HAVE_GETGID */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_GETOPT_H */ ++ ++/* Define to 1 if you have the `getopt_long_only' function. */ ++/* #undef HAVE_GETOPT_LONG_ONLY */ ++ ++/* Define to 1 if you have the `getpagesize' function. */ ++#define HAVE_GETPAGESIZE 1 ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define to 1 if you have the `gettimeofday' function. */ ++#define HAVE_GETTIMEOFDAY 1 ++ ++/* Define to 1 if you have the `getuid' function. */ ++/* #undef HAVE_GETUID */ ++ ++/* Define if you have the iconv() function and it works. */ ++#define HAVE_ICONV 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_ICONV_H 1 ++ ++/* Define to 1 if the compiler supports one of the keywords 'inline', ++ '__inline__', '__inline' and effectively inlines functions marked as such. ++ */ ++#define HAVE_INLINE 1 ++ ++/* Define if you have the 'intmax_t' type in or . */ ++#define HAVE_INTMAX_T 1 ++ ++/* Define to 1 if you have the header file. */ ++#if _MSC_VER > 1600 ++#define HAVE_INTTYPES_H 1 ++#endif ++/* Define if exists, doesn't clash with , and ++ declares uintmax_t. */ ++#if _MSC_VER > 1600 ++#define HAVE_INTTYPES_H_WITH_UINTMAX 1 ++#endif ++ ++/* Define to 1 if you have the `iswblank' function. */ ++#define HAVE_ISWBLANK 1 ++ ++/* Define to 1 if you have the `iswcntrl' function. */ ++#define HAVE_ISWCNTRL 1 ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define if your file defines LC_MESSAGES. */ ++/* #undef HAVE_LC_MESSAGES */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if the system has the type 'long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++/* #undef HAVE_LSTAT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including ++ config.h and . */ ++/* #undef HAVE_MAP_ANONYMOUS */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++#define HAVE_MBRTOWC 1 ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++#define HAVE_MBSINIT 1 ++ ++/* Define to 1 if you have the `mbslen' function. */ ++/* #undef HAVE_MBSLEN */ ++ ++/* Define to 1 if declares mbstate_t. */ ++#define HAVE_MBSTATE_T 1 ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the `mempcpy' function. */ ++/* #undef HAVE_MEMPCPY */ ++ ++/* Define to 1 if you have a working `mmap' system call. */ ++/* #undef HAVE_MMAP */ ++ ++/* Define to 1 if you have the `mprotect' function. */ ++#define HAVE_MPROTECT 1 ++ ++/* Define to 1 on MSVC platforms that have the "invalid parameter handler" ++ concept. */ ++#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `munmap' function. */ ++/* #undef HAVE_MUNMAP */ ++ ++/* Define to 1 if you have the `newlocale' function. */ ++/* #undef HAVE_NEWLOCALE */ ++ ++/* Define if your printf() function supports format strings with positions. */ ++/* #undef HAVE_POSIX_PRINTF */ ++ ++/* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ ++/* #undef HAVE_PTHREAD_MUTEX_RECURSIVE */ ++ ++/* Define if the POSIX multithreading library has read/write locks. */ ++/* #undef HAVE_PTHREAD_RWLOCK */ ++ ++/* Define to 1 if you have the `putenv' function. */ ++#define HAVE_PUTENV 1 ++ ++/* Define to 1 if you have the `raise' function. */ ++#define HAVE_RAISE 1 ++ ++/* Define to 1 if atoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ATOLL 1 ++ ++/* Define to 1 if btowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_BTOWC 1 ++ ++/* Define to 1 if canonicalize_file_name is declared even after undefining ++ macros. */ ++/* #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if chdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_CHDIR 1 ++ ++/* Define to 1 if chown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_CHOWN */ ++ ++/* Define to 1 if dprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DPRINTF */ ++ ++/* Define to 1 if dup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP 1 ++ ++/* Define to 1 if dup2 is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP2 1 ++ ++/* Define to 1 if dup3 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUP3 */ ++ ++/* Define to 1 if duplocale is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUPLOCALE */ ++ ++/* Define to 1 if endusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENDUSERSHELL */ ++ ++/* Define to 1 if environ is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENVIRON */ ++ ++/* Define to 1 if euidaccess is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_EUIDACCESS */ ++ ++/* Define to 1 if faccessat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FACCESSAT */ ++ ++/* Define to 1 if fchdir is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHDIR */ ++ ++/* Define to 1 if fchmodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHMODAT */ ++ ++/* Define to 1 if fchownat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHOWNAT */ ++ ++/* Define to 1 if fdatasync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FDATASYNC */ ++ ++/* Define to 1 if ffsl is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FFSL */ ++ ++/* Define to 1 if ffsll is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FFSLL */ ++ ++/* Define to 1 if fpurge is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FPURGE */ ++ ++/* Define to 1 if fseeko is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSEEKO */ ++ ++/* Define to 1 if fstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTAT */ ++ ++/* Define to 1 if fstatat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTATAT */ ++ ++/* Define to 1 if fsync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSYNC */ ++ ++/* Define to 1 if ftello is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FTELLO */ ++ ++/* Define to 1 if ftruncate is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_FTRUNCATE 1 ++ ++/* Define to 1 if futimens is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FUTIMENS */ ++ ++/* Define to 1 if getcwd is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETCWD 1 ++ ++/* Define to 1 if getdelim is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDELIM */ ++ ++/* Define to 1 if getdomainname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDOMAINNAME */ ++ ++/* Define to 1 if getdtablesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDTABLESIZE */ ++ ++/* Define to 1 if getgroups is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETGROUPS */ ++ ++/* Define to 1 if gethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETHOSTNAME */ ++ ++/* Define to 1 if getline is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLINE */ ++ ++/* Define to 1 if getloadavg is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOADAVG */ ++ ++/* Define to 1 if getlogin is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN */ ++ ++/* Define to 1 if getlogin_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN_R */ ++ ++/* Define to 1 if getpagesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETPAGESIZE */ ++ ++/* Define to 1 if gets is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETS 1 ++ ++/* Define to 1 if getsubopt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETSUBOPT */ ++ ++/* Define to 1 if gettimeofday is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETTIMEOFDAY 1 ++ ++/* Define to 1 if getusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETUSERSHELL */ ++ ++/* Define to 1 if grantpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GRANTPT */ ++ ++/* Define to 1 if group_member is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GROUP_MEMBER */ ++ ++/* Define to 1 if initstate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTATE */ ++ ++/* Define to 1 if initstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTATE_R */ ++ ++/* Define to 1 if isatty is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ISATTY 1 ++ ++/* Define to 1 if iswctype is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ISWCTYPE 1 ++ ++/* Define to 1 if lchmod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHMOD */ ++ ++/* Define to 1 if lchown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHOWN */ ++ ++/* Define to 1 if link is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINK */ ++ ++/* Define to 1 if linkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINKAT */ ++ ++/* Define to 1 if lseek is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_LSEEK 1 ++ ++/* Define to 1 if lstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LSTAT */ ++ ++/* Define to 1 if mbrlen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRLEN 1 ++ ++/* Define to 1 if mbrtowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRTOWC 1 ++ ++/* Define to 1 if mbsinit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSINIT 1 ++ ++/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MBSNRTOWCS */ ++ ++/* Define to 1 if mbsrtowcs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSRTOWCS 1 ++ ++/* Define to 1 if memmem is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMMEM */ ++ ++/* Define to 1 if mempcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMPCPY */ ++ ++/* Define to 1 if memrchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMRCHR */ ++ ++/* Define to 1 if mkdirat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDIRAT */ ++ ++/* Define to 1 if mkdtemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDTEMP */ ++ ++/* Define to 1 if mkfifo is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFO */ ++ ++/* Define to 1 if mkfifoat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFOAT */ ++ ++/* Define to 1 if mknod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNOD */ ++ ++/* Define to 1 if mknodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNODAT */ ++ ++/* Define to 1 if mkostemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMP */ ++ ++/* Define to 1 if mkostemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMPS */ ++ ++/* Define to 1 if mkstemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMP */ ++ ++/* Define to 1 if mkstemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMPS */ ++ ++/* Define to 1 if pclose is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_PCLOSE 1 ++ ++/* Define to 1 if pipe is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE */ ++ ++/* Define to 1 if pipe2 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE2 */ ++ ++/* Define to 1 if popen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_POPEN 1 ++ ++/* Define to 1 if posix_openpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_POSIX_OPENPT */ ++ ++/* Define to 1 if pread is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PREAD */ ++ ++/* Define to 1 if pthread_sigmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTHREAD_SIGMASK */ ++ ++/* Define to 1 if ptsname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME */ ++ ++/* Define to 1 if ptsname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME_R */ ++ ++/* Define to 1 if pwrite is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PWRITE */ ++ ++/* Define to 1 if random is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM */ ++ ++/* Define to 1 if random_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM_R */ ++ ++/* Define to 1 if rawmemchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RAWMEMCHR */ ++ ++/* Define to 1 if readlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINK */ ++ ++/* Define to 1 if readlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINKAT */ ++ ++/* Define to 1 if realpath is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_REALPATH */ ++ ++/* Define to 1 if renameat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RENAMEAT */ ++ ++/* Define to 1 if rmdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_RMDIR 1 ++ ++/* Define to 1 if rpmatch is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RPMATCH */ ++ ++/* Define to 1 if secure_getenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SECURE_GETENV */ ++ ++/* Define to 1 if setenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETENV */ ++ ++/* Define to 1 if sethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETHOSTNAME */ ++ ++/* Define to 1 if setlocale is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SETLOCALE 1 ++ ++/* Define to 1 if setstate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE */ ++ ++/* Define to 1 if setstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE_R */ ++ ++/* Define to 1 if setusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETUSERSHELL */ ++ ++/* Define to 1 if sigaction is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGACTION */ ++ ++/* Define to 1 if sigaddset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGADDSET */ ++ ++/* Define to 1 if sigdelset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGDELSET */ ++ ++/* Define to 1 if sigemptyset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGEMPTYSET */ ++ ++/* Define to 1 if sigfillset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGFILLSET */ ++ ++/* Define to 1 if sigismember is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGISMEMBER */ ++ ++/* Define to 1 if sigpending is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPENDING */ ++ ++/* Define to 1 if sigprocmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPROCMASK */ ++ ++/* Define to 1 if sleep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SLEEP */ ++ ++/* Define to 1 if snprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SNPRINTF 1 ++ ++/* Define to 1 if srandom is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM */ ++ ++/* Define to 1 if srandom_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM_R */ ++ ++/* Define to 1 if stat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STAT */ ++ ++/* Define to 1 if stpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPCPY */ ++ ++/* Define to 1 if stpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPNCPY */ ++ ++/* Define to 1 if strcasestr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCASESTR */ ++ ++/* Define to 1 if strchrnul is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCHRNUL */ ++ ++/* Define to 1 if strdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRDUP 1 ++ ++/* Define to 1 if strerror_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRERROR_R */ ++ ++/* Define to 1 if strncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRNCAT 1 ++ ++/* Define to 1 if strndup is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNDUP */ ++ ++/* Define to 1 if strnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNLEN */ ++ ++/* Define to 1 if strpbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRPBRK 1 ++ ++/* Define to 1 if strsep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSEP */ ++ ++/* Define to 1 if strsignal is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSIGNAL */ ++ ++/* Define to 1 if strtod is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOD 1 ++ ++/* Define to 1 if strtok_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRTOK_R */ ++ ++/* Define to 1 if strtoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOLL 1 ++ ++/* Define to 1 if strtoull is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOULL 1 ++ ++/* Define to 1 if strverscmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRVERSCMP */ ++ ++/* Define to 1 if symlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINK */ ++ ++/* Define to 1 if symlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINKAT */ ++ ++/* Define to 1 if tmpfile is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TMPFILE 1 ++ ++/* Define to 1 if towctrans is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TOWCTRANS 1 ++ ++/* Define to 1 if ttyname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_TTYNAME_R */ ++ ++/* Define to 1 if unlink is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_UNLINK 1 ++ ++/* Define to 1 if unlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLINKAT */ ++ ++/* Define to 1 if unlockpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLOCKPT */ ++ ++/* Define to 1 if unsetenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNSETENV */ ++ ++/* Define to 1 if usleep is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_USLEEP 1 ++ ++/* Define to 1 if utimensat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UTIMENSAT */ ++ ++/* Define to 1 if vdprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_VDPRINTF */ ++ ++/* Define to 1 if vsnprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_VSNPRINTF 1 ++ ++/* Define to 1 if wcpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCPCPY */ ++ ++/* Define to 1 if wcpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCPNCPY */ ++ ++/* Define to 1 if wcrtomb is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCRTOMB 1 ++ ++/* Define to 1 if wcscasecmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSCASECMP */ ++ ++/* Define to 1 if wcscat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCAT 1 ++ ++/* Define to 1 if wcschr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCHR 1 ++ ++/* Define to 1 if wcscmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCMP 1 ++ ++/* Define to 1 if wcscoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCOLL 1 ++ ++/* Define to 1 if wcscpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCPY 1 ++ ++/* Define to 1 if wcscspn is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCSPN 1 ++ ++/* Define to 1 if wcsdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSDUP 1 ++ ++/* Define to 1 if wcslen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSLEN 1 ++ ++/* Define to 1 if wcsncasecmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNCASECMP */ ++ ++/* Define to 1 if wcsncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCAT 1 ++ ++/* Define to 1 if wcsncmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCMP 1 ++ ++/* Define to 1 if wcsncpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCPY 1 ++ ++/* Define to 1 if wcsnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNLEN */ ++ ++/* Define to 1 if wcsnrtombs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNRTOMBS */ ++ ++/* Define to 1 if wcspbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSPBRK 1 ++ ++/* Define to 1 if wcsrchr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRCHR 1 ++ ++/* Define to 1 if wcsrtombs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRTOMBS 1 ++ ++/* Define to 1 if wcsspn is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSSPN 1 ++ ++/* Define to 1 if wcsstr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSSTR 1 ++ ++/* Define to 1 if wcstok is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSTOK 1 ++ ++/* Define to 1 if wcswidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSWIDTH */ ++ ++/* Define to 1 if wcsxfrm is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSXFRM 1 ++ ++/* Define to 1 if wctob is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTOB 1 ++ ++/* Define to 1 if wctrans is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTRANS 1 ++ ++/* Define to 1 if wctype is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTYPE 1 ++ ++/* Define to 1 if wcwidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCWIDTH */ ++ ++/* Define to 1 if wmemchr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCHR 1 ++ ++/* Define to 1 if wmemcmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCMP 1 ++ ++/* Define to 1 if wmemcpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCPY 1 ++ ++/* Define to 1 if wmemmove is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMMOVE 1 ++ ++/* Define to 1 if wmemset is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMSET 1 ++ ++/* Define to 1 if _Exit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL__EXIT 1 ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the `readlinkat' function. */ ++/* #undef HAVE_READLINKAT */ ++ ++/* Define to 1 if you have the `realpath' function. */ ++/* #undef HAVE_REALPATH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if the system has the type `sigset_t'. */ ++#define HAVE_SIGSET_T 1 ++ ++/* Define to 1 if you have the `snprintf' function. */ ++#define HAVE_SNPRINTF 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDDEF_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define if exists, doesn't clash with , and declares ++ uintmax_t. */ ++#define HAVE_STDINT_H_WITH_UINTMAX 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `stpcpy' function. */ ++/* #undef HAVE_STPCPY */ ++ ++/* Define to 1 if you have the `strcasecmp' function. */ ++/* #undef HAVE_STRCASECMP */ ++ ++/* Define to 1 if you have the `strdup' function. */ ++#define HAVE_STRDUP 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the `strnlen' function. */ ++/* #undef HAVE_STRNLEN */ ++ ++/* Define to 1 if you have the `strtoul' function. */ ++#define HAVE_STRTOUL 1 ++ ++/* Define to 1 if you have the `symlink' function. */ ++/* #undef HAVE_SYMLINK */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_MMAN_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_PARAM_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_SOCKET_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_STAT_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TIMEB_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TIME_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TYPES_H 1 */ ++ ++/* Define to 1 if you have the `towlower' function. */ ++#define HAVE_TOWLOWER 1 ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define if you have the 'uintmax_t' type in or . */ ++#define HAVE_UINTMAX_T 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type 'unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `uselocale' function. */ ++/* #undef HAVE_USELOCALE */ ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++/* #undef HAVE_VISIBILITY */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++#define HAVE_WCRTOMB 1 ++ ++/* Define to 1 if you have the `wcslen' function. */ ++#define HAVE_WCSLEN 1 ++ ++/* Define to 1 if you have the `wcsnlen' function. */ ++/* #undef HAVE_WCSNLEN */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCTYPE_H 1 ++ ++/* Define to 1 if you have the `wcwidth' function. */ ++/* #undef HAVE_WCWIDTH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WINSOCK2_H 1 ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Define to 1 if O_NOATIME works. */ ++#define HAVE_WORKING_O_NOATIME 0 ++ ++/* Define to 1 if O_NOFOLLOW works. */ ++#define HAVE_WORKING_O_NOFOLLOW 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_XLOCALE_H */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++#define HAVE__BOOL 1 ++ ++/* Define to 1 if you have the `_ftime' function. */ ++#define HAVE__FTIME 1 ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ ++#define HAVE__SET_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `__fsetlocking' function. */ ++/* #undef HAVE___FSETLOCKING */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to a symbolic name denoting the flavor of iconv_open() ++ implementation. */ ++/* #undef ICONV_FLAVOR */ ++ ++/* Define to the value of ${prefix}, as a string. */ ++#define INSTALLPREFIX "/usr/local" ++ ++/* Define if integer division by zero raises signal SIGFPE. */ ++#define INTDIV0_RAISES_SIGFPE 1 ++ ++/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing ++ slash. */ ++/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ ++ ++/* Define to the sub-directory where libtool stores uninstalled libraries. */ ++#define LT_OBJDIR ".libs/" ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 1 ++ ++/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ ++/* #undef MAP_ANONYMOUS */ ++ ++/* Define if the mbrtowc function does not return (size_t) -2 for empty input. ++ */ ++/* #undef MBRTOWC_EMPTY_INPUT_BUG */ ++ ++/* Define if the mbrtowc function has the NULL pwc argument bug. */ ++/* #undef MBRTOWC_NULL_ARG1_BUG */ ++ ++/* Define if the mbrtowc function has the NULL string argument bug. */ ++/* #undef MBRTOWC_NULL_ARG2_BUG */ ++ ++/* Define if the mbrtowc function does not return 0 for a NUL character. */ ++/* #undef MBRTOWC_NUL_RETVAL_BUG */ ++ ++/* Define if the mbrtowc function returns a wrong return value. */ ++#define MBRTOWC_RETVAL_BUG 1 ++ ++/* Name of package */ ++#define PACKAGE "gettext-runtime" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "bug-gnu-gettext@gnu.org" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "gettext-runtime" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "gettext-runtime 0.19.4" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "gettext-runtime" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "0.19.4" ++ ++/* Define if exists and defines unusable PRI* macros. */ ++/* #undef PRI_MACROS_BROKEN */ ++ ++/* Define if the pthread_in_use() detection is hard. */ ++/* #undef PTHREAD_IN_USE_DETECTION_HARD */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++/* #undef PTRDIFF_T_SUFFIX */ ++ ++/* Define to 1 if readlink fails to recognize a trailing slash. */ ++/* #undef READLINK_TRAILING_SLASH_BUG */ ++ ++/* Define to 1 if stat needs help when passed a directory name with a trailing ++ slash */ ++#define REPLACE_FUNC_STAT_DIR 1 ++ ++/* Define to 1 if stat needs help when passed a file name with a trailing ++ slash */ ++/* #undef REPLACE_FUNC_STAT_FILE */ ++ ++/* Define to 1 if strerror(0) does not return a message implying success. */ ++/* #undef REPLACE_STRERROR_0 */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++/* #undef SIG_ATOMIC_T_SUFFIX */ ++ ++/* Define as the maximum value of type 'size_t', if the system doesn't define ++ it. */ ++#ifndef SIZE_MAX ++/* # undef SIZE_MAX */ ++#endif ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++/* #undef SIZE_T_SUFFIX */ ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Define to 1 if the `S_IS*' macros in do not work properly. */ ++/* #undef STAT_MACROS_BROKEN */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to the prefix of C symbols at the assembler and linker level, either ++ an underscore or empty. */ ++#define USER_LABEL_PREFIX _ ++ ++/* Define if the POSIX multithreading library can be used. */ ++/* #undef USE_POSIX_THREADS */ ++ ++/* Define if references to the POSIX multithreading library should be made ++ weak. */ ++/* #undef USE_POSIX_THREADS_WEAK */ ++ ++/* Define if the GNU Pth multithreading library can be used. */ ++/* #undef USE_PTH_THREADS */ ++ ++/* Define if references to the GNU Pth multithreading library should be made ++ weak. */ ++/* #undef USE_PTH_THREADS_WEAK */ ++ ++/* Define if the old Solaris multithreading library can be used. */ ++/* #undef USE_SOLARIS_THREADS */ ++ ++/* Define if references to the old Solaris multithreading library should be ++ made weak. */ ++/* #undef USE_SOLARIS_THREADS_WEAK */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable general extensions on OS X. */ ++#ifndef _DARWIN_C_SOURCE ++# define _DARWIN_C_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable X/Open extensions if necessary. HP-UX 11.11 defines ++ mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of ++ whether compiling with -Ae or -D_HPUX_SOURCE=1. */ ++#ifndef _XOPEN_SOURCE ++/* # undef _XOPEN_SOURCE */ ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# define __EXTENSIONS__ 1 ++#endif ++ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Define if the native Windows multithreading API can be used. */ ++#define USE_WINDOWS_THREADS 1 ++ ++/* Version number of package */ ++#define VERSION "0.19.4" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++/* #undef WCHAR_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++/* #undef WINT_T_SUFFIX */ ++ ++/* Define when --enable-shared is used on mingw or Cygwin. */ ++#define WOE32DLL 1 ++ ++/* Enable large inode numbers on Mac OS X 10.5. */ ++#define _DARWIN_USE_64_BIT_INODE 1 ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct ++ stat.st_size becomes 64-bit. */ ++#define _GL_WINDOWS_64_BIT_ST_SIZE 1 ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* Define to 1 on Solaris. */ ++/* #undef _LCONV_C99 */ ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ ++/* #undef _NETBSD_SOURCE */ ++ ++/* The _Noreturn keyword of C11. */ ++#if ! (defined _Noreturn \ ++ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) ++# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ ++ || 0x5110 <= __SUNPRO_C) ++# define _Noreturn __attribute__ ((__noreturn__)) ++# elif defined _MSC_VER && 1200 <= _MSC_VER ++# define _Noreturn __declspec (noreturn) ++# else ++# define _Noreturn ++# endif ++#endif ++ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for 'stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Define to rpl_ if the getopt replacement functions and variables should be ++ used. */ ++#define __GETOPT_PREFIX rpl_ ++ ++/* Please see the Gnulib manual for how to use these macros. ++ ++ Suppress extern inline with HP-UX cc, as it appears to be broken; see ++ . ++ ++ Suppress extern inline with Sun C in standards-conformance mode, as it ++ mishandles inline functions that call each other. E.g., for 'inline void f ++ (void) { } inline void g (void) { f (); }', c99 incorrectly complains ++ 'reference to static identifier "f" in extern inline function'. ++ This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. ++ ++ Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) ++ on configurations that mistakenly use 'static inline' to implement ++ functions or macros in standard C headers like . For example, ++ if isdigit is mistakenly implemented via a static inline function, ++ a program containing an extern inline function that calls isdigit ++ may not work since the C standard prohibits extern inline functions ++ from calling static functions. This bug is known to occur on: ++ ++ OS X 10.8 and earlier; see: ++ http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html ++ ++ DragonFly; see ++ http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log ++ ++ FreeBSD; see: ++ http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html ++ ++ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and ++ for clang but remains for g++; see . ++ Assume DragonFly and FreeBSD will be similar. */ ++#if (((defined __APPLE__ && defined __MACH__) \ ++ || defined __DragonFly__ || defined __FreeBSD__) \ ++ && (defined __header_inline \ ++ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ ++ && ! defined __clang__) \ ++ : ((! defined _DONT_USE_CTYPE_INLINE_ \ ++ && (defined __GNUC__ || defined __cplusplus)) \ ++ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ ++ && defined __GNUC__ && ! defined __cplusplus)))) ++# define _GL_EXTERN_INLINE_STDHEADER_BUG ++#endif ++#if ((__GNUC__ \ ++ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ ++ : (199901L <= __STDC_VERSION__ \ ++ && !defined __HP_cc \ ++ && !(defined __SUNPRO_C && __STDC__))) \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# define _GL_INLINE inline ++# define _GL_EXTERN_INLINE extern inline ++# define _GL_EXTERN_INLINE_IN_USE ++#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ ++ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ ++# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) ++# else ++# define _GL_INLINE extern inline ++# endif ++# define _GL_EXTERN_INLINE extern ++# define _GL_EXTERN_INLINE_IN_USE ++#else ++# define _GL_INLINE static _GL_UNUSED ++# define _GL_EXTERN_INLINE static _GL_UNUSED ++#endif ++ ++/* In GCC, suppress bogus "no previous prototype for 'FOO'" ++ and "no previous declaration for 'FOO'" diagnostics, ++ when FOO is an inline function in the header; see ++ and ++ . */ ++#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) ++# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ ++# define _GL_INLINE_HEADER_CONST_PRAGMA ++# else ++# define _GL_INLINE_HEADER_CONST_PRAGMA \ ++ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") ++# endif ++# define _GL_INLINE_HEADER_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ ++ _GL_INLINE_HEADER_CONST_PRAGMA ++# define _GL_INLINE_HEADER_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++# define _GL_INLINE_HEADER_BEGIN ++# define _GL_INLINE_HEADER_END ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define gid_t int ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#ifndef _GL_UNUSED ++# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++# else ++# define _GL_UNUSED ++# endif ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#ifndef _GL_ATTRIBUTE_PURE ++# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++# else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++# endif ++#endif ++ ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef __cplusplus ++#define inline __inline ++#endif ++ ++/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports ++ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of ++ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. ++ __APPLE__ && __MACH__ test for Mac OS X. ++ __APPLE_CC__ tests for the Apple compiler and its version. ++ __STDC_VERSION__ tests for the C99 mode. */ ++#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ ++# define __GNUC_STDC_INLINE__ 1 ++#endif ++ ++/* Define to a type if does not define. */ ++/* #undef mbstate_t */ ++ ++/* Define to `int' if does not define. */ ++/* #undef mode_t */ ++ ++/* Define to the type of st_nlink in struct stat, or a supertype. */ ++#define nlink_t int ++ ++/* Define to `int' if does not define. */ ++/* #undef pid_t */ ++ ++/* Define as the type of the result of subtracting two pointers, if the system ++ doesn't define it. */ ++/* #undef ptrdiff_t */ ++ ++/* Work around a bug in Sun C++: it does not support _Restrict or ++ __restrict__, even though the corresponding Sun C compiler ends up with ++ "#define restrict _Restrict" or "#define restrict __restrict__" in the ++ previous line. Perhaps some future version of Sun C++ will work with ++ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++# define __restrict__ ++#endif ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef size_t */ ++ ++/* Define as a signed type of the same size as size_t. */ ++/* #undef ssize_t */ ++ ++/* Define to `int' if doesn't define. */ ++#define uid_t int ++ ++/* Define to unsigned long or unsigned long long if and ++ don't define. */ ++/* #undef uintmax_t */ ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_UNUSED ++#endif ++/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name ++ is a misnomer outside of parameter lists. */ ++#define _UNUSED_PARAMETER_ _GL_UNUSED ++ ++/* gcc supports the "unused" attribute on possibly unused labels, and ++ g++ has since version 4.5. Note to support C++ as well as C, ++ _GL_UNUSED_LABEL should be used with a trailing ; */ ++#if !defined __cplusplus || __GNUC__ > 4 \ ++ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) ++# define _GL_UNUSED_LABEL _GL_UNUSED ++#else ++# define _GL_UNUSED_LABEL ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++#else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++#endif ++ ++/* The __const__ attribute was added in gcc 2.95. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) ++# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) ++#else ++# define _GL_ATTRIBUTE_CONST /* empty */ ++#endif ++ ++ ++ ++#define __libc_lock_t gl_lock_t ++#define __libc_lock_define gl_lock_define ++#define __libc_lock_define_initialized gl_lock_define_initialized ++#define __libc_lock_init gl_lock_init ++#define __libc_lock_lock gl_lock_lock ++#define __libc_lock_unlock gl_lock_unlock ++#define __libc_lock_recursive_t gl_recursive_lock_t ++#define __libc_lock_define_recursive gl_recursive_lock_define ++#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized ++#define __libc_lock_init_recursive gl_recursive_lock_init ++#define __libc_lock_lock_recursive gl_recursive_lock_lock ++#define __libc_lock_unlock_recursive gl_recursive_lock_unlock ++#define glthread_in_use libintl_thread_in_use ++#define glthread_lock_init_func libintl_lock_init_func ++#define glthread_lock_lock_func libintl_lock_lock_func ++#define glthread_lock_unlock_func libintl_lock_unlock_func ++#define glthread_lock_destroy_func libintl_lock_destroy_func ++#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded ++#define glthread_rwlock_init_func libintl_rwlock_init_func ++#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded ++#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func ++#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded ++#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func ++#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded ++#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func ++#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded ++#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func ++#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded ++#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func ++#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded ++#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func ++#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded ++#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func ++#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded ++#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func ++#define glthread_once_func libintl_once_func ++#define glthread_once_singlethreaded libintl_once_singlethreaded ++#define glthread_once_multithreaded libintl_once_multithreaded ++ ++ ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#if (defined _MSC_VER && defined _DLL) && !defined IN_RELOCWRAPPER ++# define DLL_VARIABLE __declspec (dllimport) ++#else ++# define DLL_VARIABLE ++#endif ++ ++/* Extra OS/2 (emx+gcc) defines. */ ++#ifdef __EMX__ ++# include "intl/os2compat.h" ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++#define LOCALEDIR "" ++#define LOCALE_ALIAS_PATH "" ++ ++#include ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ +diff -ruN ./libgnuintl.h ../gettext-0.19.4/libgnuintl.h +--- ./libgnuintl.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libgnuintl.h 2015-10-06 17:37:53.971759143 +0300 +@@ -0,0 +1,474 @@ ++/* libgnuintl.h. Generated from libgnuintl.h.in. */ ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include ++#if (defined __APPLE__ && defined __MACH__) && 0 ++# include ++#endif ++ ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001304 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to 'gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to 'dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to 'dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++#ifndef IN_LIBGLOCALE ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++#endif /* IN_LIBGLOCALE */ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !0 ++ ++#include ++#include ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include ++#else ++# include ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 1 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 1 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#ifndef GNULIB_defined_setlocale /* don't override gnulib */ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++#endif ++ ++#if 0 ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +diff -ruN ./libintl.h ../gettext-0.19.4/libintl.h +--- ./libintl.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libintl.h 2015-10-06 17:29:18.471752070 +0300 +@@ -0,0 +1,474 @@ ++/* libgnuintl.h. Generated from libgnuintl.h.in. */ ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include ++#if (defined __APPLE__ && defined __MACH__) && 0 ++# include ++#endif ++ ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001304 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to 'gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to 'dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to 'dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++#ifndef IN_LIBGLOCALE ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++#endif /* IN_LIBGLOCALE */ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !0 ++ ++#include ++#include ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include ++#else ++# include ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 1 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 1 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#ifndef GNULIB_defined_setlocale /* don't override gnulib */ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++#endif ++ ++#if 0 ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj +--- ./libintl.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libintl.vcxproj 2015-10-06 17:29:41.251752381 +0300 +@@ -0,0 +1,220 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {9E3973B5-12BD-4E6F-A30A-D41D8E657A4D} ++ libintl ++ Win32Proj ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libintl\ ++ ++ ++ ++ Disabled ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libintl.pdb ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --git a/patches/gettext/gettext-0.20.2-MSVC2013.patch b/patches/gettext/gettext-0.20.2-MSVC2013.patch new file mode 100644 index 0000000..86c7193 --- /dev/null +++ b/patches/gettext/gettext-0.20.2-MSVC2013.patch @@ -0,0 +1,2864 @@ +diff -ruN ./config.h ../gettext-0.19.4/config.h +--- ./config.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/config.h 2015-10-06 17:09:28.491737100 +0300 +@@ -0,0 +1,1677 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define if mono is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_MONO */ ++ ++/* Define if pnet is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_PNET */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Define to 1 if // is a file system root distinct from /. */ ++#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #define ENABLE_NLS 1 */ ++ ++/* Define to 1 if the package shall run at any location in the file system. */ ++/* #undef ENABLE_RELOCATABLE */ ++ ++/* Define to 1 if realpath() can malloc memory, always gives an absolute path, ++ and handles trailing slash correctly. */ ++/* #undef FUNC_REALPATH_WORKS */ ++ ++/* Define if gettimeofday clobbers the localtime buffer. */ ++/* #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME */ ++ ++/* Define this to 'void' or 'struct timezone' to match the system's ++ declaration of the second argument to gettimeofday. */ ++#define GETTIMEOFDAY_TIMEZONE void ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module canonicalize-lgpl shall be considered present. */ ++#define GNULIB_CANONICALIZE_LGPL 1 ++ ++#define GNULIB_defined_setlocale 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fscanf shall be considered present. */ ++#define GNULIB_FSCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fwriteerror shall be considered present. */ ++#define GNULIB_FWRITEERROR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module lock shall be considered present. */ ++#define GNULIB_LOCK 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module scanf shall be considered present. */ ++#define GNULIB_SCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module sigpipe shall be considered present. */ ++#define GNULIB_SIGPIPE 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module strerror shall be considered present. */ ++#define GNULIB_STRERROR 1 ++ ++/* Define to 1 when the gnulib module canonicalize_file_name should be tested. ++ */ ++#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 ++ ++/* Define to 1 when the gnulib module environ should be tested. */ ++#define GNULIB_TEST_ENVIRON 1 ++ ++/* Define to 1 when the gnulib module getopt-gnu should be tested. */ ++#define GNULIB_TEST_GETOPT_GNU 1 ++ ++/* Define to 1 when the gnulib module gettimeofday should be tested. */ ++#define GNULIB_TEST_GETTIMEOFDAY 1 ++ ++/* Define to 1 when the gnulib module iswblank should be tested. */ ++#define GNULIB_TEST_ISWBLANK 1 ++ ++/* Define to 1 when the gnulib module lstat should be tested. */ ++#define GNULIB_TEST_LSTAT 1 ++ ++/* Define to 1 when the gnulib module mbrtowc should be tested. */ ++#define GNULIB_TEST_MBRTOWC 1 ++ ++/* Define to 1 when the gnulib module mbsinit should be tested. */ ++#define GNULIB_TEST_MBSINIT 1 ++ ++/* Define to 1 when the gnulib module mbslen should be tested. */ ++#define GNULIB_TEST_MBSLEN 1 ++ ++/* Define to 1 when the gnulib module mbsstr should be tested. */ ++#define GNULIB_TEST_MBSSTR 1 ++ ++/* Define to 1 when the gnulib module memchr should be tested. */ ++#define GNULIB_TEST_MEMCHR 1 ++ ++/* Define to 1 when the gnulib module raise should be tested. */ ++#define GNULIB_TEST_RAISE 1 ++ ++/* Define to 1 when the gnulib module readlink should be tested. */ ++#define GNULIB_TEST_READLINK 1 ++ ++/* Define to 1 when the gnulib module realpath should be tested. */ ++#define GNULIB_TEST_REALPATH 1 ++ ++/* Define to 1 when the gnulib module setlocale should be tested. */ ++#define GNULIB_TEST_SETLOCALE 1 ++ ++/* Define to 1 when the gnulib module sigprocmask should be tested. */ ++#define GNULIB_TEST_SIGPROCMASK 1 ++ ++/* Define to 1 when the gnulib module stat should be tested. */ ++#define GNULIB_TEST_STAT 1 ++ ++/* Define to 1 when the gnulib module strerror should be tested. */ ++#define GNULIB_TEST_STRERROR 1 ++ ++/* Define to 1 when the gnulib module strnlen should be tested. */ ++#define GNULIB_TEST_STRNLEN 1 ++ ++/* Define to 1 when the gnulib module wcwidth should be tested. */ ++#define GNULIB_TEST_WCWIDTH 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module unistr/u8-mbtoucr shall be considered present. */ ++#define GNULIB_UNISTR_U8_MBTOUCR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module unistr/u8-uctomb shall be considered present. */ ++#define GNULIB_UNISTR_U8_UCTOMB 1 ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `argz_count' function. */ ++/* #undef HAVE_ARGZ_COUNT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_ARGZ_H */ ++ ++/* Define to 1 if you have the `argz_next' function. */ ++/* #undef HAVE_ARGZ_NEXT */ ++ ++/* Define to 1 if you have the `argz_stringify' function. */ ++/* #undef HAVE_ARGZ_STRINGIFY */ ++ ++/* Define to 1 if you have the `asprintf' function. */ ++/* #undef HAVE_ASPRINTF */ ++ ++/* Define to 1 if you have the `atexit' function. */ ++#define HAVE_ATEXIT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_BP_SYM_H */ ++ ++/* Define to 1 if the compiler understands __builtin_expect. */ ++/* #define HAVE_BUILTIN_EXPECT 1 */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_GETENV 1 ++ ++/* Define to 1 if you have the declaration of `iswblank', and to 0 if you ++ don't. */ ++#define HAVE_DECL_ISWBLANK 1 ++ ++/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_MBRTOWC */ ++ ++/* Define to 1 if you have the declaration of `mbsinit', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_MBSINIT */ ++ ++/* Define to 1 if you have the declaration of `program_invocation_name', and ++ to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_short_name', ++ and to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_SETENV 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the declaration of `strnlen', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRNLEN 0 ++ ++/* Define to 1 if you have the declaration of `towlower', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_TOWLOWER */ ++ ++/* Define to 1 if you have the declaration of `wcwidth', and to 0 if you ++ don't. */ ++#define HAVE_DECL_WCWIDTH 0 ++ ++/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNPRINTF 1 ++ ++/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNWPRINTF 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_FEATURES_H */ ++ ++/* Define to 1 if you have the `fwprintf' function. */ ++#define HAVE_FWPRINTF 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getegid' function. */ ++/* #undef HAVE_GETEGID */ ++ ++/* Define to 1 if you have the `geteuid' function. */ ++/* #undef HAVE_GETEUID */ ++ ++/* Define to 1 if you have the `getgid' function. */ ++/* #undef HAVE_GETGID */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_GETOPT_H */ ++ ++/* Define to 1 if you have the `getopt_long_only' function. */ ++/* #undef HAVE_GETOPT_LONG_ONLY */ ++ ++/* Define to 1 if you have the `getpagesize' function. */ ++#define HAVE_GETPAGESIZE 1 ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define to 1 if you have the `gettimeofday' function. */ ++#define HAVE_GETTIMEOFDAY 1 ++ ++/* Define to 1 if you have the `getuid' function. */ ++/* #undef HAVE_GETUID */ ++ ++/* Define if you have the iconv() function and it works. */ ++#define HAVE_ICONV 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_ICONV_H 1 ++ ++/* Define to 1 if the compiler supports one of the keywords 'inline', ++ '__inline__', '__inline' and effectively inlines functions marked as such. ++ */ ++#define HAVE_INLINE 1 ++ ++/* Define if you have the 'intmax_t' type in or . */ ++#define HAVE_INTMAX_T 1 ++ ++/* Define to 1 if you have the header file. */ ++#if _MSC_VER > 1600 ++#define HAVE_INTTYPES_H 1 ++#endif ++/* Define if exists, doesn't clash with , and ++ declares uintmax_t. */ ++#if _MSC_VER > 1600 ++#define HAVE_INTTYPES_H_WITH_UINTMAX 1 ++#endif ++ ++/* Define to 1 if you have the `iswblank' function. */ ++#define HAVE_ISWBLANK 1 ++ ++/* Define to 1 if you have the `iswcntrl' function. */ ++#define HAVE_ISWCNTRL 1 ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define if your file defines LC_MESSAGES. */ ++/* #undef HAVE_LC_MESSAGES */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if the system has the type 'long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++/* #undef HAVE_LSTAT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including ++ config.h and . */ ++/* #undef HAVE_MAP_ANONYMOUS */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++#define HAVE_MBRTOWC 1 ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++#define HAVE_MBSINIT 1 ++ ++/* Define to 1 if you have the `mbslen' function. */ ++/* #undef HAVE_MBSLEN */ ++ ++/* Define to 1 if declares mbstate_t. */ ++#define HAVE_MBSTATE_T 1 ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the `mempcpy' function. */ ++/* #undef HAVE_MEMPCPY */ ++ ++/* Define to 1 if you have a working `mmap' system call. */ ++/* #undef HAVE_MMAP */ ++ ++/* Define to 1 if you have the `mprotect' function. */ ++#define HAVE_MPROTECT 1 ++ ++/* Define to 1 on MSVC platforms that have the "invalid parameter handler" ++ concept. */ ++#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `munmap' function. */ ++/* #undef HAVE_MUNMAP */ ++ ++/* Define to 1 if you have the `newlocale' function. */ ++/* #undef HAVE_NEWLOCALE */ ++ ++/* Define if your printf() function supports format strings with positions. */ ++/* #undef HAVE_POSIX_PRINTF */ ++ ++/* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ ++/* #undef HAVE_PTHREAD_MUTEX_RECURSIVE */ ++ ++/* Define if the POSIX multithreading library has read/write locks. */ ++/* #undef HAVE_PTHREAD_RWLOCK */ ++ ++/* Define to 1 if you have the `putenv' function. */ ++#define HAVE_PUTENV 1 ++ ++/* Define to 1 if you have the `raise' function. */ ++#define HAVE_RAISE 1 ++ ++/* Define to 1 if atoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ATOLL 1 ++ ++/* Define to 1 if btowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_BTOWC 1 ++ ++/* Define to 1 if canonicalize_file_name is declared even after undefining ++ macros. */ ++/* #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if chdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_CHDIR 1 ++ ++/* Define to 1 if chown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_CHOWN */ ++ ++/* Define to 1 if dprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DPRINTF */ ++ ++/* Define to 1 if dup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP 1 ++ ++/* Define to 1 if dup2 is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP2 1 ++ ++/* Define to 1 if dup3 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUP3 */ ++ ++/* Define to 1 if duplocale is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUPLOCALE */ ++ ++/* Define to 1 if endusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENDUSERSHELL */ ++ ++/* Define to 1 if environ is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENVIRON */ ++ ++/* Define to 1 if euidaccess is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_EUIDACCESS */ ++ ++/* Define to 1 if faccessat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FACCESSAT */ ++ ++/* Define to 1 if fchdir is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHDIR */ ++ ++/* Define to 1 if fchmodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHMODAT */ ++ ++/* Define to 1 if fchownat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHOWNAT */ ++ ++/* Define to 1 if fdatasync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FDATASYNC */ ++ ++/* Define to 1 if ffsl is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FFSL */ ++ ++/* Define to 1 if ffsll is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FFSLL */ ++ ++/* Define to 1 if fpurge is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FPURGE */ ++ ++/* Define to 1 if fseeko is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSEEKO */ ++ ++/* Define to 1 if fstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTAT */ ++ ++/* Define to 1 if fstatat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTATAT */ ++ ++/* Define to 1 if fsync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSYNC */ ++ ++/* Define to 1 if ftello is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FTELLO */ ++ ++/* Define to 1 if ftruncate is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_FTRUNCATE 1 ++ ++/* Define to 1 if futimens is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FUTIMENS */ ++ ++/* Define to 1 if getcwd is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETCWD 1 ++ ++/* Define to 1 if getdelim is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDELIM */ ++ ++/* Define to 1 if getdomainname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDOMAINNAME */ ++ ++/* Define to 1 if getdtablesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDTABLESIZE */ ++ ++/* Define to 1 if getgroups is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETGROUPS */ ++ ++/* Define to 1 if gethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETHOSTNAME */ ++ ++/* Define to 1 if getline is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLINE */ ++ ++/* Define to 1 if getloadavg is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOADAVG */ ++ ++/* Define to 1 if getlogin is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN */ ++ ++/* Define to 1 if getlogin_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN_R */ ++ ++/* Define to 1 if getpagesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETPAGESIZE */ ++ ++/* Define to 1 if gets is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETS 1 ++ ++/* Define to 1 if getsubopt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETSUBOPT */ ++ ++/* Define to 1 if gettimeofday is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETTIMEOFDAY 1 ++ ++/* Define to 1 if getusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETUSERSHELL */ ++ ++/* Define to 1 if grantpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GRANTPT */ ++ ++/* Define to 1 if group_member is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GROUP_MEMBER */ ++ ++/* Define to 1 if initstate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTATE */ ++ ++/* Define to 1 if initstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTATE_R */ ++ ++/* Define to 1 if isatty is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ISATTY 1 ++ ++/* Define to 1 if iswctype is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ISWCTYPE 1 ++ ++/* Define to 1 if lchmod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHMOD */ ++ ++/* Define to 1 if lchown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHOWN */ ++ ++/* Define to 1 if link is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINK */ ++ ++/* Define to 1 if linkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINKAT */ ++ ++/* Define to 1 if lseek is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_LSEEK 1 ++ ++/* Define to 1 if lstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LSTAT */ ++ ++/* Define to 1 if mbrlen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRLEN 1 ++ ++/* Define to 1 if mbrtowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRTOWC 1 ++ ++/* Define to 1 if mbsinit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSINIT 1 ++ ++/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MBSNRTOWCS */ ++ ++/* Define to 1 if mbsrtowcs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSRTOWCS 1 ++ ++/* Define to 1 if memmem is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMMEM */ ++ ++/* Define to 1 if mempcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMPCPY */ ++ ++/* Define to 1 if memrchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMRCHR */ ++ ++/* Define to 1 if mkdirat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDIRAT */ ++ ++/* Define to 1 if mkdtemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDTEMP */ ++ ++/* Define to 1 if mkfifo is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFO */ ++ ++/* Define to 1 if mkfifoat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFOAT */ ++ ++/* Define to 1 if mknod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNOD */ ++ ++/* Define to 1 if mknodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNODAT */ ++ ++/* Define to 1 if mkostemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMP */ ++ ++/* Define to 1 if mkostemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMPS */ ++ ++/* Define to 1 if mkstemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMP */ ++ ++/* Define to 1 if mkstemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMPS */ ++ ++/* Define to 1 if pclose is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_PCLOSE 1 ++ ++/* Define to 1 if pipe is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE */ ++ ++/* Define to 1 if pipe2 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE2 */ ++ ++/* Define to 1 if popen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_POPEN 1 ++ ++/* Define to 1 if posix_openpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_POSIX_OPENPT */ ++ ++/* Define to 1 if pread is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PREAD */ ++ ++/* Define to 1 if pthread_sigmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTHREAD_SIGMASK */ ++ ++/* Define to 1 if ptsname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME */ ++ ++/* Define to 1 if ptsname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME_R */ ++ ++/* Define to 1 if pwrite is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PWRITE */ ++ ++/* Define to 1 if random is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM */ ++ ++/* Define to 1 if random_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM_R */ ++ ++/* Define to 1 if rawmemchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RAWMEMCHR */ ++ ++/* Define to 1 if readlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINK */ ++ ++/* Define to 1 if readlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINKAT */ ++ ++/* Define to 1 if realpath is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_REALPATH */ ++ ++/* Define to 1 if renameat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RENAMEAT */ ++ ++/* Define to 1 if rmdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_RMDIR 1 ++ ++/* Define to 1 if rpmatch is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RPMATCH */ ++ ++/* Define to 1 if secure_getenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SECURE_GETENV */ ++ ++/* Define to 1 if setenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETENV */ ++ ++/* Define to 1 if sethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETHOSTNAME */ ++ ++/* Define to 1 if setlocale is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SETLOCALE 1 ++ ++/* Define to 1 if setstate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE */ ++ ++/* Define to 1 if setstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE_R */ ++ ++/* Define to 1 if setusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETUSERSHELL */ ++ ++/* Define to 1 if sigaction is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGACTION */ ++ ++/* Define to 1 if sigaddset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGADDSET */ ++ ++/* Define to 1 if sigdelset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGDELSET */ ++ ++/* Define to 1 if sigemptyset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGEMPTYSET */ ++ ++/* Define to 1 if sigfillset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGFILLSET */ ++ ++/* Define to 1 if sigismember is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGISMEMBER */ ++ ++/* Define to 1 if sigpending is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPENDING */ ++ ++/* Define to 1 if sigprocmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPROCMASK */ ++ ++/* Define to 1 if sleep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SLEEP */ ++ ++/* Define to 1 if snprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SNPRINTF 1 ++ ++/* Define to 1 if srandom is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM */ ++ ++/* Define to 1 if srandom_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM_R */ ++ ++/* Define to 1 if stat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STAT */ ++ ++/* Define to 1 if stpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPCPY */ ++ ++/* Define to 1 if stpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPNCPY */ ++ ++/* Define to 1 if strcasestr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCASESTR */ ++ ++/* Define to 1 if strchrnul is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCHRNUL */ ++ ++/* Define to 1 if strdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRDUP 1 ++ ++/* Define to 1 if strerror_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRERROR_R */ ++ ++/* Define to 1 if strncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRNCAT 1 ++ ++/* Define to 1 if strndup is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNDUP */ ++ ++/* Define to 1 if strnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNLEN */ ++ ++/* Define to 1 if strpbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRPBRK 1 ++ ++/* Define to 1 if strsep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSEP */ ++ ++/* Define to 1 if strsignal is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSIGNAL */ ++ ++/* Define to 1 if strtod is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOD 1 ++ ++/* Define to 1 if strtok_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRTOK_R */ ++ ++/* Define to 1 if strtoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOLL 1 ++ ++/* Define to 1 if strtoull is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOULL 1 ++ ++/* Define to 1 if strverscmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRVERSCMP */ ++ ++/* Define to 1 if symlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINK */ ++ ++/* Define to 1 if symlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINKAT */ ++ ++/* Define to 1 if tmpfile is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TMPFILE 1 ++ ++/* Define to 1 if towctrans is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TOWCTRANS 1 ++ ++/* Define to 1 if ttyname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_TTYNAME_R */ ++ ++/* Define to 1 if unlink is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_UNLINK 1 ++ ++/* Define to 1 if unlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLINKAT */ ++ ++/* Define to 1 if unlockpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLOCKPT */ ++ ++/* Define to 1 if unsetenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNSETENV */ ++ ++/* Define to 1 if usleep is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_USLEEP 1 ++ ++/* Define to 1 if utimensat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UTIMENSAT */ ++ ++/* Define to 1 if vdprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_VDPRINTF */ ++ ++/* Define to 1 if vsnprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_VSNPRINTF 1 ++ ++/* Define to 1 if wcpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCPCPY */ ++ ++/* Define to 1 if wcpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCPNCPY */ ++ ++/* Define to 1 if wcrtomb is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCRTOMB 1 ++ ++/* Define to 1 if wcscasecmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSCASECMP */ ++ ++/* Define to 1 if wcscat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCAT 1 ++ ++/* Define to 1 if wcschr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCHR 1 ++ ++/* Define to 1 if wcscmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCMP 1 ++ ++/* Define to 1 if wcscoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCOLL 1 ++ ++/* Define to 1 if wcscpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCPY 1 ++ ++/* Define to 1 if wcscspn is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCSPN 1 ++ ++/* Define to 1 if wcsdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSDUP 1 ++ ++/* Define to 1 if wcslen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSLEN 1 ++ ++/* Define to 1 if wcsncasecmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNCASECMP */ ++ ++/* Define to 1 if wcsncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCAT 1 ++ ++/* Define to 1 if wcsncmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCMP 1 ++ ++/* Define to 1 if wcsncpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCPY 1 ++ ++/* Define to 1 if wcsnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNLEN */ ++ ++/* Define to 1 if wcsnrtombs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNRTOMBS */ ++ ++/* Define to 1 if wcspbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSPBRK 1 ++ ++/* Define to 1 if wcsrchr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRCHR 1 ++ ++/* Define to 1 if wcsrtombs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRTOMBS 1 ++ ++/* Define to 1 if wcsspn is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSSPN 1 ++ ++/* Define to 1 if wcsstr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSSTR 1 ++ ++/* Define to 1 if wcstok is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSTOK 1 ++ ++/* Define to 1 if wcswidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSWIDTH */ ++ ++/* Define to 1 if wcsxfrm is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSXFRM 1 ++ ++/* Define to 1 if wctob is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTOB 1 ++ ++/* Define to 1 if wctrans is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTRANS 1 ++ ++/* Define to 1 if wctype is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTYPE 1 ++ ++/* Define to 1 if wcwidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCWIDTH */ ++ ++/* Define to 1 if wmemchr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCHR 1 ++ ++/* Define to 1 if wmemcmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCMP 1 ++ ++/* Define to 1 if wmemcpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCPY 1 ++ ++/* Define to 1 if wmemmove is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMMOVE 1 ++ ++/* Define to 1 if wmemset is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMSET 1 ++ ++/* Define to 1 if _Exit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL__EXIT 1 ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the `readlinkat' function. */ ++/* #undef HAVE_READLINKAT */ ++ ++/* Define to 1 if you have the `realpath' function. */ ++/* #undef HAVE_REALPATH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if the system has the type `sigset_t'. */ ++#define HAVE_SIGSET_T 1 ++ ++/* Define to 1 if you have the `snprintf' function. */ ++#define HAVE_SNPRINTF 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDDEF_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define if exists, doesn't clash with , and declares ++ uintmax_t. */ ++#define HAVE_STDINT_H_WITH_UINTMAX 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `stpcpy' function. */ ++/* #undef HAVE_STPCPY */ ++ ++/* Define to 1 if you have the `strcasecmp' function. */ ++/* #undef HAVE_STRCASECMP */ ++ ++/* Define to 1 if you have the `strdup' function. */ ++#define HAVE_STRDUP 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the `strnlen' function. */ ++/* #undef HAVE_STRNLEN */ ++ ++/* Define to 1 if you have the `strtoul' function. */ ++#define HAVE_STRTOUL 1 ++ ++/* Define to 1 if you have the `symlink' function. */ ++/* #undef HAVE_SYMLINK */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_MMAN_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_PARAM_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_SOCKET_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_STAT_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TIMEB_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TIME_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TYPES_H 1 */ ++ ++/* Define to 1 if you have the `towlower' function. */ ++#define HAVE_TOWLOWER 1 ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define if you have the 'uintmax_t' type in or . */ ++#define HAVE_UINTMAX_T 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type 'unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `uselocale' function. */ ++/* #undef HAVE_USELOCALE */ ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++/* #undef HAVE_VISIBILITY */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++#define HAVE_WCRTOMB 1 ++ ++/* Define to 1 if you have the `wcslen' function. */ ++#define HAVE_WCSLEN 1 ++ ++/* Define to 1 if you have the `wcsnlen' function. */ ++/* #undef HAVE_WCSNLEN */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCTYPE_H 1 ++ ++/* Define to 1 if you have the `wcwidth' function. */ ++/* #undef HAVE_WCWIDTH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WINSOCK2_H 1 ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Define to 1 if O_NOATIME works. */ ++#define HAVE_WORKING_O_NOATIME 0 ++ ++/* Define to 1 if O_NOFOLLOW works. */ ++#define HAVE_WORKING_O_NOFOLLOW 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_XLOCALE_H */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++#define HAVE__BOOL 1 ++ ++/* Define to 1 if you have the `_ftime' function. */ ++#define HAVE__FTIME 1 ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ ++#define HAVE__SET_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `__fsetlocking' function. */ ++/* #undef HAVE___FSETLOCKING */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to a symbolic name denoting the flavor of iconv_open() ++ implementation. */ ++/* #undef ICONV_FLAVOR */ ++ ++/* Define to the value of ${prefix}, as a string. */ ++#define INSTALLPREFIX "/usr/local" ++ ++/* Define if integer division by zero raises signal SIGFPE. */ ++#define INTDIV0_RAISES_SIGFPE 1 ++ ++/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing ++ slash. */ ++/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ ++ ++/* Define to the sub-directory where libtool stores uninstalled libraries. */ ++#define LT_OBJDIR ".libs/" ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 1 ++ ++/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ ++/* #undef MAP_ANONYMOUS */ ++ ++/* Define if the mbrtowc function does not return (size_t) -2 for empty input. ++ */ ++/* #undef MBRTOWC_EMPTY_INPUT_BUG */ ++ ++/* Define if the mbrtowc function has the NULL pwc argument bug. */ ++/* #undef MBRTOWC_NULL_ARG1_BUG */ ++ ++/* Define if the mbrtowc function has the NULL string argument bug. */ ++/* #undef MBRTOWC_NULL_ARG2_BUG */ ++ ++/* Define if the mbrtowc function does not return 0 for a NUL character. */ ++/* #undef MBRTOWC_NUL_RETVAL_BUG */ ++ ++/* Define if the mbrtowc function returns a wrong return value. */ ++#define MBRTOWC_RETVAL_BUG 1 ++ ++/* Name of package */ ++#define PACKAGE "gettext-runtime" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "bug-gnu-gettext@gnu.org" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "gettext-runtime" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "gettext-runtime 0.19.4" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "gettext-runtime" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "0.19.4" ++ ++/* Define if exists and defines unusable PRI* macros. */ ++/* #undef PRI_MACROS_BROKEN */ ++ ++/* Define if the pthread_in_use() detection is hard. */ ++/* #undef PTHREAD_IN_USE_DETECTION_HARD */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++/* #undef PTRDIFF_T_SUFFIX */ ++ ++/* Define to 1 if readlink fails to recognize a trailing slash. */ ++/* #undef READLINK_TRAILING_SLASH_BUG */ ++ ++/* Define to 1 if stat needs help when passed a directory name with a trailing ++ slash */ ++#define REPLACE_FUNC_STAT_DIR 1 ++ ++/* Define to 1 if stat needs help when passed a file name with a trailing ++ slash */ ++/* #undef REPLACE_FUNC_STAT_FILE */ ++ ++/* Define to 1 if strerror(0) does not return a message implying success. */ ++/* #undef REPLACE_STRERROR_0 */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++/* #undef SIG_ATOMIC_T_SUFFIX */ ++ ++/* Define as the maximum value of type 'size_t', if the system doesn't define ++ it. */ ++#ifndef SIZE_MAX ++/* # undef SIZE_MAX */ ++#endif ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++/* #undef SIZE_T_SUFFIX */ ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Define to 1 if the `S_IS*' macros in do not work properly. */ ++/* #undef STAT_MACROS_BROKEN */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to the prefix of C symbols at the assembler and linker level, either ++ an underscore or empty. */ ++#define USER_LABEL_PREFIX _ ++ ++/* Define if the POSIX multithreading library can be used. */ ++/* #undef USE_POSIX_THREADS */ ++ ++/* Define if references to the POSIX multithreading library should be made ++ weak. */ ++/* #undef USE_POSIX_THREADS_WEAK */ ++ ++/* Define if the GNU Pth multithreading library can be used. */ ++/* #undef USE_PTH_THREADS */ ++ ++/* Define if references to the GNU Pth multithreading library should be made ++ weak. */ ++/* #undef USE_PTH_THREADS_WEAK */ ++ ++/* Define if the old Solaris multithreading library can be used. */ ++/* #undef USE_SOLARIS_THREADS */ ++ ++/* Define if references to the old Solaris multithreading library should be ++ made weak. */ ++/* #undef USE_SOLARIS_THREADS_WEAK */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable general extensions on OS X. */ ++#ifndef _DARWIN_C_SOURCE ++# define _DARWIN_C_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable X/Open extensions if necessary. HP-UX 11.11 defines ++ mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of ++ whether compiling with -Ae or -D_HPUX_SOURCE=1. */ ++#ifndef _XOPEN_SOURCE ++/* # undef _XOPEN_SOURCE */ ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# define __EXTENSIONS__ 1 ++#endif ++ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Define if the native Windows multithreading API can be used. */ ++#define USE_WINDOWS_THREADS 1 ++ ++/* Version number of package */ ++#define VERSION "0.19.4" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++/* #undef WCHAR_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++/* #undef WINT_T_SUFFIX */ ++ ++/* Define when --enable-shared is used on mingw or Cygwin. */ ++#define WOE32DLL 1 ++ ++/* Enable large inode numbers on Mac OS X 10.5. */ ++#define _DARWIN_USE_64_BIT_INODE 1 ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct ++ stat.st_size becomes 64-bit. */ ++#define _GL_WINDOWS_64_BIT_ST_SIZE 1 ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* Define to 1 on Solaris. */ ++/* #undef _LCONV_C99 */ ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ ++/* #undef _NETBSD_SOURCE */ ++ ++/* The _Noreturn keyword of C11. */ ++#if ! (defined _Noreturn \ ++ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) ++# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ ++ || 0x5110 <= __SUNPRO_C) ++# define _Noreturn __attribute__ ((__noreturn__)) ++# elif defined _MSC_VER && 1200 <= _MSC_VER ++# define _Noreturn __declspec (noreturn) ++# else ++# define _Noreturn ++# endif ++#endif ++ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for 'stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Define to rpl_ if the getopt replacement functions and variables should be ++ used. */ ++#define __GETOPT_PREFIX rpl_ ++ ++/* Please see the Gnulib manual for how to use these macros. ++ ++ Suppress extern inline with HP-UX cc, as it appears to be broken; see ++ . ++ ++ Suppress extern inline with Sun C in standards-conformance mode, as it ++ mishandles inline functions that call each other. E.g., for 'inline void f ++ (void) { } inline void g (void) { f (); }', c99 incorrectly complains ++ 'reference to static identifier "f" in extern inline function'. ++ This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. ++ ++ Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) ++ on configurations that mistakenly use 'static inline' to implement ++ functions or macros in standard C headers like . For example, ++ if isdigit is mistakenly implemented via a static inline function, ++ a program containing an extern inline function that calls isdigit ++ may not work since the C standard prohibits extern inline functions ++ from calling static functions. This bug is known to occur on: ++ ++ OS X 10.8 and earlier; see: ++ http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html ++ ++ DragonFly; see ++ http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log ++ ++ FreeBSD; see: ++ http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html ++ ++ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and ++ for clang but remains for g++; see . ++ Assume DragonFly and FreeBSD will be similar. */ ++#if (((defined __APPLE__ && defined __MACH__) \ ++ || defined __DragonFly__ || defined __FreeBSD__) \ ++ && (defined __header_inline \ ++ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ ++ && ! defined __clang__) \ ++ : ((! defined _DONT_USE_CTYPE_INLINE_ \ ++ && (defined __GNUC__ || defined __cplusplus)) \ ++ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ ++ && defined __GNUC__ && ! defined __cplusplus)))) ++# define _GL_EXTERN_INLINE_STDHEADER_BUG ++#endif ++#if ((__GNUC__ \ ++ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ ++ : (199901L <= __STDC_VERSION__ \ ++ && !defined __HP_cc \ ++ && !(defined __SUNPRO_C && __STDC__))) \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# define _GL_INLINE inline ++# define _GL_EXTERN_INLINE extern inline ++# define _GL_EXTERN_INLINE_IN_USE ++#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ ++ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ ++# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) ++# else ++# define _GL_INLINE extern inline ++# endif ++# define _GL_EXTERN_INLINE extern ++# define _GL_EXTERN_INLINE_IN_USE ++#else ++# define _GL_INLINE static _GL_UNUSED ++# define _GL_EXTERN_INLINE static _GL_UNUSED ++#endif ++ ++/* In GCC, suppress bogus "no previous prototype for 'FOO'" ++ and "no previous declaration for 'FOO'" diagnostics, ++ when FOO is an inline function in the header; see ++ and ++ . */ ++#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) ++# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ ++# define _GL_INLINE_HEADER_CONST_PRAGMA ++# else ++# define _GL_INLINE_HEADER_CONST_PRAGMA \ ++ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") ++# endif ++# define _GL_INLINE_HEADER_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ ++ _GL_INLINE_HEADER_CONST_PRAGMA ++# define _GL_INLINE_HEADER_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++# define _GL_INLINE_HEADER_BEGIN ++# define _GL_INLINE_HEADER_END ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define gid_t int ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#ifndef _GL_UNUSED ++# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++# else ++# define _GL_UNUSED ++# endif ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#ifndef _GL_ATTRIBUTE_PURE ++# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++# else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++# endif ++#endif ++ ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef __cplusplus ++#define inline __inline ++#endif ++ ++/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports ++ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of ++ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. ++ __APPLE__ && __MACH__ test for Mac OS X. ++ __APPLE_CC__ tests for the Apple compiler and its version. ++ __STDC_VERSION__ tests for the C99 mode. */ ++#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ ++# define __GNUC_STDC_INLINE__ 1 ++#endif ++ ++/* Define to a type if does not define. */ ++/* #undef mbstate_t */ ++ ++/* Define to `int' if does not define. */ ++/* #undef mode_t */ ++ ++/* Define to the type of st_nlink in struct stat, or a supertype. */ ++#define nlink_t int ++ ++/* Define to `int' if does not define. */ ++/* #undef pid_t */ ++ ++/* Define as the type of the result of subtracting two pointers, if the system ++ doesn't define it. */ ++/* #undef ptrdiff_t */ ++ ++/* Work around a bug in Sun C++: it does not support _Restrict or ++ __restrict__, even though the corresponding Sun C compiler ends up with ++ "#define restrict _Restrict" or "#define restrict __restrict__" in the ++ previous line. Perhaps some future version of Sun C++ will work with ++ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++# define __restrict__ ++#endif ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef size_t */ ++ ++/* Define as a signed type of the same size as size_t. */ ++/* #undef ssize_t */ ++ ++/* Define to `int' if doesn't define. */ ++#define uid_t int ++ ++/* Define to unsigned long or unsigned long long if and ++ don't define. */ ++/* #undef uintmax_t */ ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_UNUSED ++#endif ++/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name ++ is a misnomer outside of parameter lists. */ ++#define _UNUSED_PARAMETER_ _GL_UNUSED ++ ++/* gcc supports the "unused" attribute on possibly unused labels, and ++ g++ has since version 4.5. Note to support C++ as well as C, ++ _GL_UNUSED_LABEL should be used with a trailing ; */ ++#if !defined __cplusplus || __GNUC__ > 4 \ ++ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) ++# define _GL_UNUSED_LABEL _GL_UNUSED ++#else ++# define _GL_UNUSED_LABEL ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++#else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++#endif ++ ++/* The __const__ attribute was added in gcc 2.95. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) ++# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) ++#else ++# define _GL_ATTRIBUTE_CONST /* empty */ ++#endif ++ ++ ++ ++#define __libc_lock_t gl_lock_t ++#define __libc_lock_define gl_lock_define ++#define __libc_lock_define_initialized gl_lock_define_initialized ++#define __libc_lock_init gl_lock_init ++#define __libc_lock_lock gl_lock_lock ++#define __libc_lock_unlock gl_lock_unlock ++#define __libc_lock_recursive_t gl_recursive_lock_t ++#define __libc_lock_define_recursive gl_recursive_lock_define ++#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized ++#define __libc_lock_init_recursive gl_recursive_lock_init ++#define __libc_lock_lock_recursive gl_recursive_lock_lock ++#define __libc_lock_unlock_recursive gl_recursive_lock_unlock ++#define glthread_in_use libintl_thread_in_use ++#define glthread_lock_init_func libintl_lock_init_func ++#define glthread_lock_lock_func libintl_lock_lock_func ++#define glthread_lock_unlock_func libintl_lock_unlock_func ++#define glthread_lock_destroy_func libintl_lock_destroy_func ++#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded ++#define glthread_rwlock_init_func libintl_rwlock_init_func ++#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded ++#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func ++#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded ++#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func ++#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded ++#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func ++#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded ++#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func ++#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded ++#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func ++#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded ++#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func ++#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded ++#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func ++#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded ++#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func ++#define glthread_once_func libintl_once_func ++#define glthread_once_singlethreaded libintl_once_singlethreaded ++#define glthread_once_multithreaded libintl_once_multithreaded ++ ++ ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#if (defined _MSC_VER && defined _DLL) && !defined IN_RELOCWRAPPER ++# define DLL_VARIABLE __declspec (dllimport) ++#else ++# define DLL_VARIABLE ++#endif ++ ++/* Extra OS/2 (emx+gcc) defines. */ ++#ifdef __EMX__ ++# include "intl/os2compat.h" ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++#define LOCALEDIR "" ++#define LOCALE_ALIAS_PATH "" ++ ++#include ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ +diff -ruN ./libgnuintl.h ../gettext-0.19.4/libgnuintl.h +--- ./libgnuintl.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libgnuintl.h 2015-10-06 17:37:53.971759143 +0300 +@@ -0,0 +1,474 @@ ++/* libgnuintl.h. Generated from libgnuintl.h.in. */ ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include ++#if (defined __APPLE__ && defined __MACH__) && 0 ++# include ++#endif ++ ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001304 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to 'gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to 'dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to 'dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++#ifndef IN_LIBGLOCALE ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++#endif /* IN_LIBGLOCALE */ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !0 ++ ++#include ++#include ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include ++#else ++# include ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 1 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 1 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#ifndef GNULIB_defined_setlocale /* don't override gnulib */ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++#endif ++ ++#if 0 ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +diff -ruN ./libintl.h ../gettext-0.19.4/libintl.h +--- ./libintl.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libintl.h 2015-10-06 17:29:18.471752070 +0300 +@@ -0,0 +1,474 @@ ++/* libgnuintl.h. Generated from libgnuintl.h.in. */ ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include ++#if (defined __APPLE__ && defined __MACH__) && 0 ++# include ++#endif ++ ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001304 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to 'gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to 'dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to 'dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++#ifndef IN_LIBGLOCALE ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++#endif /* IN_LIBGLOCALE */ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !0 ++ ++#include ++#include ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include ++#else ++# include ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 1 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 1 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#ifndef GNULIB_defined_setlocale /* don't override gnulib */ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++#endif ++ ++#if 0 ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj +--- ./libintl.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libintl.vcxproj 2015-10-06 17:29:41.251752381 +0300 +@@ -0,0 +1,223 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {9E3973B5-12BD-4E6F-A30A-D41D8E657A4D} ++ libintl ++ Win32Proj ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libintl\ ++ ++ ++ ++ Disabled ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libintl.pdb ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --git a/patches/gettext/gettext-0.20.2-MSVC2017.patch b/patches/gettext/gettext-0.20.2-MSVC2017.patch new file mode 100644 index 0000000..86c7193 --- /dev/null +++ b/patches/gettext/gettext-0.20.2-MSVC2017.patch @@ -0,0 +1,2864 @@ +diff -ruN ./config.h ../gettext-0.19.4/config.h +--- ./config.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/config.h 2015-10-06 17:09:28.491737100 +0300 +@@ -0,0 +1,1677 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define if mono is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_MONO */ ++ ++/* Define if pnet is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_PNET */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Define to 1 if // is a file system root distinct from /. */ ++#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #define ENABLE_NLS 1 */ ++ ++/* Define to 1 if the package shall run at any location in the file system. */ ++/* #undef ENABLE_RELOCATABLE */ ++ ++/* Define to 1 if realpath() can malloc memory, always gives an absolute path, ++ and handles trailing slash correctly. */ ++/* #undef FUNC_REALPATH_WORKS */ ++ ++/* Define if gettimeofday clobbers the localtime buffer. */ ++/* #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME */ ++ ++/* Define this to 'void' or 'struct timezone' to match the system's ++ declaration of the second argument to gettimeofday. */ ++#define GETTIMEOFDAY_TIMEZONE void ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module canonicalize-lgpl shall be considered present. */ ++#define GNULIB_CANONICALIZE_LGPL 1 ++ ++#define GNULIB_defined_setlocale 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fscanf shall be considered present. */ ++#define GNULIB_FSCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fwriteerror shall be considered present. */ ++#define GNULIB_FWRITEERROR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module lock shall be considered present. */ ++#define GNULIB_LOCK 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module scanf shall be considered present. */ ++#define GNULIB_SCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module sigpipe shall be considered present. */ ++#define GNULIB_SIGPIPE 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module strerror shall be considered present. */ ++#define GNULIB_STRERROR 1 ++ ++/* Define to 1 when the gnulib module canonicalize_file_name should be tested. ++ */ ++#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 ++ ++/* Define to 1 when the gnulib module environ should be tested. */ ++#define GNULIB_TEST_ENVIRON 1 ++ ++/* Define to 1 when the gnulib module getopt-gnu should be tested. */ ++#define GNULIB_TEST_GETOPT_GNU 1 ++ ++/* Define to 1 when the gnulib module gettimeofday should be tested. */ ++#define GNULIB_TEST_GETTIMEOFDAY 1 ++ ++/* Define to 1 when the gnulib module iswblank should be tested. */ ++#define GNULIB_TEST_ISWBLANK 1 ++ ++/* Define to 1 when the gnulib module lstat should be tested. */ ++#define GNULIB_TEST_LSTAT 1 ++ ++/* Define to 1 when the gnulib module mbrtowc should be tested. */ ++#define GNULIB_TEST_MBRTOWC 1 ++ ++/* Define to 1 when the gnulib module mbsinit should be tested. */ ++#define GNULIB_TEST_MBSINIT 1 ++ ++/* Define to 1 when the gnulib module mbslen should be tested. */ ++#define GNULIB_TEST_MBSLEN 1 ++ ++/* Define to 1 when the gnulib module mbsstr should be tested. */ ++#define GNULIB_TEST_MBSSTR 1 ++ ++/* Define to 1 when the gnulib module memchr should be tested. */ ++#define GNULIB_TEST_MEMCHR 1 ++ ++/* Define to 1 when the gnulib module raise should be tested. */ ++#define GNULIB_TEST_RAISE 1 ++ ++/* Define to 1 when the gnulib module readlink should be tested. */ ++#define GNULIB_TEST_READLINK 1 ++ ++/* Define to 1 when the gnulib module realpath should be tested. */ ++#define GNULIB_TEST_REALPATH 1 ++ ++/* Define to 1 when the gnulib module setlocale should be tested. */ ++#define GNULIB_TEST_SETLOCALE 1 ++ ++/* Define to 1 when the gnulib module sigprocmask should be tested. */ ++#define GNULIB_TEST_SIGPROCMASK 1 ++ ++/* Define to 1 when the gnulib module stat should be tested. */ ++#define GNULIB_TEST_STAT 1 ++ ++/* Define to 1 when the gnulib module strerror should be tested. */ ++#define GNULIB_TEST_STRERROR 1 ++ ++/* Define to 1 when the gnulib module strnlen should be tested. */ ++#define GNULIB_TEST_STRNLEN 1 ++ ++/* Define to 1 when the gnulib module wcwidth should be tested. */ ++#define GNULIB_TEST_WCWIDTH 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module unistr/u8-mbtoucr shall be considered present. */ ++#define GNULIB_UNISTR_U8_MBTOUCR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module unistr/u8-uctomb shall be considered present. */ ++#define GNULIB_UNISTR_U8_UCTOMB 1 ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `argz_count' function. */ ++/* #undef HAVE_ARGZ_COUNT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_ARGZ_H */ ++ ++/* Define to 1 if you have the `argz_next' function. */ ++/* #undef HAVE_ARGZ_NEXT */ ++ ++/* Define to 1 if you have the `argz_stringify' function. */ ++/* #undef HAVE_ARGZ_STRINGIFY */ ++ ++/* Define to 1 if you have the `asprintf' function. */ ++/* #undef HAVE_ASPRINTF */ ++ ++/* Define to 1 if you have the `atexit' function. */ ++#define HAVE_ATEXIT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_BP_SYM_H */ ++ ++/* Define to 1 if the compiler understands __builtin_expect. */ ++/* #define HAVE_BUILTIN_EXPECT 1 */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_GETENV 1 ++ ++/* Define to 1 if you have the declaration of `iswblank', and to 0 if you ++ don't. */ ++#define HAVE_DECL_ISWBLANK 1 ++ ++/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_MBRTOWC */ ++ ++/* Define to 1 if you have the declaration of `mbsinit', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_MBSINIT */ ++ ++/* Define to 1 if you have the declaration of `program_invocation_name', and ++ to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_short_name', ++ and to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_SETENV 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the declaration of `strnlen', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRNLEN 0 ++ ++/* Define to 1 if you have the declaration of `towlower', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_TOWLOWER */ ++ ++/* Define to 1 if you have the declaration of `wcwidth', and to 0 if you ++ don't. */ ++#define HAVE_DECL_WCWIDTH 0 ++ ++/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNPRINTF 1 ++ ++/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNWPRINTF 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_FEATURES_H */ ++ ++/* Define to 1 if you have the `fwprintf' function. */ ++#define HAVE_FWPRINTF 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getegid' function. */ ++/* #undef HAVE_GETEGID */ ++ ++/* Define to 1 if you have the `geteuid' function. */ ++/* #undef HAVE_GETEUID */ ++ ++/* Define to 1 if you have the `getgid' function. */ ++/* #undef HAVE_GETGID */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_GETOPT_H */ ++ ++/* Define to 1 if you have the `getopt_long_only' function. */ ++/* #undef HAVE_GETOPT_LONG_ONLY */ ++ ++/* Define to 1 if you have the `getpagesize' function. */ ++#define HAVE_GETPAGESIZE 1 ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define to 1 if you have the `gettimeofday' function. */ ++#define HAVE_GETTIMEOFDAY 1 ++ ++/* Define to 1 if you have the `getuid' function. */ ++/* #undef HAVE_GETUID */ ++ ++/* Define if you have the iconv() function and it works. */ ++#define HAVE_ICONV 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_ICONV_H 1 ++ ++/* Define to 1 if the compiler supports one of the keywords 'inline', ++ '__inline__', '__inline' and effectively inlines functions marked as such. ++ */ ++#define HAVE_INLINE 1 ++ ++/* Define if you have the 'intmax_t' type in or . */ ++#define HAVE_INTMAX_T 1 ++ ++/* Define to 1 if you have the header file. */ ++#if _MSC_VER > 1600 ++#define HAVE_INTTYPES_H 1 ++#endif ++/* Define if exists, doesn't clash with , and ++ declares uintmax_t. */ ++#if _MSC_VER > 1600 ++#define HAVE_INTTYPES_H_WITH_UINTMAX 1 ++#endif ++ ++/* Define to 1 if you have the `iswblank' function. */ ++#define HAVE_ISWBLANK 1 ++ ++/* Define to 1 if you have the `iswcntrl' function. */ ++#define HAVE_ISWCNTRL 1 ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define if your file defines LC_MESSAGES. */ ++/* #undef HAVE_LC_MESSAGES */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if the system has the type 'long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++/* #undef HAVE_LSTAT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including ++ config.h and . */ ++/* #undef HAVE_MAP_ANONYMOUS */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++#define HAVE_MBRTOWC 1 ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++#define HAVE_MBSINIT 1 ++ ++/* Define to 1 if you have the `mbslen' function. */ ++/* #undef HAVE_MBSLEN */ ++ ++/* Define to 1 if declares mbstate_t. */ ++#define HAVE_MBSTATE_T 1 ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the `mempcpy' function. */ ++/* #undef HAVE_MEMPCPY */ ++ ++/* Define to 1 if you have a working `mmap' system call. */ ++/* #undef HAVE_MMAP */ ++ ++/* Define to 1 if you have the `mprotect' function. */ ++#define HAVE_MPROTECT 1 ++ ++/* Define to 1 on MSVC platforms that have the "invalid parameter handler" ++ concept. */ ++#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `munmap' function. */ ++/* #undef HAVE_MUNMAP */ ++ ++/* Define to 1 if you have the `newlocale' function. */ ++/* #undef HAVE_NEWLOCALE */ ++ ++/* Define if your printf() function supports format strings with positions. */ ++/* #undef HAVE_POSIX_PRINTF */ ++ ++/* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ ++/* #undef HAVE_PTHREAD_MUTEX_RECURSIVE */ ++ ++/* Define if the POSIX multithreading library has read/write locks. */ ++/* #undef HAVE_PTHREAD_RWLOCK */ ++ ++/* Define to 1 if you have the `putenv' function. */ ++#define HAVE_PUTENV 1 ++ ++/* Define to 1 if you have the `raise' function. */ ++#define HAVE_RAISE 1 ++ ++/* Define to 1 if atoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ATOLL 1 ++ ++/* Define to 1 if btowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_BTOWC 1 ++ ++/* Define to 1 if canonicalize_file_name is declared even after undefining ++ macros. */ ++/* #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if chdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_CHDIR 1 ++ ++/* Define to 1 if chown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_CHOWN */ ++ ++/* Define to 1 if dprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DPRINTF */ ++ ++/* Define to 1 if dup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP 1 ++ ++/* Define to 1 if dup2 is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP2 1 ++ ++/* Define to 1 if dup3 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUP3 */ ++ ++/* Define to 1 if duplocale is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUPLOCALE */ ++ ++/* Define to 1 if endusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENDUSERSHELL */ ++ ++/* Define to 1 if environ is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENVIRON */ ++ ++/* Define to 1 if euidaccess is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_EUIDACCESS */ ++ ++/* Define to 1 if faccessat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FACCESSAT */ ++ ++/* Define to 1 if fchdir is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHDIR */ ++ ++/* Define to 1 if fchmodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHMODAT */ ++ ++/* Define to 1 if fchownat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHOWNAT */ ++ ++/* Define to 1 if fdatasync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FDATASYNC */ ++ ++/* Define to 1 if ffsl is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FFSL */ ++ ++/* Define to 1 if ffsll is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FFSLL */ ++ ++/* Define to 1 if fpurge is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FPURGE */ ++ ++/* Define to 1 if fseeko is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSEEKO */ ++ ++/* Define to 1 if fstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTAT */ ++ ++/* Define to 1 if fstatat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTATAT */ ++ ++/* Define to 1 if fsync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSYNC */ ++ ++/* Define to 1 if ftello is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FTELLO */ ++ ++/* Define to 1 if ftruncate is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_FTRUNCATE 1 ++ ++/* Define to 1 if futimens is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FUTIMENS */ ++ ++/* Define to 1 if getcwd is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETCWD 1 ++ ++/* Define to 1 if getdelim is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDELIM */ ++ ++/* Define to 1 if getdomainname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDOMAINNAME */ ++ ++/* Define to 1 if getdtablesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDTABLESIZE */ ++ ++/* Define to 1 if getgroups is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETGROUPS */ ++ ++/* Define to 1 if gethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETHOSTNAME */ ++ ++/* Define to 1 if getline is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLINE */ ++ ++/* Define to 1 if getloadavg is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOADAVG */ ++ ++/* Define to 1 if getlogin is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN */ ++ ++/* Define to 1 if getlogin_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN_R */ ++ ++/* Define to 1 if getpagesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETPAGESIZE */ ++ ++/* Define to 1 if gets is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETS 1 ++ ++/* Define to 1 if getsubopt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETSUBOPT */ ++ ++/* Define to 1 if gettimeofday is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETTIMEOFDAY 1 ++ ++/* Define to 1 if getusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETUSERSHELL */ ++ ++/* Define to 1 if grantpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GRANTPT */ ++ ++/* Define to 1 if group_member is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GROUP_MEMBER */ ++ ++/* Define to 1 if initstate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTATE */ ++ ++/* Define to 1 if initstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTATE_R */ ++ ++/* Define to 1 if isatty is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ISATTY 1 ++ ++/* Define to 1 if iswctype is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ISWCTYPE 1 ++ ++/* Define to 1 if lchmod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHMOD */ ++ ++/* Define to 1 if lchown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHOWN */ ++ ++/* Define to 1 if link is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINK */ ++ ++/* Define to 1 if linkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINKAT */ ++ ++/* Define to 1 if lseek is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_LSEEK 1 ++ ++/* Define to 1 if lstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LSTAT */ ++ ++/* Define to 1 if mbrlen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRLEN 1 ++ ++/* Define to 1 if mbrtowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRTOWC 1 ++ ++/* Define to 1 if mbsinit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSINIT 1 ++ ++/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MBSNRTOWCS */ ++ ++/* Define to 1 if mbsrtowcs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSRTOWCS 1 ++ ++/* Define to 1 if memmem is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMMEM */ ++ ++/* Define to 1 if mempcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMPCPY */ ++ ++/* Define to 1 if memrchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMRCHR */ ++ ++/* Define to 1 if mkdirat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDIRAT */ ++ ++/* Define to 1 if mkdtemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDTEMP */ ++ ++/* Define to 1 if mkfifo is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFO */ ++ ++/* Define to 1 if mkfifoat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFOAT */ ++ ++/* Define to 1 if mknod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNOD */ ++ ++/* Define to 1 if mknodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNODAT */ ++ ++/* Define to 1 if mkostemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMP */ ++ ++/* Define to 1 if mkostemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMPS */ ++ ++/* Define to 1 if mkstemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMP */ ++ ++/* Define to 1 if mkstemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMPS */ ++ ++/* Define to 1 if pclose is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_PCLOSE 1 ++ ++/* Define to 1 if pipe is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE */ ++ ++/* Define to 1 if pipe2 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE2 */ ++ ++/* Define to 1 if popen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_POPEN 1 ++ ++/* Define to 1 if posix_openpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_POSIX_OPENPT */ ++ ++/* Define to 1 if pread is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PREAD */ ++ ++/* Define to 1 if pthread_sigmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTHREAD_SIGMASK */ ++ ++/* Define to 1 if ptsname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME */ ++ ++/* Define to 1 if ptsname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME_R */ ++ ++/* Define to 1 if pwrite is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PWRITE */ ++ ++/* Define to 1 if random is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM */ ++ ++/* Define to 1 if random_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM_R */ ++ ++/* Define to 1 if rawmemchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RAWMEMCHR */ ++ ++/* Define to 1 if readlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINK */ ++ ++/* Define to 1 if readlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINKAT */ ++ ++/* Define to 1 if realpath is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_REALPATH */ ++ ++/* Define to 1 if renameat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RENAMEAT */ ++ ++/* Define to 1 if rmdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_RMDIR 1 ++ ++/* Define to 1 if rpmatch is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RPMATCH */ ++ ++/* Define to 1 if secure_getenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SECURE_GETENV */ ++ ++/* Define to 1 if setenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETENV */ ++ ++/* Define to 1 if sethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETHOSTNAME */ ++ ++/* Define to 1 if setlocale is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SETLOCALE 1 ++ ++/* Define to 1 if setstate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE */ ++ ++/* Define to 1 if setstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE_R */ ++ ++/* Define to 1 if setusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETUSERSHELL */ ++ ++/* Define to 1 if sigaction is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGACTION */ ++ ++/* Define to 1 if sigaddset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGADDSET */ ++ ++/* Define to 1 if sigdelset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGDELSET */ ++ ++/* Define to 1 if sigemptyset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGEMPTYSET */ ++ ++/* Define to 1 if sigfillset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGFILLSET */ ++ ++/* Define to 1 if sigismember is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGISMEMBER */ ++ ++/* Define to 1 if sigpending is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPENDING */ ++ ++/* Define to 1 if sigprocmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPROCMASK */ ++ ++/* Define to 1 if sleep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SLEEP */ ++ ++/* Define to 1 if snprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SNPRINTF 1 ++ ++/* Define to 1 if srandom is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM */ ++ ++/* Define to 1 if srandom_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM_R */ ++ ++/* Define to 1 if stat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STAT */ ++ ++/* Define to 1 if stpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPCPY */ ++ ++/* Define to 1 if stpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPNCPY */ ++ ++/* Define to 1 if strcasestr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCASESTR */ ++ ++/* Define to 1 if strchrnul is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCHRNUL */ ++ ++/* Define to 1 if strdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRDUP 1 ++ ++/* Define to 1 if strerror_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRERROR_R */ ++ ++/* Define to 1 if strncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRNCAT 1 ++ ++/* Define to 1 if strndup is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNDUP */ ++ ++/* Define to 1 if strnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNLEN */ ++ ++/* Define to 1 if strpbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRPBRK 1 ++ ++/* Define to 1 if strsep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSEP */ ++ ++/* Define to 1 if strsignal is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSIGNAL */ ++ ++/* Define to 1 if strtod is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOD 1 ++ ++/* Define to 1 if strtok_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRTOK_R */ ++ ++/* Define to 1 if strtoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOLL 1 ++ ++/* Define to 1 if strtoull is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOULL 1 ++ ++/* Define to 1 if strverscmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRVERSCMP */ ++ ++/* Define to 1 if symlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINK */ ++ ++/* Define to 1 if symlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINKAT */ ++ ++/* Define to 1 if tmpfile is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TMPFILE 1 ++ ++/* Define to 1 if towctrans is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TOWCTRANS 1 ++ ++/* Define to 1 if ttyname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_TTYNAME_R */ ++ ++/* Define to 1 if unlink is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_UNLINK 1 ++ ++/* Define to 1 if unlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLINKAT */ ++ ++/* Define to 1 if unlockpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLOCKPT */ ++ ++/* Define to 1 if unsetenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNSETENV */ ++ ++/* Define to 1 if usleep is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_USLEEP 1 ++ ++/* Define to 1 if utimensat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UTIMENSAT */ ++ ++/* Define to 1 if vdprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_VDPRINTF */ ++ ++/* Define to 1 if vsnprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_VSNPRINTF 1 ++ ++/* Define to 1 if wcpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCPCPY */ ++ ++/* Define to 1 if wcpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCPNCPY */ ++ ++/* Define to 1 if wcrtomb is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCRTOMB 1 ++ ++/* Define to 1 if wcscasecmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSCASECMP */ ++ ++/* Define to 1 if wcscat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCAT 1 ++ ++/* Define to 1 if wcschr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCHR 1 ++ ++/* Define to 1 if wcscmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCMP 1 ++ ++/* Define to 1 if wcscoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCOLL 1 ++ ++/* Define to 1 if wcscpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCPY 1 ++ ++/* Define to 1 if wcscspn is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCSPN 1 ++ ++/* Define to 1 if wcsdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSDUP 1 ++ ++/* Define to 1 if wcslen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSLEN 1 ++ ++/* Define to 1 if wcsncasecmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNCASECMP */ ++ ++/* Define to 1 if wcsncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCAT 1 ++ ++/* Define to 1 if wcsncmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCMP 1 ++ ++/* Define to 1 if wcsncpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCPY 1 ++ ++/* Define to 1 if wcsnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNLEN */ ++ ++/* Define to 1 if wcsnrtombs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNRTOMBS */ ++ ++/* Define to 1 if wcspbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSPBRK 1 ++ ++/* Define to 1 if wcsrchr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRCHR 1 ++ ++/* Define to 1 if wcsrtombs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRTOMBS 1 ++ ++/* Define to 1 if wcsspn is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSSPN 1 ++ ++/* Define to 1 if wcsstr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSSTR 1 ++ ++/* Define to 1 if wcstok is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSTOK 1 ++ ++/* Define to 1 if wcswidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSWIDTH */ ++ ++/* Define to 1 if wcsxfrm is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSXFRM 1 ++ ++/* Define to 1 if wctob is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTOB 1 ++ ++/* Define to 1 if wctrans is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTRANS 1 ++ ++/* Define to 1 if wctype is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTYPE 1 ++ ++/* Define to 1 if wcwidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCWIDTH */ ++ ++/* Define to 1 if wmemchr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCHR 1 ++ ++/* Define to 1 if wmemcmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCMP 1 ++ ++/* Define to 1 if wmemcpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCPY 1 ++ ++/* Define to 1 if wmemmove is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMMOVE 1 ++ ++/* Define to 1 if wmemset is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMSET 1 ++ ++/* Define to 1 if _Exit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL__EXIT 1 ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the `readlinkat' function. */ ++/* #undef HAVE_READLINKAT */ ++ ++/* Define to 1 if you have the `realpath' function. */ ++/* #undef HAVE_REALPATH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if the system has the type `sigset_t'. */ ++#define HAVE_SIGSET_T 1 ++ ++/* Define to 1 if you have the `snprintf' function. */ ++#define HAVE_SNPRINTF 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDDEF_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define if exists, doesn't clash with , and declares ++ uintmax_t. */ ++#define HAVE_STDINT_H_WITH_UINTMAX 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `stpcpy' function. */ ++/* #undef HAVE_STPCPY */ ++ ++/* Define to 1 if you have the `strcasecmp' function. */ ++/* #undef HAVE_STRCASECMP */ ++ ++/* Define to 1 if you have the `strdup' function. */ ++#define HAVE_STRDUP 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the `strnlen' function. */ ++/* #undef HAVE_STRNLEN */ ++ ++/* Define to 1 if you have the `strtoul' function. */ ++#define HAVE_STRTOUL 1 ++ ++/* Define to 1 if you have the `symlink' function. */ ++/* #undef HAVE_SYMLINK */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_MMAN_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_PARAM_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_SOCKET_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_STAT_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TIMEB_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TIME_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TYPES_H 1 */ ++ ++/* Define to 1 if you have the `towlower' function. */ ++#define HAVE_TOWLOWER 1 ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define if you have the 'uintmax_t' type in or . */ ++#define HAVE_UINTMAX_T 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type 'unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `uselocale' function. */ ++/* #undef HAVE_USELOCALE */ ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++/* #undef HAVE_VISIBILITY */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++#define HAVE_WCRTOMB 1 ++ ++/* Define to 1 if you have the `wcslen' function. */ ++#define HAVE_WCSLEN 1 ++ ++/* Define to 1 if you have the `wcsnlen' function. */ ++/* #undef HAVE_WCSNLEN */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCTYPE_H 1 ++ ++/* Define to 1 if you have the `wcwidth' function. */ ++/* #undef HAVE_WCWIDTH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WINSOCK2_H 1 ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Define to 1 if O_NOATIME works. */ ++#define HAVE_WORKING_O_NOATIME 0 ++ ++/* Define to 1 if O_NOFOLLOW works. */ ++#define HAVE_WORKING_O_NOFOLLOW 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_XLOCALE_H */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++#define HAVE__BOOL 1 ++ ++/* Define to 1 if you have the `_ftime' function. */ ++#define HAVE__FTIME 1 ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ ++#define HAVE__SET_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `__fsetlocking' function. */ ++/* #undef HAVE___FSETLOCKING */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to a symbolic name denoting the flavor of iconv_open() ++ implementation. */ ++/* #undef ICONV_FLAVOR */ ++ ++/* Define to the value of ${prefix}, as a string. */ ++#define INSTALLPREFIX "/usr/local" ++ ++/* Define if integer division by zero raises signal SIGFPE. */ ++#define INTDIV0_RAISES_SIGFPE 1 ++ ++/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing ++ slash. */ ++/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ ++ ++/* Define to the sub-directory where libtool stores uninstalled libraries. */ ++#define LT_OBJDIR ".libs/" ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 1 ++ ++/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ ++/* #undef MAP_ANONYMOUS */ ++ ++/* Define if the mbrtowc function does not return (size_t) -2 for empty input. ++ */ ++/* #undef MBRTOWC_EMPTY_INPUT_BUG */ ++ ++/* Define if the mbrtowc function has the NULL pwc argument bug. */ ++/* #undef MBRTOWC_NULL_ARG1_BUG */ ++ ++/* Define if the mbrtowc function has the NULL string argument bug. */ ++/* #undef MBRTOWC_NULL_ARG2_BUG */ ++ ++/* Define if the mbrtowc function does not return 0 for a NUL character. */ ++/* #undef MBRTOWC_NUL_RETVAL_BUG */ ++ ++/* Define if the mbrtowc function returns a wrong return value. */ ++#define MBRTOWC_RETVAL_BUG 1 ++ ++/* Name of package */ ++#define PACKAGE "gettext-runtime" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "bug-gnu-gettext@gnu.org" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "gettext-runtime" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "gettext-runtime 0.19.4" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "gettext-runtime" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "0.19.4" ++ ++/* Define if exists and defines unusable PRI* macros. */ ++/* #undef PRI_MACROS_BROKEN */ ++ ++/* Define if the pthread_in_use() detection is hard. */ ++/* #undef PTHREAD_IN_USE_DETECTION_HARD */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++/* #undef PTRDIFF_T_SUFFIX */ ++ ++/* Define to 1 if readlink fails to recognize a trailing slash. */ ++/* #undef READLINK_TRAILING_SLASH_BUG */ ++ ++/* Define to 1 if stat needs help when passed a directory name with a trailing ++ slash */ ++#define REPLACE_FUNC_STAT_DIR 1 ++ ++/* Define to 1 if stat needs help when passed a file name with a trailing ++ slash */ ++/* #undef REPLACE_FUNC_STAT_FILE */ ++ ++/* Define to 1 if strerror(0) does not return a message implying success. */ ++/* #undef REPLACE_STRERROR_0 */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++/* #undef SIG_ATOMIC_T_SUFFIX */ ++ ++/* Define as the maximum value of type 'size_t', if the system doesn't define ++ it. */ ++#ifndef SIZE_MAX ++/* # undef SIZE_MAX */ ++#endif ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++/* #undef SIZE_T_SUFFIX */ ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Define to 1 if the `S_IS*' macros in do not work properly. */ ++/* #undef STAT_MACROS_BROKEN */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to the prefix of C symbols at the assembler and linker level, either ++ an underscore or empty. */ ++#define USER_LABEL_PREFIX _ ++ ++/* Define if the POSIX multithreading library can be used. */ ++/* #undef USE_POSIX_THREADS */ ++ ++/* Define if references to the POSIX multithreading library should be made ++ weak. */ ++/* #undef USE_POSIX_THREADS_WEAK */ ++ ++/* Define if the GNU Pth multithreading library can be used. */ ++/* #undef USE_PTH_THREADS */ ++ ++/* Define if references to the GNU Pth multithreading library should be made ++ weak. */ ++/* #undef USE_PTH_THREADS_WEAK */ ++ ++/* Define if the old Solaris multithreading library can be used. */ ++/* #undef USE_SOLARIS_THREADS */ ++ ++/* Define if references to the old Solaris multithreading library should be ++ made weak. */ ++/* #undef USE_SOLARIS_THREADS_WEAK */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable general extensions on OS X. */ ++#ifndef _DARWIN_C_SOURCE ++# define _DARWIN_C_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable X/Open extensions if necessary. HP-UX 11.11 defines ++ mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of ++ whether compiling with -Ae or -D_HPUX_SOURCE=1. */ ++#ifndef _XOPEN_SOURCE ++/* # undef _XOPEN_SOURCE */ ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# define __EXTENSIONS__ 1 ++#endif ++ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Define if the native Windows multithreading API can be used. */ ++#define USE_WINDOWS_THREADS 1 ++ ++/* Version number of package */ ++#define VERSION "0.19.4" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++/* #undef WCHAR_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++/* #undef WINT_T_SUFFIX */ ++ ++/* Define when --enable-shared is used on mingw or Cygwin. */ ++#define WOE32DLL 1 ++ ++/* Enable large inode numbers on Mac OS X 10.5. */ ++#define _DARWIN_USE_64_BIT_INODE 1 ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct ++ stat.st_size becomes 64-bit. */ ++#define _GL_WINDOWS_64_BIT_ST_SIZE 1 ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* Define to 1 on Solaris. */ ++/* #undef _LCONV_C99 */ ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ ++/* #undef _NETBSD_SOURCE */ ++ ++/* The _Noreturn keyword of C11. */ ++#if ! (defined _Noreturn \ ++ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) ++# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ ++ || 0x5110 <= __SUNPRO_C) ++# define _Noreturn __attribute__ ((__noreturn__)) ++# elif defined _MSC_VER && 1200 <= _MSC_VER ++# define _Noreturn __declspec (noreturn) ++# else ++# define _Noreturn ++# endif ++#endif ++ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for 'stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Define to rpl_ if the getopt replacement functions and variables should be ++ used. */ ++#define __GETOPT_PREFIX rpl_ ++ ++/* Please see the Gnulib manual for how to use these macros. ++ ++ Suppress extern inline with HP-UX cc, as it appears to be broken; see ++ . ++ ++ Suppress extern inline with Sun C in standards-conformance mode, as it ++ mishandles inline functions that call each other. E.g., for 'inline void f ++ (void) { } inline void g (void) { f (); }', c99 incorrectly complains ++ 'reference to static identifier "f" in extern inline function'. ++ This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. ++ ++ Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) ++ on configurations that mistakenly use 'static inline' to implement ++ functions or macros in standard C headers like . For example, ++ if isdigit is mistakenly implemented via a static inline function, ++ a program containing an extern inline function that calls isdigit ++ may not work since the C standard prohibits extern inline functions ++ from calling static functions. This bug is known to occur on: ++ ++ OS X 10.8 and earlier; see: ++ http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html ++ ++ DragonFly; see ++ http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log ++ ++ FreeBSD; see: ++ http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html ++ ++ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and ++ for clang but remains for g++; see . ++ Assume DragonFly and FreeBSD will be similar. */ ++#if (((defined __APPLE__ && defined __MACH__) \ ++ || defined __DragonFly__ || defined __FreeBSD__) \ ++ && (defined __header_inline \ ++ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ ++ && ! defined __clang__) \ ++ : ((! defined _DONT_USE_CTYPE_INLINE_ \ ++ && (defined __GNUC__ || defined __cplusplus)) \ ++ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ ++ && defined __GNUC__ && ! defined __cplusplus)))) ++# define _GL_EXTERN_INLINE_STDHEADER_BUG ++#endif ++#if ((__GNUC__ \ ++ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ ++ : (199901L <= __STDC_VERSION__ \ ++ && !defined __HP_cc \ ++ && !(defined __SUNPRO_C && __STDC__))) \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# define _GL_INLINE inline ++# define _GL_EXTERN_INLINE extern inline ++# define _GL_EXTERN_INLINE_IN_USE ++#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ ++ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ ++# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) ++# else ++# define _GL_INLINE extern inline ++# endif ++# define _GL_EXTERN_INLINE extern ++# define _GL_EXTERN_INLINE_IN_USE ++#else ++# define _GL_INLINE static _GL_UNUSED ++# define _GL_EXTERN_INLINE static _GL_UNUSED ++#endif ++ ++/* In GCC, suppress bogus "no previous prototype for 'FOO'" ++ and "no previous declaration for 'FOO'" diagnostics, ++ when FOO is an inline function in the header; see ++ and ++ . */ ++#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) ++# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ ++# define _GL_INLINE_HEADER_CONST_PRAGMA ++# else ++# define _GL_INLINE_HEADER_CONST_PRAGMA \ ++ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") ++# endif ++# define _GL_INLINE_HEADER_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ ++ _GL_INLINE_HEADER_CONST_PRAGMA ++# define _GL_INLINE_HEADER_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++# define _GL_INLINE_HEADER_BEGIN ++# define _GL_INLINE_HEADER_END ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define gid_t int ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#ifndef _GL_UNUSED ++# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++# else ++# define _GL_UNUSED ++# endif ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#ifndef _GL_ATTRIBUTE_PURE ++# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++# else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++# endif ++#endif ++ ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef __cplusplus ++#define inline __inline ++#endif ++ ++/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports ++ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of ++ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. ++ __APPLE__ && __MACH__ test for Mac OS X. ++ __APPLE_CC__ tests for the Apple compiler and its version. ++ __STDC_VERSION__ tests for the C99 mode. */ ++#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ ++# define __GNUC_STDC_INLINE__ 1 ++#endif ++ ++/* Define to a type if does not define. */ ++/* #undef mbstate_t */ ++ ++/* Define to `int' if does not define. */ ++/* #undef mode_t */ ++ ++/* Define to the type of st_nlink in struct stat, or a supertype. */ ++#define nlink_t int ++ ++/* Define to `int' if does not define. */ ++/* #undef pid_t */ ++ ++/* Define as the type of the result of subtracting two pointers, if the system ++ doesn't define it. */ ++/* #undef ptrdiff_t */ ++ ++/* Work around a bug in Sun C++: it does not support _Restrict or ++ __restrict__, even though the corresponding Sun C compiler ends up with ++ "#define restrict _Restrict" or "#define restrict __restrict__" in the ++ previous line. Perhaps some future version of Sun C++ will work with ++ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++# define __restrict__ ++#endif ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef size_t */ ++ ++/* Define as a signed type of the same size as size_t. */ ++/* #undef ssize_t */ ++ ++/* Define to `int' if doesn't define. */ ++#define uid_t int ++ ++/* Define to unsigned long or unsigned long long if and ++ don't define. */ ++/* #undef uintmax_t */ ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_UNUSED ++#endif ++/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name ++ is a misnomer outside of parameter lists. */ ++#define _UNUSED_PARAMETER_ _GL_UNUSED ++ ++/* gcc supports the "unused" attribute on possibly unused labels, and ++ g++ has since version 4.5. Note to support C++ as well as C, ++ _GL_UNUSED_LABEL should be used with a trailing ; */ ++#if !defined __cplusplus || __GNUC__ > 4 \ ++ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) ++# define _GL_UNUSED_LABEL _GL_UNUSED ++#else ++# define _GL_UNUSED_LABEL ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++#else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++#endif ++ ++/* The __const__ attribute was added in gcc 2.95. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) ++# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) ++#else ++# define _GL_ATTRIBUTE_CONST /* empty */ ++#endif ++ ++ ++ ++#define __libc_lock_t gl_lock_t ++#define __libc_lock_define gl_lock_define ++#define __libc_lock_define_initialized gl_lock_define_initialized ++#define __libc_lock_init gl_lock_init ++#define __libc_lock_lock gl_lock_lock ++#define __libc_lock_unlock gl_lock_unlock ++#define __libc_lock_recursive_t gl_recursive_lock_t ++#define __libc_lock_define_recursive gl_recursive_lock_define ++#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized ++#define __libc_lock_init_recursive gl_recursive_lock_init ++#define __libc_lock_lock_recursive gl_recursive_lock_lock ++#define __libc_lock_unlock_recursive gl_recursive_lock_unlock ++#define glthread_in_use libintl_thread_in_use ++#define glthread_lock_init_func libintl_lock_init_func ++#define glthread_lock_lock_func libintl_lock_lock_func ++#define glthread_lock_unlock_func libintl_lock_unlock_func ++#define glthread_lock_destroy_func libintl_lock_destroy_func ++#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded ++#define glthread_rwlock_init_func libintl_rwlock_init_func ++#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded ++#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func ++#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded ++#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func ++#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded ++#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func ++#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded ++#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func ++#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded ++#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func ++#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded ++#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func ++#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded ++#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func ++#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded ++#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func ++#define glthread_once_func libintl_once_func ++#define glthread_once_singlethreaded libintl_once_singlethreaded ++#define glthread_once_multithreaded libintl_once_multithreaded ++ ++ ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#if (defined _MSC_VER && defined _DLL) && !defined IN_RELOCWRAPPER ++# define DLL_VARIABLE __declspec (dllimport) ++#else ++# define DLL_VARIABLE ++#endif ++ ++/* Extra OS/2 (emx+gcc) defines. */ ++#ifdef __EMX__ ++# include "intl/os2compat.h" ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++#define LOCALEDIR "" ++#define LOCALE_ALIAS_PATH "" ++ ++#include ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ +diff -ruN ./libgnuintl.h ../gettext-0.19.4/libgnuintl.h +--- ./libgnuintl.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libgnuintl.h 2015-10-06 17:37:53.971759143 +0300 +@@ -0,0 +1,474 @@ ++/* libgnuintl.h. Generated from libgnuintl.h.in. */ ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include ++#if (defined __APPLE__ && defined __MACH__) && 0 ++# include ++#endif ++ ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001304 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to 'gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to 'dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to 'dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++#ifndef IN_LIBGLOCALE ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++#endif /* IN_LIBGLOCALE */ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !0 ++ ++#include ++#include ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include ++#else ++# include ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 1 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 1 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#ifndef GNULIB_defined_setlocale /* don't override gnulib */ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++#endif ++ ++#if 0 ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +diff -ruN ./libintl.h ../gettext-0.19.4/libintl.h +--- ./libintl.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libintl.h 2015-10-06 17:29:18.471752070 +0300 +@@ -0,0 +1,474 @@ ++/* libgnuintl.h. Generated from libgnuintl.h.in. */ ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include ++#if (defined __APPLE__ && defined __MACH__) && 0 ++# include ++#endif ++ ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001304 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to 'gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to 'dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to 'dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++#ifndef IN_LIBGLOCALE ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++#endif /* IN_LIBGLOCALE */ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !0 ++ ++#include ++#include ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include ++#else ++# include ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 1 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 1 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#ifndef GNULIB_defined_setlocale /* don't override gnulib */ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++#endif ++ ++#if 0 ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj +--- ./libintl.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libintl.vcxproj 2015-10-06 17:29:41.251752381 +0300 +@@ -0,0 +1,223 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {9E3973B5-12BD-4E6F-A30A-D41D8E657A4D} ++ libintl ++ Win32Proj ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libintl\ ++ ++ ++ ++ Disabled ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libintl.pdb ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --git a/patches/gettext/gettext-0.20.2-MSVC2019.patch b/patches/gettext/gettext-0.20.2-MSVC2019.patch new file mode 100644 index 0000000..86c7193 --- /dev/null +++ b/patches/gettext/gettext-0.20.2-MSVC2019.patch @@ -0,0 +1,2864 @@ +diff -ruN ./config.h ../gettext-0.19.4/config.h +--- ./config.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/config.h 2015-10-06 17:09:28.491737100 +0300 +@@ -0,0 +1,1677 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define if mono is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_MONO */ ++ ++/* Define if pnet is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_PNET */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Define to 1 if // is a file system root distinct from /. */ ++#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #define ENABLE_NLS 1 */ ++ ++/* Define to 1 if the package shall run at any location in the file system. */ ++/* #undef ENABLE_RELOCATABLE */ ++ ++/* Define to 1 if realpath() can malloc memory, always gives an absolute path, ++ and handles trailing slash correctly. */ ++/* #undef FUNC_REALPATH_WORKS */ ++ ++/* Define if gettimeofday clobbers the localtime buffer. */ ++/* #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME */ ++ ++/* Define this to 'void' or 'struct timezone' to match the system's ++ declaration of the second argument to gettimeofday. */ ++#define GETTIMEOFDAY_TIMEZONE void ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module canonicalize-lgpl shall be considered present. */ ++#define GNULIB_CANONICALIZE_LGPL 1 ++ ++#define GNULIB_defined_setlocale 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fscanf shall be considered present. */ ++#define GNULIB_FSCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fwriteerror shall be considered present. */ ++#define GNULIB_FWRITEERROR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module lock shall be considered present. */ ++#define GNULIB_LOCK 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module scanf shall be considered present. */ ++#define GNULIB_SCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module sigpipe shall be considered present. */ ++#define GNULIB_SIGPIPE 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module strerror shall be considered present. */ ++#define GNULIB_STRERROR 1 ++ ++/* Define to 1 when the gnulib module canonicalize_file_name should be tested. ++ */ ++#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 ++ ++/* Define to 1 when the gnulib module environ should be tested. */ ++#define GNULIB_TEST_ENVIRON 1 ++ ++/* Define to 1 when the gnulib module getopt-gnu should be tested. */ ++#define GNULIB_TEST_GETOPT_GNU 1 ++ ++/* Define to 1 when the gnulib module gettimeofday should be tested. */ ++#define GNULIB_TEST_GETTIMEOFDAY 1 ++ ++/* Define to 1 when the gnulib module iswblank should be tested. */ ++#define GNULIB_TEST_ISWBLANK 1 ++ ++/* Define to 1 when the gnulib module lstat should be tested. */ ++#define GNULIB_TEST_LSTAT 1 ++ ++/* Define to 1 when the gnulib module mbrtowc should be tested. */ ++#define GNULIB_TEST_MBRTOWC 1 ++ ++/* Define to 1 when the gnulib module mbsinit should be tested. */ ++#define GNULIB_TEST_MBSINIT 1 ++ ++/* Define to 1 when the gnulib module mbslen should be tested. */ ++#define GNULIB_TEST_MBSLEN 1 ++ ++/* Define to 1 when the gnulib module mbsstr should be tested. */ ++#define GNULIB_TEST_MBSSTR 1 ++ ++/* Define to 1 when the gnulib module memchr should be tested. */ ++#define GNULIB_TEST_MEMCHR 1 ++ ++/* Define to 1 when the gnulib module raise should be tested. */ ++#define GNULIB_TEST_RAISE 1 ++ ++/* Define to 1 when the gnulib module readlink should be tested. */ ++#define GNULIB_TEST_READLINK 1 ++ ++/* Define to 1 when the gnulib module realpath should be tested. */ ++#define GNULIB_TEST_REALPATH 1 ++ ++/* Define to 1 when the gnulib module setlocale should be tested. */ ++#define GNULIB_TEST_SETLOCALE 1 ++ ++/* Define to 1 when the gnulib module sigprocmask should be tested. */ ++#define GNULIB_TEST_SIGPROCMASK 1 ++ ++/* Define to 1 when the gnulib module stat should be tested. */ ++#define GNULIB_TEST_STAT 1 ++ ++/* Define to 1 when the gnulib module strerror should be tested. */ ++#define GNULIB_TEST_STRERROR 1 ++ ++/* Define to 1 when the gnulib module strnlen should be tested. */ ++#define GNULIB_TEST_STRNLEN 1 ++ ++/* Define to 1 when the gnulib module wcwidth should be tested. */ ++#define GNULIB_TEST_WCWIDTH 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module unistr/u8-mbtoucr shall be considered present. */ ++#define GNULIB_UNISTR_U8_MBTOUCR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module unistr/u8-uctomb shall be considered present. */ ++#define GNULIB_UNISTR_U8_UCTOMB 1 ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `argz_count' function. */ ++/* #undef HAVE_ARGZ_COUNT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_ARGZ_H */ ++ ++/* Define to 1 if you have the `argz_next' function. */ ++/* #undef HAVE_ARGZ_NEXT */ ++ ++/* Define to 1 if you have the `argz_stringify' function. */ ++/* #undef HAVE_ARGZ_STRINGIFY */ ++ ++/* Define to 1 if you have the `asprintf' function. */ ++/* #undef HAVE_ASPRINTF */ ++ ++/* Define to 1 if you have the `atexit' function. */ ++#define HAVE_ATEXIT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_BP_SYM_H */ ++ ++/* Define to 1 if the compiler understands __builtin_expect. */ ++/* #define HAVE_BUILTIN_EXPECT 1 */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_GETENV 1 ++ ++/* Define to 1 if you have the declaration of `iswblank', and to 0 if you ++ don't. */ ++#define HAVE_DECL_ISWBLANK 1 ++ ++/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_MBRTOWC */ ++ ++/* Define to 1 if you have the declaration of `mbsinit', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_MBSINIT */ ++ ++/* Define to 1 if you have the declaration of `program_invocation_name', and ++ to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_short_name', ++ and to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_SETENV 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the declaration of `strnlen', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRNLEN 0 ++ ++/* Define to 1 if you have the declaration of `towlower', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_TOWLOWER */ ++ ++/* Define to 1 if you have the declaration of `wcwidth', and to 0 if you ++ don't. */ ++#define HAVE_DECL_WCWIDTH 0 ++ ++/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNPRINTF 1 ++ ++/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNWPRINTF 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_FEATURES_H */ ++ ++/* Define to 1 if you have the `fwprintf' function. */ ++#define HAVE_FWPRINTF 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getegid' function. */ ++/* #undef HAVE_GETEGID */ ++ ++/* Define to 1 if you have the `geteuid' function. */ ++/* #undef HAVE_GETEUID */ ++ ++/* Define to 1 if you have the `getgid' function. */ ++/* #undef HAVE_GETGID */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_GETOPT_H */ ++ ++/* Define to 1 if you have the `getopt_long_only' function. */ ++/* #undef HAVE_GETOPT_LONG_ONLY */ ++ ++/* Define to 1 if you have the `getpagesize' function. */ ++#define HAVE_GETPAGESIZE 1 ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define to 1 if you have the `gettimeofday' function. */ ++#define HAVE_GETTIMEOFDAY 1 ++ ++/* Define to 1 if you have the `getuid' function. */ ++/* #undef HAVE_GETUID */ ++ ++/* Define if you have the iconv() function and it works. */ ++#define HAVE_ICONV 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_ICONV_H 1 ++ ++/* Define to 1 if the compiler supports one of the keywords 'inline', ++ '__inline__', '__inline' and effectively inlines functions marked as such. ++ */ ++#define HAVE_INLINE 1 ++ ++/* Define if you have the 'intmax_t' type in or . */ ++#define HAVE_INTMAX_T 1 ++ ++/* Define to 1 if you have the header file. */ ++#if _MSC_VER > 1600 ++#define HAVE_INTTYPES_H 1 ++#endif ++/* Define if exists, doesn't clash with , and ++ declares uintmax_t. */ ++#if _MSC_VER > 1600 ++#define HAVE_INTTYPES_H_WITH_UINTMAX 1 ++#endif ++ ++/* Define to 1 if you have the `iswblank' function. */ ++#define HAVE_ISWBLANK 1 ++ ++/* Define to 1 if you have the `iswcntrl' function. */ ++#define HAVE_ISWCNTRL 1 ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define if your file defines LC_MESSAGES. */ ++/* #undef HAVE_LC_MESSAGES */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if the system has the type 'long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++/* #undef HAVE_LSTAT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including ++ config.h and . */ ++/* #undef HAVE_MAP_ANONYMOUS */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++#define HAVE_MBRTOWC 1 ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++#define HAVE_MBSINIT 1 ++ ++/* Define to 1 if you have the `mbslen' function. */ ++/* #undef HAVE_MBSLEN */ ++ ++/* Define to 1 if declares mbstate_t. */ ++#define HAVE_MBSTATE_T 1 ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the `mempcpy' function. */ ++/* #undef HAVE_MEMPCPY */ ++ ++/* Define to 1 if you have a working `mmap' system call. */ ++/* #undef HAVE_MMAP */ ++ ++/* Define to 1 if you have the `mprotect' function. */ ++#define HAVE_MPROTECT 1 ++ ++/* Define to 1 on MSVC platforms that have the "invalid parameter handler" ++ concept. */ ++#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `munmap' function. */ ++/* #undef HAVE_MUNMAP */ ++ ++/* Define to 1 if you have the `newlocale' function. */ ++/* #undef HAVE_NEWLOCALE */ ++ ++/* Define if your printf() function supports format strings with positions. */ ++/* #undef HAVE_POSIX_PRINTF */ ++ ++/* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ ++/* #undef HAVE_PTHREAD_MUTEX_RECURSIVE */ ++ ++/* Define if the POSIX multithreading library has read/write locks. */ ++/* #undef HAVE_PTHREAD_RWLOCK */ ++ ++/* Define to 1 if you have the `putenv' function. */ ++#define HAVE_PUTENV 1 ++ ++/* Define to 1 if you have the `raise' function. */ ++#define HAVE_RAISE 1 ++ ++/* Define to 1 if atoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ATOLL 1 ++ ++/* Define to 1 if btowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_BTOWC 1 ++ ++/* Define to 1 if canonicalize_file_name is declared even after undefining ++ macros. */ ++/* #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if chdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_CHDIR 1 ++ ++/* Define to 1 if chown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_CHOWN */ ++ ++/* Define to 1 if dprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DPRINTF */ ++ ++/* Define to 1 if dup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP 1 ++ ++/* Define to 1 if dup2 is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP2 1 ++ ++/* Define to 1 if dup3 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUP3 */ ++ ++/* Define to 1 if duplocale is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUPLOCALE */ ++ ++/* Define to 1 if endusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENDUSERSHELL */ ++ ++/* Define to 1 if environ is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENVIRON */ ++ ++/* Define to 1 if euidaccess is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_EUIDACCESS */ ++ ++/* Define to 1 if faccessat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FACCESSAT */ ++ ++/* Define to 1 if fchdir is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHDIR */ ++ ++/* Define to 1 if fchmodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHMODAT */ ++ ++/* Define to 1 if fchownat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHOWNAT */ ++ ++/* Define to 1 if fdatasync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FDATASYNC */ ++ ++/* Define to 1 if ffsl is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FFSL */ ++ ++/* Define to 1 if ffsll is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FFSLL */ ++ ++/* Define to 1 if fpurge is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FPURGE */ ++ ++/* Define to 1 if fseeko is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSEEKO */ ++ ++/* Define to 1 if fstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTAT */ ++ ++/* Define to 1 if fstatat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTATAT */ ++ ++/* Define to 1 if fsync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSYNC */ ++ ++/* Define to 1 if ftello is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FTELLO */ ++ ++/* Define to 1 if ftruncate is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_FTRUNCATE 1 ++ ++/* Define to 1 if futimens is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FUTIMENS */ ++ ++/* Define to 1 if getcwd is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETCWD 1 ++ ++/* Define to 1 if getdelim is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDELIM */ ++ ++/* Define to 1 if getdomainname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDOMAINNAME */ ++ ++/* Define to 1 if getdtablesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDTABLESIZE */ ++ ++/* Define to 1 if getgroups is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETGROUPS */ ++ ++/* Define to 1 if gethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETHOSTNAME */ ++ ++/* Define to 1 if getline is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLINE */ ++ ++/* Define to 1 if getloadavg is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOADAVG */ ++ ++/* Define to 1 if getlogin is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN */ ++ ++/* Define to 1 if getlogin_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN_R */ ++ ++/* Define to 1 if getpagesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETPAGESIZE */ ++ ++/* Define to 1 if gets is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETS 1 ++ ++/* Define to 1 if getsubopt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETSUBOPT */ ++ ++/* Define to 1 if gettimeofday is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETTIMEOFDAY 1 ++ ++/* Define to 1 if getusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETUSERSHELL */ ++ ++/* Define to 1 if grantpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GRANTPT */ ++ ++/* Define to 1 if group_member is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GROUP_MEMBER */ ++ ++/* Define to 1 if initstate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTATE */ ++ ++/* Define to 1 if initstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTATE_R */ ++ ++/* Define to 1 if isatty is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ISATTY 1 ++ ++/* Define to 1 if iswctype is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ISWCTYPE 1 ++ ++/* Define to 1 if lchmod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHMOD */ ++ ++/* Define to 1 if lchown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHOWN */ ++ ++/* Define to 1 if link is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINK */ ++ ++/* Define to 1 if linkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINKAT */ ++ ++/* Define to 1 if lseek is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_LSEEK 1 ++ ++/* Define to 1 if lstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LSTAT */ ++ ++/* Define to 1 if mbrlen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRLEN 1 ++ ++/* Define to 1 if mbrtowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRTOWC 1 ++ ++/* Define to 1 if mbsinit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSINIT 1 ++ ++/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MBSNRTOWCS */ ++ ++/* Define to 1 if mbsrtowcs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSRTOWCS 1 ++ ++/* Define to 1 if memmem is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMMEM */ ++ ++/* Define to 1 if mempcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMPCPY */ ++ ++/* Define to 1 if memrchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMRCHR */ ++ ++/* Define to 1 if mkdirat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDIRAT */ ++ ++/* Define to 1 if mkdtemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDTEMP */ ++ ++/* Define to 1 if mkfifo is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFO */ ++ ++/* Define to 1 if mkfifoat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFOAT */ ++ ++/* Define to 1 if mknod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNOD */ ++ ++/* Define to 1 if mknodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNODAT */ ++ ++/* Define to 1 if mkostemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMP */ ++ ++/* Define to 1 if mkostemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMPS */ ++ ++/* Define to 1 if mkstemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMP */ ++ ++/* Define to 1 if mkstemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMPS */ ++ ++/* Define to 1 if pclose is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_PCLOSE 1 ++ ++/* Define to 1 if pipe is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE */ ++ ++/* Define to 1 if pipe2 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE2 */ ++ ++/* Define to 1 if popen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_POPEN 1 ++ ++/* Define to 1 if posix_openpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_POSIX_OPENPT */ ++ ++/* Define to 1 if pread is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PREAD */ ++ ++/* Define to 1 if pthread_sigmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTHREAD_SIGMASK */ ++ ++/* Define to 1 if ptsname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME */ ++ ++/* Define to 1 if ptsname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME_R */ ++ ++/* Define to 1 if pwrite is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PWRITE */ ++ ++/* Define to 1 if random is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM */ ++ ++/* Define to 1 if random_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM_R */ ++ ++/* Define to 1 if rawmemchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RAWMEMCHR */ ++ ++/* Define to 1 if readlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINK */ ++ ++/* Define to 1 if readlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINKAT */ ++ ++/* Define to 1 if realpath is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_REALPATH */ ++ ++/* Define to 1 if renameat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RENAMEAT */ ++ ++/* Define to 1 if rmdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_RMDIR 1 ++ ++/* Define to 1 if rpmatch is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RPMATCH */ ++ ++/* Define to 1 if secure_getenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SECURE_GETENV */ ++ ++/* Define to 1 if setenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETENV */ ++ ++/* Define to 1 if sethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETHOSTNAME */ ++ ++/* Define to 1 if setlocale is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SETLOCALE 1 ++ ++/* Define to 1 if setstate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE */ ++ ++/* Define to 1 if setstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE_R */ ++ ++/* Define to 1 if setusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETUSERSHELL */ ++ ++/* Define to 1 if sigaction is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGACTION */ ++ ++/* Define to 1 if sigaddset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGADDSET */ ++ ++/* Define to 1 if sigdelset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGDELSET */ ++ ++/* Define to 1 if sigemptyset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGEMPTYSET */ ++ ++/* Define to 1 if sigfillset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGFILLSET */ ++ ++/* Define to 1 if sigismember is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGISMEMBER */ ++ ++/* Define to 1 if sigpending is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPENDING */ ++ ++/* Define to 1 if sigprocmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPROCMASK */ ++ ++/* Define to 1 if sleep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SLEEP */ ++ ++/* Define to 1 if snprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SNPRINTF 1 ++ ++/* Define to 1 if srandom is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM */ ++ ++/* Define to 1 if srandom_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM_R */ ++ ++/* Define to 1 if stat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STAT */ ++ ++/* Define to 1 if stpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPCPY */ ++ ++/* Define to 1 if stpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPNCPY */ ++ ++/* Define to 1 if strcasestr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCASESTR */ ++ ++/* Define to 1 if strchrnul is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCHRNUL */ ++ ++/* Define to 1 if strdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRDUP 1 ++ ++/* Define to 1 if strerror_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRERROR_R */ ++ ++/* Define to 1 if strncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRNCAT 1 ++ ++/* Define to 1 if strndup is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNDUP */ ++ ++/* Define to 1 if strnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNLEN */ ++ ++/* Define to 1 if strpbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRPBRK 1 ++ ++/* Define to 1 if strsep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSEP */ ++ ++/* Define to 1 if strsignal is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSIGNAL */ ++ ++/* Define to 1 if strtod is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOD 1 ++ ++/* Define to 1 if strtok_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRTOK_R */ ++ ++/* Define to 1 if strtoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOLL 1 ++ ++/* Define to 1 if strtoull is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOULL 1 ++ ++/* Define to 1 if strverscmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRVERSCMP */ ++ ++/* Define to 1 if symlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINK */ ++ ++/* Define to 1 if symlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINKAT */ ++ ++/* Define to 1 if tmpfile is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TMPFILE 1 ++ ++/* Define to 1 if towctrans is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TOWCTRANS 1 ++ ++/* Define to 1 if ttyname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_TTYNAME_R */ ++ ++/* Define to 1 if unlink is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_UNLINK 1 ++ ++/* Define to 1 if unlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLINKAT */ ++ ++/* Define to 1 if unlockpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLOCKPT */ ++ ++/* Define to 1 if unsetenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNSETENV */ ++ ++/* Define to 1 if usleep is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_USLEEP 1 ++ ++/* Define to 1 if utimensat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UTIMENSAT */ ++ ++/* Define to 1 if vdprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_VDPRINTF */ ++ ++/* Define to 1 if vsnprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_VSNPRINTF 1 ++ ++/* Define to 1 if wcpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCPCPY */ ++ ++/* Define to 1 if wcpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCPNCPY */ ++ ++/* Define to 1 if wcrtomb is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCRTOMB 1 ++ ++/* Define to 1 if wcscasecmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSCASECMP */ ++ ++/* Define to 1 if wcscat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCAT 1 ++ ++/* Define to 1 if wcschr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCHR 1 ++ ++/* Define to 1 if wcscmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCMP 1 ++ ++/* Define to 1 if wcscoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCOLL 1 ++ ++/* Define to 1 if wcscpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCPY 1 ++ ++/* Define to 1 if wcscspn is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCSPN 1 ++ ++/* Define to 1 if wcsdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSDUP 1 ++ ++/* Define to 1 if wcslen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSLEN 1 ++ ++/* Define to 1 if wcsncasecmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNCASECMP */ ++ ++/* Define to 1 if wcsncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCAT 1 ++ ++/* Define to 1 if wcsncmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCMP 1 ++ ++/* Define to 1 if wcsncpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCPY 1 ++ ++/* Define to 1 if wcsnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNLEN */ ++ ++/* Define to 1 if wcsnrtombs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNRTOMBS */ ++ ++/* Define to 1 if wcspbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSPBRK 1 ++ ++/* Define to 1 if wcsrchr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRCHR 1 ++ ++/* Define to 1 if wcsrtombs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRTOMBS 1 ++ ++/* Define to 1 if wcsspn is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSSPN 1 ++ ++/* Define to 1 if wcsstr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSSTR 1 ++ ++/* Define to 1 if wcstok is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSTOK 1 ++ ++/* Define to 1 if wcswidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSWIDTH */ ++ ++/* Define to 1 if wcsxfrm is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSXFRM 1 ++ ++/* Define to 1 if wctob is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTOB 1 ++ ++/* Define to 1 if wctrans is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTRANS 1 ++ ++/* Define to 1 if wctype is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTYPE 1 ++ ++/* Define to 1 if wcwidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCWIDTH */ ++ ++/* Define to 1 if wmemchr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCHR 1 ++ ++/* Define to 1 if wmemcmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCMP 1 ++ ++/* Define to 1 if wmemcpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCPY 1 ++ ++/* Define to 1 if wmemmove is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMMOVE 1 ++ ++/* Define to 1 if wmemset is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMSET 1 ++ ++/* Define to 1 if _Exit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL__EXIT 1 ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the `readlinkat' function. */ ++/* #undef HAVE_READLINKAT */ ++ ++/* Define to 1 if you have the `realpath' function. */ ++/* #undef HAVE_REALPATH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if the system has the type `sigset_t'. */ ++#define HAVE_SIGSET_T 1 ++ ++/* Define to 1 if you have the `snprintf' function. */ ++#define HAVE_SNPRINTF 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDDEF_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define if exists, doesn't clash with , and declares ++ uintmax_t. */ ++#define HAVE_STDINT_H_WITH_UINTMAX 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `stpcpy' function. */ ++/* #undef HAVE_STPCPY */ ++ ++/* Define to 1 if you have the `strcasecmp' function. */ ++/* #undef HAVE_STRCASECMP */ ++ ++/* Define to 1 if you have the `strdup' function. */ ++#define HAVE_STRDUP 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the `strnlen' function. */ ++/* #undef HAVE_STRNLEN */ ++ ++/* Define to 1 if you have the `strtoul' function. */ ++#define HAVE_STRTOUL 1 ++ ++/* Define to 1 if you have the `symlink' function. */ ++/* #undef HAVE_SYMLINK */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_MMAN_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_PARAM_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_SOCKET_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_STAT_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TIMEB_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TIME_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TYPES_H 1 */ ++ ++/* Define to 1 if you have the `towlower' function. */ ++#define HAVE_TOWLOWER 1 ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define if you have the 'uintmax_t' type in or . */ ++#define HAVE_UINTMAX_T 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type 'unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `uselocale' function. */ ++/* #undef HAVE_USELOCALE */ ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++/* #undef HAVE_VISIBILITY */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++#define HAVE_WCRTOMB 1 ++ ++/* Define to 1 if you have the `wcslen' function. */ ++#define HAVE_WCSLEN 1 ++ ++/* Define to 1 if you have the `wcsnlen' function. */ ++/* #undef HAVE_WCSNLEN */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCTYPE_H 1 ++ ++/* Define to 1 if you have the `wcwidth' function. */ ++/* #undef HAVE_WCWIDTH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WINSOCK2_H 1 ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Define to 1 if O_NOATIME works. */ ++#define HAVE_WORKING_O_NOATIME 0 ++ ++/* Define to 1 if O_NOFOLLOW works. */ ++#define HAVE_WORKING_O_NOFOLLOW 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_XLOCALE_H */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++#define HAVE__BOOL 1 ++ ++/* Define to 1 if you have the `_ftime' function. */ ++#define HAVE__FTIME 1 ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ ++#define HAVE__SET_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `__fsetlocking' function. */ ++/* #undef HAVE___FSETLOCKING */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to a symbolic name denoting the flavor of iconv_open() ++ implementation. */ ++/* #undef ICONV_FLAVOR */ ++ ++/* Define to the value of ${prefix}, as a string. */ ++#define INSTALLPREFIX "/usr/local" ++ ++/* Define if integer division by zero raises signal SIGFPE. */ ++#define INTDIV0_RAISES_SIGFPE 1 ++ ++/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing ++ slash. */ ++/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ ++ ++/* Define to the sub-directory where libtool stores uninstalled libraries. */ ++#define LT_OBJDIR ".libs/" ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 1 ++ ++/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ ++/* #undef MAP_ANONYMOUS */ ++ ++/* Define if the mbrtowc function does not return (size_t) -2 for empty input. ++ */ ++/* #undef MBRTOWC_EMPTY_INPUT_BUG */ ++ ++/* Define if the mbrtowc function has the NULL pwc argument bug. */ ++/* #undef MBRTOWC_NULL_ARG1_BUG */ ++ ++/* Define if the mbrtowc function has the NULL string argument bug. */ ++/* #undef MBRTOWC_NULL_ARG2_BUG */ ++ ++/* Define if the mbrtowc function does not return 0 for a NUL character. */ ++/* #undef MBRTOWC_NUL_RETVAL_BUG */ ++ ++/* Define if the mbrtowc function returns a wrong return value. */ ++#define MBRTOWC_RETVAL_BUG 1 ++ ++/* Name of package */ ++#define PACKAGE "gettext-runtime" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "bug-gnu-gettext@gnu.org" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "gettext-runtime" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "gettext-runtime 0.19.4" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "gettext-runtime" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "0.19.4" ++ ++/* Define if exists and defines unusable PRI* macros. */ ++/* #undef PRI_MACROS_BROKEN */ ++ ++/* Define if the pthread_in_use() detection is hard. */ ++/* #undef PTHREAD_IN_USE_DETECTION_HARD */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++/* #undef PTRDIFF_T_SUFFIX */ ++ ++/* Define to 1 if readlink fails to recognize a trailing slash. */ ++/* #undef READLINK_TRAILING_SLASH_BUG */ ++ ++/* Define to 1 if stat needs help when passed a directory name with a trailing ++ slash */ ++#define REPLACE_FUNC_STAT_DIR 1 ++ ++/* Define to 1 if stat needs help when passed a file name with a trailing ++ slash */ ++/* #undef REPLACE_FUNC_STAT_FILE */ ++ ++/* Define to 1 if strerror(0) does not return a message implying success. */ ++/* #undef REPLACE_STRERROR_0 */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++/* #undef SIG_ATOMIC_T_SUFFIX */ ++ ++/* Define as the maximum value of type 'size_t', if the system doesn't define ++ it. */ ++#ifndef SIZE_MAX ++/* # undef SIZE_MAX */ ++#endif ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++/* #undef SIZE_T_SUFFIX */ ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Define to 1 if the `S_IS*' macros in do not work properly. */ ++/* #undef STAT_MACROS_BROKEN */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to the prefix of C symbols at the assembler and linker level, either ++ an underscore or empty. */ ++#define USER_LABEL_PREFIX _ ++ ++/* Define if the POSIX multithreading library can be used. */ ++/* #undef USE_POSIX_THREADS */ ++ ++/* Define if references to the POSIX multithreading library should be made ++ weak. */ ++/* #undef USE_POSIX_THREADS_WEAK */ ++ ++/* Define if the GNU Pth multithreading library can be used. */ ++/* #undef USE_PTH_THREADS */ ++ ++/* Define if references to the GNU Pth multithreading library should be made ++ weak. */ ++/* #undef USE_PTH_THREADS_WEAK */ ++ ++/* Define if the old Solaris multithreading library can be used. */ ++/* #undef USE_SOLARIS_THREADS */ ++ ++/* Define if references to the old Solaris multithreading library should be ++ made weak. */ ++/* #undef USE_SOLARIS_THREADS_WEAK */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable general extensions on OS X. */ ++#ifndef _DARWIN_C_SOURCE ++# define _DARWIN_C_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable X/Open extensions if necessary. HP-UX 11.11 defines ++ mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of ++ whether compiling with -Ae or -D_HPUX_SOURCE=1. */ ++#ifndef _XOPEN_SOURCE ++/* # undef _XOPEN_SOURCE */ ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# define __EXTENSIONS__ 1 ++#endif ++ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Define if the native Windows multithreading API can be used. */ ++#define USE_WINDOWS_THREADS 1 ++ ++/* Version number of package */ ++#define VERSION "0.19.4" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++/* #undef WCHAR_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++/* #undef WINT_T_SUFFIX */ ++ ++/* Define when --enable-shared is used on mingw or Cygwin. */ ++#define WOE32DLL 1 ++ ++/* Enable large inode numbers on Mac OS X 10.5. */ ++#define _DARWIN_USE_64_BIT_INODE 1 ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct ++ stat.st_size becomes 64-bit. */ ++#define _GL_WINDOWS_64_BIT_ST_SIZE 1 ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* Define to 1 on Solaris. */ ++/* #undef _LCONV_C99 */ ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ ++/* #undef _NETBSD_SOURCE */ ++ ++/* The _Noreturn keyword of C11. */ ++#if ! (defined _Noreturn \ ++ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) ++# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ ++ || 0x5110 <= __SUNPRO_C) ++# define _Noreturn __attribute__ ((__noreturn__)) ++# elif defined _MSC_VER && 1200 <= _MSC_VER ++# define _Noreturn __declspec (noreturn) ++# else ++# define _Noreturn ++# endif ++#endif ++ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for 'stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Define to rpl_ if the getopt replacement functions and variables should be ++ used. */ ++#define __GETOPT_PREFIX rpl_ ++ ++/* Please see the Gnulib manual for how to use these macros. ++ ++ Suppress extern inline with HP-UX cc, as it appears to be broken; see ++ . ++ ++ Suppress extern inline with Sun C in standards-conformance mode, as it ++ mishandles inline functions that call each other. E.g., for 'inline void f ++ (void) { } inline void g (void) { f (); }', c99 incorrectly complains ++ 'reference to static identifier "f" in extern inline function'. ++ This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. ++ ++ Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) ++ on configurations that mistakenly use 'static inline' to implement ++ functions or macros in standard C headers like . For example, ++ if isdigit is mistakenly implemented via a static inline function, ++ a program containing an extern inline function that calls isdigit ++ may not work since the C standard prohibits extern inline functions ++ from calling static functions. This bug is known to occur on: ++ ++ OS X 10.8 and earlier; see: ++ http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html ++ ++ DragonFly; see ++ http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log ++ ++ FreeBSD; see: ++ http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html ++ ++ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and ++ for clang but remains for g++; see . ++ Assume DragonFly and FreeBSD will be similar. */ ++#if (((defined __APPLE__ && defined __MACH__) \ ++ || defined __DragonFly__ || defined __FreeBSD__) \ ++ && (defined __header_inline \ ++ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ ++ && ! defined __clang__) \ ++ : ((! defined _DONT_USE_CTYPE_INLINE_ \ ++ && (defined __GNUC__ || defined __cplusplus)) \ ++ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ ++ && defined __GNUC__ && ! defined __cplusplus)))) ++# define _GL_EXTERN_INLINE_STDHEADER_BUG ++#endif ++#if ((__GNUC__ \ ++ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ ++ : (199901L <= __STDC_VERSION__ \ ++ && !defined __HP_cc \ ++ && !(defined __SUNPRO_C && __STDC__))) \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# define _GL_INLINE inline ++# define _GL_EXTERN_INLINE extern inline ++# define _GL_EXTERN_INLINE_IN_USE ++#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ ++ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ ++# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) ++# else ++# define _GL_INLINE extern inline ++# endif ++# define _GL_EXTERN_INLINE extern ++# define _GL_EXTERN_INLINE_IN_USE ++#else ++# define _GL_INLINE static _GL_UNUSED ++# define _GL_EXTERN_INLINE static _GL_UNUSED ++#endif ++ ++/* In GCC, suppress bogus "no previous prototype for 'FOO'" ++ and "no previous declaration for 'FOO'" diagnostics, ++ when FOO is an inline function in the header; see ++ and ++ . */ ++#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) ++# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ ++# define _GL_INLINE_HEADER_CONST_PRAGMA ++# else ++# define _GL_INLINE_HEADER_CONST_PRAGMA \ ++ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") ++# endif ++# define _GL_INLINE_HEADER_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ ++ _GL_INLINE_HEADER_CONST_PRAGMA ++# define _GL_INLINE_HEADER_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++# define _GL_INLINE_HEADER_BEGIN ++# define _GL_INLINE_HEADER_END ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define gid_t int ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#ifndef _GL_UNUSED ++# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++# else ++# define _GL_UNUSED ++# endif ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#ifndef _GL_ATTRIBUTE_PURE ++# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++# else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++# endif ++#endif ++ ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef __cplusplus ++#define inline __inline ++#endif ++ ++/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports ++ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of ++ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. ++ __APPLE__ && __MACH__ test for Mac OS X. ++ __APPLE_CC__ tests for the Apple compiler and its version. ++ __STDC_VERSION__ tests for the C99 mode. */ ++#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ ++# define __GNUC_STDC_INLINE__ 1 ++#endif ++ ++/* Define to a type if does not define. */ ++/* #undef mbstate_t */ ++ ++/* Define to `int' if does not define. */ ++/* #undef mode_t */ ++ ++/* Define to the type of st_nlink in struct stat, or a supertype. */ ++#define nlink_t int ++ ++/* Define to `int' if does not define. */ ++/* #undef pid_t */ ++ ++/* Define as the type of the result of subtracting two pointers, if the system ++ doesn't define it. */ ++/* #undef ptrdiff_t */ ++ ++/* Work around a bug in Sun C++: it does not support _Restrict or ++ __restrict__, even though the corresponding Sun C compiler ends up with ++ "#define restrict _Restrict" or "#define restrict __restrict__" in the ++ previous line. Perhaps some future version of Sun C++ will work with ++ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++# define __restrict__ ++#endif ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef size_t */ ++ ++/* Define as a signed type of the same size as size_t. */ ++/* #undef ssize_t */ ++ ++/* Define to `int' if doesn't define. */ ++#define uid_t int ++ ++/* Define to unsigned long or unsigned long long if and ++ don't define. */ ++/* #undef uintmax_t */ ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_UNUSED ++#endif ++/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name ++ is a misnomer outside of parameter lists. */ ++#define _UNUSED_PARAMETER_ _GL_UNUSED ++ ++/* gcc supports the "unused" attribute on possibly unused labels, and ++ g++ has since version 4.5. Note to support C++ as well as C, ++ _GL_UNUSED_LABEL should be used with a trailing ; */ ++#if !defined __cplusplus || __GNUC__ > 4 \ ++ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) ++# define _GL_UNUSED_LABEL _GL_UNUSED ++#else ++# define _GL_UNUSED_LABEL ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++#else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++#endif ++ ++/* The __const__ attribute was added in gcc 2.95. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) ++# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) ++#else ++# define _GL_ATTRIBUTE_CONST /* empty */ ++#endif ++ ++ ++ ++#define __libc_lock_t gl_lock_t ++#define __libc_lock_define gl_lock_define ++#define __libc_lock_define_initialized gl_lock_define_initialized ++#define __libc_lock_init gl_lock_init ++#define __libc_lock_lock gl_lock_lock ++#define __libc_lock_unlock gl_lock_unlock ++#define __libc_lock_recursive_t gl_recursive_lock_t ++#define __libc_lock_define_recursive gl_recursive_lock_define ++#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized ++#define __libc_lock_init_recursive gl_recursive_lock_init ++#define __libc_lock_lock_recursive gl_recursive_lock_lock ++#define __libc_lock_unlock_recursive gl_recursive_lock_unlock ++#define glthread_in_use libintl_thread_in_use ++#define glthread_lock_init_func libintl_lock_init_func ++#define glthread_lock_lock_func libintl_lock_lock_func ++#define glthread_lock_unlock_func libintl_lock_unlock_func ++#define glthread_lock_destroy_func libintl_lock_destroy_func ++#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded ++#define glthread_rwlock_init_func libintl_rwlock_init_func ++#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded ++#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func ++#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded ++#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func ++#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded ++#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func ++#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded ++#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func ++#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded ++#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func ++#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded ++#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func ++#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded ++#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func ++#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded ++#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func ++#define glthread_once_func libintl_once_func ++#define glthread_once_singlethreaded libintl_once_singlethreaded ++#define glthread_once_multithreaded libintl_once_multithreaded ++ ++ ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#if (defined _MSC_VER && defined _DLL) && !defined IN_RELOCWRAPPER ++# define DLL_VARIABLE __declspec (dllimport) ++#else ++# define DLL_VARIABLE ++#endif ++ ++/* Extra OS/2 (emx+gcc) defines. */ ++#ifdef __EMX__ ++# include "intl/os2compat.h" ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++#define LOCALEDIR "" ++#define LOCALE_ALIAS_PATH "" ++ ++#include ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ +diff -ruN ./libgnuintl.h ../gettext-0.19.4/libgnuintl.h +--- ./libgnuintl.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libgnuintl.h 2015-10-06 17:37:53.971759143 +0300 +@@ -0,0 +1,474 @@ ++/* libgnuintl.h. Generated from libgnuintl.h.in. */ ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include ++#if (defined __APPLE__ && defined __MACH__) && 0 ++# include ++#endif ++ ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001304 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to 'gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to 'dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to 'dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++#ifndef IN_LIBGLOCALE ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++#endif /* IN_LIBGLOCALE */ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !0 ++ ++#include ++#include ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include ++#else ++# include ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 1 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 1 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#ifndef GNULIB_defined_setlocale /* don't override gnulib */ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++#endif ++ ++#if 0 ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +diff -ruN ./libintl.h ../gettext-0.19.4/libintl.h +--- ./libintl.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libintl.h 2015-10-06 17:29:18.471752070 +0300 +@@ -0,0 +1,474 @@ ++/* libgnuintl.h. Generated from libgnuintl.h.in. */ ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include ++#if (defined __APPLE__ && defined __MACH__) && 0 ++# include ++#endif ++ ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001304 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to 'gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to 'dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to 'dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++#ifndef IN_LIBGLOCALE ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++#endif /* IN_LIBGLOCALE */ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !0 ++ ++#include ++#include ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include ++#else ++# include ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 1 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 1 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#ifndef GNULIB_defined_setlocale /* don't override gnulib */ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++#endif ++ ++#if 0 ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj +--- ./libintl.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libintl.vcxproj 2015-10-06 17:29:41.251752381 +0300 +@@ -0,0 +1,223 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {9E3973B5-12BD-4E6F-A30A-D41D8E657A4D} ++ libintl ++ Win32Proj ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libintl\ ++ ++ ++ ++ Disabled ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libintl.pdb ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --git a/patches/gettext/gettext-0.21-MSVC2019.patch b/patches/gettext/gettext-0.21-MSVC2019.patch new file mode 100644 index 0000000..52afa38 --- /dev/null +++ b/patches/gettext/gettext-0.21-MSVC2019.patch @@ -0,0 +1,2873 @@ +diff -ruN ./config.h ../gettext-0.19.4/config.h +--- ./config.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/config.h 2015-10-06 17:09:28.491737100 +0300 +@@ -0,0 +1,1685 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define if mono is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_MONO */ ++ ++/* Define if pnet is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_PNET */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Define to 1 if // is a file system root distinct from /. */ ++#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #define ENABLE_NLS 1 */ ++ ++/* Define to 1 if the package shall run at any location in the file system. */ ++/* #undef ENABLE_RELOCATABLE */ ++ ++/* Define to 1 if realpath() can malloc memory, always gives an absolute path, ++ and handles trailing slash correctly. */ ++/* #undef FUNC_REALPATH_WORKS */ ++ ++/* Define if gettimeofday clobbers the localtime buffer. */ ++/* #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME */ ++ ++/* Define this to 'void' or 'struct timezone' to match the system's ++ declaration of the second argument to gettimeofday. */ ++#define GETTIMEOFDAY_TIMEZONE void ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module canonicalize-lgpl shall be considered present. */ ++#define GNULIB_CANONICALIZE_LGPL 1 ++ ++#define GNULIB_defined_setlocale 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fscanf shall be considered present. */ ++#define GNULIB_FSCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fwriteerror shall be considered present. */ ++#define GNULIB_FWRITEERROR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module lock shall be considered present. */ ++#define GNULIB_LOCK 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module scanf shall be considered present. */ ++#define GNULIB_SCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module sigpipe shall be considered present. */ ++#define GNULIB_SIGPIPE 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module strerror shall be considered present. */ ++#define GNULIB_STRERROR 1 ++ ++/* Define to 1 when the gnulib module canonicalize_file_name should be tested. ++ */ ++#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 ++ ++/* Define to 1 when the gnulib module environ should be tested. */ ++#define GNULIB_TEST_ENVIRON 1 ++ ++/* Define to 1 when the gnulib module getopt-gnu should be tested. */ ++#define GNULIB_TEST_GETOPT_GNU 1 ++ ++/* Define to 1 when the gnulib module gettimeofday should be tested. */ ++#define GNULIB_TEST_GETTIMEOFDAY 1 ++ ++/* Define to 1 when the gnulib module iswblank should be tested. */ ++#define GNULIB_TEST_ISWBLANK 1 ++ ++/* Define to 1 when the gnulib module lstat should be tested. */ ++#define GNULIB_TEST_LSTAT 1 ++ ++/* Define to 1 when the gnulib module mbrtowc should be tested. */ ++#define GNULIB_TEST_MBRTOWC 1 ++ ++/* Define to 1 when the gnulib module mbsinit should be tested. */ ++#define GNULIB_TEST_MBSINIT 1 ++ ++/* Define to 1 when the gnulib module mbslen should be tested. */ ++#define GNULIB_TEST_MBSLEN 1 ++ ++/* Define to 1 when the gnulib module mbsstr should be tested. */ ++#define GNULIB_TEST_MBSSTR 1 ++ ++/* Define to 1 when the gnulib module memchr should be tested. */ ++#define GNULIB_TEST_MEMCHR 1 ++ ++/* Define to 1 when the gnulib module raise should be tested. */ ++#define GNULIB_TEST_RAISE 1 ++ ++/* Define to 1 when the gnulib module readlink should be tested. */ ++#define GNULIB_TEST_READLINK 1 ++ ++/* Define to 1 when the gnulib module realpath should be tested. */ ++#define GNULIB_TEST_REALPATH 1 ++ ++/* Define to 1 when the gnulib module setlocale should be tested. */ ++#define GNULIB_TEST_SETLOCALE 1 ++ ++/* Define to 1 when the gnulib module sigprocmask should be tested. */ ++#define GNULIB_TEST_SIGPROCMASK 1 ++ ++/* Define to 1 when the gnulib module stat should be tested. */ ++#define GNULIB_TEST_STAT 1 ++ ++/* Define to 1 when the gnulib module strerror should be tested. */ ++#define GNULIB_TEST_STRERROR 1 ++ ++/* Define to 1 when the gnulib module strnlen should be tested. */ ++#define GNULIB_TEST_STRNLEN 1 ++ ++/* Define to 1 when the gnulib module wcwidth should be tested. */ ++#define GNULIB_TEST_WCWIDTH 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module unistr/u8-mbtoucr shall be considered present. */ ++#define GNULIB_UNISTR_U8_MBTOUCR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module unistr/u8-uctomb shall be considered present. */ ++#define GNULIB_UNISTR_U8_UCTOMB 1 ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `argz_count' function. */ ++/* #undef HAVE_ARGZ_COUNT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_ARGZ_H */ ++ ++/* Define to 1 if you have the `argz_next' function. */ ++/* #undef HAVE_ARGZ_NEXT */ ++ ++/* Define to 1 if you have the `argz_stringify' function. */ ++/* #undef HAVE_ARGZ_STRINGIFY */ ++ ++/* Define to 1 if you have the `asprintf' function. */ ++/* #undef HAVE_ASPRINTF */ ++ ++/* Define to 1 if you have the `atexit' function. */ ++#define HAVE_ATEXIT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_BP_SYM_H */ ++ ++/* Define to 1 if the compiler understands __builtin_expect. */ ++/* #define HAVE_BUILTIN_EXPECT 1 */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_GETENV 1 ++ ++/* Define to 1 if you have the declaration of `iswblank', and to 0 if you ++ don't. */ ++#define HAVE_DECL_ISWBLANK 1 ++ ++/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_MBRTOWC */ ++ ++/* Define to 1 if you have the declaration of `mbsinit', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_MBSINIT */ ++ ++/* Define to 1 if you have the declaration of `program_invocation_name', and ++ to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_short_name', ++ and to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_SETENV 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the declaration of `strnlen', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRNLEN 0 ++ ++/* Define to 1 if you have the declaration of `towlower', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_TOWLOWER */ ++ ++/* Define to 1 if you have the declaration of `wcwidth', and to 0 if you ++ don't. */ ++#define HAVE_DECL_WCWIDTH 0 ++ ++/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNPRINTF 1 ++ ++/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNWPRINTF 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_FEATURES_H */ ++ ++/* Define to 1 if you have the `fwprintf' function. */ ++#define HAVE_FWPRINTF 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getegid' function. */ ++/* #undef HAVE_GETEGID */ ++ ++/* Define to 1 if you have the `geteuid' function. */ ++/* #undef HAVE_GETEUID */ ++ ++/* Define to 1 if you have the `getgid' function. */ ++/* #undef HAVE_GETGID */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_GETOPT_H */ ++ ++/* Define to 1 if you have the `getopt_long_only' function. */ ++/* #undef HAVE_GETOPT_LONG_ONLY */ ++ ++/* Define to 1 if you have the `getpagesize' function. */ ++#define HAVE_GETPAGESIZE 1 ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define to 1 if you have the `gettimeofday' function. */ ++#define HAVE_GETTIMEOFDAY 1 ++ ++/* Define to 1 if you have the `getuid' function. */ ++/* #undef HAVE_GETUID */ ++ ++/* Define if you have the iconv() function and it works. */ ++#define HAVE_ICONV 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_ICONV_H 1 ++ ++/* Define to 1 if the compiler supports one of the keywords 'inline', ++ '__inline__', '__inline' and effectively inlines functions marked as such. ++ */ ++#define HAVE_INLINE 1 ++ ++/* Define if you have the 'intmax_t' type in or . */ ++#define HAVE_INTMAX_T 1 ++ ++/* Define to 1 if you have the header file. */ ++#if _MSC_VER > 1600 ++#define HAVE_INTTYPES_H 1 ++#endif ++/* Define if exists, doesn't clash with , and ++ declares uintmax_t. */ ++#if _MSC_VER > 1600 ++#define HAVE_INTTYPES_H_WITH_UINTMAX 1 ++#endif ++ ++/* Define to 1 if you have the `iswblank' function. */ ++#define HAVE_ISWBLANK 1 ++ ++/* Define to 1 if you have the `iswcntrl' function. */ ++#define HAVE_ISWCNTRL 1 ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define if your file defines LC_MESSAGES. */ ++/* #undef HAVE_LC_MESSAGES */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if the system has the type 'long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++/* #undef HAVE_LSTAT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including ++ config.h and . */ ++/* #undef HAVE_MAP_ANONYMOUS */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++#define HAVE_MBRTOWC 1 ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++#define HAVE_MBSINIT 1 ++ ++/* Define to 1 if you have the `mbslen' function. */ ++/* #undef HAVE_MBSLEN */ ++ ++/* Define to 1 if declares mbstate_t. */ ++#define HAVE_MBSTATE_T 1 ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the `mempcpy' function. */ ++/* #undef HAVE_MEMPCPY */ ++ ++/* Define to 1 if you have a working `mmap' system call. */ ++/* #undef HAVE_MMAP */ ++ ++/* Define to 1 if you have the `mprotect' function. */ ++#define HAVE_MPROTECT 1 ++ ++/* Define to 1 on MSVC platforms that have the "invalid parameter handler" ++ concept. */ ++#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `munmap' function. */ ++/* #undef HAVE_MUNMAP */ ++ ++/* Define to 1 if you have the `newlocale' function. */ ++/* #undef HAVE_NEWLOCALE */ ++ ++/* Define if your printf() function supports format strings with positions. */ ++/* #undef HAVE_POSIX_PRINTF */ ++ ++/* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ ++/* #undef HAVE_PTHREAD_MUTEX_RECURSIVE */ ++ ++/* Define if the POSIX multithreading library has read/write locks. */ ++/* #undef HAVE_PTHREAD_RWLOCK */ ++ ++/* Define to 1 if you have the `putenv' function. */ ++#define HAVE_PUTENV 1 ++ ++/* Define to 1 if you have the `raise' function. */ ++#define HAVE_RAISE 1 ++ ++/* Define to 1 if atoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ATOLL 1 ++ ++/* Define to 1 if btowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_BTOWC 1 ++ ++/* Define to 1 if canonicalize_file_name is declared even after undefining ++ macros. */ ++/* #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if chdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_CHDIR 1 ++ ++/* Define to 1 if chown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_CHOWN */ ++ ++/* Define to 1 if dprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DPRINTF */ ++ ++/* Define to 1 if dup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP 1 ++ ++/* Define to 1 if dup2 is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP2 1 ++ ++/* Define to 1 if dup3 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUP3 */ ++ ++/* Define to 1 if duplocale is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUPLOCALE */ ++ ++/* Define to 1 if endusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENDUSERSHELL */ ++ ++/* Define to 1 if environ is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENVIRON */ ++ ++/* Define to 1 if euidaccess is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_EUIDACCESS */ ++ ++/* Define to 1 if faccessat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FACCESSAT */ ++ ++/* Define to 1 if fchdir is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHDIR */ ++ ++/* Define to 1 if fchmodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHMODAT */ ++ ++/* Define to 1 if fchownat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHOWNAT */ ++ ++/* Define to 1 if fdatasync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FDATASYNC */ ++ ++/* Define to 1 if ffsl is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FFSL */ ++ ++/* Define to 1 if ffsll is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FFSLL */ ++ ++/* Define to 1 if fpurge is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FPURGE */ ++ ++/* Define to 1 if fseeko is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSEEKO */ ++ ++/* Define to 1 if fstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTAT */ ++ ++/* Define to 1 if fstatat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTATAT */ ++ ++/* Define to 1 if fsync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSYNC */ ++ ++/* Define to 1 if ftello is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FTELLO */ ++ ++/* Define to 1 if ftruncate is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_FTRUNCATE 1 ++ ++/* Define to 1 if futimens is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FUTIMENS */ ++ ++/* Define to 1 if getcwd is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETCWD 1 ++ ++/* Define to 1 if getdelim is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDELIM */ ++ ++/* Define to 1 if getdomainname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDOMAINNAME */ ++ ++/* Define to 1 if getdtablesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDTABLESIZE */ ++ ++/* Define to 1 if getgroups is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETGROUPS */ ++ ++/* Define to 1 if gethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETHOSTNAME */ ++ ++/* Define to 1 if getline is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLINE */ ++ ++/* Define to 1 if getloadavg is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOADAVG */ ++ ++/* Define to 1 if getlogin is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN */ ++ ++/* Define to 1 if getlogin_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN_R */ ++ ++/* Define to 1 if getpagesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETPAGESIZE */ ++ ++/* Define to 1 if gets is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETS 1 ++ ++/* Define to 1 if getsubopt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETSUBOPT */ ++ ++/* Define to 1 if gettimeofday is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETTIMEOFDAY 1 ++ ++/* Define to 1 if getusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETUSERSHELL */ ++ ++/* Define to 1 if grantpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GRANTPT */ ++ ++/* Define to 1 if group_member is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GROUP_MEMBER */ ++ ++/* Define to 1 if initstate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTATE */ ++ ++/* Define to 1 if initstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTATE_R */ ++ ++/* Define to 1 if isatty is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ISATTY 1 ++ ++/* Define to 1 if iswctype is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ISWCTYPE 1 ++ ++/* Define to 1 if lchmod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHMOD */ ++ ++/* Define to 1 if lchown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHOWN */ ++ ++/* Define to 1 if link is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINK */ ++ ++/* Define to 1 if linkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINKAT */ ++ ++/* Define to 1 if lseek is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_LSEEK 1 ++ ++/* Define to 1 if lstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LSTAT */ ++ ++/* Define to 1 if mbrlen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRLEN 1 ++ ++/* Define to 1 if mbrtowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRTOWC 1 ++ ++/* Define to 1 if mbsinit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSINIT 1 ++ ++/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MBSNRTOWCS */ ++ ++/* Define to 1 if mbsrtowcs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSRTOWCS 1 ++ ++/* Define to 1 if memmem is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMMEM */ ++ ++/* Define to 1 if mempcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMPCPY */ ++ ++/* Define to 1 if memrchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMRCHR */ ++ ++/* Define to 1 if mkdirat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDIRAT */ ++ ++/* Define to 1 if mkdtemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDTEMP */ ++ ++/* Define to 1 if mkfifo is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFO */ ++ ++/* Define to 1 if mkfifoat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFOAT */ ++ ++/* Define to 1 if mknod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNOD */ ++ ++/* Define to 1 if mknodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNODAT */ ++ ++/* Define to 1 if mkostemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMP */ ++ ++/* Define to 1 if mkostemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMPS */ ++ ++/* Define to 1 if mkstemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMP */ ++ ++/* Define to 1 if mkstemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMPS */ ++ ++/* Define to 1 if pclose is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_PCLOSE 1 ++ ++/* Define to 1 if pipe is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE */ ++ ++/* Define to 1 if pipe2 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE2 */ ++ ++/* Define to 1 if popen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_POPEN 1 ++ ++/* Define to 1 if posix_openpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_POSIX_OPENPT */ ++ ++/* Define to 1 if pread is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PREAD */ ++ ++/* Define to 1 if pthread_sigmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTHREAD_SIGMASK */ ++ ++/* Define to 1 if ptsname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME */ ++ ++/* Define to 1 if ptsname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME_R */ ++ ++/* Define to 1 if pwrite is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PWRITE */ ++ ++/* Define to 1 if random is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM */ ++ ++/* Define to 1 if random_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM_R */ ++ ++/* Define to 1 if rawmemchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RAWMEMCHR */ ++ ++/* Define to 1 if readlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINK */ ++ ++/* Define to 1 if readlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINKAT */ ++ ++/* Define to 1 if realpath is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_REALPATH */ ++ ++/* Define to 1 if renameat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RENAMEAT */ ++ ++/* Define to 1 if rmdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_RMDIR 1 ++ ++/* Define to 1 if rpmatch is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RPMATCH */ ++ ++/* Define to 1 if secure_getenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SECURE_GETENV */ ++ ++/* Define to 1 if setenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETENV */ ++ ++/* Define to 1 if sethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETHOSTNAME */ ++ ++/* Define to 1 if setlocale is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SETLOCALE 1 ++ ++/* Define to 1 if setstate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE */ ++ ++/* Define to 1 if setstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE_R */ ++ ++/* Define to 1 if setusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETUSERSHELL */ ++ ++/* Define to 1 if sigaction is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGACTION */ ++ ++/* Define to 1 if sigaddset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGADDSET */ ++ ++/* Define to 1 if sigdelset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGDELSET */ ++ ++/* Define to 1 if sigemptyset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGEMPTYSET */ ++ ++/* Define to 1 if sigfillset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGFILLSET */ ++ ++/* Define to 1 if sigismember is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGISMEMBER */ ++ ++/* Define to 1 if sigpending is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPENDING */ ++ ++/* Define to 1 if sigprocmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPROCMASK */ ++ ++/* Define to 1 if sleep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SLEEP */ ++ ++/* Define to 1 if snprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SNPRINTF 1 ++ ++/* Define to 1 if srandom is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM */ ++ ++/* Define to 1 if srandom_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM_R */ ++ ++/* Define to 1 if stat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STAT */ ++ ++/* Define to 1 if stpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPCPY */ ++ ++/* Define to 1 if stpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPNCPY */ ++ ++/* Define to 1 if strcasestr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCASESTR */ ++ ++/* Define to 1 if strchrnul is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCHRNUL */ ++ ++/* Define to 1 if strdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRDUP 1 ++ ++/* Define to 1 if strerror_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRERROR_R */ ++ ++/* Define to 1 if strncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRNCAT 1 ++ ++/* Define to 1 if strndup is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNDUP */ ++ ++/* Define to 1 if strnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNLEN */ ++ ++/* Define to 1 if strpbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRPBRK 1 ++ ++/* Define to 1 if strsep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSEP */ ++ ++/* Define to 1 if strsignal is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSIGNAL */ ++ ++/* Define to 1 if strtod is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOD 1 ++ ++/* Define to 1 if strtok_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRTOK_R */ ++ ++/* Define to 1 if strtoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOLL 1 ++ ++/* Define to 1 if strtoull is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOULL 1 ++ ++/* Define to 1 if strverscmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRVERSCMP */ ++ ++/* Define to 1 if symlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINK */ ++ ++/* Define to 1 if symlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINKAT */ ++ ++/* Define to 1 if tmpfile is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TMPFILE 1 ++ ++/* Define to 1 if towctrans is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TOWCTRANS 1 ++ ++/* Define to 1 if ttyname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_TTYNAME_R */ ++ ++/* Define to 1 if unlink is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_UNLINK 1 ++ ++/* Define to 1 if unlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLINKAT */ ++ ++/* Define to 1 if unlockpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLOCKPT */ ++ ++/* Define to 1 if unsetenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNSETENV */ ++ ++/* Define to 1 if usleep is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_USLEEP 1 ++ ++/* Define to 1 if utimensat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UTIMENSAT */ ++ ++/* Define to 1 if vdprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_VDPRINTF */ ++ ++/* Define to 1 if vsnprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_VSNPRINTF 1 ++ ++/* Define to 1 if wcpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCPCPY */ ++ ++/* Define to 1 if wcpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCPNCPY */ ++ ++/* Define to 1 if wcrtomb is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCRTOMB 1 ++ ++/* Define to 1 if wcscasecmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSCASECMP */ ++ ++/* Define to 1 if wcscat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCAT 1 ++ ++/* Define to 1 if wcschr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCHR 1 ++ ++/* Define to 1 if wcscmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCMP 1 ++ ++/* Define to 1 if wcscoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCOLL 1 ++ ++/* Define to 1 if wcscpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCPY 1 ++ ++/* Define to 1 if wcscspn is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSCSPN 1 ++ ++/* Define to 1 if wcsdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSDUP 1 ++ ++/* Define to 1 if wcslen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSLEN 1 ++ ++/* Define to 1 if wcsncasecmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNCASECMP */ ++ ++/* Define to 1 if wcsncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCAT 1 ++ ++/* Define to 1 if wcsncmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCMP 1 ++ ++/* Define to 1 if wcsncpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNCPY 1 ++ ++/* Define to 1 if wcsnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNLEN */ ++ ++/* Define to 1 if wcsnrtombs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNRTOMBS */ ++ ++/* Define to 1 if wcspbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSPBRK 1 ++ ++/* Define to 1 if wcsrchr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRCHR 1 ++ ++/* Define to 1 if wcsrtombs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRTOMBS 1 ++ ++/* Define to 1 if wcsspn is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSSPN 1 ++ ++/* Define to 1 if wcsstr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSSTR 1 ++ ++/* Define to 1 if wcstok is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSTOK 1 ++ ++/* Define to 1 if wcswidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSWIDTH */ ++ ++/* Define to 1 if wcsxfrm is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSXFRM 1 ++ ++/* Define to 1 if wctob is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTOB 1 ++ ++/* Define to 1 if wctrans is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTRANS 1 ++ ++/* Define to 1 if wctype is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTYPE 1 ++ ++/* Define to 1 if wcwidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCWIDTH */ ++ ++/* Define to 1 if wmemchr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCHR 1 ++ ++/* Define to 1 if wmemcmp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCMP 1 ++ ++/* Define to 1 if wmemcpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMCPY 1 ++ ++/* Define to 1 if wmemmove is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMMOVE 1 ++ ++/* Define to 1 if wmemset is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WMEMSET 1 ++ ++/* Define to 1 if _Exit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL__EXIT 1 ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the `readlinkat' function. */ ++/* #undef HAVE_READLINKAT */ ++ ++/* Define to 1 if you have the `realpath' function. */ ++/* #undef HAVE_REALPATH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if the system has the type `sigset_t'. */ ++#define HAVE_SIGSET_T 1 ++ ++/* Define to 1 if you have the `snprintf' function. */ ++#define HAVE_SNPRINTF 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDDEF_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define if exists, doesn't clash with , and declares ++ uintmax_t. */ ++#define HAVE_STDINT_H_WITH_UINTMAX 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `stpcpy' function. */ ++/* #undef HAVE_STPCPY */ ++ ++/* Define to 1 if you have the `strcasecmp' function. */ ++/* #undef HAVE_STRCASECMP */ ++ ++/* Define to 1 if you have the `strdup' function. */ ++#define HAVE_STRDUP 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the `strnlen' function. */ ++/* #undef HAVE_STRNLEN */ ++ ++/* Define to 1 if you have the `strtoul' function. */ ++#define HAVE_STRTOUL 1 ++ ++/* Define to 1 if you have the `symlink' function. */ ++/* #undef HAVE_SYMLINK */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_MMAN_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_PARAM_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_SOCKET_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_STAT_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TIMEB_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TIME_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define HAVE_SYS_TYPES_H 1 */ ++ ++/* Define to 1 if you have the `towlower' function. */ ++#define HAVE_TOWLOWER 1 ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define if you have the 'uintmax_t' type in or . */ ++#define HAVE_UINTMAX_T 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type 'unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `uselocale' function. */ ++/* #undef HAVE_USELOCALE */ ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++/* #undef HAVE_VISIBILITY */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++#define HAVE_WCRTOMB 1 ++ ++/* Define to 1 if you have the `wcslen' function. */ ++#define HAVE_WCSLEN 1 ++ ++/* Define to 1 if you have the `wcsnlen' function. */ ++/* #undef HAVE_WCSNLEN */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCTYPE_H 1 ++ ++/* Define to 1 if you have the `wcwidth' function. */ ++/* #undef HAVE_WCWIDTH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WINSOCK2_H 1 ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Define to 1 if O_NOATIME works. */ ++#define HAVE_WORKING_O_NOATIME 0 ++ ++/* Define to 1 if O_NOFOLLOW works. */ ++#define HAVE_WORKING_O_NOFOLLOW 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_XLOCALE_H */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++#define HAVE__BOOL 1 ++ ++/* Define to 1 if you have the `_ftime' function. */ ++#define HAVE__FTIME 1 ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ ++#define HAVE__SET_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `__fsetlocking' function. */ ++/* #undef HAVE___FSETLOCKING */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to a symbolic name denoting the flavor of iconv_open() ++ implementation. */ ++/* #undef ICONV_FLAVOR */ ++ ++/* Define to the value of ${prefix}, as a string. */ ++#define INSTALLPREFIX "/usr/local" ++ ++/* Define if integer division by zero raises signal SIGFPE. */ ++#define INTDIV0_RAISES_SIGFPE 1 ++ ++/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing ++ slash. */ ++/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ ++ ++/* Define to the sub-directory where libtool stores uninstalled libraries. */ ++#define LT_OBJDIR ".libs/" ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 1 ++ ++/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ ++/* #undef MAP_ANONYMOUS */ ++ ++/* Define if the mbrtowc function does not return (size_t) -2 for empty input. ++ */ ++/* #undef MBRTOWC_EMPTY_INPUT_BUG */ ++ ++/* Define if the mbrtowc function has the NULL pwc argument bug. */ ++/* #undef MBRTOWC_NULL_ARG1_BUG */ ++ ++/* Define if the mbrtowc function has the NULL string argument bug. */ ++/* #undef MBRTOWC_NULL_ARG2_BUG */ ++ ++/* Define if the mbrtowc function does not return 0 for a NUL character. */ ++/* #undef MBRTOWC_NUL_RETVAL_BUG */ ++ ++/* Define if the mbrtowc function returns a wrong return value. */ ++#define MBRTOWC_RETVAL_BUG 1 ++ ++/* Name of package */ ++#define PACKAGE "gettext-runtime" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "bug-gnu-gettext@gnu.org" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "gettext-runtime" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "gettext-runtime 0.19.4" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "gettext-runtime" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "0.19.4" ++ ++/* Define if exists and defines unusable PRI* macros. */ ++/* #undef PRI_MACROS_BROKEN */ ++ ++/* Define if the pthread_in_use() detection is hard. */ ++/* #undef PTHREAD_IN_USE_DETECTION_HARD */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++/* #undef PTRDIFF_T_SUFFIX */ ++ ++/* Define to 1 if readlink fails to recognize a trailing slash. */ ++/* #undef READLINK_TRAILING_SLASH_BUG */ ++ ++/* Define to 1 if stat needs help when passed a directory name with a trailing ++ slash */ ++#define REPLACE_FUNC_STAT_DIR 1 ++ ++/* Define to 1 if stat needs help when passed a file name with a trailing ++ slash */ ++/* #undef REPLACE_FUNC_STAT_FILE */ ++ ++/* Define to 1 if strerror(0) does not return a message implying success. */ ++/* #undef REPLACE_STRERROR_0 */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++/* #undef SIG_ATOMIC_T_SUFFIX */ ++ ++/* Define as the maximum value of type 'size_t', if the system doesn't define ++ it. */ ++#ifndef SIZE_MAX ++/* # undef SIZE_MAX */ ++#endif ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++/* #undef SIZE_T_SUFFIX */ ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Define to 1 if the `S_IS*' macros in do not work properly. */ ++/* #undef STAT_MACROS_BROKEN */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to the prefix of C symbols at the assembler and linker level, either ++ an underscore or empty. */ ++#define USER_LABEL_PREFIX _ ++ ++/* Define if the POSIX multithreading library can be used. */ ++/* #undef USE_POSIX_THREADS */ ++ ++/* Define if references to the POSIX multithreading library should be made ++ weak. */ ++/* #undef USE_POSIX_THREADS_WEAK */ ++ ++/* Define if the GNU Pth multithreading library can be used. */ ++/* #undef USE_PTH_THREADS */ ++ ++/* Define if references to the GNU Pth multithreading library should be made ++ weak. */ ++/* #undef USE_PTH_THREADS_WEAK */ ++ ++/* Define if the old Solaris multithreading library can be used. */ ++/* #undef USE_SOLARIS_THREADS */ ++ ++/* Define if references to the old Solaris multithreading library should be ++ made weak. */ ++/* #undef USE_SOLARIS_THREADS_WEAK */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable general extensions on OS X. */ ++#ifndef _DARWIN_C_SOURCE ++# define _DARWIN_C_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable X/Open extensions if necessary. HP-UX 11.11 defines ++ mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of ++ whether compiling with -Ae or -D_HPUX_SOURCE=1. */ ++#ifndef _XOPEN_SOURCE ++/* # undef _XOPEN_SOURCE */ ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# define __EXTENSIONS__ 1 ++#endif ++ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Define if the native Windows multithreading API can be used. */ ++#define USE_WINDOWS_THREADS 1 ++ ++/* Version number of package */ ++#define VERSION "0.19.4" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++/* #undef WCHAR_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++/* #undef WINT_T_SUFFIX */ ++ ++/* Define when --enable-shared is used on mingw or Cygwin. */ ++#define WOE32DLL 1 ++ ++/* Enable large inode numbers on Mac OS X 10.5. */ ++#define _DARWIN_USE_64_BIT_INODE 1 ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct ++ stat.st_size becomes 64-bit. */ ++#define _GL_WINDOWS_64_BIT_ST_SIZE 1 ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* Define to 1 on Solaris. */ ++/* #undef _LCONV_C99 */ ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ ++/* #undef _NETBSD_SOURCE */ ++ ++/* The _Noreturn keyword of C11. */ ++#if ! (defined _Noreturn \ ++ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) ++# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ ++ || 0x5110 <= __SUNPRO_C) ++# define _Noreturn __attribute__ ((__noreturn__)) ++# elif defined _MSC_VER && 1200 <= _MSC_VER ++# define _Noreturn __declspec (noreturn) ++# else ++# define _Noreturn ++# endif ++#endif ++ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for 'stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Define to rpl_ if the getopt replacement functions and variables should be ++ used. */ ++#define __GETOPT_PREFIX rpl_ ++ ++/* Please see the Gnulib manual for how to use these macros. ++ ++ Suppress extern inline with HP-UX cc, as it appears to be broken; see ++ . ++ ++ Suppress extern inline with Sun C in standards-conformance mode, as it ++ mishandles inline functions that call each other. E.g., for 'inline void f ++ (void) { } inline void g (void) { f (); }', c99 incorrectly complains ++ 'reference to static identifier "f" in extern inline function'. ++ This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. ++ ++ Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) ++ on configurations that mistakenly use 'static inline' to implement ++ functions or macros in standard C headers like . For example, ++ if isdigit is mistakenly implemented via a static inline function, ++ a program containing an extern inline function that calls isdigit ++ may not work since the C standard prohibits extern inline functions ++ from calling static functions. This bug is known to occur on: ++ ++ OS X 10.8 and earlier; see: ++ http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html ++ ++ DragonFly; see ++ http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log ++ ++ FreeBSD; see: ++ http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html ++ ++ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and ++ for clang but remains for g++; see . ++ Assume DragonFly and FreeBSD will be similar. */ ++#if (((defined __APPLE__ && defined __MACH__) \ ++ || defined __DragonFly__ || defined __FreeBSD__) \ ++ && (defined __header_inline \ ++ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ ++ && ! defined __clang__) \ ++ : ((! defined _DONT_USE_CTYPE_INLINE_ \ ++ && (defined __GNUC__ || defined __cplusplus)) \ ++ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ ++ && defined __GNUC__ && ! defined __cplusplus)))) ++# define _GL_EXTERN_INLINE_STDHEADER_BUG ++#endif ++#if ((__GNUC__ \ ++ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ ++ : (199901L <= __STDC_VERSION__ \ ++ && !defined __HP_cc \ ++ && !(defined __SUNPRO_C && __STDC__))) \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# define _GL_INLINE inline ++# define _GL_EXTERN_INLINE extern inline ++# define _GL_EXTERN_INLINE_IN_USE ++#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ ++ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ ++# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) ++# else ++# define _GL_INLINE extern inline ++# endif ++# define _GL_EXTERN_INLINE extern ++# define _GL_EXTERN_INLINE_IN_USE ++#else ++# define _GL_INLINE static _GL_UNUSED ++# define _GL_EXTERN_INLINE static _GL_UNUSED ++#endif ++ ++/* In GCC, suppress bogus "no previous prototype for 'FOO'" ++ and "no previous declaration for 'FOO'" diagnostics, ++ when FOO is an inline function in the header; see ++ and ++ . */ ++#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) ++# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ ++# define _GL_INLINE_HEADER_CONST_PRAGMA ++# else ++# define _GL_INLINE_HEADER_CONST_PRAGMA \ ++ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") ++# endif ++# define _GL_INLINE_HEADER_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ ++ _GL_INLINE_HEADER_CONST_PRAGMA ++# define _GL_INLINE_HEADER_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++# define _GL_INLINE_HEADER_BEGIN ++# define _GL_INLINE_HEADER_END ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define gid_t int ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#ifndef _GL_UNUSED ++# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++# else ++# define _GL_UNUSED ++# endif ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#ifndef _GL_ATTRIBUTE_PURE ++# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++# else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++# endif ++#endif ++ ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef __cplusplus ++#define inline __inline ++#endif ++ ++/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports ++ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of ++ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. ++ __APPLE__ && __MACH__ test for Mac OS X. ++ __APPLE_CC__ tests for the Apple compiler and its version. ++ __STDC_VERSION__ tests for the C99 mode. */ ++#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ ++# define __GNUC_STDC_INLINE__ 1 ++#endif ++ ++/* Define to a type if does not define. */ ++/* #undef mbstate_t */ ++ ++/* Define to `int' if does not define. */ ++/* #undef mode_t */ ++ ++/* Define to the type of st_nlink in struct stat, or a supertype. */ ++#define nlink_t int ++ ++/* Define to `int' if does not define. */ ++/* #undef pid_t */ ++ ++/* Define as the type of the result of subtracting two pointers, if the system ++ doesn't define it. */ ++/* #undef ptrdiff_t */ ++ ++/* Work around a bug in Sun C++: it does not support _Restrict or ++ __restrict__, even though the corresponding Sun C compiler ends up with ++ "#define restrict _Restrict" or "#define restrict __restrict__" in the ++ previous line. Perhaps some future version of Sun C++ will work with ++ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++# define __restrict__ ++#endif ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef size_t */ ++ ++/* Define as a signed type of the same size as size_t. */ ++/* #undef ssize_t */ ++ ++/* Define to `int' if doesn't define. */ ++#define uid_t int ++ ++/* Define to unsigned long or unsigned long long if and ++ don't define. */ ++/* #undef uintmax_t */ ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_UNUSED ++#endif ++/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name ++ is a misnomer outside of parameter lists. */ ++#define _UNUSED_PARAMETER_ _GL_UNUSED ++ ++/* gcc supports the "unused" attribute on possibly unused labels, and ++ g++ has since version 4.5. Note to support C++ as well as C, ++ _GL_UNUSED_LABEL should be used with a trailing ; */ ++#if !defined __cplusplus || __GNUC__ > 4 \ ++ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) ++# define _GL_UNUSED_LABEL _GL_UNUSED ++#else ++# define _GL_UNUSED_LABEL ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++#else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++#endif ++ ++/* The __const__ attribute was added in gcc 2.95. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) ++# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) ++#else ++# define _GL_ATTRIBUTE_CONST /* empty */ ++#endif ++ ++ ++ ++#define __libc_lock_t gl_lock_t ++#define __libc_lock_define gl_lock_define ++#define __libc_lock_define_initialized gl_lock_define_initialized ++#define __libc_lock_init gl_lock_init ++#define __libc_lock_lock gl_lock_lock ++#define __libc_lock_unlock gl_lock_unlock ++#define __libc_lock_recursive_t gl_recursive_lock_t ++#define __libc_lock_define_recursive gl_recursive_lock_define ++#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized ++#define __libc_lock_init_recursive gl_recursive_lock_init ++#define __libc_lock_lock_recursive gl_recursive_lock_lock ++#define __libc_lock_unlock_recursive gl_recursive_lock_unlock ++#define glthread_in_use libintl_thread_in_use ++#define glthread_lock_init_func libintl_lock_init_func ++#define glthread_lock_lock_func libintl_lock_lock_func ++#define glthread_lock_unlock_func libintl_lock_unlock_func ++#define glthread_lock_destroy_func libintl_lock_destroy_func ++#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded ++#define glthread_rwlock_init_func libintl_rwlock_init_func ++#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded ++#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func ++#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded ++#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func ++#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded ++#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func ++#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded ++#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func ++#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded ++#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func ++#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded ++#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func ++#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded ++#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func ++#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded ++#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func ++#define glthread_once_func libintl_once_func ++#define glthread_once_singlethreaded libintl_once_singlethreaded ++#define glthread_once_multithreaded libintl_once_multithreaded ++ ++ ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#if (defined _MSC_VER && defined _DLL) && !defined IN_RELOCWRAPPER ++# define DLL_VARIABLE __declspec (dllimport) ++#else ++# define DLL_VARIABLE ++#endif ++ ++/* Extra OS/2 (emx+gcc) defines. */ ++#ifdef __EMX__ ++# include "intl/os2compat.h" ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++#define LOCALEDIR "" ++#define LOCALE_ALIAS_PATH "" ++ ++#include ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ ++/* FALLTHROUGH is special, because it always expands to something. */ ++#if 201710L < __STDC_VERSION__ ++# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] ++#elif _GL_HAS_ATTRIBUTE (fallthrough) ++# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) ++#else ++# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) ++#endif + +diff -ruN ./libgnuintl.h ../gettext-0.19.4/libgnuintl.h +--- ./libgnuintl.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libgnuintl.h 2015-10-06 17:37:53.971759143 +0300 +@@ -0,0 +1,474 @@ ++/* libgnuintl.h. Generated from libgnuintl.h.in. */ ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include ++#if (defined __APPLE__ && defined __MACH__) && 0 ++# include ++#endif ++ ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001304 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to 'gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to 'dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to 'dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++#ifndef IN_LIBGLOCALE ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++#endif /* IN_LIBGLOCALE */ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !0 ++ ++#include ++#include ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include ++#else ++# include ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 1 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 1 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#ifndef GNULIB_defined_setlocale /* don't override gnulib */ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++#endif ++ ++#if 0 ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +diff -ruN ./libintl.h ../gettext-0.19.4/libintl.h +--- ./libintl.h 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libintl.h 2015-10-06 17:29:18.471752070 +0300 +@@ -0,0 +1,474 @@ ++/* libgnuintl.h. Generated from libgnuintl.h.in. */ ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see . */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include ++#if (defined __APPLE__ && defined __MACH__) && 0 ++# include ++#endif ++ ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001304 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to 'gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to 'dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to 'dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++#ifndef IN_LIBGLOCALE ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++#endif /* IN_LIBGLOCALE */ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !0 ++ ++#include ++#include ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include ++#else ++# include ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 1 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 1 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#ifndef GNULIB_defined_setlocale /* don't override gnulib */ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++#endif ++ ++#if 0 ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +diff -ruN ./libintl.vcxproj ../gettext-0.19.4/libintl.vcxproj +--- ./libintl.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ ../gettext-0.19.4/libintl.vcxproj 2015-10-06 17:29:41.251752381 +0300 +@@ -0,0 +1,223 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {9E3973B5-12BD-4E6F-A30A-D41D8E657A4D} ++ libintl ++ Win32Proj ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libintl\ ++ ++ ++ ++ Disabled ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libintl.pdb ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\gettext-runtime;..\..\dependencies\iconv\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBINTL;BUILDING_DLL;IN_LIBINTL;ENABLE_RELOCATABLE=1;IN_LIBRARY;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libintl.pdb ++ ++ ++ libiconv.lib;%(AdditionalDependencies) ++ ..\..\dependencies\iconv\lib;%(AdditionalLibraryDirectories) ++ $(OutDir)libintl.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libintl.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --git a/patches/libiconv/libiconv-1.14-msvc2013.patch b/patches/libiconv/libiconv-1.14-MSVC2013.patch similarity index 100% rename from patches/libiconv/libiconv-1.14-msvc2013.patch rename to patches/libiconv/libiconv-1.14-MSVC2013.patch diff --git a/patches/libiconv/libiconv-1.14-MSVC2015.patch b/patches/libiconv/libiconv-1.14-MSVC2015.patch new file mode 100644 index 0000000..dad9100 --- /dev/null +++ b/patches/libiconv/libiconv-1.14-MSVC2015.patch @@ -0,0 +1,921 @@ +diff -ruN config.h origin/config.h +--- config.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/config.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,416 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define to 1 if using `alloca.c'. */ ++#define C_ALLOCA 1 ++ ++/* Define as good substitute value for EILSEQ. */ ++/* #undef EILSEQ */ ++ ++/* Define to 1 to enable a few rarely used encodings. */ ++/* #undef ENABLE_EXTRA */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #undef ENABLE_NLS */ ++ ++/* Define to 1 if the package shall run at any location in the filesystem. */ ++/* #define ENABLE_RELOCATABLE 1 */ ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++/* #undef HAVE_ALLOCA */ ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `canonicalize_file_name', and to ++ 0 if you don't. */ ++#define HAVE_DECL_CANONICALIZE_FILE_NAME 0 ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `strerror', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++/* #undef HAVE_GETCWD */ ++ ++/* Define to 1 if you have the `getc_unlocked' function. */ ++/* #undef HAVE_GETC_UNLOCKED */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define if you have the iconv() function and it works. */ ++/* #undef HAVE_ICONV */ ++ ++/* Define if your compiler supports the #include_next directive. */ ++/* #undef HAVE_INCLUDE_NEXT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_INTTYPES_H */ ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define to 1 if the system has the type `long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++/* #undef HAVE_MALLOC_POSIX */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++/* #undef HAVE_MBRTOWC */ ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++/* #undef HAVE_MBSINIT */ ++ ++/* Define to 1 if declares mbstate_t. */ ++#define HAVE_MBSTATE_T ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1^ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MEMORY_H */ ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++/* #undef HAVE_SETLOCALE */ ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if stdbool.h conforms to C99. */ ++/* #undef HAVE_STDBOOL_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_STRINGS_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_PARAM_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_STAT_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_TYPES_H */ ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type `unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 0 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++/* #undef HAVE_WCRTOMB */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++/* #undef HAVE__BOOL */ ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to the value of ${prefix}, as a string. */ ++/* #define INSTALLPREFIX "/usr/local" */ ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 0 ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++#define NO_MINUS_C_MINUS_O 1 ++ ++/* Name of package */ ++#define PACKAGE "libiconv" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++#define PTRDIFF_T_SUFFIX ++ ++/* Define this to 1 if strerror is broken. */ ++#define REPLACE_STRERROR 1 ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++#define SIG_ATOMIC_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++#define SIZE_T_SUFFIX ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++#define STACK_DIRECTION -1 ++ ++/* Define to 1 if you have the ANSI C header files. */ ++/* #undef STDC_HEADERS */ ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Version number of package */ ++#define VERSION "1.12" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++#define WCHAR_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++#define WINT_T_SUFFIX ++ ++/* Define if the machine's byte ordering is little endian. */ ++#define WORDS_LITTLEENDIAN 1 ++ ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for `stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++/* # undef __EXTENSIONS__ */ ++#endif ++ ++ ++/* Define to a type if does not define. */ ++/* #define mbstate_t int */ ++ ++/* Define to a replacement function name for realpath(). */ ++#define realpath rpl_realpath ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict ++/* Work around a bug in Sun C++: it does not support _Restrict, even ++ though the corresponding Sun C compiler does, which causes ++ "#define restrict _Restrict" in the previous line. Perhaps some future ++ version of Sun C++ will work with _Restrict; if so, it'll probably ++ define __RESTRICT, just as Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++#endif ++ ++/* Define as a signed type of the same size as size_t. */ ++#ifdef _WIN64 ++#define ssize_t long long ++#else ++#define ssize_t int ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#define DLL_VARIABLE __declspec (dllimport) ++ ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ +diff -ruN iconv.h origin/iconv.h +--- iconv.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/iconv.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,251 @@ ++/* Copyright (C) 1999-2003, 2005-2006, 2008-2011 Free Software Foundation, Inc. ++ This file is part of the GNU LIBICONV Library. ++ ++ The GNU LIBICONV Library is free software; you can redistribute it ++ and/or modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ The GNU LIBICONV Library is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU LIBICONV Library; see the file COPYING.LIB. ++ If not, write to the Free Software Foundation, Inc., 51 Franklin Street, ++ Fifth Floor, Boston, MA 02110-1301, USA. */ ++ ++/* When installed, this file is called "iconv.h". */ ++ ++#ifndef _LIBICONV_H ++#define _LIBICONV_H ++ ++#define _LIBICONV_VERSION 0x010E /* version number: (major<<8) + minor */ ++ ++#ifdef BUILDING_LIBICONV ++#define LIBICONV_DLL_EXPORTED __declspec(dllexport) ++#elif LIBICONV_DLL ++#define LIBICONV_DLL_EXPORTED __declspec(dllimport) ++#else ++#define LIBICONV_DLL_EXPORTED ++#endif ++extern LIBICONV_DLL_EXPORTED int _libiconv_version; ++ ++/* We would like to #include any system header file which could define ++ iconv_t, 1. in order to eliminate the risk that the user gets compilation ++ errors because some other system header file includes /usr/include/iconv.h ++ which defines iconv_t or declares iconv after this file, 2. when compiling ++ for LIBICONV_PLUG, we need the proper iconv_t type in order to produce ++ binary compatible code. ++ But gcc's #include_next is not portable. Thus, once libiconv's iconv.h ++ has been installed in /usr/local/include, there is no way any more to ++ include the original /usr/include/iconv.h. We simply have to get away ++ without it. ++ Ad 1. The risk that a system header file does ++ #include "iconv.h" or #include_next "iconv.h" ++ is small. They all do #include . ++ Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It ++ has to be a scalar type because (iconv_t)(-1) is a possible return value ++ from iconv_open().) */ ++ ++/* Define iconv_t ourselves. */ ++#undef iconv_t ++#define iconv_t libiconv_t ++typedef void* iconv_t; ++ ++/* Get size_t declaration. ++ Get wchar_t declaration if it exists. */ ++#include ++ ++/* Get errno declaration and values. */ ++#include ++/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, ++ have EILSEQ in a different header. On these systems, define EILSEQ ++ ourselves. */ ++#ifndef EILSEQ ++#define EILSEQ ++#endif ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_open libiconv_open ++#endif ++extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode); ++ ++/* Converts, using conversion descriptor ‘cd’, at most ‘*inbytesleft’ bytes ++ starting at ‘*inbuf’, writing at most ‘*outbytesleft’ bytes starting at ++ ‘*outbuf’. ++ Decrements ‘*inbytesleft’ and increments ‘*inbuf’ by the same amount. ++ Decrements ‘*outbytesleft’ and increments ‘*outbuf’ by the same amount. */ ++#ifndef LIBICONV_PLUG ++#define iconv libiconv ++#endif ++extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); ++ ++/* Frees resources allocated for conversion descriptor ‘cd’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_close libiconv_close ++#endif ++extern LIBICONV_DLL_EXPORTED int iconv_close (iconv_t cd); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#ifndef LIBICONV_PLUG ++ ++/* Nonstandard extensions. */ ++ ++#if USE_MBSTATE_T ++#if BROKEN_WCHAR_H ++/* Tru64 with Desktop Toolkit C has a bug: must be included before ++ . ++ BSD/OS 4.0.1 has a bug: , and must be ++ included before . */ ++#include ++#include ++#include ++#endif ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* A type that holds all memory needed by a conversion descriptor. ++ A pointer to such an object can be used as an iconv_t. */ ++typedef struct { ++ void* dummy1[28]; ++#if USE_MBSTATE_T ++ mbstate_t dummy2; ++#endif ++} iconv_allocation_t; ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’ into preallocated memory. Returns an error indicator ++ (0 or -1 with errno set). */ ++#define iconv_open_into libiconv_open_into ++extern LIBICONV_DLL_EXPORTED int iconv_open_into (const char* tocode, const char* fromcode, ++ iconv_allocation_t* resultp); ++ ++/* Control of attributes. */ ++#define iconvctl libiconvctl ++extern LIBICONV_DLL_EXPORTED int iconvctl (iconv_t cd, int request, void* argument); ++ ++/* Hook performed after every successful conversion of a Unicode character. */ ++typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); ++/* Hook performed after every successful conversion of a wide character. */ ++typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); ++/* Set of hooks. */ ++struct iconv_hooks { ++ iconv_unicode_char_hook uc_hook; ++ iconv_wide_char_hook wc_hook; ++ void* data; ++}; ++ ++/* Fallback function. Invoked when a small number of bytes could not be ++ converted to a Unicode character. This function should process all ++ bytes from inbuf and may produce replacement Unicode characters by calling ++ the write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_mb_to_uc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const unsigned int *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a Unicode character could not be converted ++ to the target encoding. This function should process the character and ++ may produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_uc_to_mb_fallback) ++ (unsigned int code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#if HAVE_WCHAR_T ++/* Fallback function. Invoked when a number of bytes could not be converted to ++ a wide character. This function should process all bytes from inbuf and may ++ produce replacement wide characters by calling the write_replacement ++ callback repeatedly. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const wchar_t *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a wide character could not be converted to ++ the target encoding. This function should process the character and may ++ produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_wchar_wc_to_mb_fallback) ++ (wchar_t code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#else ++/* If the wchar_t type does not exist, these two fallback functions are never ++ invoked. Their argument list therefore does not matter. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) (); ++typedef void (*iconv_wchar_wc_to_mb_fallback) (); ++#endif ++/* Set of fallbacks. */ ++struct iconv_fallbacks { ++ iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; ++ iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; ++ iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; ++ iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; ++ void* data; ++}; ++ ++/* Requests for iconvctl. */ ++#define ICONV_TRIVIALP 0 /* int *argument */ ++#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ ++#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ ++#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ ++#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ ++#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ ++#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ ++ ++/* Listing of locale independent encodings. */ ++#define iconvlist libiconvlist ++extern LIBICONV_DLL_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount, ++ const char * const * names, ++ void* data), ++ void* data); ++ ++/* Canonicalize an encoding name. ++ The result is either a canonical encoding name, or name itself. */ ++extern LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name); ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++extern LIBICONV_DLL_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ ++ ++#endif /* _LIBICONV_H */ ++ +diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +--- libiconv.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ origin/libiconv.vcxproj 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,195 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {7EA4EC62-EA19-4ACC-86E2-0513E381292B} ++ libiconv ++ Win32Proj ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libiconv\ ++ ++ ++ ++ ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -ruN localcharset.h origin/localcharset.h +--- localcharset.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/localcharset.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,43 @@ ++/* Determine a canonical name for the current locale's character encoding. ++ Copyright (C) 2000-2003 Free Software Foundation, Inc. ++ This file is part of the GNU CHARSET Library. ++ ++ This program is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Library General Public License as published ++ by the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, ++ USA. */ ++ ++#ifndef _LOCALCHARSET_H ++#define _LOCALCHARSET_H ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Determine the current locale's character encoding, and canonicalize it ++ into one of the canonical names listed in config.charset. ++ The result must not be freed; it is statically allocated. ++ If the canonical name cannot be determined, the result is a non-canonical ++ name. */ ++extern const char * locale_charset (void); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#endif /* _LOCALCHARSET_H */ ++ diff --git a/patches/libiconv/libiconv-1.14-sdk71.patch b/patches/libiconv/libiconv-1.14-SDK71.patch similarity index 100% rename from patches/libiconv/libiconv-1.14-sdk71.patch rename to patches/libiconv/libiconv-1.14-SDK71.patch diff --git a/patches/libiconv/libiconv-1.14-msvc2017.patch b/patches/libiconv/libiconv-1.14-msvc2017.patch new file mode 100644 index 0000000..4fabc37 --- /dev/null +++ b/patches/libiconv/libiconv-1.14-msvc2017.patch @@ -0,0 +1,921 @@ +diff -ruN config.h origin/config.h +--- config.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/config.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,416 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define to 1 if using `alloca.c'. */ ++#define C_ALLOCA 1 ++ ++/* Define as good substitute value for EILSEQ. */ ++/* #undef EILSEQ */ ++ ++/* Define to 1 to enable a few rarely used encodings. */ ++/* #undef ENABLE_EXTRA */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #undef ENABLE_NLS */ ++ ++/* Define to 1 if the package shall run at any location in the filesystem. */ ++/* #define ENABLE_RELOCATABLE 1 */ ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++/* #undef HAVE_ALLOCA */ ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `canonicalize_file_name', and to ++ 0 if you don't. */ ++#define HAVE_DECL_CANONICALIZE_FILE_NAME 0 ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `strerror', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++/* #undef HAVE_GETCWD */ ++ ++/* Define to 1 if you have the `getc_unlocked' function. */ ++/* #undef HAVE_GETC_UNLOCKED */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define if you have the iconv() function and it works. */ ++/* #undef HAVE_ICONV */ ++ ++/* Define if your compiler supports the #include_next directive. */ ++/* #undef HAVE_INCLUDE_NEXT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_INTTYPES_H */ ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define to 1 if the system has the type `long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++/* #undef HAVE_MALLOC_POSIX */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++/* #undef HAVE_MBRTOWC */ ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++/* #undef HAVE_MBSINIT */ ++ ++/* Define to 1 if declares mbstate_t. */ ++/* #undef HAVE_MBSTATE_T */ ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1^ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MEMORY_H */ ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++/* #undef HAVE_SETLOCALE */ ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if stdbool.h conforms to C99. */ ++/* #undef HAVE_STDBOOL_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_STRINGS_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_PARAM_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_STAT_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_TYPES_H */ ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type `unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 0 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++/* #undef HAVE_WCRTOMB */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++/* #undef HAVE__BOOL */ ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to the value of ${prefix}, as a string. */ ++/* #define INSTALLPREFIX "/usr/local" */ ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 0 ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++#define NO_MINUS_C_MINUS_O 1 ++ ++/* Name of package */ ++#define PACKAGE "libiconv" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++#define PTRDIFF_T_SUFFIX ++ ++/* Define this to 1 if strerror is broken. */ ++#define REPLACE_STRERROR 1 ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++#define SIG_ATOMIC_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++#define SIZE_T_SUFFIX ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++#define STACK_DIRECTION -1 ++ ++/* Define to 1 if you have the ANSI C header files. */ ++/* #undef STDC_HEADERS */ ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Version number of package */ ++#define VERSION "1.12" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++#define WCHAR_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++#define WINT_T_SUFFIX ++ ++/* Define if the machine's byte ordering is little endian. */ ++#define WORDS_LITTLEENDIAN 1 ++ ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for `stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++/* # undef __EXTENSIONS__ */ ++#endif ++ ++ ++/* Define to a type if does not define. */ ++/*#define mbstate_t int*/ ++ ++/* Define to a replacement function name for realpath(). */ ++#define realpath rpl_realpath ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict ++/* Work around a bug in Sun C++: it does not support _Restrict, even ++ though the corresponding Sun C compiler does, which causes ++ "#define restrict _Restrict" in the previous line. Perhaps some future ++ version of Sun C++ will work with _Restrict; if so, it'll probably ++ define __RESTRICT, just as Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++#endif ++ ++/* Define as a signed type of the same size as size_t. */ ++#ifdef _WIN64 ++#define ssize_t long long ++#else ++#define ssize_t int ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#define DLL_VARIABLE __declspec (dllimport) ++ ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ +diff -ruN iconv.h origin/iconv.h +--- iconv.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/iconv.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,251 @@ ++/* Copyright (C) 1999-2003, 2005-2006, 2008-2011 Free Software Foundation, Inc. ++ This file is part of the GNU LIBICONV Library. ++ ++ The GNU LIBICONV Library is free software; you can redistribute it ++ and/or modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ The GNU LIBICONV Library is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU LIBICONV Library; see the file COPYING.LIB. ++ If not, write to the Free Software Foundation, Inc., 51 Franklin Street, ++ Fifth Floor, Boston, MA 02110-1301, USA. */ ++ ++/* When installed, this file is called "iconv.h". */ ++ ++#ifndef _LIBICONV_H ++#define _LIBICONV_H ++ ++#define _LIBICONV_VERSION 0x010E /* version number: (major<<8) + minor */ ++ ++#ifdef BUILDING_LIBICONV ++#define LIBICONV_DLL_EXPORTED __declspec(dllexport) ++#elif LIBICONV_DLL ++#define LIBICONV_DLL_EXPORTED __declspec(dllimport) ++#else ++#define LIBICONV_DLL_EXPORTED ++#endif ++extern LIBICONV_DLL_EXPORTED int _libiconv_version; ++ ++/* We would like to #include any system header file which could define ++ iconv_t, 1. in order to eliminate the risk that the user gets compilation ++ errors because some other system header file includes /usr/include/iconv.h ++ which defines iconv_t or declares iconv after this file, 2. when compiling ++ for LIBICONV_PLUG, we need the proper iconv_t type in order to produce ++ binary compatible code. ++ But gcc's #include_next is not portable. Thus, once libiconv's iconv.h ++ has been installed in /usr/local/include, there is no way any more to ++ include the original /usr/include/iconv.h. We simply have to get away ++ without it. ++ Ad 1. The risk that a system header file does ++ #include "iconv.h" or #include_next "iconv.h" ++ is small. They all do #include . ++ Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It ++ has to be a scalar type because (iconv_t)(-1) is a possible return value ++ from iconv_open().) */ ++ ++/* Define iconv_t ourselves. */ ++#undef iconv_t ++#define iconv_t libiconv_t ++typedef void* iconv_t; ++ ++/* Get size_t declaration. ++ Get wchar_t declaration if it exists. */ ++#include ++ ++/* Get errno declaration and values. */ ++#include ++/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, ++ have EILSEQ in a different header. On these systems, define EILSEQ ++ ourselves. */ ++#ifndef EILSEQ ++#define EILSEQ ++#endif ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_open libiconv_open ++#endif ++extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode); ++ ++/* Converts, using conversion descriptor ‘cd’, at most ‘*inbytesleft’ bytes ++ starting at ‘*inbuf’, writing at most ‘*outbytesleft’ bytes starting at ++ ‘*outbuf’. ++ Decrements ‘*inbytesleft’ and increments ‘*inbuf’ by the same amount. ++ Decrements ‘*outbytesleft’ and increments ‘*outbuf’ by the same amount. */ ++#ifndef LIBICONV_PLUG ++#define iconv libiconv ++#endif ++extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); ++ ++/* Frees resources allocated for conversion descriptor ‘cd’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_close libiconv_close ++#endif ++extern LIBICONV_DLL_EXPORTED int iconv_close (iconv_t cd); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#ifndef LIBICONV_PLUG ++ ++/* Nonstandard extensions. */ ++ ++#if USE_MBSTATE_T ++#if BROKEN_WCHAR_H ++/* Tru64 with Desktop Toolkit C has a bug: must be included before ++ . ++ BSD/OS 4.0.1 has a bug: , and must be ++ included before . */ ++#include ++#include ++#include ++#endif ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* A type that holds all memory needed by a conversion descriptor. ++ A pointer to such an object can be used as an iconv_t. */ ++typedef struct { ++ void* dummy1[28]; ++#if USE_MBSTATE_T ++ mbstate_t dummy2; ++#endif ++} iconv_allocation_t; ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’ into preallocated memory. Returns an error indicator ++ (0 or -1 with errno set). */ ++#define iconv_open_into libiconv_open_into ++extern LIBICONV_DLL_EXPORTED int iconv_open_into (const char* tocode, const char* fromcode, ++ iconv_allocation_t* resultp); ++ ++/* Control of attributes. */ ++#define iconvctl libiconvctl ++extern LIBICONV_DLL_EXPORTED int iconvctl (iconv_t cd, int request, void* argument); ++ ++/* Hook performed after every successful conversion of a Unicode character. */ ++typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); ++/* Hook performed after every successful conversion of a wide character. */ ++typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); ++/* Set of hooks. */ ++struct iconv_hooks { ++ iconv_unicode_char_hook uc_hook; ++ iconv_wide_char_hook wc_hook; ++ void* data; ++}; ++ ++/* Fallback function. Invoked when a small number of bytes could not be ++ converted to a Unicode character. This function should process all ++ bytes from inbuf and may produce replacement Unicode characters by calling ++ the write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_mb_to_uc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const unsigned int *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a Unicode character could not be converted ++ to the target encoding. This function should process the character and ++ may produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_uc_to_mb_fallback) ++ (unsigned int code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#if HAVE_WCHAR_T ++/* Fallback function. Invoked when a number of bytes could not be converted to ++ a wide character. This function should process all bytes from inbuf and may ++ produce replacement wide characters by calling the write_replacement ++ callback repeatedly. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const wchar_t *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a wide character could not be converted to ++ the target encoding. This function should process the character and may ++ produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_wchar_wc_to_mb_fallback) ++ (wchar_t code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#else ++/* If the wchar_t type does not exist, these two fallback functions are never ++ invoked. Their argument list therefore does not matter. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) (); ++typedef void (*iconv_wchar_wc_to_mb_fallback) (); ++#endif ++/* Set of fallbacks. */ ++struct iconv_fallbacks { ++ iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; ++ iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; ++ iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; ++ iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; ++ void* data; ++}; ++ ++/* Requests for iconvctl. */ ++#define ICONV_TRIVIALP 0 /* int *argument */ ++#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ ++#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ ++#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ ++#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ ++#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ ++#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ ++ ++/* Listing of locale independent encodings. */ ++#define iconvlist libiconvlist ++extern LIBICONV_DLL_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount, ++ const char * const * names, ++ void* data), ++ void* data); ++ ++/* Canonicalize an encoding name. ++ The result is either a canonical encoding name, or name itself. */ ++extern LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name); ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++extern LIBICONV_DLL_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ ++ ++#endif /* _LIBICONV_H */ ++ +diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +--- libiconv.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ origin/libiconv.vcxproj 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,195 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {7EA4EC62-EA19-4ACC-86E2-0513E381292B} ++ libiconv ++ Win32Proj ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libiconv\ ++ ++ ++ ++ ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -ruN localcharset.h origin/localcharset.h +--- localcharset.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/localcharset.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,43 @@ ++/* Determine a canonical name for the current locale's character encoding. ++ Copyright (C) 2000-2003 Free Software Foundation, Inc. ++ This file is part of the GNU CHARSET Library. ++ ++ This program is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Library General Public License as published ++ by the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, ++ USA. */ ++ ++#ifndef _LOCALCHARSET_H ++#define _LOCALCHARSET_H ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Determine the current locale's character encoding, and canonicalize it ++ into one of the canonical names listed in config.charset. ++ The result must not be freed; it is statically allocated. ++ If the canonical name cannot be determined, the result is a non-canonical ++ name. */ ++extern const char * locale_charset (void); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#endif /* _LOCALCHARSET_H */ ++ diff --git a/patches/libiconv/libiconv-1.14-msvc2019.patch b/patches/libiconv/libiconv-1.14-msvc2019.patch new file mode 100644 index 0000000..4fabc37 --- /dev/null +++ b/patches/libiconv/libiconv-1.14-msvc2019.patch @@ -0,0 +1,921 @@ +diff -ruN config.h origin/config.h +--- config.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/config.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,416 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define to 1 if using `alloca.c'. */ ++#define C_ALLOCA 1 ++ ++/* Define as good substitute value for EILSEQ. */ ++/* #undef EILSEQ */ ++ ++/* Define to 1 to enable a few rarely used encodings. */ ++/* #undef ENABLE_EXTRA */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #undef ENABLE_NLS */ ++ ++/* Define to 1 if the package shall run at any location in the filesystem. */ ++/* #define ENABLE_RELOCATABLE 1 */ ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++/* #undef HAVE_ALLOCA */ ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `canonicalize_file_name', and to ++ 0 if you don't. */ ++#define HAVE_DECL_CANONICALIZE_FILE_NAME 0 ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `strerror', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++/* #undef HAVE_GETCWD */ ++ ++/* Define to 1 if you have the `getc_unlocked' function. */ ++/* #undef HAVE_GETC_UNLOCKED */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define if you have the iconv() function and it works. */ ++/* #undef HAVE_ICONV */ ++ ++/* Define if your compiler supports the #include_next directive. */ ++/* #undef HAVE_INCLUDE_NEXT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_INTTYPES_H */ ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define to 1 if the system has the type `long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++/* #undef HAVE_MALLOC_POSIX */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++/* #undef HAVE_MBRTOWC */ ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++/* #undef HAVE_MBSINIT */ ++ ++/* Define to 1 if declares mbstate_t. */ ++/* #undef HAVE_MBSTATE_T */ ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1^ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MEMORY_H */ ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++/* #undef HAVE_SETLOCALE */ ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if stdbool.h conforms to C99. */ ++/* #undef HAVE_STDBOOL_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_STRINGS_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_PARAM_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_STAT_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_TYPES_H */ ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type `unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 0 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++/* #undef HAVE_WCRTOMB */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++/* #undef HAVE__BOOL */ ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to the value of ${prefix}, as a string. */ ++/* #define INSTALLPREFIX "/usr/local" */ ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 0 ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++#define NO_MINUS_C_MINUS_O 1 ++ ++/* Name of package */ ++#define PACKAGE "libiconv" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++#define PTRDIFF_T_SUFFIX ++ ++/* Define this to 1 if strerror is broken. */ ++#define REPLACE_STRERROR 1 ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++#define SIG_ATOMIC_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++#define SIZE_T_SUFFIX ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++#define STACK_DIRECTION -1 ++ ++/* Define to 1 if you have the ANSI C header files. */ ++/* #undef STDC_HEADERS */ ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Version number of package */ ++#define VERSION "1.12" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++#define WCHAR_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++#define WINT_T_SUFFIX ++ ++/* Define if the machine's byte ordering is little endian. */ ++#define WORDS_LITTLEENDIAN 1 ++ ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for `stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++/* # undef __EXTENSIONS__ */ ++#endif ++ ++ ++/* Define to a type if does not define. */ ++/*#define mbstate_t int*/ ++ ++/* Define to a replacement function name for realpath(). */ ++#define realpath rpl_realpath ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict ++/* Work around a bug in Sun C++: it does not support _Restrict, even ++ though the corresponding Sun C compiler does, which causes ++ "#define restrict _Restrict" in the previous line. Perhaps some future ++ version of Sun C++ will work with _Restrict; if so, it'll probably ++ define __RESTRICT, just as Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++#endif ++ ++/* Define as a signed type of the same size as size_t. */ ++#ifdef _WIN64 ++#define ssize_t long long ++#else ++#define ssize_t int ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#define DLL_VARIABLE __declspec (dllimport) ++ ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ +diff -ruN iconv.h origin/iconv.h +--- iconv.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/iconv.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,251 @@ ++/* Copyright (C) 1999-2003, 2005-2006, 2008-2011 Free Software Foundation, Inc. ++ This file is part of the GNU LIBICONV Library. ++ ++ The GNU LIBICONV Library is free software; you can redistribute it ++ and/or modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ The GNU LIBICONV Library is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU LIBICONV Library; see the file COPYING.LIB. ++ If not, write to the Free Software Foundation, Inc., 51 Franklin Street, ++ Fifth Floor, Boston, MA 02110-1301, USA. */ ++ ++/* When installed, this file is called "iconv.h". */ ++ ++#ifndef _LIBICONV_H ++#define _LIBICONV_H ++ ++#define _LIBICONV_VERSION 0x010E /* version number: (major<<8) + minor */ ++ ++#ifdef BUILDING_LIBICONV ++#define LIBICONV_DLL_EXPORTED __declspec(dllexport) ++#elif LIBICONV_DLL ++#define LIBICONV_DLL_EXPORTED __declspec(dllimport) ++#else ++#define LIBICONV_DLL_EXPORTED ++#endif ++extern LIBICONV_DLL_EXPORTED int _libiconv_version; ++ ++/* We would like to #include any system header file which could define ++ iconv_t, 1. in order to eliminate the risk that the user gets compilation ++ errors because some other system header file includes /usr/include/iconv.h ++ which defines iconv_t or declares iconv after this file, 2. when compiling ++ for LIBICONV_PLUG, we need the proper iconv_t type in order to produce ++ binary compatible code. ++ But gcc's #include_next is not portable. Thus, once libiconv's iconv.h ++ has been installed in /usr/local/include, there is no way any more to ++ include the original /usr/include/iconv.h. We simply have to get away ++ without it. ++ Ad 1. The risk that a system header file does ++ #include "iconv.h" or #include_next "iconv.h" ++ is small. They all do #include . ++ Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It ++ has to be a scalar type because (iconv_t)(-1) is a possible return value ++ from iconv_open().) */ ++ ++/* Define iconv_t ourselves. */ ++#undef iconv_t ++#define iconv_t libiconv_t ++typedef void* iconv_t; ++ ++/* Get size_t declaration. ++ Get wchar_t declaration if it exists. */ ++#include ++ ++/* Get errno declaration and values. */ ++#include ++/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, ++ have EILSEQ in a different header. On these systems, define EILSEQ ++ ourselves. */ ++#ifndef EILSEQ ++#define EILSEQ ++#endif ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_open libiconv_open ++#endif ++extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode); ++ ++/* Converts, using conversion descriptor ‘cd’, at most ‘*inbytesleft’ bytes ++ starting at ‘*inbuf’, writing at most ‘*outbytesleft’ bytes starting at ++ ‘*outbuf’. ++ Decrements ‘*inbytesleft’ and increments ‘*inbuf’ by the same amount. ++ Decrements ‘*outbytesleft’ and increments ‘*outbuf’ by the same amount. */ ++#ifndef LIBICONV_PLUG ++#define iconv libiconv ++#endif ++extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); ++ ++/* Frees resources allocated for conversion descriptor ‘cd’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_close libiconv_close ++#endif ++extern LIBICONV_DLL_EXPORTED int iconv_close (iconv_t cd); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#ifndef LIBICONV_PLUG ++ ++/* Nonstandard extensions. */ ++ ++#if USE_MBSTATE_T ++#if BROKEN_WCHAR_H ++/* Tru64 with Desktop Toolkit C has a bug: must be included before ++ . ++ BSD/OS 4.0.1 has a bug: , and must be ++ included before . */ ++#include ++#include ++#include ++#endif ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* A type that holds all memory needed by a conversion descriptor. ++ A pointer to such an object can be used as an iconv_t. */ ++typedef struct { ++ void* dummy1[28]; ++#if USE_MBSTATE_T ++ mbstate_t dummy2; ++#endif ++} iconv_allocation_t; ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’ into preallocated memory. Returns an error indicator ++ (0 or -1 with errno set). */ ++#define iconv_open_into libiconv_open_into ++extern LIBICONV_DLL_EXPORTED int iconv_open_into (const char* tocode, const char* fromcode, ++ iconv_allocation_t* resultp); ++ ++/* Control of attributes. */ ++#define iconvctl libiconvctl ++extern LIBICONV_DLL_EXPORTED int iconvctl (iconv_t cd, int request, void* argument); ++ ++/* Hook performed after every successful conversion of a Unicode character. */ ++typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); ++/* Hook performed after every successful conversion of a wide character. */ ++typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); ++/* Set of hooks. */ ++struct iconv_hooks { ++ iconv_unicode_char_hook uc_hook; ++ iconv_wide_char_hook wc_hook; ++ void* data; ++}; ++ ++/* Fallback function. Invoked when a small number of bytes could not be ++ converted to a Unicode character. This function should process all ++ bytes from inbuf and may produce replacement Unicode characters by calling ++ the write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_mb_to_uc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const unsigned int *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a Unicode character could not be converted ++ to the target encoding. This function should process the character and ++ may produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_uc_to_mb_fallback) ++ (unsigned int code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#if HAVE_WCHAR_T ++/* Fallback function. Invoked when a number of bytes could not be converted to ++ a wide character. This function should process all bytes from inbuf and may ++ produce replacement wide characters by calling the write_replacement ++ callback repeatedly. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const wchar_t *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a wide character could not be converted to ++ the target encoding. This function should process the character and may ++ produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_wchar_wc_to_mb_fallback) ++ (wchar_t code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#else ++/* If the wchar_t type does not exist, these two fallback functions are never ++ invoked. Their argument list therefore does not matter. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) (); ++typedef void (*iconv_wchar_wc_to_mb_fallback) (); ++#endif ++/* Set of fallbacks. */ ++struct iconv_fallbacks { ++ iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; ++ iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; ++ iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; ++ iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; ++ void* data; ++}; ++ ++/* Requests for iconvctl. */ ++#define ICONV_TRIVIALP 0 /* int *argument */ ++#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ ++#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ ++#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ ++#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ ++#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ ++#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ ++ ++/* Listing of locale independent encodings. */ ++#define iconvlist libiconvlist ++extern LIBICONV_DLL_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount, ++ const char * const * names, ++ void* data), ++ void* data); ++ ++/* Canonicalize an encoding name. ++ The result is either a canonical encoding name, or name itself. */ ++extern LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name); ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++extern LIBICONV_DLL_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ ++ ++#endif /* _LIBICONV_H */ ++ +diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +--- libiconv.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ origin/libiconv.vcxproj 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,195 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {7EA4EC62-EA19-4ACC-86E2-0513E381292B} ++ libiconv ++ Win32Proj ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libiconv\ ++ ++ ++ ++ ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -ruN localcharset.h origin/localcharset.h +--- localcharset.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/localcharset.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,43 @@ ++/* Determine a canonical name for the current locale's character encoding. ++ Copyright (C) 2000-2003 Free Software Foundation, Inc. ++ This file is part of the GNU CHARSET Library. ++ ++ This program is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Library General Public License as published ++ by the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, ++ USA. */ ++ ++#ifndef _LOCALCHARSET_H ++#define _LOCALCHARSET_H ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Determine the current locale's character encoding, and canonicalize it ++ into one of the canonical names listed in config.charset. ++ The result must not be freed; it is statically allocated. ++ If the canonical name cannot be determined, the result is a non-canonical ++ name. */ ++extern const char * locale_charset (void); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#endif /* _LOCALCHARSET_H */ ++ diff --git a/patches/libiconv/libiconv-1.14-msvc2015.patch b/patches/libiconv/libiconv-1.15-MSVC2013.patch similarity index 100% rename from patches/libiconv/libiconv-1.14-msvc2015.patch rename to patches/libiconv/libiconv-1.15-MSVC2013.patch diff --git a/patches/libiconv/libiconv-1.15-MSVC2015.patch b/patches/libiconv/libiconv-1.15-MSVC2015.patch new file mode 100644 index 0000000..0f633ce --- /dev/null +++ b/patches/libiconv/libiconv-1.15-MSVC2015.patch @@ -0,0 +1,921 @@ +diff -ruN "..\\libiconv-1.15.orig/config.h" ./config.h +--- "..\\libiconv-1.15.orig/config.h" 1970-01-01 03:00:00.000000000 +0300 ++++ ./config.h 2018-01-26 23:22:04.349969500 +0300 +@@ -0,0 +1,416 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define to 1 if using `alloca.c'. */ ++#define C_ALLOCA 1 ++ ++/* Define as good substitute value for EILSEQ. */ ++/* #undef EILSEQ */ ++ ++/* Define to 1 to enable a few rarely used encodings. */ ++/* #undef ENABLE_EXTRA */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #undef ENABLE_NLS */ ++ ++/* Define to 1 if the package shall run at any location in the filesystem. */ ++/* #define ENABLE_RELOCATABLE 1 */ ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++/* #undef HAVE_ALLOCA */ ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `canonicalize_file_name', and to ++ 0 if you don't. */ ++#define HAVE_DECL_CANONICALIZE_FILE_NAME 0 ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `strerror', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++/* #undef HAVE_GETCWD */ ++ ++/* Define to 1 if you have the `getc_unlocked' function. */ ++/* #undef HAVE_GETC_UNLOCKED */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define if you have the iconv() function and it works. */ ++/* #undef HAVE_ICONV */ ++ ++/* Define if your compiler supports the #include_next directive. */ ++/* #undef HAVE_INCLUDE_NEXT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_INTTYPES_H */ ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define to 1 if the system has the type `long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++/* #undef HAVE_MALLOC_POSIX */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++/* #undef HAVE_MBRTOWC */ ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++/* #undef HAVE_MBSINIT */ ++ ++/* Define to 1 if declares mbstate_t. */ ++#define HAVE_MBSTATE_T ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1^ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MEMORY_H */ ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++/* #undef HAVE_SETLOCALE */ ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if stdbool.h conforms to C99. */ ++/* #undef HAVE_STDBOOL_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_STRINGS_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_PARAM_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_STAT_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_TYPES_H */ ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type `unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 0 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++/* #undef HAVE_WCRTOMB */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++/* #undef HAVE__BOOL */ ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to the value of ${prefix}, as a string. */ ++/* #define INSTALLPREFIX "/usr/local" */ ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 0 ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++#define NO_MINUS_C_MINUS_O 1 ++ ++/* Name of package */ ++#define PACKAGE "libiconv" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++#define PTRDIFF_T_SUFFIX ++ ++/* Define this to 1 if strerror is broken. */ ++#define REPLACE_STRERROR 1 ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++#define SIG_ATOMIC_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++#define SIZE_T_SUFFIX ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++#define STACK_DIRECTION -1 ++ ++/* Define to 1 if you have the ANSI C header files. */ ++/* #undef STDC_HEADERS */ ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Version number of package */ ++#define VERSION "1.12" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++#define WCHAR_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++#define WINT_T_SUFFIX ++ ++/* Define if the machine's byte ordering is little endian. */ ++#define WORDS_LITTLEENDIAN 1 ++ ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for `stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++/* # undef __EXTENSIONS__ */ ++#endif ++ ++ ++/* Define to a type if does not define. */ ++/* #define mbstate_t int */ ++ ++/* Define to a replacement function name for realpath(). */ ++#define realpath rpl_realpath ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict ++/* Work around a bug in Sun C++: it does not support _Restrict, even ++ though the corresponding Sun C compiler does, which causes ++ "#define restrict _Restrict" in the previous line. Perhaps some future ++ version of Sun C++ will work with _Restrict; if so, it'll probably ++ define __RESTRICT, just as Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++#endif ++ ++/* Define as a signed type of the same size as size_t. */ ++#ifdef _WIN64 ++#define ssize_t long long ++#else ++#define ssize_t int ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#define DLL_VARIABLE __declspec (dllimport) ++ ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ +diff -ruN "..\\libiconv-1.15.orig/iconv.h" ./iconv.h +--- "..\\libiconv-1.15.orig/iconv.h" 1970-01-01 03:00:00.000000000 +0300 ++++ ./iconv.h 2018-01-26 23:22:04.568781400 +0300 +@@ -0,0 +1,251 @@ ++/* Copyright (C) 1999-2003, 2005-2006, 2008-2011 Free Software Foundation, Inc. ++ This file is part of the GNU LIBICONV Library. ++ ++ The GNU LIBICONV Library is free software; you can redistribute it ++ and/or modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ The GNU LIBICONV Library is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU LIBICONV Library; see the file COPYING.LIB. ++ If not, write to the Free Software Foundation, Inc., 51 Franklin Street, ++ Fifth Floor, Boston, MA 02110-1301, USA. */ ++ ++/* When installed, this file is called "iconv.h". */ ++ ++#ifndef _LIBICONV_H ++#define _LIBICONV_H ++ ++#define _LIBICONV_VERSION 0x010E /* version number: (major<<8) + minor */ ++ ++#ifdef BUILDING_LIBICONV ++#define LIBICONV_DLL_EXPORTED __declspec(dllexport) ++#elif LIBICONV_DLL ++#define LIBICONV_DLL_EXPORTED __declspec(dllimport) ++#else ++#define LIBICONV_DLL_EXPORTED ++#endif ++extern LIBICONV_DLL_EXPORTED int _libiconv_version; ++ ++/* We would like to #include any system header file which could define ++ iconv_t, 1. in order to eliminate the risk that the user gets compilation ++ errors because some other system header file includes /usr/include/iconv.h ++ which defines iconv_t or declares iconv after this file, 2. when compiling ++ for LIBICONV_PLUG, we need the proper iconv_t type in order to produce ++ binary compatible code. ++ But gcc's #include_next is not portable. Thus, once libiconv's iconv.h ++ has been installed in /usr/local/include, there is no way any more to ++ include the original /usr/include/iconv.h. We simply have to get away ++ without it. ++ Ad 1. The risk that a system header file does ++ #include "iconv.h" or #include_next "iconv.h" ++ is small. They all do #include . ++ Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It ++ has to be a scalar type because (iconv_t)(-1) is a possible return value ++ from iconv_open().) */ ++ ++/* Define iconv_t ourselves. */ ++#undef iconv_t ++#define iconv_t libiconv_t ++typedef void* iconv_t; ++ ++/* Get size_t declaration. ++ Get wchar_t declaration if it exists. */ ++#include ++ ++/* Get errno declaration and values. */ ++#include ++/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, ++ have EILSEQ in a different header. On these systems, define EILSEQ ++ ourselves. */ ++#ifndef EILSEQ ++#define EILSEQ ++#endif ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_open libiconv_open ++#endif ++extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode); ++ ++/* Converts, using conversion descriptor ‘cd’, at most ‘*inbytesleft’ bytes ++ starting at ‘*inbuf’, writing at most ‘*outbytesleft’ bytes starting at ++ ‘*outbuf’. ++ Decrements ‘*inbytesleft’ and increments ‘*inbuf’ by the same amount. ++ Decrements ‘*outbytesleft’ and increments ‘*outbuf’ by the same amount. */ ++#ifndef LIBICONV_PLUG ++#define iconv libiconv ++#endif ++extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); ++ ++/* Frees resources allocated for conversion descriptor ‘cd’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_close libiconv_close ++#endif ++extern LIBICONV_DLL_EXPORTED int iconv_close (iconv_t cd); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#ifndef LIBICONV_PLUG ++ ++/* Nonstandard extensions. */ ++ ++#if USE_MBSTATE_T ++#if BROKEN_WCHAR_H ++/* Tru64 with Desktop Toolkit C has a bug: must be included before ++ . ++ BSD/OS 4.0.1 has a bug: , and must be ++ included before . */ ++#include ++#include ++#include ++#endif ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* A type that holds all memory needed by a conversion descriptor. ++ A pointer to such an object can be used as an iconv_t. */ ++typedef struct { ++ void* dummy1[28]; ++#if USE_MBSTATE_T ++ mbstate_t dummy2; ++#endif ++} iconv_allocation_t; ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’ into preallocated memory. Returns an error indicator ++ (0 or -1 with errno set). */ ++#define iconv_open_into libiconv_open_into ++extern LIBICONV_DLL_EXPORTED int iconv_open_into (const char* tocode, const char* fromcode, ++ iconv_allocation_t* resultp); ++ ++/* Control of attributes. */ ++#define iconvctl libiconvctl ++extern LIBICONV_DLL_EXPORTED int iconvctl (iconv_t cd, int request, void* argument); ++ ++/* Hook performed after every successful conversion of a Unicode character. */ ++typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); ++/* Hook performed after every successful conversion of a wide character. */ ++typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); ++/* Set of hooks. */ ++struct iconv_hooks { ++ iconv_unicode_char_hook uc_hook; ++ iconv_wide_char_hook wc_hook; ++ void* data; ++}; ++ ++/* Fallback function. Invoked when a small number of bytes could not be ++ converted to a Unicode character. This function should process all ++ bytes from inbuf and may produce replacement Unicode characters by calling ++ the write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_mb_to_uc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const unsigned int *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a Unicode character could not be converted ++ to the target encoding. This function should process the character and ++ may produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_uc_to_mb_fallback) ++ (unsigned int code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#if HAVE_WCHAR_T ++/* Fallback function. Invoked when a number of bytes could not be converted to ++ a wide character. This function should process all bytes from inbuf and may ++ produce replacement wide characters by calling the write_replacement ++ callback repeatedly. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const wchar_t *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a wide character could not be converted to ++ the target encoding. This function should process the character and may ++ produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_wchar_wc_to_mb_fallback) ++ (wchar_t code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#else ++/* If the wchar_t type does not exist, these two fallback functions are never ++ invoked. Their argument list therefore does not matter. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) (); ++typedef void (*iconv_wchar_wc_to_mb_fallback) (); ++#endif ++/* Set of fallbacks. */ ++struct iconv_fallbacks { ++ iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; ++ iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; ++ iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; ++ iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; ++ void* data; ++}; ++ ++/* Requests for iconvctl. */ ++#define ICONV_TRIVIALP 0 /* int *argument */ ++#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ ++#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ ++#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ ++#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ ++#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ ++#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ ++ ++/* Listing of locale independent encodings. */ ++#define iconvlist libiconvlist ++extern LIBICONV_DLL_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount, ++ const char * const * names, ++ void* data), ++ void* data); ++ ++/* Canonicalize an encoding name. ++ The result is either a canonical encoding name, or name itself. */ ++extern LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name); ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++extern LIBICONV_DLL_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ ++ ++#endif /* _LIBICONV_H */ ++ +diff -ruN "..\\libiconv-1.15.orig/libiconv.vcxproj" ./libiconv.vcxproj +--- "..\\libiconv-1.15.orig/libiconv.vcxproj" 1970-01-01 03:00:00.000000000 +0300 ++++ ./libiconv.vcxproj 2018-01-26 23:22:04.584353000 +0300 +@@ -0,0 +1,195 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {7EA4EC62-EA19-4ACC-86E2-0513E381292B} ++ libiconv ++ Win32Proj ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libiconv\ ++ ++ ++ ++ ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -ruN "..\\libiconv-1.15.orig/localcharset.h" ./localcharset.h +--- "..\\libiconv-1.15.orig/localcharset.h" 1970-01-01 03:00:00.000000000 +0300 ++++ ./localcharset.h 2018-01-26 23:22:04.615647500 +0300 +@@ -0,0 +1,43 @@ ++/* Determine a canonical name for the current locale's character encoding. ++ Copyright (C) 2000-2003 Free Software Foundation, Inc. ++ This file is part of the GNU CHARSET Library. ++ ++ This program is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Library General Public License as published ++ by the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, ++ USA. */ ++ ++#ifndef _LOCALCHARSET_H ++#define _LOCALCHARSET_H ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Determine the current locale's character encoding, and canonicalize it ++ into one of the canonical names listed in config.charset. ++ The result must not be freed; it is statically allocated. ++ If the canonical name cannot be determined, the result is a non-canonical ++ name. */ ++extern const char * locale_charset (void); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#endif /* _LOCALCHARSET_H */ ++ diff --git a/patches/libiconv/libiconv-1.15-SDK71.patch b/patches/libiconv/libiconv-1.15-SDK71.patch new file mode 100644 index 0000000..6ab00b8 --- /dev/null +++ b/patches/libiconv/libiconv-1.15-SDK71.patch @@ -0,0 +1,921 @@ +diff -ruN config.h origin/config.h +--- config.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/config.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,416 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define to 1 if using `alloca.c'. */ ++#define C_ALLOCA 1 ++ ++/* Define as good substitute value for EILSEQ. */ ++/* #undef EILSEQ */ ++ ++/* Define to 1 to enable a few rarely used encodings. */ ++/* #undef ENABLE_EXTRA */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #undef ENABLE_NLS */ ++ ++/* Define to 1 if the package shall run at any location in the filesystem. */ ++/* #define ENABLE_RELOCATABLE 1 */ ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++/* #undef HAVE_ALLOCA */ ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `canonicalize_file_name', and to ++ 0 if you don't. */ ++#define HAVE_DECL_CANONICALIZE_FILE_NAME 0 ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `strerror', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++/* #undef HAVE_GETCWD */ ++ ++/* Define to 1 if you have the `getc_unlocked' function. */ ++/* #undef HAVE_GETC_UNLOCKED */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define if you have the iconv() function and it works. */ ++/* #undef HAVE_ICONV */ ++ ++/* Define if your compiler supports the #include_next directive. */ ++/* #undef HAVE_INCLUDE_NEXT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_INTTYPES_H */ ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define to 1 if the system has the type `long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++/* #undef HAVE_MALLOC_POSIX */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++/* #undef HAVE_MBRTOWC */ ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++/* #undef HAVE_MBSINIT */ ++ ++/* Define to 1 if declares mbstate_t. */ ++/* #undef HAVE_MBSTATE_T */ ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1^ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MEMORY_H */ ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++/* #undef HAVE_SETLOCALE */ ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if stdbool.h conforms to C99. */ ++/* #undef HAVE_STDBOOL_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_STRINGS_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_PARAM_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_STAT_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_TYPES_H */ ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type `unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 0 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++/* #undef HAVE_WCRTOMB */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++/* #undef HAVE__BOOL */ ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to the value of ${prefix}, as a string. */ ++/* #define INSTALLPREFIX "/usr/local" */ ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 0 ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++#define NO_MINUS_C_MINUS_O 1 ++ ++/* Name of package */ ++#define PACKAGE "libiconv" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++#define PTRDIFF_T_SUFFIX ++ ++/* Define this to 1 if strerror is broken. */ ++#define REPLACE_STRERROR 1 ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++#define SIG_ATOMIC_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++#define SIZE_T_SUFFIX ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++#define STACK_DIRECTION -1 ++ ++/* Define to 1 if you have the ANSI C header files. */ ++/* #undef STDC_HEADERS */ ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Version number of package */ ++#define VERSION "1.12" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++#define WCHAR_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++#define WINT_T_SUFFIX ++ ++/* Define if the machine's byte ordering is little endian. */ ++#define WORDS_LITTLEENDIAN 1 ++ ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for `stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++/* # undef __EXTENSIONS__ */ ++#endif ++ ++ ++/* Define to a type if does not define. */ ++#define mbstate_t int ++ ++/* Define to a replacement function name for realpath(). */ ++#define realpath rpl_realpath ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict ++/* Work around a bug in Sun C++: it does not support _Restrict, even ++ though the corresponding Sun C compiler does, which causes ++ "#define restrict _Restrict" in the previous line. Perhaps some future ++ version of Sun C++ will work with _Restrict; if so, it'll probably ++ define __RESTRICT, just as Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++#endif ++ ++/* Define as a signed type of the same size as size_t. */ ++#ifdef _WIN64 ++#define ssize_t long long ++#else ++#define ssize_t int ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#define DLL_VARIABLE __declspec (dllimport) ++ ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ +diff -ruN iconv.h origin/iconv.h +--- iconv.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/iconv.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,251 @@ ++/* Copyright (C) 1999-2003, 2005-2006, 2008-2011 Free Software Foundation, Inc. ++ This file is part of the GNU LIBICONV Library. ++ ++ The GNU LIBICONV Library is free software; you can redistribute it ++ and/or modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ The GNU LIBICONV Library is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU LIBICONV Library; see the file COPYING.LIB. ++ If not, write to the Free Software Foundation, Inc., 51 Franklin Street, ++ Fifth Floor, Boston, MA 02110-1301, USA. */ ++ ++/* When installed, this file is called "iconv.h". */ ++ ++#ifndef _LIBICONV_H ++#define _LIBICONV_H ++ ++#define _LIBICONV_VERSION 0x010E /* version number: (major<<8) + minor */ ++ ++#ifdef BUILDING_LIBICONV ++#define LIBICONV_DLL_EXPORTED __declspec(dllexport) ++#elif LIBICONV_DLL ++#define LIBICONV_DLL_EXPORTED __declspec(dllimport) ++#else ++#define LIBICONV_DLL_EXPORTED ++#endif ++extern LIBICONV_DLL_EXPORTED int _libiconv_version; ++ ++/* We would like to #include any system header file which could define ++ iconv_t, 1. in order to eliminate the risk that the user gets compilation ++ errors because some other system header file includes /usr/include/iconv.h ++ which defines iconv_t or declares iconv after this file, 2. when compiling ++ for LIBICONV_PLUG, we need the proper iconv_t type in order to produce ++ binary compatible code. ++ But gcc's #include_next is not portable. Thus, once libiconv's iconv.h ++ has been installed in /usr/local/include, there is no way any more to ++ include the original /usr/include/iconv.h. We simply have to get away ++ without it. ++ Ad 1. The risk that a system header file does ++ #include "iconv.h" or #include_next "iconv.h" ++ is small. They all do #include . ++ Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It ++ has to be a scalar type because (iconv_t)(-1) is a possible return value ++ from iconv_open().) */ ++ ++/* Define iconv_t ourselves. */ ++#undef iconv_t ++#define iconv_t libiconv_t ++typedef void* iconv_t; ++ ++/* Get size_t declaration. ++ Get wchar_t declaration if it exists. */ ++#include ++ ++/* Get errno declaration and values. */ ++#include ++/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, ++ have EILSEQ in a different header. On these systems, define EILSEQ ++ ourselves. */ ++#ifndef EILSEQ ++#define EILSEQ ++#endif ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_open libiconv_open ++#endif ++extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode); ++ ++/* Converts, using conversion descriptor ‘cd’, at most ‘*inbytesleft’ bytes ++ starting at ‘*inbuf’, writing at most ‘*outbytesleft’ bytes starting at ++ ‘*outbuf’. ++ Decrements ‘*inbytesleft’ and increments ‘*inbuf’ by the same amount. ++ Decrements ‘*outbytesleft’ and increments ‘*outbuf’ by the same amount. */ ++#ifndef LIBICONV_PLUG ++#define iconv libiconv ++#endif ++extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); ++ ++/* Frees resources allocated for conversion descriptor ‘cd’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_close libiconv_close ++#endif ++extern LIBICONV_DLL_EXPORTED int iconv_close (iconv_t cd); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#ifndef LIBICONV_PLUG ++ ++/* Nonstandard extensions. */ ++ ++#if USE_MBSTATE_T ++#if BROKEN_WCHAR_H ++/* Tru64 with Desktop Toolkit C has a bug: must be included before ++ . ++ BSD/OS 4.0.1 has a bug: , and must be ++ included before . */ ++#include ++#include ++#include ++#endif ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* A type that holds all memory needed by a conversion descriptor. ++ A pointer to such an object can be used as an iconv_t. */ ++typedef struct { ++ void* dummy1[28]; ++#if USE_MBSTATE_T ++ mbstate_t dummy2; ++#endif ++} iconv_allocation_t; ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’ into preallocated memory. Returns an error indicator ++ (0 or -1 with errno set). */ ++#define iconv_open_into libiconv_open_into ++extern LIBICONV_DLL_EXPORTED int iconv_open_into (const char* tocode, const char* fromcode, ++ iconv_allocation_t* resultp); ++ ++/* Control of attributes. */ ++#define iconvctl libiconvctl ++extern LIBICONV_DLL_EXPORTED int iconvctl (iconv_t cd, int request, void* argument); ++ ++/* Hook performed after every successful conversion of a Unicode character. */ ++typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); ++/* Hook performed after every successful conversion of a wide character. */ ++typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); ++/* Set of hooks. */ ++struct iconv_hooks { ++ iconv_unicode_char_hook uc_hook; ++ iconv_wide_char_hook wc_hook; ++ void* data; ++}; ++ ++/* Fallback function. Invoked when a small number of bytes could not be ++ converted to a Unicode character. This function should process all ++ bytes from inbuf and may produce replacement Unicode characters by calling ++ the write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_mb_to_uc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const unsigned int *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a Unicode character could not be converted ++ to the target encoding. This function should process the character and ++ may produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_uc_to_mb_fallback) ++ (unsigned int code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#if HAVE_WCHAR_T ++/* Fallback function. Invoked when a number of bytes could not be converted to ++ a wide character. This function should process all bytes from inbuf and may ++ produce replacement wide characters by calling the write_replacement ++ callback repeatedly. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const wchar_t *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a wide character could not be converted to ++ the target encoding. This function should process the character and may ++ produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_wchar_wc_to_mb_fallback) ++ (wchar_t code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#else ++/* If the wchar_t type does not exist, these two fallback functions are never ++ invoked. Their argument list therefore does not matter. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) (); ++typedef void (*iconv_wchar_wc_to_mb_fallback) (); ++#endif ++/* Set of fallbacks. */ ++struct iconv_fallbacks { ++ iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; ++ iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; ++ iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; ++ iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; ++ void* data; ++}; ++ ++/* Requests for iconvctl. */ ++#define ICONV_TRIVIALP 0 /* int *argument */ ++#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ ++#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ ++#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ ++#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ ++#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ ++#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ ++ ++/* Listing of locale independent encodings. */ ++#define iconvlist libiconvlist ++extern LIBICONV_DLL_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount, ++ const char * const * names, ++ void* data), ++ void* data); ++ ++/* Canonicalize an encoding name. ++ The result is either a canonical encoding name, or name itself. */ ++extern LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name); ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++extern LIBICONV_DLL_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ ++ ++#endif /* _LIBICONV_H */ ++ +diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +--- libiconv.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ origin/libiconv.vcxproj 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,195 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {7EA4EC62-EA19-4ACC-86E2-0513E381292B} ++ libiconv ++ Win32Proj ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libiconv\ ++ ++ ++ ++ ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -ruN localcharset.h origin/localcharset.h +--- localcharset.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/localcharset.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,43 @@ ++/* Determine a canonical name for the current locale's character encoding. ++ Copyright (C) 2000-2003 Free Software Foundation, Inc. ++ This file is part of the GNU CHARSET Library. ++ ++ This program is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Library General Public License as published ++ by the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, ++ USA. */ ++ ++#ifndef _LOCALCHARSET_H ++#define _LOCALCHARSET_H ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Determine the current locale's character encoding, and canonicalize it ++ into one of the canonical names listed in config.charset. ++ The result must not be freed; it is statically allocated. ++ If the canonical name cannot be determined, the result is a non-canonical ++ name. */ ++extern const char * locale_charset (void); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#endif /* _LOCALCHARSET_H */ ++ diff --git a/patches/libiconv/libiconv-1.15-msvc2017.patch b/patches/libiconv/libiconv-1.15-msvc2017.patch new file mode 100644 index 0000000..50ea947 --- /dev/null +++ b/patches/libiconv/libiconv-1.15-msvc2017.patch @@ -0,0 +1,926 @@ +diff -ruN config.h origin/config.h +--- config.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/config.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,416 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define to 1 if using `alloca.c'. */ ++#define C_ALLOCA 1 ++ ++/* Define as good substitute value for EILSEQ. */ ++/* #undef EILSEQ */ ++ ++/* Define to 1 to enable a few rarely used encodings. */ ++/* #undef ENABLE_EXTRA */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #undef ENABLE_NLS */ ++ ++/* Define to 1 if the package shall run at any location in the filesystem. */ ++/* #define ENABLE_RELOCATABLE 1 */ ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++/* #undef HAVE_ALLOCA */ ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `canonicalize_file_name', and to ++ 0 if you don't. */ ++#define HAVE_DECL_CANONICALIZE_FILE_NAME 0 ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `strerror', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++/* #undef HAVE_GETCWD */ ++ ++/* Define to 1 if you have the `getc_unlocked' function. */ ++/* #undef HAVE_GETC_UNLOCKED */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define if you have the iconv() function and it works. */ ++/* #undef HAVE_ICONV */ ++ ++/* Define if your compiler supports the #include_next directive. */ ++/* #undef HAVE_INCLUDE_NEXT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_INTTYPES_H */ ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define to 1 if the system has the type `long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++/* #undef HAVE_MALLOC_POSIX */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++/* #undef HAVE_MBRTOWC */ ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++/* #undef HAVE_MBSINIT */ ++ ++/* Define to 1 if declares mbstate_t. */ ++/* #undef HAVE_MBSTATE_T */ ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1^ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MEMORY_H */ ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++/* #undef HAVE_SETLOCALE */ ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if stdbool.h conforms to C99. */ ++/* #undef HAVE_STDBOOL_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_STRINGS_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_PARAM_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_STAT_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_TYPES_H */ ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type `unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 0 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++/* #undef HAVE_WCRTOMB */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++/* #undef HAVE__BOOL */ ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to the value of ${prefix}, as a string. */ ++/* #define INSTALLPREFIX "/usr/local" */ ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 0 ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++#define NO_MINUS_C_MINUS_O 1 ++ ++/* Name of package */ ++#define PACKAGE "libiconv" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++#define PTRDIFF_T_SUFFIX ++ ++/* Define this to 1 if strerror is broken. */ ++#define REPLACE_STRERROR 1 ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++#define SIG_ATOMIC_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++#define SIZE_T_SUFFIX ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++#define STACK_DIRECTION -1 ++ ++/* Define to 1 if you have the ANSI C header files. */ ++/* #undef STDC_HEADERS */ ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Version number of package */ ++#define VERSION "1.12" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++#define WCHAR_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++#define WINT_T_SUFFIX ++ ++/* Define if the machine's byte ordering is little endian. */ ++#define WORDS_LITTLEENDIAN 1 ++ ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for `stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++/* # undef __EXTENSIONS__ */ ++#endif ++ ++ ++/* Define to a type if does not define. */ ++/*#define mbstate_t int*/ ++ ++/* Define to a replacement function name for realpath(). */ ++#define realpath rpl_realpath ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict ++/* Work around a bug in Sun C++: it does not support _Restrict, even ++ though the corresponding Sun C compiler does, which causes ++ "#define restrict _Restrict" in the previous line. Perhaps some future ++ version of Sun C++ will work with _Restrict; if so, it'll probably ++ define __RESTRICT, just as Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++#endif ++ ++/* Define as a signed type of the same size as size_t. */ ++#ifdef _WIN64 ++#define ssize_t long long ++#else ++#define ssize_t int ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#define DLL_VARIABLE __declspec (dllimport) ++ ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ +diff -ruN iconv.h origin/iconv.h +--- iconv.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/iconv.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,251 @@ ++/* Copyright (C) 1999-2003, 2005-2006, 2008-2011 Free Software Foundation, Inc. ++ This file is part of the GNU LIBICONV Library. ++ ++ The GNU LIBICONV Library is free software; you can redistribute it ++ and/or modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ The GNU LIBICONV Library is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU LIBICONV Library; see the file COPYING.LIB. ++ If not, write to the Free Software Foundation, Inc., 51 Franklin Street, ++ Fifth Floor, Boston, MA 02110-1301, USA. */ ++ ++/* When installed, this file is called "iconv.h". */ ++ ++#ifndef _LIBICONV_H ++#define _LIBICONV_H ++ ++#define _LIBICONV_VERSION 0x010E /* version number: (major<<8) + minor */ ++ ++#ifdef BUILDING_LIBICONV ++#define LIBICONV_DLL_EXPORTED __declspec(dllexport) ++#elif LIBICONV_DLL ++#define LIBICONV_DLL_EXPORTED __declspec(dllimport) ++#else ++#define LIBICONV_DLL_EXPORTED ++#endif ++extern LIBICONV_DLL_EXPORTED int _libiconv_version; ++ ++/* We would like to #include any system header file which could define ++ iconv_t, 1. in order to eliminate the risk that the user gets compilation ++ errors because some other system header file includes /usr/include/iconv.h ++ which defines iconv_t or declares iconv after this file, 2. when compiling ++ for LIBICONV_PLUG, we need the proper iconv_t type in order to produce ++ binary compatible code. ++ But gcc's #include_next is not portable. Thus, once libiconv's iconv.h ++ has been installed in /usr/local/include, there is no way any more to ++ include the original /usr/include/iconv.h. We simply have to get away ++ without it. ++ Ad 1. The risk that a system header file does ++ #include "iconv.h" or #include_next "iconv.h" ++ is small. They all do #include . ++ Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It ++ has to be a scalar type because (iconv_t)(-1) is a possible return value ++ from iconv_open().) */ ++ ++/* Define iconv_t ourselves. */ ++#undef iconv_t ++#define iconv_t libiconv_t ++typedef void* iconv_t; ++ ++/* Get size_t declaration. ++ Get wchar_t declaration if it exists. */ ++#include ++ ++/* Get errno declaration and values. */ ++#include ++/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, ++ have EILSEQ in a different header. On these systems, define EILSEQ ++ ourselves. */ ++#ifndef EILSEQ ++#define EILSEQ ++#endif ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_open libiconv_open ++#endif ++extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode); ++ ++/* Converts, using conversion descriptor ‘cd’, at most ‘*inbytesleft’ bytes ++ starting at ‘*inbuf’, writing at most ‘*outbytesleft’ bytes starting at ++ ‘*outbuf’. ++ Decrements ‘*inbytesleft’ and increments ‘*inbuf’ by the same amount. ++ Decrements ‘*outbytesleft’ and increments ‘*outbuf’ by the same amount. */ ++#ifndef LIBICONV_PLUG ++#define iconv libiconv ++#endif ++extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); ++ ++/* Frees resources allocated for conversion descriptor ‘cd’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_close libiconv_close ++#endif ++extern LIBICONV_DLL_EXPORTED int iconv_close (iconv_t cd); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#ifndef LIBICONV_PLUG ++ ++/* Nonstandard extensions. */ ++ ++#if USE_MBSTATE_T ++#if BROKEN_WCHAR_H ++/* Tru64 with Desktop Toolkit C has a bug: must be included before ++ . ++ BSD/OS 4.0.1 has a bug: , and must be ++ included before . */ ++#include ++#include ++#include ++#endif ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* A type that holds all memory needed by a conversion descriptor. ++ A pointer to such an object can be used as an iconv_t. */ ++typedef struct { ++ void* dummy1[28]; ++#if USE_MBSTATE_T ++ mbstate_t dummy2; ++#endif ++} iconv_allocation_t; ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’ into preallocated memory. Returns an error indicator ++ (0 or -1 with errno set). */ ++#define iconv_open_into libiconv_open_into ++extern LIBICONV_DLL_EXPORTED int iconv_open_into (const char* tocode, const char* fromcode, ++ iconv_allocation_t* resultp); ++ ++/* Control of attributes. */ ++#define iconvctl libiconvctl ++extern LIBICONV_DLL_EXPORTED int iconvctl (iconv_t cd, int request, void* argument); ++ ++/* Hook performed after every successful conversion of a Unicode character. */ ++typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); ++/* Hook performed after every successful conversion of a wide character. */ ++typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); ++/* Set of hooks. */ ++struct iconv_hooks { ++ iconv_unicode_char_hook uc_hook; ++ iconv_wide_char_hook wc_hook; ++ void* data; ++}; ++ ++/* Fallback function. Invoked when a small number of bytes could not be ++ converted to a Unicode character. This function should process all ++ bytes from inbuf and may produce replacement Unicode characters by calling ++ the write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_mb_to_uc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const unsigned int *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a Unicode character could not be converted ++ to the target encoding. This function should process the character and ++ may produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_uc_to_mb_fallback) ++ (unsigned int code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#if HAVE_WCHAR_T ++/* Fallback function. Invoked when a number of bytes could not be converted to ++ a wide character. This function should process all bytes from inbuf and may ++ produce replacement wide characters by calling the write_replacement ++ callback repeatedly. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const wchar_t *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a wide character could not be converted to ++ the target encoding. This function should process the character and may ++ produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_wchar_wc_to_mb_fallback) ++ (wchar_t code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#else ++/* If the wchar_t type does not exist, these two fallback functions are never ++ invoked. Their argument list therefore does not matter. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) (); ++typedef void (*iconv_wchar_wc_to_mb_fallback) (); ++#endif ++/* Set of fallbacks. */ ++struct iconv_fallbacks { ++ iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; ++ iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; ++ iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; ++ iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; ++ void* data; ++}; ++ ++/* Requests for iconvctl. */ ++#define ICONV_TRIVIALP 0 /* int *argument */ ++#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ ++#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ ++#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ ++#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ ++#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ ++#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ ++ ++/* Listing of locale independent encodings. */ ++#define iconvlist libiconvlist ++extern LIBICONV_DLL_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount, ++ const char * const * names, ++ void* data), ++ void* data); ++ ++/* Canonicalize an encoding name. ++ The result is either a canonical encoding name, or name itself. */ ++extern LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name); ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++extern LIBICONV_DLL_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ ++ ++#endif /* _LIBICONV_H */ ++ +diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +--- libiconv.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ origin/libiconv.vcxproj 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,200 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {7EA4EC62-EA19-4ACC-86E2-0513E381292B} ++ libiconv ++ Win32Proj ++ 10.0.17763.0 ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ v141 ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ v141 ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ v141 ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ v141 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libiconv\ ++ ++ ++ ++ ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -ruN localcharset.h origin/localcharset.h +--- localcharset.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/localcharset.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,43 @@ ++/* Determine a canonical name for the current locale's character encoding. ++ Copyright (C) 2000-2003 Free Software Foundation, Inc. ++ This file is part of the GNU CHARSET Library. ++ ++ This program is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Library General Public License as published ++ by the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, ++ USA. */ ++ ++#ifndef _LOCALCHARSET_H ++#define _LOCALCHARSET_H ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Determine the current locale's character encoding, and canonicalize it ++ into one of the canonical names listed in config.charset. ++ The result must not be freed; it is statically allocated. ++ If the canonical name cannot be determined, the result is a non-canonical ++ name. */ ++extern const char * locale_charset (void); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#endif /* _LOCALCHARSET_H */ ++ diff --git a/patches/libiconv/libiconv-1.15-msvc2019.patch b/patches/libiconv/libiconv-1.15-msvc2019.patch new file mode 100644 index 0000000..394e162 --- /dev/null +++ b/patches/libiconv/libiconv-1.15-msvc2019.patch @@ -0,0 +1,925 @@ +diff -ruN config.h origin/config.h +--- config.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/config.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,416 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#if _WIN64 ++#define BITSIZEOF_PTRDIFF_T 64 ++#else ++#define BITSIZEOF_PTRDIFF_T 32 ++#endif ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#if _WIN64 ++#define BITSIZEOF_SIZE_T 64 ++#else ++#define BITSIZEOF_SIZE_T 32 ++#endif ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define to 1 if using `alloca.c'. */ ++#define C_ALLOCA 1 ++ ++/* Define as good substitute value for EILSEQ. */ ++/* #undef EILSEQ */ ++ ++/* Define to 1 to enable a few rarely used encodings. */ ++/* #undef ENABLE_EXTRA */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #undef ENABLE_NLS */ ++ ++/* Define to 1 if the package shall run at any location in the filesystem. */ ++/* #define ENABLE_RELOCATABLE 1 */ ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++/* #undef HAVE_ALLOCA */ ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `canonicalize_file_name', and to ++ 0 if you don't. */ ++#define HAVE_DECL_CANONICALIZE_FILE_NAME 0 ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `strerror', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++/* #undef HAVE_GETCWD */ ++ ++/* Define to 1 if you have the `getc_unlocked' function. */ ++/* #undef HAVE_GETC_UNLOCKED */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define if you have the iconv() function and it works. */ ++/* #undef HAVE_ICONV */ ++ ++/* Define if your compiler supports the #include_next directive. */ ++/* #undef HAVE_INCLUDE_NEXT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_INTTYPES_H */ ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define to 1 if the system has the type `long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++/* #undef HAVE_MALLOC_POSIX */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++/* #undef HAVE_MBRTOWC */ ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++/* #undef HAVE_MBSINIT */ ++ ++/* Define to 1 if declares mbstate_t. */ ++/* #undef HAVE_MBSTATE_T */ ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1^ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MEMORY_H */ ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++/* #undef HAVE_SETLOCALE */ ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if stdbool.h conforms to C99. */ ++/* #undef HAVE_STDBOOL_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_STRINGS_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_PARAM_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_STAT_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_TYPES_H */ ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type `unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 0 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++/* #undef HAVE_WCRTOMB */ ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++/* #undef HAVE__BOOL */ ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to the value of ${prefix}, as a string. */ ++/* #define INSTALLPREFIX "/usr/local" */ ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 0 ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++#define NO_MINUS_C_MINUS_O 1 ++ ++/* Name of package */ ++#define PACKAGE "libiconv" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++#define PTRDIFF_T_SUFFIX ++ ++/* Define this to 1 if strerror is broken. */ ++#define REPLACE_STRERROR 1 ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++#define SIG_ATOMIC_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++#define SIZE_T_SUFFIX ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++#define STACK_DIRECTION -1 ++ ++/* Define to 1 if you have the ANSI C header files. */ ++/* #undef STDC_HEADERS */ ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 0 ++ ++/* Version number of package */ ++#define VERSION "1.12" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++#define WCHAR_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++#define WINT_T_SUFFIX ++ ++/* Define if the machine's byte ordering is little endian. */ ++#define WORDS_LITTLEENDIAN 1 ++ ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for `stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++/* # undef __EXTENSIONS__ */ ++#endif ++ ++ ++/* Define to a type if does not define. */ ++/*#define mbstate_t int*/ ++ ++/* Define to a replacement function name for realpath(). */ ++#define realpath rpl_realpath ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict ++/* Work around a bug in Sun C++: it does not support _Restrict, even ++ though the corresponding Sun C compiler does, which causes ++ "#define restrict _Restrict" in the previous line. Perhaps some future ++ version of Sun C++ will work with _Restrict; if so, it'll probably ++ define __RESTRICT, just as Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++#endif ++ ++/* Define as a signed type of the same size as size_t. */ ++#ifdef _WIN64 ++#define ssize_t long long ++#else ++#define ssize_t int ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#define DLL_VARIABLE __declspec (dllimport) ++ ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ +diff -ruN iconv.h origin/iconv.h +--- iconv.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/iconv.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,251 @@ ++/* Copyright (C) 1999-2003, 2005-2006, 2008-2011 Free Software Foundation, Inc. ++ This file is part of the GNU LIBICONV Library. ++ ++ The GNU LIBICONV Library is free software; you can redistribute it ++ and/or modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ The GNU LIBICONV Library is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU LIBICONV Library; see the file COPYING.LIB. ++ If not, write to the Free Software Foundation, Inc., 51 Franklin Street, ++ Fifth Floor, Boston, MA 02110-1301, USA. */ ++ ++/* When installed, this file is called "iconv.h". */ ++ ++#ifndef _LIBICONV_H ++#define _LIBICONV_H ++ ++#define _LIBICONV_VERSION 0x010E /* version number: (major<<8) + minor */ ++ ++#ifdef BUILDING_LIBICONV ++#define LIBICONV_DLL_EXPORTED __declspec(dllexport) ++#elif LIBICONV_DLL ++#define LIBICONV_DLL_EXPORTED __declspec(dllimport) ++#else ++#define LIBICONV_DLL_EXPORTED ++#endif ++extern LIBICONV_DLL_EXPORTED int _libiconv_version; ++ ++/* We would like to #include any system header file which could define ++ iconv_t, 1. in order to eliminate the risk that the user gets compilation ++ errors because some other system header file includes /usr/include/iconv.h ++ which defines iconv_t or declares iconv after this file, 2. when compiling ++ for LIBICONV_PLUG, we need the proper iconv_t type in order to produce ++ binary compatible code. ++ But gcc's #include_next is not portable. Thus, once libiconv's iconv.h ++ has been installed in /usr/local/include, there is no way any more to ++ include the original /usr/include/iconv.h. We simply have to get away ++ without it. ++ Ad 1. The risk that a system header file does ++ #include "iconv.h" or #include_next "iconv.h" ++ is small. They all do #include . ++ Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It ++ has to be a scalar type because (iconv_t)(-1) is a possible return value ++ from iconv_open().) */ ++ ++/* Define iconv_t ourselves. */ ++#undef iconv_t ++#define iconv_t libiconv_t ++typedef void* iconv_t; ++ ++/* Get size_t declaration. ++ Get wchar_t declaration if it exists. */ ++#include ++ ++/* Get errno declaration and values. */ ++#include ++/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, ++ have EILSEQ in a different header. On these systems, define EILSEQ ++ ourselves. */ ++#ifndef EILSEQ ++#define EILSEQ ++#endif ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_open libiconv_open ++#endif ++extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode); ++ ++/* Converts, using conversion descriptor ‘cd’, at most ‘*inbytesleft’ bytes ++ starting at ‘*inbuf’, writing at most ‘*outbytesleft’ bytes starting at ++ ‘*outbuf’. ++ Decrements ‘*inbytesleft’ and increments ‘*inbuf’ by the same amount. ++ Decrements ‘*outbytesleft’ and increments ‘*outbuf’ by the same amount. */ ++#ifndef LIBICONV_PLUG ++#define iconv libiconv ++#endif ++extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); ++ ++/* Frees resources allocated for conversion descriptor ‘cd’. */ ++#ifndef LIBICONV_PLUG ++#define iconv_close libiconv_close ++#endif ++extern LIBICONV_DLL_EXPORTED int iconv_close (iconv_t cd); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#ifndef LIBICONV_PLUG ++ ++/* Nonstandard extensions. */ ++ ++#if USE_MBSTATE_T ++#if BROKEN_WCHAR_H ++/* Tru64 with Desktop Toolkit C has a bug: must be included before ++ . ++ BSD/OS 4.0.1 has a bug: , and must be ++ included before . */ ++#include ++#include ++#include ++#endif ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* A type that holds all memory needed by a conversion descriptor. ++ A pointer to such an object can be used as an iconv_t. */ ++typedef struct { ++ void* dummy1[28]; ++#if USE_MBSTATE_T ++ mbstate_t dummy2; ++#endif ++} iconv_allocation_t; ++ ++/* Allocates descriptor for code conversion from encoding ‘fromcode’ to ++ encoding ‘tocode’ into preallocated memory. Returns an error indicator ++ (0 or -1 with errno set). */ ++#define iconv_open_into libiconv_open_into ++extern LIBICONV_DLL_EXPORTED int iconv_open_into (const char* tocode, const char* fromcode, ++ iconv_allocation_t* resultp); ++ ++/* Control of attributes. */ ++#define iconvctl libiconvctl ++extern LIBICONV_DLL_EXPORTED int iconvctl (iconv_t cd, int request, void* argument); ++ ++/* Hook performed after every successful conversion of a Unicode character. */ ++typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); ++/* Hook performed after every successful conversion of a wide character. */ ++typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); ++/* Set of hooks. */ ++struct iconv_hooks { ++ iconv_unicode_char_hook uc_hook; ++ iconv_wide_char_hook wc_hook; ++ void* data; ++}; ++ ++/* Fallback function. Invoked when a small number of bytes could not be ++ converted to a Unicode character. This function should process all ++ bytes from inbuf and may produce replacement Unicode characters by calling ++ the write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_mb_to_uc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const unsigned int *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a Unicode character could not be converted ++ to the target encoding. This function should process the character and ++ may produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_uc_to_mb_fallback) ++ (unsigned int code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#if HAVE_WCHAR_T ++/* Fallback function. Invoked when a number of bytes could not be converted to ++ a wide character. This function should process all bytes from inbuf and may ++ produce replacement wide characters by calling the write_replacement ++ callback repeatedly. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const wchar_t *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a wide character could not be converted to ++ the target encoding. This function should process the character and may ++ produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_wchar_wc_to_mb_fallback) ++ (wchar_t code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#else ++/* If the wchar_t type does not exist, these two fallback functions are never ++ invoked. Their argument list therefore does not matter. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) (); ++typedef void (*iconv_wchar_wc_to_mb_fallback) (); ++#endif ++/* Set of fallbacks. */ ++struct iconv_fallbacks { ++ iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; ++ iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; ++ iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; ++ iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; ++ void* data; ++}; ++ ++/* Requests for iconvctl. */ ++#define ICONV_TRIVIALP 0 /* int *argument */ ++#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ ++#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ ++#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ ++#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ ++#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ ++#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ ++ ++/* Listing of locale independent encodings. */ ++#define iconvlist libiconvlist ++extern LIBICONV_DLL_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount, ++ const char * const * names, ++ void* data), ++ void* data); ++ ++/* Canonicalize an encoding name. ++ The result is either a canonical encoding name, or name itself. */ ++extern LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name); ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++extern LIBICONV_DLL_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ ++ ++#endif /* _LIBICONV_H */ ++ +diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +--- libiconv.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ origin/libiconv.vcxproj 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,199 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {7EA4EC62-EA19-4ACC-86E2-0513E381292B} ++ libiconv ++ Win32Proj ++ ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ v141 ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ v141 ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ false ++ v141 ++ ++ ++ DynamicLibrary ++ MultiByte ++ true ++ v141 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.51106.1 ++ ++ ++ $(SolutionDir)$(Configuration)-$(Platform)\ ++ $(SolutionDir)$(Configuration)-$(Platform)\intermediate\libiconv\ ++ ++ ++ ++ ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ EditAndContinue ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Disabled ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ true ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv_debug.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX86 ++ $(OutDir)libiconv.pdb ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ X64 ++ ++ ++ Full ++ AnySuitable ++ .;.\lib;.\include;%(AdditionalIncludeDirectories) ++ BUILDING_LIBICONV;BUILDING_DLL;PIC;HAVE_CONFIG_H;ENABLE_RELOCATABLE=1;IN_LIBRARY;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ Level3 ++ ProgramDatabase ++ $(IntDir)libiconv.pdb ++ ++ ++ $(OutDir)libiconv.dll ++ true ++ Windows ++ true ++ true ++ false ++ ++ MachineX64 ++ $(OutDir)libiconv.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -ruN localcharset.h origin/localcharset.h +--- localcharset.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/localcharset.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,43 @@ ++/* Determine a canonical name for the current locale's character encoding. ++ Copyright (C) 2000-2003 Free Software Foundation, Inc. ++ This file is part of the GNU CHARSET Library. ++ ++ This program is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Library General Public License as published ++ by the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, ++ USA. */ ++ ++#ifndef _LOCALCHARSET_H ++#define _LOCALCHARSET_H ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Determine the current locale's character encoding, and canonicalize it ++ into one of the canonical names listed in config.charset. ++ The result must not be freed; it is statically allocated. ++ If the canonical name cannot be determined, the result is a non-canonical ++ name. */ ++extern const char * locale_charset (void); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#endif /* _LOCALCHARSET_H */ ++ diff --git a/patches/libiconv/libiconv-1.16-MSVC2013.patch b/patches/libiconv/libiconv-1.16-MSVC2013.patch new file mode 100644 index 0000000..0192bc9 --- /dev/null +++ b/patches/libiconv/libiconv-1.16-MSVC2013.patch @@ -0,0 +1,1543 @@ +diff -ruN config.h origin/config.h +--- include/config.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/config.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,895 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++/* #undef BITSIZEOF_PTRDIFF_T */ ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++/* #undef BITSIZEOF_SIG_ATOMIC_T */ ++ ++/* Define to the number of bits in type 'size_t'. */ ++/* #undef BITSIZEOF_SIZE_T */ ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++/* #undef BITSIZEOF_WCHAR_T */ ++ ++/* Define to the number of bits in type 'wint_t'. */ ++/* #undef BITSIZEOF_WINT_T */ ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Define to 1 if // is a file system root distinct from /. */ ++#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 ++ ++/* Define as good substitute value for EILSEQ. */ ++/* #undef EILSEQ */ ++ ++/* Define to 1 to enable a few rarely used encodings. */ ++/* #undef ENABLE_EXTRA */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #undef ENABLE_NLS */ ++ ++/* Define to 1 if the package shall run at any location in the file system. */ ++/* #undef ENABLE_RELOCATABLE */ ++ ++/* Define to 1 if realpath() can malloc memory, always gives an absolute path, ++ and handles trailing slash correctly. */ ++/* #undef FUNC_REALPATH_WORKS */ ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module canonicalize-lgpl shall be considered present. */ ++#define GNULIB_CANONICALIZE_LGPL 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fscanf shall be considered present. */ ++#define GNULIB_FSCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module msvc-nothrow shall be considered present. */ ++#define GNULIB_MSVC_NOTHROW 1 ++ ++/* Define to 1 if printf and friends should be labeled with attribute ++ "__gnu_printf__" instead of "__printf__" */ ++/* #undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU */ ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module scanf shall be considered present. */ ++#define GNULIB_SCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module sigpipe shall be considered present. */ ++#define GNULIB_SIGPIPE 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module strerror shall be considered present. */ ++#define GNULIB_STRERROR 1 ++ ++/* Define to 1 when the gnulib module canonicalize_file_name should be tested. ++ */ ++#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 ++ ++/* Define to 1 when the gnulib module environ should be tested. */ ++#define GNULIB_TEST_ENVIRON 1 ++ ++/* Define to 1 when the gnulib module lstat should be tested. */ ++#define GNULIB_TEST_LSTAT 1 ++ ++/* Define to 1 when the gnulib module malloc-posix should be tested. */ ++#define GNULIB_TEST_MALLOC_POSIX 1 ++ ++/* Define to 1 when the gnulib module raise should be tested. */ ++#define GNULIB_TEST_RAISE 1 ++ ++/* Define to 1 when the gnulib module read should be tested. */ ++#define GNULIB_TEST_READ 1 ++ ++/* Define to 1 when the gnulib module readlink should be tested. */ ++#define GNULIB_TEST_READLINK 1 ++ ++/* Define to 1 when the gnulib module realpath should be tested. */ ++#define GNULIB_TEST_REALPATH 1 ++ ++/* Define to 1 when the gnulib module sigprocmask should be tested. */ ++#define GNULIB_TEST_SIGPROCMASK 1 ++ ++/* Define to 1 when the gnulib module stat should be tested. */ ++#define GNULIB_TEST_STAT 1 ++ ++/* Define to 1 when the gnulib module strerror should be tested. */ ++#define GNULIB_TEST_STRERROR 1 ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the Mac OS X function ++ CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ ++ ++/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define to 1 if you have the `copy_file_range' function. */ ++/* #undef HAVE_COPY_FILE_RANGE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_name', and ++ to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_short_name', ++ and to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_SETENV 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the declaration of `__argv', and to 0 if you don't. ++ */ ++#define HAVE_DECL___ARGV 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getc_unlocked' function. */ ++/* #undef HAVE_GETC_UNLOCKED */ ++ ++/* Define to 1 if you have the `getexecname' function. */ ++/* #undef HAVE_GETEXECNAME */ ++ ++/* Define to 1 if you have the `getprogname' function. */ ++/* #undef HAVE_GETPROGNAME */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define if you have the iconv() function and it works. */ ++/* #undef HAVE_ICONV */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_INTTYPES_H 1 ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if the system has the type 'long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++/* #undef HAVE_LSTAT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++/* #undef HAVE_MALLOC_POSIX */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++#define HAVE_MBRTOWC 1 ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++/* #undef HAVE_MBSINIT */ ++ ++/* Define to 1 if declares mbstate_t. */ ++#define HAVE_MBSTATE_T 1 ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 on MSVC platforms that have the "invalid parameter handler" ++ concept. */ ++#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `raise' function. */ ++#define HAVE_RAISE 1 ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the `readlinkat' function. */ ++/* #undef HAVE_READLINKAT */ ++ ++/* Define to 1 if you have the `realpath' function. */ ++/* #undef HAVE_REALPATH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if the system has the type `sigset_t'. */ ++/* #undef HAVE_SIGSET_T */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_STRINGS_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if `st_atimensec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIMENSEC */ ++ ++/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC */ ++ ++/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC */ ++ ++/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC */ ++ ++/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC */ ++ ++/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ ++ ++/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC */ ++ ++/* Define to 1 if you have the `symlink' function. */ ++/* #undef HAVE_SYMLINK */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_PARAM_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_SOCKET_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_TIME_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_TYPES_H 1 ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type 'unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define if you have a global __progname variable */ ++/* #undef HAVE_VAR___PROGNAME */ ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 0 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++#define HAVE_WCRTOMB 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WINSOCK2_H 1 ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Define to 1 if O_NOATIME works. */ ++#define HAVE_WORKING_O_NOATIME 0 ++ ++/* Define to 1 if O_NOFOLLOW works. */ ++#define HAVE_WORKING_O_NOFOLLOW 0 ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++#define HAVE__BOOL 1 ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ ++#define HAVE__SET_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to the value of ${prefix}, as a string. */ ++#define INSTALLPREFIX "C:/libiconv" ++ ++/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing ++ slash. */ ++/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ ++ ++/* Define to the sub-directory where libtool stores uninstalled libraries. */ ++/* #undef LT_OBJDIR */ ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 1 ++ ++/* Use GNU style printf and scanf. */ ++#ifndef __USE_MINGW_ANSI_STDIO ++# define __USE_MINGW_ANSI_STDIO 1 ++#endif ++ ++ ++/* Name of package */ ++#define PACKAGE "libiconv" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "libiconv" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "libiconv 1.16" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "libiconv" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "1.16" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++/* #undef PTRDIFF_T_SUFFIX */ ++ ++/* Define to 1 if readlink fails to recognize a trailing slash. */ ++/* #undef READLINK_TRAILING_SLASH_BUG */ ++ ++/* Define to 1 if stat needs help when passed a file name with a trailing ++ slash */ ++/* #undef REPLACE_FUNC_STAT_FILE */ ++ ++/* Define to 1 if strerror(0) does not return a message implying success. */ ++/* #undef REPLACE_STRERROR_0 */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++/* #undef SIG_ATOMIC_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++/* #undef SIZE_T_SUFFIX */ ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Define to 1 if the `S_IS*' macros in do not work properly. */ ++/* #undef STAT_MACROS_BROKEN */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to 1 if the type of the st_atim member of a struct stat is struct ++ timespec. */ ++/* #undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC */ ++ ++/* Define to the prefix of C symbols at the assembler and linker level, either ++ an underscore or empty. */ ++#ifdef _WIN64 ++#define USER_LABEL_PREFIX ++#else ++#define USER_LABEL_PREFIX _ ++#endif ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable general extensions on macOS. */ ++#ifndef _DARWIN_C_SOURCE ++# define _DARWIN_C_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable NetBSD extensions on NetBSD. */ ++#ifndef _NETBSD_SOURCE ++# define _NETBSD_SOURCE 1 ++#endif ++/* Enable OpenBSD extensions on NetBSD. */ ++#ifndef _OPENBSD_SOURCE ++# define _OPENBSD_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ ++#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ ++# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ ++#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ ++# define __STDC_WANT_IEC_60559_BFP_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ ++#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ ++# define __STDC_WANT_IEC_60559_DFP_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ ++#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ ++# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ ++#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ ++# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ ++#ifndef __STDC_WANT_LIB_EXT2__ ++# define __STDC_WANT_LIB_EXT2__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC 24747:2009. */ ++#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ ++# define __STDC_WANT_MATH_SPEC_FUNCS__ 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable X/Open extensions if necessary. HP-UX 11.11 defines ++ mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of ++ whether compiling with -Ae or -D_HPUX_SOURCE=1. */ ++#ifndef _XOPEN_SOURCE ++/* # undef _XOPEN_SOURCE */ ++#endif ++/* Enable X/Open compliant socket functions that do not require linking ++ with -lxnet on HP-UX 11.11. */ ++#ifndef _HPUX_ALT_XOPEN_SOCKET_API ++# define _HPUX_ALT_XOPEN_SOCKET_API 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# define __EXTENSIONS__ 1 ++#endif ++ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 1 ++ ++/* Version number of package */ ++#define VERSION "1.16" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++/* #undef WCHAR_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++/* #undef WINT_T_SUFFIX */ ++ ++/* Define if the machine's byte ordering is little endian. */ ++#define WORDS_LITTLEENDIAN 1 ++ ++/* Enable large inode numbers on Mac OS X 10.5. */ ++#define _DARWIN_USE_64_BIT_INODE 1 ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ ++#define _NETBSD_SOURCE 1 ++ ++/* The _Noreturn keyword of C11. */ ++#ifndef _Noreturn ++# if (defined __cplusplus \ ++ && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ ++ || (defined _MSC_VER && 1900 <= _MSC_VER))) ++# define _Noreturn [[noreturn]] ++# elif ((!defined __cplusplus || defined __clang__) \ ++ && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ ++ || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) ++ /* _Noreturn works as-is. */ ++# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C ++# define _Noreturn __attribute__ ((__noreturn__)) ++# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) ++# define _Noreturn __declspec (noreturn) ++# else ++# define _Noreturn ++# endif ++#endif ++ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for 'stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* For standard stat data types on VMS. */ ++#define _USE_STD_STAT 1 ++ ++/* Define to 1 if the system predates C++11. */ ++/* #undef __STDC_CONSTANT_MACROS */ ++ ++/* Define to 1 if the system predates C++11. */ ++/* #undef __STDC_LIMIT_MACROS */ ++ ++/* The _GL_ASYNC_SAFE marker should be attached to functions that are ++ signal handlers (for signals other than SIGABRT, SIGPIPE) or can be ++ invoked from such signal handlers. Such functions have some restrictions: ++ * All functions that it calls should be marked _GL_ASYNC_SAFE as well, ++ or should be listed as async-signal-safe in POSIX ++ ++ section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in ++ particular, are NOT async-signal-safe. ++ * All memory locations (variables and struct fields) that these functions ++ access must be marked 'volatile'. This holds for both read and write ++ accesses. Otherwise the compiler might optimize away stores to and ++ reads from such locations that occur in the program, depending on its ++ data flow analysis. For example, when the program contains a loop ++ that is intended to inspect a variable set from within a signal handler ++ while (!signal_occurred) ++ ; ++ the compiler is allowed to transform this into an endless loop if the ++ variable 'signal_occurred' is not declared 'volatile'. ++ Additionally, recall that: ++ * A signal handler should not modify errno (except if it is a handler ++ for a fatal signal and ends by raising the same signal again, thus ++ provoking the termination of the process). If it invokes a function ++ that may clobber errno, it needs to save and restore the value of ++ errno. */ ++#define _GL_ASYNC_SAFE ++ ++ ++/* Please see the Gnulib manual for how to use these macros. ++ ++ Suppress extern inline with HP-UX cc, as it appears to be broken; see ++ . ++ ++ Suppress extern inline with Sun C in standards-conformance mode, as it ++ mishandles inline functions that call each other. E.g., for 'inline void f ++ (void) { } inline void g (void) { f (); }', c99 incorrectly complains ++ 'reference to static identifier "f" in extern inline function'. ++ This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. ++ ++ Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) ++ on configurations that mistakenly use 'static inline' to implement ++ functions or macros in standard C headers like . For example, ++ if isdigit is mistakenly implemented via a static inline function, ++ a program containing an extern inline function that calls isdigit ++ may not work since the C standard prohibits extern inline functions ++ from calling static functions (ISO C 99 section 6.7.4.(3). ++ This bug is known to occur on: ++ ++ OS X 10.8 and earlier; see: ++ https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html ++ ++ DragonFly; see ++ http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log ++ ++ FreeBSD; see: ++ https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html ++ ++ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and ++ for clang but remains for g++; see . ++ Assume DragonFly and FreeBSD will be similar. ++ ++ GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 ++ inline semantics, unless -fgnu89-inline is used. It defines a macro ++ __GNUC_STDC_INLINE__ to indicate this situation or a macro ++ __GNUC_GNU_INLINE__ to indicate the opposite situation. ++ GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline ++ semantics but warns, unless -fgnu89-inline is used: ++ warning: C99 inline functions are not supported; using GNU89 ++ warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute ++ It defines a macro __GNUC_GNU_INLINE__ to indicate this situation. ++ */ ++#if (((defined __APPLE__ && defined __MACH__) \ ++ || defined __DragonFly__ || defined __FreeBSD__) \ ++ && (defined __header_inline \ ++ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ ++ && ! defined __clang__) \ ++ : ((! defined _DONT_USE_CTYPE_INLINE_ \ ++ && (defined __GNUC__ || defined __cplusplus)) \ ++ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ ++ && defined __GNUC__ && ! defined __cplusplus)))) ++# define _GL_EXTERN_INLINE_STDHEADER_BUG ++#endif ++#if ((__GNUC__ \ ++ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ ++ : (199901L <= __STDC_VERSION__ \ ++ && !defined __HP_cc \ ++ && !defined __PGI \ ++ && !(defined __SUNPRO_C && __STDC__))) \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# define _GL_INLINE inline ++# define _GL_EXTERN_INLINE extern inline ++# define _GL_EXTERN_INLINE_IN_USE ++#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ ++ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ ++# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) ++# else ++# define _GL_INLINE extern inline ++# endif ++# define _GL_EXTERN_INLINE extern ++# define _GL_EXTERN_INLINE_IN_USE ++#else ++# define _GL_INLINE static _GL_UNUSED ++# define _GL_EXTERN_INLINE static _GL_UNUSED ++#endif ++ ++/* In GCC 4.6 (inclusive) to 5.1 (exclusive), ++ suppress bogus "no previous prototype for 'FOO'" ++ and "no previous declaration for 'FOO'" diagnostics, ++ when FOO is an inline function in the header; see ++ and ++ . */ ++#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ ++# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ ++# define _GL_INLINE_HEADER_CONST_PRAGMA ++# else ++# define _GL_INLINE_HEADER_CONST_PRAGMA \ ++ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") ++# endif ++# define _GL_INLINE_HEADER_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ ++ _GL_INLINE_HEADER_CONST_PRAGMA ++# define _GL_INLINE_HEADER_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++# define _GL_INLINE_HEADER_BEGIN ++# define _GL_INLINE_HEADER_END ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define gid_t int ++ ++/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports ++ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of ++ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. ++ __APPLE__ && __MACH__ test for Mac OS X. ++ __APPLE_CC__ tests for the Apple compiler and its version. ++ __STDC_VERSION__ tests for the C99 mode. */ ++#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ ++# define __GNUC_STDC_INLINE__ 1 ++#endif ++ ++/* Define to a type if does not define. */ ++/* #undef mbstate_t */ ++ ++/* Define to `int' if does not define. */ ++#define mode_t int ++ ++/* Define to the type of st_nlink in struct stat, or a supertype. */ ++#define nlink_t int ++ ++/* Define to `int' if does not define. */ ++#define pid_t int ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict /**/ ++/* Work around a bug in Sun C++: it does not support _Restrict or ++ __restrict__, even though the corresponding Sun C compiler ends up with ++ "#define restrict _Restrict" or "#define restrict __restrict__" in the ++ previous line. Perhaps some future version of Sun C++ will work with ++ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++# define __restrict__ ++#endif ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef size_t */ ++ ++/* Define as a signed type of the same size as size_t. */ ++#ifdef _WIN64 ++typedef __int64 ssize_t; ++#else ++typedef int ssize_t; ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define uid_t int ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_UNUSED ++#endif ++/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name ++ is a misnomer outside of parameter lists. */ ++#define _UNUSED_PARAMETER_ _GL_UNUSED ++ ++/* gcc supports the "unused" attribute on possibly unused labels, and ++ g++ has since version 4.5. Note to support C++ as well as C, ++ _GL_UNUSED_LABEL should be used with a trailing ; */ ++#if !defined __cplusplus || __GNUC__ > 4 \ ++ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) ++# define _GL_UNUSED_LABEL _GL_UNUSED ++#else ++# define _GL_UNUSED_LABEL ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++#else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++#endif ++ ++/* The __const__ attribute was added in gcc 2.95. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) ++# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) ++#else ++# define _GL_ATTRIBUTE_CONST /* empty */ ++#endif ++ ++/* The __malloc__ attribute was added in gcc 3. */ ++#if 3 <= __GNUC__ ++# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) ++#else ++# define _GL_ATTRIBUTE_MALLOC /* empty */ ++#endif ++ ++ ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#if defined _MSC_VER && defined _DLL ++# define DLL_VARIABLE __declspec (dllimport) ++#else ++# define DLL_VARIABLE ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++#define DLL_VARIABLE __declspec (dllimport) ++ ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ ++#define PACKAGE_VERSION_STRING "1.16" ++#define PACKAGE_VERSION_MAJOR 1 ++#define PACKAGE_VERSION_MINOR 16 ++#define PACKAGE_VERSION_SUBMINOR 0 +diff -ruN iconv.h origin/iconv.h +--- include/iconv.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/iconv.h 2015-10-05 17:07:03.038087288 +0300 +diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +@@ -0,0 +1,254 @@ ++/* Copyright (C) 1999-2019 Free Software Foundation, Inc. ++ This file is part of the GNU LIBICONV Library. ++ ++ The GNU LIBICONV Library is free software; you can redistribute it ++ and/or modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ The GNU LIBICONV Library is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU LIBICONV Library; see the file COPYING.LIB. ++ If not, see . */ ++ ++/* When installed, this file is called "iconv.h". */ ++ ++#ifndef _LIBICONV_H ++#define _LIBICONV_H ++ ++#define _LIBICONV_VERSION 0x0110 /* version number: (major<<8) + minor */ ++ ++#if defined(LIBICONV_DLL) && !defined(LIBICONV_STATIC) ++#ifdef BUILDING_LIBICONV ++#define LIBICONV_API __declspec(dllexport) ++#else ++#define LIBICONV_API __declspec(dllimport) ++#endif ++#else ++#define LIBICONV_API ++#endif ++ ++extern LIBICONV_API int _libiconv_version; /* Likewise */ ++ ++/* We would like to #include any system header file which could define ++ iconv_t, 1. in order to eliminate the risk that the user gets compilation ++ errors because some other system header file includes /usr/include/iconv.h ++ which defines iconv_t or declares iconv after this file, 2. when compiling ++ for LIBICONV_PLUG, we need the proper iconv_t type in order to produce ++ binary compatible code. ++ But gcc's #include_next is not portable. Thus, once libiconv's iconv.h ++ has been installed in /usr/local/include, there is no way any more to ++ include the original /usr/include/iconv.h. We simply have to get away ++ without it. ++ Ad 1. The risk that a system header file does ++ #include "iconv.h" or #include_next "iconv.h" ++ is small. They all do #include . ++ Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It ++ has to be a scalar type because (iconv_t)(-1) is a possible return value ++ from iconv_open().) */ ++ ++/* Define iconv_t ourselves. */ ++#undef iconv_t ++#define iconv_t libiconv_t ++typedef void* iconv_t; ++ ++/* Get size_t declaration. ++ Get wchar_t declaration if it exists. */ ++#include ++ ++/* Get errno declaration and values. */ ++#include ++/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, ++ have EILSEQ in a different header. On these systems, define EILSEQ ++ ourselves. */ ++#ifndef EILSEQ ++#define EILSEQ ++#endif ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Allocates descriptor for code conversion from encoding 'fromcode' to ++ encoding 'tocode'. */ ++#ifndef LIBICONV_PLUG ++#define iconv_open libiconv_open ++#endif ++extern LIBICONV_API iconv_t iconv_open (const char* tocode, const char* fromcode); ++ ++/* Converts, using conversion descriptor 'cd', at most '*inbytesleft' bytes ++ starting at '*inbuf', writing at most '*outbytesleft' bytes starting at ++ '*outbuf'. ++ Decrements '*inbytesleft' and increments '*inbuf' by the same amount. ++ Decrements '*outbytesleft' and increments '*outbuf' by the same amount. */ ++#ifndef LIBICONV_PLUG ++#define iconv libiconv ++#endif ++extern LIBICONV_API size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); ++ ++/* Frees resources allocated for conversion descriptor 'cd'. */ ++#ifndef LIBICONV_PLUG ++#define iconv_close libiconv_close ++#endif ++extern LIBICONV_API int iconv_close (iconv_t cd); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#ifndef LIBICONV_PLUG ++ ++/* Nonstandard extensions. */ ++ ++#if 1 ++#if 0 ++/* Tru64 with Desktop Toolkit C has a bug: must be included before ++ . ++ BSD/OS 4.0.1 has a bug: , and must be ++ included before . */ ++#include ++#include ++#include ++#endif ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* A type that holds all memory needed by a conversion descriptor. ++ A pointer to such an object can be used as an iconv_t. */ ++typedef struct { ++ void* dummy1[28]; ++#if 1 ++ mbstate_t dummy2; ++#endif ++} iconv_allocation_t; ++ ++/* Allocates descriptor for code conversion from encoding 'fromcode' to ++ encoding 'tocode' into preallocated memory. Returns an error indicator ++ (0 or -1 with errno set). */ ++#define iconv_open_into libiconv_open_into ++extern LIBICONV_API int iconv_open_into (const char* tocode, const char* fromcode, ++ iconv_allocation_t* resultp); ++ ++/* Control of attributes. */ ++#define iconvctl libiconvctl ++extern LIBICONV_API int iconvctl (iconv_t cd, int request, void* argument); ++ ++/* Hook performed after every successful conversion of a Unicode character. */ ++typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); ++/* Hook performed after every successful conversion of a wide character. */ ++typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); ++/* Set of hooks. */ ++struct iconv_hooks { ++ iconv_unicode_char_hook uc_hook; ++ iconv_wide_char_hook wc_hook; ++ void* data; ++}; ++ ++/* Fallback function. Invoked when a small number of bytes could not be ++ converted to a Unicode character. This function should process all ++ bytes from inbuf and may produce replacement Unicode characters by calling ++ the write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_mb_to_uc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const unsigned int *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a Unicode character could not be converted ++ to the target encoding. This function should process the character and ++ may produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_uc_to_mb_fallback) ++ (unsigned int code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#if 1 ++/* Fallback function. Invoked when a number of bytes could not be converted to ++ a wide character. This function should process all bytes from inbuf and may ++ produce replacement wide characters by calling the write_replacement ++ callback repeatedly. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const wchar_t *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a wide character could not be converted to ++ the target encoding. This function should process the character and may ++ produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_wchar_wc_to_mb_fallback) ++ (wchar_t code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#else ++/* If the wchar_t type does not exist, these two fallback functions are never ++ invoked. Their argument list therefore does not matter. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) (); ++typedef void (*iconv_wchar_wc_to_mb_fallback) (); ++#endif ++/* Set of fallbacks. */ ++struct iconv_fallbacks { ++ iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; ++ iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; ++ iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; ++ iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; ++ void* data; ++}; ++ ++/* Requests for iconvctl. */ ++#define ICONV_TRIVIALP 0 /* int *argument */ ++#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ ++#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ ++#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ ++#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ ++#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ ++#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ ++ ++/* Listing of locale independent encodings. */ ++#define iconvlist libiconvlist ++extern LIBICONV_API void iconvlist (int (*do_one) (unsigned int namescount, ++ const char * const * names, ++ void* data), ++ void* data); ++ ++/* Canonicalize an encoding name. ++ The result is either a canonical encoding name, or name itself. */ ++extern LIBICONV_API const char * iconv_canonicalize (const char * name); ++ ++/* Support for relocatable packages. */ ++ ++#if 0 ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++extern LIBICONV_API void libiconv_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++#endif ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ ++ ++#endif /* _LIBICONV_H */ +--- libiconv.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ origin/libiconv.vcxproj 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,382 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {F2A64E15-0313-4421-ACB3-82FBCDA936B4} ++ libiconv ++ libiconv ++ ++ ++ ++ DynamicLibrary ++ true ++ v120 ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ DynamicLibrary ++ true ++ v120 ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ DynamicLibrary ++ false ++ v120 ++ true ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ DynamicLibrary ++ false ++ v120 ++ true ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Level3 ++ Disabled ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ ++ ++ ++ ++ Level3 ++ Disabled ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ ++ ++ ++ ++ Level3 ++ MaxSpeed ++ true ++ true ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ true ++ true ++ ++ ++ ++ ++ Level3 ++ MaxSpeed ++ true ++ true ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ true ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ ++ ++ ++ ++ ++ diff --git a/patches/libiconv/libiconv-1.16-MSVC2017.patch b/patches/libiconv/libiconv-1.16-MSVC2017.patch new file mode 100644 index 0000000..0192bc9 --- /dev/null +++ b/patches/libiconv/libiconv-1.16-MSVC2017.patch @@ -0,0 +1,1543 @@ +diff -ruN config.h origin/config.h +--- include/config.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/config.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,895 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++/* #undef BITSIZEOF_PTRDIFF_T */ ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++/* #undef BITSIZEOF_SIG_ATOMIC_T */ ++ ++/* Define to the number of bits in type 'size_t'. */ ++/* #undef BITSIZEOF_SIZE_T */ ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++/* #undef BITSIZEOF_WCHAR_T */ ++ ++/* Define to the number of bits in type 'wint_t'. */ ++/* #undef BITSIZEOF_WINT_T */ ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Define to 1 if // is a file system root distinct from /. */ ++#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 ++ ++/* Define as good substitute value for EILSEQ. */ ++/* #undef EILSEQ */ ++ ++/* Define to 1 to enable a few rarely used encodings. */ ++/* #undef ENABLE_EXTRA */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #undef ENABLE_NLS */ ++ ++/* Define to 1 if the package shall run at any location in the file system. */ ++/* #undef ENABLE_RELOCATABLE */ ++ ++/* Define to 1 if realpath() can malloc memory, always gives an absolute path, ++ and handles trailing slash correctly. */ ++/* #undef FUNC_REALPATH_WORKS */ ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module canonicalize-lgpl shall be considered present. */ ++#define GNULIB_CANONICALIZE_LGPL 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fscanf shall be considered present. */ ++#define GNULIB_FSCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module msvc-nothrow shall be considered present. */ ++#define GNULIB_MSVC_NOTHROW 1 ++ ++/* Define to 1 if printf and friends should be labeled with attribute ++ "__gnu_printf__" instead of "__printf__" */ ++/* #undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU */ ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module scanf shall be considered present. */ ++#define GNULIB_SCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module sigpipe shall be considered present. */ ++#define GNULIB_SIGPIPE 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module strerror shall be considered present. */ ++#define GNULIB_STRERROR 1 ++ ++/* Define to 1 when the gnulib module canonicalize_file_name should be tested. ++ */ ++#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 ++ ++/* Define to 1 when the gnulib module environ should be tested. */ ++#define GNULIB_TEST_ENVIRON 1 ++ ++/* Define to 1 when the gnulib module lstat should be tested. */ ++#define GNULIB_TEST_LSTAT 1 ++ ++/* Define to 1 when the gnulib module malloc-posix should be tested. */ ++#define GNULIB_TEST_MALLOC_POSIX 1 ++ ++/* Define to 1 when the gnulib module raise should be tested. */ ++#define GNULIB_TEST_RAISE 1 ++ ++/* Define to 1 when the gnulib module read should be tested. */ ++#define GNULIB_TEST_READ 1 ++ ++/* Define to 1 when the gnulib module readlink should be tested. */ ++#define GNULIB_TEST_READLINK 1 ++ ++/* Define to 1 when the gnulib module realpath should be tested. */ ++#define GNULIB_TEST_REALPATH 1 ++ ++/* Define to 1 when the gnulib module sigprocmask should be tested. */ ++#define GNULIB_TEST_SIGPROCMASK 1 ++ ++/* Define to 1 when the gnulib module stat should be tested. */ ++#define GNULIB_TEST_STAT 1 ++ ++/* Define to 1 when the gnulib module strerror should be tested. */ ++#define GNULIB_TEST_STRERROR 1 ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the Mac OS X function ++ CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ ++ ++/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define to 1 if you have the `copy_file_range' function. */ ++/* #undef HAVE_COPY_FILE_RANGE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_name', and ++ to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_short_name', ++ and to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_SETENV 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the declaration of `__argv', and to 0 if you don't. ++ */ ++#define HAVE_DECL___ARGV 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getc_unlocked' function. */ ++/* #undef HAVE_GETC_UNLOCKED */ ++ ++/* Define to 1 if you have the `getexecname' function. */ ++/* #undef HAVE_GETEXECNAME */ ++ ++/* Define to 1 if you have the `getprogname' function. */ ++/* #undef HAVE_GETPROGNAME */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define if you have the iconv() function and it works. */ ++/* #undef HAVE_ICONV */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_INTTYPES_H 1 ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if the system has the type 'long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++/* #undef HAVE_LSTAT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++/* #undef HAVE_MALLOC_POSIX */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++#define HAVE_MBRTOWC 1 ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++/* #undef HAVE_MBSINIT */ ++ ++/* Define to 1 if declares mbstate_t. */ ++#define HAVE_MBSTATE_T 1 ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 on MSVC platforms that have the "invalid parameter handler" ++ concept. */ ++#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `raise' function. */ ++#define HAVE_RAISE 1 ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the `readlinkat' function. */ ++/* #undef HAVE_READLINKAT */ ++ ++/* Define to 1 if you have the `realpath' function. */ ++/* #undef HAVE_REALPATH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if the system has the type `sigset_t'. */ ++/* #undef HAVE_SIGSET_T */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_STRINGS_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if `st_atimensec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIMENSEC */ ++ ++/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC */ ++ ++/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC */ ++ ++/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC */ ++ ++/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC */ ++ ++/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ ++ ++/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC */ ++ ++/* Define to 1 if you have the `symlink' function. */ ++/* #undef HAVE_SYMLINK */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_PARAM_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_SOCKET_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_TIME_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_TYPES_H 1 ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type 'unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define if you have a global __progname variable */ ++/* #undef HAVE_VAR___PROGNAME */ ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 0 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++#define HAVE_WCRTOMB 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WINSOCK2_H 1 ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Define to 1 if O_NOATIME works. */ ++#define HAVE_WORKING_O_NOATIME 0 ++ ++/* Define to 1 if O_NOFOLLOW works. */ ++#define HAVE_WORKING_O_NOFOLLOW 0 ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++#define HAVE__BOOL 1 ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ ++#define HAVE__SET_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to the value of ${prefix}, as a string. */ ++#define INSTALLPREFIX "C:/libiconv" ++ ++/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing ++ slash. */ ++/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ ++ ++/* Define to the sub-directory where libtool stores uninstalled libraries. */ ++/* #undef LT_OBJDIR */ ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 1 ++ ++/* Use GNU style printf and scanf. */ ++#ifndef __USE_MINGW_ANSI_STDIO ++# define __USE_MINGW_ANSI_STDIO 1 ++#endif ++ ++ ++/* Name of package */ ++#define PACKAGE "libiconv" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "libiconv" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "libiconv 1.16" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "libiconv" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "1.16" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++/* #undef PTRDIFF_T_SUFFIX */ ++ ++/* Define to 1 if readlink fails to recognize a trailing slash. */ ++/* #undef READLINK_TRAILING_SLASH_BUG */ ++ ++/* Define to 1 if stat needs help when passed a file name with a trailing ++ slash */ ++/* #undef REPLACE_FUNC_STAT_FILE */ ++ ++/* Define to 1 if strerror(0) does not return a message implying success. */ ++/* #undef REPLACE_STRERROR_0 */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++/* #undef SIG_ATOMIC_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++/* #undef SIZE_T_SUFFIX */ ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Define to 1 if the `S_IS*' macros in do not work properly. */ ++/* #undef STAT_MACROS_BROKEN */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to 1 if the type of the st_atim member of a struct stat is struct ++ timespec. */ ++/* #undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC */ ++ ++/* Define to the prefix of C symbols at the assembler and linker level, either ++ an underscore or empty. */ ++#ifdef _WIN64 ++#define USER_LABEL_PREFIX ++#else ++#define USER_LABEL_PREFIX _ ++#endif ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable general extensions on macOS. */ ++#ifndef _DARWIN_C_SOURCE ++# define _DARWIN_C_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable NetBSD extensions on NetBSD. */ ++#ifndef _NETBSD_SOURCE ++# define _NETBSD_SOURCE 1 ++#endif ++/* Enable OpenBSD extensions on NetBSD. */ ++#ifndef _OPENBSD_SOURCE ++# define _OPENBSD_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ ++#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ ++# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ ++#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ ++# define __STDC_WANT_IEC_60559_BFP_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ ++#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ ++# define __STDC_WANT_IEC_60559_DFP_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ ++#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ ++# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ ++#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ ++# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ ++#ifndef __STDC_WANT_LIB_EXT2__ ++# define __STDC_WANT_LIB_EXT2__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC 24747:2009. */ ++#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ ++# define __STDC_WANT_MATH_SPEC_FUNCS__ 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable X/Open extensions if necessary. HP-UX 11.11 defines ++ mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of ++ whether compiling with -Ae or -D_HPUX_SOURCE=1. */ ++#ifndef _XOPEN_SOURCE ++/* # undef _XOPEN_SOURCE */ ++#endif ++/* Enable X/Open compliant socket functions that do not require linking ++ with -lxnet on HP-UX 11.11. */ ++#ifndef _HPUX_ALT_XOPEN_SOCKET_API ++# define _HPUX_ALT_XOPEN_SOCKET_API 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# define __EXTENSIONS__ 1 ++#endif ++ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 1 ++ ++/* Version number of package */ ++#define VERSION "1.16" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++/* #undef WCHAR_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++/* #undef WINT_T_SUFFIX */ ++ ++/* Define if the machine's byte ordering is little endian. */ ++#define WORDS_LITTLEENDIAN 1 ++ ++/* Enable large inode numbers on Mac OS X 10.5. */ ++#define _DARWIN_USE_64_BIT_INODE 1 ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ ++#define _NETBSD_SOURCE 1 ++ ++/* The _Noreturn keyword of C11. */ ++#ifndef _Noreturn ++# if (defined __cplusplus \ ++ && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ ++ || (defined _MSC_VER && 1900 <= _MSC_VER))) ++# define _Noreturn [[noreturn]] ++# elif ((!defined __cplusplus || defined __clang__) \ ++ && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ ++ || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) ++ /* _Noreturn works as-is. */ ++# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C ++# define _Noreturn __attribute__ ((__noreturn__)) ++# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) ++# define _Noreturn __declspec (noreturn) ++# else ++# define _Noreturn ++# endif ++#endif ++ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for 'stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* For standard stat data types on VMS. */ ++#define _USE_STD_STAT 1 ++ ++/* Define to 1 if the system predates C++11. */ ++/* #undef __STDC_CONSTANT_MACROS */ ++ ++/* Define to 1 if the system predates C++11. */ ++/* #undef __STDC_LIMIT_MACROS */ ++ ++/* The _GL_ASYNC_SAFE marker should be attached to functions that are ++ signal handlers (for signals other than SIGABRT, SIGPIPE) or can be ++ invoked from such signal handlers. Such functions have some restrictions: ++ * All functions that it calls should be marked _GL_ASYNC_SAFE as well, ++ or should be listed as async-signal-safe in POSIX ++ ++ section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in ++ particular, are NOT async-signal-safe. ++ * All memory locations (variables and struct fields) that these functions ++ access must be marked 'volatile'. This holds for both read and write ++ accesses. Otherwise the compiler might optimize away stores to and ++ reads from such locations that occur in the program, depending on its ++ data flow analysis. For example, when the program contains a loop ++ that is intended to inspect a variable set from within a signal handler ++ while (!signal_occurred) ++ ; ++ the compiler is allowed to transform this into an endless loop if the ++ variable 'signal_occurred' is not declared 'volatile'. ++ Additionally, recall that: ++ * A signal handler should not modify errno (except if it is a handler ++ for a fatal signal and ends by raising the same signal again, thus ++ provoking the termination of the process). If it invokes a function ++ that may clobber errno, it needs to save and restore the value of ++ errno. */ ++#define _GL_ASYNC_SAFE ++ ++ ++/* Please see the Gnulib manual for how to use these macros. ++ ++ Suppress extern inline with HP-UX cc, as it appears to be broken; see ++ . ++ ++ Suppress extern inline with Sun C in standards-conformance mode, as it ++ mishandles inline functions that call each other. E.g., for 'inline void f ++ (void) { } inline void g (void) { f (); }', c99 incorrectly complains ++ 'reference to static identifier "f" in extern inline function'. ++ This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. ++ ++ Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) ++ on configurations that mistakenly use 'static inline' to implement ++ functions or macros in standard C headers like . For example, ++ if isdigit is mistakenly implemented via a static inline function, ++ a program containing an extern inline function that calls isdigit ++ may not work since the C standard prohibits extern inline functions ++ from calling static functions (ISO C 99 section 6.7.4.(3). ++ This bug is known to occur on: ++ ++ OS X 10.8 and earlier; see: ++ https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html ++ ++ DragonFly; see ++ http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log ++ ++ FreeBSD; see: ++ https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html ++ ++ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and ++ for clang but remains for g++; see . ++ Assume DragonFly and FreeBSD will be similar. ++ ++ GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 ++ inline semantics, unless -fgnu89-inline is used. It defines a macro ++ __GNUC_STDC_INLINE__ to indicate this situation or a macro ++ __GNUC_GNU_INLINE__ to indicate the opposite situation. ++ GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline ++ semantics but warns, unless -fgnu89-inline is used: ++ warning: C99 inline functions are not supported; using GNU89 ++ warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute ++ It defines a macro __GNUC_GNU_INLINE__ to indicate this situation. ++ */ ++#if (((defined __APPLE__ && defined __MACH__) \ ++ || defined __DragonFly__ || defined __FreeBSD__) \ ++ && (defined __header_inline \ ++ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ ++ && ! defined __clang__) \ ++ : ((! defined _DONT_USE_CTYPE_INLINE_ \ ++ && (defined __GNUC__ || defined __cplusplus)) \ ++ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ ++ && defined __GNUC__ && ! defined __cplusplus)))) ++# define _GL_EXTERN_INLINE_STDHEADER_BUG ++#endif ++#if ((__GNUC__ \ ++ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ ++ : (199901L <= __STDC_VERSION__ \ ++ && !defined __HP_cc \ ++ && !defined __PGI \ ++ && !(defined __SUNPRO_C && __STDC__))) \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# define _GL_INLINE inline ++# define _GL_EXTERN_INLINE extern inline ++# define _GL_EXTERN_INLINE_IN_USE ++#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ ++ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ ++# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) ++# else ++# define _GL_INLINE extern inline ++# endif ++# define _GL_EXTERN_INLINE extern ++# define _GL_EXTERN_INLINE_IN_USE ++#else ++# define _GL_INLINE static _GL_UNUSED ++# define _GL_EXTERN_INLINE static _GL_UNUSED ++#endif ++ ++/* In GCC 4.6 (inclusive) to 5.1 (exclusive), ++ suppress bogus "no previous prototype for 'FOO'" ++ and "no previous declaration for 'FOO'" diagnostics, ++ when FOO is an inline function in the header; see ++ and ++ . */ ++#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ ++# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ ++# define _GL_INLINE_HEADER_CONST_PRAGMA ++# else ++# define _GL_INLINE_HEADER_CONST_PRAGMA \ ++ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") ++# endif ++# define _GL_INLINE_HEADER_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ ++ _GL_INLINE_HEADER_CONST_PRAGMA ++# define _GL_INLINE_HEADER_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++# define _GL_INLINE_HEADER_BEGIN ++# define _GL_INLINE_HEADER_END ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define gid_t int ++ ++/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports ++ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of ++ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. ++ __APPLE__ && __MACH__ test for Mac OS X. ++ __APPLE_CC__ tests for the Apple compiler and its version. ++ __STDC_VERSION__ tests for the C99 mode. */ ++#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ ++# define __GNUC_STDC_INLINE__ 1 ++#endif ++ ++/* Define to a type if does not define. */ ++/* #undef mbstate_t */ ++ ++/* Define to `int' if does not define. */ ++#define mode_t int ++ ++/* Define to the type of st_nlink in struct stat, or a supertype. */ ++#define nlink_t int ++ ++/* Define to `int' if does not define. */ ++#define pid_t int ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict /**/ ++/* Work around a bug in Sun C++: it does not support _Restrict or ++ __restrict__, even though the corresponding Sun C compiler ends up with ++ "#define restrict _Restrict" or "#define restrict __restrict__" in the ++ previous line. Perhaps some future version of Sun C++ will work with ++ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++# define __restrict__ ++#endif ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef size_t */ ++ ++/* Define as a signed type of the same size as size_t. */ ++#ifdef _WIN64 ++typedef __int64 ssize_t; ++#else ++typedef int ssize_t; ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define uid_t int ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_UNUSED ++#endif ++/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name ++ is a misnomer outside of parameter lists. */ ++#define _UNUSED_PARAMETER_ _GL_UNUSED ++ ++/* gcc supports the "unused" attribute on possibly unused labels, and ++ g++ has since version 4.5. Note to support C++ as well as C, ++ _GL_UNUSED_LABEL should be used with a trailing ; */ ++#if !defined __cplusplus || __GNUC__ > 4 \ ++ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) ++# define _GL_UNUSED_LABEL _GL_UNUSED ++#else ++# define _GL_UNUSED_LABEL ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++#else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++#endif ++ ++/* The __const__ attribute was added in gcc 2.95. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) ++# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) ++#else ++# define _GL_ATTRIBUTE_CONST /* empty */ ++#endif ++ ++/* The __malloc__ attribute was added in gcc 3. */ ++#if 3 <= __GNUC__ ++# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) ++#else ++# define _GL_ATTRIBUTE_MALLOC /* empty */ ++#endif ++ ++ ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#if defined _MSC_VER && defined _DLL ++# define DLL_VARIABLE __declspec (dllimport) ++#else ++# define DLL_VARIABLE ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++#define DLL_VARIABLE __declspec (dllimport) ++ ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ ++#define PACKAGE_VERSION_STRING "1.16" ++#define PACKAGE_VERSION_MAJOR 1 ++#define PACKAGE_VERSION_MINOR 16 ++#define PACKAGE_VERSION_SUBMINOR 0 +diff -ruN iconv.h origin/iconv.h +--- include/iconv.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/iconv.h 2015-10-05 17:07:03.038087288 +0300 +diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +@@ -0,0 +1,254 @@ ++/* Copyright (C) 1999-2019 Free Software Foundation, Inc. ++ This file is part of the GNU LIBICONV Library. ++ ++ The GNU LIBICONV Library is free software; you can redistribute it ++ and/or modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ The GNU LIBICONV Library is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU LIBICONV Library; see the file COPYING.LIB. ++ If not, see . */ ++ ++/* When installed, this file is called "iconv.h". */ ++ ++#ifndef _LIBICONV_H ++#define _LIBICONV_H ++ ++#define _LIBICONV_VERSION 0x0110 /* version number: (major<<8) + minor */ ++ ++#if defined(LIBICONV_DLL) && !defined(LIBICONV_STATIC) ++#ifdef BUILDING_LIBICONV ++#define LIBICONV_API __declspec(dllexport) ++#else ++#define LIBICONV_API __declspec(dllimport) ++#endif ++#else ++#define LIBICONV_API ++#endif ++ ++extern LIBICONV_API int _libiconv_version; /* Likewise */ ++ ++/* We would like to #include any system header file which could define ++ iconv_t, 1. in order to eliminate the risk that the user gets compilation ++ errors because some other system header file includes /usr/include/iconv.h ++ which defines iconv_t or declares iconv after this file, 2. when compiling ++ for LIBICONV_PLUG, we need the proper iconv_t type in order to produce ++ binary compatible code. ++ But gcc's #include_next is not portable. Thus, once libiconv's iconv.h ++ has been installed in /usr/local/include, there is no way any more to ++ include the original /usr/include/iconv.h. We simply have to get away ++ without it. ++ Ad 1. The risk that a system header file does ++ #include "iconv.h" or #include_next "iconv.h" ++ is small. They all do #include . ++ Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It ++ has to be a scalar type because (iconv_t)(-1) is a possible return value ++ from iconv_open().) */ ++ ++/* Define iconv_t ourselves. */ ++#undef iconv_t ++#define iconv_t libiconv_t ++typedef void* iconv_t; ++ ++/* Get size_t declaration. ++ Get wchar_t declaration if it exists. */ ++#include ++ ++/* Get errno declaration and values. */ ++#include ++/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, ++ have EILSEQ in a different header. On these systems, define EILSEQ ++ ourselves. */ ++#ifndef EILSEQ ++#define EILSEQ ++#endif ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Allocates descriptor for code conversion from encoding 'fromcode' to ++ encoding 'tocode'. */ ++#ifndef LIBICONV_PLUG ++#define iconv_open libiconv_open ++#endif ++extern LIBICONV_API iconv_t iconv_open (const char* tocode, const char* fromcode); ++ ++/* Converts, using conversion descriptor 'cd', at most '*inbytesleft' bytes ++ starting at '*inbuf', writing at most '*outbytesleft' bytes starting at ++ '*outbuf'. ++ Decrements '*inbytesleft' and increments '*inbuf' by the same amount. ++ Decrements '*outbytesleft' and increments '*outbuf' by the same amount. */ ++#ifndef LIBICONV_PLUG ++#define iconv libiconv ++#endif ++extern LIBICONV_API size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); ++ ++/* Frees resources allocated for conversion descriptor 'cd'. */ ++#ifndef LIBICONV_PLUG ++#define iconv_close libiconv_close ++#endif ++extern LIBICONV_API int iconv_close (iconv_t cd); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#ifndef LIBICONV_PLUG ++ ++/* Nonstandard extensions. */ ++ ++#if 1 ++#if 0 ++/* Tru64 with Desktop Toolkit C has a bug: must be included before ++ . ++ BSD/OS 4.0.1 has a bug: , and must be ++ included before . */ ++#include ++#include ++#include ++#endif ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* A type that holds all memory needed by a conversion descriptor. ++ A pointer to such an object can be used as an iconv_t. */ ++typedef struct { ++ void* dummy1[28]; ++#if 1 ++ mbstate_t dummy2; ++#endif ++} iconv_allocation_t; ++ ++/* Allocates descriptor for code conversion from encoding 'fromcode' to ++ encoding 'tocode' into preallocated memory. Returns an error indicator ++ (0 or -1 with errno set). */ ++#define iconv_open_into libiconv_open_into ++extern LIBICONV_API int iconv_open_into (const char* tocode, const char* fromcode, ++ iconv_allocation_t* resultp); ++ ++/* Control of attributes. */ ++#define iconvctl libiconvctl ++extern LIBICONV_API int iconvctl (iconv_t cd, int request, void* argument); ++ ++/* Hook performed after every successful conversion of a Unicode character. */ ++typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); ++/* Hook performed after every successful conversion of a wide character. */ ++typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); ++/* Set of hooks. */ ++struct iconv_hooks { ++ iconv_unicode_char_hook uc_hook; ++ iconv_wide_char_hook wc_hook; ++ void* data; ++}; ++ ++/* Fallback function. Invoked when a small number of bytes could not be ++ converted to a Unicode character. This function should process all ++ bytes from inbuf and may produce replacement Unicode characters by calling ++ the write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_mb_to_uc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const unsigned int *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a Unicode character could not be converted ++ to the target encoding. This function should process the character and ++ may produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_uc_to_mb_fallback) ++ (unsigned int code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#if 1 ++/* Fallback function. Invoked when a number of bytes could not be converted to ++ a wide character. This function should process all bytes from inbuf and may ++ produce replacement wide characters by calling the write_replacement ++ callback repeatedly. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const wchar_t *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a wide character could not be converted to ++ the target encoding. This function should process the character and may ++ produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_wchar_wc_to_mb_fallback) ++ (wchar_t code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#else ++/* If the wchar_t type does not exist, these two fallback functions are never ++ invoked. Their argument list therefore does not matter. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) (); ++typedef void (*iconv_wchar_wc_to_mb_fallback) (); ++#endif ++/* Set of fallbacks. */ ++struct iconv_fallbacks { ++ iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; ++ iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; ++ iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; ++ iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; ++ void* data; ++}; ++ ++/* Requests for iconvctl. */ ++#define ICONV_TRIVIALP 0 /* int *argument */ ++#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ ++#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ ++#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ ++#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ ++#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ ++#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ ++ ++/* Listing of locale independent encodings. */ ++#define iconvlist libiconvlist ++extern LIBICONV_API void iconvlist (int (*do_one) (unsigned int namescount, ++ const char * const * names, ++ void* data), ++ void* data); ++ ++/* Canonicalize an encoding name. ++ The result is either a canonical encoding name, or name itself. */ ++extern LIBICONV_API const char * iconv_canonicalize (const char * name); ++ ++/* Support for relocatable packages. */ ++ ++#if 0 ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++extern LIBICONV_API void libiconv_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++#endif ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ ++ ++#endif /* _LIBICONV_H */ +--- libiconv.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ origin/libiconv.vcxproj 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,382 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {F2A64E15-0313-4421-ACB3-82FBCDA936B4} ++ libiconv ++ libiconv ++ ++ ++ ++ DynamicLibrary ++ true ++ v120 ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ DynamicLibrary ++ true ++ v120 ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ DynamicLibrary ++ false ++ v120 ++ true ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ DynamicLibrary ++ false ++ v120 ++ true ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Level3 ++ Disabled ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ ++ ++ ++ ++ Level3 ++ Disabled ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ ++ ++ ++ ++ Level3 ++ MaxSpeed ++ true ++ true ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ true ++ true ++ ++ ++ ++ ++ Level3 ++ MaxSpeed ++ true ++ true ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ true ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ ++ ++ ++ ++ ++ diff --git a/patches/libiconv/libiconv-1.16-MSVC2019.patch b/patches/libiconv/libiconv-1.16-MSVC2019.patch new file mode 100644 index 0000000..0192bc9 --- /dev/null +++ b/patches/libiconv/libiconv-1.16-MSVC2019.patch @@ -0,0 +1,1543 @@ +diff -ruN config.h origin/config.h +--- include/config.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/config.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,895 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++/* #undef BITSIZEOF_PTRDIFF_T */ ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++/* #undef BITSIZEOF_SIG_ATOMIC_T */ ++ ++/* Define to the number of bits in type 'size_t'. */ ++/* #undef BITSIZEOF_SIZE_T */ ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++/* #undef BITSIZEOF_WCHAR_T */ ++ ++/* Define to the number of bits in type 'wint_t'. */ ++/* #undef BITSIZEOF_WINT_T */ ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Define to 1 if // is a file system root distinct from /. */ ++#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 ++ ++/* Define as good substitute value for EILSEQ. */ ++/* #undef EILSEQ */ ++ ++/* Define to 1 to enable a few rarely used encodings. */ ++/* #undef ENABLE_EXTRA */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #undef ENABLE_NLS */ ++ ++/* Define to 1 if the package shall run at any location in the file system. */ ++/* #undef ENABLE_RELOCATABLE */ ++ ++/* Define to 1 if realpath() can malloc memory, always gives an absolute path, ++ and handles trailing slash correctly. */ ++/* #undef FUNC_REALPATH_WORKS */ ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module canonicalize-lgpl shall be considered present. */ ++#define GNULIB_CANONICALIZE_LGPL 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fscanf shall be considered present. */ ++#define GNULIB_FSCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module msvc-nothrow shall be considered present. */ ++#define GNULIB_MSVC_NOTHROW 1 ++ ++/* Define to 1 if printf and friends should be labeled with attribute ++ "__gnu_printf__" instead of "__printf__" */ ++/* #undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU */ ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module scanf shall be considered present. */ ++#define GNULIB_SCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module sigpipe shall be considered present. */ ++#define GNULIB_SIGPIPE 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module strerror shall be considered present. */ ++#define GNULIB_STRERROR 1 ++ ++/* Define to 1 when the gnulib module canonicalize_file_name should be tested. ++ */ ++#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 ++ ++/* Define to 1 when the gnulib module environ should be tested. */ ++#define GNULIB_TEST_ENVIRON 1 ++ ++/* Define to 1 when the gnulib module lstat should be tested. */ ++#define GNULIB_TEST_LSTAT 1 ++ ++/* Define to 1 when the gnulib module malloc-posix should be tested. */ ++#define GNULIB_TEST_MALLOC_POSIX 1 ++ ++/* Define to 1 when the gnulib module raise should be tested. */ ++#define GNULIB_TEST_RAISE 1 ++ ++/* Define to 1 when the gnulib module read should be tested. */ ++#define GNULIB_TEST_READ 1 ++ ++/* Define to 1 when the gnulib module readlink should be tested. */ ++#define GNULIB_TEST_READLINK 1 ++ ++/* Define to 1 when the gnulib module realpath should be tested. */ ++#define GNULIB_TEST_REALPATH 1 ++ ++/* Define to 1 when the gnulib module sigprocmask should be tested. */ ++#define GNULIB_TEST_SIGPROCMASK 1 ++ ++/* Define to 1 when the gnulib module stat should be tested. */ ++#define GNULIB_TEST_STAT 1 ++ ++/* Define to 1 when the gnulib module strerror should be tested. */ ++#define GNULIB_TEST_STRERROR 1 ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the Mac OS X function ++ CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ ++ ++/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define to 1 if you have the `copy_file_range' function. */ ++/* #undef HAVE_COPY_FILE_RANGE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_name', and ++ to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_short_name', ++ and to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_SETENV 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the declaration of `__argv', and to 0 if you don't. ++ */ ++#define HAVE_DECL___ARGV 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getc_unlocked' function. */ ++/* #undef HAVE_GETC_UNLOCKED */ ++ ++/* Define to 1 if you have the `getexecname' function. */ ++/* #undef HAVE_GETEXECNAME */ ++ ++/* Define to 1 if you have the `getprogname' function. */ ++/* #undef HAVE_GETPROGNAME */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define if you have the iconv() function and it works. */ ++/* #undef HAVE_ICONV */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_INTTYPES_H 1 ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if the system has the type 'long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++/* #undef HAVE_LSTAT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++/* #undef HAVE_MALLOC_POSIX */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++#define HAVE_MBRTOWC 1 ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++/* #undef HAVE_MBSINIT */ ++ ++/* Define to 1 if declares mbstate_t. */ ++#define HAVE_MBSTATE_T 1 ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 on MSVC platforms that have the "invalid parameter handler" ++ concept. */ ++#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `raise' function. */ ++#define HAVE_RAISE 1 ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the `readlinkat' function. */ ++/* #undef HAVE_READLINKAT */ ++ ++/* Define to 1 if you have the `realpath' function. */ ++/* #undef HAVE_REALPATH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if the system has the type `sigset_t'. */ ++/* #undef HAVE_SIGSET_T */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_STRINGS_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if `st_atimensec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIMENSEC */ ++ ++/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC */ ++ ++/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC */ ++ ++/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC */ ++ ++/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC */ ++ ++/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ ++ ++/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC */ ++ ++/* Define to 1 if you have the `symlink' function. */ ++/* #undef HAVE_SYMLINK */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_PARAM_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_SOCKET_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_TIME_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_TYPES_H 1 ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type 'unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define if you have a global __progname variable */ ++/* #undef HAVE_VAR___PROGNAME */ ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 0 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++#define HAVE_WCRTOMB 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WINSOCK2_H 1 ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Define to 1 if O_NOATIME works. */ ++#define HAVE_WORKING_O_NOATIME 0 ++ ++/* Define to 1 if O_NOFOLLOW works. */ ++#define HAVE_WORKING_O_NOFOLLOW 0 ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++#define HAVE__BOOL 1 ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ ++#define HAVE__SET_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to the value of ${prefix}, as a string. */ ++#define INSTALLPREFIX "C:/libiconv" ++ ++/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing ++ slash. */ ++/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ ++ ++/* Define to the sub-directory where libtool stores uninstalled libraries. */ ++/* #undef LT_OBJDIR */ ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 1 ++ ++/* Use GNU style printf and scanf. */ ++#ifndef __USE_MINGW_ANSI_STDIO ++# define __USE_MINGW_ANSI_STDIO 1 ++#endif ++ ++ ++/* Name of package */ ++#define PACKAGE "libiconv" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "libiconv" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "libiconv 1.16" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "libiconv" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "1.16" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++/* #undef PTRDIFF_T_SUFFIX */ ++ ++/* Define to 1 if readlink fails to recognize a trailing slash. */ ++/* #undef READLINK_TRAILING_SLASH_BUG */ ++ ++/* Define to 1 if stat needs help when passed a file name with a trailing ++ slash */ ++/* #undef REPLACE_FUNC_STAT_FILE */ ++ ++/* Define to 1 if strerror(0) does not return a message implying success. */ ++/* #undef REPLACE_STRERROR_0 */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++/* #undef SIG_ATOMIC_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++/* #undef SIZE_T_SUFFIX */ ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Define to 1 if the `S_IS*' macros in do not work properly. */ ++/* #undef STAT_MACROS_BROKEN */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to 1 if the type of the st_atim member of a struct stat is struct ++ timespec. */ ++/* #undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC */ ++ ++/* Define to the prefix of C symbols at the assembler and linker level, either ++ an underscore or empty. */ ++#ifdef _WIN64 ++#define USER_LABEL_PREFIX ++#else ++#define USER_LABEL_PREFIX _ ++#endif ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable general extensions on macOS. */ ++#ifndef _DARWIN_C_SOURCE ++# define _DARWIN_C_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable NetBSD extensions on NetBSD. */ ++#ifndef _NETBSD_SOURCE ++# define _NETBSD_SOURCE 1 ++#endif ++/* Enable OpenBSD extensions on NetBSD. */ ++#ifndef _OPENBSD_SOURCE ++# define _OPENBSD_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ ++#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ ++# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ ++#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ ++# define __STDC_WANT_IEC_60559_BFP_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ ++#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ ++# define __STDC_WANT_IEC_60559_DFP_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ ++#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ ++# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ ++#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ ++# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ ++#ifndef __STDC_WANT_LIB_EXT2__ ++# define __STDC_WANT_LIB_EXT2__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC 24747:2009. */ ++#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ ++# define __STDC_WANT_MATH_SPEC_FUNCS__ 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable X/Open extensions if necessary. HP-UX 11.11 defines ++ mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of ++ whether compiling with -Ae or -D_HPUX_SOURCE=1. */ ++#ifndef _XOPEN_SOURCE ++/* # undef _XOPEN_SOURCE */ ++#endif ++/* Enable X/Open compliant socket functions that do not require linking ++ with -lxnet on HP-UX 11.11. */ ++#ifndef _HPUX_ALT_XOPEN_SOCKET_API ++# define _HPUX_ALT_XOPEN_SOCKET_API 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# define __EXTENSIONS__ 1 ++#endif ++ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 1 ++ ++/* Version number of package */ ++#define VERSION "1.16" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++/* #undef WCHAR_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++/* #undef WINT_T_SUFFIX */ ++ ++/* Define if the machine's byte ordering is little endian. */ ++#define WORDS_LITTLEENDIAN 1 ++ ++/* Enable large inode numbers on Mac OS X 10.5. */ ++#define _DARWIN_USE_64_BIT_INODE 1 ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ ++#define _NETBSD_SOURCE 1 ++ ++/* The _Noreturn keyword of C11. */ ++#ifndef _Noreturn ++# if (defined __cplusplus \ ++ && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ ++ || (defined _MSC_VER && 1900 <= _MSC_VER))) ++# define _Noreturn [[noreturn]] ++# elif ((!defined __cplusplus || defined __clang__) \ ++ && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ ++ || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) ++ /* _Noreturn works as-is. */ ++# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C ++# define _Noreturn __attribute__ ((__noreturn__)) ++# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) ++# define _Noreturn __declspec (noreturn) ++# else ++# define _Noreturn ++# endif ++#endif ++ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for 'stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* For standard stat data types on VMS. */ ++#define _USE_STD_STAT 1 ++ ++/* Define to 1 if the system predates C++11. */ ++/* #undef __STDC_CONSTANT_MACROS */ ++ ++/* Define to 1 if the system predates C++11. */ ++/* #undef __STDC_LIMIT_MACROS */ ++ ++/* The _GL_ASYNC_SAFE marker should be attached to functions that are ++ signal handlers (for signals other than SIGABRT, SIGPIPE) or can be ++ invoked from such signal handlers. Such functions have some restrictions: ++ * All functions that it calls should be marked _GL_ASYNC_SAFE as well, ++ or should be listed as async-signal-safe in POSIX ++ ++ section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in ++ particular, are NOT async-signal-safe. ++ * All memory locations (variables and struct fields) that these functions ++ access must be marked 'volatile'. This holds for both read and write ++ accesses. Otherwise the compiler might optimize away stores to and ++ reads from such locations that occur in the program, depending on its ++ data flow analysis. For example, when the program contains a loop ++ that is intended to inspect a variable set from within a signal handler ++ while (!signal_occurred) ++ ; ++ the compiler is allowed to transform this into an endless loop if the ++ variable 'signal_occurred' is not declared 'volatile'. ++ Additionally, recall that: ++ * A signal handler should not modify errno (except if it is a handler ++ for a fatal signal and ends by raising the same signal again, thus ++ provoking the termination of the process). If it invokes a function ++ that may clobber errno, it needs to save and restore the value of ++ errno. */ ++#define _GL_ASYNC_SAFE ++ ++ ++/* Please see the Gnulib manual for how to use these macros. ++ ++ Suppress extern inline with HP-UX cc, as it appears to be broken; see ++ . ++ ++ Suppress extern inline with Sun C in standards-conformance mode, as it ++ mishandles inline functions that call each other. E.g., for 'inline void f ++ (void) { } inline void g (void) { f (); }', c99 incorrectly complains ++ 'reference to static identifier "f" in extern inline function'. ++ This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. ++ ++ Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) ++ on configurations that mistakenly use 'static inline' to implement ++ functions or macros in standard C headers like . For example, ++ if isdigit is mistakenly implemented via a static inline function, ++ a program containing an extern inline function that calls isdigit ++ may not work since the C standard prohibits extern inline functions ++ from calling static functions (ISO C 99 section 6.7.4.(3). ++ This bug is known to occur on: ++ ++ OS X 10.8 and earlier; see: ++ https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html ++ ++ DragonFly; see ++ http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log ++ ++ FreeBSD; see: ++ https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html ++ ++ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and ++ for clang but remains for g++; see . ++ Assume DragonFly and FreeBSD will be similar. ++ ++ GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 ++ inline semantics, unless -fgnu89-inline is used. It defines a macro ++ __GNUC_STDC_INLINE__ to indicate this situation or a macro ++ __GNUC_GNU_INLINE__ to indicate the opposite situation. ++ GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline ++ semantics but warns, unless -fgnu89-inline is used: ++ warning: C99 inline functions are not supported; using GNU89 ++ warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute ++ It defines a macro __GNUC_GNU_INLINE__ to indicate this situation. ++ */ ++#if (((defined __APPLE__ && defined __MACH__) \ ++ || defined __DragonFly__ || defined __FreeBSD__) \ ++ && (defined __header_inline \ ++ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ ++ && ! defined __clang__) \ ++ : ((! defined _DONT_USE_CTYPE_INLINE_ \ ++ && (defined __GNUC__ || defined __cplusplus)) \ ++ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ ++ && defined __GNUC__ && ! defined __cplusplus)))) ++# define _GL_EXTERN_INLINE_STDHEADER_BUG ++#endif ++#if ((__GNUC__ \ ++ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ ++ : (199901L <= __STDC_VERSION__ \ ++ && !defined __HP_cc \ ++ && !defined __PGI \ ++ && !(defined __SUNPRO_C && __STDC__))) \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# define _GL_INLINE inline ++# define _GL_EXTERN_INLINE extern inline ++# define _GL_EXTERN_INLINE_IN_USE ++#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ ++ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ ++# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) ++# else ++# define _GL_INLINE extern inline ++# endif ++# define _GL_EXTERN_INLINE extern ++# define _GL_EXTERN_INLINE_IN_USE ++#else ++# define _GL_INLINE static _GL_UNUSED ++# define _GL_EXTERN_INLINE static _GL_UNUSED ++#endif ++ ++/* In GCC 4.6 (inclusive) to 5.1 (exclusive), ++ suppress bogus "no previous prototype for 'FOO'" ++ and "no previous declaration for 'FOO'" diagnostics, ++ when FOO is an inline function in the header; see ++ and ++ . */ ++#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ ++# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ ++# define _GL_INLINE_HEADER_CONST_PRAGMA ++# else ++# define _GL_INLINE_HEADER_CONST_PRAGMA \ ++ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") ++# endif ++# define _GL_INLINE_HEADER_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ ++ _GL_INLINE_HEADER_CONST_PRAGMA ++# define _GL_INLINE_HEADER_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++# define _GL_INLINE_HEADER_BEGIN ++# define _GL_INLINE_HEADER_END ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define gid_t int ++ ++/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports ++ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of ++ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. ++ __APPLE__ && __MACH__ test for Mac OS X. ++ __APPLE_CC__ tests for the Apple compiler and its version. ++ __STDC_VERSION__ tests for the C99 mode. */ ++#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ ++# define __GNUC_STDC_INLINE__ 1 ++#endif ++ ++/* Define to a type if does not define. */ ++/* #undef mbstate_t */ ++ ++/* Define to `int' if does not define. */ ++#define mode_t int ++ ++/* Define to the type of st_nlink in struct stat, or a supertype. */ ++#define nlink_t int ++ ++/* Define to `int' if does not define. */ ++#define pid_t int ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict /**/ ++/* Work around a bug in Sun C++: it does not support _Restrict or ++ __restrict__, even though the corresponding Sun C compiler ends up with ++ "#define restrict _Restrict" or "#define restrict __restrict__" in the ++ previous line. Perhaps some future version of Sun C++ will work with ++ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++# define __restrict__ ++#endif ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef size_t */ ++ ++/* Define as a signed type of the same size as size_t. */ ++#ifdef _WIN64 ++typedef __int64 ssize_t; ++#else ++typedef int ssize_t; ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define uid_t int ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_UNUSED ++#endif ++/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name ++ is a misnomer outside of parameter lists. */ ++#define _UNUSED_PARAMETER_ _GL_UNUSED ++ ++/* gcc supports the "unused" attribute on possibly unused labels, and ++ g++ has since version 4.5. Note to support C++ as well as C, ++ _GL_UNUSED_LABEL should be used with a trailing ; */ ++#if !defined __cplusplus || __GNUC__ > 4 \ ++ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) ++# define _GL_UNUSED_LABEL _GL_UNUSED ++#else ++# define _GL_UNUSED_LABEL ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++#else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++#endif ++ ++/* The __const__ attribute was added in gcc 2.95. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) ++# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) ++#else ++# define _GL_ATTRIBUTE_CONST /* empty */ ++#endif ++ ++/* The __malloc__ attribute was added in gcc 3. */ ++#if 3 <= __GNUC__ ++# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) ++#else ++# define _GL_ATTRIBUTE_MALLOC /* empty */ ++#endif ++ ++ ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#if defined _MSC_VER && defined _DLL ++# define DLL_VARIABLE __declspec (dllimport) ++#else ++# define DLL_VARIABLE ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++#define DLL_VARIABLE __declspec (dllimport) ++ ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ ++#define PACKAGE_VERSION_STRING "1.16" ++#define PACKAGE_VERSION_MAJOR 1 ++#define PACKAGE_VERSION_MINOR 16 ++#define PACKAGE_VERSION_SUBMINOR 0 +diff -ruN iconv.h origin/iconv.h +--- include/iconv.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/iconv.h 2015-10-05 17:07:03.038087288 +0300 +diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +@@ -0,0 +1,254 @@ ++/* Copyright (C) 1999-2019 Free Software Foundation, Inc. ++ This file is part of the GNU LIBICONV Library. ++ ++ The GNU LIBICONV Library is free software; you can redistribute it ++ and/or modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ The GNU LIBICONV Library is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU LIBICONV Library; see the file COPYING.LIB. ++ If not, see . */ ++ ++/* When installed, this file is called "iconv.h". */ ++ ++#ifndef _LIBICONV_H ++#define _LIBICONV_H ++ ++#define _LIBICONV_VERSION 0x0110 /* version number: (major<<8) + minor */ ++ ++#if defined(LIBICONV_DLL) && !defined(LIBICONV_STATIC) ++#ifdef BUILDING_LIBICONV ++#define LIBICONV_API __declspec(dllexport) ++#else ++#define LIBICONV_API __declspec(dllimport) ++#endif ++#else ++#define LIBICONV_API ++#endif ++ ++extern LIBICONV_API int _libiconv_version; /* Likewise */ ++ ++/* We would like to #include any system header file which could define ++ iconv_t, 1. in order to eliminate the risk that the user gets compilation ++ errors because some other system header file includes /usr/include/iconv.h ++ which defines iconv_t or declares iconv after this file, 2. when compiling ++ for LIBICONV_PLUG, we need the proper iconv_t type in order to produce ++ binary compatible code. ++ But gcc's #include_next is not portable. Thus, once libiconv's iconv.h ++ has been installed in /usr/local/include, there is no way any more to ++ include the original /usr/include/iconv.h. We simply have to get away ++ without it. ++ Ad 1. The risk that a system header file does ++ #include "iconv.h" or #include_next "iconv.h" ++ is small. They all do #include . ++ Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It ++ has to be a scalar type because (iconv_t)(-1) is a possible return value ++ from iconv_open().) */ ++ ++/* Define iconv_t ourselves. */ ++#undef iconv_t ++#define iconv_t libiconv_t ++typedef void* iconv_t; ++ ++/* Get size_t declaration. ++ Get wchar_t declaration if it exists. */ ++#include ++ ++/* Get errno declaration and values. */ ++#include ++/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, ++ have EILSEQ in a different header. On these systems, define EILSEQ ++ ourselves. */ ++#ifndef EILSEQ ++#define EILSEQ ++#endif ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Allocates descriptor for code conversion from encoding 'fromcode' to ++ encoding 'tocode'. */ ++#ifndef LIBICONV_PLUG ++#define iconv_open libiconv_open ++#endif ++extern LIBICONV_API iconv_t iconv_open (const char* tocode, const char* fromcode); ++ ++/* Converts, using conversion descriptor 'cd', at most '*inbytesleft' bytes ++ starting at '*inbuf', writing at most '*outbytesleft' bytes starting at ++ '*outbuf'. ++ Decrements '*inbytesleft' and increments '*inbuf' by the same amount. ++ Decrements '*outbytesleft' and increments '*outbuf' by the same amount. */ ++#ifndef LIBICONV_PLUG ++#define iconv libiconv ++#endif ++extern LIBICONV_API size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); ++ ++/* Frees resources allocated for conversion descriptor 'cd'. */ ++#ifndef LIBICONV_PLUG ++#define iconv_close libiconv_close ++#endif ++extern LIBICONV_API int iconv_close (iconv_t cd); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#ifndef LIBICONV_PLUG ++ ++/* Nonstandard extensions. */ ++ ++#if 1 ++#if 0 ++/* Tru64 with Desktop Toolkit C has a bug: must be included before ++ . ++ BSD/OS 4.0.1 has a bug: , and must be ++ included before . */ ++#include ++#include ++#include ++#endif ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* A type that holds all memory needed by a conversion descriptor. ++ A pointer to such an object can be used as an iconv_t. */ ++typedef struct { ++ void* dummy1[28]; ++#if 1 ++ mbstate_t dummy2; ++#endif ++} iconv_allocation_t; ++ ++/* Allocates descriptor for code conversion from encoding 'fromcode' to ++ encoding 'tocode' into preallocated memory. Returns an error indicator ++ (0 or -1 with errno set). */ ++#define iconv_open_into libiconv_open_into ++extern LIBICONV_API int iconv_open_into (const char* tocode, const char* fromcode, ++ iconv_allocation_t* resultp); ++ ++/* Control of attributes. */ ++#define iconvctl libiconvctl ++extern LIBICONV_API int iconvctl (iconv_t cd, int request, void* argument); ++ ++/* Hook performed after every successful conversion of a Unicode character. */ ++typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); ++/* Hook performed after every successful conversion of a wide character. */ ++typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); ++/* Set of hooks. */ ++struct iconv_hooks { ++ iconv_unicode_char_hook uc_hook; ++ iconv_wide_char_hook wc_hook; ++ void* data; ++}; ++ ++/* Fallback function. Invoked when a small number of bytes could not be ++ converted to a Unicode character. This function should process all ++ bytes from inbuf and may produce replacement Unicode characters by calling ++ the write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_mb_to_uc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const unsigned int *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a Unicode character could not be converted ++ to the target encoding. This function should process the character and ++ may produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_uc_to_mb_fallback) ++ (unsigned int code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#if 1 ++/* Fallback function. Invoked when a number of bytes could not be converted to ++ a wide character. This function should process all bytes from inbuf and may ++ produce replacement wide characters by calling the write_replacement ++ callback repeatedly. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const wchar_t *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a wide character could not be converted to ++ the target encoding. This function should process the character and may ++ produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_wchar_wc_to_mb_fallback) ++ (wchar_t code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#else ++/* If the wchar_t type does not exist, these two fallback functions are never ++ invoked. Their argument list therefore does not matter. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) (); ++typedef void (*iconv_wchar_wc_to_mb_fallback) (); ++#endif ++/* Set of fallbacks. */ ++struct iconv_fallbacks { ++ iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; ++ iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; ++ iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; ++ iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; ++ void* data; ++}; ++ ++/* Requests for iconvctl. */ ++#define ICONV_TRIVIALP 0 /* int *argument */ ++#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ ++#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ ++#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ ++#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ ++#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ ++#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ ++ ++/* Listing of locale independent encodings. */ ++#define iconvlist libiconvlist ++extern LIBICONV_API void iconvlist (int (*do_one) (unsigned int namescount, ++ const char * const * names, ++ void* data), ++ void* data); ++ ++/* Canonicalize an encoding name. ++ The result is either a canonical encoding name, or name itself. */ ++extern LIBICONV_API const char * iconv_canonicalize (const char * name); ++ ++/* Support for relocatable packages. */ ++ ++#if 0 ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++extern LIBICONV_API void libiconv_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++#endif ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ ++ ++#endif /* _LIBICONV_H */ +--- libiconv.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ origin/libiconv.vcxproj 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,382 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {F2A64E15-0313-4421-ACB3-82FBCDA936B4} ++ libiconv ++ libiconv ++ ++ ++ ++ DynamicLibrary ++ true ++ v120 ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ DynamicLibrary ++ true ++ v120 ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ DynamicLibrary ++ false ++ v120 ++ true ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ DynamicLibrary ++ false ++ v120 ++ true ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Level3 ++ Disabled ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ ++ ++ ++ ++ Level3 ++ Disabled ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ ++ ++ ++ ++ Level3 ++ MaxSpeed ++ true ++ true ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ true ++ true ++ ++ ++ ++ ++ Level3 ++ MaxSpeed ++ true ++ true ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ true ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ ++ ++ ++ ++ ++ diff --git a/patches/libiconv/libiconv-1.17-MSVC2019.patch b/patches/libiconv/libiconv-1.17-MSVC2019.patch new file mode 100644 index 0000000..0192bc9 --- /dev/null +++ b/patches/libiconv/libiconv-1.17-MSVC2019.patch @@ -0,0 +1,1543 @@ +diff -ruN config.h origin/config.h +--- include/config.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/config.h 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,895 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++/* #undef BITSIZEOF_PTRDIFF_T */ ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++/* #undef BITSIZEOF_SIG_ATOMIC_T */ ++ ++/* Define to the number of bits in type 'size_t'. */ ++/* #undef BITSIZEOF_SIZE_T */ ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++/* #undef BITSIZEOF_WCHAR_T */ ++ ++/* Define to the number of bits in type 'wint_t'. */ ++/* #undef BITSIZEOF_WINT_T */ ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Define to 1 if // is a file system root distinct from /. */ ++#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 ++ ++/* Define as good substitute value for EILSEQ. */ ++/* #undef EILSEQ */ ++ ++/* Define to 1 to enable a few rarely used encodings. */ ++/* #undef ENABLE_EXTRA */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++/* #undef ENABLE_NLS */ ++ ++/* Define to 1 if the package shall run at any location in the file system. */ ++/* #undef ENABLE_RELOCATABLE */ ++ ++/* Define to 1 if realpath() can malloc memory, always gives an absolute path, ++ and handles trailing slash correctly. */ ++/* #undef FUNC_REALPATH_WORKS */ ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module canonicalize-lgpl shall be considered present. */ ++#define GNULIB_CANONICALIZE_LGPL 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fscanf shall be considered present. */ ++#define GNULIB_FSCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module msvc-nothrow shall be considered present. */ ++#define GNULIB_MSVC_NOTHROW 1 ++ ++/* Define to 1 if printf and friends should be labeled with attribute ++ "__gnu_printf__" instead of "__printf__" */ ++/* #undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU */ ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module scanf shall be considered present. */ ++#define GNULIB_SCANF 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module sigpipe shall be considered present. */ ++#define GNULIB_SIGPIPE 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module strerror shall be considered present. */ ++#define GNULIB_STRERROR 1 ++ ++/* Define to 1 when the gnulib module canonicalize_file_name should be tested. ++ */ ++#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 ++ ++/* Define to 1 when the gnulib module environ should be tested. */ ++#define GNULIB_TEST_ENVIRON 1 ++ ++/* Define to 1 when the gnulib module lstat should be tested. */ ++#define GNULIB_TEST_LSTAT 1 ++ ++/* Define to 1 when the gnulib module malloc-posix should be tested. */ ++#define GNULIB_TEST_MALLOC_POSIX 1 ++ ++/* Define to 1 when the gnulib module raise should be tested. */ ++#define GNULIB_TEST_RAISE 1 ++ ++/* Define to 1 when the gnulib module read should be tested. */ ++#define GNULIB_TEST_READ 1 ++ ++/* Define to 1 when the gnulib module readlink should be tested. */ ++#define GNULIB_TEST_READLINK 1 ++ ++/* Define to 1 when the gnulib module realpath should be tested. */ ++#define GNULIB_TEST_REALPATH 1 ++ ++/* Define to 1 when the gnulib module sigprocmask should be tested. */ ++#define GNULIB_TEST_SIGPROCMASK 1 ++ ++/* Define to 1 when the gnulib module stat should be tested. */ ++#define GNULIB_TEST_STAT 1 ++ ++/* Define to 1 when the gnulib module strerror should be tested. */ ++#define GNULIB_TEST_STRERROR 1 ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the Mac OS X function ++ CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ ++ ++/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define to 1 if you have the `copy_file_range' function. */ ++/* #undef HAVE_COPY_FILE_RANGE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_name', and ++ to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_short_name', ++ and to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_SETENV 0 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the declaration of `__argv', and to 0 if you don't. ++ */ ++#define HAVE_DECL___ARGV 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++#define HAVE_ENVIRON_DECL 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getc_unlocked' function. */ ++/* #undef HAVE_GETC_UNLOCKED */ ++ ++/* Define to 1 if you have the `getexecname' function. */ ++/* #undef HAVE_GETEXECNAME */ ++ ++/* Define to 1 if you have the `getprogname' function. */ ++/* #undef HAVE_GETPROGNAME */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define if you have the iconv() function and it works. */ ++/* #undef HAVE_ICONV */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_INTTYPES_H 1 ++ ++/* Define if you have and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if the system has the type 'long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++/* #undef HAVE_LSTAT */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++/* #undef HAVE_MALLOC_POSIX */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++#define HAVE_MBRTOWC 1 ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++/* #undef HAVE_MBSINIT */ ++ ++/* Define to 1 if declares mbstate_t. */ ++#define HAVE_MBSTATE_T 1 ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 on MSVC platforms that have the "invalid parameter handler" ++ concept. */ ++#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define to 1 if you have the `raise' function. */ ++#define HAVE_RAISE 1 ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the `readlinkat' function. */ ++/* #undef HAVE_READLINKAT */ ++ ++/* Define to 1 if you have the `realpath' function. */ ++/* #undef HAVE_REALPATH */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if the system has the type `sigset_t'. */ ++/* #undef HAVE_SIGSET_T */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_STRINGS_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if `st_atimensec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIMENSEC */ ++ ++/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC */ ++ ++/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC */ ++ ++/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC */ ++ ++/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC */ ++ ++/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ ++ ++/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC */ ++ ++/* Define to 1 if you have the `symlink' function. */ ++/* #undef HAVE_SYMLINK */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_PARAM_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_SOCKET_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_TIME_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_TYPES_H 1 ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_UNISTD_H */ ++ ++/* Define to 1 if the system has the type 'unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define if you have a global __progname variable */ ++/* #undef HAVE_VAR___PROGNAME */ ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 0 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++#define HAVE_WCRTOMB 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_WINSOCK2_H 1 ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Define to 1 if O_NOATIME works. */ ++#define HAVE_WORKING_O_NOATIME 0 ++ ++/* Define to 1 if O_NOFOLLOW works. */ ++#define HAVE_WORKING_O_NOFOLLOW 0 ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++#define HAVE__BOOL 1 ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ ++#define HAVE__SET_INVALID_PARAMETER_HANDLER 1 ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to the value of ${prefix}, as a string. */ ++#define INSTALLPREFIX "C:/libiconv" ++ ++/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing ++ slash. */ ++/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ ++ ++/* Define to the sub-directory where libtool stores uninstalled libraries. */ ++/* #undef LT_OBJDIR */ ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 1 ++ ++/* Use GNU style printf and scanf. */ ++#ifndef __USE_MINGW_ANSI_STDIO ++# define __USE_MINGW_ANSI_STDIO 1 ++#endif ++ ++ ++/* Name of package */ ++#define PACKAGE "libiconv" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "libiconv" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "libiconv 1.16" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "libiconv" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "1.16" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++/* #undef PTRDIFF_T_SUFFIX */ ++ ++/* Define to 1 if readlink fails to recognize a trailing slash. */ ++/* #undef READLINK_TRAILING_SLASH_BUG */ ++ ++/* Define to 1 if stat needs help when passed a file name with a trailing ++ slash */ ++/* #undef REPLACE_FUNC_STAT_FILE */ ++ ++/* Define to 1 if strerror(0) does not return a message implying success. */ ++/* #undef REPLACE_STRERROR_0 */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++/* #undef SIG_ATOMIC_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++/* #undef SIZE_T_SUFFIX */ ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Define to 1 if the `S_IS*' macros in do not work properly. */ ++/* #undef STAT_MACROS_BROKEN */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to 1 if the type of the st_atim member of a struct stat is struct ++ timespec. */ ++/* #undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC */ ++ ++/* Define to the prefix of C symbols at the assembler and linker level, either ++ an underscore or empty. */ ++#ifdef _WIN64 ++#define USER_LABEL_PREFIX ++#else ++#define USER_LABEL_PREFIX _ ++#endif ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable general extensions on macOS. */ ++#ifndef _DARWIN_C_SOURCE ++# define _DARWIN_C_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable NetBSD extensions on NetBSD. */ ++#ifndef _NETBSD_SOURCE ++# define _NETBSD_SOURCE 1 ++#endif ++/* Enable OpenBSD extensions on NetBSD. */ ++#ifndef _OPENBSD_SOURCE ++# define _OPENBSD_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ ++#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ ++# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ ++#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ ++# define __STDC_WANT_IEC_60559_BFP_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ ++#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ ++# define __STDC_WANT_IEC_60559_DFP_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ ++#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ ++# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ ++#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ ++# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ ++#ifndef __STDC_WANT_LIB_EXT2__ ++# define __STDC_WANT_LIB_EXT2__ 1 ++#endif ++/* Enable extensions specified by ISO/IEC 24747:2009. */ ++#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ ++# define __STDC_WANT_MATH_SPEC_FUNCS__ 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable X/Open extensions if necessary. HP-UX 11.11 defines ++ mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of ++ whether compiling with -Ae or -D_HPUX_SOURCE=1. */ ++#ifndef _XOPEN_SOURCE ++/* # undef _XOPEN_SOURCE */ ++#endif ++/* Enable X/Open compliant socket functions that do not require linking ++ with -lxnet on HP-UX 11.11. */ ++#ifndef _HPUX_ALT_XOPEN_SOCKET_API ++# define _HPUX_ALT_XOPEN_SOCKET_API 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# define __EXTENSIONS__ 1 ++#endif ++ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 1 ++ ++/* Version number of package */ ++#define VERSION "1.16" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++/* #undef WCHAR_T_SUFFIX */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++/* #undef WINT_T_SUFFIX */ ++ ++/* Define if the machine's byte ordering is little endian. */ ++#define WORDS_LITTLEENDIAN 1 ++ ++/* Enable large inode numbers on Mac OS X 10.5. */ ++#define _DARWIN_USE_64_BIT_INODE 1 ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ ++#define _NETBSD_SOURCE 1 ++ ++/* The _Noreturn keyword of C11. */ ++#ifndef _Noreturn ++# if (defined __cplusplus \ ++ && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ ++ || (defined _MSC_VER && 1900 <= _MSC_VER))) ++# define _Noreturn [[noreturn]] ++# elif ((!defined __cplusplus || defined __clang__) \ ++ && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ ++ || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) ++ /* _Noreturn works as-is. */ ++# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C ++# define _Noreturn __attribute__ ((__noreturn__)) ++# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) ++# define _Noreturn __declspec (noreturn) ++# else ++# define _Noreturn ++# endif ++#endif ++ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for 'stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* For standard stat data types on VMS. */ ++#define _USE_STD_STAT 1 ++ ++/* Define to 1 if the system predates C++11. */ ++/* #undef __STDC_CONSTANT_MACROS */ ++ ++/* Define to 1 if the system predates C++11. */ ++/* #undef __STDC_LIMIT_MACROS */ ++ ++/* The _GL_ASYNC_SAFE marker should be attached to functions that are ++ signal handlers (for signals other than SIGABRT, SIGPIPE) or can be ++ invoked from such signal handlers. Such functions have some restrictions: ++ * All functions that it calls should be marked _GL_ASYNC_SAFE as well, ++ or should be listed as async-signal-safe in POSIX ++ ++ section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in ++ particular, are NOT async-signal-safe. ++ * All memory locations (variables and struct fields) that these functions ++ access must be marked 'volatile'. This holds for both read and write ++ accesses. Otherwise the compiler might optimize away stores to and ++ reads from such locations that occur in the program, depending on its ++ data flow analysis. For example, when the program contains a loop ++ that is intended to inspect a variable set from within a signal handler ++ while (!signal_occurred) ++ ; ++ the compiler is allowed to transform this into an endless loop if the ++ variable 'signal_occurred' is not declared 'volatile'. ++ Additionally, recall that: ++ * A signal handler should not modify errno (except if it is a handler ++ for a fatal signal and ends by raising the same signal again, thus ++ provoking the termination of the process). If it invokes a function ++ that may clobber errno, it needs to save and restore the value of ++ errno. */ ++#define _GL_ASYNC_SAFE ++ ++ ++/* Please see the Gnulib manual for how to use these macros. ++ ++ Suppress extern inline with HP-UX cc, as it appears to be broken; see ++ . ++ ++ Suppress extern inline with Sun C in standards-conformance mode, as it ++ mishandles inline functions that call each other. E.g., for 'inline void f ++ (void) { } inline void g (void) { f (); }', c99 incorrectly complains ++ 'reference to static identifier "f" in extern inline function'. ++ This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. ++ ++ Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) ++ on configurations that mistakenly use 'static inline' to implement ++ functions or macros in standard C headers like . For example, ++ if isdigit is mistakenly implemented via a static inline function, ++ a program containing an extern inline function that calls isdigit ++ may not work since the C standard prohibits extern inline functions ++ from calling static functions (ISO C 99 section 6.7.4.(3). ++ This bug is known to occur on: ++ ++ OS X 10.8 and earlier; see: ++ https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html ++ ++ DragonFly; see ++ http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log ++ ++ FreeBSD; see: ++ https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html ++ ++ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and ++ for clang but remains for g++; see . ++ Assume DragonFly and FreeBSD will be similar. ++ ++ GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 ++ inline semantics, unless -fgnu89-inline is used. It defines a macro ++ __GNUC_STDC_INLINE__ to indicate this situation or a macro ++ __GNUC_GNU_INLINE__ to indicate the opposite situation. ++ GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline ++ semantics but warns, unless -fgnu89-inline is used: ++ warning: C99 inline functions are not supported; using GNU89 ++ warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute ++ It defines a macro __GNUC_GNU_INLINE__ to indicate this situation. ++ */ ++#if (((defined __APPLE__ && defined __MACH__) \ ++ || defined __DragonFly__ || defined __FreeBSD__) \ ++ && (defined __header_inline \ ++ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ ++ && ! defined __clang__) \ ++ : ((! defined _DONT_USE_CTYPE_INLINE_ \ ++ && (defined __GNUC__ || defined __cplusplus)) \ ++ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ ++ && defined __GNUC__ && ! defined __cplusplus)))) ++# define _GL_EXTERN_INLINE_STDHEADER_BUG ++#endif ++#if ((__GNUC__ \ ++ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ ++ : (199901L <= __STDC_VERSION__ \ ++ && !defined __HP_cc \ ++ && !defined __PGI \ ++ && !(defined __SUNPRO_C && __STDC__))) \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# define _GL_INLINE inline ++# define _GL_EXTERN_INLINE extern inline ++# define _GL_EXTERN_INLINE_IN_USE ++#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ ++ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) ++# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ ++ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ ++# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) ++# else ++# define _GL_INLINE extern inline ++# endif ++# define _GL_EXTERN_INLINE extern ++# define _GL_EXTERN_INLINE_IN_USE ++#else ++# define _GL_INLINE static _GL_UNUSED ++# define _GL_EXTERN_INLINE static _GL_UNUSED ++#endif ++ ++/* In GCC 4.6 (inclusive) to 5.1 (exclusive), ++ suppress bogus "no previous prototype for 'FOO'" ++ and "no previous declaration for 'FOO'" diagnostics, ++ when FOO is an inline function in the header; see ++ and ++ . */ ++#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ ++# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ ++# define _GL_INLINE_HEADER_CONST_PRAGMA ++# else ++# define _GL_INLINE_HEADER_CONST_PRAGMA \ ++ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") ++# endif ++# define _GL_INLINE_HEADER_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ ++ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ ++ _GL_INLINE_HEADER_CONST_PRAGMA ++# define _GL_INLINE_HEADER_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++# define _GL_INLINE_HEADER_BEGIN ++# define _GL_INLINE_HEADER_END ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define gid_t int ++ ++/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports ++ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of ++ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. ++ __APPLE__ && __MACH__ test for Mac OS X. ++ __APPLE_CC__ tests for the Apple compiler and its version. ++ __STDC_VERSION__ tests for the C99 mode. */ ++#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ ++# define __GNUC_STDC_INLINE__ 1 ++#endif ++ ++/* Define to a type if does not define. */ ++/* #undef mbstate_t */ ++ ++/* Define to `int' if does not define. */ ++#define mode_t int ++ ++/* Define to the type of st_nlink in struct stat, or a supertype. */ ++#define nlink_t int ++ ++/* Define to `int' if does not define. */ ++#define pid_t int ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict /**/ ++/* Work around a bug in Sun C++: it does not support _Restrict or ++ __restrict__, even though the corresponding Sun C compiler ends up with ++ "#define restrict _Restrict" or "#define restrict __restrict__" in the ++ previous line. Perhaps some future version of Sun C++ will work with ++ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++# define __restrict__ ++#endif ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef size_t */ ++ ++/* Define as a signed type of the same size as size_t. */ ++#ifdef _WIN64 ++typedef __int64 ssize_t; ++#else ++typedef int ssize_t; ++#endif ++ ++/* Define to `int' if doesn't define. */ ++#define uid_t int ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_UNUSED ++#endif ++/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name ++ is a misnomer outside of parameter lists. */ ++#define _UNUSED_PARAMETER_ _GL_UNUSED ++ ++/* gcc supports the "unused" attribute on possibly unused labels, and ++ g++ has since version 4.5. Note to support C++ as well as C, ++ _GL_UNUSED_LABEL should be used with a trailing ; */ ++#if !defined __cplusplus || __GNUC__ > 4 \ ++ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) ++# define _GL_UNUSED_LABEL _GL_UNUSED ++#else ++# define _GL_UNUSED_LABEL ++#endif ++ ++/* The __pure__ attribute was added in gcc 2.96. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) ++# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) ++#else ++# define _GL_ATTRIBUTE_PURE /* empty */ ++#endif ++ ++/* The __const__ attribute was added in gcc 2.95. */ ++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) ++# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) ++#else ++# define _GL_ATTRIBUTE_CONST /* empty */ ++#endif ++ ++/* The __malloc__ attribute was added in gcc 3. */ ++#if 3 <= __GNUC__ ++# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) ++#else ++# define _GL_ATTRIBUTE_MALLOC /* empty */ ++#endif ++ ++ ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#if defined _MSC_VER && defined _DLL ++# define DLL_VARIABLE __declspec (dllimport) ++#else ++# define DLL_VARIABLE ++#endif ++ ++#define NO_XMALLOC ++#define LIBDIR "" ++#define DLL_VARIABLE __declspec (dllimport) ++ ++#pragma warning(disable: 4018) // warning C4018: signed/unsigned mismatch ++#pragma warning(disable: 4996) // warning C4996: The POSIX name for this item is deprecated. ++ ++#define PACKAGE_VERSION_STRING "1.16" ++#define PACKAGE_VERSION_MAJOR 1 ++#define PACKAGE_VERSION_MINOR 16 ++#define PACKAGE_VERSION_SUBMINOR 0 +diff -ruN iconv.h origin/iconv.h +--- include/iconv.h 1970-01-01 03:00:00.000000000 +0300 ++++ origin/iconv.h 2015-10-05 17:07:03.038087288 +0300 +diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +@@ -0,0 +1,254 @@ ++/* Copyright (C) 1999-2019 Free Software Foundation, Inc. ++ This file is part of the GNU LIBICONV Library. ++ ++ The GNU LIBICONV Library is free software; you can redistribute it ++ and/or modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ The GNU LIBICONV Library is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU LIBICONV Library; see the file COPYING.LIB. ++ If not, see . */ ++ ++/* When installed, this file is called "iconv.h". */ ++ ++#ifndef _LIBICONV_H ++#define _LIBICONV_H ++ ++#define _LIBICONV_VERSION 0x0110 /* version number: (major<<8) + minor */ ++ ++#if defined(LIBICONV_DLL) && !defined(LIBICONV_STATIC) ++#ifdef BUILDING_LIBICONV ++#define LIBICONV_API __declspec(dllexport) ++#else ++#define LIBICONV_API __declspec(dllimport) ++#endif ++#else ++#define LIBICONV_API ++#endif ++ ++extern LIBICONV_API int _libiconv_version; /* Likewise */ ++ ++/* We would like to #include any system header file which could define ++ iconv_t, 1. in order to eliminate the risk that the user gets compilation ++ errors because some other system header file includes /usr/include/iconv.h ++ which defines iconv_t or declares iconv after this file, 2. when compiling ++ for LIBICONV_PLUG, we need the proper iconv_t type in order to produce ++ binary compatible code. ++ But gcc's #include_next is not portable. Thus, once libiconv's iconv.h ++ has been installed in /usr/local/include, there is no way any more to ++ include the original /usr/include/iconv.h. We simply have to get away ++ without it. ++ Ad 1. The risk that a system header file does ++ #include "iconv.h" or #include_next "iconv.h" ++ is small. They all do #include . ++ Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It ++ has to be a scalar type because (iconv_t)(-1) is a possible return value ++ from iconv_open().) */ ++ ++/* Define iconv_t ourselves. */ ++#undef iconv_t ++#define iconv_t libiconv_t ++typedef void* iconv_t; ++ ++/* Get size_t declaration. ++ Get wchar_t declaration if it exists. */ ++#include ++ ++/* Get errno declaration and values. */ ++#include ++/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS, ++ have EILSEQ in a different header. On these systems, define EILSEQ ++ ourselves. */ ++#ifndef EILSEQ ++#define EILSEQ ++#endif ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Allocates descriptor for code conversion from encoding 'fromcode' to ++ encoding 'tocode'. */ ++#ifndef LIBICONV_PLUG ++#define iconv_open libiconv_open ++#endif ++extern LIBICONV_API iconv_t iconv_open (const char* tocode, const char* fromcode); ++ ++/* Converts, using conversion descriptor 'cd', at most '*inbytesleft' bytes ++ starting at '*inbuf', writing at most '*outbytesleft' bytes starting at ++ '*outbuf'. ++ Decrements '*inbytesleft' and increments '*inbuf' by the same amount. ++ Decrements '*outbytesleft' and increments '*outbuf' by the same amount. */ ++#ifndef LIBICONV_PLUG ++#define iconv libiconv ++#endif ++extern LIBICONV_API size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft); ++ ++/* Frees resources allocated for conversion descriptor 'cd'. */ ++#ifndef LIBICONV_PLUG ++#define iconv_close libiconv_close ++#endif ++extern LIBICONV_API int iconv_close (iconv_t cd); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++ ++#ifndef LIBICONV_PLUG ++ ++/* Nonstandard extensions. */ ++ ++#if 1 ++#if 0 ++/* Tru64 with Desktop Toolkit C has a bug: must be included before ++ . ++ BSD/OS 4.0.1 has a bug: , and must be ++ included before . */ ++#include ++#include ++#include ++#endif ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* A type that holds all memory needed by a conversion descriptor. ++ A pointer to such an object can be used as an iconv_t. */ ++typedef struct { ++ void* dummy1[28]; ++#if 1 ++ mbstate_t dummy2; ++#endif ++} iconv_allocation_t; ++ ++/* Allocates descriptor for code conversion from encoding 'fromcode' to ++ encoding 'tocode' into preallocated memory. Returns an error indicator ++ (0 or -1 with errno set). */ ++#define iconv_open_into libiconv_open_into ++extern LIBICONV_API int iconv_open_into (const char* tocode, const char* fromcode, ++ iconv_allocation_t* resultp); ++ ++/* Control of attributes. */ ++#define iconvctl libiconvctl ++extern LIBICONV_API int iconvctl (iconv_t cd, int request, void* argument); ++ ++/* Hook performed after every successful conversion of a Unicode character. */ ++typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); ++/* Hook performed after every successful conversion of a wide character. */ ++typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); ++/* Set of hooks. */ ++struct iconv_hooks { ++ iconv_unicode_char_hook uc_hook; ++ iconv_wide_char_hook wc_hook; ++ void* data; ++}; ++ ++/* Fallback function. Invoked when a small number of bytes could not be ++ converted to a Unicode character. This function should process all ++ bytes from inbuf and may produce replacement Unicode characters by calling ++ the write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_mb_to_uc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const unsigned int *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a Unicode character could not be converted ++ to the target encoding. This function should process the character and ++ may produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_unicode_uc_to_mb_fallback) ++ (unsigned int code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#if 1 ++/* Fallback function. Invoked when a number of bytes could not be converted to ++ a wide character. This function should process all bytes from inbuf and may ++ produce replacement wide characters by calling the write_replacement ++ callback repeatedly. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) ++ (const char* inbuf, size_t inbufsize, ++ void (*write_replacement) (const wchar_t *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++/* Fallback function. Invoked when a wide character could not be converted to ++ the target encoding. This function should process the character and may ++ produce replacement bytes (in the target encoding) by calling the ++ write_replacement callback repeatedly. */ ++typedef void (*iconv_wchar_wc_to_mb_fallback) ++ (wchar_t code, ++ void (*write_replacement) (const char *buf, size_t buflen, ++ void* callback_arg), ++ void* callback_arg, ++ void* data); ++#else ++/* If the wchar_t type does not exist, these two fallback functions are never ++ invoked. Their argument list therefore does not matter. */ ++typedef void (*iconv_wchar_mb_to_wc_fallback) (); ++typedef void (*iconv_wchar_wc_to_mb_fallback) (); ++#endif ++/* Set of fallbacks. */ ++struct iconv_fallbacks { ++ iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; ++ iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; ++ iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; ++ iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; ++ void* data; ++}; ++ ++/* Requests for iconvctl. */ ++#define ICONV_TRIVIALP 0 /* int *argument */ ++#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ ++#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ ++#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ ++#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ ++#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ ++#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ ++ ++/* Listing of locale independent encodings. */ ++#define iconvlist libiconvlist ++extern LIBICONV_API void iconvlist (int (*do_one) (unsigned int namescount, ++ const char * const * names, ++ void* data), ++ void* data); ++ ++/* Canonicalize an encoding name. ++ The result is either a canonical encoding name, or name itself. */ ++extern LIBICONV_API const char * iconv_canonicalize (const char * name); ++ ++/* Support for relocatable packages. */ ++ ++#if 0 ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++extern LIBICONV_API void libiconv_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++#endif ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ ++ ++#endif /* _LIBICONV_H */ +--- libiconv.vcxproj 1970-01-01 03:00:00.000000000 +0300 ++++ origin/libiconv.vcxproj 2015-10-05 17:07:03.038087288 +0300 +@@ -0,0 +1,382 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {F2A64E15-0313-4421-ACB3-82FBCDA936B4} ++ libiconv ++ libiconv ++ ++ ++ ++ DynamicLibrary ++ true ++ v120 ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ DynamicLibrary ++ true ++ v120 ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ DynamicLibrary ++ false ++ v120 ++ true ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ DynamicLibrary ++ false ++ v120 ++ true ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Level3 ++ Disabled ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ ++ ++ ++ ++ Level3 ++ Disabled ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ ++ ++ ++ ++ Level3 ++ MaxSpeed ++ true ++ true ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ true ++ true ++ ++ ++ ++ ++ Level3 ++ MaxSpeed ++ true ++ true ++ true ++ true ++ BUILDING_LIBICONV;LIBICONV_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) ++ include;lib;srclib ++ ProgramDatabase ++ ++ ++ true ++ true ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ PACKAGE_VERSION_STRING="1.16";PACKAGE_VERSION_MAJOR=1;PACKAGE_VERSION_MINOR=16;PACKAGE_VERSION_SUBMINOR=0;%(PreprocessorDefinitions) ++ ++ ++ ++ ++ ++ diff --git a/patches/libxml2/libxml2.patch b/patches/libxml2/libxml2.patch new file mode 100644 index 0000000..7e7e556 --- /dev/null +++ b/patches/libxml2/libxml2.patch @@ -0,0 +1,40 @@ +diff -Naur libxml2-2.9.4.orig/relaxng.c libxml2-2.9.4/relaxng.c +--- libxml2-2.9.4.orig/relaxng.c 2017-01-31 12:30:32.964119994 +0300 ++++ libxml2-2.9.4/relaxng.c 2017-01-31 12:34:57.196114129 +0300 +@@ -2088,6 +2088,7 @@ + const xmlChar * arg2) + { + char msg[1000]; ++ xmlChar *result = NULL; + + if (arg1 == NULL) + arg1 = BAD_CAST ""; +@@ -2215,7 +2216,7 @@ + snprintf(msg, 1000, "Unknown error code %d\n", err); + } + msg[1000 - 1] = 0; +- xmlChar *result = xmlCharStrdup(msg); ++ result = xmlCharStrdup(msg); + return (xmlEscapeFormatString(&result)); + } + +diff -Naur libxml2-2.9.4.orig/xmlschemas.c libxml2-2.9.4/xmlschemas.c +--- libxml2-2.9.4.orig/xmlschemas.c 2017-01-31 12:30:32.964119994 +0300 ++++ libxml2-2.9.4/xmlschemas.c 2017-01-31 12:34:20.700114939 +0300 +@@ -3121,6 +3121,7 @@ + const xmlChar *str2) + { + xmlChar *msg = NULL; ++ xmlChar *expectedEscaped = NULL; + + xmlSchemaFormatNodeForError(&msg, ACTXT_CAST ctxt, node); + if (message == NULL) { +@@ -3169,7 +3170,7 @@ + } + if (expected) { + msg = xmlStrcat(msg, BAD_CAST " Expected is '"); +- xmlChar *expectedEscaped = xmlCharStrdup(expected); ++ expectedEscaped = xmlCharStrdup(expected); + msg = xmlStrcat(msg, xmlEscapeFormatString(&expectedEscaped)); + FREE_AND_NULL(expectedEscaped); + msg = xmlStrcat(msg, BAD_CAST "'.\n"); diff --git a/patches/libxslt/libxslt-1.1.34.patch b/patches/libxslt/libxslt-1.1.34.patch new file mode 100644 index 0000000..052072c --- /dev/null +++ b/patches/libxslt/libxslt-1.1.34.patch @@ -0,0 +1,67 @@ +commit e2584eed1c84c18f16e42188c30d2c3d8e3e8853 +Author: Chun-wei Fan +Date: Tue Nov 12 17:37:05 2019 +0800 + + win32: Add configuration for profiler + + Without this the generated xsltconfig.h will not be complete as there + will be a configuration variable that is left in the header, breaking + builds. + + This will allow one to enable or disable profiler support in Windows + builds, and the default is to enable this. + +diff --git a/win32/configure.js b/win32/configure.js +index 56694cce..12c99f30 100644 +--- a/win32/configure.js ++++ b/win32/configure.js +@@ -47,6 +47,7 @@ var withIconv = true; + var withZlib = false; + var withCrypto = true; + var withModules = false; ++var withProfiler = true; + /* Win32 build options. */ + var dirSep = "\\"; + var compiler = "msvc"; +@@ -106,6 +107,7 @@ function usage() + txt += " zlib: Use zlib library (" + (withZlib? "yes" : "no") + ")\n"; + txt += " crypto: Enable Crypto support (" + (withCrypto? "yes" : "no") + ")\n"; + txt += " modules: Enable Module support (" + (withModules? "yes" : "no") + ")\n"; ++ txt += " profiler: Enable Profiler support (" + (withProfiler? "yes" : "no") + ")\n"; + txt += "\nWin32 build options, default value given in parentheses:\n\n"; + txt += " compiler: Compiler to be used [msvc|mingw] (" + compiler + ")\n"; + txt += " cruntime: C-runtime compiler option (only msvc) (" + cruntime + ")\n"; +@@ -192,6 +194,7 @@ function discoverVersion() + vf.WriteLine("WITH_ZLIB=" + (withZlib? "1" : "0")); + vf.WriteLine("WITH_CRYPTO=" + (withCrypto? "1" : "0")); + vf.WriteLine("WITH_MODULES=" + (withModules? "1" : "0")); ++ vf.WriteLine("WITH_PROFILER=" + (withProfiler? "1" : "0")); + vf.WriteLine("DEBUG=" + (buildDebug? "1" : "0")); + vf.WriteLine("STATIC=" + (buildStatic? "1" : "0")); + vf.WriteLine("PREFIX=" + buildPrefix); +@@ -240,6 +243,8 @@ function configureXslt() + of.WriteLine(s.replace(/\@WITH_DEBUGGER\@/, withDebugger? "1" : "0")); + } else if (s.search(/\@WITH_MODULES\@/) != -1) { + of.WriteLine(s.replace(/\@WITH_MODULES\@/, withModules? "1" : "0")); ++ } else if (s.search(/\@WITH_PROFILER\@/) != -1) { ++ of.WriteLine(s.replace(/\@WITH_PROFILER\@/, withProfiler? "1" : "0")); + } else if (s.search(/\@LIBXSLT_DEFAULT_PLUGINS_PATH\@/) != -1) { + of.WriteLine(s.replace(/\@LIBXSLT_DEFAULT_PLUGINS_PATH\@/, "NULL")); + } else +@@ -343,6 +348,8 @@ for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) { + withCrypto = strToBool(arg.substring(opt.length + 1, arg.length)); + else if (opt == "modules") + withModules = strToBool(arg.substring(opt.length + 1, arg.length)); ++ else if (opt == "profiler") ++ withProfiler = strToBool(arg.substring(opt.length + 1, arg.length)); + else if (opt == "compiler") + compiler = arg.substring(opt.length + 1, arg.length); + else if (opt == "cruntime") +@@ -477,6 +484,7 @@ txtOut += " Use iconv: " + boolToStr(withIconv) + "\n"; + txtOut += " With zlib: " + boolToStr(withZlib) + "\n"; + txtOut += " Crypto: " + boolToStr(withCrypto) + "\n"; + txtOut += " Modules: " + boolToStr(withModules) + "\n"; ++txtOut += " Profiler: " + boolToStr(withProfiler) + "\n"; + txtOut += "\n"; + txtOut += "Win32 build configuration\n"; + txtOut += "-------------------------\n"; diff --git a/patches/pgadmin/libssh2-msvc2015.patch b/patches/pgadmin/libssh2-MSVC2015.patch similarity index 100% rename from patches/pgadmin/libssh2-msvc2015.patch rename to patches/pgadmin/libssh2-MSVC2015.patch diff --git a/patches/postgresql/10/perl522.patch b/patches/postgresql/10/perl522.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/10/perl522.patch @@ -0,0 +1,29 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index d7638b4..ccf1f76 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -345,6 +345,9 @@ EOF + $d =~ s/__CFGNAME__/$cfgname/g; + print $f " $d\n"; + } ++ if ($self->{name} =~ /plperl/ and $self->{platform} eq 'Win32') { ++ print $f " false\n"; ++ } + print $f < + +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 21faa58..7012bfa 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -572,8 +578,8 @@ sub mkvcbuild + } + $plperl->AddReference($postgres); + my @perl_libs = +- grep { /perl\d+.lib$/ } +- glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); ++ grep { /perl\d+\.(lib|a)$/ } ++ glob($solution->{options}->{perl} . '\lib\CORE\*.*'); + if (@perl_libs == 1) + { + $plperl->AddLibrary($perl_libs[0]); diff --git a/patches/postgresql/10/perl524.patch b/patches/postgresql/10/perl524.patch new file mode 100644 index 0000000..239aebb --- /dev/null +++ b/patches/postgresql/10/perl524.patch @@ -0,0 +1,15 @@ +diff -Naur postgresql-10.1.orig/src/tools/msvc/Mkvcbuild.pm postgresql-10.1/src/tools/msvc/Mkvcbuild.pm +--- postgresql-10.1.orig/src/tools/msvc/Mkvcbuild.pm 2017-12-06 19:40:59.694628794 +0300 ++++ postgresql-10.1/src/tools/msvc/Mkvcbuild.pm 2017-12-06 20:27:23.879553458 +0300 +@@ -615,9 +615,9 @@ + } + } + $plperl->AddReference($postgres); +- my $perl_path = $solution->{options}->{perl} . '\lib\CORE\perl*.lib'; ++ my $perl_path = $solution->{options}->{perl} . '\lib\CORE\*perl*.*'; + my @perl_libs = +- grep { /perl\d+.lib$/ } glob($perl_path); ++ grep { /perl\d+.(lib|a)$/ } glob($perl_path); + if (@perl_libs == 1) + { + $plperl->AddLibrary($perl_libs[0]); diff --git a/patches/postgresql/10/series b/patches/postgresql/10/series new file mode 100644 index 0000000..ef73fba --- /dev/null +++ b/patches/postgresql/10/series @@ -0,0 +1 @@ +perl524.patch diff --git a/patches/postgresql/2017.patch b/patches/postgresql/2017.patch new file mode 100644 index 0000000..bf84214 --- /dev/null +++ b/patches/postgresql/2017.patch @@ -0,0 +1,46 @@ +diff --git a/src/include/port.h b/src/include/port.h +index 88603c4def9..3530aa386df 100644 +--- a/src/include/port.h ++++ b/src/include/port.h +@@ -17,6 +17,41 @@ + #include + #include + ++#if _MSC_VER > 1800 ++ //From VS2012. ++ typedef struct localerefcount ++ { ++ char *locale; ++ wchar_t *wlocale; ++ int *refcount; ++ int *wrefcount; ++ } locrefcount; ++ ++ //From VS2012. ++ typedef struct __crt_locale_data ++ { ++ int refcount; ++ unsigned int lc_codepage; ++ unsigned int lc_collate_cp; ++ unsigned int lc_time_cp; ++ locrefcount lc_category[6]; ++ int lc_clike; ++ int mb_cur_max; ++ int * lconv_intl_refcount; ++ int * lconv_num_refcount; ++ int * lconv_mon_refcount; ++ struct lconv * lconv; ++ int * ctype1_refcount; ++ unsigned short * ctype1; ++ const unsigned short * pctype; ++ const unsigned char * pclmap; ++ const unsigned char * pcumap; ++ struct __lc_time_data * lc_time_curr; ++ wchar_t * locale_name[6]; ++ } threadlocinfo; ++#endif ++ ++ + /* + * Windows has enough specialized port stuff that we push most of it off + * into another file. diff --git a/patches/postgresql/9.2/perl522.patch b/patches/postgresql/9.2/perl522.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/9.2/perl522.patch @@ -0,0 +1,29 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index d7638b4..ccf1f76 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -345,6 +345,9 @@ EOF + $d =~ s/__CFGNAME__/$cfgname/g; + print $f " $d\n"; + } ++ if ($self->{name} =~ /plperl/ and $self->{platform} eq 'Win32') { ++ print $f " false\n"; ++ } + print $f < + +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 21faa58..7012bfa 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -572,8 +578,8 @@ sub mkvcbuild + } + $plperl->AddReference($postgres); + my @perl_libs = +- grep { /perl\d+.lib$/ } +- glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); ++ grep { /perl\d+\.(lib|a)$/ } ++ glob($solution->{options}->{perl} . '\lib\CORE\*.*'); + if (@perl_libs == 1) + { + $plperl->AddLibrary($perl_libs[0]); diff --git a/patches/postgresql/9.2/series b/patches/postgresql/9.2/series new file mode 100644 index 0000000..c05e582 --- /dev/null +++ b/patches/postgresql/9.2/series @@ -0,0 +1 @@ +perl522.patch diff --git a/patches/postgresql/9.3/perl522.patch b/patches/postgresql/9.3/perl522.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/9.3/perl522.patch @@ -0,0 +1,29 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index d7638b4..ccf1f76 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -345,6 +345,9 @@ EOF + $d =~ s/__CFGNAME__/$cfgname/g; + print $f " $d\n"; + } ++ if ($self->{name} =~ /plperl/ and $self->{platform} eq 'Win32') { ++ print $f " false\n"; ++ } + print $f < + +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 21faa58..7012bfa 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -572,8 +578,8 @@ sub mkvcbuild + } + $plperl->AddReference($postgres); + my @perl_libs = +- grep { /perl\d+.lib$/ } +- glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); ++ grep { /perl\d+\.(lib|a)$/ } ++ glob($solution->{options}->{perl} . '\lib\CORE\*.*'); + if (@perl_libs == 1) + { + $plperl->AddLibrary($perl_libs[0]); diff --git a/patches/postgresql/9.3/series b/patches/postgresql/9.3/series new file mode 100644 index 0000000..c05e582 --- /dev/null +++ b/patches/postgresql/9.3/series @@ -0,0 +1 @@ +perl522.patch diff --git a/patches/postgresql/9.4.9/perl522.patch b/patches/postgresql/9.4.9/perl522.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/9.4.9/perl522.patch @@ -0,0 +1,29 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index d7638b4..ccf1f76 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -345,6 +345,9 @@ EOF + $d =~ s/__CFGNAME__/$cfgname/g; + print $f " $d\n"; + } ++ if ($self->{name} =~ /plperl/ and $self->{platform} eq 'Win32') { ++ print $f " false\n"; ++ } + print $f < + +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 21faa58..7012bfa 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -572,8 +578,8 @@ sub mkvcbuild + } + $plperl->AddReference($postgres); + my @perl_libs = +- grep { /perl\d+.lib$/ } +- glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); ++ grep { /perl\d+\.(lib|a)$/ } ++ glob($solution->{options}->{perl} . '\lib\CORE\*.*'); + if (@perl_libs == 1) + { + $plperl->AddLibrary($perl_libs[0]); diff --git a/patches/postgresql/9.4.9/series b/patches/postgresql/9.4.9/series new file mode 100644 index 0000000..c05e582 --- /dev/null +++ b/patches/postgresql/9.4.9/series @@ -0,0 +1 @@ +perl522.patch diff --git a/patches/postgresql/9.4/perl522.patch b/patches/postgresql/9.4/perl522.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/9.4/perl522.patch @@ -0,0 +1,29 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index d7638b4..ccf1f76 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -345,6 +345,9 @@ EOF + $d =~ s/__CFGNAME__/$cfgname/g; + print $f " $d\n"; + } ++ if ($self->{name} =~ /plperl/ and $self->{platform} eq 'Win32') { ++ print $f " false\n"; ++ } + print $f < + +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 21faa58..7012bfa 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -572,8 +578,8 @@ sub mkvcbuild + } + $plperl->AddReference($postgres); + my @perl_libs = +- grep { /perl\d+.lib$/ } +- glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); ++ grep { /perl\d+\.(lib|a)$/ } ++ glob($solution->{options}->{perl} . '\lib\CORE\*.*'); + if (@perl_libs == 1) + { + $plperl->AddLibrary($perl_libs[0]); diff --git a/patches/postgresql/9.4/series b/patches/postgresql/9.4/series new file mode 100644 index 0000000..c05e582 --- /dev/null +++ b/patches/postgresql/9.4/series @@ -0,0 +1 @@ +perl522.patch diff --git a/patches/postgresql/9.5.3/perl522.patch b/patches/postgresql/9.5.3/perl522.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/9.5.3/perl522.patch @@ -0,0 +1,29 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index d7638b4..ccf1f76 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -345,6 +345,9 @@ EOF + $d =~ s/__CFGNAME__/$cfgname/g; + print $f " $d\n"; + } ++ if ($self->{name} =~ /plperl/ and $self->{platform} eq 'Win32') { ++ print $f " false\n"; ++ } + print $f < + +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 21faa58..7012bfa 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -572,8 +578,8 @@ sub mkvcbuild + } + $plperl->AddReference($postgres); + my @perl_libs = +- grep { /perl\d+.lib$/ } +- glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); ++ grep { /perl\d+\.(lib|a)$/ } ++ glob($solution->{options}->{perl} . '\lib\CORE\*.*'); + if (@perl_libs == 1) + { + $plperl->AddLibrary($perl_libs[0]); diff --git a/patches/postgresql/9.5.3/series b/patches/postgresql/9.5.3/series new file mode 100644 index 0000000..c05e582 --- /dev/null +++ b/patches/postgresql/9.5.3/series @@ -0,0 +1 @@ +perl522.patch diff --git a/patches/postgresql/9.5.4/perl522.patch b/patches/postgresql/9.5.4/perl522.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/9.5.4/perl522.patch @@ -0,0 +1,29 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index d7638b4..ccf1f76 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -345,6 +345,9 @@ EOF + $d =~ s/__CFGNAME__/$cfgname/g; + print $f " $d\n"; + } ++ if ($self->{name} =~ /plperl/ and $self->{platform} eq 'Win32') { ++ print $f " false\n"; ++ } + print $f < + +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 21faa58..7012bfa 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -572,8 +578,8 @@ sub mkvcbuild + } + $plperl->AddReference($postgres); + my @perl_libs = +- grep { /perl\d+.lib$/ } +- glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); ++ grep { /perl\d+\.(lib|a)$/ } ++ glob($solution->{options}->{perl} . '\lib\CORE\*.*'); + if (@perl_libs == 1) + { + $plperl->AddLibrary($perl_libs[0]); diff --git a/patches/postgresql/9.5.4/series b/patches/postgresql/9.5.4/series new file mode 100644 index 0000000..c05e582 --- /dev/null +++ b/patches/postgresql/9.5.4/series @@ -0,0 +1 @@ +perl522.patch diff --git a/patches/postgresql/9.5/perl522.patch b/patches/postgresql/9.5/perl522.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/9.5/perl522.patch @@ -0,0 +1,29 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index d7638b4..ccf1f76 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -345,6 +345,9 @@ EOF + $d =~ s/__CFGNAME__/$cfgname/g; + print $f " $d\n"; + } ++ if ($self->{name} =~ /plperl/ and $self->{platform} eq 'Win32') { ++ print $f " false\n"; ++ } + print $f < + +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 21faa58..7012bfa 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -572,8 +578,8 @@ sub mkvcbuild + } + $plperl->AddReference($postgres); + my @perl_libs = +- grep { /perl\d+.lib$/ } +- glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); ++ grep { /perl\d+\.(lib|a)$/ } ++ glob($solution->{options}->{perl} . '\lib\CORE\*.*'); + if (@perl_libs == 1) + { + $plperl->AddLibrary($perl_libs[0]); diff --git a/patches/postgresql/9.5/series b/patches/postgresql/9.5/series new file mode 100644 index 0000000..c05e582 --- /dev/null +++ b/patches/postgresql/9.5/series @@ -0,0 +1 @@ +perl522.patch diff --git a/patches/postgresql/9.6.0/perl522.patch b/patches/postgresql/9.6.0/perl522.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/9.6.0/perl522.patch @@ -0,0 +1,29 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index d7638b4..ccf1f76 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -345,6 +345,9 @@ EOF + $d =~ s/__CFGNAME__/$cfgname/g; + print $f " $d\n"; + } ++ if ($self->{name} =~ /plperl/ and $self->{platform} eq 'Win32') { ++ print $f " false\n"; ++ } + print $f < + +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 21faa58..7012bfa 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -572,8 +578,8 @@ sub mkvcbuild + } + $plperl->AddReference($postgres); + my @perl_libs = +- grep { /perl\d+.lib$/ } +- glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); ++ grep { /perl\d+\.(lib|a)$/ } ++ glob($solution->{options}->{perl} . '\lib\CORE\*.*'); + if (@perl_libs == 1) + { + $plperl->AddLibrary($perl_libs[0]); diff --git a/patches/postgresql/9.6.0/series b/patches/postgresql/9.6.0/series new file mode 100644 index 0000000..c05e582 --- /dev/null +++ b/patches/postgresql/9.6.0/series @@ -0,0 +1 @@ +perl522.patch diff --git a/patches/postgresql/9.6.1/perl522.patch b/patches/postgresql/9.6.1/perl522.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/9.6.1/perl522.patch @@ -0,0 +1,29 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index d7638b4..ccf1f76 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -345,6 +345,9 @@ EOF + $d =~ s/__CFGNAME__/$cfgname/g; + print $f " $d\n"; + } ++ if ($self->{name} =~ /plperl/ and $self->{platform} eq 'Win32') { ++ print $f " false\n"; ++ } + print $f < + +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 21faa58..7012bfa 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -572,8 +578,8 @@ sub mkvcbuild + } + $plperl->AddReference($postgres); + my @perl_libs = +- grep { /perl\d+.lib$/ } +- glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); ++ grep { /perl\d+\.(lib|a)$/ } ++ glob($solution->{options}->{perl} . '\lib\CORE\*.*'); + if (@perl_libs == 1) + { + $plperl->AddLibrary($perl_libs[0]); diff --git a/patches/postgresql/9.6.1/series b/patches/postgresql/9.6.1/series new file mode 100644 index 0000000..c05e582 --- /dev/null +++ b/patches/postgresql/9.6.1/series @@ -0,0 +1 @@ +perl522.patch diff --git a/patches/postgresql/9.6/perl522.patch b/patches/postgresql/9.6/perl522.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/9.6/perl522.patch @@ -0,0 +1,29 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index d7638b4..ccf1f76 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -345,6 +345,9 @@ EOF + $d =~ s/__CFGNAME__/$cfgname/g; + print $f " $d\n"; + } ++ if ($self->{name} =~ /plperl/ and $self->{platform} eq 'Win32') { ++ print $f " false\n"; ++ } + print $f < + +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 21faa58..7012bfa 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -572,8 +578,8 @@ sub mkvcbuild + } + $plperl->AddReference($postgres); + my @perl_libs = +- grep { /perl\d+.lib$/ } +- glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); ++ grep { /perl\d+\.(lib|a)$/ } ++ glob($solution->{options}->{perl} . '\lib\CORE\*.*'); + if (@perl_libs == 1) + { + $plperl->AddLibrary($perl_libs[0]); diff --git a/patches/postgresql/9.6/series b/patches/postgresql/9.6/series new file mode 100644 index 0000000..c05e582 --- /dev/null +++ b/patches/postgresql/9.6/series @@ -0,0 +1 @@ +perl522.patch diff --git a/patches/postgresql/perl.5.30.patch b/patches/postgresql/perl.5.30.patch new file mode 100644 index 0000000..4fd30ec --- /dev/null +++ b/patches/postgresql/perl.5.30.patch @@ -0,0 +1,49 @@ +diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c +index 2db13d30308..d2787b50beb 100644 +--- a/src/pl/plperl/plperl.c ++++ b/src/pl/plperl/plperl.c +@@ -300,8 +300,12 @@ static OP *pp_require_safe(pTHX); + static void activate_interpreter(plperl_interp_desc *interp_desc); + + #ifdef WIN32 ++#if PERL_VERSION >= 28 ++#define setlocale_perl(a,b) Perl_setlocale(a,b) ++#else + static char *setlocale_perl(int category, char *locale); + #endif ++#endif + + /* + * Decrement the refcount of the given SV within the active Perl interpreter +@@ -4159,6 +4163,7 @@ plperl_inline_callback(void *arg) + * (needed because of the calls to new_*()) + */ + #ifdef WIN32 ++#if PERL_VERSION < 28 + static char * + setlocale_perl(int category, char *locale) + { +@@ -4226,5 +4231,6 @@ setlocale_perl(int category, char *locale) + + return RETVAL; + } ++#endif /* PERL_VERSION < 28 */ + + #endif /* WIN32 */ +diff --git a/src/pl/plperl/plperl.h b/src/pl/plperl/plperl.h +index 3748158a86d..0044983ed1b 100644 +--- a/src/pl/plperl/plperl.h ++++ b/src/pl/plperl/plperl.h +@@ -51,11 +51,11 @@ + */ + #ifdef _MSC_VER + #define __inline__ inline ++#define __builtin_expect(a, b) (a == b) + #ifdef isnan + #undef isnan + #endif + #endif +- + /* + * Regarding bool, both PostgreSQL and Perl might use stdbool.h or not, + * depending on configuration. If both agree, things are relatively harmless. diff --git a/patches/uuid/oosp_uuid.patch b/patches/uuid/oosp_uuid.patch new file mode 100644 index 0000000..f08a968 --- /dev/null +++ b/patches/uuid/oosp_uuid.patch @@ -0,0 +1,66 @@ +diff --git a/example/example.vcxproj b/example/example.vcxproj +index 66d5a2a..4c1d0cf 100644 +--- a/example/example.vcxproj ++++ b/example/example.vcxproj +@@ -41,7 +41,7 @@ + + Level3 + Disabled +- MultiThreadedDebug ++ MultiThreadedDebugDLL + $(SolutionDir)\include + + +@@ -56,7 +56,7 @@ + MaxSpeed + true + true +- MultiThreaded ++ MultiThreadedDLL + $(SolutionDir)\include + + +diff --git a/ossp_uuid/ossp_uuid.vcxproj b/ossp_uuid/ossp_uuid.vcxproj +index 357f009..36babd7 100644 +--- a/ossp_uuid/ossp_uuid.vcxproj ++++ b/ossp_uuid/ossp_uuid.vcxproj +@@ -41,7 +41,7 @@ + + Level3 + Disabled +- MultiThreadedDebug ++ MultiThreadedDebugDLL + + + true +@@ -53,7 +53,7 @@ + MaxSpeed + true + true +- MultiThreaded ++ MultiThreadedDLL + + + true +diff --git a/uuid_cli/uuid_cli.vcxproj b/uuid_cli/uuid_cli.vcxproj +index 3c3c29a..18c12dd 100644 +--- a/uuid_cli/uuid_cli.vcxproj ++++ b/uuid_cli/uuid_cli.vcxproj +@@ -42,7 +42,7 @@ + Level3 + Disabled + $(SolutionDir)\ossp_uuid +- MultiThreadedDebug ++ MultiThreadedDebugDLL + + + true +@@ -57,7 +57,7 @@ + true + true + $(SolutionDir)\ossp_uuid +- MultiThreaded ++ MultiThreadedDLL + + + true diff --git a/patches/wineditline/clipboard_paste.patch b/patches/wineditline/clipboard_paste.patch new file mode 100644 index 0000000..613c77c --- /dev/null +++ b/patches/wineditline/clipboard_paste.patch @@ -0,0 +1,20 @@ +diff --git a/src/editline.c b/src/editline.c +index 27b3c80..008b234 100644 +--- a/src/editline.c ++++ b/src/editline.c +@@ -1113,7 +1113,14 @@ char *readline(const char *prompt) + return NULL; + } + if (count) { +- if ((irBuffer.EventType == KEY_EVENT) && irBuffer.Event.KeyEvent.bKeyDown) { ++ if ((irBuffer.EventType == KEY_EVENT) /* && irBuffer.Event.KeyEvent.bKeyDown */) { ++ if (!irBuffer.Event.KeyEvent.bKeyDown && irBuffer.Event.KeyEvent.wVirtualKeyCode != VK_MENU) { ++ if (!ReadConsoleInput(_el_h_in, &irBuffer, 1, &count)) { ++ _el_clean_exit(); ++ return NULL; ++ } ++ continue; ++ } + /* + the user pressed a key + */ diff --git a/patches/wxWidgets/wxWidgets-3.0.2-msvc2015.patch b/patches/wxWidgets/wxWidgets-3.0.2-MSVC2015.patch similarity index 100% rename from patches/wxWidgets/wxWidgets-3.0.2-msvc2015.patch rename to patches/wxWidgets/wxWidgets-3.0.2-MSVC2015.patch