From fe504e28d23b95e55c89c5c384d748fb52a5caec Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Sun, 20 Mar 2016 22:16:35 +0300 Subject: [PATCH 001/299] Added modifications neccessary to link postgres with winlibedit and less as pager. Use postgres from PGPRO_winedit branch --- build/helpers/dependencies.cmd | 44 ++++++++++++++++++++++++++++++++++ build/helpers/postgres.cmd | 7 +++++- build/helpers/setvars.cmd | 1 + 3 files changed, 51 insertions(+), 1 deletion(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 39efb08..f976cb4 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -10,6 +10,50 @@ rm -rf %DEPENDENCIES_SRC_DIR% MKDIR %DEPENDENCIES_SRC_DIR% MKDIR %DOWNLOADS_DIR% +: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% +wget --no-check-certificate -c http://netcologne.dl.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip + +CD /D %DEPENDENCIES_SRC_DIR% +7z x %DOWNLOADS_DIR%\wineditline-%EDITLINE_VER%.zip +CD /D wineditline-%EDITLINE_VER%\src +CL -I. -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% diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 99671e9..07b77f9 100644 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -62,10 +62,14 @@ 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' +>>src\tools\msvc\config.pl ECHO icu ^=^> '%DEPENDENCIES_BIN_DIR%\icu, +>>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 -X" + IF %ONE_C% == YES ( mv -v contrib\fulleq\fulleq.sql.in.in contrib\fulleq\fulleq.sql.in || GOTO :ERROR ) @@ -94,6 +98,7 @@ cp -va %DEPENDENCIES_BIN_DIR%/libxslt/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGV 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%/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 diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 9ca910d..ee4a55d 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -7,6 +7,7 @@ SET OPENSSL_VER=1.0.2g SET GETTEXT_VER=0.19.4 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 +SET EDITLINE_VER=2.101 REM Path vars SET PERL32_PATH=C:\Perl From d2ee7520a66f24d188fe27aefa188ecdcd81cf11 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Mon, 21 Mar 2016 13:07:59 +0300 Subject: [PATCH 002/299] Fix typo --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 build/helpers/postgres.cmd diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd old mode 100644 new mode 100755 index 07b77f9..5214ace --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -62,7 +62,7 @@ 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, +>>src\tools\msvc\config.pl ECHO icu ^=^> '%DEPENDENCIES_BIN_DIR%\icu', >>src\tools\msvc\config.pl ECHO libedit ^=^> '%DEPENDENCIES_BIN_DIR%\wineditline' >>src\tools\msvc\config.pl ECHO ^}; >>src\tools\msvc\config.pl ECHO 1^; From 41d213b513822b8572fb8b5c9a1382241162e2aa Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Fri, 25 Mar 2016 15:21:27 +0300 Subject: [PATCH 003/299] Add downloading and packaging of correct redistributables, set PATH to access iconv and libintl dlls during installation, avoid copiing ICU libraries into build directory --- build/helpers/postgres.cmd | 17 ++++++++--------- build/helpers/postgres_installer.cmd | 13 ++++++++++++- nsis/postgresql.nsi | 6 +++--- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 5214ace..b141f86 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -72,11 +72,11 @@ rem Setting pager IF %ONE_C% == YES ( mv -v contrib\fulleq\fulleq.sql.in.in contrib\fulleq\fulleq.sql.in || GOTO :ERROR -) - -cp -va %DEPENDENCIES_BIN_DIR%/icu/include/* src\include\ || GOTO :ERROR -cp -va %DEPENDENCIES_BIN_DIR%/icu/lib/* . || 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 +) 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 @@ -84,13 +84,12 @@ rm -rf %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql MKDIR %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql CD %BUILD_DIR%\postgresql\*%PGVER%*\src\tools\msvc -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 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 install.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql || GOTO :ERROR +rem now actually copy DLLs of dependencies into our bindir cp -va %DEPENDENCIES_BIN_DIR%/libintl/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || 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 diff --git a/build/helpers/postgres_installer.cmd b/build/helpers/postgres_installer.cmd index 23bd390..fd5e1bd 100644 --- a/build/helpers/postgres_installer.cmd +++ b/build/helpers/postgres_installer.cmd @@ -11,9 +11,20 @@ REM 6. 7z for making ZIP files REM Download VC Redistibutable packages TITLE Downloading VC Redistibutable packages MKDIR "c:\pg\vcredist" - +IF %REDIST_YEAR% == 2010 ( 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 +) + +IF %REDIST_YEAR% == 2013 ( +wget -c https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x86.exe -O "c:\pg\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 "c:\pg\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 "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 +) REM Make directory for installers MKDIR "c:\pg\installers" diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 7706185..b018cc6 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -165,9 +165,9 @@ Page custom nsDialogOptimization nsDialogsOptimizationPageLeave Section "Microsoft Visual C++ 2010 Redistibutable" secMS GetTempFileName $1 !ifdef PG_64bit - File /oname=$1 "c:\pg\vcredist\vcredist_x64_2010.exe" + File /oname=$1 "c:\pg\vcredist\vcredist_x64_${REDIST_YEAR}.exe" !else - File /oname=$1 "c:\pg\vcredist\vcredist_x86_2010.exe" + File /oname=$1 "c:\pg\vcredist\vcredist_x86_${REDIST_YEAR}.exe" !endif ExecWait "$1 /passive /norestart" $0 DetailPrint "Visual C++ Redistributable Packages return $0" @@ -237,7 +237,7 @@ Section $(PostgreSQLString) sec1 ClearErrors 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$\nPATH $INSTDIR\bin;%PATH%$\r$\npsql.exe -h localhost -U "$UserName_text" -d postgres -p $TextPort_text $\r$\npause' FileClose $0 creatBatErr2: From 11f673c95396172ffb7ddd3a50acabd1756a6e45 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Sun, 27 Mar 2016 19:41:22 +0300 Subject: [PATCH 004/299] Fixes for correctly support MSVC 2013 and postgrespro --- build/helpers/pgadmin.cmd | 4 ++-- build/helpers/postgres.cmd | 11 +++++++---- nsis/postgresql.nsi | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/build/helpers/pgadmin.cmd b/build/helpers/pgadmin.cmd index 7172a4c..8eeab6f 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 diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index b141f86..4e43fe7 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -14,11 +14,11 @@ IF EXIST %DOWNLOADS_DIR%\%DEPS_ZIP% ( :BUILD_POSTGRESQL TITLE Building PostgreSQL... CD /D %DOWNLOADS_DIR% -wget --no-check-certificate %PGURL% -O postgresql-%PGVER%.tar.bz2 || GOTO :ERROR +rem 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%* +tar xf postgres*-%PGVER%.tar.bz2 -C %BUILD_DIR%\postgresql || GOTO :ERROR +CD /D %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR IF %ONE_C% == YES ( cp -va %ROOT%/patches/postgresql/%PGVER%/series.for1c . @@ -87,7 +87,7 @@ CD %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 +PATH %PATH%;%DEPENDENCIES_BIN_DIR%\libintl\lib;%DEPENDENCIES_BIN_DIR%\iconv\lib perl install.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql || GOTO :ERROR rem now actually copy DLLs of dependencies into our bindir cp -va %DEPENDENCIES_BIN_DIR%/libintl/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR @@ -95,8 +95,11 @@ cp -va %DEPENDENCIES_BIN_DIR%/iconv/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGV 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%/openssl/lib/VC/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 cp -va %DEPENDENCIES_BIN_DIR%/icu/bin/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +REM Copy needed executables +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 diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index b018cc6..c33f95d 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -162,7 +162,7 @@ Page custom nsDialogOptimization nsDialogsOptimizationPageLeave ;-------------------------------- ;Installer Sections -Section "Microsoft Visual C++ 2010 Redistibutable" secMS +Section "Microsoft Visual C++ ${REDIST_YEAR} Redistibutable" secMS GetTempFileName $1 !ifdef PG_64bit File /oname=$1 "c:\pg\vcredist\vcredist_x64_${REDIST_YEAR}.exe" From 29b26851f7fa47dcd168bd0ae567568eeec39d0e Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Tue, 17 May 2016 13:49:17 +0300 Subject: [PATCH 005/299] PostgresPro 9.5.3.1 --- build/helpers/dependencies.cmd | 2 +- build/helpers/pgadmin.cmd | 4 +- build/helpers/postgres.cmd | 24 ++++++++++-- build/helpers/postgres_installer.cmd | 2 - build/helpers/postgres_nsis_installer.cmd | 5 ++- build/helpers/setvars.cmd | 2 +- build/run.cmd | 2 +- nsis/Plugins/nsisFirewall.dll | Bin 0 -> 8192 bytes nsis/pgadmin.nsi | 6 +-- nsis/postgresql.nsi | 45 +++++++++++++++++++--- 10 files changed, 70 insertions(+), 22 deletions(-) create mode 100644 nsis/Plugins/nsisFirewall.dll diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index f976cb4..98cea33 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -33,7 +33,7 @@ cp -va *.exe %DEPENDENCIES_BIN_DIR%\less :BUILD_WINLIBEDIT TITLE Build winlibedit CD /D %DOWNLOADS_DIR% -wget --no-check-certificate -c http://netcologne.dl.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip +wget --no-check-certificate -c http://downloads.dl.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip CD /D %DEPENDENCIES_SRC_DIR% 7z x %DOWNLOADS_DIR%\wineditline-%EDITLINE_VER%.zip diff --git a/build/helpers/pgadmin.cmd b/build/helpers/pgadmin.cmd index 8eeab6f..98d16f1 100644 --- a/build/helpers/pgadmin.cmd +++ b/build/helpers/pgadmin.cmd @@ -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 diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 4e43fe7..c74444b 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -85,6 +85,7 @@ MKDIR %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql CD %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 @@ -111,9 +112,25 @@ cp -va %DEPENDENCIES_BIN_DIR%/openssl/include/* %BUILD_DIR%\distr_%ARCH%_%PGVER 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 msys shell and sed +CD %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin +7z x %DOWNLOADS_DIR%\min_msys_%ARCH%.zip +rem CD %BUILD_DIR%\postgresql\*%PGVER%*\doc\src\sgml +rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc +rem building help files +CD %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 @@ -125,4 +142,3 @@ EXIT /b %errorlevel% :DONE ECHO Done. -PAUSE diff --git a/build/helpers/postgres_installer.cmd b/build/helpers/postgres_installer.cmd index fd5e1bd..22775b3 100644 --- a/build/helpers/postgres_installer.cmd +++ b/build/helpers/postgres_installer.cmd @@ -36,9 +36,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 index 3ee8220..eee4244 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -21,7 +21,7 @@ IF %ONE_C% == YES ( SET PRODUCT_DIR_REGKEY="Software\Postgres Professional\${PRODUCT_NAME}\${PRODUCT_VERSION}" SET PRODUCT_VERSION="%PG_MAJOR_VERSION%" ) ELSE ( - SET PRODUCT_NAME=PostgreSQL + SET PRODUCT_NAME=PostgresPro 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%" @@ -58,6 +58,8 @@ 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 !addplugindir Plugins + IF "%ARCH%" == "X64" ( >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG_64bit ) @@ -75,4 +77,3 @@ EXIT /b %errorlevel% :DONE ECHO Done. -PAUSE diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index ee4a55d..16a2585 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -3,7 +3,7 @@ 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 OPENSSL_VER=1.0.2h SET GETTEXT_VER=0.19.4 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 diff --git a/build/run.cmd b/build/run.cmd index d2284d4..fae400a 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -35,7 +35,7 @@ IF DEFINED USG ( 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_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=3.1 REM Set PgAdmin3 Version SET PGADMIN_VERSION=1.22.1 diff --git a/nsis/Plugins/nsisFirewall.dll b/nsis/Plugins/nsisFirewall.dll new file mode 100644 index 0000000000000000000000000000000000000000..69f6d1e3d93068a5e445180ff628c289d6a3d303 GIT binary patch literal 8192 zcmeHM4RBM}mAneYUz};G!1QlbT-}64c$q*PMY1-V#?3P$&z$8LlfFHyWXAWSi_hN0g`p{ z_B&S+QJKK(%>GPgC)ab|x%a#0oO{l>=id9C?7VL;%VmsdQB{?(2~a9_{=E6)Du#JF6+2@A&5Z_cf*Tpzdz0ZZ z$ulBh{G&oV$UgG(niFWF7#Z7M7IybZeT*GKIJoZu=yKGoVn>>krP!F8Y&D^h^S7gB z6+2^zvalx*>St^djRW9wQf#w|ow0kex}P@x4XKBi?Ji%EMu4RZ=oJ!m=BPteZ z&s$ZPzNmT=&CyCoQQRSj%D=!$dA@oR2J>iWLwZOjD&M6cayVbZNPN%@qL2Qco` zDKR)2cM8g*oX#i@fyPE>5G*CgAw}_ms)k)yMAd40szE(3Z}C$(Tb~y5}7T4&=9`lOP$}wh-HvRF+~6+ho@2 z@1&@2qZPyIAAk&Br*pJUAvlp*%p7GmmO1X6Zh=R)WZcYEf*hS8^cAEPcV4S>aa15Q znn4#S_WYe3`U$q!XkR9=SP@$vbOsC|^TIi7*`EU0RC zw-|TK`;H(7Mb!|%B1MnufQU*i96Oz!i+sHCTwK4H($Cu!c-~O&Pr-g4my2DZyo8-3=k-h;B&S^C3F&jPY5cOZI^L)iRjE{`8U)IwLhf^( zE2dEmS^(C>T<(CTtLK=OAw@Bf1XU@rWtfV zxzRF<13KjaG`rGGIo3qfxuC}K z#uJD~5$sm}4B3rLkWXZG&S~g`BDn~Xf+9mKx|a1!${NHfop-cy|Gf}Iu~0k&(1gi4 zWmuHae%YZfmKx&@z34lN)IsPFHMpP}#!}I&C&(b7BVQd?cVQ{?E+3tAqAaM(Nrd++cRXZ#X*~$MOnMua=!`q@-ZVY3#i5L@Y0&uWl$6 zr1To)(SAHZi%qeLe@*CA4aGbbkZyyKg&1 z>p?BJ^IghjV(Xcln4-*Cjt(x2i}I+z^F@`kaz15>TqL^G79);+9gnU{K;O8N5N zD`8btvriC8n~7;s__xTYng+0OBIc@+OXveV(RKt@Dk5x z9ckW6H18J7i*p^^+XQREb~ff%kaFbQlpCdgD0~dU<8Q-}SCpUNK%or)RbNhD9^?yB zqlMyuAjX{wa$XB85V`5oG{2~Po#uB4vU8y)CfrD(giFk)B%J?s3CbJHvGRI}0Y(|4 z3?po58*z5>WlKo)vJmgkwfY#&5>Z`-W5PY0BOTZhfk>+nEtuV)3C&m-vFlRkn~Ll@UH ziWj7IEG9oCMg`ixlKjcMecT)9kqXCP8%v*bTH4e6 zep2e7=Q4J@hPLN3=ya#{ds>^^q>XLW%66O;q*fSDq?BeWN}bw`LT0+maVkHkRAB`!h~wW`E47Fna)WB0(}ETt5!1Sb z*{y^p-d8hxRn;8>mN6pG6%* z9Y8&X`bE?U)Jjw;i!po(74KYQ*i>VL9U{F{z%zyROQ;2Cp98&+9y^2R{@`||zYQ)I ztYms4ay})5j7Q0|p8;Q{O%xk~O6DVNhFTaR*`4C!H*JHtzqWQ8ns@W!Uq%CMdKsa*#n3d(svYkGknk7gztD3->IAMoz3E#zX@Lwd}Kr> zw=%vF_?O5%8YA1UrghAuvD}Wt-eyN#M|)=OEv&b< zeq^K(KXZGU`hxC&Ck*+`o2~Zlx-PM<%YGkYOVPKWkM0)g*D(@l_k}|{9V7joA;}-Y ztVQ55OAifsdi_Cf$ZqebbJ)AU?QC<^x3;Gu(39ikQC+G5lV3u}2HCfB2K#sr*#Xwu z=N^a*OTAvV|3St&U>gD#3VKHT5_?S3n{It2#~BGo{(ByhJnf-QzuQyq>kG5L;j0ty zU~yP$PIIU~vxHeWnE8$Te%uALFX-&x=NbAUY8UFdTX0^W4x;@SDscvf{lks^uxBSM z<(|~J-E|Sk7Ybv!+;u}k0e^oV4@0YGF!Z43lgCKcr{#Y$0+sk+xsm>-)AwW9<~mnz ze`v7RL;Kxs&+vb6@4x-x*T=Rt9M=3t57Uf^O>8UkFp1SOFMEKMu|~ENnI8e-V<8r1 ze)cfN-N1(M7eK$C^M#hvr<% z?Uv75bk^0@3Tv&^VSU8<4eLScPpm(;{>J*2^np{|-pZYok5#^2$u<}^Y~JAAuy?~N z8-Bk*sQOaXXw~yob5$#=o2uKYd#gRwk5@lm{bKdG>fVi`8{gQN+^Ds!v$fi~Y+hT? zCfUAj+hf~jJ7oJ)+Y#H(Z7HrhTUUrl(EMm?lh9rgNrglVW1#Vsoi^ow>?vH{Wk| zn*(Oayvw}XyvO{U`33XK=2PY~=A`+OdBLo;=q$yS5=*JYZfUl(Tee$vSsu4MYdLC} nvYfSCvMgBi))H%}^=>OO(XE1ib(xGNyhDCkK8?U1T?GCUm Date: Fri, 20 May 2016 17:45:37 +0300 Subject: [PATCH 006/299] Create more robust pgpro_upgrade.cmd --- nsis/postgresql.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 7e70b0d..419f848 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -268,7 +268,7 @@ Section $(PostgreSQLString) sec1 ClearErrors FileOpen $0 $INSTDIR\scripts\pgpro_upgrade.cmd w IfErrors creatBatErr6 - FileWrite $0 '@echo off$\r$\nset dd=%1$\r\$\nset PGDATA=%dd:"=%$\r$\nPATH $INSTDIR\bin;%PATH%$\r$\nsh.exe "$INSTDIR\bin\pgpro_upgrade"$\r$\n' + FileWrite $0 '@echo off$\r$\nif "%PGDATA%"=="" set PGDATA=%~1$\r$\nif "%PGDATA%"=="" set PGDATA=$DATA_DIR$\r$\nPATH $INSTDIR\bin;%PATH%$\r$\nsh.exe "$INSTDIR\bin\pgpro_upgrade"$\r$\n' FileClose $0 creatBatErr6: From 0ce6af38dd114e035e856fdb8d31d0f2a0f4ae47 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Wed, 25 May 2016 18:34:01 +0300 Subject: [PATCH 007/299] Set minor version to 3.2 --- build/run.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/run.cmd b/build/run.cmd index fae400a..3766274 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -35,7 +35,7 @@ IF DEFINED USG ( REM Set PostgreSQL version IF "%PG_MAJOR_VERSION%"=="" SET PG_MAJOR_VERSION=9.5 -IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=3.1 +IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=3.2 REM Set PgAdmin3 Version SET PGADMIN_VERSION=1.22.1 From ef2640fad956908bce823b8c7666367579088e3b Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 9 Jun 2016 11:58:06 +0300 Subject: [PATCH 008/299] Relocatable installer --- build/helpers/make_zip.cmd | 6 +++--- build/helpers/pgadmin.cmd | 4 ++-- build/helpers/pgadmin_installer.cmd | 8 ++++---- build/helpers/postgres_installer.cmd | 16 ++++++++-------- build/helpers/setvars.cmd | 2 +- nsis/pgadmin.nsi | 6 +++--- nsis/postgresql.nsi | 6 +++--- 7 files changed, 24 insertions(+), 24 deletions(-) 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 98d16f1..3bae4cc 100644 --- a/build/helpers/pgadmin.cmd +++ b/build/helpers/pgadmin.cmd @@ -101,8 +101,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 diff --git a/build/helpers/pgadmin_installer.cmd b/build/helpers/pgadmin_installer.cmd index e06ba83..aafdea6 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 diff --git a/build/helpers/postgres_installer.cmd b/build/helpers/postgres_installer.cmd index 22775b3..f288fad 100644 --- a/build/helpers/postgres_installer.cmd +++ b/build/helpers/postgres_installer.cmd @@ -10,24 +10,24 @@ 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" IF %REDIST_YEAR% == 2010 ( -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 +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 "c:\pg\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 "c:\pg\vcredist\vcredist_x64_2013.exe" || GOTO :ERROR +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 "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\postgres_nsis_installer.cmd || GOTO :ERROR diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 16a2585..52b603d 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -64,7 +64,7 @@ SET PGVER=%PG_DEF_VERSION% IF "%PGURL%"=="" SET PGURL="https://ftp.postgresql.org/pub/source/v%PGVER%/postgresql-%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 diff --git a/nsis/pgadmin.nsi b/nsis/pgadmin.nsi index 1c64bca..6e6a71d 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}" @@ -87,9 +87,9 @@ Var StartMenuFolder Section "Microsoft Visual C++ $REDIST_YEAR Redistibutable" secMS GetTempFileName $1 !ifdef PG_64bit - File /oname=$1 "c:\pg\vcredist\vcredist_x64_${REDIST_YEAR}.exe" + File /oname=$1 "${BUILD_DIR}\vcredist\vcredist_x64_${REDIST_YEAR}.exe" !else - File /oname=$1 "c:\pg\vcredist\vcredist_x86_${REDIST_YEAR}.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" diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 419f848..cf35b34 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -25,7 +25,7 @@ ;-------------------------------- ;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}" @@ -166,9 +166,9 @@ Page custom nsDialogOptimization nsDialogsOptimizationPageLeave Section "Microsoft Visual C++ ${REDIST_YEAR} Redistibutable" secMS GetTempFileName $1 !ifdef PG_64bit - File /oname=$1 "c:\pg\vcredist\vcredist_x64_${REDIST_YEAR}.exe" + File /oname=$1 "${BUILD_DIR}\vcredist\vcredist_x64_${REDIST_YEAR}.exe" !else - File /oname=$1 "c:\pg\vcredist\vcredist_x86_${REDIST_YEAR}.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" From 315e25e83c200ad1f3cfc5e7b19b189e9dee94cc Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 9 Jun 2016 13:08:05 +0300 Subject: [PATCH 009/299] Remove pause for non-interactive work. --- build/helpers/dependencies.cmd | 2 -- build/helpers/pgadmin.cmd | 2 -- build/helpers/pgadmin_installer.cmd | 2 -- build/helpers/pgadmin_nsis_installer.cmd | 2 -- build/helpers/pgbouncer.cmd | 2 -- build/helpers/postgres.cmd | 1 - build/helpers/postgres_nsis_installer.cmd | 1 - build/run.cmd | 1 - 8 files changed, 13 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 98cea33..fb8df12 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -248,9 +248,7 @@ GOTO :DONE :ERROR ECHO Failed with error #%errorlevel%. -PAUSE EXIT /b %errorlevel% :DONE ECHO Done. -PAUSE diff --git a/build/helpers/pgadmin.cmd b/build/helpers/pgadmin.cmd index 3bae4cc..626bced 100644 --- a/build/helpers/pgadmin.cmd +++ b/build/helpers/pgadmin.cmd @@ -110,9 +110,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 aafdea6..dbb982d 100644 --- a/build/helpers/pgadmin_installer.cmd +++ b/build/helpers/pgadmin_installer.cmd @@ -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..e81eb5a 100644 --- a/build/helpers/pgadmin_nsis_installer.cmd +++ b/build/helpers/pgadmin_nsis_installer.cmd @@ -42,9 +42,7 @@ 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/postgres.cmd b/build/helpers/postgres.cmd index c74444b..97028f5 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -137,7 +137,6 @@ GOTO :DONE :ERROR ECHO Failed with error #%errorlevel%. -PAUSE EXIT /b %errorlevel% :DONE diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index eee4244..fff70f8 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -72,7 +72,6 @@ GOTO :DONE :ERROR ECHO Failed with error #%errorlevel%. -PAUSE EXIT /b %errorlevel% :DONE diff --git a/build/run.cmd b/build/run.cmd index 3766274..5aade99 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -27,7 +27,6 @@ IF DEFINED USG ( ECHO 5: Build installer PgAdmin3 ECHO 6: Make PostgreSQL and PgAdmin3 archives ECHO 7: Build pgbouncer - PAUSE EXIT /b 1 ) From aea449f65ac48ff58dae69ad1bcb21da442a8df0 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 9 Jun 2016 13:18:30 +0300 Subject: [PATCH 010/299] Remove specific disk configuration --- build/helpers/dependencies.cmd | 64 +++++++++++++++++----------------- build/helpers/pgadmin.cmd | 8 ++--- build/helpers/postgres.cmd | 4 +-- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index fb8df12..432db78 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -12,14 +12,14 @@ MKDIR %DOWNLOADS_DIR% :BUILD_LESS TITLE "Building less" -CD /D %DOWNLOADS_DIR% +CD %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% +CD %DEPENDENCIES_SRC_DIR% 7z x %DOWNLOADS_DIR%\less.zip -CD /D %DEPENDENCIES_SRC_DIR%\less-master +CD %DEPENDENCIES_SRC_DIR%\less-master IF %ARCH% == X86 ( nmake -f Makefile.wnm || GOTO :ERROR ) ELSE ( @@ -32,12 +32,12 @@ cp -va *.exe %DEPENDENCIES_BIN_DIR%\less :BUILD_WINLIBEDIT TITLE Build winlibedit -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% wget --no-check-certificate -c http://downloads.dl.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip -CD /D %DEPENDENCIES_SRC_DIR% +CD %DEPENDENCIES_SRC_DIR% 7z x %DOWNLOADS_DIR%\wineditline-%EDITLINE_VER%.zip -CD /D wineditline-%EDITLINE_VER%\src +CD wineditline-%EDITLINE_VER%\src CL -I. -c history.c editline.c fn_complete.c || goto :ERROR LIB /out:edit.lib *.obj || goto :ERROR MKDIR %DEPENDENCIES_BIN_DIR%\wineditline @@ -56,12 +56,12 @@ COPY editline\readline.h %DEPENDENCIES_BIN_DIR%\wineditline\include\editline :BUILD_ICONV TITLE Building iconv... -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% wget --no-check-certificate -c http://ftp.gnu.org/gnu/libiconv/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%* +CD %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 @@ -75,18 +75,18 @@ cp -av Release*/libiconv.dll %DEPENDENCIES_BIN_DIR%\iconv\lib\iconv.dll || GOTO 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 lib %DEPENDENCIES_BIN_DIR%\iconv\libiconv || GOTO :ERROR -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\iconv :BUILD_ZLIB TITLE Building zlib... -CD /D %DOWNLOADS_DIR% +CD %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 -CD /D %DEPENDENCIES_SRC_DIR%\zlib* +CD %DEPENDENCIES_SRC_DIR%\zlib* set CL=/MP nmake -f win32/Makefile.msc || GOTO :ERROR MKDIR %DEPENDENCIES_BIN_DIR%\zlib\lib %DEPENDENCIES_BIN_DIR%\zlib\include @@ -94,18 +94,18 @@ cp -v *.lib %DEPENDENCIES_BIN_DIR%\zlib\lib || GOTO :ERROR cp -v *.dll %DEPENDENCIES_BIN_DIR%\zlib\lib || GOTO :ERROR cp -v *.pdb %DEPENDENCIES_BIN_DIR%\zlib\lib || GOTO :ERROR cp -v *.h %DEPENDENCIES_BIN_DIR%\zlib\include || GOTO :ERROR -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\zlib -y :BUILD_UUID TITLE Building uuid... -CD /D %DOWNLOADS_DIR% +CD %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 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 +CD %DEPENDENCIES_SRC_DIR%\ossp_uuid 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 @@ -116,18 +116,18 @@ 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 IF %ARCH% == X86 cp -av Release\ossp_uuid.lib %DEPENDENCIES_BIN_DIR%\uuid\lib\uuid.lib || GOTO :ERROR -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\uuid -y :BUILD_XML TITLE Building xml... -CD /D %DOWNLOADS_DIR% +CD %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- MKDIR %DEPENDENCIES_BIN_DIR%\libxml2 tar xf libxml2-%XML_VER%.tar.gz -C %DEPENDENCIES_SRC_DIR% || GOTO :ERROR -CD /D %DEPENDENCIES_SRC_DIR%\libxml2-*\win32 +CD %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 @@ -136,18 +136,18 @@ nmake /f Makefile.msvc install || 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 -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\libxml2 -y :BUILD_XSLT TITLE Building xslt... -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% wget -c ftp://xmlsoft.org/libxslt/libxslt-%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 -CD /D %DEPENDENCIES_SRC_DIR%\libxslt-*\win32 +CD %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 set CL=/MP @@ -156,18 +156,18 @@ nmake /f Makefile.msvc install || GOTO :ERROR cp -av bin %DEPENDENCIES_BIN_DIR%\libxslt || GOTO :ERROR cp -av lib %DEPENDENCIES_BIN_DIR%\libxslt || GOTO :ERROR cp -av include %DEPENDENCIES_BIN_DIR%\libxslt || GOTO :ERROR -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\libxslt -y :BUILD_OPENSSL TITLE Building OpenSSL... -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% wget --no-check-certificate -c https://www.openssl.org/source/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% -CD /D %DEPENDENCIES_SRC_DIR%\openssl-* +CD %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 @@ -182,18 +182,18 @@ 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 -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\openssl -y :BUILD_GETTEXT TITLE Building gettext... -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% wget --no-check-certificate -c http://ftp.gnu.org/gnu/gettext/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 -CD /D %DEPENDENCIES_SRC_DIR%\gettext-* +CD %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 @@ -204,31 +204,31 @@ cp -v Release*/*.lib %DEPENDENCIES_BIN_DIR%\libintl\lib || GOTO :ERROR cp -v libintl.h %DEPENDENCIES_BIN_DIR%\libintl\include\libintl.h || GOTO :ERROR MKDIR %DEPENDENCIES_BIN_DIR%\libintl\bin >%DEPENDENCIES_BIN_DIR%\libintl\bin\msgfmt.cmd ECHO msgfmt %%^* -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\libintl -y :BUILD_LIBSSH2 TITLE Building libssh2... -CD /D %DOWNLOADS_DIR% +CD %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-* 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 -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\libssh2 -y :BUILD_ICU TITLE Building icu... -CD /D %DOWNLOADS_DIR% +CD %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 +CD %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 IF %ARCH% == X64 ( @@ -239,7 +239,7 @@ IF %ARCH% == X64 ( cp -va %DEPENDENCIES_SRC_DIR%\icu\lib %DEPENDENCIES_BIN_DIR%\icu\lib || GOTO :ERROR ) cp -va %DEPENDENCIES_SRC_DIR%\icu\include %DEPENDENCIES_BIN_DIR%\icu\include || GOTO :ERROR -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\icu diff --git a/build/helpers/pgadmin.cmd b/build/helpers/pgadmin.cmd index 626bced..c47974a 100644 --- a/build/helpers/pgadmin.cmd +++ b/build/helpers/pgadmin.cmd @@ -20,12 +20,12 @@ IF EXIST %DOWNLOADS_DIR%\pgsql_%ARCH%_%PGVER%.zip ( :BUILD_WXWIDGETS TITLE Building wxWidgets... -CD /D %DOWNLOADS_DIR% +CD %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 -CD /D %DEPENDENCIES_SRC_DIR%\wxWidgets-* +CD %DEPENDENCIES_SRC_DIR%\wxWidgets-* cp -v %ROOT%/patches/wxWidgets/wxWidgets-%WXWIDGETS_VER%-%SDK%.patch wxWidgets.patch IF NOT EXIST wxWidgets.patch GOTO :DONE_WXWIDGETS_PATCH @@ -68,12 +68,12 @@ cp -va %DEPENDENCIES_SRC_DIR%/wxWidgets-3*/include %DEPENDENCIES_BIN_DIR%\wxwid :BUILD_PGADMIN TITLE Building PgAdmin3... -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% wget --no-check-certificate -c https://github.com/postgres/pgadmin3/archive/%PGADMIN_TAG%.zip -O pgadmin3-%PGADMIN_VERSION%.zip rm -rf %BUILD_DIR%\pgadmin MKDIR %BUILD_DIR%\pgadmin 7z x pgadmin3-%PGADMIN_VERSION%.zip -o%BUILD_DIR%\pgadmin -y -CD /D %BUILD_DIR%\pgadmin\pgadmin3-* +CD %BUILD_DIR%\pgadmin\pgadmin3-* SET OPENSSL=%DEPENDENCIES_BIN_DIR%\openssl SET WXWIN=%DEPENDENCIES_BIN_DIR%\wxwidgets SET PGBUILD=%DEPENDENCIES_BIN_DIR% diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 97028f5..12f34eb 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -13,12 +13,12 @@ IF EXIST %DOWNLOADS_DIR%\%DEPS_ZIP% ( :BUILD_POSTGRESQL TITLE Building PostgreSQL... -CD /D %DOWNLOADS_DIR% +CD %DOWNLOADS_DIR% rem wget --no-check-certificate %PGURL% -O postgresql-%PGVER%.tar.bz2 || GOTO :ERROR rm -rf %BUILD_DIR%\postgresql MKDIR %BUILD_DIR%\postgresql tar xf postgres*-%PGVER%.tar.bz2 -C %BUILD_DIR%\postgresql || GOTO :ERROR -CD /D %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR +CD %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR IF %ONE_C% == YES ( cp -va %ROOT%/patches/postgresql/%PGVER%/series.for1c . From 42516a1d8bacf7efdea9a57053e134d7b552e88f Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 9 Jun 2016 13:25:41 +0300 Subject: [PATCH 011/299] fix builddir slash --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 52b603d..4f2d1eb 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -64,7 +64,7 @@ SET PGVER=%PG_DEF_VERSION% IF "%PGURL%"=="" SET PGURL="https://ftp.postgresql.org/pub/source/v%PGVER%/postgresql-%PGVER%.tar.bz2" REM Set useful directories paths so they're used in scripts -SET BUILD_DIR=%ROOT%/builddir +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 From dcc32e8d7004375558838bc778bd238164e28b70 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 9 Jun 2016 13:44:30 +0300 Subject: [PATCH 012/299] change wineditline url --- build/helpers/dependencies.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 432db78..8c44482 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -33,8 +33,8 @@ cp -va *.exe %DEPENDENCIES_BIN_DIR%\less :BUILD_WINLIBEDIT TITLE Build winlibedit CD %DOWNLOADS_DIR% -wget --no-check-certificate -c http://downloads.dl.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip - +REM wget --no-check-certificate -c http://downloads.dl.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip +wget --no-check-certificate -c -O wineditline-%EDITLINE_VER%.zip http://downloads.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip?r= CD %DEPENDENCIES_SRC_DIR% 7z x %DOWNLOADS_DIR%\wineditline-%EDITLINE_VER%.zip CD wineditline-%EDITLINE_VER%\src From f10a919e30943ef2ef6f6f1b93b4b2d091c2042c Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 10 Jun 2016 16:12:56 +0300 Subject: [PATCH 013/299] Convert paths to unix format --- build/helpers/dependencies.cmd | 17 ++++++++--------- build/helpers/postgres.cmd | 4 ++-- build/helpers/setvars.cmd | 5 +++++ 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 8c44482..ecfd8e0 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -33,8 +33,7 @@ cp -va *.exe %DEPENDENCIES_BIN_DIR%\less :BUILD_WINLIBEDIT TITLE Build winlibedit CD %DOWNLOADS_DIR% -REM wget --no-check-certificate -c http://downloads.dl.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip -wget --no-check-certificate -c -O wineditline-%EDITLINE_VER%.zip http://downloads.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip?r= +wget --no-check-certificate -c http://downloads.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip CD %DEPENDENCIES_SRC_DIR% 7z x %DOWNLOADS_DIR%\wineditline-%EDITLINE_VER%.zip CD wineditline-%EDITLINE_VER%\src @@ -60,7 +59,7 @@ CD %DOWNLOADS_DIR% wget --no-check-certificate -c http://ftp.gnu.org/gnu/libiconv/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 +tar xf libiconv-%ICONV_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR CD %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 @@ -85,7 +84,7 @@ CD %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 +tar xf zlib-%ZLIB_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR CD %DEPENDENCIES_SRC_DIR%\zlib* set CL=/MP nmake -f win32/Makefile.msc || GOTO :ERROR @@ -126,7 +125,7 @@ CD %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- MKDIR %DEPENDENCIES_BIN_DIR%\libxml2 -tar xf libxml2-%XML_VER%.tar.gz -C %DEPENDENCIES_SRC_DIR% || GOTO :ERROR +tar xf libxml2-%XML_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR CD %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 @@ -146,7 +145,7 @@ CD %DOWNLOADS_DIR% wget -c ftp://xmlsoft.org/libxslt/libxslt-%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 CD %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 @@ -166,7 +165,7 @@ CD %DOWNLOADS_DIR% wget --no-check-certificate -c https://www.openssl.org/source/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 %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 @@ -192,7 +191,7 @@ CD %DOWNLOADS_DIR% wget --no-check-certificate -c http://ftp.gnu.org/gnu/gettext/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 %DEPENDENCIES_SRC_DIR%\gettext-* cp -v %ROOT%/patches/gettext/gettext-%GETTEXT_VER%-%SDK%.patch gettext.patch patch -f -p0 < gettext.patch || GOTO :ERROR @@ -214,7 +213,7 @@ CD %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-* MKDIR %DEPENDENCIES_BIN_DIR%\libssh2 -tar xf libssh2-%LIBSSH2_VER%.tar.gz -C %DEPENDENCIES_SRC_DIR% || GOTO :ERROR +tar xf libssh2-%LIBSSH2_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || 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 CD %DOWNLOADS_DIR% diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 12f34eb..cac9f17 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -14,10 +14,10 @@ IF EXIST %DOWNLOADS_DIR%\%DEPS_ZIP% ( :BUILD_POSTGRESQL TITLE Building PostgreSQL... CD %DOWNLOADS_DIR% -rem wget --no-check-certificate %PGURL% -O postgresql-%PGVER%.tar.bz2 || GOTO :ERROR +wget --no-check-certificate %PGURL% -O postgresql-%PGVER%.tar.bz2 || GOTO :ERROR rm -rf %BUILD_DIR%\postgresql MKDIR %BUILD_DIR%\postgresql -tar xf postgres*-%PGVER%.tar.bz2 -C %BUILD_DIR%\postgresql || GOTO :ERROR +tar xf postgres*-%PGVER%.tar.bz2 -C %BUILD_UDIR%/postgresql || GOTO :ERROR CD %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR IF %ONE_C% == YES ( diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 4f2d1eb..937ccb1 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -69,6 +69,11 @@ 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:\=/% + REM Magic to set root directory of those scripts (Where Readme.md lies) REM Let's use MP for nmake for parallel build From 8d6965c87291790393e4e0ac15ee473ccc098511 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 10 Jun 2016 17:07:12 +0300 Subject: [PATCH 014/299] Download windows help sources --- build/helpers/postgres.cmd | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index cac9f17..f075466 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -117,6 +117,12 @@ CD %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin 7z x %DOWNLOADS_DIR%\min_msys_%ARCH%.zip rem CD %BUILD_DIR%\postgresql\*%PGVER%*\doc\src\sgml rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc + +rem download help sources +CD %DOWNLOADS_DIR% +wget --no-check-certificate -c http://repo.postgrespro.ru/pgpro-9.5-beta/src/help-sources-en.zip || GOTO :ERROR +wget --no-check-certificate -c http://repo.postgrespro.ru/pgpro-9.5-beta/src/help-sources-ru.zip || GOTO :ERROR + rem building help files CD %BUILD_DIR%\postgresql mkdir help-ru From 0299a9df4cb8002b15062b8f08b9fdde35db16be Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 10 Jun 2016 17:57:41 +0300 Subject: [PATCH 015/299] Set pgpro url --- build/helpers/setvars.cmd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 937ccb1..0617a98 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -61,7 +61,8 @@ ECHO %PG_PATCH_VERSION% | grep "^[0-9]." > nul && ( ) SET PGVER=%PG_DEF_VERSION% -IF "%PGURL%"=="" SET PGURL="https://ftp.postgresql.org/pub/source/v%PGVER%/postgresql-%PGVER%.tar.bz2" +REM IF "%PGURL%"=="" SET PGURL="https://ftp.postgresql.org/pub/source/v%PGVER%/postgresql-%PGVER%.tar.bz2" +IF "%PGURL%"=="" SET PGURL="http://repo.postgrespro.ru/pgpro-9.5-beta/src/postgrespro-%PGVER%.tar.bz2" REM Set useful directories paths so they're used in scripts SET BUILD_DIR=%ROOT%\builddir From d97fee55fbbf201ee04c0e7f957a01bf60a89bf5 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 10 Jun 2016 18:52:01 +0300 Subject: [PATCH 016/299] Define BUILD_DIR for NSIS. --- build/helpers/postgres_nsis_installer.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index fff70f8..efc7ef5 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -58,6 +58,7 @@ 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 BUILD_DIR %BUILD_DIR% >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !addplugindir Plugins IF "%ARCH%" == "X64" ( From b9da62d2c864baa8620c64724806a9341e475021 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 10 Jun 2016 19:09:09 +0300 Subject: [PATCH 017/299] Use BUILD_DIR in postgres_nsis_installer --- build/helpers/postgres_nsis_installer.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index efc7ef5..7bf637d 100644 --- 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 ---------------------------------------------------------------------------- @@ -34,7 +34,7 @@ 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_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% From ca317cef62eda9f88cdcab414769620bd228be47 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 10 Jun 2016 19:37:39 +0300 Subject: [PATCH 018/299] Use UDIR for wxWidgets --- build/helpers/pgadmin.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/pgadmin.cmd b/build/helpers/pgadmin.cmd index c47974a..d5ab099 100644 --- a/build/helpers/pgadmin.cmd +++ b/build/helpers/pgadmin.cmd @@ -24,7 +24,7 @@ CD %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 %DEPENDENCIES_SRC_DIR%\wxWidgets-* cp -v %ROOT%/patches/wxWidgets/wxWidgets-%WXWIDGETS_VER%-%SDK%.patch wxWidgets.patch From cf525e915f92133a41b8d91d0eaca09b6fec682d Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 10 Jun 2016 20:02:18 +0300 Subject: [PATCH 019/299] Use BUILD_DIR for pgadmin installer --- build/helpers/pgadmin_nsis_installer.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/pgadmin_nsis_installer.cmd b/build/helpers/pgadmin_nsis_installer.cmd index e81eb5a..1ea8b54 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% From 1b23c4bd5d12808d821dbfb40ce1d182d4a4ab28 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 10 Jun 2016 20:04:04 +0300 Subject: [PATCH 020/299] Define BUILD_DIR for pgadmin installer --- build/helpers/pgadmin_nsis_installer.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/build/helpers/pgadmin_nsis_installer.cmd b/build/helpers/pgadmin_nsis_installer.cmd index 1ea8b54..a7b1afb 100644 --- a/build/helpers/pgadmin_nsis_installer.cmd +++ b/build/helpers/pgadmin_nsis_installer.cmd @@ -31,6 +31,7 @@ SET ADMIN_INS_SOURCE_DIR="%BUILD_DIR%\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 ) From b2b4f1800826f94ac3fb27cc8b56fb82696e916e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 14 Jun 2016 14:54:59 +0300 Subject: [PATCH 021/299] Patch gettext patches for use relational paths. --- build/helpers/dependencies.cmd | 2 +- patches/gettext/gettext-0.19.4-msvc2013.patch | 16 ++++++++-------- patches/gettext/gettext-0.19.4-msvc2015.patch | 16 ++++++++-------- patches/gettext/gettext-0.19.4-sdk71.patch | 16 ++++++++-------- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index ecfd8e0..9805af6 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -23,7 +23,7 @@ CD %DEPENDENCIES_SRC_DIR%\less-master IF %ARCH% == X86 ( nmake -f Makefile.wnm || GOTO :ERROR ) ELSE ( - nmake -f Makefile.wnm ARCH=%ARCH%|| GOTO :ERROR + nmake -f Makefile.wnm ARCH=%ARCH% || GOTO :ERROR ) MKDIR %DEPENDENCIES_BIN_DIR%\less cp -va *.exe %DEPENDENCIES_BIN_DIR%\less diff --git a/patches/gettext/gettext-0.19.4-msvc2013.patch b/patches/gettext/gettext-0.19.4-msvc2013.patch index 78d6924..9b6aef7 100644 --- a/patches/gettext/gettext-0.19.4-msvc2013.patch +++ b/patches/gettext/gettext-0.19.4-msvc2013.patch @@ -2725,7 +2725,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 +2737,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 +2751,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 +2761,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 +2779,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 +2791,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 +2809,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 +2819,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.4-msvc2015.patch index 78d6924..9b6aef7 100644 --- a/patches/gettext/gettext-0.19.4-msvc2015.patch +++ b/patches/gettext/gettext-0.19.4-msvc2015.patch @@ -2725,7 +2725,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 +2737,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 +2751,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 +2761,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 +2779,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 +2791,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 +2809,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 +2819,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.4-sdk71.patch index 78d6924..9b6aef7 100644 --- a/patches/gettext/gettext-0.19.4-sdk71.patch +++ b/patches/gettext/gettext-0.19.4-sdk71.patch @@ -2725,7 +2725,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 +2737,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 +2751,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 +2761,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 +2779,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 +2791,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 +2809,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 +2819,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 From bea9fb58274fb1e476d12bf0aa34a0afa47d2418 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 14 Jun 2016 15:06:19 +0300 Subject: [PATCH 022/299] Use BUILD_UDIR for pg nsis installer --- build/helpers/postgres_nsis_installer.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 7bf637d..833dbd2 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -34,7 +34,7 @@ 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="%BUILD_DIR%\distr_%ARCH%_%PG_DEF_VERSION%\postgresql\*.*" +SET PG_INS_SOURCE_DIR="%BUILD_UDIR%\distr_%ARCH%_%PG_DEF_VERSION%\postgresql\*.*" SET NSIS_RES_DIR=%~dp0 SET NSIS_RES_DIR=%NSIS_RES_DIR:~0,-1% From 8343162c7b16d790b5291f76fcf6e7c3df8b3264 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 14 Jun 2016 16:03:46 +0300 Subject: [PATCH 023/299] Revert "Use BUILD_UDIR for pg nsis installer" This reverts commit bea9fb58274fb1e476d12bf0aa34a0afa47d2418. --- build/helpers/postgres_nsis_installer.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 833dbd2..7bf637d 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -34,7 +34,7 @@ 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="%BUILD_UDIR%\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% From 8e4a9f8451b2cd5315f4ec1da04abe071e473e57 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 14 Jun 2016 16:16:42 +0300 Subject: [PATCH 024/299] revert nmake call --- build/helpers/dependencies.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 9805af6..0599293 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -23,7 +23,7 @@ CD %DEPENDENCIES_SRC_DIR%\less-master IF %ARCH% == X86 ( nmake -f Makefile.wnm || GOTO :ERROR ) ELSE ( - nmake -f Makefile.wnm ARCH=%ARCH% || GOTO :ERROR + nmake -f Makefile.wnm ARCH=%ARCH%|| GOTO :ERROR ) MKDIR %DEPENDENCIES_BIN_DIR%\less cp -va *.exe %DEPENDENCIES_BIN_DIR%\less From 431b032aa48c03392fc6bed0bca4cd867e09c864 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 15 Jun 2016 18:40:31 +0300 Subject: [PATCH 025/299] Revert CD /D option. --- build/helpers/dependencies.cmd | 64 +++++++++++------------ build/helpers/pgadmin.cmd | 8 +-- build/helpers/pgadmin_nsis_installer.cmd | 2 +- build/helpers/postgres.cmd | 14 ++--- build/helpers/postgres_nsis_installer.cmd | 2 +- 5 files changed, 45 insertions(+), 45 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 0599293..a07590f 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -12,14 +12,14 @@ MKDIR %DOWNLOADS_DIR% :BUILD_LESS TITLE "Building less" -CD %DOWNLOADS_DIR% +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 %DEPENDENCIES_SRC_DIR% +CD /D %DEPENDENCIES_SRC_DIR% 7z x %DOWNLOADS_DIR%\less.zip -CD %DEPENDENCIES_SRC_DIR%\less-master +CD /D %DEPENDENCIES_SRC_DIR%\less-master IF %ARCH% == X86 ( nmake -f Makefile.wnm || GOTO :ERROR ) ELSE ( @@ -32,11 +32,11 @@ cp -va *.exe %DEPENDENCIES_BIN_DIR%\less :BUILD_WINLIBEDIT TITLE Build winlibedit -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% wget --no-check-certificate -c http://downloads.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip -CD %DEPENDENCIES_SRC_DIR% +CD /D %DEPENDENCIES_SRC_DIR% 7z x %DOWNLOADS_DIR%\wineditline-%EDITLINE_VER%.zip -CD wineditline-%EDITLINE_VER%\src +CD /D wineditline-%EDITLINE_VER%\src CL -I. -c history.c editline.c fn_complete.c || goto :ERROR LIB /out:edit.lib *.obj || goto :ERROR MKDIR %DEPENDENCIES_BIN_DIR%\wineditline @@ -55,12 +55,12 @@ COPY editline\readline.h %DEPENDENCIES_BIN_DIR%\wineditline\include\editline :BUILD_ICONV TITLE Building iconv... -CD %DOWNLOADS_DIR% +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 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_UDIR% || GOTO :ERROR -CD %DEPENDENCIES_SRC_DIR%\libiconv-%ICONV_VER%* +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 @@ -74,18 +74,18 @@ cp -av Release*/libiconv.dll %DEPENDENCIES_BIN_DIR%\iconv\lib\iconv.dll || GOTO 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 lib %DEPENDENCIES_BIN_DIR%\iconv\libiconv || GOTO :ERROR -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\iconv :BUILD_ZLIB TITLE Building zlib... -CD %DOWNLOADS_DIR% +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_UDIR% || GOTO :ERROR -CD %DEPENDENCIES_SRC_DIR%\zlib* +CD /D %DEPENDENCIES_SRC_DIR%\zlib* set CL=/MP nmake -f win32/Makefile.msc || GOTO :ERROR MKDIR %DEPENDENCIES_BIN_DIR%\zlib\lib %DEPENDENCIES_BIN_DIR%\zlib\include @@ -93,18 +93,18 @@ cp -v *.lib %DEPENDENCIES_BIN_DIR%\zlib\lib || GOTO :ERROR cp -v *.dll %DEPENDENCIES_BIN_DIR%\zlib\lib || GOTO :ERROR cp -v *.pdb %DEPENDENCIES_BIN_DIR%\zlib\lib || GOTO :ERROR cp -v *.h %DEPENDENCIES_BIN_DIR%\zlib\include || GOTO :ERROR -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\zlib -y :BUILD_UUID TITLE Building uuid... -CD %DOWNLOADS_DIR% +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 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 %DEPENDENCIES_SRC_DIR%\ossp_uuid +CD /D %DEPENDENCIES_SRC_DIR%\ossp_uuid 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 @@ -115,18 +115,18 @@ 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 IF %ARCH% == X86 cp -av Release\ossp_uuid.lib %DEPENDENCIES_BIN_DIR%\uuid\lib\uuid.lib || GOTO :ERROR -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\uuid -y :BUILD_XML TITLE Building xml... -CD %DOWNLOADS_DIR% +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- MKDIR %DEPENDENCIES_BIN_DIR%\libxml2 tar xf libxml2-%XML_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || GOTO :ERROR -CD %DEPENDENCIES_SRC_DIR%\libxml2-*\win32 +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 @@ -135,18 +135,18 @@ nmake /f Makefile.msvc install || 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 -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\libxml2 -y :BUILD_XSLT TITLE Building xslt... -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% wget -c ftp://xmlsoft.org/libxslt/libxslt-%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_UDIR% || GOTO :ERROR -CD %DEPENDENCIES_SRC_DIR%\libxslt-*\win32 +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 set CL=/MP @@ -155,18 +155,18 @@ nmake /f Makefile.msvc install || GOTO :ERROR cp -av bin %DEPENDENCIES_BIN_DIR%\libxslt || GOTO :ERROR cp -av lib %DEPENDENCIES_BIN_DIR%\libxslt || GOTO :ERROR cp -av include %DEPENDENCIES_BIN_DIR%\libxslt || GOTO :ERROR -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\libxslt -y :BUILD_OPENSSL TITLE Building OpenSSL... -CD %DOWNLOADS_DIR% +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 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_UDIR% -CD %DEPENDENCIES_SRC_DIR%\openssl-* +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 @@ -181,18 +181,18 @@ 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 -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\openssl -y :BUILD_GETTEXT TITLE Building gettext... -CD %DOWNLOADS_DIR% +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 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_UDIR% || GOTO :ERROR -CD %DEPENDENCIES_SRC_DIR%\gettext-* +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 @@ -203,31 +203,31 @@ cp -v Release*/*.lib %DEPENDENCIES_BIN_DIR%\libintl\lib || GOTO :ERROR cp -v libintl.h %DEPENDENCIES_BIN_DIR%\libintl\include\libintl.h || GOTO :ERROR MKDIR %DEPENDENCIES_BIN_DIR%\libintl\bin >%DEPENDENCIES_BIN_DIR%\libintl\bin\msgfmt.cmd ECHO msgfmt %%^* -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\libintl -y :BUILD_LIBSSH2 TITLE Building libssh2... -CD %DOWNLOADS_DIR% +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-* MKDIR %DEPENDENCIES_BIN_DIR%\libssh2 tar xf libssh2-%LIBSSH2_VER%.tar.gz -C %DEPENDENCIES_SRC_UDIR% || 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 -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\libssh2 -y :BUILD_ICU TITLE Building icu... -CD %DOWNLOADS_DIR% +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 %DEPENDENCIES_SRC_DIR%\icu +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 IF %ARCH% == X64 ( @@ -238,7 +238,7 @@ IF %ARCH% == X64 ( cp -va %DEPENDENCIES_SRC_DIR%\icu\lib %DEPENDENCIES_BIN_DIR%\icu\lib || GOTO :ERROR ) cp -va %DEPENDENCIES_SRC_DIR%\icu\include %DEPENDENCIES_BIN_DIR%\icu\include || GOTO :ERROR -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\icu diff --git a/build/helpers/pgadmin.cmd b/build/helpers/pgadmin.cmd index d5ab099..7f526c5 100644 --- a/build/helpers/pgadmin.cmd +++ b/build/helpers/pgadmin.cmd @@ -20,12 +20,12 @@ IF EXIST %DOWNLOADS_DIR%\pgsql_%ARCH%_%PGVER%.zip ( :BUILD_WXWIDGETS TITLE Building wxWidgets... -CD %DOWNLOADS_DIR% +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_UDIR% || GOTO :ERROR -CD %DEPENDENCIES_SRC_DIR%\wxWidgets-* +CD /D %DEPENDENCIES_SRC_DIR%\wxWidgets-* cp -v %ROOT%/patches/wxWidgets/wxWidgets-%WXWIDGETS_VER%-%SDK%.patch wxWidgets.patch IF NOT EXIST wxWidgets.patch GOTO :DONE_WXWIDGETS_PATCH @@ -68,12 +68,12 @@ cp -va %DEPENDENCIES_SRC_DIR%/wxWidgets-3*/include %DEPENDENCIES_BIN_DIR%\wxwid :BUILD_PGADMIN TITLE Building PgAdmin3... -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% wget --no-check-certificate -c https://github.com/postgres/pgadmin3/archive/%PGADMIN_TAG%.zip -O pgadmin3-%PGADMIN_VERSION%.zip rm -rf %BUILD_DIR%\pgadmin MKDIR %BUILD_DIR%\pgadmin 7z x pgadmin3-%PGADMIN_VERSION%.zip -o%BUILD_DIR%\pgadmin -y -CD %BUILD_DIR%\pgadmin\pgadmin3-* +CD /D %BUILD_DIR%\pgadmin\pgadmin3-* SET OPENSSL=%DEPENDENCIES_BIN_DIR%\openssl SET WXWIN=%DEPENDENCIES_BIN_DIR%\wxwidgets SET PGBUILD=%DEPENDENCIES_BIN_DIR% diff --git a/build/helpers/pgadmin_nsis_installer.cmd b/build/helpers/pgadmin_nsis_installer.cmd index a7b1afb..3c253c8 100644 --- a/build/helpers/pgadmin_nsis_installer.cmd +++ b/build/helpers/pgadmin_nsis_installer.cmd @@ -36,7 +36,7 @@ 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 diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index f075466..0e4144a 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -13,12 +13,12 @@ IF EXIST %DOWNLOADS_DIR%\%DEPS_ZIP% ( :BUILD_POSTGRESQL TITLE Building PostgreSQL... -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% wget --no-check-certificate %PGURL% -O postgresql-%PGVER%.tar.bz2 || GOTO :ERROR rm -rf %BUILD_DIR%\postgresql MKDIR %BUILD_DIR%\postgresql tar xf postgres*-%PGVER%.tar.bz2 -C %BUILD_UDIR%/postgresql || GOTO :ERROR -CD %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR +CD /D %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR IF %ONE_C% == YES ( cp -va %ROOT%/patches/postgresql/%PGVER%/series.for1c . @@ -82,7 +82,7 @@ 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 @@ -113,18 +113,18 @@ cp -va %DEPENDENCIES_BIN_DIR%/zlib/include/* %BUILD_DIR%\distr_%ARCH%_%PGVER cp -va %DEPENDENCIES_BIN_DIR%/uuid/include/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\include || GOTO :ERROR rem Copy msys shell and sed -CD %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin +CD /D %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin 7z x %DOWNLOADS_DIR%\min_msys_%ARCH%.zip -rem CD %BUILD_DIR%\postgresql\*%PGVER%*\doc\src\sgml +rem CD /D %BUILD_DIR%\postgresql\*%PGVER%*\doc\src\sgml rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc rem download help sources -CD %DOWNLOADS_DIR% +CD /D %DOWNLOADS_DIR% wget --no-check-certificate -c http://repo.postgrespro.ru/pgpro-9.5-beta/src/help-sources-en.zip || GOTO :ERROR wget --no-check-certificate -c http://repo.postgrespro.ru/pgpro-9.5-beta/src/help-sources-ru.zip || GOTO :ERROR rem building help files -CD %BUILD_DIR%\postgresql +CD /D %BUILD_DIR%\postgresql mkdir help-ru mkdir help-en CD help-ru diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 7bf637d..7a6ca02 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -66,7 +66,7 @@ IF "%ARCH%" == "X64" ( ) -CD %NSIS_RES_DIR% || GOTO :ERROR +CD /D %NSIS_RES_DIR% || GOTO :ERROR makensis postgresql.nsi || GOTO :ERROR GOTO :DONE From 22392874442b5a24336f5171b6fee086cdc0330b Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Mon, 27 Jun 2016 14:45:31 +0300 Subject: [PATCH 026/299] Patch for SEH disabling --- patches/postgresql/9.5.3/perl522.patch | 29 ++++++++++++++++++++++++++ patches/postgresql/9.5.3/series | 1 + 2 files changed, 30 insertions(+) create mode 100644 patches/postgresql/9.5.3/perl522.patch create mode 100644 patches/postgresql/9.5.3/series 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..ab97ff2 --- /dev/null +++ b/patches/postgresql/9.5.3/series @@ -0,0 +1 @@ +perl522.patch From 2e9479c25e189bccf3b0151cede965ebc1a5fe2e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 27 Jun 2016 15:03:50 +0300 Subject: [PATCH 027/299] Add patch to 9.5.3 --- patches/postgresql/9.5.3/Mkvcbuild.pm.patch | 29 +++++++++++++++++++++ patches/postgresql/9.5.3/series | 1 + 2 files changed, 30 insertions(+) create mode 100644 patches/postgresql/9.5.3/Mkvcbuild.pm.patch create mode 100644 patches/postgresql/9.5.3/series diff --git a/patches/postgresql/9.5.3/Mkvcbuild.pm.patch b/patches/postgresql/9.5.3/Mkvcbuild.pm.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/9.5.3/Mkvcbuild.pm.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..04cc67c --- /dev/null +++ b/patches/postgresql/9.5.3/series @@ -0,0 +1 @@ +Mkvcbuild.pm.patch From bcccb4f21c993eb90056d577baf53a452a505f28 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 27 Jun 2016 17:14:20 +0300 Subject: [PATCH 028/299] Use PRODUCT_NAME variable --- build/helpers/postgres_nsis_installer.cmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 7a6ca02..677b5a9 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -21,7 +21,9 @@ IF %ONE_C% == YES ( SET PRODUCT_DIR_REGKEY="Software\Postgres Professional\${PRODUCT_NAME}\${PRODUCT_VERSION}" SET PRODUCT_VERSION="%PG_MAJOR_VERSION%" ) ELSE ( - SET PRODUCT_NAME=PostgresPro + IF "%PRODUCT_NAME%" == "" THEN ( + SET PRODUCT_NAME=PostgresPro + ) 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%" From b79633a2f6bec77ed3243c34df46335504b1e6ff Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 27 Jun 2016 18:07:23 +0300 Subject: [PATCH 029/299] Fix PRODUCT_NAME check --- build/helpers/postgres_nsis_installer.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 677b5a9..ec8bdf1 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -21,7 +21,7 @@ IF %ONE_C% == YES ( SET PRODUCT_DIR_REGKEY="Software\Postgres Professional\${PRODUCT_NAME}\${PRODUCT_VERSION}" SET PRODUCT_VERSION="%PG_MAJOR_VERSION%" ) ELSE ( - IF "%PRODUCT_NAME%" == "" THEN ( + IF "%PRODUCT_NAME%" == "" ( SET PRODUCT_NAME=PostgresPro ) SET PG_DEF_SERVICEID="postgresql-%ARCH%-%PG_MAJOR_VERSION%" From b5332094b1868dff4f0c389ef45f94dbca757d54 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 28 Jun 2016 13:40:57 +0300 Subject: [PATCH 030/299] Update default PG version --- build/run.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/run.cmd b/build/run.cmd index 5aade99..be4ce44 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -34,7 +34,7 @@ IF DEFINED USG ( REM Set PostgreSQL version IF "%PG_MAJOR_VERSION%"=="" SET PG_MAJOR_VERSION=9.5 -IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=3.2 +IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=3.3 REM Set PgAdmin3 Version SET PGADMIN_VERSION=1.22.1 From 05ea3664a8ba71a99c94773e13e6d4caa661a9f7 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 29 Jun 2016 19:02:02 +0300 Subject: [PATCH 031/299] Use perl from PERL32_BIN or PERL64_BIN. --- build/helpers/postgres.cmd | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 0e4144a..c07b833 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -77,15 +77,18 @@ rem cp -va %DEPENDENCIES_BIN_DIR%/icu/include/* src\include\ || GOTO :ERROR rem cp -va %DEPENDENCIES_BIN_DIR%/icu/lib/* . || 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 + +IF %ARCH% == X86 %PERL32_BIN%\perl src\tools\msvc\build.pl || GOTO :ERROR +IF %ARCH% == X64 %PERL64_BIN%\perl src\tools\msvc\build.pl || GOTO :ERROR + rm -rf %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql MKDIR %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql 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 From c7a1dd310f48a0bc49e2f963a93277c60b53641b Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 29 Jun 2016 19:03:19 +0300 Subject: [PATCH 032/299] Use perl from PERL32_BIN or PERL64_BIN on install --- build/helpers/postgres.cmd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index c07b833..1fe56c7 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -92,7 +92,8 @@ 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 install.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql || GOTO :ERROR +IF %ARCH% == X86 %PERL32_BIN%\perl install.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql || GOTO :ERROR +IF %ARCH% == X64 %PERL64_BIN%\perl install.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql || GOTO :ERROR rem now actually copy DLLs of dependencies into our bindir cp -va %DEPENDENCIES_BIN_DIR%/libintl/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR cp -va %DEPENDENCIES_BIN_DIR%/iconv/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR From b37851a0bd97c869de9537a67b92d4c90f071391 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 4 Jul 2016 17:08:58 +0300 Subject: [PATCH 033/299] Set WinXP for SDK71 as default target platform. --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 0617a98..ad43502 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -27,7 +27,7 @@ IF %ARCH% == X64 SET PATH=%PERL64_BIN%;%PATH% 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 ) From 1214e5b3b4b3035cb575f2555557aa84ca5df647 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 13 Jul 2016 14:08:24 +0300 Subject: [PATCH 034/299] Change url for wineditline --- build/helpers/dependencies.cmd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index a07590f..d4a8260 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -33,7 +33,8 @@ cp -va *.exe %DEPENDENCIES_BIN_DIR%\less :BUILD_WINLIBEDIT TITLE Build winlibedit CD /D %DOWNLOADS_DIR% -wget --no-check-certificate -c http://downloads.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip +REM wget --no-check-certificate -c http://downloads.sourceforge.net/project/mingweditline/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 From 5a72067977cd35328e007ae32e9d1596b1864a27 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 14 Jul 2016 13:05:36 +0300 Subject: [PATCH 035/299] Use GetCurrentUserName from UserMgr for setup perms on PGDATA (test for Windows 10 Home) --- nsis/postgresql.nsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index cf35b34..e7dde6d 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -367,7 +367,8 @@ Section $(PostgreSQLString) sec1 StrCpy $tempVar ' --pwfile "$tempFileName" -A md5 ' ${endif} DetailPrint "Database initialization ..." - AccessControl::GetCurrentUserName + ;AccessControl::GetCurrentUserName + UserMgr::GetCurrentUserName Pop $0 ; or "error" AccessControl::GrantOnFile "$DATA_DIR" "$0" "FullAccess" ;GenericWrite Pop $0 ;"ok" or "error" + error details From 1b4f1cbb971b69c2e2ae3cb9b3df65937c27040e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 14 Jul 2016 16:03:06 +0300 Subject: [PATCH 036/299] Revert "Use GetCurrentUserName from UserMgr for setup perms on PGDATA (test for Windows 10 Home)" This reverts commit 5a72067977cd35328e007ae32e9d1596b1864a27. --- nsis/postgresql.nsi | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index e7dde6d..cf35b34 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -367,8 +367,7 @@ Section $(PostgreSQLString) sec1 StrCpy $tempVar ' --pwfile "$tempFileName" -A md5 ' ${endif} DetailPrint "Database initialization ..." - ;AccessControl::GetCurrentUserName - UserMgr::GetCurrentUserName + AccessControl::GetCurrentUserName Pop $0 ; or "error" AccessControl::GrantOnFile "$DATA_DIR" "$0" "FullAccess" ;GenericWrite Pop $0 ;"ok" or "error" + error details From 47401ee728deeb55b30cad06074154b975468dac Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 25 Jul 2016 16:22:26 +0300 Subject: [PATCH 037/299] Avoid message-box on uninstall in silent mode --- nsis/postgresql.nsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index cf35b34..95e0329 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -587,7 +587,12 @@ 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 ;-------------------------------- From ff75bfecfd169cccbe5e43d305590633d3c71591 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 25 Jul 2016 17:37:08 +0300 Subject: [PATCH 038/299] Add missed title char. --- nsis/postgresql.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 95e0329..a9da0f0 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -163,7 +163,7 @@ Page custom nsDialogOptimization nsDialogsOptimizationPageLeave ;-------------------------------- ;Installer Sections -Section "Microsoft Visual C++ ${REDIST_YEAR} Redistibutable" secMS +Section "Microsoft Visual C++ ${REDIST_YEAR} Redistributable" secMS GetTempFileName $1 !ifdef PG_64bit File /oname=$1 "${BUILD_DIR}\vcredist\vcredist_x64_${REDIST_YEAR}.exe" From 1d28045b09d5103c52f15654f4cff31c940bab46 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 29 Jul 2016 11:09:23 +0300 Subject: [PATCH 039/299] Use 32-bit less.exe for 64-bit platforms. --- build/helpers/dependencies.cmd | 4 +++- nsis/postgresql.nsi | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index d4a8260..3a625a8 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -23,7 +23,9 @@ 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 + REM 64-bit less.exe is not work + REM Use X86 variant for 64-bit platform: + nmake -f Makefile.wnm ARCH=X86|| GOTO :ERROR ) MKDIR %DEPENDENCIES_BIN_DIR%\less cp -va *.exe %DEPENDENCIES_BIN_DIR%\less diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index a9da0f0..4f8d648 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -1246,7 +1246,7 @@ Function .onInit StrCpy $service "YES" ${endif} - ReadINIStr $1 $0 options pgserver + ReadINIStr $1 $0 options pgserver ${if} "$1" == "no" SectionGetFlags ${sec1} $3 IntOp $3 $3 & ${SECTION_OFF} From 884a9b74baabfd5d7413eaccb44f88121bbcfd10 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 1 Aug 2016 12:08:11 +0300 Subject: [PATCH 040/299] Use more as default pager --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 1fe56c7..f3ed6cf 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -68,7 +68,7 @@ IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO python ^=^> '%PYTHON32_PATH%' >>src\tools\msvc\config.pl ECHO 1^; rem Setting pager ->>src\include\pg_config.h.win32 ECHO #define DEFAULT_PAGER "less -X" +>>src\include\pg_config.h.win32 ECHO #define DEFAULT_PAGER "more" IF %ONE_C% == YES ( mv -v contrib\fulleq\fulleq.sql.in.in contrib\fulleq\fulleq.sql.in || GOTO :ERROR From 676d53a8252841c4e05a0b21b5397d1ba60348cf Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 1 Aug 2016 12:12:57 +0300 Subject: [PATCH 041/299] Revert "Use 32-bit less.exe for 64-bit platforms." This reverts commit 1d28045b09d5103c52f15654f4cff31c940bab46. --- build/helpers/dependencies.cmd | 4 +--- nsis/postgresql.nsi | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 3a625a8..d4a8260 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -23,9 +23,7 @@ CD /D %DEPENDENCIES_SRC_DIR%\less-master IF %ARCH% == X86 ( nmake -f Makefile.wnm || GOTO :ERROR ) ELSE ( - REM 64-bit less.exe is not work - REM Use X86 variant for 64-bit platform: - nmake -f Makefile.wnm ARCH=X86|| GOTO :ERROR + nmake -f Makefile.wnm ARCH=%ARCH%|| GOTO :ERROR ) MKDIR %DEPENDENCIES_BIN_DIR%\less cp -va *.exe %DEPENDENCIES_BIN_DIR%\less diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 4f8d648..a9da0f0 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -1246,7 +1246,7 @@ Function .onInit StrCpy $service "YES" ${endif} - ReadINIStr $1 $0 options pgserver + ReadINIStr $1 $0 options pgserver ${if} "$1" == "no" SectionGetFlags ${sec1} $3 IntOp $3 $3 & ${SECTION_OFF} From 4b1784c312dfcc8974c58fde8f4e429022cc1781 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 1 Aug 2016 17:48:39 +0300 Subject: [PATCH 042/299] Set UTF-8(65001) code page for psql --- nsis/postgresql.nsi | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index a9da0f0..85c2e55 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -238,9 +238,11 @@ Section $(PostgreSQLString) sec1 ClearErrors FileOpen $0 $INSTDIR\scripts\runpgsql.bat w IfErrors creatBatErr2 - System::Call "kernel32::GetACP() i .r2" - DetailPrint "ANSI code page $2" - FileWrite $0 '@echo off$\r$\nchcp $2$\r$\nPATH $INSTDIR\bin;%PATH%$\r$\npsql.exe -h localhost -U "$UserName_text" -d postgres -p $TextPort_text $\r$\npause' + #System::Call "kernel32::GetACP() i .r2" + #DetailPrint "ANSI code page $2" + #FileWrite $0 '@echo off$\r$\nchcp $2$\r$\nPATH $INSTDIR\bin;%PATH%$\r$\npsql.exe -h localhost -U "$UserName_text" -d postgres -p $TextPort_text $\r$\npause' + DetailPrint "UTF-8 code page 65001" + FileWrite $0 '@echo off$\r$\nchcp 65001$\r$\nPATH $INSTDIR\bin;%PATH%$\r$\npsql.exe -h localhost -U "$UserName_text" -d postgres -p $TextPort_text $\r$\npause' FileClose $0 creatBatErr2: From f2dabdc338cd7817f0e5e2f434e325093e67b2c8 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 2 Aug 2016 18:00:11 +0300 Subject: [PATCH 043/299] Create APPDATA\postgresql on the fly --- nsis/postgresql.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 85c2e55..d87c16e 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -242,7 +242,7 @@ Section $(PostgreSQLString) sec1 #DetailPrint "ANSI code page $2" #FileWrite $0 '@echo off$\r$\nchcp $2$\r$\nPATH $INSTDIR\bin;%PATH%$\r$\npsql.exe -h localhost -U "$UserName_text" -d postgres -p $TextPort_text $\r$\npause' DetailPrint "UTF-8 code page 65001" - FileWrite $0 '@echo off$\r$\nchcp 65001$\r$\nPATH $INSTDIR\bin;%PATH%$\r$\npsql.exe -h localhost -U "$UserName_text" -d postgres -p $TextPort_text $\r$\npause' + FileWrite $0 '@echo off$\r$\nchcp 65001$\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: From 826427b0bdce53423486ab822070deefc36534da Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 4 Aug 2016 13:29:09 +0300 Subject: [PATCH 044/299] Restore less as default pager --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index f3ed6cf..1fe56c7 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -68,7 +68,7 @@ IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO python ^=^> '%PYTHON32_PATH%' >>src\tools\msvc\config.pl ECHO 1^; rem Setting pager ->>src\include\pg_config.h.win32 ECHO #define DEFAULT_PAGER "more" +>>src\include\pg_config.h.win32 ECHO #define DEFAULT_PAGER "less -X" IF %ONE_C% == YES ( mv -v contrib\fulleq\fulleq.sql.in.in contrib\fulleq\fulleq.sql.in || GOTO :ERROR From 0e73fa8c58c29d7a1bcf8927de2be90c21b0a576 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 5 Aug 2016 13:56:19 +0300 Subject: [PATCH 045/299] Set ACP for XP --- nsis/postgresql.nsi | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index d87c16e..55cf116 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -20,6 +20,8 @@ !include "common_macro.nsh" !include "Utf8Converter.nsh" +!include "WinVer.nsh" + !insertmacro VersionCompare ;-------------------------------- @@ -66,6 +68,9 @@ Var UserName_text Var Pass1_text Var Pass2_text +Var Codepage_text +Var Winver_text + Var ServiceAccount_text Var ServiceID_text Var Version_text @@ -236,13 +241,21 @@ Section $(PostgreSQLString) sec1 FileClose $0 creatBatErr: ClearErrors + + GetWindowsVersion ${Winver_text} + + ${If} ${Winver_text} == "XP" + System::Call "kernel32::GetACP() i .r2" + StrCpy ${Codepage_text} $2 + ${Else} + StrCpy ${Codepage_text} "65001" + ${EndIf} + + DetailPrint "Set codepage ${Codepage_text}" + FileOpen $0 $INSTDIR\scripts\runpgsql.bat w IfErrors creatBatErr2 - #System::Call "kernel32::GetACP() i .r2" - #DetailPrint "ANSI code page $2" - #FileWrite $0 '@echo off$\r$\nchcp $2$\r$\nPATH $INSTDIR\bin;%PATH%$\r$\npsql.exe -h localhost -U "$UserName_text" -d postgres -p $TextPort_text $\r$\npause' - DetailPrint "UTF-8 code page 65001" - FileWrite $0 '@echo off$\r$\nchcp 65001$\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' + FileWrite $0 '@echo off$\r$\nchcp ${Codepage_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: From 1675537ae6363fa0baee8cf34d663d2484193dd6 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 5 Aug 2016 14:54:11 +0300 Subject: [PATCH 046/299] Add debug messageboxes. --- build/helpers/postgres_nsis_installer.cmd | 1 + nsis/postgresql.nsi | 15 +++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index ec8bdf1..017a4f4 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -61,6 +61,7 @@ REM PostgreSQL Section >>%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 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" ( diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 55cf116..3d64afc 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -242,20 +242,23 @@ Section $(PostgreSQLString) sec1 creatBatErr: ClearErrors - GetWindowsVersion ${Winver_text} + GetWindowsVersion $Winver_text + MessageBox MB_OK|MB_ICONINFORMATION "Windows Version: $Winver_text" - ${If} ${Winver_text} == "XP" + ${If} $Winver_text == "XP" System::Call "kernel32::GetACP() i .r2" - StrCpy ${Codepage_text} $2 + StrCpy $Codepage_text $2 ${Else} - StrCpy ${Codepage_text} "65001" + StrCpy $Codepage_text "65001" ${EndIf} - DetailPrint "Set codepage ${Codepage_text}" + DetailPrint "Set codepage $Codepage_text" + MessageBox MB_OK|MB_ICONINFORMATION "Set codepage: $Codepage_text" FileOpen $0 $INSTDIR\scripts\runpgsql.bat w IfErrors creatBatErr2 - FileWrite $0 '@echo off$\r$\nchcp ${Codepage_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' + ;chcp ${Codepage_text}$\r$\n + FileWrite $0 '@echo off$\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: From 4e6bc9c2d38898c12d61c5914924674084172d7f Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 5 Aug 2016 15:38:18 +0300 Subject: [PATCH 047/299] Add CheckWindowsVersion for XP and use quotes for APPDATA --- nsis/postgresql.nsi | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 3d64afc..209ac61 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -242,23 +242,19 @@ Section $(PostgreSQLString) sec1 creatBatErr: ClearErrors + System::Call "kernel32::GetACP() i .r2" + StrCpy $Codepage_text $2 + GetWindowsVersion $Winver_text - MessageBox MB_OK|MB_ICONINFORMATION "Windows Version: $Winver_text" - - ${If} $Winver_text == "XP" - System::Call "kernel32::GetACP() i .r2" - StrCpy $Codepage_text $2 - ${Else} + ${If} $Winver_text != "XP" StrCpy $Codepage_text "65001" ${EndIf} DetailPrint "Set codepage $Codepage_text" - MessageBox MB_OK|MB_ICONINFORMATION "Set codepage: $Codepage_text" - + FileOpen $0 $INSTDIR\scripts\runpgsql.bat w IfErrors creatBatErr2 - ;chcp ${Codepage_text}$\r$\n - FileWrite $0 '@echo off$\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' + FileWrite $0 '@echo off$\r$\nchcp ${Codepage_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: @@ -1157,6 +1153,8 @@ Function nsDialogsOptimizationPageLeave FunctionEnd Function .onInit + CheckWindowsVersion + !insertmacro MUI_LANGDLL_DISPLAY ;select language StrCpy $PG_OLD_DIR "" StrCpy $DATA_DIR "$INSTDIR\data" @@ -1296,3 +1294,13 @@ Function dirPre Abort ${endif} FunctionEnd + +Function CheckWindowsVersion + GetWindowsVersion $Winver_text + ${If} $Winver_text == "XP" + ${If} ${SDK} != "SDK71" + MessageBox MB_OK|MB_ICONINFORMATION "Installation aborted. Use the specific SDK71 installer for this platform: $Winver_text" + Abort + ${EndIf} + ${EndIf} +FunctionEnd From d988f0d97e8700ed22548d136b68da61dcba3e39 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 5 Aug 2016 15:45:47 +0300 Subject: [PATCH 048/299] Add check for winserv 2003 --- nsis/postgresql.nsi | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 209ac61..0ee9811 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -1297,10 +1297,14 @@ FunctionEnd Function CheckWindowsVersion GetWindowsVersion $Winver_text - ${If} $Winver_text == "XP" - ${If} ${SDK} != "SDK71" - MessageBox MB_OK|MB_ICONINFORMATION "Installation aborted. Use the specific SDK71 installer for this platform: $Winver_text" - Abort - ${EndIf} + ${If} ${SDK} != "SDK71" + ${If} $Winver_text == "XP" + MessageBox MB_OK|MB_ICONINFORMATION "Installation aborted. Use the specific SDK71 installer for this platform: $Winver_text" + Abort + ${EndIf} + ${If} $Winver_text == "2003" + MessageBox MB_OK|MB_ICONINFORMATION "Installation aborted. Use the specific SDK71 installer for this platform: $Winver_text" + Abort + ${EndIf} ${EndIf} FunctionEnd From 485c4fc8728b7c88a1b05455fd2fdb96d6b8c84e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 5 Aug 2016 17:48:21 +0300 Subject: [PATCH 049/299] Calling GetWindowsVersion as macros --- nsis/postgresql.nsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 0ee9811..84f2dcd 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -245,7 +245,7 @@ Section $(PostgreSQLString) sec1 System::Call "kernel32::GetACP() i .r2" StrCpy $Codepage_text $2 - GetWindowsVersion $Winver_text + ${GetWindowsVersion} $Winver_text ${If} $Winver_text != "XP" StrCpy $Codepage_text "65001" ${EndIf} @@ -1296,7 +1296,7 @@ Function dirPre FunctionEnd Function CheckWindowsVersion - GetWindowsVersion $Winver_text + ${GetWindowsVersion} $Winver_text ${If} ${SDK} != "SDK71" ${If} $Winver_text == "XP" MessageBox MB_OK|MB_ICONINFORMATION "Installation aborted. Use the specific SDK71 installer for this platform: $Winver_text" From 447685b2da8af106d3c8b87dbc5f8b07ba5ebf59 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 5 Aug 2016 18:18:29 +0300 Subject: [PATCH 050/299] Replace GetWindowsVersion on AtLeastWin --- nsis/postgresql.nsi | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 84f2dcd..d1a88c6 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -245,10 +245,9 @@ Section $(PostgreSQLString) sec1 System::Call "kernel32::GetACP() i .r2" StrCpy $Codepage_text $2 - ${GetWindowsVersion} $Winver_text - ${If} $Winver_text != "XP" + ${If} ${AtLeastWin2008} StrCpy $Codepage_text "65001" - ${EndIf} + ${Endif} DetailPrint "Set codepage $Codepage_text" @@ -1296,15 +1295,10 @@ Function dirPre FunctionEnd Function CheckWindowsVersion - ${GetWindowsVersion} $Winver_text ${If} ${SDK} != "SDK71" - ${If} $Winver_text == "XP" + ${Unless} ${AtLeastWin2008} MessageBox MB_OK|MB_ICONINFORMATION "Installation aborted. Use the specific SDK71 installer for this platform: $Winver_text" Abort - ${EndIf} - ${If} $Winver_text == "2003" - MessageBox MB_OK|MB_ICONINFORMATION "Installation aborted. Use the specific SDK71 installer for this platform: $Winver_text" - Abort - ${EndIf} + ${EndUnless} ${EndIf} FunctionEnd From 41d777a494e79c142aa91e35ac8e5aeb6e633802 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 5 Aug 2016 18:22:15 +0300 Subject: [PATCH 051/299] Fix CheckWindowsVersion call --- nsis/postgresql.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index d1a88c6..b4e5337 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -1152,7 +1152,7 @@ Function nsDialogsOptimizationPageLeave FunctionEnd Function .onInit - CheckWindowsVersion + Call CheckWindowsVersion !insertmacro MUI_LANGDLL_DISPLAY ;select language StrCpy $PG_OLD_DIR "" From aee9f1e2614a2e234c697b909cb17319c15920d2 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 5 Aug 2016 18:26:22 +0300 Subject: [PATCH 052/299] Fix Codepage_text substitution --- nsis/postgresql.nsi | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index b4e5337..2f01a1b 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -69,7 +69,6 @@ Var Pass1_text Var Pass2_text Var Codepage_text -Var Winver_text Var ServiceAccount_text Var ServiceID_text @@ -253,7 +252,7 @@ Section $(PostgreSQLString) sec1 FileOpen $0 $INSTDIR\scripts\runpgsql.bat w IfErrors creatBatErr2 - FileWrite $0 '@echo off$\r$\nchcp ${Codepage_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' + FileWrite $0 '@echo off$\r$\nchcp $Codepage_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: @@ -1297,7 +1296,7 @@ FunctionEnd Function CheckWindowsVersion ${If} ${SDK} != "SDK71" ${Unless} ${AtLeastWin2008} - MessageBox MB_OK|MB_ICONINFORMATION "Installation aborted. Use the specific SDK71 installer for this platform: $Winver_text" + MessageBox MB_OK|MB_ICONINFORMATION "Installation aborted. Use the specific SDK71 installer for this platform" Abort ${EndUnless} ${EndIf} From b809a89662a17c6f515401063ad5ce098a6b1e90 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 5 Aug 2016 18:46:04 +0300 Subject: [PATCH 053/299] Use chcp since Win2008 --- nsis/postgresql.nsi | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 2f01a1b..83c5e16 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -68,7 +68,7 @@ Var UserName_text Var Pass1_text Var Pass2_text -Var Codepage_text +Var Chcp_text Var ServiceAccount_text Var ServiceID_text @@ -241,18 +241,20 @@ Section $(PostgreSQLString) sec1 creatBatErr: ClearErrors - System::Call "kernel32::GetACP() i .r2" - StrCpy $Codepage_text $2 + ;System::Call "kernel32::GetACP() i .r2" + ;StrCpy $Codepage_text $2 ${If} ${AtLeastWin2008} - StrCpy $Codepage_text "65001" + StrCpy $Chcp_text "chcp 65001" + ${Else} + StrCpy $Chcp_text "" ${Endif} DetailPrint "Set codepage $Codepage_text" FileOpen $0 $INSTDIR\scripts\runpgsql.bat w IfErrors creatBatErr2 - FileWrite $0 '@echo off$\r$\nchcp $Codepage_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' + 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: From 8daaa92bb6e4b6a094f1415cc5db1d709d078c95 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 10 Aug 2016 17:43:19 +0300 Subject: [PATCH 054/299] Update default PG_PATCH_VERSION --- build/run.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/run.cmd b/build/run.cmd index be4ce44..885d982 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -34,7 +34,7 @@ IF DEFINED USG ( REM Set PostgreSQL version IF "%PG_MAJOR_VERSION%"=="" SET PG_MAJOR_VERSION=9.5 -IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=3.3 +IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=4.1 REM Set PgAdmin3 Version SET PGADMIN_VERSION=1.22.1 From 1a306bffade9a1e4bad3cabac53c51a0a9067758 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 11 Aug 2016 12:47:58 +0300 Subject: [PATCH 055/299] Fix installation notes --- nsis/installation-notes-ru.html | 10 +++---- nsis/installation-notes.html | 46 +++++++++++++-------------------- nsis/postgresql.nsi | 12 ++++----- 3 files changed, 29 insertions(+), 39 deletions(-) diff --git a/nsis/installation-notes-ru.html b/nsis/installation-notes-ru.html index 6586615..af9862a 100644 --- a/nsis/installation-notes-ru.html +++ b/nsis/installation-notes-ru.html @@ -32,10 +32,10 @@ -

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

+

��������� Posgre Pro ��� Windows

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

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

-

������ ������ PostgreSQL ������� ����� +

������ ������ Postgres Pro ������� ����� ���� ����������� �� ���������� � �� Windows XP SP3 � ����. 64-��������� ������ PosgreSQL ������� ����� ���� ����������� ������ �� 64 ��������� ������ @@ -43,7 +43,7 @@

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

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

-

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

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

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

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

@@ -163,4 +163,4 @@ ���������������

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

PostgreSQL 9.4

+

Postgres Pro 9.5

Installation Notes

-

Welcome to the PostgreSQL 9.4 Installation Wizard.

+

Welcome to the Postgres Pro 9.5 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:

-
    -
  • -

    Perl 5.16 -

    -
  • -

    Python 3.3 -

    -
  • -

    Tcl 8.5 -

    -
+

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/postgresql.nsi b/nsis/postgresql.nsi index 83c5e16..d1b0963 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -343,19 +343,19 @@ Section $(PostgreSQLString) sec1 "$INSTDIR\doc\pg-help.ico" "0" !insertmacro CreateInternetShortcut \ - "$SMPROGRAMS\$StartMenuFolder\Documentation\PostgreSQL documentation (EN)" \ + "$SMPROGRAMS\$StartMenuFolder\Documentation\${PRODUCT_NAME} documentation (EN)" \ "$INSTDIR\doc\postgresql-en.chm" \ "$INSTDIR\doc\pg-help.ico" "0" !insertmacro CreateInternetShortcut \ - "$SMPROGRAMS\$StartMenuFolder\Documentation\PostgreSQL documentation (RU)" \ + "$SMPROGRAMS\$StartMenuFolder\Documentation\${PRODUCT_NAME} documentation (RU)" \ "$INSTDIR\doc\postgresql-ru.chm" \ "$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 CreateInternetShortcut \ + ; "$SMPROGRAMS\$StartMenuFolder\Documentation\${PRODUCT_NAME} release notes" \ + ; "$INSTDIR\doc\postgresql\html\release.html" \ + ; "$INSTDIR\doc\pg-help.ico" "0" !insertmacro MUI_STARTMENU_WRITE_END ; Create data dir begin From a8b763b8c6f53db626702a80410123f104e762b7 Mon Sep 17 00:00:00 2001 From: Sergey Petrov Date: Fri, 12 Aug 2016 10:35:15 +0200 Subject: [PATCH 056/299] psqlODBC installer added --- build/helpers/pgodbc.cmd | 38 ++++++ build/helpers/pgodbc_nsis_installer.cmd | 56 ++++++++ build/run.cmd | 24 +++- nsis/pgodbc.nsi | 166 ++++++++++++++++++++++++ 4 files changed, 281 insertions(+), 3 deletions(-) create mode 100644 build/helpers/pgodbc.cmd create mode 100644 build/helpers/pgodbc_nsis_installer.cmd create mode 100644 nsis/pgodbc.nsi 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/run.cmd b/build/run.cmd index 885d982..513f585 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -14,6 +14,8 @@ 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 SET USG=1 @@ -27,6 +29,9 @@ 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 + PAUSE EXIT /b 1 ) @@ -34,7 +39,7 @@ IF DEFINED USG ( REM Set PostgreSQL version IF "%PG_MAJOR_VERSION%"=="" SET PG_MAJOR_VERSION=9.5 -IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=4.1 +IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=3 REM Set PgAdmin3 Version SET PGADMIN_VERSION=1.22.1 @@ -51,6 +56,9 @@ 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" @@ -74,13 +82,13 @@ IF "%~1"=="3" ( IF "%~1"=="4" ( TITLE Building PgAdmin - IF "%SDK%"=="" SET SDK=MSVC2015 + IF "%SDK%"=="" SET SDK=SDK71 CMD.EXE /C %ROOT%\build\helpers\pgadmin.cmd ) IF "%~1"=="5" ( TITLE Building PgAdmin installer - IF "%SDK%"=="" SET SDK=MSVC2015 + IF "%SDK%"=="" SET SDK=SDK71 CMD.EXE /C %ROOT%\build\helpers\pgadmin_installer.cmd ) @@ -93,3 +101,13 @@ IF "%~1"=="7" ( TITLE Build PGBouncer CMD.EXE /C %ROOT%\build\helpers\pgbouncer.cmd ) + +IF "%~1"=="8" ( + TITLE Build psqlODBC + CMD.EXE /C %ROOT%\build\helpers\pgodbc.cmd +) + +IF "%~1"=="9" ( + TITLE Build psqlODBC installer + CMD.EXE /C %ROOT%\build\helpers\pgodbc_nsis_installer.cmd +) 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 From 7d62eda6dc3906f2acfb3a4947b946e27359fc9d Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 12 Aug 2016 12:37:21 +0300 Subject: [PATCH 057/299] Change libiconv link on local cache --- build/helpers/dependencies.cmd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index d4a8260..c8f5454 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -57,7 +57,8 @@ COPY editline\readline.h %DEPENDENCIES_BIN_DIR%\wineditline\include\editline :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_UDIR% || GOTO :ERROR From 47247695f3c0c2270b52b79c832f54b55cdd2e61 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 12 Aug 2016 12:40:50 +0300 Subject: [PATCH 058/299] Change gettext link on local cache --- build/helpers/dependencies.cmd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index c8f5454..1280315 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -190,7 +190,8 @@ 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_UDIR% || GOTO :ERROR From 9091ce175f8085761a1e49550aa32d2a70100875 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 12 Aug 2016 15:22:26 +0300 Subject: [PATCH 059/299] Add patch for 9.5.4 --- patches/postgresql/9.5.4/Mkvcbuild.pm.patch | 29 +++++++++++++++++++++ patches/postgresql/9.5.4/series | 1 + 2 files changed, 30 insertions(+) create mode 100644 patches/postgresql/9.5.4/Mkvcbuild.pm.patch create mode 100644 patches/postgresql/9.5.4/series diff --git a/patches/postgresql/9.5.4/Mkvcbuild.pm.patch b/patches/postgresql/9.5.4/Mkvcbuild.pm.patch new file mode 100644 index 0000000..3a7ab01 --- /dev/null +++ b/patches/postgresql/9.5.4/Mkvcbuild.pm.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..04cc67c --- /dev/null +++ b/patches/postgresql/9.5.4/series @@ -0,0 +1 @@ +Mkvcbuild.pm.patch From b1fecf028ba0a2deda6ed4a8742ab1cb38c4dddf Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 15 Aug 2016 19:02:44 +0300 Subject: [PATCH 060/299] Hide PGPRO docs for vanilla product --- nsis/postgresql.nsi | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index d1b0963..734c453 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -332,6 +332,7 @@ Section $(PostgreSQLString) sec1 pop $0 CreateDirectory "$SMPROGRAMS\$StartMenuFolder\Documentation" + ${if} ${PRODUCT_NAME} != "PostgreSQL" !insertmacro CreateInternetShortcut \ "$SMPROGRAMS\$StartMenuFolder\Documentation\Installation notes" \ "$INSTDIR\doc\installation-notes.html" \ @@ -351,7 +352,8 @@ Section $(PostgreSQLString) sec1 "$SMPROGRAMS\$StartMenuFolder\Documentation\${PRODUCT_NAME} documentation (RU)" \ "$INSTDIR\doc\postgresql-ru.chm" \ "$INSTDIR\doc\pg-help.ico" "0" - + ${endif} + ; !insertmacro CreateInternetShortcut \ ; "$SMPROGRAMS\$StartMenuFolder\Documentation\${PRODUCT_NAME} release notes" \ ; "$INSTDIR\doc\postgresql\html\release.html" \ From 896da66681a498f97688209414242995d10a68b6 Mon Sep 17 00:00:00 2001 From: Sergey Petrov Date: Thu, 25 Aug 2016 11:51:16 +0200 Subject: [PATCH 061/299] Adding selection for x64/x86 perl --- build/helpers/postgres.cmd | 16 ++++++++-------- build/helpers/setvars.cmd | 7 +++++-- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 1fe56c7..e153702 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -14,10 +14,10 @@ IF EXIST %DOWNLOADS_DIR%\%DEPS_ZIP% ( :BUILD_POSTGRESQL TITLE Building PostgreSQL... CD /D %DOWNLOADS_DIR% -wget --no-check-certificate %PGURL% -O postgresql-%PGVER%.tar.bz2 || GOTO :ERROR -rm -rf %BUILD_DIR%\postgresql -MKDIR %BUILD_DIR%\postgresql -tar xf postgres*-%PGVER%.tar.bz2 -C %BUILD_UDIR%/postgresql || GOTO :ERROR +REM wget --no-check-certificate %PGURL% -O postgresql-%PGVER%.tar.bz2 || GOTO :ERROR +REM rm -rf %BUILD_DIR%\postgresql +REM MKDIR %BUILD_DIR%\postgresql +REM tar xf postgres*-%PGVER%.tar.bz2 -C %BUILD_UDIR%/postgresql || GOTO :ERROR CD /D %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR IF %ONE_C% == YES ( @@ -30,6 +30,8 @@ IF %ONE_C% == YES ( ) ) +GOTO :DONE_POSTGRESQL_PATCH + cp -va %ROOT%/patches/postgresql/%PGVER%/series . IF NOT EXIST series GOTO :DONE_POSTGRESQL_PATCH FOR /F %%I IN (series) do ( @@ -81,8 +83,7 @@ rem cp -va %DEPENDENCIES_BIN_DIR%/icu/lib/* . || GOTO :ERROR IF %ARCH% == X86 SET PERL5LIB=%PERL32_PATH%\lib;src\tools\msvc IF %ARCH% == X64 SET PERL5LIB=%PERL64_PATH%\lib;src\tools\msvc -IF %ARCH% == X86 %PERL32_BIN%\perl src\tools\msvc\build.pl || GOTO :ERROR -IF %ARCH% == X64 %PERL64_BIN%\perl src\tools\msvc\build.pl || GOTO :ERROR +%PERL_EXE% src\tools\msvc\build.pl || GOTO :ERROR rm -rf %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql MKDIR %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql @@ -92,8 +93,7 @@ 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 -IF %ARCH% == X86 %PERL32_BIN%\perl install.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql || GOTO :ERROR -IF %ARCH% == X64 %PERL64_BIN%\perl install.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql || GOTO :ERROR +%PERL_EXE% install.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql || GOTO :ERROR rem now actually copy DLLs of dependencies into our bindir cp -va %DEPENDENCIES_BIN_DIR%/libintl/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR cp -va %DEPENDENCIES_BIN_DIR%/iconv/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index ad43502..04d367f 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -24,6 +24,9 @@ SET PATH=%PATH%;%ZIP_PATH%;%MSYS2_PATH%;%NSIS_PATH% 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 +IF %ARCH% == X64 SET PERL_EXE=%PERL64_BIN%\perl + IF %SDK% == SDK71 ( SET REDIST_YEAR=2010 SET PlatformToolset=v100 @@ -61,8 +64,8 @@ ECHO %PG_PATCH_VERSION% | grep "^[0-9]." > nul && ( ) SET PGVER=%PG_DEF_VERSION% -REM IF "%PGURL%"=="" SET PGURL="https://ftp.postgresql.org/pub/source/v%PGVER%/postgresql-%PGVER%.tar.bz2" -IF "%PGURL%"=="" SET PGURL="http://repo.postgrespro.ru/pgpro-9.5-beta/src/postgrespro-%PGVER%.tar.bz2" +IF "%PGURL%"=="" SET PGURL="https://ftp.postgresql.org/pub/source/v%PGVER%/postgresql-%PGVER%.tar.bz2" +REM IF "%PGURL%"=="" SET PGURL="http://repo.postgrespro.ru/pgpro-9.5-beta/src/postgrespro-%PGVER%.tar.bz2" REM Set useful directories paths so they're used in scripts SET BUILD_DIR=%ROOT%\builddir From aeb7822fcaa48ee49d85e607c7c1e4e1762931e1 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 26 Aug 2016 11:41:21 +0300 Subject: [PATCH 062/299] Resolve perl patch changes --- patches/postgresql/9.5.3/series | 2 +- patches/postgresql/9.5.4/Mkvcbuild.pm.patch | 29 ------------------- .../perl522.patch} | 0 patches/postgresql/9.5.4/series | 2 +- 4 files changed, 2 insertions(+), 31 deletions(-) delete mode 100644 patches/postgresql/9.5.4/Mkvcbuild.pm.patch rename patches/postgresql/{9.5.3/Mkvcbuild.pm.patch => 9.5.4/perl522.patch} (100%) diff --git a/patches/postgresql/9.5.3/series b/patches/postgresql/9.5.3/series index 04cc67c..c05e582 100644 --- a/patches/postgresql/9.5.3/series +++ b/patches/postgresql/9.5.3/series @@ -1 +1 @@ -Mkvcbuild.pm.patch +perl522.patch diff --git a/patches/postgresql/9.5.4/Mkvcbuild.pm.patch b/patches/postgresql/9.5.4/Mkvcbuild.pm.patch deleted file mode 100644 index 3a7ab01..0000000 --- a/patches/postgresql/9.5.4/Mkvcbuild.pm.patch +++ /dev/null @@ -1,29 +0,0 @@ -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/Mkvcbuild.pm.patch b/patches/postgresql/9.5.4/perl522.patch similarity index 100% rename from patches/postgresql/9.5.3/Mkvcbuild.pm.patch rename to patches/postgresql/9.5.4/perl522.patch diff --git a/patches/postgresql/9.5.4/series b/patches/postgresql/9.5.4/series index 04cc67c..c05e582 100644 --- a/patches/postgresql/9.5.4/series +++ b/patches/postgresql/9.5.4/series @@ -1 +1 @@ -Mkvcbuild.pm.patch +perl522.patch From b46f432ff8d354bfc880d74108f3d886c15b1e7b Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 26 Aug 2016 12:41:15 +0300 Subject: [PATCH 063/299] Download msys utils, add 12 and 13 actions for run script --- build/helpers/dependencies.cmd | 7 ++++++- build/helpers/setvars.cmd | 7 +++++-- build/run.cmd | 18 ++++++++++++++++++ nsis/postgresql.nsi | 2 +- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 1280315..653999b 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -10,6 +10,12 @@ rm -rf %DEPENDENCIES_SRC_DIR% MKDIR %DEPENDENCIES_SRC_DIR% MKDIR %DOWNLOADS_DIR% +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% @@ -244,7 +250,6 @@ cp -va %DEPENDENCIES_SRC_DIR%\icu\include %DEPENDENCIES_BIN_DIR%\icu\include || CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\icu - REM If everything is compiled OK go to DONE GOTO :DONE diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 04d367f..46bffd8 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -64,8 +64,11 @@ ECHO %PG_PATCH_VERSION% | grep "^[0-9]." > nul && ( ) SET PGVER=%PG_DEF_VERSION% -IF "%PGURL%"=="" SET PGURL="https://ftp.postgresql.org/pub/source/v%PGVER%/postgresql-%PGVER%.tar.bz2" -REM IF "%PGURL%"=="" SET PGURL="http://repo.postgrespro.ru/pgpro-9.5-beta/src/postgrespro-%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://repo.postgrespro.ru/pgpro-9.5-beta/src/postgrespro-%PGVER%.tar.bz2" +) REM Set useful directories paths so they're used in scripts SET BUILD_DIR=%ROOT%\builddir diff --git a/build/run.cmd b/build/run.cmd index 513f585..d6b3ad5 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -16,6 +16,8 @@ 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 @@ -31,6 +33,8 @@ IF DEFINED USG ( 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 ) @@ -74,12 +78,26 @@ IF "%~1"=="2" ( CMD.EXE /C %ROOT%\build\helpers\postgres.cmd ) +IF "%~1"=="12" ( + TITLE Building PostgresPro + IF "%SDK%"=="" SET SDK=SDK71 + IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME="PostgresPro" + CMD.EXE /C %ROOT%\build\helpers\postgres.cmd +) + IF "%~1"=="3" ( TITLE Building PostgreSQL installer IF "%SDK%"=="" SET SDK=SDK71 CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd ) +IF "%~1"=="13" ( + TITLE Building PostgresPro installer + IF "%SDK%"=="" SET SDK=SDK71 + IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME="PostgresPro" + CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd +) + IF "%~1"=="4" ( TITLE Building PgAdmin IF "%SDK%"=="" SET SDK=SDK71 diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 734c453..12796de 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -1300,7 +1300,7 @@ FunctionEnd Function CheckWindowsVersion ${If} ${SDK} != "SDK71" ${Unless} ${AtLeastWin2008} - MessageBox MB_OK|MB_ICONINFORMATION "Installation aborted. Use the specific SDK71 installer for this platform" + MessageBox MB_OK|MB_ICONINFORMATION "Installation aborted. Use the specific SDK71 installer for this system" Abort ${EndUnless} ${EndIf} From 0d96519850f7fb6b1ba3c18feae47c4b726a0255 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 1 Sep 2016 12:39:00 +0300 Subject: [PATCH 064/299] Fix run script --- build/run.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/run.cmd b/build/run.cmd index d6b3ad5..bf09939 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -81,7 +81,7 @@ IF "%~1"=="2" ( IF "%~1"=="12" ( TITLE Building PostgresPro IF "%SDK%"=="" SET SDK=SDK71 - IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME="PostgresPro" + IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro CMD.EXE /C %ROOT%\build\helpers\postgres.cmd ) @@ -94,7 +94,7 @@ IF "%~1"=="3" ( IF "%~1"=="13" ( TITLE Building PostgresPro installer IF "%SDK%"=="" SET SDK=SDK71 - IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME="PostgresPro" + IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd ) From 942bcbd8b10fe330c31e3fc187042414228abf83 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 1 Sep 2016 12:48:41 +0300 Subject: [PATCH 065/299] Fix PG_PATH_VERSION after merge with ODBC --- build/run.cmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build/run.cmd b/build/run.cmd index bf09939..919c304 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -43,7 +43,7 @@ IF DEFINED USG ( REM Set PostgreSQL version IF "%PG_MAJOR_VERSION%"=="" SET PG_MAJOR_VERSION=9.5 -IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=3 +IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=4 REM Set PgAdmin3 Version SET PGADMIN_VERSION=1.22.1 @@ -82,6 +82,7 @@ IF "%~1"=="12" ( TITLE Building PostgresPro IF "%SDK%"=="" SET SDK=SDK71 IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro + SET PG_PATCH_VERSION=4.1 CMD.EXE /C %ROOT%\build\helpers\postgres.cmd ) @@ -95,6 +96,7 @@ IF "%~1"=="13" ( TITLE Building PostgresPro installer IF "%SDK%"=="" SET SDK=SDK71 IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro + SET PG_PATCH_VERSION=4.1 CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd ) From db36715547a43a23df409e97912b75bddfa7780b Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 1 Sep 2016 17:56:48 +0300 Subject: [PATCH 066/299] Return PG downloading --- build/helpers/postgres.cmd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index e153702..62e76ea 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -14,10 +14,10 @@ IF EXIST %DOWNLOADS_DIR%\%DEPS_ZIP% ( :BUILD_POSTGRESQL TITLE Building PostgreSQL... CD /D %DOWNLOADS_DIR% -REM wget --no-check-certificate %PGURL% -O postgresql-%PGVER%.tar.bz2 || GOTO :ERROR -REM rm -rf %BUILD_DIR%\postgresql -REM MKDIR %BUILD_DIR%\postgresql -REM tar xf postgres*-%PGVER%.tar.bz2 -C %BUILD_UDIR%/postgresql || GOTO :ERROR +wget --no-check-certificate %PGURL% -O postgresql-%PGVER%.tar.bz2 || GOTO :ERROR +rm -rf %BUILD_DIR%\postgresql +MKDIR %BUILD_DIR%\postgresql +tar xf postgres*-%PGVER%.tar.bz2 -C %BUILD_UDIR%/postgresql || GOTO :ERROR CD /D %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR IF %ONE_C% == YES ( From bbb093086ed3def2933c1844af53750e1450f9d9 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 9 Sep 2016 11:06:58 +0300 Subject: [PATCH 067/299] Return patches applying --- build/helpers/postgres.cmd | 2 -- 1 file changed, 2 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 62e76ea..067e966 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -30,8 +30,6 @@ IF %ONE_C% == YES ( ) ) -GOTO :DONE_POSTGRESQL_PATCH - cp -va %ROOT%/patches/postgresql/%PGVER%/series . IF NOT EXIST series GOTO :DONE_POSTGRESQL_PATCH FOR /F %%I IN (series) do ( From b8ca9e181ec5663f1140141a1b5d957299eb5fbe Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 16 Sep 2016 06:50:37 +0300 Subject: [PATCH 068/299] Fix upgrade (PRODUCT_NAME/PG_REG_KEY) --- build/helpers/postgres_nsis_installer.cmd | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 017a4f4..8fc6368 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -21,9 +21,7 @@ IF %ONE_C% == YES ( SET PRODUCT_DIR_REGKEY="Software\Postgres Professional\${PRODUCT_NAME}\${PRODUCT_VERSION}" SET PRODUCT_VERSION="%PG_MAJOR_VERSION%" ) ELSE ( - IF "%PRODUCT_NAME%" == "" ( - SET PRODUCT_NAME=PostgresPro - ) + IF "%PRODUCT_NAME%" == "" SET PRODUCT_NAME=PostgresPro 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%" From 116df7e1e635bf9e5c2f5d0ac644c495b84e84ca Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 22 Sep 2016 15:15:18 +0300 Subject: [PATCH 069/299] Check regkey from previous installations --- build/helpers/postgres_nsis_installer.cmd | 13 +++++++-- nsis/postgresql.nsi | 34 +++++++++++++++++++++-- 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 8fc6368..f73b079 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -24,9 +24,15 @@ IF %ONE_C% == YES ( IF "%PRODUCT_NAME%" == "" SET PRODUCT_NAME=PostgresPro 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 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 OLD_PRODUCT_DIR_REGKEY="SOFTWARE\%COMPANY_NAME%\%ARCH%\%PG_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 PRODUCT_VERSION="%PG_MAJOR_VERSION% (%ARCH%)" ) @@ -46,8 +52,11 @@ REM PostgreSQL Section >>%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 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_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_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% diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 12796de..88b4c6e 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -624,6 +624,23 @@ SectionEnd ;if exist then get install options to vars Function ChecExistInstall StrCpy $Locale_text "$(DEF_LOCALE_NAME)" + + ReadRegStr $1 HKLM "${PG_OLD_REG_KEY}" "Version" + + ${if} $1 != "" ;we have install + ;get exist options + ReadRegStr $PG_OLD_VERSION HKLM "${PG_OLD_REG_KEY}" "Version" + ReadRegStr $INSTDIR HKLM "${PG_OLD_REG_KEY}" "Base Directory" + ReadRegStr $DATA_DIR HKLM "${PG_OLD_REG_KEY}" "Data Directory" + + ReadRegStr $ServiceAccount_text HKLM "${PG_OLD_REG_KEY}" "Service Account" + ReadRegStr $ServiceID_text HKLM "${PG_OLD_REG_KEY}" "Service ID" + ReadRegStr $UserName_text HKLM "${PG_OLD_REG_KEY}" "Super User" + ReadRegStr $Branding_text HKLM "${PG_OLD_REG_KEY}" "Branding" + + StrCpy $PG_OLD_DIR $INSTDIR + ${endif} + ReadRegStr $1 HKLM "${PG_REG_KEY}" "Version" ${if} $1 != "" ;we have install @@ -640,11 +657,19 @@ Function ChecExistInstall StrCpy $PG_OLD_DIR $INSTDIR ${endif} + ReadRegDWORD $1 HKLM "${PG_OLD_REG_SERVICE_KEY}" "Port" + ${if} $1 != "" ;we have install + StrCpy $TextPort_text $1 + ${endif} + ReadRegDWORD $1 HKLM "${PG_REG_SERVICE_KEY}" "Port" ${if} $1 != "" ;we have install StrCpy $TextPort_text $1 - ${else} - ;calculate free num port - use EnumRegKey + ${endif} + + ${if} $TextPort_text == "" + ; todo: compatibility with pg-installers family + ; calculate free num port - use EnumRegKey StrCpy $0 0 StrCpy $2 5432 @@ -681,6 +706,11 @@ Function ChecExistInstall ${endif} ${endif} + ReadRegStr $1 HKLM "${PG_OLD_REG_SERVICE_KEY}" "Locale" + ${if} $1 != "" + StrCpy $Locale_text $1 + ${endif} + ReadRegStr $1 HKLM "${PG_REG_SERVICE_KEY}" "Locale" ${if} $1 != "" StrCpy $Locale_text $1 From 7583083cef62a71b41331d988bbd1f2307827d4e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 22 Sep 2016 17:17:52 +0300 Subject: [PATCH 070/299] Avoid cmd.exe sub-shell restrictions --- build/helpers/postgres_nsis_installer.cmd | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index f73b079..4619c62 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -12,6 +12,11 @@ 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 OLD_PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PG_MAJOR_VERSION% + IF %ONE_C% == YES ( SET PRODUCT_NAME=PostgresPro 1C SET PG_DEF_SERVICEID="postgrespro-1C-${PRODUCT_VERSION}" @@ -21,18 +26,12 @@ IF %ONE_C% == YES ( SET PRODUCT_DIR_REGKEY="Software\Postgres Professional\${PRODUCT_NAME}\${PRODUCT_VERSION}" SET PRODUCT_VERSION="%PG_MAJOR_VERSION%" ) ELSE ( - IF "%PRODUCT_NAME%" == "" SET PRODUCT_NAME=PostgresPro SET PG_DEF_SERVICEID="postgresql-%ARCH%-%PG_MAJOR_VERSION%" SET PG_INS_SUFFIX="%ARCH%bit_Setup.exe" - - SET PRODUCT_DIR_REGKEY="SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\%PG_MAJOR_VERSION%" 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 OLD_PRODUCT_DIR_REGKEY="SOFTWARE\%COMPANY_NAME%\%ARCH%\%PG_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 PRODUCT_VERSION="%PG_MAJOR_VERSION% (%ARCH%)" ) @@ -51,8 +50,8 @@ 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 OLD_PRODUCT_DIR_REGKEY %OLD_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_OLD_REG_KEY %PG_OLD_REG_KEY% From 0b866e04d6f4e12d4063bc07ad3f4a9d80ac54bd Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 22 Sep 2016 18:06:01 +0300 Subject: [PATCH 071/299] Remove PG_OLD_REG_KEY data on uninstall --- nsis/postgresql.nsi | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 88b4c6e..5eb4afc 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -758,6 +758,27 @@ 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} FunctionEnd Function un.ChecExistInstall From 4dca04adea031a73d69c88e2954df4c83f3ec39c Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 29 Sep 2016 15:16:24 +0300 Subject: [PATCH 072/299] Update openssl version to 1.0.2.g --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 46bffd8..f4ee116 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -3,7 +3,7 @@ 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.2h +SET OPENSSL_VER=1.0.2g SET GETTEXT_VER=0.19.4 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 From fa6a16f2da658a7df7e9240d09419751a6ac36cd Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 30 Sep 2016 15:00:40 +0300 Subject: [PATCH 073/299] Remove chcp call for PGSQL psql --- nsis/postgresql.nsi | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 5eb4afc..8b56584 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -249,7 +249,11 @@ Section $(PostgreSQLString) sec1 ${Else} StrCpy $Chcp_text "" ${Endif} - + + ${if} ${PRODUCT_NAME} == "PostgreSQL" + StrCpy $Chcp_text "" + ${endif} + DetailPrint "Set codepage $Codepage_text" FileOpen $0 $INSTDIR\scripts\runpgsql.bat w From 7fc321831e4304ce6ab7977871ce5d8f40fb75ff Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 10 Oct 2016 11:35:44 +0300 Subject: [PATCH 074/299] Update source links to 9.6 --- build/helpers/postgres.cmd | 4 ++-- build/helpers/setvars.cmd | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 067e966..8c2fe1b 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -122,8 +122,8 @@ rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc rem download help sources CD /D %DOWNLOADS_DIR% -wget --no-check-certificate -c http://repo.postgrespro.ru/pgpro-9.5-beta/src/help-sources-en.zip || GOTO :ERROR -wget --no-check-certificate -c http://repo.postgrespro.ru/pgpro-9.5-beta/src/help-sources-ru.zip || GOTO :ERROR +wget --no-check-certificate -O help-sources-en.zip -c http://repo.postgrespro.ru/doc/pgpro/9.6/en/help-sources.zip || GOTO :ERROR +wget --no-check-certificate -O help-sources-ru.zip -c http://repo.postgrespro.ru/doc/pgpro/9.6/ru/help-sources.zip || GOTO :ERROR rem building help files CD /D %BUILD_DIR%\postgresql diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index f4ee116..8e87e75 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -67,7 +67,7 @@ SET PGVER=%PG_DEF_VERSION% 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://repo.postgrespro.ru/pgpro-9.5-beta/src/postgrespro-%PGVER%.tar.bz2" + IF "%PRODUCT_NAME%"=="PostgresPro" SET PGURL="http://repo.postgrespro.ru/pgpro-9.6-beta/src/postgrespro-%PGVER%.tar.bz2" ) REM Set useful directories paths so they're used in scripts From 6a16db5842c7be20d9599b32d70a50ec14e6649b Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 10 Oct 2016 14:29:04 +0300 Subject: [PATCH 075/299] Update versions --- build/run.cmd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/run.cmd b/build/run.cmd index 919c304..5a6ec6b 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -42,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=4 +IF "%PG_MAJOR_VERSION%"=="" SET PG_MAJOR_VERSION=9.6 +IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=0 REM Set PgAdmin3 Version SET PGADMIN_VERSION=1.22.1 @@ -82,7 +82,7 @@ IF "%~1"=="12" ( TITLE Building PostgresPro IF "%SDK%"=="" SET SDK=SDK71 IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro - SET PG_PATCH_VERSION=4.1 + SET PG_PATCH_VERSION=0.1 CMD.EXE /C %ROOT%\build\helpers\postgres.cmd ) @@ -96,7 +96,7 @@ IF "%~1"=="13" ( TITLE Building PostgresPro installer IF "%SDK%"=="" SET SDK=SDK71 IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro - SET PG_PATCH_VERSION=4.1 + SET PG_PATCH_VERSION=0.1 CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd ) From 094f4732c8fc36d0dff32fd6eda95bdc2af4728b Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 10 Oct 2016 20:45:22 +0300 Subject: [PATCH 076/299] Add error handling to run.cmd --- build/run.cmd | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/build/run.cmd b/build/run.cmd index 5a6ec6b..6160579 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -69,13 +69,13 @@ 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 + CMD.EXE /C %ROOT%\build\helpers\postgres.cmd || GOTO :ERROR ) IF "%~1"=="12" ( @@ -83,13 +83,13 @@ IF "%~1"=="12" ( IF "%SDK%"=="" SET SDK=SDK71 IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro SET PG_PATCH_VERSION=0.1 - CMD.EXE /C %ROOT%\build\helpers\postgres.cmd + 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 + CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd || GOTO :ERROR ) IF "%~1"=="13" ( @@ -97,37 +97,46 @@ IF "%~1"=="13" ( IF "%SDK%"=="" SET SDK=SDK71 IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro SET PG_PATCH_VERSION=0.1 - CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd + CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd || GOTO :ERROR ) IF "%~1"=="4" ( TITLE Building PgAdmin IF "%SDK%"=="" SET SDK=SDK71 - CMD.EXE /C %ROOT%\build\helpers\pgadmin.cmd + CMD.EXE /C %ROOT%\build\helpers\pgadmin.cmd || GOTO :ERROR ) IF "%~1"=="5" ( TITLE Building PgAdmin installer IF "%SDK%"=="" SET SDK=SDK71 - CMD.EXE /C %ROOT%\build\helpers\pgadmin_installer.cmd + 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 + 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 + 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. From 246e8fc5a23dfa2cfc593a2e1c85b8720dcac1bb Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Fri, 14 Oct 2016 18:08:59 +0300 Subject: [PATCH 077/299] Added zstd support into dependencies --- build/helpers/dependencies.cmd | 27 +++++++++++++++++++++++++++ build/helpers/setvars.cmd | 1 + 2 files changed, 28 insertions(+) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 653999b..cf7f233 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -10,11 +10,37 @@ rm -rf %DEPENDENCIES_SRC_DIR% MKDIR %DEPENDENCIES_SRC_DIR% MKDIR %DOWNLOADS_DIR% +:ZSTD +TITLE "Building libzstd" +set ZSTD_RELEASE=1.1.0 +CD /D %DOWNLOADS_DIR% +wget -O zstd-%ZSTD_RELEASE%.zip --no-check-certificate -c https://github.com/facebook/zstd/archive/v%ZSTD_RELEASE%.zip +rm -rf %DEPENDENCIES_SRC_DIR%/zstd-%ZSTD_RELEASE% +MKDIR %DEPENDENCIES_SRC_DIR%\zstd-%ZSTD_RELEASE% +CD /D %DEPENDENCIES_SRC_DIR% +7z x %DOWNLOADS_DIR%\zstd-%ZSTD_RELEASE%.zip +CD zstd-%ZSTD_RELEASE% +call build/VS_Scripts/build.VS%REDIST_YEAR%.cmd || GOTO :ERROR +MKDIR %DEPENDENCIES_BIN_DIR%\zstd +cp lib\zstd.h %DEPENDENCIES_BIN_DIR%\zstd +if %ARCH% == X86 ( + cp -va build/VS_Scripts/BIN/Release/Win32/zstdlib_x86* %DEPENDENCIES_BIN_DIR%\zstd +) else ( + cp -va build/VS_Scripts/BIN/Release/x64/zstdlib_x64* %DEPENDENCIES_BIN_DIR%\zstd +) +7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\zstd + + 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 +MKDIR %DEPENDENCIES_SRC_DIR%\less-master +CD /D %DEPENDENCIES_SRC_DIR% +7z x %DOWNLOADS_DIR%\less.zip + +CD /D %DEPENDENCIES_SRC_DIR%\less-master :BUILD_LESS TITLE "Building less" @@ -25,6 +51,7 @@ 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 diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 8e87e75..87af059 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -8,6 +8,7 @@ SET GETTEXT_VER=0.19.4 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 SET EDITLINE_VER=2.101 +SET ZSTD_RELEASE=1.1.0 REM Path vars SET PERL32_PATH=C:\Perl From 083a2d96586e61d9a979880ff2a06a00f0785ef7 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 18 Oct 2016 14:01:59 +0300 Subject: [PATCH 078/299] Fix update from 9.5 --- build/helpers/postgres_nsis_installer.cmd | 7 ++- nsis/postgresql.nsi | 64 +++++++++++++++++------ 2 files changed, 53 insertions(+), 18 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 4619c62..1cb5011 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -15,7 +15,8 @@ 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 OLD_PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PG_MAJOR_VERSION% +SET PRODUCT_DIR_REGKEY95=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\9.5 +SET OLD_PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\9.5 IF %ONE_C% == YES ( SET PRODUCT_NAME=PostgresPro 1C @@ -32,6 +33,8 @@ IF %ONE_C% == YES ( SET PG_REG_SERVICE_KEY="%PRODUCT_DIR_REGKEY%\Services\postgresql-%PG_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 PG95_REG_KEY="%PRODUCT_DIR_REGKEY95%\Installations\postgresql-9.5" + SET PG95_REG_SERVICE_KEY="%PRODUCT_DIR_REGKEY95%\Services\postgresql-9.5" SET PRODUCT_VERSION="%PG_MAJOR_VERSION% (%ARCH%)" ) @@ -54,6 +57,8 @@ REM PostgreSQL Section >>%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 PG95_REG_KEY %PG95_REG_KEY% +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG95_REG_SERVICE_KEY %PG95_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_DEF_PORT %PG_DEF_PORT% diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 8b56584..cef4b49 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -628,7 +628,8 @@ SectionEnd ;if exist then get install options to vars Function ChecExistInstall StrCpy $Locale_text "$(DEF_LOCALE_NAME)" - + + ; check old 9.5 params ReadRegStr $1 HKLM "${PG_OLD_REG_KEY}" "Version" ${if} $1 != "" ;we have install @@ -645,6 +646,44 @@ Function ChecExistInstall StrCpy $PG_OLD_DIR $INSTDIR ${endif} + ReadRegDWORD $1 HKLM "${PG_OLD_REG_SERVICE_KEY}" "Port" + ${if} $1 != "" ;we have install + StrCpy $TextPort_text $1 + ${endif} + + ReadRegStr $1 HKLM "${PG_OLD_REG_SERVICE_KEY}" "Locale" + ${if} $1 != "" + StrCpy $Locale_text $1 + ${endif} + + ; check 9.5 params + ReadRegStr $1 HKLM "${PG95_REG_KEY}" "Version" + + ${if} $1 != "" ;we have install + ;get exist options + ReadRegStr $PG_OLD_VERSION HKLM "${PG95_REG_KEY}" "Version" + ReadRegStr $INSTDIR HKLM "${PG95_REG_KEY}" "Base Directory" + ReadRegStr $DATA_DIR HKLM "${PG95_REG_KEY}" "Data Directory" + + ReadRegStr $ServiceAccount_text HKLM "${PG95_REG_KEY}" "Service Account" + ReadRegStr $ServiceID_text HKLM "${PG95_REG_KEY}" "Service ID" + ReadRegStr $UserName_text HKLM "${PG95_REG_KEY}" "Super User" + ReadRegStr $Branding_text HKLM "${PG95_REG_KEY}" "Branding" + + StrCpy $PG_OLD_DIR $INSTDIR + ${endif} + + ReadRegDWORD $1 HKLM "${PG95_REG_SERVICE_KEY}" "Port" + ${if} $1 != "" ;we have install + StrCpy $TextPort_text $1 + ${endif} + + ReadRegStr $1 HKLM "${PG95_REG_SERVICE_KEY}" "Locale" + ${if} $1 != "" + StrCpy $Locale_text $1 + ${endif} + + ; check 9.6 params ReadRegStr $1 HKLM "${PG_REG_KEY}" "Version" ${if} $1 != "" ;we have install @@ -661,19 +700,19 @@ Function ChecExistInstall StrCpy $PG_OLD_DIR $INSTDIR ${endif} - ReadRegDWORD $1 HKLM "${PG_OLD_REG_SERVICE_KEY}" "Port" - ${if} $1 != "" ;we have install - StrCpy $TextPort_text $1 - ${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 - ; calculate free num port - use EnumRegKey StrCpy $0 0 StrCpy $2 5432 @@ -710,18 +749,9 @@ Function ChecExistInstall ${endif} ${endif} - ReadRegStr $1 HKLM "${PG_OLD_REG_SERVICE_KEY}" "Locale" - ${if} $1 != "" - StrCpy $Locale_text $1 - ${endif} - - ReadRegStr $1 HKLM "${PG_REG_SERVICE_KEY}" "Locale" - ${if} $1 != "" - StrCpy $Locale_text $1 - ${endif} FunctionEnd -;write to PG_REG_KEY - "SOFTWARE\PostgreSQL\Installations\postgresql-9.5" +;write to PG_REG_KEY - "SOFTWARE\PostgreSQL\Installations\postgresql-9.6" Function WriteInstallOptions ;get exist options WriteRegStr HKLM "${PG_REG_KEY}" "Version" "${PG_DEF_VERSION}" From 1fd7f580f794736e32bf6d9c9375136f2f6af254 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 18 Oct 2016 16:27:58 +0300 Subject: [PATCH 079/299] Fix update from 9.5 #2 --- nsis/postgresql.nsi | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index cef4b49..b2f9de7 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -57,7 +57,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 @@ -180,21 +181,21 @@ Section "Microsoft Visual C++ ${REDIST_YEAR} Redistributable" secMS SectionEnd Section $(PostgreSQLString) sec1 - ${if} $PG_OLD_DIR != "" ;exist PG install + ${if} $PG_OLD_DIR != "" ; exist PG install MessageBox MB_YESNO|MB_ICONQUESTION "$(MESS_STOP_SERVER)" IDYES doitStop IDNO noyetStop noyetStop: Return 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" ${endif} ;unregister DetailPrint "Unregister the service ..." ${if} $ServiceID_text != "" - nsExec::Exec '"$INSTDIR\bin\pg_ctl.exe" unregister -N "$ServiceID_text"' + nsExec::Exec '"$PG_OLD_DIR\bin\pg_ctl.exe" unregister -N "$ServiceID_text"' pop $0 DetailPrint "pg_ctl.exe unregister return $0" ${endif} @@ -631,19 +632,18 @@ Function ChecExistInstall ; check old 9.5 params ReadRegStr $1 HKLM "${PG_OLD_REG_KEY}" "Version" - ${if} $1 != "" ;we have install ;get exist options ReadRegStr $PG_OLD_VERSION HKLM "${PG_OLD_REG_KEY}" "Version" - ReadRegStr $INSTDIR HKLM "${PG_OLD_REG_KEY}" "Base Directory" - ReadRegStr $DATA_DIR HKLM "${PG_OLD_REG_KEY}" "Data Directory" + 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_OLD_REG_KEY}" "Service Account" ReadRegStr $ServiceID_text HKLM "${PG_OLD_REG_KEY}" "Service ID" ReadRegStr $UserName_text HKLM "${PG_OLD_REG_KEY}" "Super User" ReadRegStr $Branding_text HKLM "${PG_OLD_REG_KEY}" "Branding" - StrCpy $PG_OLD_DIR $INSTDIR + ; StrCpy $PG_OLD_DIR $INSTDIR ${endif} ReadRegDWORD $1 HKLM "${PG_OLD_REG_SERVICE_KEY}" "Port" @@ -662,15 +662,15 @@ Function ChecExistInstall ${if} $1 != "" ;we have install ;get exist options ReadRegStr $PG_OLD_VERSION HKLM "${PG95_REG_KEY}" "Version" - ReadRegStr $INSTDIR HKLM "${PG95_REG_KEY}" "Base Directory" - ReadRegStr $DATA_DIR HKLM "${PG95_REG_KEY}" "Data Directory" + ReadRegStr $PG_OLD_DIR HKLM "${PG95_REG_KEY}" "Base Directory" + ReadRegStr $OLD_DATA_DIR HKLM "${PG95_REG_KEY}" "Data Directory" ReadRegStr $ServiceAccount_text HKLM "${PG95_REG_KEY}" "Service Account" ReadRegStr $ServiceID_text HKLM "${PG95_REG_KEY}" "Service ID" ReadRegStr $UserName_text HKLM "${PG95_REG_KEY}" "Super User" ReadRegStr $Branding_text HKLM "${PG95_REG_KEY}" "Branding" - StrCpy $PG_OLD_DIR $INSTDIR + ; StrCpy $PG_OLD_DIR $INSTDIR ${endif} ReadRegDWORD $1 HKLM "${PG95_REG_SERVICE_KEY}" "Port" @@ -1245,6 +1245,7 @@ Function .onInit !insertmacro MUI_LANGDLL_DISPLAY ;select language 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}" From f1cba57f1a41f491352af289a8324c787bb4de7a Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 18 Oct 2016 17:47:33 +0300 Subject: [PATCH 080/299] Fix update from 9.5 #3 --- nsis/postgresql.nsi | 47 ++++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index b2f9de7..12ab076 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -76,6 +76,11 @@ Var ServiceID_text Var Version_text Var Branding_text +Var OldServiceAccount_text +Var OldServiceID_text +Var OldVersion_text +Var OldBranding_text + Var loggedInUser ;current Domain/UserName Var loggedInUserShort ;current UserName @@ -194,8 +199,8 @@ Section $(PostgreSQLString) sec1 ${endif} ;unregister DetailPrint "Unregister the service ..." - ${if} $ServiceID_text != "" - nsExec::Exec '"$PG_OLD_DIR\bin\pg_ctl.exe" unregister -N "$ServiceID_text"' + ${if} $OldServiceID_text != "" + nsExec::Exec '"$PG_OLD_DIR\bin\pg_ctl.exe" unregister -N "$OldServiceID_text"' pop $0 DetailPrint "pg_ctl.exe unregister return $0" ${endif} @@ -638,10 +643,10 @@ Function ChecExistInstall 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_OLD_REG_KEY}" "Service Account" - ReadRegStr $ServiceID_text HKLM "${PG_OLD_REG_KEY}" "Service ID" - ReadRegStr $UserName_text HKLM "${PG_OLD_REG_KEY}" "Super User" - ReadRegStr $Branding_text HKLM "${PG_OLD_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 ${endif} @@ -665,10 +670,10 @@ Function ChecExistInstall ReadRegStr $PG_OLD_DIR HKLM "${PG95_REG_KEY}" "Base Directory" ReadRegStr $OLD_DATA_DIR HKLM "${PG95_REG_KEY}" "Data Directory" - ReadRegStr $ServiceAccount_text HKLM "${PG95_REG_KEY}" "Service Account" - ReadRegStr $ServiceID_text HKLM "${PG95_REG_KEY}" "Service ID" - ReadRegStr $UserName_text HKLM "${PG95_REG_KEY}" "Super User" - ReadRegStr $Branding_text HKLM "${PG95_REG_KEY}" "Branding" + ReadRegStr $OldServiceAccount_text HKLM "${PG95_REG_KEY}" "Service Account" + ReadRegStr $OldServiceID_text HKLM "${PG95_REG_KEY}" "Service ID" + ReadRegStr $OldUserName_text HKLM "${PG95_REG_KEY}" "Super User" + ReadRegStr $OldBranding_text HKLM "${PG95_REG_KEY}" "Branding" ; StrCpy $PG_OLD_DIR $INSTDIR ${endif} @@ -689,15 +694,21 @@ Function ChecExistInstall ${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 $PG_OLD_DIR HKLM "${PG_REG_KEY}" "Base Directory" ReadRegStr $DATA_DIR HKLM "${PG_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" - - StrCpy $PG_OLD_DIR $INSTDIR + 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 $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" @@ -821,7 +832,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" From bd34d9f8be0cc34ed102c9ae4dbc6961d8092697 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 18 Oct 2016 18:07:14 +0300 Subject: [PATCH 081/299] Fix update from 9.5 #4 --- nsis/postgresql.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 12ab076..88b06e8 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -78,7 +78,7 @@ Var Branding_text Var OldServiceAccount_text Var OldServiceID_text -Var OldVersion_text +Var OldUserName_text Var OldBranding_text Var loggedInUser ;current Domain/UserName From 6914389971c4c27d12847f12314f2965e548038c Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 18 Oct 2016 19:01:33 +0300 Subject: [PATCH 082/299] Fix update from 9.5 #5 --- nsis/postgresql.nsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 88b06e8..eae3321 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -695,7 +695,7 @@ Function ChecExistInstall ;get exist options ReadRegStr $PG_OLD_VERSION HKLM "${PG_REG_KEY}" "Version" ReadRegStr $PG_OLD_DIR HKLM "${PG_REG_KEY}" "Base Directory" - ReadRegStr $DATA_DIR HKLM "${PG_REG_KEY}" "Data 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" @@ -703,6 +703,7 @@ Function ChecExistInstall 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 From 40cc7f50582e88e79913d44b01eb79815a9524ca Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 18 Oct 2016 20:20:51 +0300 Subject: [PATCH 083/299] Fix update from 9.5 #6 (add debug) --- nsis/postgresql.nsi | 1 + 1 file changed, 1 insertion(+) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index eae3321..d722186 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -193,6 +193,7 @@ Section $(PostgreSQLString) sec1 doitStop: DetailPrint "Stop the server ..." ${if} $OLD_DATA_DIR != "" + DetailPrint "${PG_OLD_DIR}\bin\pg_ctl.exe stop -D ${OLD_DATA_DIR} -m fast -w" 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" From eb371922a0f895af1623ef1ffc7dddde7e1bea24 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 18 Oct 2016 20:53:36 +0300 Subject: [PATCH 084/299] Fix update from 9.5 #7 --- nsis/postgresql.nsi | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index d722186..d2ea8aa 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -193,8 +193,7 @@ Section $(PostgreSQLString) sec1 doitStop: DetailPrint "Stop the server ..." ${if} $OLD_DATA_DIR != "" - DetailPrint "${PG_OLD_DIR}\bin\pg_ctl.exe stop -D ${OLD_DATA_DIR} -m fast -w" - nsExec::Exec '$PG_OLD_DIR\bin\pg_ctl.exe" stop -D "$OLD_DATA_DIR" -m fast -w' + 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" ${endif} @@ -250,6 +249,7 @@ Section $(PostgreSQLString) sec1 ;System::Call "kernel32::GetACP() i .r2" ;StrCpy $Codepage_text $2 + ;DetailPrint "Set codepage $Codepage_text" ${If} ${AtLeastWin2008} StrCpy $Chcp_text "chcp 65001" @@ -260,8 +260,6 @@ Section $(PostgreSQLString) sec1 ${if} ${PRODUCT_NAME} == "PostgreSQL" StrCpy $Chcp_text "" ${endif} - - DetailPrint "Set codepage $Codepage_text" FileOpen $0 $INSTDIR\scripts\runpgsql.bat w IfErrors creatBatErr2 From 6174610bb0ebd370b2d0b614dbf6f6dae9f6909c Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 21 Oct 2016 19:58:55 +0300 Subject: [PATCH 085/299] pgadmin RU po update --- build/helpers/pgadmin.cmd | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build/helpers/pgadmin.cmd b/build/helpers/pgadmin.cmd index 7f526c5..3f4ac79 100644 --- a/build/helpers/pgadmin.cmd +++ b/build/helpers/pgadmin.cmd @@ -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.postgrespro.ru/depends/pgadmin3-1.22.1.po -O i18n/ru_RU/pgadmin3.po +wget --no-check-certificate -c https://repo.postgrespro.ru/depends/pgadmin3-ru_RU.tar.bz2 -O docs/ru_RU.tar.bz2 +tar xf docs/ru_RU.tar.bz2 -C docs/ru_RU || 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 From e516b851aa4195cb3316255e6913b8616353ce7a Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 24 Oct 2016 23:40:52 +0300 Subject: [PATCH 086/299] Add product condition for zstd build --- build/helpers/dependencies.cmd | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index cf7f233..2d29801 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -10,6 +10,9 @@ rm -rf %DEPENDENCIES_SRC_DIR% MKDIR %DEPENDENCIES_SRC_DIR% MKDIR %DOWNLOADS_DIR% +if "%PRODUCT_NAME%" == "PostgreSQL" goto :SKIP_ZSTD +if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD + :ZSTD TITLE "Building libzstd" set ZSTD_RELEASE=1.1.0 @@ -30,6 +33,7 @@ if %ARCH% == X86 ( ) 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\zstd +:SKIP_ZSTD REM TO-DO: overwrite to build rules :DOWNLOAD_MSYS_UTILS From 634122c7836828f7d5a6edd2ae7726c6f33d9db3 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 24 Oct 2016 23:53:33 +0300 Subject: [PATCH 087/299] Add product condition for help-sources --- build/helpers/postgres.cmd | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 8c2fe1b..6b4cf41 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -122,8 +122,15 @@ rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc rem download help sources CD /D %DOWNLOADS_DIR% -wget --no-check-certificate -O help-sources-en.zip -c http://repo.postgrespro.ru/doc/pgpro/9.6/en/help-sources.zip || GOTO :ERROR -wget --no-check-certificate -O help-sources-ru.zip -c http://repo.postgrespro.ru/doc/pgpro/9.6/ru/help-sources.zip || GOTO :ERROR +WGET=wget --no-check-certificate +DOCURL=http://repo.postgrespro.ru/doc + +if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-en.zip -c %DOCURL%/pgpro/9.6/en/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-ru.zip -c %DOCURL%/pgpro/9.6/ru/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-en.zip -c %DOCURL%/pgproee/9.6/en/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-ru.zip -c %DOCURL%/pgproee/9.6/ru/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-en.zip -c %DOCURL%/pgsql/9.6/en/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-ru.zip -c %DOCURL%/pgsql/9.6/ru/help-sources.zip || GOTO :ERROR rem building help files CD /D %BUILD_DIR%\postgresql From c83becc58cb94cfd1df12395cc56c3c9970f657a Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 24 Oct 2016 23:55:27 +0300 Subject: [PATCH 088/299] Add patches for 9.6.0, 9.6.1 --- patches/postgresql/9.6.0/perl522.patch | 29 ++++++++++++++++++++++++++ patches/postgresql/9.6.0/series | 1 + patches/postgresql/9.6.1/perl522.patch | 29 ++++++++++++++++++++++++++ patches/postgresql/9.6.1/series | 1 + 4 files changed, 60 insertions(+) create mode 100644 patches/postgresql/9.6.0/perl522.patch create mode 100644 patches/postgresql/9.6.0/series create mode 100644 patches/postgresql/9.6.1/perl522.patch create mode 100644 patches/postgresql/9.6.1/series 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 From 77f604b42cbfaa90937edef0bba2b90402fff953 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 25 Oct 2016 00:16:08 +0300 Subject: [PATCH 089/299] Add patches for 9.4.9 --- patches/postgresql/9.4.9/perl522.patch | 29 ++++++++++++++++++++++++++ patches/postgresql/9.4.9/series | 1 + 2 files changed, 30 insertions(+) create mode 100644 patches/postgresql/9.4.9/perl522.patch create mode 100644 patches/postgresql/9.4.9/series 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 From fe23565b089909e27594e0bc51c912217eb3598e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 25 Oct 2016 00:35:49 +0300 Subject: [PATCH 090/299] fix postgres.cmd --- build/helpers/postgres.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 6b4cf41..acbe132 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -122,8 +122,8 @@ rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc rem download help sources CD /D %DOWNLOADS_DIR% -WGET=wget --no-check-certificate -DOCURL=http://repo.postgrespro.ru/doc +SET WGET="wget --no-check-certificate" +SET DOCURL=http://repo.postgrespro.ru/doc if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-en.zip -c %DOCURL%/pgpro/9.6/en/help-sources.zip || GOTO :ERROR if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-ru.zip -c %DOCURL%/pgpro/9.6/ru/help-sources.zip || GOTO :ERROR From 42364b1095498d94230d0132eba4100968c1ab6f Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 25 Oct 2016 00:58:46 +0300 Subject: [PATCH 091/299] fix postgres.cmd --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index acbe132..4b349e2 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -122,7 +122,7 @@ rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc rem download help sources CD /D %DOWNLOADS_DIR% -SET WGET="wget --no-check-certificate" +SET WGET=wget --no-check-certificate SET DOCURL=http://repo.postgrespro.ru/doc if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-en.zip -c %DOCURL%/pgpro/9.6/en/help-sources.zip || GOTO :ERROR From d35de4072721d10eff692b14eb5c8514eeebd1be Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 25 Oct 2016 02:07:02 +0300 Subject: [PATCH 092/299] Enable docs in menu for pg > 9.4 --- nsis/postgresql.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index d2ea8aa..3f00516 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -341,7 +341,7 @@ Section $(PostgreSQLString) sec1 pop $0 CreateDirectory "$SMPROGRAMS\$StartMenuFolder\Documentation" - ${if} ${PRODUCT_NAME} != "PostgreSQL" + ${if} ${PG_MAJOR_VERSION} != "9.4" !insertmacro CreateInternetShortcut \ "$SMPROGRAMS\$StartMenuFolder\Documentation\Installation notes" \ "$INSTDIR\doc\installation-notes.html" \ From 6007dc52b1e373ca6e3db2ef8ab63a3ec5112e94 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 25 Oct 2016 02:35:41 +0300 Subject: [PATCH 093/299] Fix dependencies.cmd --- build/helpers/dependencies.cmd | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 2d29801..1de3124 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -40,11 +40,6 @@ REM TO-DO: overwrite to build rules 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 -MKDIR %DEPENDENCIES_SRC_DIR%\less-master -CD /D %DEPENDENCIES_SRC_DIR% -7z x %DOWNLOADS_DIR%\less.zip - -CD /D %DEPENDENCIES_SRC_DIR%\less-master :BUILD_LESS TITLE "Building less" From 306acefd2474470febc25278c4756522c0fd7cb1 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 25 Oct 2016 15:47:32 +0300 Subject: [PATCH 094/299] Update install notes --- nsis/installation-notes-ru.html | 13 ++++++------- nsis/installation-notes.html | 4 ++-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/nsis/installation-notes-ru.html b/nsis/installation-notes-ru.html index af9862a..08527f6 100644 --- a/nsis/installation-notes-ru.html +++ b/nsis/installation-notes-ru.html @@ -32,14 +32,13 @@ -

    ��������� Posgre Pro ��� Windows

    +

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

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

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

    -

    ������ ������ Postgres Pro ������� ����� -���� ����������� �� ���������� � �� Windows XP SP3 -� ����. 64-��������� ������ PosgreSQL -������� ����� ���� ����������� ������ �� 64 ��������� ������ -Windows.

    +

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

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

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

    @@ -70,7 +69,7 @@

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

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

    diff --git a/nsis/installation-notes.html b/nsis/installation-notes.html index 6413673..f8b60c0 100644 --- a/nsis/installation-notes.html +++ b/nsis/installation-notes.html @@ -29,9 +29,9 @@ -

    Postgres Pro 9.5

    +

    Postgres Pro

    Installation Notes

    -

    Welcome to the Postgres Pro 9.5 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 From 30958ee75826c9a60272c574dcb674aa87f4427d Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 26 Oct 2016 11:29:04 +0300 Subject: [PATCH 095/299] Fix pgadmin build --- build/helpers/pgadmin.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/pgadmin.cmd b/build/helpers/pgadmin.cmd index 3f4ac79..7b74231 100644 --- a/build/helpers/pgadmin.cmd +++ b/build/helpers/pgadmin.cmd @@ -87,8 +87,8 @@ patch -f -p0 < libssh2.patch || GOTO :ERROR :DONE_PGADMIN_LIBSSH2_PATCH REM Update RU po -wget --no-check-certificate -c https://repo.postgrespro.ru/depends/pgadmin3-1.22.1.po -O i18n/ru_RU/pgadmin3.po -wget --no-check-certificate -c https://repo.postgrespro.ru/depends/pgadmin3-ru_RU.tar.bz2 -O docs/ru_RU.tar.bz2 +wget --no-check-certificate -c https://repo.postgrespro.ru/depends/pgadmin3-%PGADMIN_VERSION%.po -O i18n/ru_RU/pgadmin3.po +wget --no-check-certificate -c https://repo.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/ru_RU || GOTO :ERROR rm -f docs/ru_RU.tar.bz2 From 9df91bfb573dfe47a80fc76ae80ba1b11a1568b0 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 26 Oct 2016 15:27:58 +0300 Subject: [PATCH 096/299] Fix pgadmin build --- build/helpers/pgadmin.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/pgadmin.cmd b/build/helpers/pgadmin.cmd index 7b74231..74c08b0 100644 --- a/build/helpers/pgadmin.cmd +++ b/build/helpers/pgadmin.cmd @@ -89,7 +89,7 @@ patch -f -p0 < libssh2.patch || GOTO :ERROR REM Update RU po wget --no-check-certificate -c https://repo.postgrespro.ru/depends/pgadmin3-%PGADMIN_VERSION%.po -O i18n/ru_RU/pgadmin3.po wget --no-check-certificate -c https://repo.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/ru_RU || GOTO :ERROR +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 From 607546374093d0b18a87f436c212a37ab4fcc9fb Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 27 Oct 2016 02:18:44 +0300 Subject: [PATCH 097/299] Update wineditline version to 2.102 --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 87af059..333efa0 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -7,7 +7,7 @@ SET OPENSSL_VER=1.0.2g SET GETTEXT_VER=0.19.4 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 -SET EDITLINE_VER=2.101 +SET EDITLINE_VER=2.102 SET ZSTD_RELEASE=1.1.0 REM Path vars From 0024c0eae2c37afd06ef4e1e7070c527dffad87b Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 27 Oct 2016 11:59:45 +0300 Subject: [PATCH 098/299] Update PG_PATCH_LEVEL to 1 --- build/run.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/run.cmd b/build/run.cmd index 6160579..b9198a3 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -43,7 +43,7 @@ IF DEFINED USG ( REM Set PostgreSQL version IF "%PG_MAJOR_VERSION%"=="" SET PG_MAJOR_VERSION=9.6 -IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=0 +IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1 REM Set PgAdmin3 Version SET PGADMIN_VERSION=1.22.1 From becf8cae0f6945f51833a5e01eaf1b866560bba7 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 27 Oct 2016 15:26:26 +0300 Subject: [PATCH 099/299] Update PG_PATCH_VERSION to 1.1 for PgPro --- build/run.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/run.cmd b/build/run.cmd index b9198a3..8271d5d 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -82,7 +82,7 @@ IF "%~1"=="12" ( TITLE Building PostgresPro IF "%SDK%"=="" SET SDK=SDK71 IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro - SET PG_PATCH_VERSION=0.1 + SET PG_PATCH_VERSION=1.1 CMD.EXE /C %ROOT%\build\helpers\postgres.cmd || GOTO :ERROR ) @@ -96,7 +96,7 @@ IF "%~1"=="13" ( TITLE Building PostgresPro installer IF "%SDK%"=="" SET SDK=SDK71 IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro - SET PG_PATCH_VERSION=0.1 + SET PG_PATCH_VERSION=1.1 CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd || GOTO :ERROR ) From ae17e95f9ae5e9554f325b2ef19de9cd42f38f29 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 31 Oct 2016 14:20:05 +0300 Subject: [PATCH 100/299] Change service-id name for postgrespro db service --- build/helpers/postgres_nsis_installer.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 1cb5011..2556175 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -27,7 +27,7 @@ IF %ONE_C% == YES ( SET PRODUCT_DIR_REGKEY="Software\Postgres Professional\${PRODUCT_NAME}\${PRODUCT_VERSION}" SET PRODUCT_VERSION="%PG_MAJOR_VERSION%" ) ELSE ( - SET PG_DEF_SERVICEID="postgresql-%ARCH%-%PG_MAJOR_VERSION%" + SET PG_DEF_SERVICEID="postgrespro-%ARCH%-%PG_MAJOR_VERSION%" SET PG_INS_SUFFIX="%ARCH%bit_Setup.exe" 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%" From 3c52e57d090a289f1681243de83a025b24bc6d09 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 31 Oct 2016 14:28:21 +0300 Subject: [PATCH 101/299] Set service-id by product name --- build/helpers/postgres_nsis_installer.cmd | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 2556175..366ad03 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -18,6 +18,12 @@ SET PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\%PG_MAJOR_V SET PRODUCT_DIR_REGKEY95=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\9.5 SET OLD_PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\9.5 +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 "%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}" @@ -27,7 +33,6 @@ IF %ONE_C% == YES ( SET PRODUCT_DIR_REGKEY="Software\Postgres Professional\${PRODUCT_NAME}\${PRODUCT_VERSION}" SET PRODUCT_VERSION="%PG_MAJOR_VERSION%" ) ELSE ( - SET PG_DEF_SERVICEID="postgrespro-%ARCH%-%PG_MAJOR_VERSION%" SET PG_INS_SUFFIX="%ARCH%bit_Setup.exe" 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%" From aa4b79843d0ebbc9fef140872ed8c35e200e0d4a Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 1 Nov 2016 14:24:17 +0300 Subject: [PATCH 102/299] Fix help-sources downloading --- build/helpers/postgres.cmd | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 4b349e2..323e981 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -125,12 +125,12 @@ CD /D %DOWNLOADS_DIR% SET WGET=wget --no-check-certificate SET DOCURL=http://repo.postgrespro.ru/doc -if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-en.zip -c %DOCURL%/pgpro/9.6/en/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-ru.zip -c %DOCURL%/pgpro/9.6/ru/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-en.zip -c %DOCURL%/pgproee/9.6/en/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-ru.zip -c %DOCURL%/pgproee/9.6/ru/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-en.zip -c %DOCURL%/pgsql/9.6/en/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-ru.zip -c %DOCURL%/pgsql/9.6/ru/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-en.zip %DOCURL%/pgpro/9.6/en/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-ru.zip %DOCURL%/pgpro/9.6/ru/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-en.zip %DOCURL%/pgproee/9.6/en/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-ru.zip %DOCURL%/pgproee/9.6/ru/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-en.zip %DOCURL%/pgsql/9.6/en/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-ru.zip %DOCURL%/pgsql/9.6/ru/help-sources.zip || GOTO :ERROR rem building help files CD /D %BUILD_DIR%\postgresql From 13ca203fb2049d0b9fcc9f748efad646d612c041 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 7 Nov 2016 15:39:20 +0300 Subject: [PATCH 103/299] Add patches for 9.6 branch --- patches/postgresql/9.6/perl522.patch | 29 ++++++++++++++++++++++++++++ patches/postgresql/9.6/series | 1 + 2 files changed, 30 insertions(+) create mode 100644 patches/postgresql/9.6/perl522.patch create mode 100644 patches/postgresql/9.6/series 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 From 3322646b90105c306893458728e1484ea13f08aa Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 7 Nov 2016 15:53:12 +0300 Subject: [PATCH 104/299] Use PG_MAJOR_VERSION for build patch location. --- build/helpers/postgres.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 323e981..170df2b 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -30,11 +30,11 @@ IF %ONE_C% == YES ( ) ) -cp -va %ROOT%/patches/postgresql/%PGVER%/series . +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/%PGVER%/%%I . + cp -va %ROOT%/patches/postgresql/%PG_MAJOR_VERSION%/%%I . patch -p1 < %%I || GOTO :ERROR ) From fe2e0546743b0f58a08d82c9a09c4e3589c43714 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 7 Nov 2016 19:46:46 +0300 Subject: [PATCH 105/299] Update openssl version --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 333efa0..9f0dd78 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -3,7 +3,7 @@ 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 OPENSSL_VER=1.0.2j SET GETTEXT_VER=0.19.4 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 From 79aa25cc3cae07b456ed1a45f4d5c22ff08d4653 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 8 Nov 2016 11:04:09 +0300 Subject: [PATCH 106/299] Apply patches for pgsql only --- build/helpers/postgres.cmd | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 170df2b..5108869 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -30,12 +30,14 @@ IF %ONE_C% == YES ( ) ) -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 +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 From a5488e1c4a7f8a88bc31a70c623fc955aba2d07f Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 8 Nov 2016 14:05:19 +0300 Subject: [PATCH 107/299] Use PG_PREV_MAJOR_VERSION variable for define upgrade actions --- build/helpers/postgres.cmd | 12 ++++++------ build/helpers/postgres_nsis_installer.cmd | 4 ++-- build/helpers/setvars.cmd | 2 +- build/run.cmd | 1 + 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 5108869..08e4785 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -127,12 +127,12 @@ CD /D %DOWNLOADS_DIR% SET WGET=wget --no-check-certificate SET DOCURL=http://repo.postgrespro.ru/doc -if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-en.zip %DOCURL%/pgpro/9.6/en/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-ru.zip %DOCURL%/pgpro/9.6/ru/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-en.zip %DOCURL%/pgproee/9.6/en/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-ru.zip %DOCURL%/pgproee/9.6/ru/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-en.zip %DOCURL%/pgsql/9.6/en/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-ru.zip %DOCURL%/pgsql/9.6/ru/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-en.zip %DOCURL%/pgpro/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-ru.zip %DOCURL%/pgpro/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-en.zip %DOCURL%/pgproee/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-ru.zip %DOCURL%/pgproee/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-en.zip %DOCURL%/pgsql/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR +if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-ru.zip %DOCURL%/pgsql/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR rem building help files CD /D %BUILD_DIR%\postgresql diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 366ad03..1e744f7 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -15,8 +15,8 @@ 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 PRODUCT_DIR_REGKEY95=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\9.5 -SET OLD_PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\9.5 +SET PRODUCT_DIR_REGKEY95=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\%PG_PREV_MAJOR_VERSION% +SET OLD_PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PG_PREV_MAJOR_VERSION% REM Set Service-Id SET PG_DEF_SERVICEID="postgresql-%ARCH%-%PG_MAJOR_VERSION%" diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 9f0dd78..58f34ad 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -68,7 +68,7 @@ SET PGVER=%PG_DEF_VERSION% 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://repo.postgrespro.ru/pgpro-9.6-beta/src/postgrespro-%PGVER%.tar.bz2" + IF "%PRODUCT_NAME%"=="PostgresPro" SET PGURL="http://repo.postgrespro.ru/pgpro-%PG_MAJOR_VERSION%-beta/src/postgrespro-%PGVER%.tar.bz2" ) REM Set useful directories paths so they're used in scripts diff --git a/build/run.cmd b/build/run.cmd index 8271d5d..f922306 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -42,6 +42,7 @@ IF DEFINED USG ( :OK REM Set PostgreSQL version +IF "%PG_PREV_MAJOR_VERSION%"=="" SET PG_PREV_MAJOR_VERSION=9.5 IF "%PG_MAJOR_VERSION%"=="" SET PG_MAJOR_VERSION=9.6 IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1 From 49379c5904d0869901d52dd7d3db5887811d9c91 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 8 Nov 2016 14:57:20 +0300 Subject: [PATCH 108/299] Better PG_PREV_MAJOR_VERSION support --- build/helpers/postgres_nsis_installer.cmd | 18 +++++--- nsis/postgresql.nsi | 54 +++++++++++++++++------ 2 files changed, 52 insertions(+), 20 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 1e744f7..5572eb9 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -15,8 +15,10 @@ 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 PRODUCT_DIR_REGKEY95=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\%PG_PREV_MAJOR_VERSION% -SET OLD_PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PG_PREV_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% REM Set Service-Id SET PG_DEF_SERVICEID="postgresql-%ARCH%-%PG_MAJOR_VERSION%" @@ -36,10 +38,12 @@ IF %ONE_C% == YES ( SET PG_INS_SUFFIX="%ARCH%bit_Setup.exe" 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 PG95_REG_KEY="%PRODUCT_DIR_REGKEY95%\Installations\postgresql-9.5" - SET PG95_REG_SERVICE_KEY="%PRODUCT_DIR_REGKEY95%\Services\postgresql-9.5" + 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 PRODUCT_VERSION="%PG_MAJOR_VERSION% (%ARCH%)" ) @@ -62,10 +66,12 @@ REM PostgreSQL Section >>%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 PG95_REG_KEY %PG95_REG_KEY% ->>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define PG95_REG_SERVICE_KEY %PG95_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% diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 3f00516..644d9ea 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -633,8 +633,34 @@ SectionEnd ;if exist then get install options to vars Function ChecExistInstall StrCpy $Locale_text "$(DEF_LOCALE_NAME)" + + ; 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 9.5 params + ; check old major version params ReadRegStr $1 HKLM "${PG_OLD_REG_KEY}" "Version" ${if} $1 != "" ;we have install ;get exist options @@ -660,34 +686,34 @@ Function ChecExistInstall StrCpy $Locale_text $1 ${endif} - ; check 9.5 params - ReadRegStr $1 HKLM "${PG95_REG_KEY}" "Version" + ; 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 "${PG95_REG_KEY}" "Version" - ReadRegStr $PG_OLD_DIR HKLM "${PG95_REG_KEY}" "Base Directory" - ReadRegStr $OLD_DATA_DIR HKLM "${PG95_REG_KEY}" "Data Directory" + 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 "${PG95_REG_KEY}" "Service Account" - ReadRegStr $OldServiceID_text HKLM "${PG95_REG_KEY}" "Service ID" - ReadRegStr $OldUserName_text HKLM "${PG95_REG_KEY}" "Super User" - ReadRegStr $OldBranding_text HKLM "${PG95_REG_KEY}" "Branding" + 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 "${PG95_REG_SERVICE_KEY}" "Port" + ReadRegDWORD $1 HKLM "${PG_PREV_REG_SERVICE_KEY}" "Port" ${if} $1 != "" ;we have install StrCpy $TextPort_text $1 ${endif} - ReadRegStr $1 HKLM "${PG95_REG_SERVICE_KEY}" "Locale" + ReadRegStr $1 HKLM "${PG_PREV_REG_SERVICE_KEY}" "Locale" ${if} $1 != "" StrCpy $Locale_text $1 ${endif} - ; check 9.6 params + ; check current major version params ReadRegStr $1 HKLM "${PG_REG_KEY}" "Version" ${if} $1 != "" ;we have install @@ -762,7 +788,7 @@ Function ChecExistInstall FunctionEnd -;write to PG_REG_KEY - "SOFTWARE\PostgreSQL\Installations\postgresql-9.6" +;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}" From 558b94b85172988905cd92a538189ecb3456b1fa Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 8 Nov 2016 15:23:56 +0300 Subject: [PATCH 109/299] Add 9.4 patches --- patches/postgresql/9.4/perl522.patch | 29 ++++++++++++++++++++++++++++ patches/postgresql/9.4/series | 1 + 2 files changed, 30 insertions(+) create mode 100644 patches/postgresql/9.4/perl522.patch create mode 100644 patches/postgresql/9.4/series 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 From c039b0b0fb3cfa3a05a6de8442fd67ab67dc3fa1 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 8 Nov 2016 15:24:29 +0300 Subject: [PATCH 110/299] Add 9.3 and 9.2 patches --- patches/postgresql/9.2/perl522.patch | 29 ++++++++++++++++++++++++++++ patches/postgresql/9.2/series | 1 + patches/postgresql/9.3/perl522.patch | 29 ++++++++++++++++++++++++++++ patches/postgresql/9.3/series | 1 + 4 files changed, 60 insertions(+) create mode 100644 patches/postgresql/9.2/perl522.patch create mode 100644 patches/postgresql/9.2/series create mode 100644 patches/postgresql/9.3/perl522.patch create mode 100644 patches/postgresql/9.3/series 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 From d09dd0e5d4348cb2bc1d04c15bd92b5fe19ad0cd Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 8 Nov 2016 16:26:58 +0300 Subject: [PATCH 111/299] Add check for pgsql docs --- build/helpers/postgres.cmd | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 08e4785..98941a6 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -131,8 +131,14 @@ if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-en.zip %DOCURL%/pgpr if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-ru.zip %DOCURL%/pgpro/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-en.zip %DOCURL%/pgproee/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-ru.zip %DOCURL%/pgproee/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-en.zip %DOCURL%/pgsql/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-ru.zip %DOCURL%/pgsql/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR + +SET HAVE_PGSQL_DOC=0 +if "%PG_MAJOR_VERSION%" == "9.5" SET HAVE_PGSQL_DOC=1 +if "%PG_MAJOR_VERSION%" == "9.6" SET HAVE_PGSQL_DOC=1 +if %HAVE_PGSQL_DOC% == 1 ( + if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-en.zip %DOCURL%/pgsql/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR + if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-ru.zip %DOCURL%/pgsql/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR +) rem building help files CD /D %BUILD_DIR%\postgresql From d2b837497e08e3aa4973f20258095e3693f37998 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 25 Nov 2016 17:00:58 +0300 Subject: [PATCH 112/299] Update PGPRO patch-version --- build/run.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/run.cmd b/build/run.cmd index f922306..6f5ecb3 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -83,7 +83,7 @@ IF "%~1"=="12" ( TITLE Building PostgresPro IF "%SDK%"=="" SET SDK=SDK71 IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro - SET PG_PATCH_VERSION=1.1 + SET PG_PATCH_VERSION=1.2 CMD.EXE /C %ROOT%\build\helpers\postgres.cmd || GOTO :ERROR ) @@ -97,7 +97,7 @@ IF "%~1"=="13" ( TITLE Building PostgresPro installer IF "%SDK%"=="" SET SDK=SDK71 IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro - SET PG_PATCH_VERSION=1.1 + SET PG_PATCH_VERSION=1.2 CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd || GOTO :ERROR ) From fa720fcb2905d0ec967b2ed1d4354448428c74cd Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Tue, 13 Dec 2016 18:30:00 +0300 Subject: [PATCH 113/299] Build pg_repack for enterprise ver --- build/helpers/postgres.cmd | 18 ++++++++++++++++++ build/helpers/setvars.cmd | 1 + 2 files changed, 19 insertions(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 98941a6..da88502 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -96,6 +96,8 @@ 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 now actually copy DLLs of dependencies into our bindir 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 @@ -122,6 +124,21 @@ CD /D %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin rem CD /D %BUILD_DIR%\postgresql\*%PGVER%*\doc\src\sgml rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc +rem download and build pg_repack extension + +if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( + CD /D %DOWNLOADS_DIR% + if not EXIST pg_repack-%PG_REPACK_VER%.tar.bz2 ( + set PG_REPACK_URL=https://repo.postgrespro.ru/pgproee-9.6-beta/src/pg_repack-%PG_REPACK_VER%.tar.bz2 + %WGET% %PG_REPACK_URL% || goto :ERROR + ) + CD /D %BUILDDIR% + tar xf %DOWNLOADS_DIR%/pg_repack*.tar.bz2 || goto :ERROR + CD pg_repack-%PG_REPACK_VER% + perl win32build.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql +) + +) rem download help sources CD /D %DOWNLOADS_DIR% SET WGET=wget --no-check-certificate @@ -132,6 +149,7 @@ if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-ru.zip %DOCURL%/pgpr if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-en.zip %DOCURL%/pgproee/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-ru.zip %DOCURL%/pgproee/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR + SET HAVE_PGSQL_DOC=0 if "%PG_MAJOR_VERSION%" == "9.5" SET HAVE_PGSQL_DOC=1 if "%PG_MAJOR_VERSION%" == "9.6" SET HAVE_PGSQL_DOC=1 diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 58f34ad..7031187 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -9,6 +9,7 @@ SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 SET EDITLINE_VER=2.102 SET ZSTD_RELEASE=1.1.0 +SET PG_REPACK_VER=1.3.4 REM Path vars SET PERL32_PATH=C:\Perl From 8502dee5b8fde502b5be9c1036aa4bcb436aced4 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 16 Dec 2016 11:43:46 +0300 Subject: [PATCH 114/299] fix postgres.cmd --- build/helpers/postgres.cmd | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index da88502..84b0b3c 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -96,8 +96,7 @@ 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 now actually copy DLLs of dependencies into our bindir 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%/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 From c38b6ea9eb724ff668ebf09bcb54456200c2cdbb Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Fri, 16 Dec 2016 12:11:40 +0300 Subject: [PATCH 115/299] move wget URL up the script --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 84b0b3c..c35ee00 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -124,6 +124,7 @@ rem CD /D %BUILD_DIR%\postgresql\*%PGVER%*\doc\src\sgml rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc rem download and build pg_repack extension +SET WGET=wget --no-check-certificate if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( CD /D %DOWNLOADS_DIR% @@ -140,7 +141,6 @@ if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( ) rem download help sources CD /D %DOWNLOADS_DIR% -SET WGET=wget --no-check-certificate SET DOCURL=http://repo.postgrespro.ru/doc if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-en.zip %DOCURL%/pgpro/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR From 39d9f5dc007e0c6c6706a5fa77f087c4df2be0c8 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 16 Dec 2016 13:08:36 +0300 Subject: [PATCH 116/299] Fix parenthesis for pg_repack --- build/helpers/postgres.cmd | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index c35ee00..2cb29a2 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -136,9 +136,8 @@ if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( tar xf %DOWNLOADS_DIR%/pg_repack*.tar.bz2 || goto :ERROR CD pg_repack-%PG_REPACK_VER% perl win32build.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql -) - ) + rem download help sources CD /D %DOWNLOADS_DIR% SET DOCURL=http://repo.postgrespro.ru/doc From 62e827fffdf565f68af9a1440be55a5e4919bf89 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Fri, 16 Dec 2016 13:36:10 +0300 Subject: [PATCH 117/299] moved set upper --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 2cb29a2..cd51912 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -126,10 +126,10 @@ rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc rem download and build pg_repack extension SET WGET=wget --no-check-certificate +set PG_REPACK_URL=https://repo.postgrespro.ru/pgproee-9.6-beta/src/pg_repack-%PG_REPACK_VER%.tar.bz2 if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( CD /D %DOWNLOADS_DIR% if not EXIST pg_repack-%PG_REPACK_VER%.tar.bz2 ( - set PG_REPACK_URL=https://repo.postgrespro.ru/pgproee-9.6-beta/src/pg_repack-%PG_REPACK_VER%.tar.bz2 %WGET% %PG_REPACK_URL% || goto :ERROR ) CD /D %BUILDDIR% From 0a8a8e81b6ccdb5938e0b902a68c4d31806733cb Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 16 Dec 2016 13:39:56 +0300 Subject: [PATCH 118/299] Fix BUILD_DIR for pg_repack --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index cd51912..7cc4719 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -132,7 +132,7 @@ if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( if not EXIST pg_repack-%PG_REPACK_VER%.tar.bz2 ( %WGET% %PG_REPACK_URL% || goto :ERROR ) - CD /D %BUILDDIR% + CD /D %BUILD_DIR% tar xf %DOWNLOADS_DIR%/pg_repack*.tar.bz2 || goto :ERROR CD pg_repack-%PG_REPACK_VER% perl win32build.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql From fc0b9e7a5597453f3eb42aa63dccd10eb51e20bf Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Fri, 16 Dec 2016 14:07:32 +0300 Subject: [PATCH 119/299] fix path in tar command --- build/helpers/postgres.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index cd51912..dc05f75 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -132,8 +132,8 @@ if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( if not EXIST pg_repack-%PG_REPACK_VER%.tar.bz2 ( %WGET% %PG_REPACK_URL% || goto :ERROR ) - CD /D %BUILDDIR% - tar xf %DOWNLOADS_DIR%/pg_repack*.tar.bz2 || goto :ERROR + tar -cf pg_repack-%PG_REPACK_VER%.tar.bz2 -C %BUILD_UDIR%\postgresql || goto :ERROR + CD /D %BUILD_DIR%\postgresql CD pg_repack-%PG_REPACK_VER% perl win32build.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql ) From 80283b8128d9a2dfd3ceadbf5ed91816a1390bc2 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 21 Dec 2016 17:34:35 +0300 Subject: [PATCH 120/299] Fix type errors --- nsis/installation-notes-ru.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/installation-notes-ru.html b/nsis/installation-notes-ru.html index 08527f6..2017861 100644 --- a/nsis/installation-notes-ru.html +++ b/nsis/installation-notes-ru.html @@ -159,7 +159,7 @@ ����� �������. ����� � ������� �� ���������. ������������ ���������� �� ���������.

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

    From 1a1cf80881df27a470dbfa6bb0c8013690cd32d5 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 21 Dec 2016 18:20:59 +0300 Subject: [PATCH 121/299] Apply patch to translates.nsi --- nsis/translates.nsi | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/nsis/translates.nsi b/nsis/translates.nsi index c870909..65480ea 100644 --- a/nsis/translates.nsi +++ b/nsis/translates.nsi @@ -1,17 +1,17 @@ LangString PostgreSQLString ${LANG_ENGLISH} "PostgreSQL server" -LangString PostgreSQLString ${LANG_RUSSIAN} "PostgreSQL ������" +LangString PostgreSQLString ${LANG_RUSSIAN} "������ PostgreSQL" LangString DATADIR_MESS ${LANG_ENGLISH} "Please 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 �� ���� ���������" @@ -20,7 +20,7 @@ LangString PostgreSQLString ${LANG_RUSSIAN} "PostgreSQL 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_Sec1die ${LANG_RUSSIAN} "����������, ������� �������, ���� ����� ���������� PostgreSQL" LangString SERVER_SET_TITLE ${LANG_ENGLISH} "Server options" LangString SERVER_SET_TITLE ${LANG_RUSSIAN} "��������� �������" @@ -29,36 +29,36 @@ LangString PostgreSQLString ${LANG_RUSSIAN} "PostgreSQL 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_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_RUSSIAN} "������� ����������� ������� PostgresSQL � �������� " 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_RUSSIAN} "��� ��������� ����� ���������.$\n$\n��� ���������� ���������� ����� ������������� ������������� ������ " LangString DATADIR_EXIST_TITLE ${LANG_ENGLISH} "Existing data directory" - LangString DATADIR_EXIST_TITLE ${LANG_RUSSIAN} "��� ������� ���������� � �������" + 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_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_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_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_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_PASS3 ${LANG_ENGLISH} "You entered the password with non-Latin characters. Do you wish use that password?" LangString MESS_PASS3 ${LANG_RUSSIAN} "�� ������������ � ������ ����������� �������. ��� ����� ������� \ - �������� � ������ ������! ����������" + �������� � ������ ������! ����������?" LangString DLG_PORT ${LANG_ENGLISH} "Port:" @@ -68,13 +68,13 @@ LangString PostgreSQLString ${LANG_RUSSIAN} "PostgreSQL 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_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_RUSSIAN} "�����- ������������:" LangString DLG_PASS1 ${LANG_ENGLISH} "Password:" LangString DLG_PASS1 ${LANG_RUSSIAN} "������:" @@ -86,8 +86,8 @@ LangString PostgreSQLString ${LANG_RUSSIAN} "PostgreSQL The server will allocate more memory. \ The parameters are written to the file $DATA_DIR\postgresql.conf" - 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" @@ -107,7 +107,7 @@ 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_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_RUSSIAN} "��� ������������� ������� ��������� ������! ��������, ������ ������� �� ������ �����������." From 6aedd6a61986f7f01305d0f37d323e086fa20ab1 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Mon, 9 Jan 2017 17:48:03 +0300 Subject: [PATCH 122/299] Incremented versions of XML and gettext libraries --- build/helpers/setvars.cmd | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 7031187..a98f7f5 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -1,10 +1,10 @@ REM LIBRARY VERSIONS SET ICONV_VER=1.14 -SET XSLT_VER=1.1.28 +SET XSLT_VER=1.1.29 SET ZLIB_VER=1.2.8 -SET XML_VER=2.7.3 +SET XML_VER=2.9.4 SET OPENSSL_VER=1.0.2j -SET GETTEXT_VER=0.19.4 +SET GETTEXT_VER=0.19.8 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 SET EDITLINE_VER=2.102 From 4b8d0084a4edcaa2a178962b6a670aaff2172525 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 10 Jan 2017 11:27:39 +0300 Subject: [PATCH 123/299] Change PG_PATH_VERSION to 1.3 --- build/run.cmd | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build/run.cmd b/build/run.cmd index 6f5ecb3..7337b86 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -44,7 +44,6 @@ IF DEFINED USG ( REM Set PostgreSQL version IF "%PG_PREV_MAJOR_VERSION%"=="" SET PG_PREV_MAJOR_VERSION=9.5 IF "%PG_MAJOR_VERSION%"=="" SET PG_MAJOR_VERSION=9.6 -IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1 REM Set PgAdmin3 Version SET PGADMIN_VERSION=1.22.1 @@ -76,6 +75,7 @@ IF "%~1"=="1" ( IF "%~1"=="2" ( TITLE Building PostgreSQL IF "%SDK%"=="" SET SDK=SDK71 + IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1 CMD.EXE /C %ROOT%\build\helpers\postgres.cmd || GOTO :ERROR ) @@ -83,13 +83,14 @@ IF "%~1"=="12" ( TITLE Building PostgresPro IF "%SDK%"=="" SET SDK=SDK71 IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro - SET PG_PATCH_VERSION=1.2 + IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1.3 CMD.EXE /C %ROOT%\build\helpers\postgres.cmd || GOTO :ERROR ) IF "%~1"=="3" ( TITLE Building PostgreSQL installer IF "%SDK%"=="" SET SDK=SDK71 + IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1 CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd || GOTO :ERROR ) @@ -97,7 +98,7 @@ IF "%~1"=="13" ( TITLE Building PostgresPro installer IF "%SDK%"=="" SET SDK=SDK71 IF "%PRODUCT_NAME%"=="" SET PRODUCT_NAME=PostgresPro - SET PG_PATCH_VERSION=1.2 + IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1.3 CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd || GOTO :ERROR ) From 7cf005bd422ba96583c5e441075e5f9a864153e4 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 24 Jan 2017 15:07:52 +0300 Subject: [PATCH 124/299] Change ZLIB version to 1.2.11 --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index a98f7f5..c5c2f69 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -1,7 +1,7 @@ REM LIBRARY VERSIONS SET ICONV_VER=1.14 SET XSLT_VER=1.1.29 -SET ZLIB_VER=1.2.8 +SET ZLIB_VER=1.2.11 SET XML_VER=2.9.4 SET OPENSSL_VER=1.0.2j SET GETTEXT_VER=0.19.8 From 1bd63db0798ee03e79dd25ff5b0680ad01a1adfa Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 24 Jan 2017 19:31:14 +0300 Subject: [PATCH 125/299] Fixes for new libxml2 --- build/helpers/dependencies.cmd | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 1de3124..34ec21d 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -157,7 +157,7 @@ CD /D %DOWNLOADS_DIR% 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- +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_UDIR% || GOTO :ERROR CD /D %DEPENDENCIES_SRC_DIR%\libxml2-*\win32 @@ -168,7 +168,8 @@ nmake /f Makefile.msvc || GOTO :ERROR nmake /f Makefile.msvc install || 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 From 31457dda3a1ade9613615b5e7374ef2fc6f8037e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 27 Jan 2017 15:45:18 +0300 Subject: [PATCH 126/299] Update gettext patches to 0.19.8 --- ...-msvc2013.patch => gettext-0.19.8-msvc2013.patch} | 12 ------------ ...-msvc2015.patch => gettext-0.19.8-msvc2015.patch} | 12 ------------ ...0.19.4-sdk71.patch => gettext-0.19.8-sdk71.patch} | 12 ------------ 3 files changed, 36 deletions(-) rename patches/gettext/{gettext-0.19.4-msvc2013.patch => gettext-0.19.8-msvc2013.patch} (99%) rename patches/gettext/{gettext-0.19.4-msvc2015.patch => gettext-0.19.8-msvc2015.patch} (99%) rename patches/gettext/{gettext-0.19.4-sdk71.patch => gettext-0.19.8-sdk71.patch} (99%) 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 9b6aef7..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 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 9b6aef7..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 diff --git a/patches/gettext/gettext-0.19.4-sdk71.patch b/patches/gettext/gettext-0.19.8-sdk71.patch similarity index 99% rename from patches/gettext/gettext-0.19.4-sdk71.patch rename to patches/gettext/gettext-0.19.8-sdk71.patch index 9b6aef7..409070c 100644 --- a/patches/gettext/gettext-0.19.4-sdk71.patch +++ b/patches/gettext/gettext-0.19.8-sdk71.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 From fdd401d4a5db756088e818a05bd34ab3e5ee340f Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 27 Jan 2017 16:10:38 +0300 Subject: [PATCH 127/299] Fix names of patch files --- ...ettext-0.19.8-msvc2013.patch => gettext-0.19.8-MSVC2013.patch} | 0 ...ettext-0.19.8-msvc2015.patch => gettext-0.19.8-MSVC2015.patch} | 0 .../{gettext-0.19.8-sdk71.patch => gettext-0.19.8-SDK71.patch} | 0 ...{libiconv-1.14-msvc2013.patch => libiconv-1.14-MSVC2013.patch} | 0 ...{libiconv-1.14-msvc2015.patch => libiconv-1.14-MSVC2015.patch} | 0 .../{libiconv-1.14-sdk71.patch => libiconv-1.14-SDK71.patch} | 0 .../pgadmin/{libssh2-msvc2015.patch => libssh2-MSVC2015.patch} | 0 ...idgets-3.0.2-msvc2015.patch => wxWidgets-3.0.2-MSVC2015.patch} | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename patches/gettext/{gettext-0.19.8-msvc2013.patch => gettext-0.19.8-MSVC2013.patch} (100%) rename patches/gettext/{gettext-0.19.8-msvc2015.patch => gettext-0.19.8-MSVC2015.patch} (100%) rename patches/gettext/{gettext-0.19.8-sdk71.patch => gettext-0.19.8-SDK71.patch} (100%) rename patches/libiconv/{libiconv-1.14-msvc2013.patch => libiconv-1.14-MSVC2013.patch} (100%) rename patches/libiconv/{libiconv-1.14-msvc2015.patch => libiconv-1.14-MSVC2015.patch} (100%) rename patches/libiconv/{libiconv-1.14-sdk71.patch => libiconv-1.14-SDK71.patch} (100%) rename patches/pgadmin/{libssh2-msvc2015.patch => libssh2-MSVC2015.patch} (100%) rename patches/wxWidgets/{wxWidgets-3.0.2-msvc2015.patch => wxWidgets-3.0.2-MSVC2015.patch} (100%) diff --git a/patches/gettext/gettext-0.19.8-msvc2013.patch b/patches/gettext/gettext-0.19.8-MSVC2013.patch similarity index 100% rename from patches/gettext/gettext-0.19.8-msvc2013.patch rename to patches/gettext/gettext-0.19.8-MSVC2013.patch diff --git a/patches/gettext/gettext-0.19.8-msvc2015.patch b/patches/gettext/gettext-0.19.8-MSVC2015.patch similarity index 100% rename from patches/gettext/gettext-0.19.8-msvc2015.patch rename to patches/gettext/gettext-0.19.8-MSVC2015.patch diff --git a/patches/gettext/gettext-0.19.8-sdk71.patch b/patches/gettext/gettext-0.19.8-SDK71.patch similarity index 100% rename from patches/gettext/gettext-0.19.8-sdk71.patch rename to patches/gettext/gettext-0.19.8-SDK71.patch 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 similarity index 100% rename from patches/libiconv/libiconv-1.14-msvc2015.patch rename to patches/libiconv/libiconv-1.14-MSVC2015.patch 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/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/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 From 17ce8c96d3c7f07e40a99ccdb5fb7071c9bbab82 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 27 Jan 2017 18:43:10 +0300 Subject: [PATCH 128/299] Fix libxml2 dll copying --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index f3c9a72..407031e 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -98,7 +98,7 @@ rem now actually copy DLLs of dependencies into our bindir 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%/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 || 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%/openssl/lib/VC/openssl.exe %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR From 89868e061d9402ba22e07012e09e113727ffad5f Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 31 Jan 2017 12:36:27 +0300 Subject: [PATCH 129/299] Added patch to libxml2-2.9.4 for SDK71 --- build/helpers/dependencies.cmd | 2 ++ patches/libxml2/libxml2.patch | 40 ++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 patches/libxml2/libxml2.patch diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 34ec21d..0509c6c 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -160,6 +160,8 @@ wget -c ftp://xmlsoft.org/libxml2/libxml2-%XML_VER%.tar.gz -O libxml2-%XML_VER%. 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_UDIR% || GOTO :ERROR +CD /D %DEPENDENCIES_SRC_DIR%\libxml2-* +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 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"); From ba83a69562e053425ef29c8243ad5014c9a9e12e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 10 Feb 2017 18:49:05 +0300 Subject: [PATCH 130/299] Disable upgrade mode for installers of previous major version --- nsis/postgresql.nsi | 98 ++++++++++++++++++++++----------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 644d9ea..afd7070 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -635,30 +635,30 @@ Function ChecExistInstall StrCpy $Locale_text "$(DEF_LOCALE_NAME)" ; 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} + ; 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" @@ -687,31 +687,31 @@ Function ChecExistInstall ${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} + ; 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" From 3a4ff430e47600ca81ae5216605cf195d872667e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 10 Feb 2017 19:38:35 +0300 Subject: [PATCH 131/299] Update tcp-port auto selector --- nsis/postgresql.nsi | 86 ++++++++++++++++++++++++++------------------- 1 file changed, 49 insertions(+), 37 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index afd7070..eb1a886 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -21,7 +21,7 @@ !include "Utf8Converter.nsh" !include "WinVer.nsh" - +!include "Ports.nsh" !insertmacro VersionCompare ;-------------------------------- @@ -746,45 +746,57 @@ Function ChecExistInstall ${if} $1 != "" StrCpy $Locale_text $1 ${endif} - - ; calculate free num port - use EnumRegKey + + ; tcp-port auto selector ${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 + StrCpy $TextPort_text 5432 + ${while} 1 = 1 + ${if} ${TCPPortOpen} $TextPort_text + IntOp $TextPort_text $TextPort_text + 1 + ${else} + ${exitwhile} ${endif} - - IntOp $0 $0 + 1 - ${EndWhile} - - ${if} $IsTextPortInIni != 1 ;port can be send in ini file - StrCpy $TextPort_text $2 - ${endif} + ${endwhile} ${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 From 54f1fda25e5f5126df5ed139572a5507dfcab5de Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 10 Feb 2017 19:58:17 +0300 Subject: [PATCH 132/299] Add Ports.nsh --- nsis/Ports.nsh | 118 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 nsis/Ports.nsh diff --git a/nsis/Ports.nsh b/nsis/Ports.nsh new file mode 100644 index 0000000..4f93f08 --- /dev/null +++ b/nsis/Ports.nsh @@ -0,0 +1,118 @@ +# 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} + System::Call ws2_32::ntohs(ir4)i.r4 + + ${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` From cc5ca404812a822457381b674b4c5973d7953dff Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 14 Feb 2017 14:48:10 +0300 Subject: [PATCH 133/299] Replace tcp-port auto selector to separate function --- nsis/postgresql.nsi | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index eb1a886..810976b 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -747,18 +747,6 @@ Function ChecExistInstall StrCpy $Locale_text $1 ${endif} - ; tcp-port auto selector - ${if} $TextPort_text == "" - StrCpy $TextPort_text 5432 - ${while} 1 = 1 - ${if} ${TCPPortOpen} $TextPort_text - IntOp $TextPort_text $TextPort_text + 1 - ${else} - ${exitwhile} - ${endif} - ${endwhile} - ${endif} - ; calculate free num port - use EnumRegKey ; ${if} $TextPort_text == "" ; ; todo: compatibility with pg-installers family @@ -1288,15 +1276,27 @@ Function nsDialogsOptimizationPageLeave ${endif} 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 + Function .onInit Call CheckWindowsVersion - + Call SetDefaultTcpPort + !insertmacro MUI_LANGDLL_DISPLAY ;select language 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}" From 1d1a51ba6be819e866dd830a0c219febd6b47cff Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 16 Feb 2017 14:45:14 +0300 Subject: [PATCH 134/299] Use repo.l --- build/helpers/dependencies.cmd | 8 ++++---- build/helpers/pgadmin.cmd | 4 ++-- build/helpers/postgres.cmd | 4 ++-- build/helpers/setvars.cmd | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 0509c6c..2b5ed0c 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -39,7 +39,7 @@ 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 +wget --no-check-certificate -c http://repo.l.postgrespro.ru/depends/mingw_min/min_msys_X86.zip -O min_msys_%ARCH%.zip :BUILD_LESS TITLE "Building less" @@ -66,7 +66,7 @@ cp -va *.exe %DEPENDENCIES_BIN_DIR%\less TITLE Build winlibedit CD /D %DOWNLOADS_DIR% REM wget --no-check-certificate -c http://downloads.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip -wget --no-check-certificate -c http://repo.postgrespro.ru/depends/wineditline-%EDITLINE_VER%.zip +wget --no-check-certificate -c http://repo.l.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 @@ -90,7 +90,7 @@ COPY editline\readline.h %DEPENDENCIES_BIN_DIR%\wineditline\include\editline TITLE Building iconv... CD /D %DOWNLOADS_DIR% 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 +wget --no-check-certificate -c http://repo.l.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_UDIR% || GOTO :ERROR @@ -226,7 +226,7 @@ CD /D %DOWNLOADS_DIR% TITLE Building gettext... CD /D %DOWNLOADS_DIR% 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 +wget --no-check-certificate -c http://repo.l.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_UDIR% || GOTO :ERROR diff --git a/build/helpers/pgadmin.cmd b/build/helpers/pgadmin.cmd index 74c08b0..566560c 100644 --- a/build/helpers/pgadmin.cmd +++ b/build/helpers/pgadmin.cmd @@ -87,8 +87,8 @@ patch -f -p0 < libssh2.patch || GOTO :ERROR :DONE_PGADMIN_LIBSSH2_PATCH REM Update RU po -wget --no-check-certificate -c https://repo.postgrespro.ru/depends/pgadmin3-%PGADMIN_VERSION%.po -O i18n/ru_RU/pgadmin3.po -wget --no-check-certificate -c https://repo.postgrespro.ru/depends/pgadmin3-%PGADMIN_VERSION%-ru_RU.tar.bz2 -O docs/ru_RU.tar.bz2 +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 diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 407031e..3afb206 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -126,7 +126,7 @@ rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc rem download and build pg_repack extension SET WGET=wget --no-check-certificate -set PG_REPACK_URL=https://repo.postgrespro.ru/pgproee-9.6-beta/src/pg_repack-%PG_REPACK_VER%.tar.bz2 +set PG_REPACK_URL=https://repo.l.postgrespro.ru/pgproee-9.6-beta/src/pg_repack-%PG_REPACK_VER%.tar.bz2 if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( CD /D %DOWNLOADS_DIR% if not EXIST pg_repack-%PG_REPACK_VER%.tar.bz2 ( @@ -140,7 +140,7 @@ if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( rem download help sources CD /D %DOWNLOADS_DIR% -SET DOCURL=http://repo.postgrespro.ru/doc +SET DOCURL=http://repo.l.postgrespro.ru/doc if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-en.zip %DOCURL%/pgpro/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-ru.zip %DOCURL%/pgpro/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index c5c2f69..46d98a4 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -69,7 +69,7 @@ SET PGVER=%PG_DEF_VERSION% 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://repo.postgrespro.ru/pgpro-%PG_MAJOR_VERSION%-beta/src/postgrespro-%PGVER%.tar.bz2" + IF "%PRODUCT_NAME%"=="PostgresPro" SET PGURL="http://repo.l.postgrespro.ru/pgpro-%PG_MAJOR_VERSION%-beta/src/postgrespro-%PGVER%.tar.bz2" ) REM Set useful directories paths so they're used in scripts From aaa1a7057d2831b9ca81b0353527f78a9794d073 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 1 Mar 2017 17:17:05 +0300 Subject: [PATCH 135/299] [pgsql]: Use charset cp1251 for psql-console if the Russian interface is selected. --- nsis/postgresql.nsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 810976b..7777fc5 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -259,6 +259,10 @@ Section $(PostgreSQLString) sec1 ${if} ${PRODUCT_NAME} == "PostgreSQL" StrCpy $Chcp_text "" + + ${if} ${LANGUAGE} == ${LANG_RUSSIAN} + StrCpy $Chcp_text "chcp 1251" + ${endif} ${endif} FileOpen $0 $INSTDIR\scripts\runpgsql.bat w From d31d785d97a14e35f5d042cd429e23364013dc7f Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 1 Mar 2017 20:01:22 +0300 Subject: [PATCH 136/299] Added debug info for language settings. --- nsis/postgresql.nsi | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 7777fc5..8c15b04 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -260,7 +260,12 @@ Section $(PostgreSQLString) sec1 ${if} ${PRODUCT_NAME} == "PostgreSQL" StrCpy $Chcp_text "" - ${if} ${LANGUAGE} == ${LANG_RUSSIAN} + 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} From c59aa364e00597387fb39e5e5cb39e9aad54b797 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 20 Mar 2017 20:26:18 +0300 Subject: [PATCH 137/299] Add zstd to config.pl for PGPROEE --- build/helpers/postgres.cmd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 3afb206..f0ff03f 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -64,6 +64,7 @@ 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', +if "%PRODUCT_NAME%" == "PostgresProEnterprise" >>src\tools\msvc\config.pl ECHO zstd ^=^> '%DEPENDENCIES_BIN_DIR%\zstd', >>src\tools\msvc\config.pl ECHO icu ^=^> '%DEPENDENCIES_BIN_DIR%\icu', >>src\tools\msvc\config.pl ECHO libedit ^=^> '%DEPENDENCIES_BIN_DIR%\wineditline' >>src\tools\msvc\config.pl ECHO ^}; @@ -103,6 +104,7 @@ cp -va %DEPENDENCIES_BIN_DIR%/libxslt/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGV cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/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 +cp -va %DEPENDENCIES_BIN_DIR%/zstd/*.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 REM Copy needed executables cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/openssl.exe %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR From ef5854fb7a5fb7bd86b574da56f0990f85514792 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 22 Mar 2017 14:10:13 +0300 Subject: [PATCH 138/299] Copying zstd libs only for PGPROEE --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index f0ff03f..fc64267 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -104,7 +104,7 @@ cp -va %DEPENDENCIES_BIN_DIR%/libxslt/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGV cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/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 -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%/zstd/*.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 REM Copy needed executables cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/openssl.exe %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR From b3c8fa872a79bb66d19bbea7803502fa25f4e405 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Fri, 14 Apr 2017 15:39:28 +0300 Subject: [PATCH 139/299] Added copying of buildinfo.txt into installable tree --- build/helpers/postgres.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index fc64267..1c77e41 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -95,6 +95,7 @@ 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 +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 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 From 5be78dee0255759fb467b95defb539247912282b Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 25 Apr 2017 15:50:08 +0300 Subject: [PATCH 140/299] Try to fix welcome-page title height for PGPRO_EE --- nsis/postgresql.nsi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 8c15b04..e66cc7d 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -124,6 +124,9 @@ Var service !define MUI_ABORTWARNING +;!define MUI_WELCOMEPAGE_TITLE_HEIGHT 38 +!define MUI_WELCOMEPAGE_TITLE_3LINES + ;-------------------------------- ;Pages ;Page custom nsDialogsPage From 983c81d2e6ca19ef214e56c2d1f834c6ad07f739 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 25 Apr 2017 16:29:11 +0300 Subject: [PATCH 141/299] Fix finish-page title height for PGPRO_EE --- nsis/postgresql.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index e66cc7d..405397c 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -124,8 +124,8 @@ Var service !define MUI_ABORTWARNING -;!define MUI_WELCOMEPAGE_TITLE_HEIGHT 38 !define MUI_WELCOMEPAGE_TITLE_3LINES +!define MUI_FINISHPAGE_TITLE_3LINES ;-------------------------------- ;Pages From 371e243ebcc7b7a095ec67ca8057d073eb3facf8 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 25 Apr 2017 17:04:00 +0300 Subject: [PATCH 142/299] Fix uninstall-page title height for PGPRO_EE --- nsis/postgresql.nsi | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 405397c..85e473e 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -124,13 +124,12 @@ Var service !define MUI_ABORTWARNING -!define MUI_WELCOMEPAGE_TITLE_3LINES -!define MUI_FINISHPAGE_TITLE_3LINES - ;-------------------------------- ;Pages ;Page custom nsDialogsPage +!define MUI_WELCOMEPAGE_TITLE_3LINES +!define MUI_FINISHPAGE_TITLE_3LINES !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "License.txt" @@ -162,6 +161,8 @@ 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_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES From b1b5b34ca00551375dbf869fe6c6506bacf13380 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 19 May 2017 13:53:57 +0300 Subject: [PATCH 143/299] Add patches for 9.5 branch --- patches/postgresql/9.5/perl522.patch | 29 ++++++++++++++++++++++++++++ patches/postgresql/9.5/series | 1 + 2 files changed, 30 insertions(+) create mode 100644 patches/postgresql/9.5/perl522.patch create mode 100644 patches/postgresql/9.5/series 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 From f961f8c318a29a3c89f64a3a8be439648dde2705 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 9 Aug 2017 17:37:01 +0300 Subject: [PATCH 144/299] Fix PG_REPACK_URL --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 1c77e41..6d2c36e 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -129,7 +129,7 @@ rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc rem download and build pg_repack extension SET WGET=wget --no-check-certificate -set PG_REPACK_URL=https://repo.l.postgrespro.ru/pgproee-9.6-beta/src/pg_repack-%PG_REPACK_VER%.tar.bz2 +set PG_REPACK_URL=https://repo.postgrespro.ru/pgproee-9.6-beta/src/pg_repack-%PG_REPACK_VER%.tar.bz2 if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( CD /D %DOWNLOADS_DIR% if not EXIST pg_repack-%PG_REPACK_VER%.tar.bz2 ( From 38a04879c503f6495f886064afcfe4bda344b242 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 31 Aug 2017 15:28:24 +0300 Subject: [PATCH 145/299] Add RunAs plugin --- nsis/Plugins/RunAs.dll | Bin 0 -> 7168 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 nsis/Plugins/RunAs.dll diff --git a/nsis/Plugins/RunAs.dll b/nsis/Plugins/RunAs.dll new file mode 100644 index 0000000000000000000000000000000000000000..e59f2b15469dbeb785a3b1f53c00ece91152b861 GIT binary patch literal 7168 zcmeHMdu&_P89#B|HL$cX;B27_<92l*t&(7;ar`LV>?BUp;&h=&2&~N#Cw3ZZj-6d! zmx6+n;$Ep&p0x=2N42$5O{*@Bon~wtJv9e^{`1EO#H((fT*Xe^aCXgj zf&1*5_5pub7!pIfM9-km=LrTwlF;iD#7I!^2ZhG(wh4nFudjOL${P(C)2%MX+yyJx zz`o(ethaaAs_^dX>*xR2a`#1R2l5dZM@uzOYg94&l7n1;v)`P!luSfC#7XbW`tp(AU z=3p#YEvkx_h-UfUgeI49`gpvR}%2-)+g_V{{eg$~)%FV%IBJ-@2Q zYuE!hi2U%CJEj>(a$q3YDFPLZ!%%ieOrmm!U>F2hNz1@|EHPN%@SlBUXZW)5)`vD|VX> z*!;@T+!meJ+FlcHjV+Ut(ue7Dsy1ha=i|~HOwk)ssY1p~vkEsftu;`}sh7Z$(-B?P ze5A>Ah3j96`!4VJes|ZIB1SayN3!}yc_c|GFbxi4M=6}tJR(o+#$)b|bUHn%1{vSY z;?LemO8-K9rgW+a(I}h9d^SDQ83%-Oz7W^$(N&R8E00e_eC$A-xQ* zW4sa0l?!cq7Yao0i9444&=HW~!}EE~th)MC~R z&lHfIMnh@Lr2}0ARL@nALJvKCE>y}%WlCD5oR4)~n>nLnqclIMpTePO z7LM8tr5L7+ z1&LG-X&C$Pc>gp;#^qy>n9{I_#3lqtfErB6NkL5riN+#@;FXz@@x$k#47`-5rXPnk zscYjh*?(C+i|2A|2OUB$LZCd|3LYTREtcPczA4$S$lT6OgBC97HX-wI`2a@0fEB?# zP}yLJN2ZUsdJAf+MXEu{5s<07z;xu@wMezmI0BN3tjp%|F`%5{`cUU2# z?LSWUt0EtS|8X6;kq-fl%SR|6R4&eGU`T3A<>}&F9lW9#pAIBQ{!<@QTnlA#GIGOW z)iN3g;1ZW==T3c$jT%372b{5valQ^O(0->So-QBpFx}`V$*85vhnLXU57C9f1QVDp zYGu;b)4JG7B4YPy<4)~SLgm@W+{{$gKDG*yP8?Z{0aw$~I=+Z+QLbe6Z(4ttME69l zpm^u>DBk*O>GT6Tx~5FY=%!;3vH2Svu`-!Z`K`$1`RA9eSJi&(HUXO-ax?eD*R8UW zc;wWe?i|`LpY}KTQ96BpzCXR{Zx;S?PlM6Xj)_Z{VdcWSUJV0z#|ok^78X2;V(Iq& zm89auuEjwei6I1mLnPL$P5)83(lJ>NMFd@ZIvHK?(vpvNjG5k|#f3$ZE~!AdCvS%i z&jB|ACUeDnQ^CyEJ*!5B*N-_Pmv8tjsE0m?ZoE6PLfyqv6SeR=d67(KHWJF|0dIVS z!lkv*tHB%Dlc1h?m(*xmVD-(vnVG2UdCKpry$i2GC$^GemuIBH%$+bb?Kj-smUnGR{4vk}o9$kc#V-gn{?3 zCMtM;E>X$**NaatHv;QdT<5Xc(K3F+(_Xyq z0dTJ=(=o0zQ4HaS$EO>#@7&6CyvEZFg?OXVB^*e0dKnFll{6CGPyw7N4f=#mKx}QL zu@XHY4P}W|$dxu>y1~egpN7gAYhK~^k3lGy(K`3iBMh}c@LqyJn}H1YK2BJ725Ynh4#l~^1|0s z8L!h->_J@j^`=?u&TrzfO1(y@WeW)@YMJV$<7G;@jix=`pgr2d`@*9m)T^%rQ_9tp z6>7Hg%HJX<=TD|Sf}PCWNF6^PaHr8Fgqw_(UJ;$lnad0dG2uo;(WHZp#NT0XE?o^e z^^07K>2fR7bI+s3Jo^4Tx+jlr&ZE6~^gtdxlt%~h==MCiHILqzM_1<2hCG@!d~SZU zuybjez+Ad8kJjeVx;(mQ3C-VU?)(cb0JUM6q(|wLMI)U0>+OrHz==$4b1i1;ob7XE z*YW?a3Y4<|3p4r%p|&dbmio;N4V@cms$9)gHC1g}-CL_Rw>NLEYT2@FGuTjja6?UZ zc)%n2yhD;$_3g0#VV|&RlR$l_zXCeluIBExX6JTS<2qIzwwFijLchl!@OcGKIP4Q8 ze<&#Ql!xzx+v@7O@VBe4k3(N5*zezUmw$t`?k;$#QoU5cO*Ot9Z1zb`DKxmvGw5>) z6&|3KLKuIl-|)J1!kSIEiLSTLS%K`gH*c%@Ee*dn7(oSS2jG6d5q$e0IB~NI=kQC7 zAPCuRz+S-PfS&`N0+1yQTZZ3v%h~ow&>61w1_G=x5NPrEgW29;s^OFB9rOqNVM)Z4 zis4Ul99GptXQp$Q>d3+M_61a6xF^R5_84w!b|8mm01r1jJCVb)f`_*r_G}JM0?zUhF^CAo?I_6+?Z#aJbVi z4Y)(QLcvZXbdoiRK2?p~RNxMUeh?XQ_VtA#K?!3!u?wAEFP)lB#(v3~{J{+I2i6o4 z2R%{?40?9?$P~VF=bo^PH57n$d%}`S6hk8F%eo)z3wt9&&^55`ZtUn#(6`4gfj-E( zeWDl)k)1i#?GK^8B^pm}NR-$bO`nI7Bbiat-yevC2MD)m`iDe+Q0fQ%9Zf&-U`*5u zF6ut48T1W?ePo`!sDbOg0Yt&r8=40f$Ca~fxD|%{^^yL5pGdV}Y%B5HC}v=@7>W!b zi5A~ruMbBHTF+8&Hs0rK-Lj#ky3y?>u^#e#xW~19o68LyI>OK@pfecW-6u*a=WfuS z2Xe=@Vl2TnSNoDU*q7CGILG0u!PsK_q47t?CyZx}ZyP@_-ejsY^_l{v$4rMzmo_|I zd#3iy+IMT;uPrpMHCLIxZQf$`n?>^@=Eu#4%}<#p%(Lc;=1XQxovCi1Zn$o5-H+>@ zuY05J{kr9rZ&=n_YAkk3y~S;L!15Ez&n(9+r!6mAes6ixa?$d>Wwo{3YP4>&Hd*hr z?zDQXLF-=Y6V_i@pR@kPdW&tXt=_iX)@u`OkJ=uyJz;y=cE&bq`;+Yho5p^#{af}L ed%b Date: Thu, 31 Aug 2017 16:36:43 +0300 Subject: [PATCH 146/299] Try to start pgpro_upgrade over runas plugin --- nsis/postgresql.nsi | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 85e473e..921ef03 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -507,13 +507,21 @@ Section $(PostgreSQLString) sec1 AccessControl::GrantOnFile "$INSTDIR\scripts" "$loggedInUser" "FullAccess" 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 '"$INSTDIR/scripts/pgpro_upgrade" "$DATA_DIR"' + ; there exist data directory. We need to stop service, + ; run pgpro-upgrade script and + + ;DetailPrint "Performing catalog upgradeon $DATA_DIR" + ;nsExec::ExecToStack '"$INSTDIR/scripts/pgpro_upgrade" "$DATA_DIR"' + ;Pop $0 + ;Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} + ;DetailPrint "$1" + 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 - Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} - DetailPrint "$1" + DetailPrint "pgpro_upgrade over runas return $0" ${endif} DetailPrint "Start server service..." From 404c93d7ec7b4fa34aaee10f9cf7d84731c963db Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 31 Aug 2017 17:02:48 +0300 Subject: [PATCH 147/299] Return back simple pgpro_upgrade call --- nsis/postgresql.nsi | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 921ef03..eeff872 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -510,18 +510,20 @@ Section $(PostgreSQLString) sec1 ; there exist data directory. We need to stop service, ; run pgpro-upgrade script and - ;DetailPrint "Performing catalog upgradeon $DATA_DIR" - ;nsExec::ExecToStack '"$INSTDIR/scripts/pgpro_upgrade" "$DATA_DIR"' - ;Pop $0 - ;Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} - ;DetailPrint "$1" - 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" + DetailPrint "Performing catalog upgradeon $DATA_DIR" + nsExec::ExecToStack '"$INSTDIR/scripts/pgpro_upgrade" "$DATA_DIR"' + Pop $0 + Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} + DetailPrint "$1" + + ; 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..." From 200dd9464133d9b313a271b644d1d19a99f7ab96 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 31 Aug 2017 17:42:41 +0300 Subject: [PATCH 148/299] Fix slash on pgpro_upgrade call --- nsis/postgresql.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index eeff872..b3dbe69 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -511,7 +511,7 @@ Section $(PostgreSQLString) sec1 ; run pgpro-upgrade script and DetailPrint "Performing catalog upgradeon $DATA_DIR" - nsExec::ExecToStack '"$INSTDIR/scripts/pgpro_upgrade" "$DATA_DIR"' + nsExec::ExecToStack '"$INSTDIR\scripts\pgpro_upgrade" "$DATA_DIR"' Pop $0 Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} DetailPrint "$1" From d6005b4cd8101fe80a7d9cc9a361f146b4b667a0 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 31 Aug 2017 17:47:00 +0300 Subject: [PATCH 149/299] Set perms on scripts\pgpro_upgrade --- nsis/postgresql.nsi | 1 + 1 file changed, 1 insertion(+) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index b3dbe69..70ed5f7 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -505,6 +505,7 @@ Section $(PostgreSQLString) sec1 Pop $0 ;"ok" or "error" + error details AccessControl::GrantOnFile "$INSTDIR\scripts" "$loggedInUser" "FullAccess" + AccessControl::GrantOnFile "$INSTDIR\scripts\pgpro_upgrade" "$loggedInUser" "GenericRead + GenericExecute" Pop $0 ;"ok" or "error" + error details ${if} $isDataDirExist == 1 ; there exist data directory. We need to stop service, From 155bbe43a35157a948afa326e27ac6e2c8b27ae5 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 31 Aug 2017 19:25:42 +0300 Subject: [PATCH 150/299] Add timeout to pgpro_upgrade call --- nsis/postgresql.nsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 70ed5f7..a4fe520 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -512,8 +512,9 @@ Section $(PostgreSQLString) sec1 ; run pgpro-upgrade script and DetailPrint "Performing catalog upgradeon $DATA_DIR" - nsExec::ExecToStack '"$INSTDIR\scripts\pgpro_upgrade" "$DATA_DIR"' + nsExec::ExecToStack /TIMEOUT=120000 '"$INSTDIR\scripts\pgpro_upgrade" "$DATA_DIR"' Pop $0 + DetailPrint "pgpro_upgrade return $0" Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} DetailPrint "$1" From 2ff6d649d8e5a11231b5101d572f7ae7d0379d3a Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 31 Aug 2017 19:39:00 +0300 Subject: [PATCH 151/299] Fix path to pgpro_upgrade.cmd --- nsis/postgresql.nsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index a4fe520..cf75b03 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -505,14 +505,14 @@ Section $(PostgreSQLString) sec1 Pop $0 ;"ok" or "error" + error details AccessControl::GrantOnFile "$INSTDIR\scripts" "$loggedInUser" "FullAccess" - AccessControl::GrantOnFile "$INSTDIR\scripts\pgpro_upgrade" "$loggedInUser" "GenericRead + GenericExecute" + 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" "$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} From 0eff32544d7e9dddedb6b49ac1e0d030ffffc871 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 31 Aug 2017 20:48:56 +0300 Subject: [PATCH 152/299] Write pgpro_upgrage.log --- nsis/postgresql.nsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index cf75b03..ce09058 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -517,6 +517,11 @@ Section $(PostgreSQLString) sec1 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 From 562caba4fd1690d0a48b0e70d216a4dbe69ec7f9 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 6 Oct 2017 16:05:01 +0300 Subject: [PATCH 153/299] Set PG 10 as current major version --- build/helpers/postgres.cmd | 3 ++- build/run.cmd | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 6d2c36e..6772172 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -129,7 +129,7 @@ rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc rem download and build pg_repack extension SET WGET=wget --no-check-certificate -set PG_REPACK_URL=https://repo.postgrespro.ru/pgproee-9.6-beta/src/pg_repack-%PG_REPACK_VER%.tar.bz2 +set PG_REPACK_URL=https://repo.postgrespro.ru/pgproee-%PG_MAJOR_VERSION%-beta/src/pg_repack-%PG_REPACK_VER%.tar.bz2 if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( CD /D %DOWNLOADS_DIR% if not EXIST pg_repack-%PG_REPACK_VER%.tar.bz2 ( @@ -154,6 +154,7 @@ if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-ru.zip %DO SET HAVE_PGSQL_DOC=0 if "%PG_MAJOR_VERSION%" == "9.5" SET HAVE_PGSQL_DOC=1 if "%PG_MAJOR_VERSION%" == "9.6" SET HAVE_PGSQL_DOC=1 +if "%PG_MAJOR_VERSION%" == "10" SET HAVE_PGSQL_DOC=1 if %HAVE_PGSQL_DOC% == 1 ( if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-en.zip %DOCURL%/pgsql/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-ru.zip %DOCURL%/pgsql/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR diff --git a/build/run.cmd b/build/run.cmd index 7337b86..36c1968 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -42,8 +42,8 @@ IF DEFINED USG ( :OK REM Set PostgreSQL version -IF "%PG_PREV_MAJOR_VERSION%"=="" SET PG_PREV_MAJOR_VERSION=9.5 -IF "%PG_MAJOR_VERSION%"=="" SET PG_MAJOR_VERSION=9.6 +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 From 348fa14cc6ffd18c3bcffff313143b8f44d91965 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 10 Oct 2017 21:15:41 +0300 Subject: [PATCH 154/299] Extra copy ICU libs for PG10 on x64 --- build/helpers/dependencies.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 2b5ed0c..4636e33 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -271,6 +271,7 @@ IF %ARCH% == X64 msbuild source\allinone\allinone.sln /m /p:Configuration="Relea 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\lib64 %DEPENDENCIES_BIN_DIR%\icu\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 From 782f3b00b51d505486f1c6e85fd3113973772747 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 8 Nov 2017 16:23:17 +0300 Subject: [PATCH 155/299] Updated openssl version to 1.0.2m --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 46d98a4..7bf0674 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -3,7 +3,7 @@ SET ICONV_VER=1.14 SET XSLT_VER=1.1.29 SET ZLIB_VER=1.2.11 SET XML_VER=2.9.4 -SET OPENSSL_VER=1.0.2j +SET OPENSSL_VER=1.0.2m SET GETTEXT_VER=0.19.8 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 From d10f60a9a1923fc5c6933a25b7eae13f5c048052 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 17 Nov 2017 15:38:07 +0300 Subject: [PATCH 156/299] Disabled locale selection for PG10 --- nsis/postgresql.nsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index ce09058..4e37c1a 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -1046,7 +1046,7 @@ Function nsDialogServer Pop $Locale ${NSD_CB_AddString} $Locale "$(DEF_LOCALE_NAME)" - + ${if} ${PG_MAJOR_VERSION} != "10" ${NSD_CB_AddString} $Locale "Afrikaans, South Africa" ${NSD_CB_AddString} $Locale "Albanian, Albania" ${NSD_CB_AddString} $Locale "Azeri (Cyrillic), Azerbaijan" @@ -1173,7 +1173,7 @@ Function nsDialogServer ${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)" From 79e5c7ec8d623f18090e176333f85458ae63e82b Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 17 Nov 2017 19:55:08 +0300 Subject: [PATCH 157/299] Updated locale listing for PG10 --- nsis/postgresql.nsi | 607 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 480 insertions(+), 127 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 4e37c1a..d7e4eee 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -1046,133 +1046,486 @@ Function nsDialogServer Pop $Locale ${NSD_CB_AddString} $Locale "$(DEF_LOCALE_NAME)" - ${if} ${PG_MAJOR_VERSION} != "10" - ${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 "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 "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 "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-DZ" ; 0x1401 ar-DZ Arabic (Algeria)‎ Arabic العربية (الجزائر)‏ 1256 720 DZA ARG + ${NSD_CB_AddString} $Locale "ar-BH" ; 0x3C01 ar-BH Arabic (Bahrain)‎ Arabic العربية (البحرين)‏ 1256 720 BHR ARH + ${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 "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-AE" ; 0x3801 ar-AE Arabic (U.A.E.)‎ Arabic العربية (الإمارات العربية المتحدة)‏ 1256 720 ARE ARU + ${NSD_CB_AddString} $Locale "ar-YE" ; 0x2401 ar-YE Arabic (Yemen)‎ Arabic العربية (اليمن)‏ 1256 720 YEM ARY + ${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 "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 "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 "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 "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 "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 "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 "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 "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 "zh" ; 0x7804 zh Chinese 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-CN" ; 0x0804 zh-CN Chinese (Simplified, PRC) Chinese (Simplified) 中文(中华人民共和国) 936 936 CHN CHS + ${NSD_CB_AddString} $Locale "zh-SG" ; 0x1004 zh-SG Chinese (Simplified, Singapore) Chinese (Simplified) 中文(新加坡) 936 936 SGP ZHI + ${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-TW" ; 0x0404 zh-TW Chinese (Traditional, Taiwan) Chinese (Traditional) 中文(台灣) 950 950 TWN CHT + ${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 "hr" ; 0x001A hr Croatian Croatian hrvatski 1250 852 HRV HRV + ${NSD_CB_AddString} $Locale "hr-HR" ; 0x041A hr-HR Croatian (Croatia) Croatian hrvatski (Hrvatska) 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 "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 "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 "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 "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 "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 "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-029" ; 0x2409 en-029 English (Caribbean) English English (Caribbean) 1252 850 CAR ENB + ${NSD_CB_AddString} $Locale "en-IN" ; 0x4009 en-IN English (India) English English (India) 1252 437 IND ENN + ${NSD_CB_AddString} $Locale "en-IE" ; 0x1809 en-IE English (Ireland) English English (Ireland) 1252 850 IRL ENI + ${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-ZA" ; 0x1C09 en-ZA English (South Africa) English English (South Africa) 1252 437 ZAF ENS + ${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-GB" ; 0x0809 en-GB English (United Kingdom) English English (United Kingdom) 1252 850 GBR ENG + ${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-ZW" ; 0x3009 en-ZW English (Zimbabwe) English English (Zimbabwe) 1252 437 ZWE ENW + ${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 "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 "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 "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 "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-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 "fr-CH" ; 0x100C fr-CH French (Switzerland) French français (Suisse) 1252 850 CHE FRS + ${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 "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 "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 "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-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 "de-CH" ; 0x0807 de-CH German (Switzerland) German Deutsch (Schweiz) 1252 850 CHE DES + ${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 "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 "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 "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 "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 "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 "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 "iu" ; 0x005D iu Inuktitut Inuktitut (Latin) Inuktitut 1252 437 CAN IUK + ${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 "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 "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 "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 "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 + ${NSD_CB_AddString} $Locale "it" ; 0x0010 it Italian Italian italiano 1252 850 ITA ITA + ${NSD_CB_AddString} $Locale "it-IT" ; 0x0410 it-IT Italian (Italy) Italian italiano (Italia) 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 "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 "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 "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 "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 "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 "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 "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 "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" ; 0x0012 ko Korean Korean 한국어 949 949 KOR KOR + ${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 "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 "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 "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 "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 "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 "mk-MK" ; 0x042F mk-MK Macedonian (Former Yugoslav Republic of Macedonia) Macedonian (FYROM) македонски јазик (Македонија) 1251 866 MKD MKI + ${NSD_CB_AddString} $Locale "mk" ; 0x002F mk Macedonian (FYROM) Macedonian (FYROM) македонски јазик 1251 866 MKD MKI + ${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 "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 "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 "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 "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 "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 "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 "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 "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 "no" ; 0x0014 no Norwegian Norwegian (Bokmål) norsk 1252 850 NOR NOR + ${NSD_CB_AddString} $Locale "nb" ; 0x7C14 nb Norwegian (Bokmål) Norwegian (Bokmål) norsk (bokmål) 1252 850 NOR NOR + ${NSD_CB_AddString} $Locale "nn" ; 0x7814 nn Norwegian (Nynorsk) Norwegian (Nynorsk) norsk (nynorsk) 1252 850 NOR NON + ${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 "nn-NO" ; 0x0814 nn-NO Norwegian, Nynorsk (Norway) Norwegian (Nynorsk) norsk, nynorsk (Noreg) 1252 850 NOR NON + ${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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "smn" ; 0x703B smn Sami (Inari) Sami (Inari) sämikielâ 1252 850 FIN SMN + ${NSD_CB_AddString} $Locale "smj" ; 0x7C3B smj Sami (Lule) Sami (Lule) julevusámegiella 1252 850 SWE SMK + ${NSD_CB_AddString} $Locale "se" ; 0x003B se Sami (Northern) Sami (Northern) davvisámegiella 1252 850 NOR SME + ${NSD_CB_AddString} $Locale "sms" ; 0x743B sms Sami (Skolt) Sami (Skolt) sääm´ǩiõll 1252 850 FIN SMS + ${NSD_CB_AddString} $Locale "sma" ; 0x783B sma Sami (Southern) Sami (Southern) åarjelsaemiengiele 1252 850 SWE SMB + ${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 "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 "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 "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 "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 "sa" ; 0x004F sa Sanskrit Sanskrit संस्कृत 0 1 IND SAN + ${NSD_CB_AddString} $Locale "sa-IN" ; 0x044F sa-IN Sanskrit (India) Sanskrit संस्कृत (भारतम्) 0 1 IND SAN + ${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 "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-ME" ; 0x301A sr-Cyrl-ME Serbian (Cyrillic, Montenegro) Serbian (Cyrillic) српски (Црна Гора) 1251 855 MNE SRQ + ${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-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-ME" ; 0x2C1A sr-Latn-ME Serbian (Latin, Montenegro) Serbian (Latin) srpski (Crna Gora) 1250 852 MNE SRP + ${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-RS" ; 0x241A sr-Latn-RS Serbian (Latin, Serbia) Serbian (Latin) srpski (Srbija) 1250 852 SRB SRM + ${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 "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 "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 "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-SV" ; 0x440A es-SV Spanish (El Salvador) Spanish Español (El Salvador) 1252 850 SLV ESE + ${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-PY" ; 0x3C0A es-PY Spanish (Paraguay) Spanish Español (Paraguay) 1252 850 PRY ESZ + ${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-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-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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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" ; 0x0043 uz Uzbek (Latin) Uzbek (Latin) U'zbek 1254 857 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 "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 "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 "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 "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 "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 + ${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 From d829e47346e67dd23c5adfa08d28cb173de540e5 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 6 Dec 2017 19:35:13 +0300 Subject: [PATCH 158/299] Added perl patch to PG10 --- patches/postgresql/10/perl522.patch | 29 +++++++++++++++++++++++++++++ patches/postgresql/10/series | 1 + 2 files changed, 30 insertions(+) create mode 100644 patches/postgresql/10/perl522.patch create mode 100644 patches/postgresql/10/series 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/series b/patches/postgresql/10/series new file mode 100644 index 0000000..c05e582 --- /dev/null +++ b/patches/postgresql/10/series @@ -0,0 +1 @@ +perl522.patch From 81511fe1a6b92e3cc88bfa80d1798252d52d284c Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 6 Dec 2017 20:18:17 +0300 Subject: [PATCH 159/299] [PG10]: Updated perl patch --- patches/postgresql/10/perl524.patch | 15 +++++++++++++++ patches/postgresql/10/series | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 patches/postgresql/10/perl524.patch diff --git a/patches/postgresql/10/perl524.patch b/patches/postgresql/10/perl524.patch new file mode 100644 index 0000000..08fcc4c --- /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:12:48.681777210 +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 index c05e582..ef73fba 100644 --- a/patches/postgresql/10/series +++ b/patches/postgresql/10/series @@ -1 +1 @@ -perl522.patch +perl524.patch From 2bc7eacf0fdd57561e405ba329c9ef7e66d03223 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 6 Dec 2017 20:28:14 +0300 Subject: [PATCH 160/299] [PG10]: Updated perl patch #2 --- patches/postgresql/10/perl524.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patches/postgresql/10/perl524.patch b/patches/postgresql/10/perl524.patch index 08fcc4c..239aebb 100644 --- a/patches/postgresql/10/perl524.patch +++ b/patches/postgresql/10/perl524.patch @@ -1,12 +1,12 @@ 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:12:48.681777210 +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_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); From 6703fa4ea204dbff75b720a3348f8cf2cebf4a1f Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Mon, 11 Dec 2017 10:46:02 +0300 Subject: [PATCH 161/299] Increased openssl version to 1.0.2n --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 7bf0674..f28b1f8 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -3,7 +3,7 @@ SET ICONV_VER=1.14 SET XSLT_VER=1.1.29 SET ZLIB_VER=1.2.11 SET XML_VER=2.9.4 -SET OPENSSL_VER=1.0.2m +SET OPENSSL_VER=1.0.2n SET GETTEXT_VER=0.19.8 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 From 2a1e5fdcb59a5dddaec9dc03684db809b1d4d031 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Wed, 13 Dec 2017 12:23:31 +0300 Subject: [PATCH 162/299] Removed some warnings about unknown/unused variables. Removed installation-notes html files as outdated and duplicating documentation. Fixed changing of pg_hba.conf to avoid creating of this file if database intialization failed. Redirecting initdb output to installation log. --- build/run.cmd | 2 +- nsis/postgresql.nsi | 52 ++++++++++++--------------------------------- 2 files changed, 15 insertions(+), 39 deletions(-) diff --git a/build/run.cmd b/build/run.cmd index 36c1968..e33523e 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -83,7 +83,7 @@ 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.3 + IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1.1 CMD.EXE /C %ROOT%\build\helpers\postgres.cmd || GOTO :ERROR ) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index d7e4eee..f620274 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -107,7 +107,7 @@ Var checkBoxEnvVar Var isEnvVar ; Set 'install service' variable -Var service +;Var service ;MUI_COMPONENTSPAGE_SMALLDESC or MUI_COMPONENTSPAGE_NODESC !define MUI_COMPONENTSPAGE_SMALLDESC @@ -211,11 +211,7 @@ Section $(PostgreSQLString) sec1 ${endif} SetOutPath "$INSTDIR" - 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" - File "License.txt" File "3rd_party_licenses.txt" @@ -354,17 +350,6 @@ Section $(PostgreSQLString) sec1 pop $0 CreateDirectory "$SMPROGRAMS\$StartMenuFolder\Documentation" - ${if} ${PG_MAJOR_VERSION} != "9.4" - !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\${PRODUCT_NAME} documentation (EN)" \ "$INSTDIR\doc\postgresql-en.chm" \ @@ -374,12 +359,6 @@ Section $(PostgreSQLString) sec1 "$SMPROGRAMS\$StartMenuFolder\Documentation\${PRODUCT_NAME} documentation (RU)" \ "$INSTDIR\doc\postgresql-ru.chm" \ "$INSTDIR\doc\pg-help.ico" "0" - ${endif} - - ; !insertmacro CreateInternetShortcut \ - ; "$SMPROGRAMS\$StartMenuFolder\Documentation\${PRODUCT_NAME} release notes" \ - ; "$INSTDIR\doc\postgresql\html\release.html" \ - ; "$INSTDIR\doc\pg-help.ico" "0" !insertmacro MUI_STARTMENU_WRITE_END ; Create data dir begin @@ -411,11 +390,11 @@ Section $(PostgreSQLString) sec1 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 \ + nsExec::ExecToLog /TIMEOUT=90000 '"$INSTDIR\bin\initdb.exe" $tempVar \ --encoding=$Coding_text -U "$UserName_text" \ -D "$DATA_DIR"' ${else} - nsExec::ExecToStack /TIMEOUT=60000 '"$INSTDIR\bin\initdb.exe" $tempVar \ + nsExec::ExecToLog /TIMEOUT=60000 '"$INSTDIR\bin\initdb.exe" $tempVar \ --locale="$Locale_text" \ --encoding=$Coding_text \ -U "$UserName_text" \ @@ -443,10 +422,7 @@ Section $(PostgreSQLString) sec1 ${if} $checkNoLocal_state == ${BST_CHECKED} !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#listen_addresses = 'localhost'" "listen_addresses = '*'" ; Add line to pg_hba.conf - FileOpen $4 "$DATA_DIR\pg_hba.conf" a - FileSeek $4 0 END - FileWrite $4 "host$\tall$\tall$\t0.0.0.0/0$\tmd5$\r$\n" - FileClose $4 + ${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 @@ -656,7 +632,7 @@ 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 ${SecService} $(DESC_SecService) !insertmacro MUI_FUNCTION_DESCRIPTION_END ;check existing install @@ -1772,15 +1748,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" From 6aed931e4bb5d4f876708196cd1ce6aa20073161 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Wed, 13 Dec 2017 14:39:27 +0300 Subject: [PATCH 163/299] Renamed installers to 32bit and 64bit (without X) Changed message about old versions of Windows --- build/helpers/postgres.cmd | 4 +--- build/helpers/postgres_nsis_installer.cmd | 11 ++++++++--- nsis/postgresql.nsi | 3 ++- nsis/translates.nsi | 2 ++ 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 6772172..7d54195 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -122,9 +122,7 @@ cp -va %DEPENDENCIES_BIN_DIR%/uuid/include/* %BUILD_DIR%\distr_%ARCH%_%PGVER rem Copy msys shell and sed CD /D %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin -7z x %DOWNLOADS_DIR%\min_msys_%ARCH%.zip -rem CD /D %BUILD_DIR%\postgresql\*%PGVER%*\doc\src\sgml -rem cp -va html/* %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc +if exist pgpro_upgrade 7z x %DOWNLOADS_DIR%\min_msys_%ARCH%.zip rem download and build pg_repack extension SET WGET=wget --no-check-certificate diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 5572eb9..ef3c476 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -26,6 +26,11 @@ IF "%PRODUCT_NAME%" == "PostgreSQL" SET PG_DEF_SERVICEID="postgresql-%ARCH%-%PG_ 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 %ARCH% == X86 ( + SET BITS=32bit +) else ( + SET BITS=64bit +) IF %ONE_C% == YES ( SET PRODUCT_NAME=PostgresPro 1C SET PG_DEF_SERVICEID="postgrespro-1C-${PRODUCT_VERSION}" @@ -35,7 +40,8 @@ IF %ONE_C% == YES ( SET PRODUCT_DIR_REGKEY="Software\Postgres Professional\${PRODUCT_NAME}\${PRODUCT_VERSION}" SET PRODUCT_VERSION="%PG_MAJOR_VERSION%" ) ELSE ( - SET PG_INS_SUFFIX="%ARCH%bit_Setup.exe" + 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%" @@ -44,13 +50,12 @@ IF %ONE_C% == YES ( 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 PRODUCT_VERSION="%PG_MAJOR_VERSION% (%ARCH%)" ) 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_DEF_BRANDING="%PRODUCT_NAME% %PG_MAJOR_VERSION% (%BITS%)" SET PG_INS_SOURCE_DIR="%BUILD_DIR%\distr_%ARCH%_%PG_DEF_VERSION%\postgresql\*.*" SET NSIS_RES_DIR=%~dp0 diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index f620274..e62f4a3 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -152,6 +152,7 @@ Page custom nsDialogServer nsDialogsServerPageLeave Page custom nsDialogOptimization nsDialogsOptimizationPageLeave ;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" @@ -1794,7 +1795,7 @@ FunctionEnd Function CheckWindowsVersion ${If} ${SDK} != "SDK71" ${Unless} ${AtLeastWin2008} - MessageBox MB_OK|MB_ICONINFORMATION "Installation aborted. Use the specific SDK71 installer for this system" + MessageBox MB_OK|MB_ICONINFORMATION $(MESS_UNSUPPORTED_WINDOWS) Abort ${EndUnless} ${EndIf} diff --git a/nsis/translates.nsi b/nsis/translates.nsi index 65480ea..7ff3ba8 100644 --- a/nsis/translates.nsi +++ b/nsis/translates.nsi @@ -60,6 +60,8 @@ LangString PostgreSQLString ${LANG_RUSSIAN} " LangString MESS_PASS3 ${LANG_RUSSIAN} "�� ������������ � ������ ����������� �������. ��� ����� ������� \ �������� � ������ ������! ����������?" + LangString MESS_UNSUPPORTED_WINDOWS ${LANG_ENGLISH} "Your Version of Windows is too old. At least Windows 2008 Server or Windows 7 is required to run this product." + LangString MESS_UNSUPPORTED_WINDOWS ${LANG_RUSSIAN} "���� ������ Window �� ��������������. ��� ������� �������� ��������� Windows 2008 Server ��� Windows 7 � ����." LangString DLG_PORT ${LANG_ENGLISH} "Port:" LangString DLG_PORT ${LANG_RUSSIAN} "����:" From 538a17b52e4550bead2b70ff6fa68cbd534ea9c8 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 14 Dec 2017 19:37:11 +0300 Subject: [PATCH 164/299] PGPRO-1244: try to convert initdb output --- nsis/postgresql.nsi | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index e62f4a3..4617905 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -391,11 +391,11 @@ Section $(PostgreSQLString) sec1 Pop $0 ;"ok" or "error" + error details ${if} "$Locale_text" == "$(DEF_LOCALE_NAME)" ; Initialise the database cluster, and set the appropriate permissions/ownership - nsExec::ExecToLog /TIMEOUT=90000 '"$INSTDIR\bin\initdb.exe" $tempVar \ + nsExec::ExecToStack /TIMEOUT=90000 '"$INSTDIR\bin\initdb.exe" $tempVar \ --encoding=$Coding_text -U "$UserName_text" \ -D "$DATA_DIR"' ${else} - nsExec::ExecToLog /TIMEOUT=60000 '"$INSTDIR\bin\initdb.exe" $tempVar \ + nsExec::ExecToStack /TIMEOUT=60000 '"$INSTDIR\bin\initdb.exe" $tempVar \ --locale="$Locale_text" \ --encoding=$Coding_text \ -U "$UserName_text" \ @@ -405,8 +405,12 @@ Section $(PostgreSQLString) sec1 Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} ${if} $0 != 0 + FileOpen $R1 "$DATA_DIR\..\initdb.log" w + ${Utf8ToAnsi} $1 $2 + FileWrite $R1 $2 + FileClose $R1 DetailPrint "initdb.exe return $0" - DetailPrint "Output: $1" + DetailPrint "Output: $2" Sleep 5000 ${else} DetailPrint "Database initialization OK" From cb65206772415e02c157761a1d48bf55ddd1051c Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 14 Dec 2017 20:11:30 +0300 Subject: [PATCH 165/299] PGPRO-1244: writing original initdb log --- nsis/postgresql.nsi | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 4617905..4a38f39 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -403,12 +403,13 @@ Section $(PostgreSQLString) sec1 ${endif} pop $0 Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} + + FileOpen $R1 "$DATA_DIR\..\initdb.log" w + FileWrite $R1 $1 + FileClose $R1 ${if} $0 != 0 - FileOpen $R1 "$DATA_DIR\..\initdb.log" w ${Utf8ToAnsi} $1 $2 - FileWrite $R1 $2 - FileClose $R1 DetailPrint "initdb.exe return $0" DetailPrint "Output: $2" Sleep 5000 From abee5065cd5c45d93124b32fd30f3f6565d9a93e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 15 Dec 2017 12:28:13 +0300 Subject: [PATCH 166/299] Revert "PGPRO-1244: writing original initdb log" This reverts commit cb65206772415e02c157761a1d48bf55ddd1051c. --- nsis/postgresql.nsi | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 4a38f39..4617905 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -403,13 +403,12 @@ Section $(PostgreSQLString) sec1 ${endif} pop $0 Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} - - FileOpen $R1 "$DATA_DIR\..\initdb.log" w - FileWrite $R1 $1 - FileClose $R1 ${if} $0 != 0 + FileOpen $R1 "$DATA_DIR\..\initdb.log" w ${Utf8ToAnsi} $1 $2 + FileWrite $R1 $2 + FileClose $R1 DetailPrint "initdb.exe return $0" DetailPrint "Output: $2" Sleep 5000 From ad9c748ae6bd3579c637690a4537fa88c6308e6e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 15 Dec 2017 12:28:41 +0300 Subject: [PATCH 167/299] Revert "PGPRO-1244: try to convert initdb output" This reverts commit 538a17b52e4550bead2b70ff6fa68cbd534ea9c8. --- nsis/postgresql.nsi | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 4617905..e62f4a3 100644 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -391,11 +391,11 @@ Section $(PostgreSQLString) sec1 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 \ + nsExec::ExecToLog /TIMEOUT=90000 '"$INSTDIR\bin\initdb.exe" $tempVar \ --encoding=$Coding_text -U "$UserName_text" \ -D "$DATA_DIR"' ${else} - nsExec::ExecToStack /TIMEOUT=60000 '"$INSTDIR\bin\initdb.exe" $tempVar \ + nsExec::ExecToLog /TIMEOUT=60000 '"$INSTDIR\bin\initdb.exe" $tempVar \ --locale="$Locale_text" \ --encoding=$Coding_text \ -U "$UserName_text" \ @@ -405,12 +405,8 @@ Section $(PostgreSQLString) sec1 Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} ${if} $0 != 0 - FileOpen $R1 "$DATA_DIR\..\initdb.log" w - ${Utf8ToAnsi} $1 $2 - FileWrite $R1 $2 - FileClose $R1 DetailPrint "initdb.exe return $0" - DetailPrint "Output: $2" + DetailPrint "Output: $1" Sleep 5000 ${else} DetailPrint "Database initialization OK" From 1f089ce2d67cc1f974504376cbb9cf050167a5b4 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Fri, 15 Dec 2017 17:14:58 +0300 Subject: [PATCH 168/299] Make inidb output english during installation --- nsis/postgresql.nsi | 1 + 1 file changed, 1 insertion(+) mode change 100644 => 100755 nsis/postgresql.nsi diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi old mode 100644 new mode 100755 index e62f4a3..4a9fd68 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -389,6 +389,7 @@ Section $(PostgreSQLString) sec1 Pop $0 ; or "error" AccessControl::GrantOnFile "$DATA_DIR" "$0" "FullAccess" ;GenericWrite Pop $0 ;"ok" or "error" + error details + System::Call 'Kernel32::SetEnvironmentVariable(t, t)i ("LC_MESSAGES", "C").r0' ${if} "$Locale_text" == "$(DEF_LOCALE_NAME)" ; Initialise the database cluster, and set the appropriate permissions/ownership nsExec::ExecToLog /TIMEOUT=90000 '"$INSTDIR\bin\initdb.exe" $tempVar \ From d7a6486392bd16de67e6807f7a51ae2e7634ea4a Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 19 Dec 2017 15:28:58 +0300 Subject: [PATCH 169/299] Fixed unbalanced quote for zlib --- build/helpers/dependencies.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 4636e33..b2fdaa3 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -116,8 +116,8 @@ CD /D %DOWNLOADS_DIR% 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 +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 From 1ec2f6578d70a84d4271b630cd770a2406193e46 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 9 Jan 2018 14:52:14 +0300 Subject: [PATCH 170/299] Update PG_REPACK_VER to 1.4.2 --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index f28b1f8..124881b 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -9,7 +9,7 @@ SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 SET EDITLINE_VER=2.102 SET ZSTD_RELEASE=1.1.0 -SET PG_REPACK_VER=1.3.4 +SET PG_REPACK_VER=1.4.2 REM Path vars SET PERL32_PATH=C:\Perl From 1871f369607c0ff098b5744dcd4faee32fb09174 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Thu, 11 Jan 2018 13:02:33 +0300 Subject: [PATCH 171/299] Use wget -N to download pg_repack sources --- build/helpers/postgres.cmd | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 7d54195..f50f0be 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -125,14 +125,12 @@ CD /D %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin if exist pgpro_upgrade 7z x %DOWNLOADS_DIR%\min_msys_%ARCH%.zip rem download and build pg_repack extension -SET WGET=wget --no-check-certificate +SET WGET=wget -N --no-check-certificate set PG_REPACK_URL=https://repo.postgrespro.ru/pgproee-%PG_MAJOR_VERSION%-beta/src/pg_repack-%PG_REPACK_VER%.tar.bz2 if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( CD /D %DOWNLOADS_DIR% - if not EXIST pg_repack-%PG_REPACK_VER%.tar.bz2 ( %WGET% %PG_REPACK_URL% || goto :ERROR - ) tar xf pg_repack*.tar.bz2 -C %BUILD_UDIR%/postgresql|| goto :ERROR CD /D %BUILD_DIR%\postgresql CD pg_repack-%PG_REPACK_VER% From 316d48c770f8053cec8a33e5e5d1db10336af9ae Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 15 Jan 2018 14:39:30 +0300 Subject: [PATCH 172/299] Different versions of pg_repack for 10 and 9.x PG branches --- build/helpers/setvars.cmd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 124881b..da6136e 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -9,7 +9,10 @@ SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 SET EDITLINE_VER=2.102 SET ZSTD_RELEASE=1.1.0 + SET PG_REPACK_VER=1.4.2 +IF "%PG_MAJOR_VERSION%"=="9.6" SET PG_REPACK_VER=1.3.4 +IF "%PG_MAJOR_VERSION%"=="9.5" SET PG_REPACK_VER=1.3.4 REM Path vars SET PERL32_PATH=C:\Perl From 45641682d6436bd7883961f76b57c79836d9a954 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Thu, 25 Jan 2018 11:59:47 +0300 Subject: [PATCH 173/299] Updated libxml2 to version 2.9.7 --- build/helpers/dependencies.cmd | 5 ++++- build/helpers/setvars.cmd | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index b2fdaa3..de22084 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -161,13 +161,16 @@ 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_UDIR% || GOTO :ERROR CD /D %DEPENDENCIES_SRC_DIR%\libxml2-* -patch -f -p1 < %ROOT%/patches/libxml2/libxml2.patch || GOTO :ERROR +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 MKDIR %DEPENDENCIES_BIN_DIR%\libxml2\include || GOTO :ERROR diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 124881b..ea4550f 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -2,7 +2,7 @@ REM LIBRARY VERSIONS SET ICONV_VER=1.14 SET XSLT_VER=1.1.29 SET ZLIB_VER=1.2.11 -SET XML_VER=2.9.4 +SET XML_VER=2.9.7 SET OPENSSL_VER=1.0.2n SET GETTEXT_VER=0.19.8 SET LIBSSH2_VER=1.6.0 From 52c4046be87a5403b40feaa0bd4f7890f8bc9608 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Thu, 25 Jan 2018 14:51:08 +0300 Subject: [PATCH 174/299] Use env vars Platform and PlatformToolset on all msbuild invocations instead of if %ARCH%== --- build/helpers/dependencies.cmd | 12 ++++-------- build/helpers/setvars.cmd | 3 ++- 2 files changed, 6 insertions(+), 9 deletions(-) mode change 100644 => 100755 build/helpers/dependencies.cmd diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd old mode 100644 new mode 100755 index de22084..918c59f --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -97,8 +97,7 @@ 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 @@ -143,8 +142,7 @@ 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 @@ -236,8 +234,7 @@ 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 @@ -269,8 +266,7 @@ 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 +msbuild source\allinone\allinone.sln /m /p:Configuration="Release" /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || 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 diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index ea4550f..ede6b62 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -28,7 +28,8 @@ IF %ARCH% == X64 SET PATH=%PERL64_BIN%;%PATH% IF %ARCH% == X86 SET PERL_EXE=%PERL32_BIN%\perl IF %ARCH% == X64 SET PERL_EXE=%PERL64_BIN%\perl - +IF %ARCH% == X86 SET Platform=Win32 +IF %ARCH% == X64 SET Platform=X64 IF %SDK% == SDK71 ( SET REDIST_YEAR=2010 SET PlatformToolset=v100 From 36e069e9b74970ef7bb8cf88afc0f9987a56554b Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 31 Jan 2018 18:21:15 +0300 Subject: [PATCH 175/299] Perl support when SDK=SDK71 and ARCH=X86 has been disabled --- build/helpers/postgres.cmd | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index f50f0be..41c7fb6 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -55,7 +55,12 @@ if "%PRODUCT_NAME%" == "PostgreSQL" ( >>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 IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO perl ^=^> '%PERL32_PATH%', ) +GOTO :PERL_CONF_DONE +:DISALBE_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', From 6eefac975e59f2f7e27f7fe7f2e06d9c0d78e226 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 31 Jan 2018 18:45:42 +0300 Subject: [PATCH 176/299] Fix DISABLE_PERL label name --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 41c7fb6..005a33c 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -58,7 +58,7 @@ IF %ARCH% == X64 (>>src\tools\msvc\config.pl ECHO perl ^=^> '%PERL64_PATH%', IF %SDK% == SDK71 GOTO :DISABLE_PERL IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO perl ^=^> '%PERL32_PATH%', ) GOTO :PERL_CONF_DONE -:DISALBE_PERL +: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%', ) From dc47ee6c5b2a1f0ba5388571064c4bab836a36e8 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 6 Feb 2018 18:48:20 +0300 Subject: [PATCH 177/299] PGPRO-1256: remove test_* extensions from installer --- build/helpers/postgres.cmd | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 005a33c..1102295 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -100,6 +100,11 @@ 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_DIR%\distr_%ARCH%_%PGVER%\postgresql\share\extensions\test_* || GOTO :ERROR +rm -rf %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib\test_* || 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 cp -va %DEPENDENCIES_BIN_DIR%/libintl/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR From dc48827240dd8d0cfc06bf8b7785d5e449430d52 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 7 Feb 2018 12:54:01 +0300 Subject: [PATCH 178/299] Fixed the path to extensions --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 1102295..5955349 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -102,7 +102,7 @@ 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_DIR%\distr_%ARCH%_%PGVER%\postgresql\share\extensions\test_* || GOTO :ERROR +rm -rf %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\share\extension\test_* || GOTO :ERROR rm -rf %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib\test_* || GOTO :ERROR IF EXIST ..\..\..\doc\buildinfo.txt COPY ..\..\..\doc\buildinfo.txt %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\doc From d6feb23e96e54488427c25c067921eaeffae6b85 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 7 Feb 2018 14:31:23 +0300 Subject: [PATCH 179/299] Unix-like path to clean extensions --- build/helpers/postgres.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 5955349..0a39852 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -102,8 +102,8 @@ 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_DIR%\distr_%ARCH%_%PGVER%\postgresql\share\extension\test_* || GOTO :ERROR -rm -rf %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\lib\test_* || GOTO :ERROR +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 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 From 3282187b506f1cbce1c347098b01fc35b1909260 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 9 Feb 2018 17:34:19 +0300 Subject: [PATCH 180/299] PGPRO-1252: removed python3 extensions --- build/helpers/postgres.cmd | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 0a39852..9a3cc8a 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -105,6 +105,10 @@ 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 +REM remove python3 extensions +rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/share/extension/*python3* || GOTO :ERROR +rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/lib/*python3* || 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 cp -va %DEPENDENCIES_BIN_DIR%/libintl/lib/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR From 2983e71e4bdf88d14d17d5de1da8808d61ee6867 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 12 Feb 2018 18:16:40 +0300 Subject: [PATCH 181/299] PGPRO-1256: remove symbols of test_* extensions from installer --- build/helpers/postgres.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 9a3cc8a..1d5e3ba 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -104,6 +104,7 @@ PATH %PATH%;%DEPENDENCIES_BIN_DIR%\libintl\lib;%DEPENDENCIES_BIN_DIR%\iconv\lib 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 rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/share/extension/*python3* || GOTO :ERROR From a019d5426f086fb801bab6b7af4d07df3512d176 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 13 Feb 2018 18:34:45 +0300 Subject: [PATCH 182/299] Added libiconv-1.15-SDK71.patch --- patches/libiconv/libiconv-1.15-SDK71.patch | 921 +++++++++++++++++++++ 1 file changed, 921 insertions(+) create mode 100644 patches/libiconv/libiconv-1.15-SDK71.patch 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 */ ++ From a7edec0b130c2558c438d86fdfd2ea85684e86ae Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 14 Mar 2018 16:23:01 +0300 Subject: [PATCH 183/299] Set version PG_REPACK to 1.4.2 for 9.6 --- build/helpers/setvars.cmd | 1 - 1 file changed, 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 6f114de..44b3d36 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -11,7 +11,6 @@ SET EDITLINE_VER=2.102 SET ZSTD_RELEASE=1.1.0 SET PG_REPACK_VER=1.4.2 -IF "%PG_MAJOR_VERSION%"=="9.6" SET PG_REPACK_VER=1.3.4 IF "%PG_MAJOR_VERSION%"=="9.5" SET PG_REPACK_VER=1.3.4 REM Path vars From 35296b54e17740ec7c93ac20e7908f0bf305898d Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 14 Mar 2018 19:14:45 +0300 Subject: [PATCH 184/299] Specifing version for pg_repack extraction --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 1d5e3ba..7b1b669 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -146,7 +146,7 @@ set PG_REPACK_URL=https://repo.postgrespro.ru/pgproee-%PG_MAJOR_VERSION%-beta/sr if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( CD /D %DOWNLOADS_DIR% %WGET% %PG_REPACK_URL% || goto :ERROR - tar xf pg_repack*.tar.bz2 -C %BUILD_UDIR%/postgresql|| goto :ERROR + tar xf pg_repack*%PG_REPACK_VER%.tar.bz2 -C %BUILD_UDIR%/postgresql|| goto :ERROR CD /D %BUILD_DIR%\postgresql CD pg_repack-%PG_REPACK_VER% perl win32build.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql From 3662594c597dfe4e31a9b813a5079ba68ac6e192 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 29 Mar 2018 20:15:00 +0300 Subject: [PATCH 185/299] Abort the installation if initdb is completed with an error. --- nsis/postgresql.nsi | 3 ++- nsis/translates.nsi | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 4a9fd68..497f3f1 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -408,7 +408,8 @@ Section $(PostgreSQLString) sec1 ${if} $0 != 0 DetailPrint "initdb.exe return $0" DetailPrint "Output: $1" - Sleep 5000 + MessageBox MB_OK|MB_ICONINFORMATION $(MESS_ERROR_INITDB) + Abort ${else} DetailPrint "Database initialization OK" ${endif} diff --git a/nsis/translates.nsi b/nsis/translates.nsi index 7ff3ba8..2568c64 100644 --- a/nsis/translates.nsi +++ b/nsis/translates.nsi @@ -113,3 +113,6 @@ The parameters are written to the file $DATA_DIR\postgresql.conf" 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_INITDB ${LANG_ENGLISH} "An error occurred while initializing the database!" + LangString MESS_ERROR_INITDB ${LANG_RUSSIAN} "��� ������������� ���� ������ ��������� ������!" From 6b8da8e16ed4b056810ee64deb6aa7a15bfb3b4a Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 29 Mar 2018 20:15:46 +0300 Subject: [PATCH 186/299] Try to set LogSet mode from .onInit function (needed special NSIS build) --- nsis/postgresql.nsi | 1 + 1 file changed, 1 insertion(+) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 497f3f1..765e370 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -1651,6 +1651,7 @@ Function SetDefaultTcpPort FunctionEnd Function .onInit + LogSet on Call CheckWindowsVersion Call SetDefaultTcpPort From 68e3cc7def50e9ffb110bf8d4dbe59fa171563fb Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 29 Mar 2018 21:02:52 +0300 Subject: [PATCH 187/299] Registering the process of setting privileges for files --- nsis/postgresql.nsi | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 765e370..e13162c 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -372,6 +372,7 @@ Section $(PostgreSQLString) sec1 ;;;Pop $0 ;"ok" or "error" + error details ;;;AccessControl::GrantOnFile "$DATA_DIR" "$loggedInUser" "FullAccess" ;GenericWrite ;;;Pop $0 ;"ok" or "error" + error details + DetailPrint "GRANT FullAccess ON $DATA_DIR TO $loggedInUserShort" AccessControl::GrantOnFile "$DATA_DIR" "$loggedInUserShort" "FullAccess" Pop $0 @@ -387,6 +388,7 @@ Section $(PostgreSQLString) sec1 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 System::Call 'Kernel32::SetEnvironmentVariable(t, t)i ("LC_MESSAGES", "C").r0' @@ -466,24 +468,33 @@ Section $(PostgreSQLString) sec1 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 + DetailPrint "GRANT FullAccess ON $DATA_DIR TO $loggedInUser" AccessControl::GrantOnFile "$DATA_DIR" "$loggedInUser" "FullAccess" ;GenericWrite Pop $0 ;"ok" or "error" + error details + DetailPrint "GRANT FullAccess ON $DATA_DIR TO $loggedInUserShort" 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 + DetailPrint "GRANT FullAccess ON $DATA_DIR\postgresql.conf TO $loggedInUser" AccessControl::GrantOnFile "$DATA_DIR\postgresql.conf" "$loggedInUser" "FullAccess" ;"GenericRead + GenericExecute" ;GenericWrite Pop $0 ;"ok" or "error" + error details + DetailPrint "GRANT FullAccess ON $DATA_DIR\postgresql.conf TO $loggedInUserShort" AccessControl::GrantOnFile "$DATA_DIR\postgresql.conf" "$loggedInUserShort" "FullAccess" ;GenericWrite 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 @@ -559,7 +570,7 @@ Section $(PostgreSQLString) sec1 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PGUSER" "$UserName_text" WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PGPORT" "$TextPort_text" WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PGLOCALEDIR" "$INSTDIR\share\locale\" - AddToPath::AddToPath "$INSTDIR\bin" + AddToPath::AddToPath "$INSTDIR\bin" ${endif} SectionEnd From 8189a2f323c11c56a3d4222052b604054c32ca0c Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 30 Mar 2018 12:43:22 +0300 Subject: [PATCH 188/299] Revert "Try to set LogSet mode from .onInit function (needed special NSIS build)" This reverts commit 6b8da8e16ed4b056810ee64deb6aa7a15bfb3b4a. --- nsis/postgresql.nsi | 1 - 1 file changed, 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index e13162c..64908e6 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -1662,7 +1662,6 @@ Function SetDefaultTcpPort FunctionEnd Function .onInit - LogSet on Call CheckWindowsVersion Call SetDefaultTcpPort From 7215d6cd62431fec272aaa26a167097bb5da3d99 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 30 Mar 2018 16:17:28 +0300 Subject: [PATCH 189/299] Grant access on DATA_DIR to domain user before initdb starting --- nsis/postgresql.nsi | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 64908e6..3d277ed 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -368,10 +368,8 @@ Section $(PostgreSQLString) sec1 ;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 + 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 @@ -471,12 +469,6 @@ Section $(PostgreSQLString) sec1 DetailPrint "GRANT FullAccess ON $DATA_DIR TO $ServiceAccount_text" AccessControl::GrantOnFile "$DATA_DIR" "$ServiceAccount_text" "FullAccess" Pop $0 ;"ok" or "error" + error details - DetailPrint "GRANT FullAccess ON $DATA_DIR TO $loggedInUser" - AccessControl::GrantOnFile "$DATA_DIR" "$loggedInUser" "FullAccess" ;GenericWrite - Pop $0 ;"ok" or "error" + error details - DetailPrint "GRANT FullAccess ON $DATA_DIR TO $loggedInUserShort" - 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" @@ -486,10 +478,10 @@ Section $(PostgreSQLString) sec1 AccessControl::GrantOnFile "$DATA_DIR\postgresql.conf" "$ServiceAccount_text" "FullAccess" Pop $0 ;"ok" or "error" + error details DetailPrint "GRANT FullAccess ON $DATA_DIR\postgresql.conf TO $loggedInUser" - AccessControl::GrantOnFile "$DATA_DIR\postgresql.conf" "$loggedInUser" "FullAccess" ;"GenericRead + GenericExecute" ;GenericWrite + AccessControl::GrantOnFile "$DATA_DIR\postgresql.conf" "$loggedInUser" "FullAccess" Pop $0 ;"ok" or "error" + error details DetailPrint "GRANT FullAccess ON $DATA_DIR\postgresql.conf TO $loggedInUserShort" - AccessControl::GrantOnFile "$DATA_DIR\postgresql.conf" "$loggedInUserShort" "FullAccess" ;GenericWrite + AccessControl::GrantOnFile "$DATA_DIR\postgresql.conf" "$loggedInUserShort" "FullAccess" Pop $0 ;"ok" or "error" + error details DetailPrint "GRANT FullAccess ON $INSTDIR\scripts TO $loggedInUser" @@ -497,6 +489,7 @@ Section $(PostgreSQLString) sec1 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 From 6dddad1027c567a4f4201874a5353c7bfbdad6a3 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Thu, 19 Apr 2018 16:56:18 +0300 Subject: [PATCH 190/299] Added to installer import libraries for all 3rd-party libraries for which we distribute header files. Fuxes PGPRO-1589 --- build/helpers/postgres.cmd | 11 +++++++++-- build/helpers/setvars.cmd | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 7b1b669..69594d0 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -126,7 +126,7 @@ REM Copy needed executables 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 +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 @@ -134,7 +134,14 @@ 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 - +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 +cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/*eay32.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 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 diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 44b3d36..0693c0c 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -72,7 +72,7 @@ SET PGVER=%PG_DEF_VERSION% 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://repo.l.postgrespro.ru/pgpro-%PG_MAJOR_VERSION%-beta/src/postgrespro-%PGVER%.tar.bz2" + IF "%PRODUCT_NAME%"=="PostgresPro" SET PGURL="http://repo.l.postgrespro.ru/pgpro-%PG_MAJOR_VERSION%-beta/src/postgrespro-standard-%PGVER%.tar.bz2" ) REM Set useful directories paths so they're used in scripts From 4fc826772ebf0b462c3ef3f8c7626902471c7f8c Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Thu, 19 Apr 2018 17:37:46 +0300 Subject: [PATCH 191/299] Change wineditline to version 2.205. Added patch by V.Spiritn, which fixes clipborad paste (PGPRO-1537) --- build/helpers/dependencies.cmd | 1 + build/helpers/setvars.cmd | 2 +- patches/wineditline/clipboard_paste.patch | 20 ++++++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 patches/wineditline/clipboard_paste.patch diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 93df70e..7f5a490 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -71,6 +71,7 @@ wget --no-check-certificate -c http://repo.l.postgrespro.ru/depends/wineditline- 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. -c history.c editline.c fn_complete.c || goto :ERROR LIB /out:edit.lib *.obj || goto :ERROR MKDIR %DEPENDENCIES_BIN_DIR%\wineditline diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 0693c0c..942ae18 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -7,7 +7,7 @@ SET OPENSSL_VER=1.0.2n SET GETTEXT_VER=0.19.8 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 -SET EDITLINE_VER=2.102 +SET EDITLINE_VER=2.205 SET ZSTD_RELEASE=1.1.0 SET PG_REPACK_VER=1.4.2 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 + */ From 4dcc900f6163689e9b06147110a11732b0423743 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 20 Apr 2018 11:53:32 +0300 Subject: [PATCH 192/299] Use libxml2 from depends cache --- build/helpers/dependencies.cmd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 7f5a490..32143a0 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -156,7 +156,8 @@ 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 +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-%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_UDIR% || GOTO :ERROR From acc81941719355a26b7967e6a517578d306ec696 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 20 Apr 2018 12:09:39 +0300 Subject: [PATCH 193/299] Use libxslt from depends cache --- build/helpers/dependencies.cmd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 32143a0..e37167a 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -183,7 +183,8 @@ 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-%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_UDIR% || GOTO :ERROR From ac9dba438292aabe05ccdc89ff8b1f130292333b Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 8 May 2018 15:33:23 +0300 Subject: [PATCH 194/299] nsis patch: optimization, install.log, checks for 32 bit Windows --- build/helpers/postgres.cmd | 3 + nsis/postgresql.nsi | 128 +++++++++++++++++++++++++++++++++++++ 2 files changed, 131 insertions(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 7b1b669..24481f9 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -112,6 +112,9 @@ rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/lib/*python3* || 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:\=/% + 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 diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 3d277ed..5059f3e 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -22,6 +22,7 @@ !include "WinVer.nsh" !include "Ports.nsh" +!include "x64.nsh" !insertmacro VersionCompare ;-------------------------------- @@ -106,6 +107,8 @@ Var rButton2 Var checkBoxEnvVar Var isEnvVar +Var LogFile +Var effective_cache_size ; Set 'install service' variable ;Var service @@ -191,6 +194,7 @@ Section "Microsoft Visual C++ ${REDIST_YEAR} Redistributable" secMS SectionEnd Section $(PostgreSQLString) sec1 + ${if} $PG_OLD_DIR != "" ; exist PG install MessageBox MB_YESNO|MB_ICONQUESTION "$(MESS_STOP_SERVER)" IDYES doitStop IDNO noyetStop noyetStop: @@ -216,6 +220,9 @@ Section $(PostgreSQLString) sec1 File "License.txt" File "3rd_party_licenses.txt" +FileOpen $LogFile $INSTDIR\install.log w ;Opens a Empty File an fills it + + CreateDirectory "$INSTDIR\scripts" File "/oname=$INSTDIR\scripts\pg-psql.ico" "pg-psql.ico" File "/oname=$INSTDIR\doc\pg-help.ico" "pg-help.ico" @@ -224,9 +231,13 @@ Section $(PostgreSQLString) sec1 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" + 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"' @@ -240,6 +251,7 @@ Section $(PostgreSQLString) sec1 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 @@ -309,6 +321,8 @@ Section $(PostgreSQLString) sec1 SetShellVarContext all !insertmacro MUI_STARTMENU_WRITE_BEGIN Application +FileWrite $LogFile "Create shortcuts$\r$\n" + ;Create shortcuts CreateDirectory "$SMPROGRAMS\$StartMenuFolder" CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" @@ -320,6 +334,7 @@ Section $(PostgreSQLString) sec1 ${endif} ; set font Lucida Console for shortcut psql +FileWrite $LogFile "set font Lucida Console for shortcut psql$\r$\n" ReadRegStr $0 HKCU "Console\SQL Shell (psql)" "FaceName" ${if} $0 == "" WriteRegStr HKCU "Console\SQL Shell (psql)" "FaceName" "Consolas" @@ -363,11 +378,15 @@ Section $(PostgreSQLString) sec1 !insertmacro MUI_STARTMENU_WRITE_END ; Create data dir begin +FileWrite $LogFile "Create data dir begin$\r$\n" + ${if} $isDataDirExist == 0 CreateDirectory "$DATA_DIR" ;AccessControl::GrantOnFile "$DATA_DIR" "(BU)" "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" @@ -390,12 +409,22 @@ Section $(PostgreSQLString) sec1 AccessControl::GrantOnFile "$DATA_DIR" "$0" "FullAccess" ;GenericWrite Pop $0 ;"ok" or "error" + error details System::Call 'Kernel32::SetEnvironmentVariable(t, t)i ("LC_MESSAGES", "C").r0' +FileWrite $LogFile "Database initialization ...$\r$\n" + ${if} "$Locale_text" == "$(DEF_LOCALE_NAME)" +FileWrite $LogFile '"$INSTDIR\bin\initdb.exe" $tempVar \ + --encoding=$Coding_text -U "$UserName_text" \ + -D "$DATA_DIR" $\r$\n' ; Initialise the database cluster, and set the appropriate permissions/ownership nsExec::ExecToLog /TIMEOUT=90000 '"$INSTDIR\bin\initdb.exe" $tempVar \ --encoding=$Coding_text -U "$UserName_text" \ -D "$DATA_DIR"' ${else} +FileWrite $LogFile '"$INSTDIR\bin\initdb.exe" $tempVar \ + --locale="$Locale_text" \ + --encoding=$Coding_text \ + -U "$UserName_text" \ + -D "$DATA_DIR" $\r$\n' nsExec::ExecToLog /TIMEOUT=60000 '"$INSTDIR\bin\initdb.exe" $tempVar \ --locale="$Locale_text" \ --encoding=$Coding_text \ @@ -408,10 +437,16 @@ Section $(PostgreSQLString) sec1 ${if} $0 != 0 DetailPrint "initdb.exe return $0" DetailPrint "Output: $1" +FileWrite $LogFile "initdb.exe return $0 $\r$\n" +FileWrite $LogFile "Output: $1 $\r$\n" +FileClose $LogFile ;Closes the filled file + MessageBox MB_OK|MB_ICONINFORMATION $(MESS_ERROR_INITDB) + Abort ${else} DetailPrint "Database initialization OK" +FileWrite $LogFile "Database initialization OK $\r$\n" ${endif} ;Delete the password file ${if} "$Pass1_text" != "" @@ -421,6 +456,7 @@ Section $(PostgreSQLString) sec1 ${EndIf} ${endif} ; Create data dir end +FileWrite $LogFile "Create postgresql.conf $\r$\n" ${if} $isDataDirExist == 0 ${if} $checkNoLocal_state == ${BST_CHECKED} !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#listen_addresses = 'localhost'" "listen_addresses = '*'" @@ -445,11 +481,62 @@ 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" "#escape_string_warning = on" "escape_string_warning = off" + !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#standard_conforming_strings = on" "standard_conforming_strings = off" + !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" "" "" + + ClearErrors + FileOpen $0 $DATA_DIR\postgresql.conf a + IfErrors ErrFileCfg1 + FileSeek $0 0 END + 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 = off$\r$\n" + FileClose $0 + + ErrFileCfg1: +/* shared_preload_libraries = 'online_analyze, plantuner' +online_analyze.table_type = 'temporary' +online_analyze.verbose = 'off' +online_analyze.local_tracking = 'on' +plantuner.fix_empty_table = 'on' +online_analyze.enable = off */ ${endif} ${EndIf} + Delete "$DATA_DIR\postgresql.conf.old" + ;# Add line to pg_hba.conf Call WriteInstallOptions DetailPrint "Service $ServiceID_text registration ..." +FileWrite $LogFile "Service $ServiceID_text registration ... $\r$\n" +FileWrite $LogFile '"$INSTDIR\bin\pg_ctl.exe" register -N "$ServiceID_text" -U "$ServiceAccount_text" -D "$DATA_DIR" -w $\r$\n' + nsExec::ExecToStack /TIMEOUT=60000 '"$INSTDIR\bin\pg_ctl.exe" register -N "$ServiceID_text" -U "$ServiceAccount_text" -D "$DATA_DIR" -w' Pop $0 # return value/error/timeout Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} @@ -457,9 +544,13 @@ Section $(PostgreSQLString) sec1 ${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 @@ -517,6 +608,9 @@ Section $(PostgreSQLString) sec1 ${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"' @@ -527,9 +621,13 @@ 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} ${if} $isDataDirExist == 0 @@ -540,6 +638,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 @@ -547,10 +647,14 @@ 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" 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 "" @@ -565,6 +669,8 @@ Section $(PostgreSQLString) sec1 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PGLOCALEDIR" "$INSTDIR\share\locale\" AddToPath::AddToPath "$INSTDIR\bin" ${endif} +FileClose $LogFile ;Closes the filled file + SectionEnd ;Uninstaller Section @@ -587,6 +693,8 @@ Section "Uninstall" Delete "$INSTDIR\Uninstall.exe" Delete "$INSTDIR\license.txt" Delete "$INSTDIR\3rd_party_licenses.txt" + Delete "$INSTDIR\install.log" + RMDir /r "$INSTDIR\bin" RMDir /r "$INSTDIR\doc" @@ -1576,7 +1684,19 @@ Function makeOptimization ;768MB = 98304 = 805306368 ;512MB = 65536 = 536870912 ;256MB = 32768 = 268435456 + ${if} $AllMem > 16000 ;>16gb + StrCpy $work_mem "128MB" + StrCpy $shared_buffers "1GB" + StrCpy $effective_cache_size "16GB" + return + ${endif} + ${if} $AllMem > 8090 ;>8gb + StrCpy $work_mem "128MB" + StrCpy $shared_buffers "1GB" + StrCpy $effective_cache_size "8GB" + return + ${endif} ${if} $AllMem > 4090 ;>4gb StrCpy $work_mem "128MB" StrCpy $shared_buffers "512MB" @@ -1635,6 +1755,7 @@ FunctionEnd Function nsDialogsOptimizationPageLeave ${NSD_GetState} $rButton2 $0 + ${if} $0 == ${BST_CHECKED} StrCpy $needOptimiztion "1" ${else} @@ -1657,6 +1778,13 @@ FunctionEnd Function .onInit 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 !insertmacro MUI_LANGDLL_DISPLAY ;select language StrCpy $PG_OLD_DIR "" From dd923473615109d58a7abaed22970535d51a38b0 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 8 May 2018 15:45:26 +0300 Subject: [PATCH 195/299] nsis patch, add tabs --- nsis/postgresql.nsi | 72 +++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 38 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 5059f3e..4b62e11 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -220,7 +220,7 @@ Section $(PostgreSQLString) sec1 File "License.txt" File "3rd_party_licenses.txt" -FileOpen $LogFile $INSTDIR\install.log w ;Opens a Empty File an fills it + FileOpen $LogFile $INSTDIR\install.log w ;Opens a Empty File an fills it CreateDirectory "$INSTDIR\scripts" @@ -231,12 +231,12 @@ FileOpen $LogFile $INSTDIR\install.log w ;Opens a Empty File an fills it WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" $INSTDIR ;Create uninstaller -FileWrite $LogFile "Create uninstaller$\r$\n" + FileWrite $LogFile "Create uninstaller$\r$\n" WriteUninstaller "$INSTDIR\Uninstall.exe" ; write uninstall strings -FileWrite $LogFile "Write to register\r$\n" + FileWrite $LogFile "Write to register\r$\n" WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "InstallLocation" "$INSTDIR" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "DisplayName" "$StartMenuFolder" @@ -251,7 +251,7 @@ FileWrite $LogFile "Write to register\r$\n" IntFmt $0 "0x%08X" $0 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PG_DEF_BRANDING}" "EstimatedSize" "$0" -FileWrite $LogFile "Create BAT files$\r$\n" + FileWrite $LogFile "Create BAT files$\r$\n" ClearErrors FileOpen $0 $INSTDIR\scripts\reload.bat w IfErrors creatBatErr @@ -321,7 +321,7 @@ FileWrite $LogFile "Create BAT files$\r$\n" SetShellVarContext all !insertmacro MUI_STARTMENU_WRITE_BEGIN Application -FileWrite $LogFile "Create shortcuts$\r$\n" + FileWrite $LogFile "Create shortcuts$\r$\n" ;Create shortcuts CreateDirectory "$SMPROGRAMS\$StartMenuFolder" @@ -334,7 +334,7 @@ FileWrite $LogFile "Create shortcuts$\r$\n" ${endif} ; set font Lucida Console for shortcut psql -FileWrite $LogFile "set font Lucida Console for shortcut psql$\r$\n" + FileWrite $LogFile "set font Lucida Console for shortcut psql$\r$\n" ReadRegStr $0 HKCU "Console\SQL Shell (psql)" "FaceName" ${if} $0 == "" WriteRegStr HKCU "Console\SQL Shell (psql)" "FaceName" "Consolas" @@ -378,14 +378,14 @@ FileWrite $LogFile "set font Lucida Console for shortcut psql$\r$\n" !insertmacro MUI_STARTMENU_WRITE_END ; Create data dir begin -FileWrite $LogFile "Create data dir begin$\r$\n" + FileWrite $LogFile "Create data dir begin$\r$\n" ${if} $isDataDirExist == 0 CreateDirectory "$DATA_DIR" ;AccessControl::GrantOnFile "$DATA_DIR" "(BU)" "FullAccess" ;GenericWrite ;Pop $0 ;"ok" or "error" + error details -FileWrite $LogFile "GRANT Access $\r$\n" + FileWrite $LogFile "GRANT Access $\r$\n" DetailPrint "GRANT FullAccess ON $DATA_DIR TO $loggedInUser" AccessControl::GrantOnFile "$DATA_DIR" "$loggedInUser" "FullAccess" ;GenericWrite @@ -409,10 +409,11 @@ FileWrite $LogFile "GRANT Access $\r$\n" AccessControl::GrantOnFile "$DATA_DIR" "$0" "FullAccess" ;GenericWrite Pop $0 ;"ok" or "error" + error details System::Call 'Kernel32::SetEnvironmentVariable(t, t)i ("LC_MESSAGES", "C").r0' -FileWrite $LogFile "Database initialization ...$\r$\n" + + FileWrite $LogFile "Database initialization ...$\r$\n" ${if} "$Locale_text" == "$(DEF_LOCALE_NAME)" -FileWrite $LogFile '"$INSTDIR\bin\initdb.exe" $tempVar \ + FileWrite $LogFile '"$INSTDIR\bin\initdb.exe" $tempVar \ --encoding=$Coding_text -U "$UserName_text" \ -D "$DATA_DIR" $\r$\n' ; Initialise the database cluster, and set the appropriate permissions/ownership @@ -420,7 +421,7 @@ FileWrite $LogFile '"$INSTDIR\bin\initdb.exe" $tempVar \ --encoding=$Coding_text -U "$UserName_text" \ -D "$DATA_DIR"' ${else} -FileWrite $LogFile '"$INSTDIR\bin\initdb.exe" $tempVar \ + FileWrite $LogFile '"$INSTDIR\bin\initdb.exe" $tempVar \ --locale="$Locale_text" \ --encoding=$Coding_text \ -U "$UserName_text" \ @@ -437,16 +438,16 @@ FileWrite $LogFile '"$INSTDIR\bin\initdb.exe" $tempVar \ ${if} $0 != 0 DetailPrint "initdb.exe return $0" DetailPrint "Output: $1" -FileWrite $LogFile "initdb.exe return $0 $\r$\n" -FileWrite $LogFile "Output: $1 $\r$\n" -FileClose $LogFile ;Closes the filled file + FileWrite $LogFile "initdb.exe return $0 $\r$\n" + FileWrite $LogFile "Output: $1 $\r$\n" + FileClose $LogFile ;Closes the filled file MessageBox MB_OK|MB_ICONINFORMATION $(MESS_ERROR_INITDB) Abort ${else} DetailPrint "Database initialization OK" -FileWrite $LogFile "Database initialization OK $\r$\n" + FileWrite $LogFile "Database initialization OK $\r$\n" ${endif} ;Delete the password file ${if} "$Pass1_text" != "" @@ -456,7 +457,7 @@ FileWrite $LogFile "Database initialization OK $\r$\n" ${EndIf} ${endif} ; Create data dir end -FileWrite $LogFile "Create postgresql.conf $\r$\n" + FileWrite $LogFile "Create postgresql.conf $\r$\n" ${if} $isDataDirExist == 0 ${if} $checkNoLocal_state == ${BST_CHECKED} !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#listen_addresses = 'localhost'" "listen_addresses = '*'" @@ -521,12 +522,7 @@ FileWrite $LogFile "Create postgresql.conf $\r$\n" FileClose $0 ErrFileCfg1: -/* shared_preload_libraries = 'online_analyze, plantuner' -online_analyze.table_type = 'temporary' -online_analyze.verbose = 'off' -online_analyze.local_tracking = 'on' -plantuner.fix_empty_table = 'on' -online_analyze.enable = off */ + ${endif} ${EndIf} Delete "$DATA_DIR\postgresql.conf.old" @@ -534,8 +530,8 @@ online_analyze.enable = off */ ;# Add line to pg_hba.conf Call WriteInstallOptions DetailPrint "Service $ServiceID_text registration ..." -FileWrite $LogFile "Service $ServiceID_text registration ... $\r$\n" -FileWrite $LogFile '"$INSTDIR\bin\pg_ctl.exe" register -N "$ServiceID_text" -U "$ServiceAccount_text" -D "$DATA_DIR" -w $\r$\n' + FileWrite $LogFile "Service $ServiceID_text registration ... $\r$\n" + FileWrite $LogFile '"$INSTDIR\bin\pg_ctl.exe" register -N "$ServiceID_text" -U "$ServiceAccount_text" -D "$DATA_DIR" -w $\r$\n' nsExec::ExecToStack /TIMEOUT=60000 '"$INSTDIR\bin\pg_ctl.exe" register -N "$ServiceID_text" -U "$ServiceAccount_text" -D "$DATA_DIR" -w' Pop $0 # return value/error/timeout @@ -544,13 +540,13 @@ FileWrite $LogFile '"$INSTDIR\bin\pg_ctl.exe" register -N "$ServiceID_text" -U " ${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" + 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" + FileWrite $LogFile "Service registration OK $\r$\n" ${endif} ;Write the DisplayName manually @@ -608,8 +604,8 @@ FileWrite $LogFile "Service registration OK $\r$\n" ${endif} DetailPrint "Start server service..." -FileWrite $LogFile "Start server service... $\r$\n" -FileWrite $LogFile 'sc start "$ServiceID_text" $\r$\n' + FileWrite $LogFile "Start server service... $\r$\n" + FileWrite $LogFile 'sc start "$ServiceID_text" $\r$\n' Sleep 1000 @@ -621,12 +617,12 @@ FileWrite $LogFile 'sc start "$ServiceID_text" $\r$\n' ${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" + 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" + FileWrite $LogFile "Start service OK $\r$\n" ${endif} @@ -638,8 +634,8 @@ FileWrite $LogFile "Start service OK $\r$\n" ${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' + 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 @@ -647,14 +643,14 @@ FileWrite $LogFile '"$INSTDIR\bin\psql.exe" -p $TextPort_text -U "$UserName_text ${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" + FileWrite $LogFile "Create adminpack return $0 $\r$\n" + FileWrite $LogFile "Output: $1 $\r$\n" ;MessageBox MB_OK "Create adminpack error: $1" MessageBox MB_OK|MB_ICONSTOP "$(MESS_ERROR_SERVER)" ${else} DetailPrint "Create adminpack OK" -FileWrite $LogFile "Create adminpack OK $\r$\n" + FileWrite $LogFile "Create adminpack OK $\r$\n" ${endif} ${if} "$Pass1_text" != "" StrCpy $R0 "" @@ -669,7 +665,7 @@ FileWrite $LogFile "Create adminpack OK $\r$\n" WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PGLOCALEDIR" "$INSTDIR\share\locale\" AddToPath::AddToPath "$INSTDIR\bin" ${endif} -FileClose $LogFile ;Closes the filled file + FileClose $LogFile ;Closes the filled file SectionEnd From 2b00c55399fc6cae6b9d5be7ba405a33194d81fa Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 10 May 2018 15:29:50 +0300 Subject: [PATCH 196/299] Check ports for nsis 3 --- nsis/Ports.nsh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nsis/Ports.nsh b/nsis/Ports.nsh index 4f93f08..78b128e 100644 --- a/nsis/Ports.nsh +++ b/nsis/Ports.nsh @@ -67,7 +67,12 @@ Function IsPortOpen 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" From aa7f969f2ae75cb4b615105c8935db6d083f0f8d Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 10 May 2018 18:04:43 +0300 Subject: [PATCH 197/299] Change optimization for 32bit --- nsis/postgresql.nsi | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 4b62e11..0d3b82e 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -1,3 +1,4 @@ + ; PostgeSQL install Script ; Written by Postgres Professional, Postgrespro.ru ; used plugins: AccessControl, UserMgr, @@ -232,7 +233,6 @@ Section $(PostgreSQLString) sec1 ;Create uninstaller FileWrite $LogFile "Create uninstaller$\r$\n" - WriteUninstaller "$INSTDIR\Uninstall.exe" ; write uninstall strings @@ -1682,14 +1682,19 @@ Function makeOptimization ;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 "1GB" + StrCpy $shared_buffers "768MB" StrCpy $effective_cache_size "8GB" return ${endif} From 9611eef6eef152ad125f79a2e7c2a1c231de037b Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Mon, 14 May 2018 13:10:03 +0300 Subject: [PATCH 198/299] Separating 1C-specific options from optimization --- nsis/postgresql.nsi | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 0d3b82e..96710b0 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -501,10 +501,7 @@ Section $(PostgreSQLString) sec1 ;!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" "#escape_string_warning = on" "escape_string_warning = off" - !insertmacro _ReplaceInFile "$DATA_DIR\postgresql.conf" "#standard_conforming_strings = on" "standard_conforming_strings = off" !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" "" "" @@ -513,6 +510,10 @@ Section $(PostgreSQLString) sec1 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" From 8fbed2b264f26f4e7a60d45c145b623a90cb1ff8 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 15 May 2018 15:47:45 +0300 Subject: [PATCH 199/299] Added new option in ini file: needOptimization. Set needOptimization=0 if you don't need otimization --- nsis/postgresql.nsi | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 96710b0..85a0b5e 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -100,7 +100,7 @@ Var AllMem Var FreeMem Var shared_buffers Var work_mem -Var needOptimiztion +Var needOptimization Var rButton1 Var rButton2 @@ -474,7 +474,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} @@ -1743,7 +1743,7 @@ 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} @@ -1759,9 +1759,9 @@ Function nsDialogsOptimizationPageLeave ${NSD_GetState} $rButton2 $0 ${if} $0 == ${BST_CHECKED} - StrCpy $needOptimiztion "1" + StrCpy $needOptimization "1" ${else} - StrCpy $needOptimiztion "0" + StrCpy $needOptimization "0" ${endif} FunctionEnd @@ -1816,7 +1816,7 @@ ${EndIf} ;AccessControl::GetCurrentUserName ;Pop $0 ; or "error" ;MessageBox MB_OK "$0" - StrCpy $needOptimiztion "1" + StrCpy $needOptimization "1" StrCpy $isDataDirExist 0 @@ -1906,6 +1906,11 @@ ${EndIf} ${if} "$1" != "" StrCpy $isEnvVar $1 ${endif} + + ReadINIStr $1 $0 options needoptimization + ${if} "$1" != "" + StrCpy $needOptimization "$1" + ${endif} FunctionEnd Function func1 From 9208b90462b96e26d13684b18be36828e11b3149 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 15 May 2018 16:31:04 +0300 Subject: [PATCH 200/299] Fix libssh2 build for deep workspace --- build/helpers/dependencies.cmd | 6 +++--- build/helpers/setvars.cmd | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index e37167a..d2be986 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -253,11 +253,11 @@ CD /D %DOWNLOADS_DIR% 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_UDIR% || 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 +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 diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 942ae18..2756306 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -85,6 +85,7 @@ 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) From 7d3d7076fdcef3d491884d089b14e71c3b7d4187 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 31 May 2018 18:07:06 +0300 Subject: [PATCH 201/299] Begin add sections --- nsis/postgresql.nsi | 180 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 177 insertions(+), 3 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 85a0b5e..c488119 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -113,6 +113,7 @@ Var effective_cache_size ; Set 'install service' variable ;Var service + ;MUI_COMPONENTSPAGE_SMALLDESC or MUI_COMPONENTSPAGE_NODESC !define MUI_COMPONENTSPAGE_SMALLDESC @@ -150,6 +151,7 @@ PageEx directory DirText $(DATADIR_MESS) $(DATADIR_TITLE) $(BROWSE_BUTTON) PageExEnd + Page custom ChecExistDataDir Page custom nsDialogServer nsDialogsServerPageLeave @@ -169,6 +171,7 @@ Page custom nsDialogOptimization nsDialogsOptimizationPageLeave !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 @@ -194,6 +197,85 @@ Section "Microsoft Visual C++ ${REDIST_YEAR} Redistributable" secMS Delete $1 SectionEnd +SectionGroup /e $(PostgreSQLString) serverGroup + +Section "Client components" 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 + + !include clientlist.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" + File "3rd_party_licenses.txt" + + CreateDirectory "$INSTDIR\scripts" + File "/oname=$INSTDIR\scripts\pg-psql.ico" "pg-psql.ico" + 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 + + + !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} + + + 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 + +SectionEnd + Section $(PostgreSQLString) sec1 ${if} $PG_OLD_DIR != "" ; exist PG install @@ -216,8 +298,16 @@ Section $(PostgreSQLString) sec1 ${endif} ${endif} - SetOutPath "$INSTDIR" - File /r ${PG_INS_SOURCE_DIR} + !include serverlist.nsi + ;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" File "3rd_party_licenses.txt" @@ -670,6 +760,12 @@ Section $(PostgreSQLString) sec1 SectionEnd + +SectionGroupEnd + + + + ;Uninstaller Section Section "Uninstall" Call un.ChecExistInstall @@ -701,6 +797,10 @@ Section "Uninstall" RMDir /r "$INSTDIR\symbols" RMDir /r "$INSTDIR\StackBuilder" RMDir /r "$INSTDIR\scripts" + + + + RMDir "$INSTDIR" Call un.DeleteInstallOptions @@ -747,6 +847,48 @@ SectionEnd ;!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 @@ -985,7 +1127,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 @@ -1029,6 +1174,7 @@ FunctionEnd ;say that PG is exist Function nsDialogServerExist ${Unless} ${SectionIsSelected} ${sec1} + ${AndUnless} ${SectionIsSelected} ${secClient} Abort ${EndUnless} ${if} $PG_OLD_DIR == "" ;no PG install @@ -1787,12 +1933,15 @@ MessageBox MB_OK|MB_ICONSTOP "This version can be installed only on 64-bit Windo Abort ${EndIf} !endif + IntOp $3 ${SF_SELECTED} | ${SF_RO} + SectionSetFlags ${secClient} $3 + ;SectionSetFlags ${secClient} ${SF_RO} !insertmacro MUI_LANGDLL_DISPLAY ;select language StrCpy $PG_OLD_DIR "" StrCpy $DATA_DIR "$INSTDIR\data" StrCpy $OLD_DATA_DIR "" - + StrCpy $UserName_text "${PG_DEF_SUPERUSER}" StrCpy $ServiceAccount_text "${PG_DEF_SERVICEACCOUNT}" @@ -1924,8 +2073,14 @@ 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 @@ -1941,3 +2096,22 @@ Function CheckWindowsVersion ${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 \ No newline at end of file From 592fbb9324235b2f5b5043121f63d6d801539727 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 31 May 2018 18:11:12 +0300 Subject: [PATCH 202/299] Addd test list of files --- nsis/clientlist.nsi | 4 ++++ nsis/serverlist.nsi | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 nsis/clientlist.nsi create mode 100644 nsis/serverlist.nsi diff --git a/nsis/clientlist.nsi b/nsis/clientlist.nsi new file mode 100644 index 0000000..24a2ca2 --- /dev/null +++ b/nsis/clientlist.nsi @@ -0,0 +1,4 @@ +;SetOutPath "$INSTDIR\bin" +;File /r ${PG_INS_SOURCE_DIR}\bin\*.* +SetOutPath "$INSTDIR\symbols" +File /r ${PG_INS_SOURCE_DIR}\symbols\*.* \ No newline at end of file diff --git a/nsis/serverlist.nsi b/nsis/serverlist.nsi new file mode 100644 index 0000000..887a70c --- /dev/null +++ b/nsis/serverlist.nsi @@ -0,0 +1,16 @@ +SetOutPath "$INSTDIR\bin" +File /r ${PG_INS_SOURCE_DIR}\bin\*.* +SetOutPath "$INSTDIR\include" +File /r ${PG_INS_SOURCE_DIR}\include\*.* +SetOutPath "$INSTDIR\lib" +File /r ${PG_INS_SOURCE_DIR}\lib\*.* +SetOutPath "$INSTDIR\share" +File /r ${PG_INS_SOURCE_DIR}\share\*.* +SetOutPath "$INSTDIR\doc" +File /r ${PG_INS_SOURCE_DIR}\doc\*.* + + + + + + From 048ababed679b5f42c8506744997984be6d36e6f Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Tue, 5 Jun 2018 11:26:06 +0300 Subject: [PATCH 203/299] Added build\helpers\genlists.py script to generate file lists for distriutive sections. Added lists of patterns for each section including unneeded.files, where all files which shouldn't go into installer belongs --- build/helpers/genlists.py | 57 +++++++++++++++++++++++ build/helpers/postgres_nsis_installer.cmd | 4 ++ nsis/client.files | 27 +++++++++++ nsis/devel.files | 5 ++ nsis/plperl.files | 3 ++ nsis/plpython2.files | 4 ++ nsis/plpython3.files | 7 +++ nsis/postgresql.nsi | 6 +-- nsis/server.files | 32 +++++++++++++ nsis/unneeded.files | 6 +++ 10 files changed, 148 insertions(+), 3 deletions(-) create mode 100644 build/helpers/genlists.py create mode 100644 nsis/client.files create mode 100644 nsis/devel.files create mode 100644 nsis/plperl.files create mode 100644 nsis/plpython2.files create mode 100644 nsis/plpython3.files create mode 100644 nsis/server.files create mode 100644 nsis/unneeded.files diff --git a/build/helpers/genlists.py b/build/helpers/genlists.py new file mode 100644 index 0000000..03747d0 --- /dev/null +++ b/build/helpers/genlists.py @@ -0,0 +1,57 @@ +#!/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 +""" +import sys,fnmatch, os, os.path + +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 >> sys.stderr,"Processing module ",modname + with open(module,"r") as f: + patterns = map(lambda x:x.strip(),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 >>out,"SetOutDir ${INSTDIR}"+filedir[1:] + curdir=filedir + print >>out, "File ${PG_INS_SOURCE_DIR}"+f[1:] + +# When all module files are processed: +if len(filelist): + print >>sys.stderr,"Following unprocessed files found:\n",", ".join(sorted(filelist)) + sys.exit(1) + + + + + diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index ef3c476..d25a43c 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -97,6 +97,10 @@ IF "%ARCH%" == "X64" ( CD /D %NSIS_RES_DIR% || GOTO :ERROR +rem Genarate file lists +%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py client.files devel.files plperl.files plpython2.files plpython3.files unneeded.files server.files + +rem generate installer itself makensis postgresql.nsi || GOTO :ERROR GOTO :DONE diff --git a/nsis/client.files b/nsis/client.files new file mode 100644 index 0000000..9f37ebf --- /dev/null +++ b/nsis/client.files @@ -0,0 +1,27 @@ +./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 diff --git a/nsis/devel.files b/nsis/devel.files new file mode 100644 index 0000000..ef2712c --- /dev/null +++ b/nsis/devel.files @@ -0,0 +1,5 @@ +./include/* +./lib/*.lib +./bin/pg_config.* +./bin/ecpg.* +./symbols/*.pdb 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 index c488119..16a0651 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -210,7 +210,7 @@ Section "Client components" secClient MessageBox MB_OK|MB_ICONINFORMATION "pg_old_dir: $PG_OLD_DIR" ;Call ChecExistInstall ;get port number for psql - !include clientlist.nsi + !include client_list.nsi ;SetOutPath "$INSTDIR\bin" ;File /r ${PG_INS_SOURCE_DIR}\*.* ;File /r ${PG_INS_SOURCE_DIR}\bin\*.* @@ -298,7 +298,7 @@ Section $(PostgreSQLString) sec1 ${endif} ${endif} - !include serverlist.nsi + !include server_list.nsi ;SetOutPath "$INSTDIR" ;File /r ${PG_INS_SOURCE_DIR}\*.* ;File /r ${PG_INS_SOURCE_DIR}\bin\*.* @@ -2114,4 +2114,4 @@ Function .onSelChange ${endif} ${endif} -FunctionEnd \ No newline at end of file +FunctionEnd diff --git a/nsis/server.files b/nsis/server.files new file mode 100644 index 0000000..ccd766c --- /dev/null +++ b/nsis/server.files @@ -0,0 +1,32 @@ +# 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_resetwal.* +./bin/pg_rewind.* +./bin/pg_test_fsync.* +./bin/pg_test_timing.* +./bin/pg_upgrade.* +./bin/pg_waldump.* +./bin/postgres.* +./bin/postmaster.* +./bin/pg_standby.* +./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/* + diff --git a/nsis/unneeded.files b/nsis/unneeded.files new file mode 100644 index 0000000..e0da231 --- /dev/null +++ b/nsis/unneeded.files @@ -0,0 +1,6 @@ +./bin/pg_regress*.exe +./bin/pg_isolation_regress.exe +./bin/isolationtester.exe +./doc/contrib/README* +./doc/extension/README* +./share/locale/*/LC_MESSAGES/pltcl-*.mo From 14d0c9028df56034100dc2bfcdb8aec2dcdf9cd2 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Tue, 5 Jun 2018 13:56:26 +0300 Subject: [PATCH 204/299] Added INSTDIR to the commandline of genlists script --- build/helpers/postgres_nsis_installer.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index d25a43c..ab4ba6d 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -98,7 +98,7 @@ IF "%ARCH%" == "X64" ( CD /D %NSIS_RES_DIR% || GOTO :ERROR rem Genarate file lists -%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py client.files devel.files plperl.files plpython2.files plpython3.files unneeded.files server.files +%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py %INSTDIR% client.files devel.files plperl.files plpython2.files plpython3.files unneeded.files server.files rem generate installer itself makensis postgresql.nsi || GOTO :ERROR From 21eb9d43435972da3072e84b5294f606d19f5bbf Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 5 Jun 2018 15:14:30 +0300 Subject: [PATCH 205/299] Some changes --- nsis/postgresql.nsi | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index c488119..bbcc4ea 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -199,6 +199,11 @@ SectionEnd SectionGroup /e $(PostgreSQLString) serverGroup +Function writeUnIsn +FunctionEnd + + + Section "Client components" secClient /*${If} ${FileExists} "$INSTDIR\*.*" @@ -207,10 +212,10 @@ Section "Client components" secClient Return ${EndIf} */ -MessageBox MB_OK|MB_ICONINFORMATION "pg_old_dir: $PG_OLD_DIR" + ;MessageBox MB_OK|MB_ICONINFORMATION "pg_old_dir: $PG_OLD_DIR" ;Call ChecExistInstall ;get port number for psql - !include clientlist.nsi + !include client_list.nsi ;SetOutPath "$INSTDIR\bin" ;File /r ${PG_INS_SOURCE_DIR}\*.* ;File /r ${PG_INS_SOURCE_DIR}\bin\*.* @@ -232,7 +237,6 @@ MessageBox MB_OK|MB_ICONINFORMATION "pg_old_dir: $PG_OLD_DIR" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" $INSTDIR - WriteUninstaller "$INSTDIR\Uninstall.exe" Call writeUnistallReg Call createRunPsql @@ -298,7 +302,7 @@ Section $(PostgreSQLString) sec1 ${endif} ${endif} - !include serverlist.nsi + !include server_list.nsi ;SetOutPath "$INSTDIR" ;File /r ${PG_INS_SOURCE_DIR}\*.* ;File /r ${PG_INS_SOURCE_DIR}\bin\*.* @@ -328,6 +332,9 @@ Section $(PostgreSQLString) sec1 ; 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"' @@ -340,7 +347,7 @@ 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 @@ -353,7 +360,7 @@ Section $(PostgreSQLString) sec1 ;System::Call "kernel32::GetACP() i .r2" ;StrCpy $Codepage_text $2 ;DetailPrint "Set codepage $Codepage_text" - +/* ${If} ${AtLeastWin2008} StrCpy $Chcp_text "chcp 65001" ${Else} @@ -379,6 +386,7 @@ Section $(PostgreSQLString) sec1 FileClose $0 creatBatErr2: +*/ ClearErrors FileOpen $0 $INSTDIR\scripts\restart.bat w IfErrors creatBatErr3 @@ -416,7 +424,7 @@ Section $(PostgreSQLString) sec1 ;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} @@ -424,6 +432,7 @@ Section $(PostgreSQLString) sec1 ${endif} ; set font Lucida Console for shortcut psql + FileWrite $LogFile "set font Lucida Console for shortcut psql$\r$\n" ReadRegStr $0 HKCU "Console\SQL Shell (psql)" "FaceName" ${if} $0 == "" @@ -432,7 +441,7 @@ Section $(PostgreSQLString) sec1 WriteRegDWORD HKCU "Console\SQL Shell (psql)" "FontSize" "917504" WriteRegDWORD HKCU "Console\SQL Shell (psql)" "FontFamily" "54" ${endif} - + */ CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Reload Configuration.lnk" "$INSTDIR\scripts\reload.bat" "" "" "" "" "" "Reload PostgreSQL configuration" ;run as administrator push "$SMPROGRAMS\$StartMenuFolder\Reload Configuration.lnk" @@ -454,6 +463,8 @@ Section $(PostgreSQLString) sec1 push "$SMPROGRAMS\$StartMenuFolder\Start Server.lnk" call ShellLinkSetRunAs pop $0 + + /* CreateDirectory "$SMPROGRAMS\$StartMenuFolder\Documentation" !insertmacro CreateInternetShortcut \ @@ -465,7 +476,7 @@ Section $(PostgreSQLString) sec1 "$SMPROGRAMS\$StartMenuFolder\Documentation\${PRODUCT_NAME} documentation (RU)" \ "$INSTDIR\doc\postgresql-ru.chm" \ "$INSTDIR\doc\pg-help.ico" "0" - +*/ !insertmacro MUI_STARTMENU_WRITE_END ; Create data dir begin FileWrite $LogFile "Create data dir begin$\r$\n" @@ -889,6 +900,8 @@ Function createRunPsql 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 From 5f35b7f9e794088c821b9e6cd6d7d16a533076b7 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 5 Jun 2018 17:01:10 +0300 Subject: [PATCH 206/299] Changes after testing install --- build/helpers/genlists.py | 4 ++-- build/helpers/postgres_nsis_installer.cmd | 5 +++-- nsis/clientlist.nsi | 4 ---- nsis/postgresql.nsi | 3 +++ nsis/serverlist.nsi | 16 ---------------- 5 files changed, 8 insertions(+), 24 deletions(-) delete mode 100644 nsis/clientlist.nsi delete mode 100644 nsis/serverlist.nsi diff --git a/build/helpers/genlists.py b/build/helpers/genlists.py index 03747d0..6fbbff0 100644 --- a/build/helpers/genlists.py +++ b/build/helpers/genlists.py @@ -42,9 +42,9 @@ for f in sorted(found): filedir=os.path.dirname(f) if filedir !=curdir: - print >>out,"SetOutDir ${INSTDIR}"+filedir[1:] + print >>out,"SetOutPath $INSTDIR"+filedir[1:].replace("/","\\") curdir=filedir - print >>out, "File ${PG_INS_SOURCE_DIR}"+f[1:] + print >>out, "File ${PG_INS_SOURCE_DIR}"+f[1:].replace("/","\\") # When all module files are processed: if len(filelist): diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index ab4ba6d..d5eea82 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -56,7 +56,8 @@ 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% (%BITS%)" -SET PG_INS_SOURCE_DIR="%BUILD_DIR%\distr_%ARCH%_%PG_DEF_VERSION%\postgresql\*.*" +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% @@ -98,7 +99,7 @@ IF "%ARCH%" == "X64" ( CD /D %NSIS_RES_DIR% || GOTO :ERROR rem Genarate file lists -%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py %INSTDIR% client.files devel.files plperl.files plpython2.files plpython3.files unneeded.files server.files +%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py %PG_INS_SOURCE_DIR% client.files devel.files plperl.files plpython2.files plpython3.files unneeded.files server.files rem generate installer itself makensis postgresql.nsi || GOTO :ERROR diff --git a/nsis/clientlist.nsi b/nsis/clientlist.nsi deleted file mode 100644 index 24a2ca2..0000000 --- a/nsis/clientlist.nsi +++ /dev/null @@ -1,4 +0,0 @@ -;SetOutPath "$INSTDIR\bin" -;File /r ${PG_INS_SOURCE_DIR}\bin\*.* -SetOutPath "$INSTDIR\symbols" -File /r ${PG_INS_SOURCE_DIR}\symbols\*.* \ No newline at end of file diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index df561ec..46d6f6a 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -303,6 +303,9 @@ Section $(PostgreSQLString) sec1 ${endif} !include server_list.nsi + !include plperl_list.nsi + !include plpython2_list.nsi + ;SetOutPath "$INSTDIR" ;File /r ${PG_INS_SOURCE_DIR}\*.* ;File /r ${PG_INS_SOURCE_DIR}\bin\*.* diff --git a/nsis/serverlist.nsi b/nsis/serverlist.nsi deleted file mode 100644 index 887a70c..0000000 --- a/nsis/serverlist.nsi +++ /dev/null @@ -1,16 +0,0 @@ -SetOutPath "$INSTDIR\bin" -File /r ${PG_INS_SOURCE_DIR}\bin\*.* -SetOutPath "$INSTDIR\include" -File /r ${PG_INS_SOURCE_DIR}\include\*.* -SetOutPath "$INSTDIR\lib" -File /r ${PG_INS_SOURCE_DIR}\lib\*.* -SetOutPath "$INSTDIR\share" -File /r ${PG_INS_SOURCE_DIR}\share\*.* -SetOutPath "$INSTDIR\doc" -File /r ${PG_INS_SOURCE_DIR}\doc\*.* - - - - - - From 04f26d91d443e995be463002092b2b3a5a6307d5 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 28 Jun 2018 18:12:42 +0300 Subject: [PATCH 207/299] Add translates for messages Additional checks: Check that service is runnning Check that SELECT 1 is working add StrContains function to prooject --- nsis/StrContains.nsh | 48 +++++++++++++++++++++ nsis/postgresql.nsi | 99 ++++++++++++++++++++++++++++++++++++++++---- nsis/translates.nsi | 17 ++++++++ 3 files changed, 157 insertions(+), 7 deletions(-) create mode 100644 nsis/StrContains.nsh 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/postgresql.nsi b/nsis/postgresql.nsi index 46d6f6a..e378fbf 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -24,8 +24,8 @@ !include "WinVer.nsh" !include "Ports.nsh" !include "x64.nsh" +!include "StrContains.nsh" !insertmacro VersionCompare - ;-------------------------------- ;General Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" @@ -199,12 +199,9 @@ SectionEnd SectionGroup /e $(PostgreSQLString) serverGroup -Function writeUnIsn -FunctionEnd - -Section "Client components" secClient +Section $(componentClient) secClient /*${If} ${FileExists} "$INSTDIR\*.*" ${orif} ${FileExists} "$INSTDIR" @@ -280,7 +277,7 @@ Section "Client components" secClient SectionEnd -Section $(PostgreSQLString) sec1 +Section $(componentServer) sec1 ${if} $PG_OLD_DIR != "" ; exist PG install MessageBox MB_YESNO|MB_ICONQUESTION "$(MESS_STOP_SERVER)" IDYES doitStop IDNO noyetStop @@ -624,6 +621,10 @@ Section $(PostgreSQLString) sec1 FileWrite $0 "#online_analyze.local_tracking = 'on'$\r$\n" FileWrite $0 "#plantuner.fix_empty_table = 'on' $\r$\n" FileWrite $0 "#online_analyze.enable = off$\r$\n" + + ;debug for unstarted server: + ;FileWrite $0 "effective_io_concurrency = 2$\r$\n" + FileClose $0 ErrFileCfg1: @@ -730,6 +731,63 @@ Section $(PostgreSQLString) sec1 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 5000 + call checkServiceIsRunning + pop $0 + ${if} $0 == "" + DetailPrint "Error: service is not running!" + MessageBox MB_OK|MB_ICONSTOP "$(MESS_ERROR_SERVER)" + FileWrite $LogFile "Error: service $ServiceID_text is not running!$\r$\n" + FileClose $LogFile + Abort + ${endif} + ${endif} + + + ;check connection to the server + 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" + + ;MessageBox MB_OK "Create adminpack error: $1" + MessageBox MB_OK|MB_ICONSTOP "$(MESS_ERROR_SERVER)" + FileClose $LogFile + return + ${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 @@ -774,6 +832,9 @@ Section $(PostgreSQLString) sec1 SectionEnd +Section $(componentDeveloper) secDev +!include devel_list.nsi +SectionEnd SectionGroupEnd @@ -858,6 +919,11 @@ SectionEnd !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecMS} $(DESC_SecMS) !insertmacro MUI_DESCRIPTION_TEXT ${Sec1} $(DESC_Sec1) +!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 @@ -1952,7 +2018,7 @@ ${EndIf} IntOp $3 ${SF_SELECTED} | ${SF_RO} SectionSetFlags ${secClient} $3 ;SectionSetFlags ${secClient} ${SF_RO} - + !define MUI_LANGDLL_ALLLANGUAGES !insertmacro MUI_LANGDLL_DISPLAY ;select language StrCpy $PG_OLD_DIR "" StrCpy $DATA_DIR "$INSTDIR\data" @@ -2131,3 +2197,22 @@ Function .onSelChange ${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 + diff --git a/nsis/translates.nsi b/nsis/translates.nsi index 2568c64..418f163 100644 --- a/nsis/translates.nsi +++ b/nsis/translates.nsi @@ -116,3 +116,20 @@ The parameters are written to the file $DATA_DIR\postgresql.conf" LangString MESS_ERROR_INITDB ${LANG_ENGLISH} "An error occurred while initializing the database!" LangString MESS_ERROR_INITDB ${LANG_RUSSIAN} "��� ������������� ���� ������ ��������� ������!" + + +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 PostgreSQL clients components and documetation" +LangString DESC_componentClient ${LANG_RUSSIAN} "��������� ������ ������� PostgreSQL � ������������" + +LangString DESC_componentDeveloper ${LANG_ENGLISH} "Install PostgreSQL developer components" +LangString DESC_componentDeveloper ${LANG_RUSSIAN} "��������� ������ PostgreSQL ��� ������������" From 98aff3db5a1a4f6636d7d277285a7177cc57ffef Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 10 Jul 2018 12:25:48 +0300 Subject: [PATCH 208/299] if adminpack error occurred - call Abort --- nsis/postgresql.nsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index e378fbf..b6a5cd1 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -538,7 +538,7 @@ Section $(componentServer) sec1 ${if} $0 != 0 DetailPrint "initdb.exe return $0" - DetailPrint "Output: $1" + ;DetailPrint "Output: $1" FileWrite $LogFile "initdb.exe return $0 $\r$\n" FileWrite $LogFile "Output: $1 $\r$\n" FileClose $LogFile ;Closes the filled file @@ -778,7 +778,7 @@ Section $(componentServer) sec1 ;MessageBox MB_OK "Create adminpack error: $1" MessageBox MB_OK|MB_ICONSTOP "$(MESS_ERROR_SERVER)" FileClose $LogFile - return + Abort ${else} DetailPrint "Checking connection is OK" FileWrite $LogFile "Checking connection is OK $\r$\n" From 1b336b09ea6acf7045b1b81385fd4e62a5e06289 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 10 Jul 2018 19:18:03 +0300 Subject: [PATCH 209/299] If initdb return error <> 1, show error message with: Is Microsoft Visual C++ Redistributable installed? --- nsis/postgresql.nsi | 6 +++++- nsis/translates.nsi | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index b6a5cd1..90aff2d 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -543,7 +543,11 @@ Section $(componentServer) sec1 FileWrite $LogFile "Output: $1 $\r$\n" FileClose $LogFile ;Closes the filled file - MessageBox MB_OK|MB_ICONINFORMATION $(MESS_ERROR_INITDB) + ${if} $0 != 1 + MessageBox MB_OK|MB_ICONINFORMATION $(MESS_ERROR_INITDB2) + ${else} + MessageBox MB_OK|MB_ICONINFORMATION $(MESS_ERROR_INITDB) + ${endif} Abort ${else} diff --git a/nsis/translates.nsi b/nsis/translates.nsi index 418f163..7cd8428 100644 --- a/nsis/translates.nsi +++ b/nsis/translates.nsi @@ -117,6 +117,9 @@ The parameters are written to the file $DATA_DIR\postgresql.conf" 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! Is Microsoft Visual C++ Redistributable installed?" + LangString MESS_ERROR_INITDB2 ${LANG_RUSSIAN} "��� ������������� ���� ������ ��������� ������! ���������� �� ����� Microsoft Visual C ++ Redistributable?" + LangString componentServer ${LANG_ENGLISH} "Server components" LangString componentServer ${LANG_RUSSIAN} "���������� �������" From e997a31ce84df8f64f49c7b1ae2dc37de74997e7 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 17 Jul 2018 18:54:49 +0300 Subject: [PATCH 210/299] Added pg_probackup building --- build/helpers/postgres.cmd | 8 ++++++++ nsis/server.files | 1 + 2 files changed, 9 insertions(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 031ebba..22a5847 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -91,6 +91,9 @@ IF %ARCH% == X64 SET PERL5LIB=%PERL64_PATH%\lib;src\tools\msvc %PERL_EXE% src\tools\msvc\build.pl || GOTO :ERROR +%PERL_EXE% contrib\pg_probackup\gen_probackup_project.pl || GOTO :ERROR + + rm -rf %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql MKDIR %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql CD /D %BUILD_DIR%\postgresql\*%PGVER%*\src\tools\msvc @@ -115,6 +118,11 @@ rem now actually copy DLLs of dependencies into our bindir SET DEPENDENCIES_BIN_DIR=%DEPENDENCIES_BIN_DIR:\=/% +SET PRO_BACKUP=%BUILD_DIR%\postgresql\*%PGVER%*\Release\pg_probackup\pg_probackup.exe +SET PRO_BACKUP=%PRO_BACKUP:\=/% + +cp -va %PRO_BACKUP% %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || 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 diff --git a/nsis/server.files b/nsis/server.files index ccd766c..36e1e77 100644 --- a/nsis/server.files +++ b/nsis/server.files @@ -14,6 +14,7 @@ ./bin/postmaster.* ./bin/pg_standby.* ./bin/zic.* +./bin/pg_probackup.* ./doc/extension/*.example ./doc/buildinfo.txt ./lib/*.dll From 244b494ee3b0d9e49819462081feab33b68f1f69 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 17 Jul 2018 19:39:52 +0300 Subject: [PATCH 211/299] Some changes for building pg_probackup: remove goto :ERROR in the script because there are no pg_probackup in some branches --- build/helpers/postgres.cmd | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 22a5847..182df5d 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -91,8 +91,7 @@ IF %ARCH% == X64 SET PERL5LIB=%PERL64_PATH%\lib;src\tools\msvc %PERL_EXE% src\tools\msvc\build.pl || GOTO :ERROR -%PERL_EXE% contrib\pg_probackup\gen_probackup_project.pl || GOTO :ERROR - +IF EXIST contrib\pg_probackup\gen_probackup_project.pl %PERL_EXE% contrib\pg_probackup\gen_probackup_project.pl || GOTO :ERROR rm -rf %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql MKDIR %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql @@ -121,7 +120,7 @@ SET DEPENDENCIES_BIN_DIR=%DEPENDENCIES_BIN_DIR:\=/% SET PRO_BACKUP=%BUILD_DIR%\postgresql\*%PGVER%*\Release\pg_probackup\pg_probackup.exe SET PRO_BACKUP=%PRO_BACKUP:\=/% -cp -va %PRO_BACKUP% %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR +cp -va %PRO_BACKUP% %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin 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 From 0e9833cf7c3bcabc0aad31d2d7951c549b7d6041 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 19 Jul 2018 17:30:48 +0300 Subject: [PATCH 212/299] 1) Stop server on upgrade install in the client file section 2) Do not create extension adminpack on the upgradable install (don't have password) 3) Separate license text for languages and versions --- build/helpers/postgres_nsis_installer.cmd | 21 ++++++- nsis/postgresql.nsi | 75 ++++++++++++++++++++++- nsis/translates.nsi | 4 +- 3 files changed, 95 insertions(+), 5 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index d5eea82..e7f10b5 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -93,9 +93,28 @@ REM PostgreSQL Section >>%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" +GOTO :ENDLIC +) +IF "%PRODUCT_NAME%" == "PostgresPro" ( +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_ru "license.txt" +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_en "license.txt" +GOTO :ENDLIC +) +IF "%PRODUCT_NAME%" == "PostgresProEnterprise" ( +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_ru "license.txt" +>>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_en "license.txt" +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" + +:ENDLIC CD /D %NSIS_RES_DIR% || GOTO :ERROR rem Genarate file lists diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 90aff2d..37d7e2d 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -136,7 +136,9 @@ Var effective_cache_size !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 @@ -183,6 +185,20 @@ 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++ ${REDIST_YEAR} Redistributable" secMS @@ -211,6 +227,26 @@ Section $(componentClient) secClient ;MessageBox MB_OK|MB_ICONINFORMATION "pg_old_dir: $PG_OLD_DIR" ;Call ChecExistInstall ;get port number for psql + var /GLOBAL isStopped + StrCpy $isStopped 0 + + + ${if} $PG_OLD_DIR != "" ; exist PG install + MessageBox MB_YESNO|MB_ICONQUESTION "$(MESS_STOP_SERVER)" IDYES doitStop IDNO noyetStop + noyetStop: + Return + doitStop: + DetailPrint "Stop the server ..." + ${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 client_list.nsi ;SetOutPath "$INSTDIR\bin" @@ -275,11 +311,27 @@ Section $(componentClient) secClient !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 ${if} $PG_OLD_DIR != "" ; exist PG install + ${if} $isStopped == 0 MessageBox MB_YESNO|MB_ICONQUESTION "$(MESS_STOP_SERVER)" IDYES doitStop IDNO noyetStop noyetStop: Return @@ -290,6 +342,8 @@ Section $(componentServer) sec1 pop $0 DetailPrint "pg_ctl.exe stop return $0" ${endif} + ${endif} + ;unregister DetailPrint "Unregister the service ..." ${if} $OldServiceID_text != "" @@ -757,8 +811,10 @@ Section $(componentServer) sec1 ;check connection to the server + ${if} $OLD_DATA_DIR == "" ;if server war running we do not know password + DetailPrint "Check connection ..." - ;Sleep 1000 + 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' @@ -787,6 +843,8 @@ Section $(componentServer) sec1 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' @@ -824,6 +882,10 @@ Section $(componentServer) sec1 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" @@ -2220,3 +2282,12 @@ Function checkServiceIsRunning FunctionEnd +Function IsServerSection + SectionGetFlags ${sec1} $1 + ${if} $1 == ${SF_SELECTED} + push "1" + ${else} + push "0" + ${endif} + +FunctionEnd \ No newline at end of file diff --git a/nsis/translates.nsi b/nsis/translates.nsi index 7cd8428..a38750e 100644 --- a/nsis/translates.nsi +++ b/nsis/translates.nsi @@ -34,8 +34,8 @@ LangString PostgreSQLString ${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_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 instalation will be upgraded.$\n$\nIn order to upgrade, we may need to restart the PostgreSQL server " + LangString SERVER_EXIST_TEXT2 ${LANG_RUSSIAN} "��� ��������� ����� ���������.$\n$\n��� ���������� ���������� ����� ������������� ������������� PostgreSQL ������" LangString DATADIR_EXIST_TITLE ${LANG_ENGLISH} "Existing data directory" LangString DATADIR_EXIST_TITLE ${LANG_RUSSIAN} "��� ������� ������� � �������" From 108784e570ba159ad57b1abcaa3927f9c702d747 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 24 Jul 2018 12:25:46 +0300 Subject: [PATCH 213/299] Add PRODUCT_NAME_SHORT to generated file postgres.def.nsh --- build/helpers/postgres_nsis_installer.cmd | 4 + nsis/translates.nsi | 98 +++++++++++------------ 2 files changed, 53 insertions(+), 49 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index e7f10b5..e6bc5ce 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -99,20 +99,24 @@ IF "%ARCH%" == "X64" ( 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.txt" >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_en "license.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.txt" >>%NSIS_RES_DIR%\postgres.def.nsh ECHO !define myLicenseFile_en "license.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 diff --git a/nsis/translates.nsi b/nsis/translates.nsi index a38750e..6828701 100644 --- a/nsis/translates.nsi +++ b/nsis/translates.nsi @@ -1,7 +1,7 @@ -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" @@ -13,55 +13,55 @@ LangString PostgreSQLString ${LANG_RUSSIAN} " LangString DESC_SecMS ${LANG_ENGLISH} "Install run-time components that are required to run C++ applications" 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_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 PostgreSQL server " - LangString SERVER_EXIST_TEXT2 ${LANG_RUSSIAN} "��� ��������� ����� ���������.$\n$\n��� ���������� ���������� ����� ������������� ������������� PostgreSQL ������" + 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_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_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} "������ ���� � ������ $DATA_DIR. ������� ������� � ���� ������ ����������" + 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_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 Version of Windows is too old. At least Windows 2008 Server or Windows 7 is required to run this product." - LangString MESS_UNSUPPORTED_WINDOWS ${LANG_RUSSIAN} "���� ������ Window �� ��������������. ��� ������� �������� ��������� Windows 2008 Server ��� Windows 7 � ����." + 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} "����:" @@ -69,14 +69,14 @@ LangString PostgreSQLString ${LANG_RUSSIAN} " 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} "������:" @@ -84,9 +84,9 @@ LangString PostgreSQLString ${LANG_RUSSIAN} " 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 ��. \ ������� ����� �������� ������ ����������� ������. \ @@ -97,7 +97,7 @@ The parameters are written to the file $DATA_DIR\postgresql.conf" - 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" @@ -108,17 +108,17 @@ The parameters are written to the file $DATA_DIR\postgresql.conf" - 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_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! Is Microsoft Visual C++ Redistributable installed?" - LangString MESS_ERROR_INITDB2 ${LANG_RUSSIAN} "��� ������������� ���� ������ ��������� ������! ���������� �� ����� Microsoft Visual C ++ Redistributable?" + 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" @@ -131,8 +131,8 @@ LangString componentClient ${LANG_RUSSIAN} " LangString componentDeveloper ${LANG_ENGLISH} "Developer components" LangString componentDeveloper ${LANG_RUSSIAN} "���������� ������������" -LangString DESC_componentClient ${LANG_ENGLISH} "Install PostgreSQL clients components and documetation" -LangString DESC_componentClient ${LANG_RUSSIAN} "��������� ������ ������� PostgreSQL � ������������" +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 PostgreSQL developer components" -LangString DESC_componentDeveloper ${LANG_RUSSIAN} "��������� ������ PostgreSQL ��� ������������" +LangString DESC_componentDeveloper ${LANG_ENGLISH} "Install ${PRODUCT_NAME_SHORT} developer components" +LangString DESC_componentDeveloper ${LANG_RUSSIAN} "��������� ������ ${PRODUCT_NAME_SHORT} ��� ������������." From 856497e3e936479e300b480ffe79cdfc093d1cfd Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 31 Jul 2018 16:11:28 +0300 Subject: [PATCH 214/299] update license text for standart version --- build/helpers/postgres_nsis_installer.cmd | 4 +- nsis/license_ee_en.txt | 50 +++++++++++++++++++++++ nsis/license_ee_ru.txt | 50 +++++++++++++++++++++++ nsis/license_std_en.txt | 32 +++++++++++++++ nsis/license_std_ru.txt | 13 ++++++ nsis/postgresql.nsi | 5 ++- 6 files changed, 151 insertions(+), 3 deletions(-) create mode 100644 nsis/license_ee_en.txt create mode 100644 nsis/license_ee_ru.txt create mode 100644 nsis/license_std_en.txt create mode 100644 nsis/license_std_ru.txt diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index e6bc5ce..69c2fc5 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -103,8 +103,8 @@ IF "%PRODUCT_NAME%" == "PostgreSQL" ( GOTO :ENDLIC ) IF "%PRODUCT_NAME%" == "PostgresPro" ( ->>%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 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 ) diff --git a/nsis/license_ee_en.txt b/nsis/license_ee_en.txt new file mode 100644 index 0000000..3066193 --- /dev/null +++ b/nsis/license_ee_en.txt @@ -0,0 +1,50 @@ +������������ ���������� � �������� ������������� (EULA) + +��������� ������������ ���������� (�������) �������� ������������ (��������� �������) � �������� ������� � ��� ������������ ������� ������������� ���� (����� � ������������ ��� ���������) ��������� ��� ��� (����� ���������). � ������������ � ��������� ����������� �������� � ������������ ���������������� "�������� ����������������" (Postgres Professional) (����� � ��������������� ��� ���������) � ���������� �������������� ������������� ��������� ���� �� ��������� ��� ��� ���� Postgres Pro Enterprise, ������� ����������� ������������ � ��� � �������� �/��� ����������� ���� � ��������� ������������ ������������ (�������� ���� ����� ������� ���) ���������������� ����� �� ������������� ���������, ������������ ������ ����������� � ������� ��������� � ������������ � �������������� ��������� ����������� (���������) ��������� � ��������� (������� ���������������� ��������). + +������� ������� ������ (������������� ����������) + +��������� ������ (������������ ����������/�������) ��������� ������������� ������������� � ������ ���������� ������ �� ���� ��������� �������: +1) ����� ������������� ������ ���������� ������� ������������� ���������� ��� ��������� ��������� � ������� �� ������ ������ �������� �������������� �������� ������������ � ��������� +���������� ����������. +2) ���� ���������� ������, ������ ��� ��������� ������������� �� ��������������� ��� �������������� ������� ��� ���������������� ���� �� ������������� ��������� �� ��������� (�� ��������) ���������� �������� (����������) �������� �������������� �������� ������������ � ��������� ���������� ����������. + + +1. ��������� +������������, ������� ��� ���� ������� ��������� ��, ������������ ��� ����� ��������� ������� ���������� ����������. ���� ������������ �� ��������� ������� ������� ���������� � �����, �� �� �� ����� �������������, ������������ � ���������� ��. ���� ������������ �� ��������� ��������� ��������� ������� ����������, �� � � ���� ������ �� ����� �� ����� �������������, ������������ � ���������� ��. + +2. ��������� �������� +������� �������� ������������ �� ������ ���������, �� ������� ������������ ���������. ��������� "������������" �� ����������, ����� �� ����������� ����� ��������� � ����������� ������ ��� ���������� � ���������� ������ ������� ���������� (��������, �� ������� ����, �������-���� � �.�.). + +3. ��������������� +������������ �� ����� ����� ������ �� � ������ ��� �� ��������� �����������. ����������� ���� �� ��������� ������� ����� ���������. + +4. ������ �� ����������� +����������� ������������ �� � ������ ���������� � ����������� ����������, ���������� �� ������ �����, ������ ���������, ������������ ��� ����������, ���������������, �����������������, ������� � �������������� ������-���� ��������� ��� ���������� ��� ��. + +5. ���������� ���������. +���������� ������������ ����������� ������������� ��� ������ ��� ������ �������. �� �� ������ ����� �������� ���������� � ������������� �� �� ������ �����������. + +6. ��������� ����� +������ �� �� �������� ������������ ����������. +��� �������������� �����, ������� ��������� ����� �� ��, ����������� ���������������, � �������� �������� � �������������� ������������ �� ��������� ������. ����������� ������� ��� �������� �����-���� ����������� �� ��������� ������ �� ���� ������ �� � � ���������������� ����������. + +7. ����� �� �������� +��������������� ���� ������������ �� �������������� �����-���� �������� �� ��������� � ��. �� � ��� ����������� � ���� ������������ ��������������� "��� ����", ��� �����-���� ��������, ����� ��� ���������������, ������� ��� ��� ���������� ��������������� �������� ���������� ��� ����������� ��� �����-���� ������������ ��� �������������� ����. ������������ ��������� �� ���� ��� �����, ��������� � ��������������, ���������������� ��� ��������� ���������������� ��. + +��������������� �� �����������, ��� �� �� �������� ������, � ����� �� ����� ������� ��������������� �� ������ ��� ��������� ����������� ���������� ��, � ��� ����� ��������� ��-�� ��������� ������ ��� �������� � ��������� ��. ��������������� �� ����������� ���������� ������ �� � ����������� ������������ � ������������� ������ �������������, � ����������� � ��������, ����������� �������, ��� ������ ������ ��. ��������������� ����� �� ����������� ������� �����-���� ������������� � ����������� �������� ��. + +8. ��������������� +��������������� ������������ ����� ��������������� �� �����-���� ����� (������� ��� ��� ���������� ������ ������ �������, ���������� ������� ����������, ������ ������� ���������� ��� ����� ������), ��������� � �������������� ��� �������������� ������������� ��, � ����� � ��������������� ��� �������������� �������������� ����� �� ����������� ���������, ���� ���� ��������������� ��� ������� ������� � ����������� ����� ������. ��� ��������������� �� ���������� ������������ ������� ��� ������������� �� ����� �� ������������. + +9. ���� �������� ���������� +��������� ������������ ���������� �������� � ���� � ������� �������� �������� � ���������� �� ��� �������� �� �� ������� ���� �������� � ��������� �� ���������� ����� ����� ������������� ��. + + +10. ����������� �������� ���������� +��������������� ����� ���������� �������� ���������� ���������� ��� ������������ ��� ������� � �����������. ������������ ����� ���������� �������� ���������� ����������, ���� �� �� �������� � ���� ������������ �����������. +��� ����������� �������� ���������� ������������ ������ ���������� ������������� �� � ������� ��� ����� �� � ��������� �������� ����������. + +11. ������ ������� +��������������� ��������� �� ����� ����� �������� ��� �������� �������� ������� ���������� ��� ����� �� ������� � ��������� ������ ��. +��� ������������� �������� �� ������� ���������� ����������� �� ������ info@postgrespro.ru diff --git a/nsis/license_ee_ru.txt b/nsis/license_ee_ru.txt new file mode 100644 index 0000000..3066193 --- /dev/null +++ b/nsis/license_ee_ru.txt @@ -0,0 +1,50 @@ +������������ ���������� � �������� ������������� (EULA) + +��������� ������������ ���������� (�������) �������� ������������ (��������� �������) � �������� ������� � ��� ������������ ������� ������������� ���� (����� � ������������ ��� ���������) ��������� ��� ��� (����� ���������). � ������������ � ��������� ����������� �������� � ������������ ���������������� "�������� ����������������" (Postgres Professional) (����� � ��������������� ��� ���������) � ���������� �������������� ������������� ��������� ���� �� ��������� ��� ��� ���� Postgres Pro Enterprise, ������� ����������� ������������ � ��� � �������� �/��� ����������� ���� � ��������� ������������ ������������ (�������� ���� ����� ������� ���) ���������������� ����� �� ������������� ���������, ������������ ������ ����������� � ������� ��������� � ������������ � �������������� ��������� ����������� (���������) ��������� � ��������� (������� ���������������� ��������). + +������� ������� ������ (������������� ����������) + +��������� ������ (������������ ����������/�������) ��������� ������������� ������������� � ������ ���������� ������ �� ���� ��������� �������: +1) ����� ������������� ������ ���������� ������� ������������� ���������� ��� ��������� ��������� � ������� �� ������ ������ �������� �������������� �������� ������������ � ��������� +���������� ����������. +2) ���� ���������� ������, ������ ��� ��������� ������������� �� ��������������� ��� �������������� ������� ��� ���������������� ���� �� ������������� ��������� �� ��������� (�� ��������) ���������� �������� (����������) �������� �������������� �������� ������������ � ��������� ���������� ����������. + + +1. ��������� +������������, ������� ��� ���� ������� ��������� ��, ������������ ��� ����� ��������� ������� ���������� ����������. ���� ������������ �� ��������� ������� ������� ���������� � �����, �� �� �� ����� �������������, ������������ � ���������� ��. ���� ������������ �� ��������� ��������� ��������� ������� ����������, �� � � ���� ������ �� ����� �� ����� �������������, ������������ � ���������� ��. + +2. ��������� �������� +������� �������� ������������ �� ������ ���������, �� ������� ������������ ���������. ��������� "������������" �� ����������, ����� �� ����������� ����� ��������� � ����������� ������ ��� ���������� � ���������� ������ ������� ���������� (��������, �� ������� ����, �������-���� � �.�.). + +3. ��������������� +������������ �� ����� ����� ������ �� � ������ ��� �� ��������� �����������. ����������� ���� �� ��������� ������� ����� ���������. + +4. ������ �� ����������� +����������� ������������ �� � ������ ���������� � ����������� ����������, ���������� �� ������ �����, ������ ���������, ������������ ��� ����������, ���������������, �����������������, ������� � �������������� ������-���� ��������� ��� ���������� ��� ��. + +5. ���������� ���������. +���������� ������������ ����������� ������������� ��� ������ ��� ������ �������. �� �� ������ ����� �������� ���������� � ������������� �� �� ������ �����������. + +6. ��������� ����� +������ �� �� �������� ������������ ����������. +��� �������������� �����, ������� ��������� ����� �� ��, ����������� ���������������, � �������� �������� � �������������� ������������ �� ��������� ������. ����������� ������� ��� �������� �����-���� ����������� �� ��������� ������ �� ���� ������ �� � � ���������������� ����������. + +7. ����� �� �������� +��������������� ���� ������������ �� �������������� �����-���� �������� �� ��������� � ��. �� � ��� ����������� � ���� ������������ ��������������� "��� ����", ��� �����-���� ��������, ����� ��� ���������������, ������� ��� ��� ���������� ��������������� �������� ���������� ��� ����������� ��� �����-���� ������������ ��� �������������� ����. ������������ ��������� �� ���� ��� �����, ��������� � ��������������, ���������������� ��� ��������� ���������������� ��. + +��������������� �� �����������, ��� �� �� �������� ������, � ����� �� ����� ������� ��������������� �� ������ ��� ��������� ����������� ���������� ��, � ��� ����� ��������� ��-�� ��������� ������ ��� �������� � ��������� ��. ��������������� �� ����������� ���������� ������ �� � ����������� ������������ � ������������� ������ �������������, � ����������� � ��������, ����������� �������, ��� ������ ������ ��. ��������������� ����� �� ����������� ������� �����-���� ������������� � ����������� �������� ��. + +8. ��������������� +��������������� ������������ ����� ��������������� �� �����-���� ����� (������� ��� ��� ���������� ������ ������ �������, ���������� ������� ����������, ������ ������� ���������� ��� ����� ������), ��������� � �������������� ��� �������������� ������������� ��, � ����� � ��������������� ��� �������������� �������������� ����� �� ����������� ���������, ���� ���� ��������������� ��� ������� ������� � ����������� ����� ������. ��� ��������������� �� ���������� ������������ ������� ��� ������������� �� ����� �� ������������. + +9. ���� �������� ���������� +��������� ������������ ���������� �������� � ���� � ������� �������� �������� � ���������� �� ��� �������� �� �� ������� ���� �������� � ��������� �� ���������� ����� ����� ������������� ��. + + +10. ����������� �������� ���������� +��������������� ����� ���������� �������� ���������� ���������� ��� ������������ ��� ������� � �����������. ������������ ����� ���������� �������� ���������� ����������, ���� �� �� �������� � ���� ������������ �����������. +��� ����������� �������� ���������� ������������ ������ ���������� ������������� �� � ������� ��� ����� �� � ��������� �������� ����������. + +11. ������ ������� +��������������� ��������� �� ����� ����� �������� ��� �������� �������� ������� ���������� ��� ����� �� ������� � ��������� ������ ��. +��� ������������� �������� �� ������� ���������� ����������� �� ������ info@postgrespro.ru diff --git a/nsis/license_std_en.txt b/nsis/license_std_en.txt new file mode 100644 index 0000000..8671c2e --- /dev/null +++ b/nsis/license_std_en.txt @@ -0,0 +1,32 @@ +==================== +PostgreSQL License +==================== +Portions Copyright � 1996-2018, The PostgreSQL Global Development Group + +Portions Copyright � 1994, The Regents of the University of California + +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 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. + +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. + +========================== +Postgres Pro Std License +========================== + +Portions Copyright � 2015-2018, Postgres Professional + +Portions Copyright � 1996-2018, The PostgreSQL Global Development Group + +Portions Copyright � 1994, The Regents of the University of California + +Permission is granted to use, copy, modify and distribute this software and its documentation for testing, software development, evaluation, education for free and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following four paragraphs appear in all copies. Use for other purposes, embedding in other products, distribution and other activities require purchasing of a separate license. + +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. + +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. + +IN NO EVENT SHALL POSTGRES PROFESSIONAL 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 POSTGRES PROFESSIONAL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +POSTGRES PROFESSIONAL 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 POSTGRES PROFESSIONAL HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. \ 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..2778970 --- /dev/null +++ b/nsis/license_std_ru.txt @@ -0,0 +1,13 @@ +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 + +��������������� ����� �� �������������, �����������, ��������� � ��������������� ������� ������������ ����������� � ��� ������������ ��� ����� ������������, ���������� ��, ������������ � ����������������� ����, ������������� � ��������������� �������� ��������� � ��� ���������� ������-���� ����������, ��� ������� ��� ��� ������ ����� ����� ������������� ������ ���� ��������� �� ��������� ������, ������� ����� � ������ ��������� ������. ������������� � ������ �����, ����������� � ������ ��������, ������������� � ������ �������� ������� ������������ ��������� ��������. + +�������������� ����������� �� ����� ������� ��������������� �� ����� �����������, ������� ������ ������, ���������� ������ ��� ��������, ����������� ��� ��������� �������������� ������� ������������ ����������� ��� ��� ������������, ���� ���� �������������� ����������� ��� ������� � ����������� ����� �����������. + +�������������� ����������� ���������� ������������ ������������� ����� ��������, �������, �� �� ������������� ������ ����� ����������: ������� �������� ����������� ������ ��� ����������� ��� ��������� ����. ������ ����������� ����������� ��������������� �� ������ �������� "��� ����" � �������������� ����������� �� ������ ������������� �������������, ���������, ����������, ���������� ��� ���������. + +�������� � ������������ ���������������� "�������� ����������������" (Postgres Professional) �� ����� ������� ��������������� �� ����� �����������, ������� ������ ������, ���������� ������ ��� ��������, ����������� ��� ��������� �������������� ������� ������������ ����������� ��� ��� ������������, ���� ���� �������� � ������������ ���������������� "�������� ����������������" ���� �������� � ����������� ����� �����������. + +�������� � ������������ ���������������� "�������� ����������������" (Postgres Professional) ���������� ������������ ������������� ����� ��������, �������, �� �� ������������� ������ ����� ����������: ������� �������� ����������� ������ ��� ����������� ��� ��������� ����. ������ ����������� ����������� ��������������� �� ������ �������� "��� ����" � �������� � ������������ ���������������� "�������� ����������������" �� ������� ������������� �������������, ���������, ����������, ���������� ��� ���������. \ No newline at end of file diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 37d7e2d..032fda6 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -259,7 +259,10 @@ Section $(componentClient) secClient ;File /r ${PG_INS_SOURCE_DIR}\share\*.* ;File /r ${PG_INS_SOURCE_DIR}\symbols\*.* - File "License.txt" + ;File "License.txt" + File ${myLicenseFile_ru} + File ${myLicenseFile_en} + File "3rd_party_licenses.txt" CreateDirectory "$INSTDIR\scripts" From e22b1b15ff26dd977bf376b61d68078f61011cc0 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 2 Aug 2018 14:43:33 +0300 Subject: [PATCH 215/299] Fixed bug for uninstall. Change license text for PgPro Standart version --- nsis/license_std_en.txt | 18 +++----------- nsis/license_std_ru.txt | 7 +++++- nsis/postgresql.nsi | 54 ++++++++++++----------------------------- 3 files changed, 24 insertions(+), 55 deletions(-) diff --git a/nsis/license_std_en.txt b/nsis/license_std_en.txt index 8671c2e..57ffc42 100644 --- a/nsis/license_std_en.txt +++ b/nsis/license_std_en.txt @@ -1,19 +1,7 @@ -==================== -PostgreSQL License -==================== -Portions Copyright � 1996-2018, The PostgreSQL Global Development Group - -Portions Copyright � 1994, The Regents of the University of California - -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 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. - -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. +Postgres Pro Standard License +------------------------------------------------------- -========================== -Postgres Pro Std License -========================== +Postgres Pro Standard is distributed under the terms of PostgreSQL license with additions by Postgres Professional: Portions Copyright � 2015-2018, Postgres Professional diff --git a/nsis/license_std_ru.txt b/nsis/license_std_ru.txt index 2778970..1e0cd08 100644 --- a/nsis/license_std_ru.txt +++ b/nsis/license_std_ru.txt @@ -1,8 +1,13 @@ +�������� Postgres Pro Standard +---------------------------------------------------------- + +Postgres Pro Standard ���������������� �� �������� PostgreSQL � ������������ Postgres Professional: + 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 -��������������� ����� �� �������������, �����������, ��������� � ��������������� ������� ������������ ����������� � ��� ������������ ��� ����� ������������, ���������� ��, ������������ � ����������������� ����, ������������� � ��������������� �������� ��������� � ��� ���������� ������-���� ����������, ��� ������� ��� ��� ������ ����� ����� ������������� ������ ���� ��������� �� ��������� ������, ������� ����� � ������ ��������� ������. ������������� � ������ �����, ����������� � ������ ��������, ������������� � ������ �������� ������� ������������ ��������� ��������. +��������������� ����� �� �������������, �����������, ��������� � ��������������� ������� ������������ ����������� � ��� ������������ ��� ����� ������������, ���������� ��, ������������ � ����������������� ����, ������������� � ��������������� �������� ��������� � ��� ���������� ������-���� ����������, ��� ������� ��� ��� ������ ����� ����� ������������� ������ ���� ��������� �� ��������� ������, ������� ����� � ������ ��������� ������. ������������� � ������ �����, ����������� � ������ ��������, ������������� � ������ �������� ������� ������������ ��������� ��������. �������������� ����������� �� ����� ������� ��������������� �� ����� �����������, ������� ������ ������, ���������� ������ ��� ��������, ����������� ��� ��������� �������������� ������� ������������ ����������� ��� ��� ������������, ���� ���� �������������� ����������� ��� ������� � ����������� ����� �����������. diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 032fda6..668af1f 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -260,6 +260,8 @@ Section $(componentClient) secClient ;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} @@ -277,10 +279,12 @@ Section $(componentClient) secClient 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" @@ -369,8 +373,7 @@ Section $(componentServer) sec1 ;File /r ${PG_INS_SOURCE_DIR}\share\*.* ;File /r ${PG_INS_SOURCE_DIR}\symbols\*.* - File "License.txt" - File "3rd_party_licenses.txt" + ;File "License.txt" FileOpen $LogFile $INSTDIR\install.log w ;Opens a Empty File an fills it @@ -473,32 +476,12 @@ Section $(componentServer) sec1 creatBatErr6: ;for all users - SetShellVarContext all + SetShellVarContext all !insertmacro MUI_STARTMENU_WRITE_BEGIN Application FileWrite $LogFile "Create shortcuts$\r$\n" ;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 - - FileWrite $LogFile "set font Lucida Console for shortcut psql$\r$\n" - 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} - */ CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Reload Configuration.lnk" "$INSTDIR\scripts\reload.bat" "" "" "" "" "" "Reload PostgreSQL configuration" ;run as administrator push "$SMPROGRAMS\$StartMenuFolder\Reload Configuration.lnk" @@ -521,19 +504,6 @@ Section $(componentServer) sec1 call ShellLinkSetRunAs pop $0 - /* - 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 ; Create data dir begin FileWrite $LogFile "Create data dir begin$\r$\n" @@ -928,7 +898,11 @@ 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" @@ -2293,4 +2267,6 @@ Function IsServerSection push "0" ${endif} -FunctionEnd \ No newline at end of file +FunctionEnd + + From 3136516410661185dbe05a4515fd90427ac90752 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 2 Aug 2018 15:34:20 +0300 Subject: [PATCH 216/299] Added new option for install - enable data checksums. In the ini file option name is datachecksums --- nsis/postgresql.nsi | 33 +++++++++++++++++++++++++++++++++ nsis/translates.nsi | 4 ++++ 2 files changed, 37 insertions(+) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 668af1f..edb834f 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -110,6 +110,11 @@ Var isEnvVar Var LogFile Var effective_cache_size + +Var checkBoxDataChecksums +Var isDataChecksums + + ; Set 'install service' variable ;Var service @@ -530,6 +535,13 @@ Section $(componentServer) sec1 FileClose $R0 StrCpy $tempVar ' --pwfile "$tempFileName" -A md5 ' ${endif} + + + ${if} $isDataChecksums == ${BST_CHECKED} + StrCpy $tempVar '$tempVar --data-checksums ' + ${endif} + + DetailPrint "Database initialization ..." AccessControl::GetCurrentUserName Pop $0 ; or "error" @@ -1269,6 +1281,10 @@ Function getServerDataFromDlg ${NSD_GetText} $Locale $Locale_text ${NSD_GetState} $checkBoxEnvVar $isEnvVar + + ${NSD_GetState} $checkBoxDataChecksums $isDataChecksums + + FunctionEnd Function nsDialogsServerPageLeave @@ -1906,6 +1922,12 @@ Function nsDialogServer ${NSD_CreatePassword} 62u 88u 100u 12u $Pass2_text Pop $Pass2 + + ${NSD_CreateCheckBox} 62u 105u 100% 12u "$(DLG_data-checksums)" + Pop $checkBoxDataChecksums + ${NSD_SetState} $checkBoxDataChecksums $isDataChecksums + + ;env vars ${NSD_CreateCheckBox} 62u 120u 100% 12u "$(DLG_ENVVAR)" Pop $checkBoxEnvVar @@ -2076,6 +2098,8 @@ ${EndIf} StrCpy $checkNoLocal_state ${BST_CHECKED} StrCpy $isEnvVar ${BST_UNCHECKED} ;${BST_CHECKED} + StrCpy $isDataChecksums ${BST_CHECKED} ;${BST_CHECKED} + StrCpy $Coding_text "UTF8" ;"UTF-8" @@ -2185,6 +2209,15 @@ ${EndIf} ${if} "$1" != "" StrCpy $needOptimization "$1" ${endif} + + + ReadINIStr $1 $0 options datachecksums + ${if} "$1" != "" + StrCpy $isDataChecksums "$1" + ${endif} + + + FunctionEnd Function func1 diff --git a/nsis/translates.nsi b/nsis/translates.nsi index 6828701..174287b 100644 --- a/nsis/translates.nsi +++ b/nsis/translates.nsi @@ -136,3 +136,7 @@ LangString DESC_componentClient ${LANG_RUSSIAN} " 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} "�������� ����������� ����� ��� �������" From 80d9d43f12731c65635ffe18fe662ec843006bd3 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 3 Aug 2018 14:39:31 +0300 Subject: [PATCH 217/299] Added pgpro_upgrade.files --- build/helpers/postgres_nsis_installer.cmd | 11 +++++++++++ nsis/pgpro_upgrade.files | 2 ++ nsis/server.files | 5 ++--- 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 nsis/pgpro_upgrade.files diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 69c2fc5..900e6e1 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -122,6 +122,17 @@ GOTO :ENDLIC CD /D %NSIS_RES_DIR% || GOTO :ERROR rem Genarate file lists + +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_UPGADE +GOTO :NO_PGPRO_UPGADE +:ADD_PGPRO_UPDATE +type server.files pgpro_upgrade.files > newserver.files +type newserver.files > server.files +del newserver.files +:NO_PGPRO_UPGRADE + %PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py %PG_INS_SOURCE_DIR% client.files devel.files plperl.files plpython2.files plpython3.files unneeded.files server.files rem generate installer itself diff --git a/nsis/pgpro_upgrade.files b/nsis/pgpro_upgrade.files new file mode 100644 index 0000000..89f85be --- /dev/null +++ b/nsis/pgpro_upgrade.files @@ -0,0 +1,2 @@ +./bin/sh.* +./bin/pgpro_upgrade.* diff --git a/nsis/server.files b/nsis/server.files index 36e1e77..b985b39 100644 --- a/nsis/server.files +++ b/nsis/server.files @@ -4,17 +4,17 @@ ./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/postgres.* ./bin/postmaster.* -./bin/pg_standby.* ./bin/zic.* -./bin/pg_probackup.* ./doc/extension/*.example ./doc/buildinfo.txt ./lib/*.dll @@ -30,4 +30,3 @@ ./share/timezonesets/* ./share/timezone/* ./share/tsearch_data/* - From 9db8e12376523505c2b6fe69f82d6496159aa9f7 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 3 Aug 2018 15:16:55 +0300 Subject: [PATCH 218/299] Checking pgpro_upgrade avaliblity before use --- nsis/postgresql.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index edb834f..d047f02 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -476,7 +476,7 @@ Section $(componentServer) sec1 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$\nsh.exe "$INSTDIR\bin\pgpro_upgrade"$\r$\n' + FileWrite $0 '@echo off$\r$\nif "%PGDATA%"=="" set PGDATA=%~1$\r$\nif "%PGDATA%"=="" set PGDATA=$DATA_DIR$\r$\nPATH $INSTDIR\bin;%PATH%$\r$\nif exist "$INSTDIR\bin\pgpro_upgrade" sh.exe "$INSTDIR\bin\pgpro_upgrade"$\r$\n' FileClose $0 creatBatErr6: From 844ba8a2d1d7d931a5e9f4fcef6145952b5bb8db Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 3 Aug 2018 16:23:48 +0300 Subject: [PATCH 219/299] Update of server.files with support of re-enterable way, also typos has been fixed --- build/helpers/postgres_nsis_installer.cmd | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 900e6e1..01f2c27 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -123,17 +123,16 @@ GOTO :ENDLIC CD /D %NSIS_RES_DIR% || GOTO :ERROR rem Genarate file lists +type server.files > allserver.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_UPGADE -GOTO :NO_PGPRO_UPGADE -:ADD_PGPRO_UPDATE -type server.files pgpro_upgrade.files > newserver.files -type newserver.files > server.files -del newserver.files +IF "%PRODUCT_NAME%" == "PostgresProEnterprise" GOTO :ADD_PGPRO_UPGRADE +GOTO :NO_PGPRO_UPGRADE +:ADD_PGPRO_UPGRADE +type server.files pgpro_upgrade.files > allserver.files :NO_PGPRO_UPGRADE -%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py %PG_INS_SOURCE_DIR% client.files devel.files plperl.files plpython2.files plpython3.files unneeded.files server.files +%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py %PG_INS_SOURCE_DIR% client.files devel.files plperl.files plpython2.files plpython3.files unneeded.files allserver.files rem generate installer itself makensis postgresql.nsi || GOTO :ERROR From 4009e8aa17fef3c83e32a897ae694b8b32561d98 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 3 Aug 2018 17:04:01 +0300 Subject: [PATCH 220/299] Included allserver_list.nsi instean of server_list.nsi --- nsis/postgresql.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index d047f02..fb8ed4e 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -365,7 +365,7 @@ Section $(componentServer) sec1 ${endif} ${endif} - !include server_list.nsi + !include allserver_list.nsi !include plperl_list.nsi !include plpython2_list.nsi From c47b16c1002a5d7e5bcf23d08800e48f1d5b31a5 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 3 Aug 2018 18:08:38 +0300 Subject: [PATCH 221/299] Fixed content of pgpro_upgrade.files --- nsis/pgpro_upgrade.files | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/pgpro_upgrade.files b/nsis/pgpro_upgrade.files index 89f85be..9d3842f 100644 --- a/nsis/pgpro_upgrade.files +++ b/nsis/pgpro_upgrade.files @@ -1,2 +1,2 @@ ./bin/sh.* -./bin/pgpro_upgrade.* +./bin/pgpro_upgrade From ede507244a8c0ff62e384a63cd4698346653701f Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 3 Aug 2018 18:37:53 +0300 Subject: [PATCH 222/299] Added sed.exe to pgpro_upgrade.files --- nsis/pgpro_upgrade.files | 1 + 1 file changed, 1 insertion(+) diff --git a/nsis/pgpro_upgrade.files b/nsis/pgpro_upgrade.files index 9d3842f..da36197 100644 --- a/nsis/pgpro_upgrade.files +++ b/nsis/pgpro_upgrade.files @@ -1,2 +1,3 @@ ./bin/sh.* +./bin/sed.* ./bin/pgpro_upgrade From 88b78b8ddd3a2b67e73913b3f508e944f8c7e834 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 14 Aug 2018 17:53:36 +0300 Subject: [PATCH 223/299] Disabled pgpro_upgrade call while we have permission problem --- nsis/postgresql.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index fb8ed4e..1cf22e5 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -476,7 +476,7 @@ Section $(componentServer) sec1 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$\nif exist "$INSTDIR\bin\pgpro_upgrade" sh.exe "$INSTDIR\bin\pgpro_upgrade"$\r$\n' + 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: From 465a87ceec5000820b7c8a47af3f00888770fa65 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 16 Aug 2018 18:01:08 +0300 Subject: [PATCH 224/299] Separate file with PGADMIN license. --- nsis/license.txt | 21 --------------------- nsis/pgadmin.nsi | 4 ++-- nsis/pgadmin_license.txt | 20 ++++++++++++++++++++ 3 files changed, 22 insertions(+), 23 deletions(-) create mode 100644 nsis/pgadmin_license.txt 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/pgadmin.nsi b/nsis/pgadmin.nsi index 6e6a71d..349f771 100644 --- a/nsis/pgadmin.nsi +++ b/nsis/pgadmin.nsi @@ -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. From 64b5ae553b0d77e235d713d20c1d1a6fe683b820 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 17 Aug 2018 18:38:55 +0300 Subject: [PATCH 225/299] Stretching of fields of dialog labels --- nsis/postgresql.nsi | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 1cf22e5..5eb57f2 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -1400,24 +1400,24 @@ 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)" @@ -1904,32 +1904,32 @@ Function nsDialogServer ${endif} ${NSD_CB_SelectString} $Locale $Locale_text - ${NSD_CreateLabel} 0 54u 60u 24u "$(DLG_SUPERUSER)" + ${NSD_CreateLabel} 0 54u 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} 62u 105u 100% 12u "$(DLG_data-checksums)" + ${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 From f97301a79094fc020890809821777946cd3ee588 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 24 Oct 2018 13:12:33 +0300 Subject: [PATCH 226/299] Disalbed 32-bit perl support --- build/helpers/postgres.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 182df5d..85a2d6e 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -54,9 +54,9 @@ if "%PRODUCT_NAME%" == "PostgreSQL" ( >>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 -IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO perl ^=^> '%PERL32_PATH%', ) +IF %ARCH% == X86 GOTO :DISABLE_PERL +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, ) From b6c614934e3443c113548e243a515265a95fe728 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 24 Oct 2018 13:36:42 +0300 Subject: [PATCH 227/299] Used any-bit perl to build and install PG --- build/helpers/setvars.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 2756306..e7f5777 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -25,8 +25,8 @@ SET NSIS_PATH=C:\Program Files (x86)\NSIS SET MSYS2_PATH=C:\msys32\usr\bin;C:\msys64\usr\bin SET PATH=%PATH%;%ZIP_PATH%;%MSYS2_PATH%;%NSIS_PATH% -IF %ARCH% == X86 SET PATH=%PERL32_BIN%;%PATH% -IF %ARCH% == X64 SET PATH=%PERL64_BIN%;%PATH% +IF EXIST "%PERL32_BIN%" SET PATH=%PERL32_BIN%;%PATH% +IF EXIST "%PERL64_BIN%" SET PATH=%PERL64_BIN%;%PATH% IF %ARCH% == X86 SET PERL_EXE=%PERL32_BIN%\perl IF %ARCH% == X64 SET PERL_EXE=%PERL64_BIN%\perl From af0f52ee6ae708810f3643de82a69b4e9d389c2f Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 24 Oct 2018 13:36:42 +0300 Subject: [PATCH 228/299] Used any-bit perl to build and install PG --- build/helpers/setvars.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 2756306..e7f5777 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -25,8 +25,8 @@ SET NSIS_PATH=C:\Program Files (x86)\NSIS SET MSYS2_PATH=C:\msys32\usr\bin;C:\msys64\usr\bin SET PATH=%PATH%;%ZIP_PATH%;%MSYS2_PATH%;%NSIS_PATH% -IF %ARCH% == X86 SET PATH=%PERL32_BIN%;%PATH% -IF %ARCH% == X64 SET PATH=%PERL64_BIN%;%PATH% +IF EXIST "%PERL32_BIN%" SET PATH=%PERL32_BIN%;%PATH% +IF EXIST "%PERL64_BIN%" SET PATH=%PERL64_BIN%;%PATH% IF %ARCH% == X86 SET PERL_EXE=%PERL32_BIN%\perl IF %ARCH% == X64 SET PERL_EXE=%PERL64_BIN%\perl From 63685ef7d2b9003bba587a664a97b377fff4052e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 24 Oct 2018 14:33:05 +0300 Subject: [PATCH 229/299] Set-up PERL_EXE variable to available 32 or 64 perl path --- build/helpers/setvars.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index e7f5777..7593fc6 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -26,10 +26,10 @@ SET MSYS2_PATH=C:\msys32\usr\bin;C:\msys64\usr\bin SET PATH=%PATH%;%ZIP_PATH%;%MSYS2_PATH%;%NSIS_PATH% IF EXIST "%PERL32_BIN%" SET PATH=%PERL32_BIN%;%PATH% +IF EXIST "%PERL32_BIN%" SET PERL_EXE=%PERL32_BIN%\perl IF EXIST "%PERL64_BIN%" SET PATH=%PERL64_BIN%;%PATH% +IF EXIST "%PERL64_BIN%" SET PERL_EXE=%PERL64_BIN%\perl -IF %ARCH% == X86 SET PERL_EXE=%PERL32_BIN%\perl -IF %ARCH% == X64 SET PERL_EXE=%PERL64_BIN%\perl IF %ARCH% == X86 SET Platform=Win32 IF %ARCH% == X64 SET Platform=X64 IF %SDK% == SDK71 ( From d4289a98f7635d97d8b4df43f2520a8ee4fe1563 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 24 Oct 2018 14:33:05 +0300 Subject: [PATCH 230/299] Set-up PERL_EXE variable to available 32 or 64 perl path --- build/helpers/setvars.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index e7f5777..7593fc6 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -26,10 +26,10 @@ SET MSYS2_PATH=C:\msys32\usr\bin;C:\msys64\usr\bin SET PATH=%PATH%;%ZIP_PATH%;%MSYS2_PATH%;%NSIS_PATH% IF EXIST "%PERL32_BIN%" SET PATH=%PERL32_BIN%;%PATH% +IF EXIST "%PERL32_BIN%" SET PERL_EXE=%PERL32_BIN%\perl IF EXIST "%PERL64_BIN%" SET PATH=%PERL64_BIN%;%PATH% +IF EXIST "%PERL64_BIN%" SET PERL_EXE=%PERL64_BIN%\perl -IF %ARCH% == X86 SET PERL_EXE=%PERL32_BIN%\perl -IF %ARCH% == X64 SET PERL_EXE=%PERL64_BIN%\perl IF %ARCH% == X86 SET Platform=Win32 IF %ARCH% == X64 SET Platform=X64 IF %SDK% == SDK71 ( From 70e6da5ee1bdffbe9666477ed5283563dbb54e3d Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 31 Oct 2018 18:07:05 +0300 Subject: [PATCH 231/299] Set PG_REPACK_VER to 1.4.3 for PG11 --- build/helpers/setvars.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 7593fc6..33b4471 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -12,6 +12,7 @@ SET ZSTD_RELEASE=1.1.0 SET PG_REPACK_VER=1.4.2 IF "%PG_MAJOR_VERSION%"=="9.5" SET PG_REPACK_VER=1.3.4 +IF "%PG_MAJOR_VERSION%"=="11" SET PG_REPACK_VER=1.4.3 REM Path vars SET PERL32_PATH=C:\Perl From 2eb059aa524624c7a184265a45e2937a23d2f13e Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 6 Nov 2018 19:26:45 +0300 Subject: [PATCH 232/299] Change option for the less pager to -XE --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 85a2d6e..4e0ef88 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -76,7 +76,7 @@ if "%PRODUCT_NAME%" == "PostgresProEnterprise" >>src\tools\msvc\config.pl ECHO z >>src\tools\msvc\config.pl ECHO 1^; rem Setting pager ->>src\include\pg_config.h.win32 ECHO #define DEFAULT_PAGER "less -X" +>>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 From 023fc698e332a7f497f84380d294d69365f7a135 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 7 Nov 2018 15:12:31 +0300 Subject: [PATCH 233/299] Set PERL5LIB from setvars.cmd --- build/helpers/setvars.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 33b4471..025fb1a 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -25,6 +25,7 @@ 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 PATH=%PATH%;%ZIP_PATH%;%MSYS2_PATH%;%NSIS_PATH% +SET PERL5LIB=. IF EXIST "%PERL32_BIN%" SET PATH=%PERL32_BIN%;%PATH% IF EXIST "%PERL32_BIN%" SET PERL_EXE=%PERL32_BIN%\perl From b1ef5cb93c93227b22781168e9a1cd493fccf1b9 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Wed, 7 Nov 2018 15:12:31 +0300 Subject: [PATCH 234/299] Set PERL5LIB from setvars.cmd --- build/helpers/setvars.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 33b4471..025fb1a 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -25,6 +25,7 @@ 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 PATH=%PATH%;%ZIP_PATH%;%MSYS2_PATH%;%NSIS_PATH% +SET PERL5LIB=. IF EXIST "%PERL32_BIN%" SET PATH=%PERL32_BIN%;%PATH% IF EXIST "%PERL32_BIN%" SET PERL_EXE=%PERL32_BIN%\perl From b921bd49a83234871662cbf9de702347fda96165 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 8 Nov 2018 16:07:54 +0300 Subject: [PATCH 235/299] Update LICENSE AGREEMENT for standart and enterprise versions --- build/helpers/postgres_nsis_installer.cmd | 4 +- nsis/license_ee_en.txt | 230 ++++++++++++++----- nsis/license_ee_ru.txt | 258 +++++++++++++++++----- nsis/license_std_en.txt | 192 ++++++++++++++-- nsis/license_std_ru.txt | 216 ++++++++++++++++-- 5 files changed, 769 insertions(+), 131 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 01f2c27..74a720e 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -109,8 +109,8 @@ IF "%PRODUCT_NAME%" == "PostgresPro" ( GOTO :ENDLIC ) IF "%PRODUCT_NAME%" == "PostgresProEnterprise" ( ->>%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 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 ) diff --git a/nsis/license_ee_en.txt b/nsis/license_ee_en.txt index 3066193..80d7a1c 100644 --- a/nsis/license_ee_en.txt +++ b/nsis/license_ee_en.txt @@ -1,50 +1,180 @@ -������������ ���������� � �������� ������������� (EULA) - -��������� ������������ ���������� (�������) �������� ������������ (��������� �������) � �������� ������� � ��� ������������ ������� ������������� ���� (����� � ������������ ��� ���������) ��������� ��� ��� (����� ���������). � ������������ � ��������� ����������� �������� � ������������ ���������������� "�������� ����������������" (Postgres Professional) (����� � ��������������� ��� ���������) � ���������� �������������� ������������� ��������� ���� �� ��������� ��� ��� ���� Postgres Pro Enterprise, ������� ����������� ������������ � ��� � �������� �/��� ����������� ���� � ��������� ������������ ������������ (�������� ���� ����� ������� ���) ���������������� ����� �� ������������� ���������, ������������ ������ ����������� � ������� ��������� � ������������ � �������������� ��������� ����������� (���������) ��������� � ��������� (������� ���������������� ��������). - -������� ������� ������ (������������� ����������) - -��������� ������ (������������ ����������/�������) ��������� ������������� ������������� � ������ ���������� ������ �� ���� ��������� �������: -1) ����� ������������� ������ ���������� ������� ������������� ���������� ��� ��������� ��������� � ������� �� ������ ������ �������� �������������� �������� ������������ � ��������� -���������� ����������. -2) ���� ���������� ������, ������ ��� ��������� ������������� �� ��������������� ��� �������������� ������� ��� ���������������� ���� �� ������������� ��������� �� ��������� (�� ��������) ���������� �������� (����������) �������� �������������� �������� ������������ � ��������� ���������� ����������. - - -1. ��������� -������������, ������� ��� ���� ������� ��������� ��, ������������ ��� ����� ��������� ������� ���������� ����������. ���� ������������ �� ��������� ������� ������� ���������� � �����, �� �� �� ����� �������������, ������������ � ���������� ��. ���� ������������ �� ��������� ��������� ��������� ������� ����������, �� � � ���� ������ �� ����� �� ����� �������������, ������������ � ���������� ��. - -2. ��������� �������� -������� �������� ������������ �� ������ ���������, �� ������� ������������ ���������. ��������� "������������" �� ����������, ����� �� ����������� ����� ��������� � ����������� ������ ��� ���������� � ���������� ������ ������� ���������� (��������, �� ������� ����, �������-���� � �.�.). - -3. ��������������� -������������ �� ����� ����� ������ �� � ������ ��� �� ��������� �����������. ����������� ���� �� ��������� ������� ����� ���������. - -4. ������ �� ����������� -����������� ������������ �� � ������ ���������� � ����������� ����������, ���������� �� ������ �����, ������ ���������, ������������ ��� ����������, ���������������, �����������������, ������� � �������������� ������-���� ��������� ��� ���������� ��� ��. - -5. ���������� ���������. -���������� ������������ ����������� ������������� ��� ������ ��� ������ �������. �� �� ������ ����� �������� ���������� � ������������� �� �� ������ �����������. - -6. ��������� ����� -������ �� �� �������� ������������ ����������. -��� �������������� �����, ������� ��������� ����� �� ��, ����������� ���������������, � �������� �������� � �������������� ������������ �� ��������� ������. ����������� ������� ��� �������� �����-���� ����������� �� ��������� ������ �� ���� ������ �� � � ���������������� ����������. - -7. ����� �� �������� -��������������� ���� ������������ �� �������������� �����-���� �������� �� ��������� � ��. �� � ��� ����������� � ���� ������������ ��������������� "��� ����", ��� �����-���� ��������, ����� ��� ���������������, ������� ��� ��� ���������� ��������������� �������� ���������� ��� ����������� ��� �����-���� ������������ ��� �������������� ����. ������������ ��������� �� ���� ��� �����, ��������� � ��������������, ���������������� ��� ��������� ���������������� ��. - -��������������� �� �����������, ��� �� �� �������� ������, � ����� �� ����� ������� ��������������� �� ������ ��� ��������� ����������� ���������� ��, � ��� ����� ��������� ��-�� ��������� ������ ��� �������� � ��������� ��. ��������������� �� ����������� ���������� ������ �� � ����������� ������������ � ������������� ������ �������������, � ����������� � ��������, ����������� �������, ��� ������ ������ ��. ��������������� ����� �� ����������� ������� �����-���� ������������� � ����������� �������� ��. - -8. ��������������� -��������������� ������������ ����� ��������������� �� �����-���� ����� (������� ��� ��� ���������� ������ ������ �������, ���������� ������� ����������, ������ ������� ���������� ��� ����� ������), ��������� � �������������� ��� �������������� ������������� ��, � ����� � ��������������� ��� �������������� �������������� ����� �� ����������� ���������, ���� ���� ��������������� ��� ������� ������� � ����������� ����� ������. ��� ��������������� �� ���������� ������������ ������� ��� ������������� �� ����� �� ������������. - -9. ���� �������� ���������� -��������� ������������ ���������� �������� � ���� � ������� �������� �������� � ���������� �� ��� �������� �� �� ������� ���� �������� � ��������� �� ���������� ����� ����� ������������� ��. - - -10. ����������� �������� ���������� -��������������� ����� ���������� �������� ���������� ���������� ��� ������������ ��� ������� � �����������. ������������ ����� ���������� �������� ���������� ����������, ���� �� �� �������� � ���� ������������ �����������. -��� ����������� �������� ���������� ������������ ������ ���������� ������������� �� � ������� ��� ����� �� � ��������� �������� ����������. - -11. ������ ������� -��������������� ��������� �� ����� ����� �������� ��� �������� �������� ������� ���������� ��� ����� �� ������� � ��������� ������ ��. -��� ������������� �������� �� ������� ���������� ����������� �� ������ info@postgrespro.ru +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 index 3066193..ef8511d 100644 --- a/nsis/license_ee_ru.txt +++ b/nsis/license_ee_ru.txt @@ -1,50 +1,208 @@ -������������ ���������� � �������� ������������� (EULA) - -��������� ������������ ���������� (�������) �������� ������������ (��������� �������) � �������� ������� � ��� ������������ ������� ������������� ���� (����� � ������������ ��� ���������) ��������� ��� ��� (����� ���������). � ������������ � ��������� ����������� �������� � ������������ ���������������� "�������� ����������������" (Postgres Professional) (����� � ��������������� ��� ���������) � ���������� �������������� ������������� ��������� ���� �� ��������� ��� ��� ���� Postgres Pro Enterprise, ������� ����������� ������������ � ��� � �������� �/��� ����������� ���� � ��������� ������������ ������������ (�������� ���� ����� ������� ���) ���������������� ����� �� ������������� ���������, ������������ ������ ����������� � ������� ��������� � ������������ � �������������� ��������� ����������� (���������) ��������� � ��������� (������� ���������������� ��������). - -������� ������� ������ (������������� ����������) - -��������� ������ (������������ ����������/�������) ��������� ������������� ������������� � ������ ���������� ������ �� ���� ��������� �������: -1) ����� ������������� ������ ���������� ������� ������������� ���������� ��� ��������� ��������� � ������� �� ������ ������ �������� �������������� �������� ������������ � ��������� -���������� ����������. -2) ���� ���������� ������, ������ ��� ��������� ������������� �� ��������������� ��� �������������� ������� ��� ���������������� ���� �� ������������� ��������� �� ��������� (�� ��������) ���������� �������� (����������) �������� �������������� �������� ������������ � ��������� ���������� ����������. - - -1. ��������� -������������, ������� ��� ���� ������� ��������� ��, ������������ ��� ����� ��������� ������� ���������� ����������. ���� ������������ �� ��������� ������� ������� ���������� � �����, �� �� �� ����� �������������, ������������ � ���������� ��. ���� ������������ �� ��������� ��������� ��������� ������� ����������, �� � � ���� ������ �� ����� �� ����� �������������, ������������ � ���������� ��. - -2. ��������� �������� -������� �������� ������������ �� ������ ���������, �� ������� ������������ ���������. ��������� "������������" �� ����������, ����� �� ����������� ����� ��������� � ����������� ������ ��� ���������� � ���������� ������ ������� ���������� (��������, �� ������� ����, �������-���� � �.�.). - -3. ��������������� -������������ �� ����� ����� ������ �� � ������ ��� �� ��������� �����������. ����������� ���� �� ��������� ������� ����� ���������. - -4. ������ �� ����������� -����������� ������������ �� � ������ ���������� � ����������� ����������, ���������� �� ������ �����, ������ ���������, ������������ ��� ����������, ���������������, �����������������, ������� � �������������� ������-���� ��������� ��� ���������� ��� ��. - -5. ���������� ���������. -���������� ������������ ����������� ������������� ��� ������ ��� ������ �������. �� �� ������ ����� �������� ���������� � ������������� �� �� ������ �����������. - -6. ��������� ����� -������ �� �� �������� ������������ ����������. -��� �������������� �����, ������� ��������� ����� �� ��, ����������� ���������������, � �������� �������� � �������������� ������������ �� ��������� ������. ����������� ������� ��� �������� �����-���� ����������� �� ��������� ������ �� ���� ������ �� � � ���������������� ����������. - -7. ����� �� �������� -��������������� ���� ������������ �� �������������� �����-���� �������� �� ��������� � ��. �� � ��� ����������� � ���� ������������ ��������������� "��� ����", ��� �����-���� ��������, ����� ��� ���������������, ������� ��� ��� ���������� ��������������� �������� ���������� ��� ����������� ��� �����-���� ������������ ��� �������������� ����. ������������ ��������� �� ���� ��� �����, ��������� � ��������������, ���������������� ��� ��������� ���������������� ��. - -��������������� �� �����������, ��� �� �� �������� ������, � ����� �� ����� ������� ��������������� �� ������ ��� ��������� ����������� ���������� ��, � ��� ����� ��������� ��-�� ��������� ������ ��� �������� � ��������� ��. ��������������� �� ����������� ���������� ������ �� � ����������� ������������ � ������������� ������ �������������, � ����������� � ��������, ����������� �������, ��� ������ ������ ��. ��������������� ����� �� ����������� ������� �����-���� ������������� � ����������� �������� ��. - -8. ��������������� -��������������� ������������ ����� ��������������� �� �����-���� ����� (������� ��� ��� ���������� ������ ������ �������, ���������� ������� ����������, ������ ������� ���������� ��� ����� ������), ��������� � �������������� ��� �������������� ������������� ��, � ����� � ��������������� ��� �������������� �������������� ����� �� ����������� ���������, ���� ���� ��������������� ��� ������� ������� � ����������� ����� ������. ��� ��������������� �� ���������� ������������ ������� ��� ������������� �� ����� �� ������������. - -9. ���� �������� ���������� -��������� ������������ ���������� �������� � ���� � ������� �������� �������� � ���������� �� ��� �������� �� �� ������� ���� �������� � ��������� �� ���������� ����� ����� ������������� ��. - - -10. ����������� �������� ���������� -��������������� ����� ���������� �������� ���������� ���������� ��� ������������ ��� ������� � �����������. ������������ ����� ���������� �������� ���������� ����������, ���� �� �� �������� � ���� ������������ �����������. -��� ����������� �������� ���������� ������������ ������ ���������� ������������� �� � ������� ��� ����� �� � ��������� �������� ����������. - -11. ������ ������� -��������������� ��������� �� ����� ����� �������� ��� �������� �������� ������� ���������� ��� ����� �� ������� � ��������� ������ ��. -��� ������������� �������� �� ������� ���������� ����������� �� ������ info@postgrespro.ru +������������ ���������� � ������������� �� ���� 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 index 57ffc42..80d7a1c 100644 --- a/nsis/license_std_en.txt +++ b/nsis/license_std_en.txt @@ -1,20 +1,180 @@ -Postgres Pro Standard License -------------------------------------------------------- +LICENSE AGREEMENT +ON THE USE OF THE PRODUCT DBMS POSTGRES PRO +AND ALL ITS VERSIONS -Postgres Pro Standard is distributed under the terms of PostgreSQL license with additions by Postgres Professional: +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. -Portions Copyright � 2015-2018, Postgres Professional +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. -Portions Copyright � 1996-2018, The PostgreSQL Global Development Group +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. -Portions Copyright � 1994, The Regents of the University of California - -Permission is granted to use, copy, modify and distribute this software and its documentation for testing, software development, evaluation, education for free and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following four paragraphs appear in all copies. Use for other purposes, embedding in other products, distribution and other activities require purchasing of a separate license. - -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. - -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. - -IN NO EVENT SHALL POSTGRES PROFESSIONAL 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 POSTGRES PROFESSIONAL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -POSTGRES PROFESSIONAL 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 POSTGRES PROFESSIONAL HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. \ No newline at end of file +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 index 1e0cd08..ef8511d 100644 --- a/nsis/license_std_ru.txt +++ b/nsis/license_std_ru.txt @@ -1,18 +1,208 @@ -�������� Postgres Pro Standard ----------------------------------------------------------- +������������ ���������� � ������������� �� ���� POSTGRES PRO +(�) Postgres Professional 2015-2018 -Postgres Pro Standard ���������������� �� �������� PostgreSQL � ������������ Postgres Professional: +������������ ���������� +�� ������������� �������� ���� 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 - -��������������� ����� �� �������������, �����������, ��������� � ��������������� ������� ������������ ����������� � ��� ������������ ��� ����� ������������, ���������� ��, ������������ � ����������������� ����, ������������� � ��������������� �������� ��������� � ��� ���������� ������-���� ����������, ��� ������� ��� ��� ������ ����� ����� ������������� ������ ���� ��������� �� ��������� ������, ������� ����� � ������ ��������� ������. ������������� � ������ �����, ����������� � ������ ��������, ������������� � ������ �������� ������� ������������ ��������� ��������. - -�������������� ����������� �� ����� ������� ��������������� �� ����� �����������, ������� ������ ������, ���������� ������ ��� ��������, ����������� ��� ��������� �������������� ������� ������������ ����������� ��� ��� ������������, ���� ���� �������������� ����������� ��� ������� � ����������� ����� �����������. - -�������������� ����������� ���������� ������������ ������������� ����� ��������, �������, �� �� ������������� ������ ����� ����������: ������� �������� ����������� ������ ��� ����������� ��� ��������� ����. ������ ����������� ����������� ��������������� �� ������ �������� "��� ����" � �������������� ����������� �� ������ ������������� �������������, ���������, ����������, ���������� ��� ���������. - -�������� � ������������ ���������������� "�������� ����������������" (Postgres Professional) �� ����� ������� ��������������� �� ����� �����������, ������� ������ ������, ���������� ������ ��� ��������, ����������� ��� ��������� �������������� ������� ������������ ����������� ��� ��� ������������, ���� ���� �������� � ������������ ���������������� "�������� ����������������" ���� �������� � ����������� ����� �����������. - -�������� � ������������ ���������������� "�������� ����������������" (Postgres Professional) ���������� ������������ ������������� ����� ��������, �������, �� �� ������������� ������ ����� ����������: ������� �������� ����������� ������ ��� ����������� ��� ��������� ����. ������ ����������� ����������� ��������������� �� ������ �������� "��� ����" � �������� � ������������ ���������������� "�������� ����������������" �� ������� ������������� �������������, ���������, ����������, ���������� ��� ���������. \ No newline at end of file +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 From 7379e07ae86d87fa44c5689a8d7e950712365874 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Mon, 12 Nov 2018 17:46:08 +0300 Subject: [PATCH 236/299] Fixed pattern for server files List of file patterns for server group was made for version 10 and above and include pg_resetwal.exe, but not pg_resetxlog.exe, which caused version 9.6 installer to omit pg_resetxlog.exe program PGPRO-2158. Also it was noticed that unpackaged files left in the installation directory did not cause build failure, so this error went unnoticed for three month. --- build/helpers/postgres_nsis_installer.cmd | 2 +- nsis/server.files | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 01f2c27..5691504 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -132,7 +132,7 @@ GOTO :NO_PGPRO_UPGRADE type server.files pgpro_upgrade.files > allserver.files :NO_PGPRO_UPGRADE -%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py %PG_INS_SOURCE_DIR% client.files devel.files plperl.files plpython2.files plpython3.files unneeded.files allserver.files +%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py %%PG_INS_SOURCE_DIR% client.files devel.files plperl.files %plpython2.files plpython3.files unneeded.files allserver.files || GOTO :ERROR rem generate installer itself makensis postgresql.nsi || GOTO :ERROR diff --git a/nsis/server.files b/nsis/server.files index b985b39..53ee2a6 100644 --- a/nsis/server.files +++ b/nsis/server.files @@ -5,7 +5,7 @@ ./bin/pg_controldata.* ./bin/pg_ctl.* ./bin/pg_probackup.* -./bin/pg_resetwal.* +./bin/pg_reset*.* ./bin/pg_rewind.* ./bin/pg_standby.* ./bin/pg_test_fsync.* From 8bd6f0ce02e4e2af6318dd95e9599d6bf691170b Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Tue, 13 Nov 2018 14:12:28 +0300 Subject: [PATCH 237/299] Fix typo in the script introduced when added error checking to genlists.py --- build/helpers/postgres_nsis_installer.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 3519f98..eacdc6b 100644 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -132,7 +132,7 @@ GOTO :NO_PGPRO_UPGRADE type server.files pgpro_upgrade.files > allserver.files :NO_PGPRO_UPGRADE -%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py %%PG_INS_SOURCE_DIR% client.files devel.files plperl.files %plpython2.files plpython3.files unneeded.files allserver.files || GOTO :ERROR +%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py %PG_INS_SOURCE_DIR% client.files devel.files plperl.files plpython2.files plpython3.files unneeded.files allserver.files || GOTO :ERROR rem generate installer itself makensis postgresql.nsi || GOTO :ERROR From e621609ce23cb78da661454136da22c976d13f79 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Tue, 13 Nov 2018 16:25:48 +0300 Subject: [PATCH 238/299] Added pg_verfiychecksums to list of server files --- nsis/server.files | 1 + 1 file changed, 1 insertion(+) diff --git a/nsis/server.files b/nsis/server.files index 53ee2a6..78f5a62 100644 --- a/nsis/server.files +++ b/nsis/server.files @@ -12,6 +12,7 @@ ./bin/pg_test_timing.* ./bin/pg_upgrade.* ./bin/pg_waldump.* +./bin/pg_verifychecksums.* ./bin/postgres.* ./bin/postmaster.* ./bin/zic.* From 78270a1a4725d648fc65d8d710469fcec237625f Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Tue, 13 Nov 2018 18:47:43 +0300 Subject: [PATCH 239/299] Fix filelist generation to remove unpackaged files --- build/helpers/postgres_nsis_installer.cmd | 19 +++++++++++++++---- nsis/devel.files | 1 + nsis/pgpro_upgrade.files | 2 ++ nsis/postgresql.nsi | 2 +- nsis/server.files | 4 ++-- 5 files changed, 21 insertions(+), 7 deletions(-) mode change 100644 => 100755 build/helpers/postgres_nsis_installer.cmd diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd old mode 100644 new mode 100755 index eacdc6b..20704f1 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -122,17 +122,28 @@ GOTO :ENDLIC CD /D %NSIS_RES_DIR% || GOTO :ERROR rem Genarate file lists - -type server.files > allserver.files +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 server.files pgpro_upgrade.files > allserver.files +type pgpro_upgrade.files >> allserver.files :NO_PGPRO_UPGRADE -%PYTHON64_PATH%/python %ROOT%/build/helpers/genlists.py %PG_INS_SOURCE_DIR% client.files devel.files plperl.files plpython2.files plpython3.files unneeded.files allserver.files || GOTO :ERROR +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 rem generate installer itself makensis postgresql.nsi || GOTO :ERROR diff --git a/nsis/devel.files b/nsis/devel.files index ef2712c..45c8372 100644 --- a/nsis/devel.files +++ b/nsis/devel.files @@ -3,3 +3,4 @@ ./bin/pg_config.* ./bin/ecpg.* ./symbols/*.pdb +./share/errcodes.txt diff --git a/nsis/pgpro_upgrade.files b/nsis/pgpro_upgrade.files index da36197..1317e93 100644 --- a/nsis/pgpro_upgrade.files +++ b/nsis/pgpro_upgrade.files @@ -1,3 +1,5 @@ ./bin/sh.* +./bin/mv.* ./bin/sed.* ./bin/pgpro_upgrade +./share/pgpro-upgrade/* diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 5eb57f2..c160a7a 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -253,7 +253,7 @@ Section $(componentClient) secClient - !include client_list.nsi + !include allclient_list.nsi ;SetOutPath "$INSTDIR\bin" ;File /r ${PG_INS_SOURCE_DIR}\*.* ;File /r ${PG_INS_SOURCE_DIR}\bin\*.* diff --git a/nsis/server.files b/nsis/server.files index 78f5a62..ffe25c3 100644 --- a/nsis/server.files +++ b/nsis/server.files @@ -5,14 +5,14 @@ ./bin/pg_controldata.* ./bin/pg_ctl.* ./bin/pg_probackup.* -./bin/pg_reset*.* +./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_verifychecksums.* +./bin/pg_verify_checksums.* ./bin/postgres.* ./bin/postmaster.* ./bin/zic.* From 03263bf07b4a3b14455b083976b29081ef2471d6 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Wed, 14 Nov 2018 10:52:47 +0300 Subject: [PATCH 240/299] Don't forget to add ./bin/pg_repack.exe to the pattern list of Enterprise --- build/helpers/postgres_nsis_installer.cmd | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 20704f1..7cc394b 100755 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -142,6 +142,15 @@ GOTO :NO_PGPRO_UPGRADE type pgpro_upgrade.files >> allserver.files :NO_PGPRO_UPGRADE +rem pg_repack binary should be in serever section +rem It is included into PostgresProEnterpise only +rem pg_repack extension is included by same pattern as +rem all other contrib extensions + +IF "%PRODUCT_NAME%" == "PostgresProEnterprise" ( + echo ./bin/pg_repack.* >> allserver.files +) + 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 From fb126cf4759872b0180466c4aee061b6abfebc36 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 15 Nov 2018 14:47:18 +0300 Subject: [PATCH 241/299] Uuid and wineditline projects will build with /MD option --- build/helpers/dependencies.cmd | 3 +- patches/uuid/oosp_uuid.patch | 66 ++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 patches/uuid/oosp_uuid.patch diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index d2be986..b067a39 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -72,7 +72,7 @@ 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. -c history.c editline.c fn_complete.c || 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 @@ -140,6 +140,7 @@ 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 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 From eb5e72e3550adeb55b5d50d5e44c693a72898ae4 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Tue, 11 Dec 2018 16:35:18 +0300 Subject: [PATCH 242/299] Reset patch version to 1.1 --- build/run.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/run.cmd b/build/run.cmd index e33523e..9c2ecf2 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -98,7 +98,7 @@ 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.3 + IF "%PG_PATCH_VERSION%"=="" SET PG_PATCH_VERSION=1.1 CMD.EXE /C %ROOT%\build\helpers\postgres_installer.cmd || GOTO :ERROR ) From 8fee0d8fa605ca42f01b695b8ed1c49816a6526b Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 13 Dec 2018 17:41:40 +0300 Subject: [PATCH 243/299] Turned off some MessageBox for the silent mode --- nsis/postgresql.nsi | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index c160a7a..519128e 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -342,6 +342,7 @@ SectionEnd Section $(componentServer) sec1 + ${if} $PG_OLD_DIR != "" ; exist PG install ${if} $isStopped == 0 MessageBox MB_YESNO|MB_ICONQUESTION "$(MESS_STOP_SERVER)" IDYES doitStop IDNO noyetStop @@ -583,8 +584,10 @@ Section $(componentServer) sec1 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} @@ -782,14 +785,15 @@ Section $(componentServer) sec1 call checkServiceIsRunning pop $0 ${if} $0 == "" - Sleep 5000 + Sleep 7000 call checkServiceIsRunning pop $0 ${if} $0 == "" DetailPrint "Error: service is not running!" - MessageBox MB_OK|MB_ICONSTOP "$(MESS_ERROR_SERVER)" 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} @@ -819,10 +823,11 @@ Section $(componentServer) sec1 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" - MessageBox MB_OK|MB_ICONSTOP "$(MESS_ERROR_SERVER)" - FileClose $LogFile + IfSilent +2 + MessageBox MB_OK|MB_ICONSTOP "$(MESS_ERROR_SERVER)" Abort ${else} DetailPrint "Checking connection is OK" @@ -857,6 +862,7 @@ Section $(componentServer) sec1 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" From a4937ecd4fccb5f1f64a30d97b8157345429eb98 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 10 Jan 2019 11:19:36 +0300 Subject: [PATCH 244/299] Removing test_plan_lru after build --- build/helpers/postgres.cmd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 4e0ef88..d350a88 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -112,6 +112,9 @@ REM remove python3 extensions rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/share/extension/*python3* || GOTO :ERROR rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/lib/*python3* || 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 From 26b74c6d1c126d17a621546f1605170cf07ae32f Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 22 Jan 2019 18:55:09 +0300 Subject: [PATCH 245/299] Added options for build from git and build without downloads. You can set environment variables: GIT_BRANCH, GIT_PATH, NOLOAD_SRC --- build/helpers/postgres.cmd | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index d350a88..a3e1f00 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -11,15 +11,35 @@ IF EXIST %DOWNLOADS_DIR%\%DEPS_ZIP% ( :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=https://git.postgrespro.ru/pgpro-dev/postgrespro.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% +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 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,6 +50,7 @@ IF %ONE_C% == YES ( ) ) + if "%PRODUCT_NAME%" == "PostgreSQL" ( cp -va %ROOT%/patches/postgresql/%PG_MAJOR_VERSION%/series . IF NOT EXIST series GOTO :DONE_POSTGRESQL_PATCH @@ -85,12 +106,14 @@ 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 -%PERL_EXE% src\tools\msvc\build.pl || GOTO :ERROR - +CD /D %BUILD_DIR%\postgresql\*%PGVER%*\src\tools\msvc || GOTO :ERROR +rem %PERL_EXE% src\tools\msvc\build.pl || GOTO :ERROR +%PERL_EXE% 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 rm -rf %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql From 08bea0900ec5f136e0a25d9258933563167be5df Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 29 Jan 2019 17:00:07 +0300 Subject: [PATCH 246/299] NSIS installer: online_analyze.enable = on for 1c build --- build/helpers/postgres.cmd | 10 +++++----- nsis/postgresql.nsi | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index a3e1f00..55ffcb8 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -107,12 +107,12 @@ 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 +IF %ARCH% == X86 SET PERL5LIB=%PERL32_PATH%\lib;src\tools\msvc;. +IF %ARCH% == X64 SET PERL5LIB=%PERL64_PATH%\lib;src\tools\msvc;. -CD /D %BUILD_DIR%\postgresql\*%PGVER%*\src\tools\msvc || GOTO :ERROR -rem %PERL_EXE% src\tools\msvc\build.pl || GOTO :ERROR -%PERL_EXE% build.pl || 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 diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 519128e..3902229 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -666,7 +666,7 @@ Section $(componentServer) sec1 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 = off$\r$\n" + FileWrite $0 "#online_analyze.enable = on$\r$\n" ;debug for unstarted server: ;FileWrite $0 "effective_io_concurrency = 2$\r$\n" From 730911febe9abf2badc03da0515cf5666d6541da Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Fri, 8 Feb 2019 05:03:55 +0300 Subject: [PATCH 247/299] Added advanced settings dialog --- nsis/postgresql.nsi | 156 ++++++++++++++++++++++++++++++++++++-------- nsis/translates.nsi | 23 +++++++ 2 files changed, 150 insertions(+), 29 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 3902229..f91ce5a 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -6,7 +6,6 @@ !addplugindir Plugins !include "postgres.def.nsh" - ;-------------------------------- ;Include "Modern UI" !include "MUI2.nsh" @@ -114,6 +113,19 @@ 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 @@ -163,6 +175,7 @@ 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}" @@ -537,12 +550,6 @@ Section $(componentServer) sec1 StrCpy $tempVar ' --pwfile "$tempFileName" -A md5 ' ${endif} - - ${if} $isDataChecksums == ${BST_CHECKED} - StrCpy $tempVar '$tempVar --data-checksums ' - ${endif} - - DetailPrint "Database initialization ..." AccessControl::GetCurrentUserName Pop $0 ; or "error" @@ -553,26 +560,30 @@ Section $(componentServer) sec1 FileWrite $LogFile "Database initialization ...$\r$\n" - ${if} "$Locale_text" == "$(DEF_LOCALE_NAME)" - FileWrite $LogFile '"$INSTDIR\bin\initdb.exe" $tempVar \ - --encoding=$Coding_text -U "$UserName_text" \ - -D "$DATA_DIR" $\r$\n' - ; Initialise the database cluster, and set the appropriate permissions/ownership - nsExec::ExecToLog /TIMEOUT=90000 '"$INSTDIR\bin\initdb.exe" $tempVar \ + + StrCpy $currCommand '"$INSTDIR\bin\initdb.exe" $tempVar \ --encoding=$Coding_text -U "$UserName_text" \ -D "$DATA_DIR"' + ${if} $isDataChecksums == ${BST_CHECKED} + StrCpy $currCommand '$currCommand --data-checksums' + ${endif} + + ${if} "$Locale_text" == "$(DEF_LOCALE_NAME)" + ${if} "$Collation_text" != "$(DEF_COLATE_NAME)" + StrCpy $currCommand '$currCommand --locale="@$Collation_text"' + ${endif} ${else} - FileWrite $LogFile '"$INSTDIR\bin\initdb.exe" $tempVar \ - --locale="$Locale_text" \ - --encoding=$Coding_text \ - -U "$UserName_text" \ - -D "$DATA_DIR" $\r$\n' - nsExec::ExecToLog /TIMEOUT=60000 '"$INSTDIR\bin\initdb.exe" $tempVar \ - --locale="$Locale_text" \ - --encoding=$Coding_text \ - -U "$UserName_text" \ - -D "$DATA_DIR"' + StrCpy $currCommand '$currCommand --locale="$Locale_text"' + ${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} @@ -683,9 +694,16 @@ Section $(componentServer) sec1 Call WriteInstallOptions DetailPrint "Service $ServiceID_text registration ..." FileWrite $LogFile "Service $ServiceID_text registration ... $\r$\n" - FileWrite $LogFile '"$INSTDIR\bin\pg_ctl.exe" register -N "$ServiceID_text" -U "$ServiceAccount_text" -D "$DATA_DIR" -w $\r$\n' - nsExec::ExecToStack /TIMEOUT=60000 '"$INSTDIR\bin\pg_ctl.exe" register -N "$ServiceID_text" -U "$ServiceAccount_text" -D "$DATA_DIR" -w' + 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} @@ -1288,6 +1306,7 @@ Function getServerDataFromDlg ${NSD_GetState} $checkBoxEnvVar $isEnvVar + ${NSD_GetState} $checkBoxDataChecksums $isDataChecksums @@ -1427,7 +1446,7 @@ Function nsDialogServer Pop $Locale ${NSD_CB_AddString} $Locale "$(DEF_LOCALE_NAME)" - ${if} ${PG_MAJOR_VERSION} == "10" + ${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 @@ -1910,7 +1929,7 @@ Function nsDialogServer ${endif} ${NSD_CB_SelectString} $Locale $Locale_text - ${NSD_CreateLabel} 0 54u 70u 24u "$(DLG_SUPERUSER)" + ${NSD_CreateLabel} 0 59u 70u 24u "$(DLG_SUPERUSER)" Pop $Label2 ${NSD_CreateText} 72u 57u 100u 12u "$UserName_text" @@ -1938,7 +1957,7 @@ Function nsDialogServer ${NSD_CreateCheckBox} 72u 120u 100% 12u "$(DLG_ENVVAR)" Pop $checkBoxEnvVar ${NSD_SetState} $checkBoxEnvVar $isEnvVar - + GetFunctionAddress $0 getServerDataFromDlg nsDialogs::OnBack $0 @@ -2048,6 +2067,11 @@ Function nsDialogOptimization ${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 @@ -2062,6 +2086,8 @@ Function nsDialogsOptimizationPageLeave ${else} StrCpy $needOptimization "0" ${endif} + + ${NSD_GetState} $checkBoxMoreOptions $isShowMoreOptions FunctionEnd Function SetDefaultTcpPort @@ -2105,9 +2131,11 @@ ${EndIf} 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 @@ -2309,3 +2337,73 @@ Function IsServerSection 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% 70u "$(MORE_SERVICE_TITLE)" + Pop $0 + + ${NSD_CreateLabel} 10u 12u 120u 16u "$(MORE_WINUSER)" + Pop $Label + + ${NSD_CreateText} 130u 14u 160u 12u "$ServiceAccount_text" + Pop $ServiceAccount_editor + + ${NSD_CreateLabel} 10u 32u 120u 12u "$(MORE_WINPASS)" + Pop $Label + + ${NSD_CreatePassword} 130u 30u 160u 12u $servicePassword_text + Pop $servicePassword_editor + + + ${NSD_CreateLabel} 10u 52u 120u 16u "$(MORE_SERVICE_NAME)" + Pop $Label + + ${NSD_CreateText} 130u 50u 160u 12u "$ServiceID_text" + Pop $ServiceID_editor + + + ${if} ${PG_MAJOR_VERSION} >= "10" + ${NSD_CreateLabel} 10u 82u 120u 16u "$(MORE_COLATION)" + Pop $Label + + ${NSD_CreateDropList} 130u 80u 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} + + nsDialogs::Show + +FunctionEnd + +Function nsDialogsMorePageLeave + ${NSD_GetText} $ServiceAccount_editor $ServiceAccount_text + ${NSD_GetText} $servicePassword_editor $servicePassword_text + ${NSD_GetText} $ServiceID_editor $ServiceID_text + ${if} ${PG_MAJOR_VERSION} >= "10" + ${NSD_GetText} $Collation_editor $Collation_text + ${endif} + + +FunctionEnd \ No newline at end of file diff --git a/nsis/translates.nsi b/nsis/translates.nsi index 174287b..412eb43 100644 --- a/nsis/translates.nsi +++ b/nsis/translates.nsi @@ -140,3 +140,26 @@ LangString DESC_componentDeveloper ${LANG_RUSSIAN} " LangString DLG_data-checksums ${LANG_ENGLISH} "Enable data checksums" LangString DLG_data-checksums ${LANG_RUSSIAN} "�������� ����������� ����� ��� �������" + + +LangString DEF_COLATE_NAME ${LANG_ENGLISH} "Default" +LangString DEF_COLATE_NAME ${LANG_RUSSIAN} "�� ���������" + +LangString MORE_WINUSER ${LANG_ENGLISH} "Windows existing 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} "�������� �������������� ��������� ..." From 8017bad4fc3b93061a80da7108f34c3355299584 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 12 Feb 2019 17:00:21 +0300 Subject: [PATCH 248/299] Fixed double locale option --- nsis/postgresql.nsi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index f91ce5a..dfd63d7 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -287,6 +287,7 @@ Section $(componentClient) secClient 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 @@ -399,6 +400,7 @@ Section $(componentServer) sec1 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 @@ -573,7 +575,6 @@ Section $(componentServer) sec1 StrCpy $currCommand '$currCommand --locale="@$Collation_text"' ${endif} ${else} - StrCpy $currCommand '$currCommand --locale="$Locale_text"' ${if} "$Collation_text" != "$(DEF_COLATE_NAME)" StrCpy $currCommand '$currCommand --locale="$Locale_text@$Collation_text"' ${else} @@ -1030,7 +1031,7 @@ Function createRunPsql StrCpy $Chcp_text "" ${Endif} - ${if} ${PRODUCT_NAME} == "PostgreSQL" + ${if} "${PRODUCT_NAME}" == "PostgreSQL" StrCpy $Chcp_text "" DetailPrint "Language settings:" From 10c39e2aafb29cbe757fe26b8bda322b1c5b2887 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 14 Feb 2019 17:50:42 +0300 Subject: [PATCH 249/299] Added copy libpgfeutils.lib to install --- build/helpers/postgres.cmd | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 55ffcb8..ca4259d 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -21,7 +21,7 @@ GOTO :NOLOAD TITLE Building PostgreSQL... CD /D %DOWNLOADS_DIR% IF "%GIT_PATH%"=="" ( -SET GIT_PATH=https://git.postgrespro.ru/pgpro-dev/postgrespro.git +SET GIT_PATH=git://git.postgresql.org/git/postgresql.git ) IF NOT "%GIT_BRANCH%"=="" ( rm -rf %BUILD_DIR%\postgresql @@ -178,6 +178,9 @@ cp -va %DEPENDENCIES_BIN_DIR%/libxslt/lib/*t.lib %BUILD_DIR%\distr_%ARCH%_%PGVER cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/*eay32.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 || GOTO :ERROR + 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 From 7d083ffa7eae3d95919b18a888b85ec30ed26d41 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 28 Feb 2019 18:42:20 +0300 Subject: [PATCH 250/299] Removed choosing default collation in additional options. Now icu is default --- nsis/postgresql.nsi | 2 +- nsis/translates.nsi | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index dfd63d7..b616f38 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -2389,7 +2389,7 @@ ${NSD_CreateGroupBox} 0 0 100% 70u "$(MORE_SERVICE_TITLE)" ${NSD_CreateDropList} 130u 80u 100u 12u "" Pop $Collation_editor ${NSD_CB_AddString} $Collation_editor "$(DEF_COLATE_NAME)" - ${NSD_CB_AddString} $Collation_editor "icu" + ;${NSD_CB_AddString} $Collation_editor "icu" ${NSD_CB_AddString} $Collation_editor "libc" ${NSD_CB_SelectString} $Collation_editor $Collation_text ${endif} diff --git a/nsis/translates.nsi b/nsis/translates.nsi index 412eb43..cafaa93 100644 --- a/nsis/translates.nsi +++ b/nsis/translates.nsi @@ -142,8 +142,8 @@ LangString DLG_data-checksums ${LANG_ENGLISH} "Enable data checksums" LangString DLG_data-checksums ${LANG_RUSSIAN} "�������� ����������� ����� ��� �������" -LangString DEF_COLATE_NAME ${LANG_ENGLISH} "Default" -LangString DEF_COLATE_NAME ${LANG_RUSSIAN} "�� ���������" +LangString DEF_COLATE_NAME ${LANG_ENGLISH} "icu" +LangString DEF_COLATE_NAME ${LANG_RUSSIAN} "icu" LangString MORE_WINUSER ${LANG_ENGLISH} "Windows existing user name:" LangString MORE_WINUSER ${LANG_RUSSIAN} "������������ ������������ Windows:" From e8b42624ef5662dc9b69d57b307c855319c19b74 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 5 Mar 2019 15:13:54 +0300 Subject: [PATCH 251/299] Added more titles for advanced options window --- nsis/postgresql.nsi | 32 +++++++++++++++++++++----------- nsis/translates.nsi | 10 ++++++++-- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index b616f38..56032ea 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -126,7 +126,6 @@ Var Collation_editor Var Collation_text Var currCommand - ; Set 'install service' variable ;Var service @@ -2359,45 +2358,56 @@ Function nsDialogMore #!define PG_DEF_SERVICEID "postgrespro-enterprise-X64-9.6" #isu -${NSD_CreateGroupBox} 0 0 100% 70u "$(MORE_SERVICE_TITLE)" +${NSD_CreateGroupBox} 0 0 100% 80u "$(MORE_SERVICE_TITLE)" Pop $0 - ${NSD_CreateLabel} 10u 12u 120u 16u "$(MORE_WINUSER)" + ${NSD_CreateLabel} 10u 12u 360u 16u "$(MORE_USER_HELP)" + Pop $Label + + + ${NSD_CreateLabel} 10u 32u 120u 16u "$(MORE_WINUSER)" Pop $Label - ${NSD_CreateText} 130u 14u 160u 12u "$ServiceAccount_text" + ${NSD_CreateText} 130u 30u 160u 12u "$ServiceAccount_text" Pop $ServiceAccount_editor - ${NSD_CreateLabel} 10u 32u 120u 12u "$(MORE_WINPASS)" + ${NSD_CreateLabel} 10u 47u 120u 12u "$(MORE_WINPASS)" Pop $Label - ${NSD_CreatePassword} 130u 30u 160u 12u $servicePassword_text + ${NSD_CreatePassword} 130u 45u 160u 12u $servicePassword_text Pop $servicePassword_editor - ${NSD_CreateLabel} 10u 52u 120u 16u "$(MORE_SERVICE_NAME)" + ${NSD_CreateLabel} 10u 62u 120u 16u "$(MORE_SERVICE_NAME)" Pop $Label - ${NSD_CreateText} 130u 50u 160u 12u "$ServiceID_text" + ${NSD_CreateText} 130u 60u 160u 12u "$ServiceID_text" Pop $ServiceID_editor ${if} ${PG_MAJOR_VERSION} >= "10" - ${NSD_CreateLabel} 10u 82u 120u 16u "$(MORE_COLATION)" + + + ${NSD_CreateLabel} 10u 92u 100% 26u "$(MORE_ICU_HELP)" Pop $Label - ${NSD_CreateDropList} 130u 80u 100u 12u "" + ${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} - + + nsDialogs::Show FunctionEnd + Function nsDialogsMorePageLeave ${NSD_GetText} $ServiceAccount_editor $ServiceAccount_text ${NSD_GetText} $servicePassword_editor $servicePassword_text diff --git a/nsis/translates.nsi b/nsis/translates.nsi index cafaa93..776c31d 100644 --- a/nsis/translates.nsi +++ b/nsis/translates.nsi @@ -145,8 +145,8 @@ 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 existing user name:" -LangString MORE_WINUSER ${LANG_RUSSIAN} "������������ ������������ Windows:" +LangString MORE_WINUSER ${LANG_ENGLISH} "Windows user name:" +LangString MORE_WINUSER ${LANG_RUSSIAN} "������������ Windows:" LangString MORE_WINPASS ${LANG_ENGLISH} "Windows user password:" @@ -163,3 +163,9 @@ 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}." From cc6a7ec6e69c5760598ca895796a8af86ec00dc7 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 12 Mar 2019 17:36:59 +0300 Subject: [PATCH 252/299] Fixed for build 9.5 --- build/helpers/postgres.cmd | 2 +- nsis/server.files | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index ca4259d..3654696 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -179,7 +179,7 @@ cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/*eay32.lib %BUILD_DIR%\distr_%ARCH% 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 || 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 diff --git a/nsis/server.files b/nsis/server.files index ffe25c3..948dfe0 100644 --- a/nsis/server.files +++ b/nsis/server.files @@ -31,3 +31,14 @@ ./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/*.* + From ce6205f50aa56fd1a643046b9098c3ba4df32e9e Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 19 Mar 2019 21:28:23 +0300 Subject: [PATCH 253/299] Remove postgres.exe from Windows Firewall exception list when uninstall --- nsis/postgresql.nsi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 56032ea..525f3dc 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -623,6 +623,7 @@ Section $(componentServer) sec1 ${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'" @@ -957,6 +958,8 @@ Section "Uninstall" RMDir "$INSTDIR" + nsisFirewall::RemoveAuthorizedApplication "$INSTDIR\bin\postgres.exe" + Call un.DeleteInstallOptions SetShellVarContext all From 9527e72de120abaff43d0eb007b4f549a8781c11 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 16 Apr 2019 12:51:39 +0300 Subject: [PATCH 254/299] Does not select a language for install if current Windows ANSI code page is not 1251 --- nsis/postgresql.nsi | 40 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 525f3dc..33adc08 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -26,6 +26,7 @@ !include "StrContains.nsh" !insertmacro VersionCompare ;-------------------------------- +!define LANGFILE_LANGDLL_FMT "%ENGNAME%" ;General Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "${BUILD_DIR}\installers\${PRODUCT_NAME}_${PG_DEF_VERSION}_${PG_INS_SUFFIX}" @@ -2105,6 +2106,16 @@ Function SetDefaultTcpPort ${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 Call CheckWindowsVersion Call SetDefaultTcpPort @@ -2118,8 +2129,18 @@ ${EndIf} IntOp $3 ${SF_SELECTED} | ${SF_RO} SectionSetFlags ${secClient} $3 ;SectionSetFlags ${secClient} ${SF_RO} - !define MUI_LANGDLL_ALLLANGUAGES - !insertmacro MUI_LANGDLL_DISPLAY ;select language +; !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 "" @@ -2420,4 +2441,17 @@ Function nsDialogsMorePageLeave ${endif} -FunctionEnd \ No newline at end of file +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 From 5e56561cdf6a70079d79e94727dafc5f450e5b32 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 23 Apr 2019 16:32:25 +0300 Subject: [PATCH 255/299] Fixed silent mode. Now installer checks exist installation in the silent mode. And added options in ini file for silent mode: servicesccount, servicepassword, serviceid, islibc. --- nsis/postgresql.nsi | 112 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 93 insertions(+), 19 deletions(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 33adc08..3884c89 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -1,4 +1,3 @@ - ; PostgeSQL install Script ; Written by Postgres Professional, Postgrespro.ru ; used plugins: AccessControl, UserMgr, @@ -245,14 +244,20 @@ Section $(componentClient) secClient ;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)" IDYES doitStop IDNO noyetStop + MessageBox MB_YESNO|MB_ICONQUESTION "$(MESS_STOP_SERVER)" /SD IDYES IDYES doitStop IDNO noyetStop noyetStop: - Return + ;Return + Abort doitStop: DetailPrint "Stop the server ..." ${if} $OLD_DATA_DIR != "" @@ -357,25 +362,41 @@ 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)" IDYES doitStop IDNO noyetStop + MessageBox MB_YESNO|MB_ICONQUESTION "$(MESS_STOP_SERVER)" /SD IDYES IDYES doitStop IDNO noyetStop noyetStop: - Return + ;Return + FileClose $LogFile + Abort doitStop: - DetailPrint "Stop the server ..." ${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} $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} @@ -395,7 +416,7 @@ Section $(componentServer) sec1 ;File "License.txt" - FileOpen $LogFile $INSTDIR\install.log w ;Opens a Empty File an fills it + ;FileOpen $LogFile $INSTDIR\install.log w ;Opens a Empty File an fills it CreateDirectory "$INSTDIR\scripts" @@ -411,7 +432,7 @@ Section $(componentServer) sec1 WriteUninstaller "$INSTDIR\Uninstall.exe" ; write uninstall strings - FileWrite $LogFile "Write to register\r$\n" + FileWrite $LogFile "Write to register$\r$\n" Call writeUnistallReg @@ -526,10 +547,10 @@ Section $(componentServer) sec1 pop $0 !insertmacro MUI_STARTMENU_WRITE_END - ; Create data dir begin - FileWrite $LogFile "Create data dir begin$\r$\n" ${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 @@ -616,8 +637,8 @@ Section $(componentServer) sec1 ${EndIf} ${endif} ; Create data dir end - FileWrite $LogFile "Create postgresql.conf $\r$\n" ${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 @@ -1362,25 +1383,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' ' ' '' @@ -1392,9 +1409,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} @@ -2274,6 +2332,22 @@ ${EndIf} StrCpy $isDataChecksums "$1" ${endif} + ReadINIStr $1 $0 options servicesccount + ${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 From faecf82cada7115ccbd1f27f845c6d2d0fba1a1a Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 2 Jul 2019 11:22:26 +0300 Subject: [PATCH 256/299] fixed ini file option serviceaccount --- nsis/postgresql.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 3884c89..24d9280 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -2332,7 +2332,7 @@ ${EndIf} StrCpy $isDataChecksums "$1" ${endif} - ReadINIStr $1 $0 options servicesccount + ReadINIStr $1 $0 options serviceaccount ${if} "$1" != "" StrCpy $ServiceAccount_text "$1" ${endif} From 42d2f48ac51ad31707c24c7680d3c84d275557c9 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 4 Jul 2019 17:25:26 +0300 Subject: [PATCH 257/299] Removed pg_repack from pgwininstall --- build/helpers/postgres.cmd | 11 ----------- build/helpers/setvars.cmd | 4 ---- 2 files changed, 15 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 3654696..7755541 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -185,19 +185,8 @@ 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 -rem download and build pg_repack extension SET WGET=wget -N --no-check-certificate -set PG_REPACK_URL=https://repo.postgrespro.ru/pgproee-%PG_MAJOR_VERSION%-beta/src/pg_repack-%PG_REPACK_VER%.tar.bz2 -if "%PRODUCT_NAME%" == "PostgresProEnterprise" ( - CD /D %DOWNLOADS_DIR% - %WGET% %PG_REPACK_URL% || goto :ERROR - tar xf pg_repack*%PG_REPACK_VER%.tar.bz2 -C %BUILD_UDIR%/postgresql|| goto :ERROR - CD /D %BUILD_DIR%\postgresql - CD pg_repack-%PG_REPACK_VER% - perl win32build.pl %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql -) - rem download help sources CD /D %DOWNLOADS_DIR% SET DOCURL=http://repo.l.postgrespro.ru/doc diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 025fb1a..8b9c30f 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -10,10 +10,6 @@ SET WXWIDGETS_VER=3.0.2 SET EDITLINE_VER=2.205 SET ZSTD_RELEASE=1.1.0 -SET PG_REPACK_VER=1.4.2 -IF "%PG_MAJOR_VERSION%"=="9.5" SET PG_REPACK_VER=1.3.4 -IF "%PG_MAJOR_VERSION%"=="11" SET PG_REPACK_VER=1.4.3 - REM Path vars SET PERL32_PATH=C:\Perl SET PERL64_PATH=C:\Perl64 From e1eec2471a8c5c3e79dca32f2230de0d19463fa6 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 4 Jul 2019 18:44:17 +0300 Subject: [PATCH 258/299] Removed pg_repack from pgwininstall #2 --- build/helpers/postgres_nsis_installer.cmd | 9 --------- 1 file changed, 9 deletions(-) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 7cc394b..20704f1 100755 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -142,15 +142,6 @@ GOTO :NO_PGPRO_UPGRADE type pgpro_upgrade.files >> allserver.files :NO_PGPRO_UPGRADE -rem pg_repack binary should be in serever section -rem It is included into PostgresProEnterpise only -rem pg_repack extension is included by same pattern as -rem all other contrib extensions - -IF "%PRODUCT_NAME%" == "PostgresProEnterprise" ( - echo ./bin/pg_repack.* >> allserver.files -) - 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 From 45c38181f45ec9fc6c949d24ab7a42ddcb1dc555 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 4 Jul 2019 18:45:29 +0300 Subject: [PATCH 259/299] Added WITHTAPTESTS environment variables for building postgres --- build/helpers/postgres.cmd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 3654696..f025623 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -92,7 +92,9 @@ IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO python ^=^> '%PYTHON32_PATH%' >>src\tools\msvc\config.pl ECHO zlib ^=^> '%DEPENDENCIES_BIN_DIR%\zlib', if "%PRODUCT_NAME%" == "PostgresProEnterprise" >>src\tools\msvc\config.pl ECHO zstd ^=^> '%DEPENDENCIES_BIN_DIR%\zstd', >>src\tools\msvc\config.pl ECHO icu ^=^> '%DEPENDENCIES_BIN_DIR%\icu', +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^; From 8f39bb6f049fc752336981cbbcf356335a02543e Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 12 Jul 2019 18:17:43 +0300 Subject: [PATCH 260/299] Fixed WITHTAPTESTS check --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 803dcc7..0623dd3 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -92,7 +92,7 @@ IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO python ^=^> '%PYTHON32_PATH%' >>src\tools\msvc\config.pl ECHO zlib ^=^> '%DEPENDENCIES_BIN_DIR%\zlib', if "%PRODUCT_NAME%" == "PostgresProEnterprise" >>src\tools\msvc\config.pl ECHO zstd ^=^> '%DEPENDENCIES_BIN_DIR%\zstd', >>src\tools\msvc\config.pl ECHO icu ^=^> '%DEPENDENCIES_BIN_DIR%\icu', -IF %WITHTAPTESTS% == 1 >>src\tools\msvc\config.pl ECHO tap_tests ^=^> 1, +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 ^}; From 381622e3c862315905e93dfdba12aa3ce46fce11 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 12 Jul 2019 18:20:03 +0300 Subject: [PATCH 261/299] Fixed WITHTAPTESTS check #2 --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 0623dd3..b46035d 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -92,7 +92,7 @@ IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO python ^=^> '%PYTHON32_PATH%' >>src\tools\msvc\config.pl ECHO zlib ^=^> '%DEPENDENCIES_BIN_DIR%\zlib', if "%PRODUCT_NAME%" == "PostgresProEnterprise" >>src\tools\msvc\config.pl ECHO zstd ^=^> '%DEPENDENCIES_BIN_DIR%\zstd', >>src\tools\msvc\config.pl ECHO icu ^=^> '%DEPENDENCIES_BIN_DIR%\icu', -IF "%WITHTAPTESTS%" == 1 >>src\tools\msvc\config.pl ECHO tap_tests ^=^> 1, +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 ^}; From 8d8a7febb759a89f059752b26e2b9dea10fd86ed Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 25 Jul 2019 12:47:58 +0300 Subject: [PATCH 262/299] Copy openssl.exe to openssl\bin for check OpenSSL version --- build/helpers/dependencies.cmd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index b067a39..08b31f1 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -224,6 +224,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 From cef674bce1558bdc0d5a6f985398979bbe487ce5 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 1 Aug 2019 16:44:54 +0300 Subject: [PATCH 263/299] PGPRO-2784: Windows installer does not clear permissive ACL entries --- nsis/postgresql.nsi | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 24d9280..94b3e7e 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -928,6 +928,14 @@ Call CheckDataDir ${endif} 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 @@ -2529,3 +2537,20 @@ Function un.onInit ${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 + From 4d8bc4bbfdaf239e75e27b7766a7bb465bff711c Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Tue, 20 Aug 2019 12:32:08 +0300 Subject: [PATCH 264/299] Improving of error handling for dependencies --- build/helpers/postgres.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index b46035d..7e18f8d 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -6,7 +6,7 @@ IF EXIST %DOWNLOADS_DIR%\%DEPS_ZIP% ( GOTO :BUILD_ALL ) ELSE ( ECHO "You need to build dependencies first!" - EXIT /B 1 || GOTO :ERROR + GOTO :ERROR ) :BUILD_ALL From c6a6d63096691073480881aefd89900981f97acc Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 22 Oct 2019 19:53:14 +0300 Subject: [PATCH 265/299] Added buildfix for PG12 --- nsis/server.files | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nsis/server.files b/nsis/server.files index 948dfe0..c1508ae 100644 --- a/nsis/server.files +++ b/nsis/server.files @@ -12,7 +12,7 @@ ./bin/pg_test_timing.* ./bin/pg_upgrade.* ./bin/pg_waldump.* -./bin/pg_verify_checksums.* +./bin/pg_*checksums.* ./bin/postgres.* ./bin/postmaster.* ./bin/zic.* From d5d3f6df25608242c92d460bd0dff8a5b3f8bb7c Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Wed, 6 Nov 2019 15:32:58 +0300 Subject: [PATCH 266/299] Changed setting access to script directory --- nsis/postgresql.nsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 94b3e7e..5bb5605 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -764,12 +764,13 @@ Call CheckDataDir 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 From fde6a4221126e013411a8097fa31797901b6a228 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Fri, 8 Nov 2019 13:11:29 +0300 Subject: [PATCH 267/299] Using BUILD_TYPE variable to set correct DOCURL --- build/helpers/postgres.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 7e18f8d..eb17616 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -192,6 +192,7 @@ SET WGET=wget -N --no-check-certificate rem download help sources CD /D %DOWNLOADS_DIR% SET DOCURL=http://repo.l.postgrespro.ru/doc +if "%BUILD_TYPE%" == "dev" SET DOCURL=http://repo.l.postgrespro.ru/doc/dev if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-en.zip %DOCURL%/pgpro/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-ru.zip %DOCURL%/pgpro/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR From 80749f7437ac5268a9e660f42e3e25c62b535cc1 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 14 Nov 2019 10:01:30 +0300 Subject: [PATCH 268/299] Added changes for Visual Studio 2017 --- build/helpers/dependencies.cmd | 23 +- build/helpers/postgres.cmd | 7 +- build/helpers/postgres_installer.cmd | 8 + build/helpers/setvars.cmd | 8 + patches/gettext/gettext-0.19.8-MSVC2017.patch | 2861 +++++++++++++++++ patches/libiconv/libiconv-1.14-msvc2017.patch | 921 ++++++ patches/libiconv/libiconv-1.15-msvc2017.patch | 926 ++++++ patches/postgresql/2017.patch | 43 + 8 files changed, 4793 insertions(+), 4 deletions(-) create mode 100644 patches/gettext/gettext-0.19.8-MSVC2017.patch create mode 100644 patches/libiconv/libiconv-1.14-msvc2017.patch create mode 100644 patches/libiconv/libiconv-1.15-msvc2017.patch create mode 100644 patches/postgresql/2017.patch diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 08b31f1..bd611ab 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -13,10 +13,17 @@ MKDIR %DOWNLOADS_DIR% if "%PRODUCT_NAME%" == "PostgreSQL" goto :SKIP_ZSTD if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD +IF %SDK% == MSVC2015 ( +SET WindowsTargetPlatformVersion=%WindowsSDKVersion% +) +IF %SDK% == MSVC2017 ( +SET WindowsTargetPlatformVersion=%WindowsSDKVersion% +) :ZSTD +ECHO ON TITLE "Building libzstd" -set ZSTD_RELEASE=1.1.0 +IF "ZSTD_RELEASE" == "" set ZSTD_RELEASE=1.1.0 CD /D %DOWNLOADS_DIR% wget -O zstd-%ZSTD_RELEASE%.zip --no-check-certificate -c https://github.com/facebook/zstd/archive/v%ZSTD_RELEASE%.zip rm -rf %DEPENDENCIES_SRC_DIR%/zstd-%ZSTD_RELEASE% @@ -24,13 +31,23 @@ MKDIR %DEPENDENCIES_SRC_DIR%\zstd-%ZSTD_RELEASE% CD /D %DEPENDENCIES_SRC_DIR% 7z x %DOWNLOADS_DIR%\zstd-%ZSTD_RELEASE%.zip CD zstd-%ZSTD_RELEASE% +IF %SDK% == MSVC2017 ( +CD build/VS2010 +rem call "./../VS_Scripts/build.VS%REDIST_YEAR%.cmd" || GOTO :ERROR +rem call "./../VS_Scripts/build.generic.cmd" VS2017 x64 Release v141 || GOTO :ERROR +msbuild zstd.sln /m /p:Configuration=Release /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR +CD ../.. +)ELSE ( call build/VS_Scripts/build.VS%REDIST_YEAR%.cmd || GOTO :ERROR +) MKDIR %DEPENDENCIES_BIN_DIR%\zstd cp lib\zstd.h %DEPENDENCIES_BIN_DIR%\zstd if %ARCH% == X86 ( cp -va build/VS_Scripts/BIN/Release/Win32/zstdlib_x86* %DEPENDENCIES_BIN_DIR%\zstd ) else ( cp -va build/VS_Scripts/BIN/Release/x64/zstdlib_x64* %DEPENDENCIES_BIN_DIR%\zstd + cp -va build/VS2010/bin/x64_Release/libzstd* %DEPENDENCIES_BIN_DIR%\zstd + cp -va build/VS2010/bin/x64/Release/zstdlib_x64* %DEPENDENCIES_BIN_DIR%\zstd ) 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\zstd @@ -99,7 +116,7 @@ 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 -msbuild libiconv.vcxproj /m /p:Configuration=Release /p:Platform=%Platform% /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 @@ -242,7 +259,7 @@ 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 -msbuild libintl.vcxproj /m /p:Configuration=Release /p:Platform=%Platform% /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 diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index eb17616..9bebbd6 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -1,5 +1,4 @@ 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 @@ -61,6 +60,12 @@ if "%PRODUCT_NAME%" == "PostgreSQL" ( ) ) +IF %SDK% == MSVC2017 ( + cp -va %ROOT%/patches/postgresql/2017.patch . + patch -p1 < 2017.patch || GOTO :ERROR +) + + :DONE_POSTGRESQL_PATCH >src\tools\msvc\config.pl ECHO use strict; >>src\tools\msvc\config.pl ECHO use warnings; diff --git a/build/helpers/postgres_installer.cmd b/build/helpers/postgres_installer.cmd index f288fad..0f1dc48 100644 --- a/build/helpers/postgres_installer.cmd +++ b/build/helpers/postgres_installer.cmd @@ -26,6 +26,14 @@ wget -c https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4 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" +) + REM Make directory for installers MKDIR "%BUILD_DIR%\installers" diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 8b9c30f..997b488 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -54,6 +54,14 @@ 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 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 +) + REM As we use Msys2 for build we need to install useful packages we will use @ECHO "Current PATH is:" diff --git a/patches/gettext/gettext-0.19.8-MSVC2017.patch b/patches/gettext/gettext-0.19.8-MSVC2017.patch new file mode 100644 index 0000000..409070c --- /dev/null +++ b/patches/gettext/gettext-0.19.8-MSVC2017.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/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.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/postgresql/2017.patch b/patches/postgresql/2017.patch new file mode 100644 index 0000000..d9568ba --- /dev/null +++ b/patches/postgresql/2017.patch @@ -0,0 +1,43 @@ +diff --git a/src/include/port.h b/src/include/port.h +index 9fc79f4..98846ea 100644 +--- a/src/include/port.h ++++ b/src/include/port.h +@@ -468,4 +468,38 @@ extern char *escape_single_quotes_ascii(const char *src); + /* port/wait_error.c */ + extern char *wait_result_to_str(int exit_status); + ++#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 ++ + #endif /* PG_PORT_H */ \ No newline at end of file From 4514929a02ad42796b5889db1cb156840b6a7ec2 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 21 Nov 2019 14:45:35 +0300 Subject: [PATCH 269/299] Fixed for MSVS2017 --- build/helpers/dependencies.cmd | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index bd611ab..d3a7252 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -10,9 +10,6 @@ rm -rf %DEPENDENCIES_SRC_DIR% MKDIR %DEPENDENCIES_SRC_DIR% MKDIR %DOWNLOADS_DIR% -if "%PRODUCT_NAME%" == "PostgreSQL" goto :SKIP_ZSTD -if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD - IF %SDK% == MSVC2015 ( SET WindowsTargetPlatformVersion=%WindowsSDKVersion% ) @@ -20,6 +17,11 @@ IF %SDK% == MSVC2017 ( SET WindowsTargetPlatformVersion=%WindowsSDKVersion% ) + +if "%PRODUCT_NAME%" == "PostgreSQL" goto :SKIP_ZSTD +if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD + + :ZSTD ECHO ON TITLE "Building libzstd" From db3bc70c63c6f18f30d3bc4be4280e6a8a6cff33 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 21 Nov 2019 18:47:54 +0300 Subject: [PATCH 270/299] Windows installer will save options for pgAdmin --- nsis/postgresql.nsi | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 5bb5605..41fa055 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -26,6 +26,7 @@ !insertmacro VersionCompare ;-------------------------------- !define LANGFILE_LANGDLL_FMT "%ENGNAME%" +!define PG_REG_KEY_FOR_PGADIN "SOFTWARE\PostgreSQL\Services\" ;General Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "${BUILD_DIR}\installers\${PRODUCT_NAME}_${PG_DEF_VERSION}_${PG_INS_SUFFIX}" @@ -1263,6 +1264,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 @@ -1305,6 +1315,15 @@ Function un.DeleteInstallOptions 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 From d0c3e4df4a165fd07c8bb73eb78ab7991ba97f9f Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 16 Apr 2020 19:33:04 +0300 Subject: [PATCH 271/299] ICU updated: 56.1 -> 56.2 --- build/helpers/dependencies.cmd | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index d3a7252..60b7b8f 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -288,10 +288,11 @@ CD /D %DOWNLOADS_DIR% :BUILD_ICU TITLE Building icu... 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 +rem 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 +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 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 +7z x icu4c-56_2-src.zip -o%DEPENDENCIES_SRC_DIR% -y CD /D %DEPENDENCIES_SRC_DIR%\icu msbuild source\allinone\allinone.sln /m /p:Configuration="Release" /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR IF %ARCH% == X64 ( From 337616304103665491cff43d78bfbf9103d95f41 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 28 Apr 2020 14:27:29 +0300 Subject: [PATCH 272/299] Added changes for Visual Studio 2019 --- build/helpers/dependencies.cmd | 21 +- build/helpers/postgres.cmd | 4 + build/helpers/postgres_installer.cmd | 5 + build/helpers/setvars.cmd | 7 + patches/gettext/gettext-0.19.8-MSVC2019.patch | 2861 +++++++++++++++++ patches/libiconv/libiconv-1.14-msvc2019.patch | 921 ++++++ patches/libiconv/libiconv-1.15-msvc2019.patch | 925 ++++++ 7 files changed, 4742 insertions(+), 2 deletions(-) create mode 100644 patches/gettext/gettext-0.19.8-MSVC2019.patch create mode 100644 patches/libiconv/libiconv-1.14-msvc2019.patch create mode 100644 patches/libiconv/libiconv-1.15-msvc2019.patch diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 60b7b8f..3377d69 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -16,7 +16,11 @@ SET WindowsTargetPlatformVersion=%WindowsSDKVersion% IF %SDK% == MSVC2017 ( SET WindowsTargetPlatformVersion=%WindowsSDKVersion% ) +IF %SDK% == MSVC2019 ( +SET WindowsTargetPlatformVersion=%WindowsSDKVersion% +) +rem GOTO :BUILD_ICONV if "%PRODUCT_NAME%" == "PostgreSQL" goto :SKIP_ZSTD if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD @@ -33,15 +37,25 @@ MKDIR %DEPENDENCIES_SRC_DIR%\zstd-%ZSTD_RELEASE% CD /D %DEPENDENCIES_SRC_DIR% 7z x %DOWNLOADS_DIR%\zstd-%ZSTD_RELEASE%.zip CD zstd-%ZSTD_RELEASE% + IF %SDK% == MSVC2017 ( CD build/VS2010 +msbuild zstd.sln /m /p:Configuration=Release /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR +CD ../.. +GOTO :ENDZSTD +) + +IF %SDK% == MSVC2019 ( +CD build/VS2010 rem call "./../VS_Scripts/build.VS%REDIST_YEAR%.cmd" || GOTO :ERROR rem call "./../VS_Scripts/build.generic.cmd" VS2017 x64 Release v141 || GOTO :ERROR msbuild zstd.sln /m /p:Configuration=Release /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR CD ../.. -)ELSE ( -call build/VS_Scripts/build.VS%REDIST_YEAR%.cmd || GOTO :ERROR +GOTO :ENDZSTD ) +call build/VS_Scripts/build.VS%REDIST_YEAR%.cmd || GOTO :ERROR + +:ENDZSTD MKDIR %DEPENDENCIES_BIN_DIR%\zstd cp lib\zstd.h %DEPENDENCIES_BIN_DIR%\zstd if %ARCH% == X86 ( @@ -117,8 +131,11 @@ MKDIR %DEPENDENCIES_BIN_DIR%\iconv 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 +echo on patch -f -p0 < libiconv.patch || 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 diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 9bebbd6..64a5b6d 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -64,6 +64,10 @@ IF %SDK% == MSVC2017 ( cp -va %ROOT%/patches/postgresql/2017.patch . patch -p1 < 2017.patch || GOTO :ERROR ) +IF %SDK% == MSVC2019 ( + cp -va %ROOT%/patches/postgresql/2017.patch . + patch -p1 < 2017.patch || GOTO :ERROR +) :DONE_POSTGRESQL_PATCH diff --git a/build/helpers/postgres_installer.cmd b/build/helpers/postgres_installer.cmd index 0f1dc48..c4ebbd9 100644 --- a/build/helpers/postgres_installer.cmd +++ b/build/helpers/postgres_installer.cmd @@ -34,6 +34,11 @@ cp "%VCToolsRedistDir%vc_redist.x86.exe" "%BUILD_DIR%\vcredist\vcredist_x86_2017 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" +) + REM Make directory for installers MKDIR "%BUILD_DIR%\installers" diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 997b488..b5d0503 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -61,6 +61,13 @@ IF %SDK% == MSVC2017 ( 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 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 +) REM As we use Msys2 for build we need to install useful packages we will use 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/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.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 */ ++ From ffdb009d0cd7f7588076fc1ebedd9b24525fa6c7 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Thu, 23 Apr 2020 11:40:05 +0300 Subject: [PATCH 273/299] Make genlist.py compatible with both 2 and 3 python and pylint-clean --- build/helpers/genlists.py | 70 +++++++++++++++++++++------------------ 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/build/helpers/genlists.py b/build/helpers/genlists.py index 6fbbff0..f741528 100644 --- a/build/helpers/genlists.py +++ b/build/helpers/genlists.py @@ -4,54 +4,58 @@ This script reads list of glob patterns from files, specified in the command-line and generates lists of files for each pattern """ -import sys,fnmatch, os, os.path +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("\\","/") + filelist = set() + for dirname, subdirlist, files in os.walk("."): + dirname = dirname.replace("\\", "/") for f in files: - filelist.add(dirname+"/"+f) + 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 >> sys.stderr,"Processing module ",modname - with open(module,"r") as f: - patterns = map(lambda x:x.strip(),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: + 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): + if fnmatch.fnmatch(f, p): found.add(f) filelist -= found - with open(modname+"_list.nsi","w") as out: - curdir="" + with open(modname + "_list.nsi", "w") as out: + curdir = "" for f in sorted(found): - filedir=os.path.dirname(f) - if filedir !=curdir: - print >>out,"SetOutPath $INSTDIR"+filedir[1:].replace("/","\\") - curdir=filedir - print >>out, "File ${PG_INS_SOURCE_DIR}"+f[1:].replace("/","\\") + 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 len(filelist): - print >>sys.stderr,"Following unprocessed files found:\n",", ".join(sorted(filelist)) +if filelist: + print("Following unprocessed files found:\n", ", ".join(sorted(filelist)), + file=sys.stderr) sys.exit(1) - - - - - From 8f954648c0710b61b2e1a62045b93709bec1b108 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Thu, 23 Apr 2020 15:46:26 +0300 Subject: [PATCH 274/299] Use new path for downloadble sources and help sources --- build/helpers/postgres.cmd | 22 +++++----------------- build/helpers/setvars.cmd | 5 ++++- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 64a5b6d..6ced13f 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -200,23 +200,11 @@ SET WGET=wget -N --no-check-certificate rem download help sources CD /D %DOWNLOADS_DIR% -SET DOCURL=http://repo.l.postgrespro.ru/doc -if "%BUILD_TYPE%" == "dev" SET DOCURL=http://repo.l.postgrespro.ru/doc/dev - -if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-en.zip %DOCURL%/pgpro/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgresPro" %WGET% -O help-sources-ru.zip %DOCURL%/pgpro/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-en.zip %DOCURL%/pgproee/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR -if "%PRODUCT_NAME%" == "PostgresProEnterprise" %WGET% -O help-sources-ru.zip %DOCURL%/pgproee/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR - - -SET HAVE_PGSQL_DOC=0 -if "%PG_MAJOR_VERSION%" == "9.5" SET HAVE_PGSQL_DOC=1 -if "%PG_MAJOR_VERSION%" == "9.6" SET HAVE_PGSQL_DOC=1 -if "%PG_MAJOR_VERSION%" == "10" SET HAVE_PGSQL_DOC=1 -if %HAVE_PGSQL_DOC% == 1 ( - if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-en.zip %DOCURL%/pgsql/%PG_MAJOR_VERSION%/en/help-sources.zip || GOTO :ERROR - if "%PRODUCT_NAME%" == "PostgreSQL" %WGET% -O help-sources-ru.zip %DOCURL%/pgsql/%PG_MAJOR_VERSION%/ru/help-sources.zip || GOTO :ERROR -) +SET DOCURL=http://localrepo.l.postgrespro.ru/%BUILD_TYPE%/doc +rem cut tar.bz2 extension from PGURL +SET HELPURL=%PGURL:0,-7% +%WGET% -O help-sources-en.zip %prefix%.help.en.zip || GOTO :ERROR +%WGET% -O help-sources-ru.zip %prefix%.help.ru.zip || GOTO :ERROR rem building help files CD /D %BUILD_DIR%\postgresql diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index b5d0503..2269a94 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -81,11 +81,14 @@ ECHO %PG_PATCH_VERSION% | grep "^[0-9]." > nul && ( SET PG_DEF_VERSION=%PG_MAJOR_VERSION%%PG_PATCH_VERSION% ) +if "%BUILD_TYPE%"=="" SET BUILD_TYPE=dev SET PGVER=%PG_DEF_VERSION% 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://repo.l.postgrespro.ru/pgpro-%PG_MAJOR_VERSION%-beta/src/postgrespro-standard-%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 From c532a3f6f42514f16df730f56559ae645940ba3c Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 28 Apr 2020 23:09:21 +0300 Subject: [PATCH 275/299] Fixed path for downloadble help sources --- build/build64.cmd | 17 +++++++++++++++++ build/helpers/dependencies.cmd | 3 +-- build/helpers/postgres.cmd | 8 ++++---- build/helpers/setvars.cmd | 15 +++++++++------ 4 files changed, 31 insertions(+), 12 deletions(-) create mode 100644 build/build64.cmd 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 index 3377d69..8ef06b5 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -27,7 +27,6 @@ if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD :ZSTD -ECHO ON TITLE "Building libzstd" IF "ZSTD_RELEASE" == "" set ZSTD_RELEASE=1.1.0 CD /D %DOWNLOADS_DIR% @@ -131,7 +130,7 @@ MKDIR %DEPENDENCIES_BIN_DIR%\iconv 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 -echo on + patch -f -p0 < libiconv.patch || GOTO :ERROR msbuild libiconv.vcxproj /m /p:Configuration=Release /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 6ced13f..24c4414 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -200,11 +200,11 @@ SET WGET=wget -N --no-check-certificate rem download help sources CD /D %DOWNLOADS_DIR% -SET DOCURL=http://localrepo.l.postgrespro.ru/%BUILD_TYPE%/doc +rem SET DOCURL=http://localrepo.l.postgrespro.ru/%BUILD_TYPE%/doc rem cut tar.bz2 extension from PGURL -SET HELPURL=%PGURL:0,-7% -%WGET% -O help-sources-en.zip %prefix%.help.en.zip || GOTO :ERROR -%WGET% -O help-sources-ru.zip %prefix%.help.ru.zip || GOTO :ERROR +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 diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 2269a94..bd0ff7f 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -81,16 +81,19 @@ 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%"=="" ( - 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" + 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=%ROOT%\builddir SET DEPENDENCIES_SRC_DIR=%BUILD_DIR%\dependencies_src From 4ba35cb069da70877e147e3bee5c465f29532545 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 30 Apr 2020 13:14:19 +0300 Subject: [PATCH 276/299] Updated for openssl 1.1.1 --- build/helpers/dependencies.cmd | 21 ++++++++++++++------- build/helpers/postgres.cmd | 14 ++++++++++---- build/helpers/setvars.cmd | 3 ++- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 8ef06b5..0e45a2d 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -20,7 +20,7 @@ IF %SDK% == MSVC2019 ( SET WindowsTargetPlatformVersion=%WindowsSDKVersion% ) -rem GOTO :BUILD_ICONV +rem GOTO :BUILD_OPENSSL if "%PRODUCT_NAME%" == "PostgreSQL" goto :SKIP_ZSTD if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD @@ -245,12 +245,19 @@ 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_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 diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 24c4414..ffaad85 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -164,13 +164,17 @@ cp -va %DEPENDENCIES_BIN_DIR%/libintl/lib/*.lib %BUILD_DIR%\distr_%ARCH%_%PGV cp -va %DEPENDENCIES_BIN_DIR%/iconv/lib/*.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 || 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%/openssl/lib/VC/openssl.exe %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR + +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 cp -va %DEPENDENCIES_BIN_DIR%/icu/bin/*.dll %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR REM Copy needed executables -cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/openssl.exe %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%/less/*.exe %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin || GOTO :ERROR REM Copy libraries headers to "include" directory for a God sake @@ -186,7 +190,9 @@ cp -va %DEPENDENCIES_BIN_DIR%/libintl/lib/*.lib %BUILD_DIR%\distr_%ARCH%_%PGVER% 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 -cp -va %DEPENDENCIES_BIN_DIR%/openssl/lib/VC/*eay32.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 diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index bd0ff7f..58baa65 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -3,7 +3,8 @@ SET ICONV_VER=1.15 SET XSLT_VER=1.1.29 SET ZLIB_VER=1.2.11 SET XML_VER=2.9.7 -SET OPENSSL_VER=1.0.2n +rem SET OPENSSL_VER=1.0.2n +SET OPENSSL_VER=1.1.1g SET GETTEXT_VER=0.19.8 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 From 47e28b8aa1249c5a5de394531c4e8414c806d5b4 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 7 May 2020 13:56:31 +0300 Subject: [PATCH 277/299] Updated for zstd 1.4.4 --- build/helpers/dependencies.cmd | 23 +++++------------------ build/helpers/setvars.cmd | 2 +- 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 0e45a2d..4e68092 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -28,7 +28,7 @@ if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD :ZSTD TITLE "Building libzstd" -IF "ZSTD_RELEASE" == "" set ZSTD_RELEASE=1.1.0 +IF "ZSTD_RELEASE" == "" set ZSTD_RELEASE=1.4.4 CD /D %DOWNLOADS_DIR% wget -O zstd-%ZSTD_RELEASE%.zip --no-check-certificate -c https://github.com/facebook/zstd/archive/v%ZSTD_RELEASE%.zip rm -rf %DEPENDENCIES_SRC_DIR%/zstd-%ZSTD_RELEASE% @@ -37,32 +37,19 @@ CD /D %DEPENDENCIES_SRC_DIR% 7z x %DOWNLOADS_DIR%\zstd-%ZSTD_RELEASE%.zip CD zstd-%ZSTD_RELEASE% -IF %SDK% == MSVC2017 ( CD build/VS2010 -msbuild zstd.sln /m /p:Configuration=Release /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR +msbuild zstd.sln /m /t:Clean,Build /p:Configuration=Release /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR CD ../.. -GOTO :ENDZSTD -) -IF %SDK% == MSVC2019 ( -CD build/VS2010 -rem call "./../VS_Scripts/build.VS%REDIST_YEAR%.cmd" || GOTO :ERROR -rem call "./../VS_Scripts/build.generic.cmd" VS2017 x64 Release v141 || GOTO :ERROR -msbuild zstd.sln /m /p:Configuration=Release /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR -CD ../.. -GOTO :ENDZSTD -) -call build/VS_Scripts/build.VS%REDIST_YEAR%.cmd || GOTO :ERROR +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 -:ENDZSTD MKDIR %DEPENDENCIES_BIN_DIR%\zstd cp lib\zstd.h %DEPENDENCIES_BIN_DIR%\zstd if %ARCH% == X86 ( - cp -va build/VS_Scripts/BIN/Release/Win32/zstdlib_x86* %DEPENDENCIES_BIN_DIR%\zstd + cp -va build/VS2010/bin/Win32_Release/libzstd* %DEPENDENCIES_BIN_DIR%\zstd ) else ( - cp -va build/VS_Scripts/BIN/Release/x64/zstdlib_x64* %DEPENDENCIES_BIN_DIR%\zstd cp -va build/VS2010/bin/x64_Release/libzstd* %DEPENDENCIES_BIN_DIR%\zstd - cp -va build/VS2010/bin/x64/Release/zstdlib_x64* %DEPENDENCIES_BIN_DIR%\zstd ) 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\zstd diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 58baa65..42de1e9 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -9,7 +9,7 @@ SET GETTEXT_VER=0.19.8 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 SET EDITLINE_VER=2.205 -SET ZSTD_RELEASE=1.1.0 +SET ZSTD_RELEASE=1.4.4 REM Path vars SET PERL32_PATH=C:\Perl From c6dde2423d9735a02e1d1aa22a1902945e99b87a Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Fri, 8 May 2020 02:59:49 +0300 Subject: [PATCH 278/299] Updated for libiconv 1.16 --- build/helpers/dependencies.cmd | 16 +- build/helpers/setvars.cmd | 6 +- patches/libiconv/libiconv-1.16-MSVC2013.patch | 1535 +++++++++++++++++ patches/libiconv/libiconv-1.16-MSVC2017.patch | 1535 +++++++++++++++++ patches/libiconv/libiconv-1.16-MSVC2019.patch | 1535 +++++++++++++++++ 5 files changed, 4615 insertions(+), 12 deletions(-) create mode 100644 patches/libiconv/libiconv-1.16-MSVC2013.patch create mode 100644 patches/libiconv/libiconv-1.16-MSVC2017.patch create mode 100644 patches/libiconv/libiconv-1.16-MSVC2019.patch diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 4e68092..146c17a 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -20,7 +20,7 @@ IF %SDK% == MSVC2019 ( SET WindowsTargetPlatformVersion=%WindowsSDKVersion% ) -rem GOTO :BUILD_OPENSSL +rem GOTO :BUILD_XSLT if "%PRODUCT_NAME%" == "PostgreSQL" goto :SKIP_ZSTD if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD @@ -123,18 +123,17 @@ patch -f -p0 < libiconv.patch || 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% @@ -223,7 +222,6 @@ 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% diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 42de1e9..f8dae56 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -1,8 +1,8 @@ REM LIBRARY VERSIONS -SET ICONV_VER=1.15 -SET XSLT_VER=1.1.29 +SET ICONV_VER=1.16 +SET XSLT_VER=1.1.32 SET ZLIB_VER=1.2.11 -SET XML_VER=2.9.7 +SET XML_VER=2.9.9 rem SET OPENSSL_VER=1.0.2n SET OPENSSL_VER=1.1.1g SET GETTEXT_VER=0.19.8 diff --git a/patches/libiconv/libiconv-1.16-MSVC2013.patch b/patches/libiconv/libiconv-1.16-MSVC2013.patch new file mode 100644 index 0000000..4512dba --- /dev/null +++ b/patches/libiconv/libiconv-1.16-MSVC2013.patch @@ -0,0 +1,1535 @@ +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,374 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {F2A64E15-0313-4421-ACB3-82FBCDA936B4} ++ libiconv ++ libiconv ++ ++ ++ ++ DynamicLibrary ++ true ++ v120 ++ ++ ++ DynamicLibrary ++ true ++ v120 ++ ++ ++ DynamicLibrary ++ false ++ v120 ++ true ++ ++ ++ DynamicLibrary ++ false ++ v120 ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ 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..322515a --- /dev/null +++ b/patches/libiconv/libiconv-1.16-MSVC2017.patch @@ -0,0 +1,1535 @@ +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,374 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {F2A64E15-0313-4421-ACB3-82FBCDA936B4} ++ libiconv ++ libiconv ++ ++ ++ ++ DynamicLibrary ++ true ++ v141 ++ ++ ++ DynamicLibrary ++ true ++ v141 ++ ++ ++ DynamicLibrary ++ false ++ v141 ++ true ++ ++ ++ DynamicLibrary ++ false ++ v141 ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ 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..43ccdfd --- /dev/null +++ b/patches/libiconv/libiconv-1.16-MSVC2019.patch @@ -0,0 +1,1535 @@ +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,374 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ Win32 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ {F2A64E15-0313-4421-ACB3-82FBCDA936B4} ++ libiconv ++ libiconv ++ ++ ++ ++ DynamicLibrary ++ true ++ v142 ++ ++ ++ DynamicLibrary ++ true ++ v142 ++ ++ ++ DynamicLibrary ++ false ++ v142 ++ true ++ ++ ++ DynamicLibrary ++ false ++ v142 ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ 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) ++ ++ ++ ++ ++ ++ From 7850c44b9da4fd3f4d1c652a0712c36e6194c4b7 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Fri, 8 May 2020 19:15:10 +0300 Subject: [PATCH 279/299] Updated copying of some components after building postgresql --- build/helpers/postgres.cmd | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index ffaad85..a681876 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -154,16 +154,17 @@ rem now actually copy DLLs of dependencies into our bindir SET DEPENDENCIES_BIN_DIR=%DEPENDENCIES_BIN_DIR:\=/% -SET PRO_BACKUP=%BUILD_DIR%\postgresql\*%PGVER%*\Release\pg_probackup\pg_probackup.exe -SET PRO_BACKUP=%PRO_BACKUP:\=/% +rem SET PRO_BACKUP=%BUILD_DIR%\postgresql\*%PGVER%*\Release\pg_probackup\pg_probackup.exe +rem SET PRO_BACKUP=%PRO_BACKUP:\=/% -cp -va %PRO_BACKUP% %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin +rem cp -va %PRO_BACKUP% %BUILD_DIR%\distr_%ARCH%_%PGVER%\postgresql\bin 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/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 || 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 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 From 214c4161839436bcc26970f2c9b1bd771ba98c3f Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Sat, 9 May 2020 00:33:23 +0300 Subject: [PATCH 280/299] Added patch for build libxslt 1.1.34 --- build/helpers/dependencies.cmd | 7 +++ build/helpers/setvars.cmd | 2 +- patches/libxslt/libxslt-1.1.34.patch | 67 ++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 patches/libxslt/libxslt-1.1.34.patch diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 146c17a..482a373 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -210,6 +210,13 @@ wget -c http://repo.postgrespro.ru/depends/libxslt-%XSLT_VER%.tar.gz -O libxslt- 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_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 diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index f8dae56..3e9ca0c 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -1,6 +1,6 @@ REM LIBRARY VERSIONS SET ICONV_VER=1.16 -SET XSLT_VER=1.1.32 +SET XSLT_VER=1.1.34 SET ZLIB_VER=1.2.11 SET XML_VER=2.9.9 rem SET OPENSSL_VER=1.0.2n 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"; From 158c9156cd35467cddcd6616a684cacb6366a521 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Sat, 9 May 2020 13:47:39 +0300 Subject: [PATCH 281/299] Added patchs for build gettext 0.20.2 --- build/helpers/dependencies.cmd | 6 +- build/helpers/setvars.cmd | 2 +- patches/gettext/gettext-0.20.2-MSVC2013.patch | 2864 +++++++++++++++++ patches/gettext/gettext-0.20.2-MSVC2017.patch | 2864 +++++++++++++++++ patches/gettext/gettext-0.20.2-MSVC2019.patch | 2864 +++++++++++++++++ 5 files changed, 8596 insertions(+), 4 deletions(-) create mode 100644 patches/gettext/gettext-0.20.2-MSVC2013.patch create mode 100644 patches/gettext/gettext-0.20.2-MSVC2017.patch create mode 100644 patches/gettext/gettext-0.20.2-MSVC2019.patch diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 482a373..3784893 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -20,7 +20,7 @@ IF %SDK% == MSVC2019 ( SET WindowsTargetPlatformVersion=%WindowsSDKVersion% ) -rem GOTO :BUILD_XSLT +rem GOTO :BUILD_GETTEXT if "%PRODUCT_NAME%" == "PostgreSQL" goto :SKIP_ZSTD if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD @@ -268,8 +268,8 @@ CD /D %DOWNLOADS_DIR% :BUILD_GETTEXT TITLE Building gettext... CD /D %DOWNLOADS_DIR% -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.l.postgrespro.ru/depends/gettext-%GETTEXT_VER%.tar.gz -O gettext-%GETTEXT_VER%.tar.gz +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://repo.l.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_UDIR% || GOTO :ERROR diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 3e9ca0c..85ef23c 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -5,7 +5,7 @@ SET ZLIB_VER=1.2.11 SET XML_VER=2.9.9 rem SET OPENSSL_VER=1.0.2n SET OPENSSL_VER=1.1.1g -SET GETTEXT_VER=0.19.8 +SET GETTEXT_VER=0.20.2 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 SET EDITLINE_VER=2.205 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 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ From 9ebcb5f659b05ccc0dcb9377336f7b84247d1e7b Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 12 May 2020 20:37:02 +0300 Subject: [PATCH 282/299] Changed some URLs for download sources --- build/helpers/dependencies.cmd | 38 ++++++++++++++++++++-------------- build/helpers/setvars.cmd | 3 ++- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 3784893..2b18b6f 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -30,12 +30,14 @@ if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD TITLE "Building libzstd" IF "ZSTD_RELEASE" == "" set ZSTD_RELEASE=1.4.4 CD /D %DOWNLOADS_DIR% -wget -O zstd-%ZSTD_RELEASE%.zip --no-check-certificate -c https://github.com/facebook/zstd/archive/v%ZSTD_RELEASE%.zip +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% -CD /D %DEPENDENCIES_SRC_DIR% -7z x %DOWNLOADS_DIR%\zstd-%ZSTD_RELEASE%.zip -CD 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 @@ -59,7 +61,7 @@ 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.l.postgrespro.ru/depends/mingw_min/min_msys_X86.zip -O min_msys_%ARCH%.zip +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" @@ -86,7 +88,8 @@ cp -va *.exe %DEPENDENCIES_BIN_DIR%\less TITLE Build winlibedit CD /D %DOWNLOADS_DIR% REM wget --no-check-certificate -c http://downloads.sourceforge.net/project/mingweditline/wineditline-%EDITLINE_VER%.zip -wget --no-check-certificate -c http://repo.l.postgrespro.ru/depends/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 @@ -110,8 +113,8 @@ COPY editline\readline.h %DEPENDENCIES_BIN_DIR%\wineditline\include\editline :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://repo.l.postgrespro.ru/depends/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_UDIR% || GOTO :ERROR @@ -156,7 +159,8 @@ 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 @@ -232,7 +236,9 @@ CD /D %DOWNLOADS_DIR% :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_UDIR% @@ -268,8 +274,8 @@ 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://repo.l.postgrespro.ru/depends/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_UDIR% || GOTO :ERROR @@ -286,7 +292,8 @@ 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% @@ -304,10 +311,11 @@ CD /D %DOWNLOADS_DIR% TITLE Building icu... CD /D %DOWNLOADS_DIR% rem 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 -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 +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 %DEPENDENCIES_SRC_DIR%\icu MKDIR %DEPENDENCIES_BIN_DIR%\icu -7z x icu4c-56_2-src.zip -o%DEPENDENCIES_SRC_DIR% -y +7z x icu4c-%ICU_VER%-src.zip -o%DEPENDENCIES_SRC_DIR% -y CD /D %DEPENDENCIES_SRC_DIR%\icu msbuild source\allinone\allinone.sln /m /p:Configuration="Release" /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR IF %ARCH% == X64 ( diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 85ef23c..c96d37c 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -1,6 +1,6 @@ REM LIBRARY VERSIONS SET ICONV_VER=1.16 -SET XSLT_VER=1.1.34 +SET XSLT_VER=1.1.32 SET ZLIB_VER=1.2.11 SET XML_VER=2.9.9 rem SET OPENSSL_VER=1.0.2n @@ -10,6 +10,7 @@ SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 SET EDITLINE_VER=2.205 SET ZSTD_RELEASE=1.4.4 +SET ICU_VER=56_2 REM Path vars SET PERL32_PATH=C:\Perl From 30c44c2111c19906d0403892db996356d2ec7937 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 14 May 2020 21:04:44 +0300 Subject: [PATCH 283/299] Fixed iconv patch for win32 build --- patches/libiconv/libiconv-1.16-MSVC2013.patch | 10 +++++++++- patches/libiconv/libiconv-1.16-MSVC2017.patch | 18 +++++++++++++----- patches/libiconv/libiconv-1.16-MSVC2019.patch | 18 +++++++++++++----- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/patches/libiconv/libiconv-1.16-MSVC2013.patch b/patches/libiconv/libiconv-1.16-MSVC2013.patch index 4512dba..0192bc9 100644 --- a/patches/libiconv/libiconv-1.16-MSVC2013.patch +++ b/patches/libiconv/libiconv-1.16-MSVC2013.patch @@ -1158,7 +1158,7 @@ diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +#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,374 @@ +@@ -0,0 +1,382 @@ + + + @@ -1189,23 +1189,31 @@ diff -ruN libiconv.vcxproj origin/libiconv.vcxproj + 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)\ + + + diff --git a/patches/libiconv/libiconv-1.16-MSVC2017.patch b/patches/libiconv/libiconv-1.16-MSVC2017.patch index 322515a..0192bc9 100644 --- a/patches/libiconv/libiconv-1.16-MSVC2017.patch +++ b/patches/libiconv/libiconv-1.16-MSVC2017.patch @@ -1158,7 +1158,7 @@ diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +#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,374 @@ +@@ -0,0 +1,382 @@ + + + @@ -1188,24 +1188,32 @@ diff -ruN libiconv.vcxproj origin/libiconv.vcxproj + + DynamicLibrary + true -+ v141 ++ v120 ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + + + DynamicLibrary + true -+ v141 ++ v120 ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + + + DynamicLibrary + false -+ v141 ++ v120 + true ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + + + DynamicLibrary + false -+ v141 ++ v120 + true ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + + + diff --git a/patches/libiconv/libiconv-1.16-MSVC2019.patch b/patches/libiconv/libiconv-1.16-MSVC2019.patch index 43ccdfd..0192bc9 100644 --- a/patches/libiconv/libiconv-1.16-MSVC2019.patch +++ b/patches/libiconv/libiconv-1.16-MSVC2019.patch @@ -1158,7 +1158,7 @@ diff -ruN libiconv.vcxproj origin/libiconv.vcxproj +#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,374 @@ +@@ -0,0 +1,382 @@ + + + @@ -1188,24 +1188,32 @@ diff -ruN libiconv.vcxproj origin/libiconv.vcxproj + + DynamicLibrary + true -+ v142 ++ v120 ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + + + DynamicLibrary + true -+ v142 ++ v120 ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + + + DynamicLibrary + false -+ v142 ++ v120 + true ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + + + DynamicLibrary + false -+ v142 ++ v120 + true ++ $(SolutionDir)$(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + + + From 355ded57c959b29562b2742f6281ad13dbd933c7 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 21 May 2020 18:38:57 +0300 Subject: [PATCH 284/299] Updated for compatibility with pgpro-pkg/postgrespro --- build/helpers/dependencies.cmd | 2 +- build/helpers/postgres.cmd | 3 +- build/helpers/postgres_nsis_installer.cmd | 26 +- nsis/postgresql.nsi | 428 ++++++++++++---------- 4 files changed, 249 insertions(+), 210 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 2b18b6f..5538b4e 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -20,7 +20,7 @@ IF %SDK% == MSVC2019 ( SET WindowsTargetPlatformVersion=%WindowsSDKVersion% ) -rem GOTO :BUILD_GETTEXT +rem GOTO :BUILD_ICONV if "%PRODUCT_NAME%" == "PostgreSQL" goto :SKIP_ZSTD if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index a681876..bcebb24 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -26,9 +26,8 @@ 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% +git clone --depth 1 -b %GIT_BRANCH% %GIT_PATH% %BUILD_DIR%\postgresql\postgresql-%PGVER% CD /D %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR - GOTO :NOTAR ) diff --git a/build/helpers/postgres_nsis_installer.cmd b/build/helpers/postgres_nsis_installer.cmd index 20704f1..e95d433 100755 --- a/build/helpers/postgres_nsis_installer.cmd +++ b/build/helpers/postgres_nsis_installer.cmd @@ -20,25 +20,33 @@ REM The OLD_* variables used for upgrade from old installers, which was built wi 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% -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 "%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 %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 PG_INS_SUFFIX="%BITS%_Setup.exe" SET PRODUCT_VERSION="%PG_MAJOR_VERSION% (%BITS%)" @@ -50,6 +58,7 @@ IF %ONE_C% == YES ( 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%" @@ -88,6 +97,7 @@ 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 diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index 41fa055..bf6fd0d 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -588,8 +588,16 @@ Call CheckDataDir StrCpy $currCommand '"$INSTDIR\bin\initdb.exe" $tempVar \ --encoding=$Coding_text -U "$UserName_text" \ -D "$DATA_DIR"' - ${if} $isDataChecksums == ${BST_CHECKED} - StrCpy $currCommand '$currCommand --data-checksums' + + + ${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)" @@ -687,27 +695,39 @@ Call CheckDataDir !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 - 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" - - ;debug for unstarted server: - ;FileWrite $0 "effective_io_concurrency = 2$\r$\n" - - FileClose $0 - + ${endif} ErrFileCfg1: ${endif} @@ -926,8 +946,11 @@ Call CheckDataDir WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PGUSER" "$UserName_text" WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PGPORT" "$TextPort_text" WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PGLOCALEDIR" "$INSTDIR\share\locale\" - AddToPath::AddToPath "$INSTDIR\bin" ${endif} + DetailPrint "Set PATH variable ..." + AddToPath::AddToPath "$INSTDIR\bin" + Pop $0 ; or "error" + FileClose $LogFile ;Closes the filled file AccessControl::DisableFileInheritance "$DATA_DIR" @@ -1012,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 @@ -1019,6 +1046,7 @@ Section "Uninstall" ;Call un.RemoveFromPath Pop $0 ; or "error" + IfSilent 0 +2 Goto done @@ -1540,15 +1568,12 @@ Function nsDialogServer ;; 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 "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 "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 "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-DZ" ; 0x1401 ar-DZ Arabic (Algeria)‎ Arabic العربية (الجزائر)‏ 1256 720 DZA ARG + ${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 @@ -1556,15 +1581,14 @@ Function nsDialogServer ${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-AE" ; 0x3801 ar-AE Arabic (U.A.E.)‎ Arabic العربية (الإمارات العربية المتحدة)‏ 1256 720 ARE ARU ${NSD_CB_AddString} $Locale "ar-YE" ; 0x2401 ar-YE Arabic (Yemen)‎ Arabic العربية (اليمن)‏ 1256 720 YEM ARY - ${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 "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 @@ -1574,96 +1598,111 @@ Function nsDialogServer ${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 "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 "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 "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 "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 "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 "zh" ; 0x7804 zh Chinese 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-CN" ; 0x0804 zh-CN Chinese (Simplified, PRC) Chinese (Simplified) 中文(中华人民共和国) 936 936 CHN CHS - ${NSD_CB_AddString} $Locale "zh-SG" ; 0x1004 zh-SG Chinese (Simplified, Singapore) Chinese (Simplified) 中文(新加坡) 936 936 SGP ZHI - ${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-TW" ; 0x0404 zh-TW Chinese (Traditional, Taiwan) Chinese (Traditional) 中文(台灣) 950 950 TWN CHT ${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 "hr" ; 0x001A hr Croatian Croatian hrvatski 1250 852 HRV HRV - ${NSD_CB_AddString} $Locale "hr-HR" ; 0x041A hr-HR Croatian (Croatia) Croatian hrvatski (Hrvatska) 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 "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 "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 "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 "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 "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-029" ; 0x2409 en-029 English (Caribbean) English English (Caribbean) 1252 850 CAR ENB - ${NSD_CB_AddString} $Locale "en-IN" ; 0x4009 en-IN English (India) English English (India) 1252 437 IND ENN + ${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-ZA" ; 0x1C09 en-ZA English (South Africa) English English (South Africa) 1252 437 ZAF ENS ${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-GB" ; 0x0809 en-GB English (United Kingdom) English English (United Kingdom) 1252 850 GBR ENG ${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 "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 "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 "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 "fr-CH" ; 0x100C fr-CH French (Switzerland) French français (Suisse) 1252 850 CHE FRS ${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 "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 "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-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 "de-CH" ; 0x0807 de-CH German (Switzerland) German Deutsch (Schweiz) 1252 850 CHE DES - ${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 "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 "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 @@ -1673,222 +1712,211 @@ Function nsDialogServer ${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 "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 "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 "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-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 "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 "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 "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 "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 - ${NSD_CB_AddString} $Locale "it" ; 0x0010 it Italian Italian italiano 1252 850 ITA ITA - ${NSD_CB_AddString} $Locale "it-IT" ; 0x0410 it-IT Italian (Italy) Italian italiano (Italia) 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 "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 "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 "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 "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 "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 "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 "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" ; 0x0012 ko Korean Korean 한국어 949 949 KOR KOR ${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 "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 "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 "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 "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 "mk-MK" ; 0x042F mk-MK Macedonian (Former Yugoslav Republic of Macedonia) Macedonian (FYROM) македонски јазик (Македонија) 1251 866 MKD MKI + ${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 "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 "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 "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 "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 "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 "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 "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 "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 "no" ; 0x0014 no Norwegian Norwegian (Bokmål) norsk 1252 850 NOR NOR - ${NSD_CB_AddString} $Locale "nb" ; 0x7C14 nb Norwegian (Bokmål) Norwegian (Bokmål) norsk (bokmål) 1252 850 NOR NOR + ${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 "nb-NO" ; 0x0414 nb-NO Norwegian, Bokmål (Norway) Norwegian (Bokmål) norsk, bokmål (Norge) 1252 850 NOR NOR ${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 "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 "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 "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 "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 "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 "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 "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 "smn" ; 0x703B smn Sami (Inari) Sami (Inari) sämikielâ 1252 850 FIN SMN - ${NSD_CB_AddString} $Locale "smj" ; 0x7C3B smj Sami (Lule) Sami (Lule) julevusámegiella 1252 850 SWE SMK + ${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 "sms" ; 0x743B sms Sami (Skolt) Sami (Skolt) sääm´ǩiõll 1252 850 FIN SMS - ${NSD_CB_AddString} $Locale "sma" ; 0x783B sma Sami (Southern) Sami (Southern) åarjelsaemiengiele 1252 850 SWE SMB - ${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 "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 "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 "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 "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 "sa" ; 0x004F sa Sanskrit Sanskrit संस्कृत 0 1 IND SAN - ${NSD_CB_AddString} $Locale "sa-IN" ; 0x044F sa-IN Sanskrit (India) Sanskrit संस्कृत (भारतम्) 0 1 IND SAN - ${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 "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-ME" ; 0x301A sr-Cyrl-ME Serbian (Cyrillic, Montenegro) Serbian (Cyrillic) српски (Црна Гора) 1251 855 MNE SRQ ${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-ME" ; 0x2C1A sr-Latn-ME Serbian (Latin, Montenegro) Serbian (Latin) srpski (Crna Gora) 1250 852 MNE SRP ${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 "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 "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 "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 "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-SV" ; 0x440A es-SV Spanish (El Salvador) Spanish Español (El Salvador) 1252 850 SLV ESE - ${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-PY" ; 0x3C0A es-PY Spanish (Paraguay) Spanish Español (Paraguay) 1252 850 PRY ESZ - ${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-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-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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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" ; 0x0043 uz Uzbek (Latin) Uzbek (Latin) U'zbek 1254 857 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 "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 "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 "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 "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 "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" @@ -2511,9 +2539,8 @@ ${NSD_CreateGroupBox} 0 0 100% 80u "$(MORE_SERVICE_TITLE)" Pop $ServiceID_editor + ${if} "${PRODUCT_NAME_SHORT}" != "PostgreSQL" ${if} ${PG_MAJOR_VERSION} >= "10" - - ${NSD_CreateLabel} 10u 92u 100% 26u "$(MORE_ICU_HELP)" Pop $Label @@ -2527,6 +2554,7 @@ ${NSD_CreateGroupBox} 0 0 100% 80u "$(MORE_SERVICE_TITLE)" ${NSD_CB_AddString} $Collation_editor "libc" ${NSD_CB_SelectString} $Collation_editor $Collation_text ${endif} + ${endif} nsDialogs::Show @@ -2538,9 +2566,11 @@ 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 From 6d81a2194864d8bfe07a1a822b90685bd8b97445 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 7 Jul 2020 22:48:31 +0300 Subject: [PATCH 285/299] Added fix for patch for Visual Studio 2019 --- build/helpers/postgres.cmd | 17 ++++++++--- patches/postgresql/2017.patch | 13 +++++--- patches/postgresql/perl.5.30.patch | 49 ++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 9 deletions(-) create mode 100644 patches/postgresql/perl.5.30.patch diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index bcebb24..5197be0 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -22,6 +22,7 @@ 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 @@ -48,7 +49,6 @@ IF %ONE_C% == YES ( ) ) - if "%PRODUCT_NAME%" == "PostgreSQL" ( cp -va %ROOT%/patches/postgresql/%PG_MAJOR_VERSION%/series . IF NOT EXIST series GOTO :DONE_POSTGRESQL_PATCH @@ -59,17 +59,26 @@ if "%PRODUCT_NAME%" == "PostgreSQL" ( ) ) -IF %SDK% == MSVC2017 ( +:DONE_POSTGRESQL_PATCH +IF "%SDK%" == "MSVC2017" ( cp -va %ROOT%/patches/postgresql/2017.patch . 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 ( + +IF "%SDK%" == "MSVC2019" ( cp -va %ROOT%/patches/postgresql/2017.patch . 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 + ) -:DONE_POSTGRESQL_PATCH >src\tools\msvc\config.pl ECHO use strict; >>src\tools\msvc\config.pl ECHO use warnings; >>src\tools\msvc\config.pl ECHO our $config = { diff --git a/patches/postgresql/2017.patch b/patches/postgresql/2017.patch index d9568ba..bf84214 100644 --- a/patches/postgresql/2017.patch +++ b/patches/postgresql/2017.patch @@ -1,10 +1,10 @@ diff --git a/src/include/port.h b/src/include/port.h -index 9fc79f4..98846ea 100644 +index 88603c4def9..3530aa386df 100644 --- a/src/include/port.h +++ b/src/include/port.h -@@ -468,4 +468,38 @@ extern char *escape_single_quotes_ascii(const char *src); - /* port/wait_error.c */ - extern char *wait_result_to_str(int exit_status); +@@ -17,6 +17,41 @@ + #include + #include +#if _MSC_VER > 1800 + //From VS2012. @@ -40,4 +40,7 @@ index 9fc79f4..98846ea 100644 + } threadlocinfo; +#endif + - #endif /* PG_PORT_H */ \ No newline at end of file ++ + /* + * Windows has enough specialized port stuff that we push most of it off + * into another file. 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. From 4c0b934335d67871e9724e3f0077f5a72c033bb7 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Wed, 16 Sep 2020 13:07:12 +0300 Subject: [PATCH 286/299] Fixed for 32 bit build --- build/helpers/postgres.cmd | 2 +- build/helpers/setvars.cmd | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 5197be0..1809243 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -35,7 +35,7 @@ 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 postgres*-%PGVER%.tar.bz2 -C %BUILD_UDIR%/postgresql || GOTO :ERROR +%MSYS2_PATH%\tar xf postgres*-%PGVER%.tar.bz2 -C %BUILD_UDIR%/postgresql || GOTO :ERROR CD /D %BUILD_DIR%\postgresql\*%PGVER%* || GOTO :ERROR :NOTAR diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index c96d37c..9cd75a5 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -21,7 +21,8 @@ SET PYTHON32_PATH=C:\Python27x86 SET PYTHON64_PATH=C:\Python27x64 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:\msys32\usr\bin +rem ;C:\msys64\usr\bin SET PATH=%PATH%;%ZIP_PATH%;%MSYS2_PATH%;%NSIS_PATH% SET PERL5LIB=. @@ -30,8 +31,6 @@ IF EXIST "%PERL32_BIN%" SET PERL_EXE=%PERL32_BIN%\perl IF EXIST "%PERL64_BIN%" SET PATH=%PERL64_BIN%;%PATH% IF EXIST "%PERL64_BIN%" SET PERL_EXE=%PERL64_BIN%\perl -IF %ARCH% == X86 SET Platform=Win32 -IF %ARCH% == X64 SET Platform=X64 IF %SDK% == SDK71 ( SET REDIST_YEAR=2010 SET PlatformToolset=v100 @@ -71,6 +70,10 @@ IF %SDK% == MSVC2019 ( IF %ARCH% == X64 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 || GOTO :ERROR ) +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:" From 138f8fd0f6151b3767c11997e5e3b85cc2109668 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Wed, 16 Sep 2020 14:14:43 +0300 Subject: [PATCH 287/299] Fixed for postgresql 32 bit build --- build/helpers/postgres.cmd | 9 ++++++--- build/helpers/setvars.cmd | 14 +++++++++----- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 1809243..7d5e6d9 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -93,7 +93,8 @@ IF "%SDK%" == "MSVC2019" ( >>src\tools\msvc\config.pl ECHO nls ^=^> '%DEPENDENCIES_BIN_DIR%\libintl', >>src\tools\msvc\config.pl ECHO tcl ^=^> undef, IF %SDK% == SDK71 GOTO :DISABLE_PERL -IF %ARCH% == X86 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 @@ -118,6 +119,8 @@ IF "%WITHTAPTESTS%" == "1" >>src\tools\msvc\config.pl ECHO tap_tests ^=^> 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 @@ -151,8 +154,8 @@ 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 -rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/share/extension/*python3* || GOTO :ERROR -rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/lib/*python3* || GOTO :ERROR +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 remove test binaries rm -f %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/bin/test_plan_lru.exe || GOTO :ERROR diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 9cd75a5..db84085 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -21,15 +21,19 @@ SET PYTHON32_PATH=C:\Python27x86 SET PYTHON64_PATH=C:\Python27x64 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 -rem ;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 EXIST "%PERL32_BIN%" SET PATH=%PERL32_BIN%;%PATH% -IF EXIST "%PERL32_BIN%" SET PERL_EXE=%PERL32_BIN%\perl +IF %ARCH% == X86 SET PATH=%PERL32_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 +IF EXIST "%PERL64_BIN%" SET PERL_EXE=%PERL64_BIN%\perl.exe + +:NOT64 IF %SDK% == SDK71 ( SET REDIST_YEAR=2010 From 7847e5d94382f45be915a4a2f1bf9814471a65d1 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 8 Oct 2020 13:24:01 +0300 Subject: [PATCH 288/299] Added use of icu 67_1 for Visual Studio 2019 build. --- build/helpers/dependencies.cmd | 9 +++++++-- build/helpers/setvars.cmd | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 5538b4e..810921b 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -21,6 +21,7 @@ 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 @@ -310,14 +311,18 @@ CD /D %DOWNLOADS_DIR% :BUILD_ICU TITLE Building icu... CD /D %DOWNLOADS_DIR% -rem 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 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 %DEPENDENCIES_SRC_DIR%\icu MKDIR %DEPENDENCIES_BIN_DIR%\icu 7z x icu4c-%ICU_VER%-src.zip -o%DEPENDENCIES_SRC_DIR% -y CD /D %DEPENDENCIES_SRC_DIR%\icu -msbuild source\allinone\allinone.sln /m /p:Configuration="Release" /p:Platform=%Platform% /p:PlatformToolset=%PlatformToolset% || GOTO :ERROR +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=10.0 /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 diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index db84085..4443c0b 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -52,6 +52,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 @@ -60,6 +61,7 @@ IF %SDK% == MSVC2015 ( 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 @@ -67,6 +69,7 @@ IF %SDK% == MSVC2017 ( 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 From 0b95b2f890df1dc2af0148db058a41ce48fc9625 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 4 Feb 2021 18:41:36 +0300 Subject: [PATCH 289/299] lz4 library build added --- build/helpers/dependencies.cmd | 28 ++++++++++++++++++++++++++-- build/helpers/setvars.cmd | 1 + 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 810921b..31f73b9 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -29,7 +29,7 @@ if "%PRODUCT_NAME%" == "PostgresPro" goto :SKIP_ZSTD :ZSTD TITLE "Building libzstd" -IF "ZSTD_RELEASE" == "" set ZSTD_RELEASE=1.4.4 +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 @@ -56,6 +56,30 @@ if %ARCH% == X86 ( ) 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\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=x64 /p:PlatformToolset=%PlatformToolset% /p:WindowsTargetPlatformVersion=%WindowsSDKVersion% /p:RunCodeAnalysis=false /p:UseEnv=true || GOTO :ERROR +CD ../.. + +MKDIR %DEPENDENCIES_BIN_DIR%\lz4 +cp lib\lz4.h %DEPENDENCIES_BIN_DIR%\lz4 +if %ARCH% == X86 ( + cp -va build/VS2017/bin/Win32_Release/liblz4* %DEPENDENCIES_BIN_DIR%\lz4 +) else ( + cp -va build/VS2017/bin/x64_Release/liblz4* %DEPENDENCIES_BIN_DIR%\lz4 +) +7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\lz4 + :SKIP_ZSTD REM TO-DO: overwrite to build rules @@ -320,7 +344,7 @@ CD /D %DEPENDENCIES_SRC_DIR%\icu 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=10.0 /p:SkipUWP=true || GOTO :ERROR + 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 ( diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 4443c0b..f349598 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -11,6 +11,7 @@ SET WXWIDGETS_VER=3.0.2 SET EDITLINE_VER=2.205 SET ZSTD_RELEASE=1.4.4 SET ICU_VER=56_2 +SET LZ4_RELEASE=1.9.3 REM Path vars SET PERL32_PATH=C:\Perl From 5a8924db2ebd7f32b5f672fd83f4253b3260a2f3 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Fri, 5 Feb 2021 16:51:51 +0300 Subject: [PATCH 290/299] lz4 library build updated --- build/helpers/dependencies.cmd | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 31f73b9..8cea404 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -72,11 +72,13 @@ msbuild lz4.sln /m /p:Configuration=Release /p:Platform=x64 /p:PlatformToolset=% CD ../.. MKDIR %DEPENDENCIES_BIN_DIR%\lz4 -cp lib\lz4.h %DEPENDENCIES_BIN_DIR%\lz4 +MKDIR %DEPENDENCIES_BIN_DIR%\lz4\include +MKDIR %DEPENDENCIES_BIN_DIR%\lz4\lib +cp lib\lz4.h %DEPENDENCIES_BIN_DIR%\lz4\include if %ARCH% == X86 ( - cp -va build/VS2017/bin/Win32_Release/liblz4* %DEPENDENCIES_BIN_DIR%\lz4 + 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 + cp -va build/VS2017/bin/x64_Release/liblz4* %DEPENDENCIES_BIN_DIR%\lz4\lib ) 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\lz4 From bc0fb541847d27cf032a756dcd5abfedcb98acd9 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Fri, 5 Mar 2021 12:28:11 +0300 Subject: [PATCH 291/299] lz4 library build updated --- build/helpers/dependencies.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 8cea404..27688bb 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -68,7 +68,7 @@ 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=x64 /p:PlatformToolset=%PlatformToolset% /p:WindowsTargetPlatformVersion=%WindowsSDKVersion% /p:RunCodeAnalysis=false /p:UseEnv=true || GOTO :ERROR +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 From ccd773e4bc283a2037c7385de8c8222d2a29a34e Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Mon, 6 Sep 2021 13:59:58 +0300 Subject: [PATCH 292/299] Incremented ZSTD_RELEASE to 1.5.0 --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index f349598..a662500 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -9,7 +9,7 @@ SET GETTEXT_VER=0.20.2 SET LIBSSH2_VER=1.6.0 SET WXWIDGETS_VER=3.0.2 SET EDITLINE_VER=2.205 -SET ZSTD_RELEASE=1.4.4 +SET ZSTD_RELEASE=1.5.0 SET ICU_VER=56_2 SET LZ4_RELEASE=1.9.3 From 6332f5ee0857750d7a19c4ff4f51c9ab853a7273 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 18 Nov 2021 12:54:56 +0300 Subject: [PATCH 293/299] Builds 2 ICU lib version in dependencies for compatibility with old postres builds --- build/helpers/dependencies.cmd | 27 +++++++++++++++++---------- build/helpers/postgres.cmd | 15 ++++++++++----- nsis/client.files | 10 ++++++++++ 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 27688bb..a70d0b1 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -336,13 +336,15 @@ CD /D %DOWNLOADS_DIR% :BUILD_ICU TITLE Building icu... +echo on CD /D %DOWNLOADS_DIR% 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 %DEPENDENCIES_SRC_DIR%\icu -MKDIR %DEPENDENCIES_BIN_DIR%\icu +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 -CD /D %DEPENDENCIES_SRC_DIR%\icu +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 ( @@ -350,16 +352,21 @@ IF %SDK% == MSVC2013 ( ) 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\lib64 %DEPENDENCIES_BIN_DIR%\icu\lib64 || 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 diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 7d5e6d9..17cb964 100755 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -27,7 +27,8 @@ IF NOT "%GIT_BRANCH%"=="" ( rm -rf %BUILD_DIR%\postgresql MKDIR %BUILD_DIR%\postgresql MKDIR %BUILD_DIR%\postgresql\postgresql-%PGVER% -git clone --depth 1 -b %GIT_BRANCH% %GIT_PATH% %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 ) @@ -62,7 +63,7 @@ if "%PRODUCT_NAME%" == "PostgreSQL" ( :DONE_POSTGRESQL_PATCH IF "%SDK%" == "MSVC2017" ( cp -va %ROOT%/patches/postgresql/2017.patch . - patch -p1 < 2017.patch || GOTO :ERROR + 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 @@ -71,13 +72,15 @@ IF "%SDK%" == "MSVC2017" ( IF "%SDK%" == "MSVC2019" ( cp -va %ROOT%/patches/postgresql/2017.patch . - patch -p1 < 2017.patch || GOTO :ERROR + 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; @@ -109,7 +112,8 @@ IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO python ^=^> '%PYTHON32_PATH%' >>src\tools\msvc\config.pl ECHO iconv ^=^> '%DEPENDENCIES_BIN_DIR%\iconv', >>src\tools\msvc\config.pl ECHO zlib ^=^> '%DEPENDENCIES_BIN_DIR%\zlib', if "%PRODUCT_NAME%" == "PostgresProEnterprise" >>src\tools\msvc\config.pl ECHO zstd ^=^> '%DEPENDENCIES_BIN_DIR%\zstd', ->>src\tools\msvc\config.pl ECHO icu ^=^> '%DEPENDENCIES_BIN_DIR%\icu', +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' @@ -184,7 +188,8 @@ cp -va %DEPENDENCIES_BIN_DIR%/openssl/bin/openssl.exe %BUILD_DIR%\distr_%ARCH%_% 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 -cp -va %DEPENDENCIES_BIN_DIR%/icu/bin/*.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 diff --git a/nsis/client.files b/nsis/client.files index 9f37ebf..a69fb74 100644 --- a/nsis/client.files +++ b/nsis/client.files @@ -25,3 +25,13 @@ ./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} From e4c603b4006b455ebd80abd8f75aadd6cd9cfe1e Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Wed, 15 Dec 2021 20:55:32 +0300 Subject: [PATCH 294/299] lz4 library build updated: made copying of all header files --- build/helpers/dependencies.cmd | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index a70d0b1..0f2faaf 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -56,6 +56,8 @@ if %ARCH% == X86 ( ) 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 @@ -74,7 +76,7 @@ CD ../.. MKDIR %DEPENDENCIES_BIN_DIR%\lz4 MKDIR %DEPENDENCIES_BIN_DIR%\lz4\include MKDIR %DEPENDENCIES_BIN_DIR%\lz4\lib -cp lib\lz4.h %DEPENDENCIES_BIN_DIR%\lz4\include +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 ( @@ -82,9 +84,8 @@ if %ARCH% == X86 ( ) 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\lz4 -:SKIP_ZSTD - REM TO-DO: overwrite to build rules + :DOWNLOAD_MSYS_UTILS TITLE Download msys utils... CD /D %DOWNLOADS_DIR% From 01c075bdc5ece097e9e1ebe2ac843cf1752ac1b8 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Wed, 29 Dec 2021 14:41:20 +0300 Subject: [PATCH 295/299] Prepared for VS2022 build --- build/helpers/dependencies.cmd | 3 +++ build/helpers/postgres_installer.cmd | 5 +++++ build/helpers/setvars.cmd | 12 +++++++++++- nsis/unneeded.files | 1 + 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 0f2faaf..32a1bd0 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -19,6 +19,9 @@ SET WindowsTargetPlatformVersion=%WindowsSDKVersion% IF %SDK% == MSVC2019 ( SET WindowsTargetPlatformVersion=%WindowsSDKVersion% ) +IF %SDK% == MSVC2022 ( +SET WindowsTargetPlatformVersion=%WindowsSDKVersion% +) rem GOTO :BUILD_ICONV rem GOTO :BUILD_ICU diff --git a/build/helpers/postgres_installer.cmd b/build/helpers/postgres_installer.cmd index c4ebbd9..c442b45 100644 --- a/build/helpers/postgres_installer.cmd +++ b/build/helpers/postgres_installer.cmd @@ -39,6 +39,11 @@ cp "%VCToolsRedistDir%vc_redist.x86.exe" "%BUILD_DIR%\vcredist\vcredist_x86_2019 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 "%BUILD_DIR%\installers" diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index a662500..05d7b98 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -19,7 +19,8 @@ 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:\msys64\usr\bin @@ -77,6 +78,15 @@ IF %SDK% == MSVC2019 ( 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 diff --git a/nsis/unneeded.files b/nsis/unneeded.files index e0da231..21a6a89 100644 --- a/nsis/unneeded.files +++ b/nsis/unneeded.files @@ -4,3 +4,4 @@ ./doc/contrib/README* ./doc/extension/README* ./share/locale/*/LC_MESSAGES/pltcl-*.mo +./bin/corrupt_icu_version.exe From e2238c8eb09a64d18e4c1a725839851377556834 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Wed, 13 Apr 2022 15:22:22 +0300 Subject: [PATCH 296/299] [PGPRO-6463]: Fixed lib path and include path for zstd. --- build/helpers/dependencies.cmd | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 32a1bd0..b9fbfc8 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -50,12 +50,18 @@ 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 From 8d786a3f9f271da82f81f16e8e5c2d74f4f89264 Mon Sep 17 00:00:00 2001 From: Dmitry Maslyuk Date: Thu, 14 Apr 2022 17:22:00 +0300 Subject: [PATCH 297/299] Updated zlib to 1.2.12 --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 05d7b98..0b497da 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -1,7 +1,7 @@ REM LIBRARY VERSIONS SET ICONV_VER=1.16 SET XSLT_VER=1.1.32 -SET ZLIB_VER=1.2.11 +SET ZLIB_VER=1.2.12 SET XML_VER=2.9.9 rem SET OPENSSL_VER=1.0.2n SET OPENSSL_VER=1.1.1g From 7a9d6d35b3502138fc4a515465a7ff3c4316e3f1 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 23 Aug 2022 21:01:55 +0300 Subject: [PATCH 298/299] [PGPRO-7091]: Updated versions of some dependencies --- build/helpers/dependencies.cmd | 7 +- build/helpers/setvars.cmd | 15 +- nsis/postgresql.nsi | 2 +- patches/gettext/gettext-0.21-MSVC2019.patch | 2873 +++++++++++++++++ patches/libiconv/libiconv-1.17-MSVC2019.patch | 1543 +++++++++ 5 files changed, 4428 insertions(+), 12 deletions(-) create mode 100644 patches/gettext/gettext-0.21-MSVC2019.patch create mode 100644 patches/libiconv/libiconv-1.17-MSVC2019.patch diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index b9fbfc8..80f409f 100755 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -25,7 +25,6 @@ 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 @@ -220,9 +219,11 @@ CD /D %DOWNLOADS_DIR% TITLE Building xml... CD /D %DOWNLOADS_DIR% 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-%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 +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 @@ -247,7 +248,7 @@ CD /D %DOWNLOADS_DIR% TITLE Building xslt... CD /D %DOWNLOADS_DIR% 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-%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_UDIR% || GOTO :ERROR diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 0b497da..d499ec2 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -1,15 +1,14 @@ REM LIBRARY VERSIONS -SET ICONV_VER=1.16 -SET XSLT_VER=1.1.32 +SET ICONV_VER=1.17 +SET XSLT_VER=1.1.36 SET ZLIB_VER=1.2.12 -SET XML_VER=2.9.9 -rem SET OPENSSL_VER=1.0.2n -SET OPENSSL_VER=1.1.1g -SET GETTEXT_VER=0.20.2 -SET LIBSSH2_VER=1.6.0 +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 ZSTD_RELEASE=1.5.0 SET ICU_VER=56_2 SET LZ4_RELEASE=1.9.3 diff --git a/nsis/postgresql.nsi b/nsis/postgresql.nsi index bf6fd0d..1ed17e5 100755 --- a/nsis/postgresql.nsi +++ b/nsis/postgresql.nsi @@ -2,7 +2,7 @@ ; 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" ;-------------------------------- 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.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) ++ ++ ++ ++ ++ ++ From 1a30c762f1498ddfafa033e0fbe0cb13fe110551 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 15 Sep 2022 00:36:22 +0300 Subject: [PATCH 299/299] [PGPRO-7179]: Updated version of libxml2 --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index d499ec2..bc18066 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -2,7 +2,7 @@ REM LIBRARY VERSIONS SET ICONV_VER=1.17 SET XSLT_VER=1.1.36 SET ZLIB_VER=1.2.12 -SET XML_VER=2.10.0 +SET XML_VER=2.10.2 SET OPENSSL_VER=1.1.1q SET GETTEXT_VER=0.21 SET LIBSSH2_VER=1.10.0