From 1fd7ed7061369a98fc20f90e352dbb002ce05df4 Mon Sep 17 00:00:00 2001 From: Adriano dos Santos Fernandes Date: Sun, 7 Aug 2022 21:14:52 -0300 Subject: [PATCH 1/8] Fix errors when paths has spaces and different (or localized) utilities versions. --- .../arch-specific/win32/BuildExecutableInstall.bat | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/builds/install/arch-specific/win32/BuildExecutableInstall.bat b/builds/install/arch-specific/win32/BuildExecutableInstall.bat index ca2dd9f634a..30dd8b9b48c 100644 --- a/builds/install/arch-specific/win32/BuildExecutableInstall.bat +++ b/builds/install/arch-specific/win32/BuildExecutableInstall.bat @@ -65,10 +65,10 @@ if "%FB2_SNAPSHOT%"=="1" ( :: let's bail out now. @echo o Checking for sed... -(cmd /c "sed.exe --version 2>&1 | findstr version > nul ") || ( call :ERROR Could not locate sed && @goto :EOF ) +(cmd /c "sed.exe --version 2>&1 > nul ") || ( call :ERROR Could not locate sed && @goto :EOF ) @echo o Checking for unix2dos... -(cmd /c "unix2dos.exe --version 2>&1 | findstr version > nul" ) || ( call :ERROR Could not locate unix2dos && @goto :EOF ) +(cmd /c "unix2dos.exe --version 2>&1 > nul" ) || ( call :ERROR Could not locate unix2dos && @goto :EOF ) @for /f "usebackq tokens=*" %%c in (`where /f touch 2^>nul`) do set TOUCH_COMMAND=%%c if defined TOUCH_COMMAND ( @@ -93,7 +93,7 @@ if %FBBUILD_ZIP_PACK% EQU 1 ( if %FBBUILD_ISX_PACK% NEQ 1 goto :SKIP_INNO if defined INNO6_SETUP_PATH ( - set ISCC_COMMAND=%INNO6_SETUP_PATH%\iscc.exe + set ISCC_COMMAND="%INNO6_SETUP_PATH%\iscc.exe" ) :: If the environment variable is not set let's search in PATH if not defined ISCC_COMMAND ( @@ -445,7 +445,7 @@ copy %FB_ROOT_PATH%\builds\install\misc\databases.conf %FB_OUTPUT_DIR%\databases :: that and they all have windows EOL ::=============================================== for /R %FB_OUTPUT_DIR% %%W in ( *.txt *.conf *.sql *.c *.cpp *.hpp *.h *.bat *.pas *.e *.def *.rc *.md *.html ) do ( - unix2dos -q --safe %%W || exit /b 1 + unix2dos --safe %%W || exit /b 1 ) ::End of SET_CRLF @@ -476,7 +476,7 @@ if exist %FBBUILD_ZIPFILE% ( @del %FBBUILD_ZIPFILE% ) -%SEVENZIP%\7z.exe a -r -tzip -mx9 %SKIP_FILES% %FBBUILD_ZIPFILE% %FB_OUTPUT_DIR%\* +"%SEVENZIP%\7z.exe" a -r -tzip -mx9 %SKIP_FILES% %FBBUILD_ZIPFILE% %FB_OUTPUT_DIR%\* endlocal From a7b79555035eaacbd4dc203f0a1305a6c59e297e Mon Sep 17 00:00:00 2001 From: Adriano dos Santos Fernandes Date: Sun, 7 Aug 2022 21:14:52 -0300 Subject: [PATCH 2/8] Improve Windows build process making it generating public files directly in the output directory. --- .github/workflows/main.yml | 22 ++++++----- .../win32/BuildExecutableInstall.bat | 2 +- .../arch-specific/win32/FirebirdInstall.iss | 18 ++++----- builds/win32/create_msgs.bat | 4 +- builds/win32/gen_helper.nmake | 2 +- builds/win32/make_all.bat | 27 +------------ builds/win32/make_boot.bat | 38 +++++++------------ builds/win32/make_examples.bat | 1 - builds/win32/make_icu.bat | 4 +- builds/win32/msvc15/chacha.vcxproj | 8 ++-- builds/win32/msvc15/common_test.vcxproj | 10 ++--- builds/win32/msvc15/engine.vcxproj | 8 ++-- builds/win32/msvc15/engine_test.vcxproj | 10 ++--- builds/win32/msvc15/fb_lock_print.vcxproj | 8 ++-- builds/win32/msvc15/fbguard.vcxproj | 8 ++-- builds/win32/msvc15/fbrmclib.vcxproj | 8 ++-- builds/win32/msvc15/fbserver.vcxproj | 8 ++-- builds/win32/msvc15/fbsvcmgr.vcxproj | 8 ++-- builds/win32/msvc15/fbtrace.vcxproj | 8 ++-- builds/win32/msvc15/fbtracemgr.vcxproj | 8 ++-- builds/win32/msvc15/gbak.vcxproj | 8 ++-- builds/win32/msvc15/gfix.vcxproj | 8 ++-- builds/win32/msvc15/gpre.vcxproj | 8 ++-- builds/win32/msvc15/gsec.vcxproj | 8 ++-- builds/win32/msvc15/gsplit.vcxproj | 8 ++-- builds/win32/msvc15/gstat.vcxproj | 8 ++-- builds/win32/msvc15/ib_util.vcxproj | 12 ++++-- builds/win32/msvc15/instclient.vcxproj | 8 ++-- builds/win32/msvc15/instreg.vcxproj | 8 ++-- builds/win32/msvc15/instsvc.vcxproj | 8 ++-- builds/win32/msvc15/intl.vcxproj | 12 ++---- builds/win32/msvc15/isql.vcxproj | 8 ++-- builds/win32/msvc15/legacy_auth.vcxproj | 8 ++-- .../win32/msvc15/legacy_usermanager.vcxproj | 8 ++-- builds/win32/msvc15/nbackup.vcxproj | 8 ++-- builds/win32/msvc15/srp.vcxproj | 8 ++-- builds/win32/msvc15/udf_compat.vcxproj | 8 ++-- builds/win32/msvc15/udr_engine.vcxproj | 12 ++---- builds/win32/msvc15/udrcpp_example.vcxproj | 16 ++++---- builds/win32/msvc15/yvalve.vcxproj | 12 ++++-- builds/win32/preprocess.bat | 4 +- builds/win32/set_build_target.bat | 3 +- .../dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj | 16 ++++---- extern/icu/.gitignore | 1 + 44 files changed, 194 insertions(+), 224 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dcb09ef928c..c2c28ef9881 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -230,6 +230,7 @@ jobs: cd builds\win32 call run_all.bat JUSTBUILD call run_tests.bat + ren %FB_OUTPUT_DIR% output - name: Build (Windows, Docker) if: startsWith(matrix.os, 'windows-') && matrix.docker @@ -270,19 +271,20 @@ jobs: name: firebird-macos path: gen/artifacts - - name: Upload (Windows x64) - if: startsWith(matrix.os, 'windows-') && !matrix.docker && matrix.platform == 'x64' - uses: actions/upload-artifact@main - with: - name: firebird-windows-vs-${{ env.VS_VERSION }}-x64 - path: output_x64 + - name: Clean output (Windows) + if: startsWith(matrix.os, 'windows-') + shell: cmd + run: | + del output\*_test.exe /s + del output\lib\*.exp /s + del output\*.log /s - - name: Upload (Windows x86) - if: startsWith(matrix.os, 'windows-') && !matrix.docker && matrix.platform == 'x86' + - name: Upload (Windows) + if: startsWith(matrix.os, 'windows-') && !matrix.docker uses: actions/upload-artifact@main with: - name: firebird-windows-vs-${{ env.VS_VERSION }}-x86 - path: output_win32 + name: firebird-windows-vs-${{ env.VS_VERSION }}-x64 + path: output - name: Upload (Windows, Docker) if: startsWith(matrix.os, 'windows-') && matrix.docker diff --git a/builds/install/arch-specific/win32/BuildExecutableInstall.bat b/builds/install/arch-specific/win32/BuildExecutableInstall.bat index 30dd8b9b48c..b6a1463d43b 100644 --- a/builds/install/arch-specific/win32/BuildExecutableInstall.bat +++ b/builds/install/arch-specific/win32/BuildExecutableInstall.bat @@ -458,7 +458,7 @@ for /R %FB_OUTPUT_DIR% %%W in ( *.txt *.conf *.sql *.c *.cpp *.hpp *.h *.bat *.p :: Forcefully disable delayed expansion because of exclamation marks in 7z switches setlocal DisableDelayedExpansion -set SKIP_FILES=-x!installation_readme.txt +set SKIP_FILES=-x!*.log -x!*.exp -x!*_test.exe -x!installation_readme.txt if "%FBBUILD_SHIP_PDB%" == "ship_pdb" ( set FBBUILD_ZIPFILE=%FBBUILD_INSTALL_IMAGES%\Firebird-%FBBUILD_FILE_ID%-pdb%FBBUILD_FILENAME_SUFFIX%.zip diff --git a/builds/install/arch-specific/win32/FirebirdInstall.iss b/builds/install/arch-specific/win32/FirebirdInstall.iss index f988c1aa420..80c67e64a21 100644 --- a/builds/install/arch-specific/win32/FirebirdInstall.iss +++ b/builds/install/arch-specific/win32/FirebirdInstall.iss @@ -397,7 +397,7 @@ Filename: {app}\instreg.exe; Parameters: "install "; StatusMsg: {cm:instreg}; Mi Filename: {app}\instclient.exe; Parameters: "install fbclient"; StatusMsg: {cm:instclientCopyFbClient}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized; Check: CopyFBClientLib; Filename: {app}\instclient.exe; Parameters: "install gds32"; StatusMsg: {cm:instclientGenGds32}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized; Check: CopyGds32 #if PlatformTarget == "x64" -Filename: {app}\WOW64\instclient.exe; Parameters: "install fbclient"; StatusMsg: {cm:instclientCopyFbClient}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized 32bit; Check: CopyFBClientLib; +Filename: {app}\WOW64\instclient.exe; Parameters: "install fbclient"; StatusMsg: {cm:instclientCopyFbClient}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized 32bit; Check: CopyFBClientLib Filename: {app}\WOW64\instclient.exe; Parameters: "install gds32"; StatusMsg: {cm:instclientGenGds32}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized 32bit; Check: CopyGds32 #endif @@ -500,10 +500,10 @@ Source: {#FilesDir}\icuin??.dll; DestDir: {app}; Components: ClientComponent; Fl Source: {#FilesDir}\icudt??.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion Source: {#FilesDir}\icudt*.dat; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion #if PlatformTarget == "x64" -Source: {#WOW64Dir}\icuuc??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion -Source: {#WOW64Dir}\icuin??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion -Source: {#WOW64Dir}\icudt??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion -Source: {#WOW64Dir}\icudt*.dat; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion +Source: {#WOW64Dir}\icuuc??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus} +Source: {#WOW64Dir}\icuin??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus} +Source: {#WOW64Dir}\icudt??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus} +Source: {#WOW64Dir}\icudt*.dat; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus} #endif #if PlatformTarget =="Win32" @@ -512,7 +512,7 @@ Source: {#FilesDir}\fbrmclib.dll; DestDir: {app}; Components: ServerComponent; F Source: {#FilesDir}\zlib1.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion #if PlatformTarget == "x64" -Source: {#WOW64Dir}\zlib1.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion +Source: {#WOW64Dir}\zlib1.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus} #endif ;Rules for installation of MS runtimes are simplified with MSVC10 @@ -549,7 +549,7 @@ Source: {#FilesDir}\doc\sql.extensions\*.*; DestDir: {app}\doc\sql.extensions; C Source: {#FilesDir}\include\*.*; DestDir: {app}\include; Components: DevAdminComponent; Flags: ignoreversion recursesubdirs createallsubdirs; Source: {#FilesDir}\intl\fbintl.dll; DestDir: {app}\intl; Components: ServerComponent; Flags: sharedfile ignoreversion; Source: {#FilesDir}\intl\fbintl.conf; DestDir: {app}\intl; Components: ServerComponent; Flags: onlyifdoesntexist -Source: {#FilesDir}\lib\*.*; DestDir: {app}\lib; Components: DevAdminComponent; Flags: ignoreversion; +Source: {#FilesDir}\lib\*.lib; DestDir: {app}\lib; Components: DevAdminComponent; Flags: ignoreversion; #if PlatformTarget == "x64" Source: {#WOW64Dir}\lib\*.lib; DestDir: {app}\WOW64\lib; Components: DevAdminComponent; Flags: ignoreversion {#SkipFileIfDevStatus} #endif @@ -566,7 +566,7 @@ Source: {#FilesDir}\plugins\chacha.dll; DestDir: {app}\plugins; Components: Clie Source: {#FilesDir}\plugins\*.conf; DestDir: {app}\plugins; Components: ServerComponent; Flags: ignoreversion; Source: {#FilesDir}\plugins\udr\*.*; DestDir: {app}\plugins\udr; Components: ServerComponent; Flags: ignoreversion; #if PlatformTarget == "x64" -Source: {#WOW64Dir}\plugins\chacha*.dll; DestDir: {app}\WOW64\plugins; Components: ClientComponent; Flags: ignoreversion; +Source: {#WOW64Dir}\plugins\chacha*.dll; DestDir: {app}\WOW64\plugins; Components: ClientComponent; Flags: ignoreversion {#SkipFileIfDevStatus}; #endif Source: {#FilesDir}\misc\*.*; DestDir: {app}\misc; Components: ServerComponent; Flags: ignoreversion createallsubdirs recursesubdirs ; @@ -588,7 +588,7 @@ Source: {#FilesDir}\gfix.pdb; DestDir: {app}; Components: DevAdminComponent; Source: {#FilesDir}\isql.pdb; DestDir: {app}; Components: ClientComponent; Source: {#FilesDir}\plugins\*.pdb; DestDir: {app}\plugins; Components: ServerComponent; #if PlatformTarget == "x64" -Source: {#WOW64Dir}\fbclient.pdb; DestDir: {app}\WOW64; Components: ClientComponent; +Source: {#WOW64Dir}\fbclient.pdb; DestDir: {app}\WOW64; Components: ClientComponent; Flags: {#SkipFileIfDevStatus}; #endif #endif diff --git a/builds/win32/create_msgs.bat b/builds/win32/create_msgs.bat index 984fbb15a6f..064d8d1ada2 100644 --- a/builds/win32/create_msgs.bat +++ b/builds/win32/create_msgs.bat @@ -2,14 +2,14 @@ @call setenvvar.bat @if errorlevel 1 (goto :END) -@if not defined FB_BIN_DIR (@call set_build_target.bat %*) +@if not defined FB_BOOT_BIN_DIR (@call set_build_target.bat %*) @echo Building build_msg (%FB_OBJ_DIR%)... @call compile.bat builds\win32\%VS_VER%\FirebirdBoot build_msg_%FB_TARGET_PLATFORM%.log build_msg @if errorlevel 1 (goto :END) @echo Building message file... -@%FB_BIN_DIR%\build_msg -f %FB_GEN_DB_DIR%\firebird.msg -c %FB_OUTPUT_DIR%\include\firebird\impl\iberror_c.h +@%FB_BOOT_BIN_DIR%\build_msg -f %FB_GEN_DB_DIR%\firebird.msg -c %FB_OUTPUT_DIR%\include\firebird\impl\iberror_c.h @copy %FB_GEN_DIR%\firebird.msg %FB_BIN_DIR% > nul :END diff --git a/builds/win32/gen_helper.nmake b/builds/win32/gen_helper.nmake index 07f201e29fc..d2a7729f883 100644 --- a/builds/win32/gen_helper.nmake +++ b/builds/win32/gen_helper.nmake @@ -49,7 +49,7 @@ $(RPL_GREP): $(RPL_GREP_SRC) $(FB_GEN_DIR)\iberror.pas: $(ERR_CONSTS_PAS) $(FB_ROOT_PATH)\src\include\firebird\impl\msg\*.h compile.bat builds\win32\%VS_VER%\FirebirdBoot build_msg_%FB_TARGET_PLATFORM%.log build_msg - %FB_BIN_DIR%\build_msg -p $(FB_GEN_DIR)\iberror_codes.pas + %FB_BOOT_BIN_DIR%\build_msg -p $(FB_GEN_DIR)\iberror_codes.pas copy $(ERR_CONSTS_PAS) $(FB_GEN_DIR)\iberror.pas type $(FB_GEN_DIR)\iberror_codes.pas >> $(FB_GEN_DIR)\iberror.pas diff --git a/builds/win32/make_all.bat b/builds/win32/make_all.bat index 7a3f626c0a1..facf459e3fa 100644 --- a/builds/win32/make_all.bat +++ b/builds/win32/make_all.bat @@ -8,7 +8,7 @@ set ERRLEV=0 :: verify that boot was run before -@if not exist %FB_GEN_DIR%\firebird.msg (goto :HELP_BOOT & goto :EOF) +@if not exist %FB_BIN_DIR%\firebird.msg (goto :HELP_BOOT & goto :EOF) @call set_build_target.bat %* @@ -30,16 +30,6 @@ if errorlevel 1 call :ERROR build failed - see make_all_%FB_TARGET_PLATFORM%.log ::=========== :MOVE -@echo Copying files to output -@set FB_OUTPUT_DIR=%FB_ROOT_PATH%\output_%FB_TARGET_PLATFORM% -@del %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\*.exp 2>nul -@del %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\*.lib 2>nul -@rmdir /q /s %FB_OUTPUT_DIR% 2>nul - -:: short delay to let OS complete actions by rmdir above -@timeout 1 >nul - -@mkdir %FB_OUTPUT_DIR% 2>nul @mkdir %FB_OUTPUT_DIR%\intl 2>nul @mkdir %FB_OUTPUT_DIR%\tzdata 2>nul @mkdir %FB_OUTPUT_DIR%\doc 2>nul @@ -51,22 +41,9 @@ if errorlevel 1 call :ERROR build failed - see make_all_%FB_TARGET_PLATFORM%.log @mkdir %FB_OUTPUT_DIR%\plugins 2>nul @mkdir %FB_OUTPUT_DIR%\plugins\udr 2>nul -@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\* %FB_OUTPUT_DIR% >nul -@del %FB_OUTPUT_DIR%\*_test.exe >nul -@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\intl\* %FB_OUTPUT_DIR%\intl >nul -@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\tzdata\* %FB_OUTPUT_DIR%\tzdata >nul @copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\system32\* %FB_OUTPUT_DIR%\system32 >nul -@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\plugins\*.dll %FB_OUTPUT_DIR%\plugins >nul -@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\plugins\udr\*.dll %FB_OUTPUT_DIR%\plugins\udr >nul -@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\yvalve\fbclient.lib %FB_OUTPUT_DIR%\lib\fbclient_ms.lib >nul -@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\ib_util\ib_util.lib %FB_OUTPUT_DIR%\lib\ib_util_ms.lib >nul - -for %%v in (gpre_boot build_msg) do ( -@del %FB_OUTPUT_DIR%\%%v.* 2>nul -) :: Firebird.conf, etc -@copy %FB_GEN_DIR%\firebird.msg %FB_OUTPUT_DIR%\ > nul @copy %FB_ROOT_PATH%\builds\install\misc\firebird.conf %FB_OUTPUT_DIR%\firebird.conf >nul @copy %FB_ROOT_PATH%\builds\install\misc\databases.conf %FB_OUTPUT_DIR%\databases.conf >nul @copy %FB_ROOT_PATH%\builds\install\misc\fbintl.conf %FB_OUTPUT_DIR%\intl\ >nul @@ -94,7 +71,7 @@ copy %FB_ROOT_PATH%\src\include\ibase.h %FB_OUTPUT_DIR%\include > nul copy %FB_ROOT_PATH%\src\include\iberror.h %FB_OUTPUT_DIR%\include > nul :: New API headers -xcopy %FB_ROOT_PATH%\src\include\firebird %FB_OUTPUT_DIR%\include\firebird /e > nul +xcopy /y %FB_ROOT_PATH%\src\include\firebird %FB_OUTPUT_DIR%\include\firebird /e > nul :: UDR copy %FB_ROOT_PATH%\src\extlib\*.sql %FB_OUTPUT_DIR%\plugins\udr > nul diff --git a/builds/win32/make_boot.bat b/builds/win32/make_boot.bat index 033142dd02b..8b05c9705f8 100644 --- a/builds/win32/make_boot.bat +++ b/builds/win32/make_boot.bat @@ -17,6 +17,12 @@ set ERRLEV=0 ::=========== :MAIN @echo. + +@echo Cleaning output directory +@rmdir /S /Q "%FB_OUTPUT_DIR%" 2>nul +:: short delay to let OS complete actions by rmdir above +@timeout 1 >nul + @echo Creating directories :: Create the directory hierarchy. for %%v in ( alice auth burp dsql gpre isql jrd misc msgs examples yvalve utilities) do ( @@ -28,6 +34,7 @@ for %%v in ( alice auth burp dsql gpre isql jrd misc msgs examples yvalve utilit @mkdir %FB_GEN_DIR%\gpre\std 2>nul @mkdir %FB_OUTPUT_DIR%\include\firebird\impl 2>nul +@mkdir %FB_OUTPUT_DIR%\tzdata 2>nul call :interfaces if "%ERRLEV%"=="1" goto :END @@ -59,16 +66,13 @@ call :gpre_boot if "%ERRLEV%"=="1" goto :END ::======= -@echo Preprocessing the source files needed to build gbak, gpre and isql... +@echo Preprocessing the source files needed to build gpre and isql... @call preprocess.bat BOOT ::======= call :engine if "%ERRLEV%"=="1" goto :END -call :gbak -if "%ERRLEV%"=="1" goto :END - call :gpre if "%ERRLEV%"=="1" goto :END @@ -77,22 +81,13 @@ if "%ERRLEV%"=="1" goto :END @copy %FB_ROOT_PATH%\builds\install\misc\firebird.conf %FB_BIN_DIR%\firebird.conf -:: Copy ICU and zlib both to Debug and Release configurations - -@call set_build_target.bat %* RELEASE +:: Copy ICU and zlib to the output directory @mkdir %FB_BIN_DIR% @copy %FB_ROOT_PATH%\extern\icu\icudt???.dat %FB_BIN_DIR% >nul 2>&1 @copy %FB_ICU_SOURCE_BIN%\*.dll %FB_BIN_DIR% >nul 2>&1 +@copy %FB_ROOT_PATH%\extern\icu\tzdata-extract\* %FB_OUTPUT_DIR%\tzdata >nul 2>&1 @copy %FB_ROOT_PATH%\extern\zlib\%FB_TARGET_PLATFORM%\*.dll %FB_BIN_DIR% >nul 2>&1 -@call set_build_target.bat %* DEBUG -@mkdir %FB_BIN_DIR% -@copy %FB_ROOT_PATH%\extern\icu\icudt???.dat %FB_BIN_DIR% >nul 2>&1 -@copy %FB_ICU_SOURCE_BIN%\*.dll %FB_BIN_DIR% >nul 2>&1 -@copy %FB_ROOT_PATH%\extern\zlib\%FB_TARGET_PLATFORM%\*.dll %FB_BIN_DIR% >nul 2>&1 - -@call set_build_target.bat %* - ::======= @call :databases @@ -233,15 +228,6 @@ goto :EOF if errorlevel 1 call :boot2 engine @goto :EOF -::=================== -:: BUILD gbak -:gbak -@echo. -@echo Building gbak (%FB_OBJ_DIR%)... -@call compile.bat builds\win32\%VS_VER%\Firebird gbak_%FB_TARGET_PLATFORM%.log EXEs\gbak -if errorlevel 1 call :boot2 gbak -@goto :EOF - ::=================== :: BUILD gpre :gpre @@ -296,6 +282,10 @@ goto :EOF @"%FB_BIN_DIR%\isql" -q %FB_GEN_DB_DIR%/dbs/security5.fdb -i %FB_ROOT_PATH%\src\dbs\security.sql @copy %FB_GEN_DIR%\dbs\security5.fdb %FB_GEN_DIR%\dbs\security.fdb > nul +@echo Creating metadata.fdb... +@echo create database '%FB_GEN_DB_DIR%/dbs/metadata.fdb'; | "%FB_BIN_DIR%\isql" -q -sqldialect 1 +@copy %FB_GEN_DIR%\dbs\metadata.fdb %FB_GEN_DIR%\dbs\yachts.lnk > nul + @call create_msgs.bat db @goto :EOF diff --git a/builds/win32/make_examples.bat b/builds/win32/make_examples.bat index e2e20f86c89..e5e96b1c976 100644 --- a/builds/win32/make_examples.bat +++ b/builds/win32/make_examples.bat @@ -131,7 +131,6 @@ copy %FB_ROOT_PATH%\examples\package\* %FB_OUTPUT_DIR%\examples\package > nul copy %FB_ROOT_PATH%\examples\stat\* %FB_OUTPUT_DIR%\examples\stat > nul copy %FB_ROOT_PATH%\examples\udf\* %FB_OUTPUT_DIR%\examples\udf > nul copy %FB_ROOT_PATH%\examples\udr\* %FB_OUTPUT_DIR%\examples\udr > nul -copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\plugins\udr\*.dll %FB_OUTPUT_DIR%\plugins\udr >nul copy %FB_ROOT_PATH%\examples\prebuilt\%FB_OBJ_DIR%\bin\*.exe %FB_OUTPUT_DIR%\examples\prebuilt\bin > nul copy %FB_ROOT_PATH%\examples\prebuilt\%FB_OBJ_DIR%\plugins\*.dll %FB_OUTPUT_DIR%\examples\prebuilt\plugins > nul diff --git a/builds/win32/make_icu.bat b/builds/win32/make_icu.bat index 2f9f610b7d7..e8494b69658 100644 --- a/builds/win32/make_icu.bat +++ b/builds/win32/make_icu.bat @@ -14,8 +14,8 @@ if errorlevel 1 call :ERROR build failed - see make_icu_%FB_TARGET_PLATFORM%.log for details @echo Extracting tzdata -mkdir %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\tzdata -unzip -o %FB_ROOT_PATH%\extern\icu\tzdata\le.zip -d %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\tzdata +mkdir %FB_OUTPUT_DIR%\tzdata +unzip -o %FB_ROOT_PATH%\extern\icu\tzdata\le.zip -d %FB_ROOT_PATH%\extern\icu\tzdata-extract @goto :EOF diff --git a/builds/win32/msvc15/chacha.vcxproj b/builds/win32/msvc15/chacha.vcxproj index 976f851c2e9..13a415efc3a 100644 --- a/builds/win32/msvc15/chacha.vcxproj +++ b/builds/win32/msvc15/chacha.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ diff --git a/builds/win32/msvc15/common_test.vcxproj b/builds/win32/msvc15/common_test.vcxproj index ee0766f8835..775335ad5ab 100644 --- a/builds/win32/msvc15/common_test.vcxproj +++ b/builds/win32/msvc15/common_test.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ @@ -206,4 +206,4 @@ - \ No newline at end of file + diff --git a/builds/win32/msvc15/engine.vcxproj b/builds/win32/msvc15/engine.vcxproj index 029028aef29..4385dffa95d 100644 --- a/builds/win32/msvc15/engine.vcxproj +++ b/builds/win32/msvc15/engine.vcxproj @@ -151,10 +151,10 @@ engine13 engine13 engine13 - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ true diff --git a/builds/win32/msvc15/engine_test.vcxproj b/builds/win32/msvc15/engine_test.vcxproj index ce6642d2ec6..5a07b67559e 100644 --- a/builds/win32/msvc15/engine_test.vcxproj +++ b/builds/win32/msvc15/engine_test.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ @@ -237,4 +237,4 @@ - \ No newline at end of file + diff --git a/builds/win32/msvc15/fb_lock_print.vcxproj b/builds/win32/msvc15/fb_lock_print.vcxproj index 4a67d26247b..223bcae116a 100644 --- a/builds/win32/msvc15/fb_lock_print.vcxproj +++ b/builds/win32/msvc15/fb_lock_print.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/fbguard.vcxproj b/builds/win32/msvc15/fbguard.vcxproj index a6c392774f4..84701b8722b 100644 --- a/builds/win32/msvc15/fbguard.vcxproj +++ b/builds/win32/msvc15/fbguard.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/fbrmclib.vcxproj b/builds/win32/msvc15/fbrmclib.vcxproj index fb9c76449cb..dc4ad8357fd 100644 --- a/builds/win32/msvc15/fbrmclib.vcxproj +++ b/builds/win32/msvc15/fbrmclib.vcxproj @@ -59,10 +59,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\bin\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\bin\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\bin\ + ..\..\..\output_$(PlatformName)\bin\ diff --git a/builds/win32/msvc15/fbserver.vcxproj b/builds/win32/msvc15/fbserver.vcxproj index 51cdba3a057..cec2190b178 100644 --- a/builds/win32/msvc15/fbserver.vcxproj +++ b/builds/win32/msvc15/fbserver.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ firebird firebird firebird diff --git a/builds/win32/msvc15/fbsvcmgr.vcxproj b/builds/win32/msvc15/fbsvcmgr.vcxproj index f0359b09963..d6cf7122e29 100644 --- a/builds/win32/msvc15/fbsvcmgr.vcxproj +++ b/builds/win32/msvc15/fbsvcmgr.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/fbtrace.vcxproj b/builds/win32/msvc15/fbtrace.vcxproj index b47e95904fe..532c33859a6 100644 --- a/builds/win32/msvc15/fbtrace.vcxproj +++ b/builds/win32/msvc15/fbtrace.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ diff --git a/builds/win32/msvc15/fbtracemgr.vcxproj b/builds/win32/msvc15/fbtracemgr.vcxproj index 9ee22a6ec3c..f341d954334 100644 --- a/builds/win32/msvc15/fbtracemgr.vcxproj +++ b/builds/win32/msvc15/fbtracemgr.vcxproj @@ -105,10 +105,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/gbak.vcxproj b/builds/win32/msvc15/gbak.vcxproj index 2ac340738db..74e3b98c43a 100644 --- a/builds/win32/msvc15/gbak.vcxproj +++ b/builds/win32/msvc15/gbak.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/gfix.vcxproj b/builds/win32/msvc15/gfix.vcxproj index 1ccf23fee2d..e48788f7266 100644 --- a/builds/win32/msvc15/gfix.vcxproj +++ b/builds/win32/msvc15/gfix.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/gpre.vcxproj b/builds/win32/msvc15/gpre.vcxproj index 1b6c19fb421..6f9c91677b5 100644 --- a/builds/win32/msvc15/gpre.vcxproj +++ b/builds/win32/msvc15/gpre.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/gsec.vcxproj b/builds/win32/msvc15/gsec.vcxproj index 1d647ba359a..c933a7c9a50 100644 --- a/builds/win32/msvc15/gsec.vcxproj +++ b/builds/win32/msvc15/gsec.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/gsplit.vcxproj b/builds/win32/msvc15/gsplit.vcxproj index 56849087c09..8abed21f152 100644 --- a/builds/win32/msvc15/gsplit.vcxproj +++ b/builds/win32/msvc15/gsplit.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/gstat.vcxproj b/builds/win32/msvc15/gstat.vcxproj index 82322a05d9e..2327df541ac 100644 --- a/builds/win32/msvc15/gstat.vcxproj +++ b/builds/win32/msvc15/gstat.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/ib_util.vcxproj b/builds/win32/msvc15/ib_util.vcxproj index 37f38a2a9c5..0e8156c85a1 100644 --- a/builds/win32/msvc15/ib_util.vcxproj +++ b/builds/win32/msvc15/ib_util.vcxproj @@ -107,10 +107,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ @@ -132,6 +132,7 @@ Windows + $(OutDir)\lib\$(TargetName)_ms.lib @@ -155,6 +156,7 @@ MachineX64 Windows + $(OutDir)\lib\$(TargetName)_ms.lib @@ -175,6 +177,7 @@ Windows + $(OutDir)\lib\$(TargetName)_ms.lib @@ -195,6 +198,7 @@ MachineX64 Windows + $(OutDir)\lib\$(TargetName)_ms.lib diff --git a/builds/win32/msvc15/instclient.vcxproj b/builds/win32/msvc15/instclient.vcxproj index 56a56073f01..0350a7260d3 100644 --- a/builds/win32/msvc15/instclient.vcxproj +++ b/builds/win32/msvc15/instclient.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/instreg.vcxproj b/builds/win32/msvc15/instreg.vcxproj index c94037af44b..b67b1fe6da9 100644 --- a/builds/win32/msvc15/instreg.vcxproj +++ b/builds/win32/msvc15/instreg.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/instsvc.vcxproj b/builds/win32/msvc15/instsvc.vcxproj index 58091aeb622..dc6be2cfc8a 100644 --- a/builds/win32/msvc15/instsvc.vcxproj +++ b/builds/win32/msvc15/instsvc.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/intl.vcxproj b/builds/win32/msvc15/intl.vcxproj index 9ac780a85a2..a37f37291f7 100644 --- a/builds/win32/msvc15/intl.vcxproj +++ b/builds/win32/msvc15/intl.vcxproj @@ -107,10 +107,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\intl\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\intl\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\intl\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\intl\ + ..\..\..\output_$(PlatformName)\intl\ + ..\..\..\output_$(PlatformName)\intl\ + ..\..\..\output_$(PlatformName)\intl\ + ..\..\..\output_$(PlatformName)\intl\ fbintl fbintl fbintl @@ -132,7 +132,6 @@ comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies) - ..\..\..\temp\$(Platform)\$(Configuration)\firebird\$(ProjectName)\fb$(ProjectName).dll ../../../extern/icu/$(Platform)/$(Configuration)/lib;%(AdditionalLibraryDirectories) false @@ -156,7 +155,6 @@ comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies) - ..\..\..\temp\$(Platform)\$(Configuration)\firebird\$(ProjectName)\fb$(ProjectName).dll ../../../extern/icu/$(Platform)/$(Configuration)/lib;%(AdditionalLibraryDirectories) false @@ -179,7 +177,6 @@ comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies) - ..\..\..\temp\$(Platform)\$(Configuration)\firebird\$(ProjectName)\fb$(ProjectName).dll ../../../extern/icu/$(Platform)/release/lib;%(AdditionalLibraryDirectories) false @@ -200,7 +197,6 @@ comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies) - ..\..\..\temp\$(Platform)\$(Configuration)\firebird\$(ProjectName)\fb$(ProjectName).dll ../../../extern/icu/$(Platform)/release/lib;%(AdditionalLibraryDirectories) false diff --git a/builds/win32/msvc15/isql.vcxproj b/builds/win32/msvc15/isql.vcxproj index 7d7669cbf78..b22e52bfb7c 100644 --- a/builds/win32/msvc15/isql.vcxproj +++ b/builds/win32/msvc15/isql.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/legacy_auth.vcxproj b/builds/win32/msvc15/legacy_auth.vcxproj index 42a96026296..4659e95b4b0 100644 --- a/builds/win32/msvc15/legacy_auth.vcxproj +++ b/builds/win32/msvc15/legacy_auth.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ diff --git a/builds/win32/msvc15/legacy_usermanager.vcxproj b/builds/win32/msvc15/legacy_usermanager.vcxproj index 2eecaaff5a7..c53a39f41c0 100644 --- a/builds/win32/msvc15/legacy_usermanager.vcxproj +++ b/builds/win32/msvc15/legacy_usermanager.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ diff --git a/builds/win32/msvc15/nbackup.vcxproj b/builds/win32/msvc15/nbackup.vcxproj index 8d1ccd99701..6d935aca3e3 100644 --- a/builds/win32/msvc15/nbackup.vcxproj +++ b/builds/win32/msvc15/nbackup.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ diff --git a/builds/win32/msvc15/srp.vcxproj b/builds/win32/msvc15/srp.vcxproj index 665f9bdd2c1..bf0567bc444 100644 --- a/builds/win32/msvc15/srp.vcxproj +++ b/builds/win32/msvc15/srp.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ diff --git a/builds/win32/msvc15/udf_compat.vcxproj b/builds/win32/msvc15/udf_compat.vcxproj index 445a0583b15..60eb38b62c1 100644 --- a/builds/win32/msvc15/udf_compat.vcxproj +++ b/builds/win32/msvc15/udf_compat.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\ + ..\..\..\output_$(PlatformName)\plugins\udr\ + ..\..\..\output_$(PlatformName)\plugins\udr\ + ..\..\..\output_$(PlatformName)\plugins\udr\ + ..\..\..\output_$(PlatformName)\plugins\udr\ true diff --git a/builds/win32/msvc15/udr_engine.vcxproj b/builds/win32/msvc15/udr_engine.vcxproj index 7ecaa80407c..f8a6c378b5c 100644 --- a/builds/win32/msvc15/udr_engine.vcxproj +++ b/builds/win32/msvc15/udr_engine.vcxproj @@ -107,10 +107,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)\plugins\ @@ -125,7 +125,6 @@ comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies) - ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\$(ProjectName).dll ..\defs\plugin.def false @@ -145,7 +144,6 @@ comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies) - ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\$(ProjectName).dll ..\defs\plugin.def false @@ -169,7 +167,6 @@ comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies) - ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\$(ProjectName).dll ..\defs\plugin.def false @@ -192,7 +189,6 @@ comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies) - ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\$(ProjectName).dll ..\defs\plugin.def false diff --git a/builds/win32/msvc15/udrcpp_example.vcxproj b/builds/win32/msvc15/udrcpp_example.vcxproj index 83326c59d65..c448ff193cb 100644 --- a/builds/win32/msvc15/udrcpp_example.vcxproj +++ b/builds/win32/msvc15/udrcpp_example.vcxproj @@ -109,16 +109,16 @@ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\ + ..\..\..\output_$(PlatformName)\plugins\udr\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\ + ..\..\..\output_$(PlatformName)\plugins\udr\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\ + ..\..\..\output_$(PlatformName)\plugins\udr\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\ + ..\..\..\output_$(PlatformName)\plugins\udr\ @@ -133,7 +133,7 @@ comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies) - ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\udr\$(ProjectName).dll + $(OutDir)$(TargetName)$(TargetExt) false @@ -154,7 +154,7 @@ comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies) - ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\udr\$(ProjectName).dll + $(OutDir)$(TargetName)$(TargetExt) false @@ -179,7 +179,7 @@ comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies) - ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\udr\$(ProjectName).dll + $(OutDir)$(TargetName)$(TargetExt) false @@ -203,7 +203,7 @@ comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies) - ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\udr\$(ProjectName).dll + $(OutDir)$(TargetName)$(TargetExt) false diff --git a/builds/win32/msvc15/yvalve.vcxproj b/builds/win32/msvc15/yvalve.vcxproj index b73b2889c72..8ba5a117e9f 100644 --- a/builds/win32/msvc15/yvalve.vcxproj +++ b/builds/win32/msvc15/yvalve.vcxproj @@ -171,10 +171,10 @@ fbclient fbclient fbclient - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)\ true @@ -189,6 +189,7 @@ ..\defs\firebird.def ws2_32.lib;mpr.lib;%(AdditionalDependencies) Windows + $(OutDir)\lib\$(TargetName)_ms.lib @@ -203,6 +204,7 @@ ..\defs\firebird.def ws2_32.lib;mpr.lib;%(AdditionalDependencies) Windows + $(OutDir)\lib\$(TargetName)_ms.lib @@ -220,6 +222,7 @@ ..\defs\firebird.def ws2_32.lib;mpr.lib;%(AdditionalDependencies) Windows + $(OutDir)\lib\$(TargetName)_ms.lib @@ -236,6 +239,7 @@ ..\defs\firebird.def ws2_32.lib;mpr.lib;%(AdditionalDependencies) Windows + $(OutDir)\lib\$(TargetName)_ms.lib diff --git a/builds/win32/preprocess.bat b/builds/win32/preprocess.bat index ec1c46f2cd2..49293d65fdf 100644 --- a/builds/win32/preprocess.bat +++ b/builds/win32/preprocess.bat @@ -54,12 +54,12 @@ goto :EOF ::=========== :BOOT_PROCESS @echo. -@set GPRE=%FB_BIN_DIR%\gpre_boot -lang_internal +@set GPRE=%FB_BOOT_BIN_DIR%\gpre_boot -lang_internal @for %%i in (backup, restore, OdsDetection) do @call :PREPROCESS burp %%i -ocxx -m @for %%i in (extract, isql, show) do @call :PREPROCESS isql %%i -ocxx @for %%i in (dba) do @call :PREPROCESS utilities/gstat %%i -@set GPRE=%FB_BIN_DIR%\gpre_boot +@set GPRE=%FB_BOOT_BIN_DIR%\gpre_boot @for %%i in (alice_meta) do @call :PREPROCESS alice %%i @for %%i in (array, blob) do @call :PREPROCESS yvalve %%i @for %%i in (metd, DdlNodes, PackageNodes) do @call :PREPROCESS dsql %%i -gds_cxx diff --git a/builds/win32/set_build_target.bat b/builds/win32/set_build_target.bat index ba27fac14fe..35889ff625d 100644 --- a/builds/win32/set_build_target.bat +++ b/builds/win32/set_build_target.bat @@ -12,7 +12,8 @@ for %%v in ( %* ) do ( ) set FB_OBJ_DIR=%FB_TARGET_PLATFORM%\%FB_CONFIG% -set FB_BIN_DIR=%FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\ +set FB_BOOT_BIN_DIR=%FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird +set FB_BIN_DIR=%FB_ROOT_PATH%\output_%FB_TARGET_PLATFORM% @echo Executed %0 @echo. diff --git a/examples/dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj b/examples/dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj index e5007f05b31..9bb2f63f9c5 100644 --- a/examples/dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj +++ b/examples/dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj @@ -110,8 +110,8 @@ Console - ..\..\..\temp\$(Platform)\$(Configuration)\yvalve\ - fbclient.lib;%(AdditionalDependencies) + ..\..\..\output_$(Platform)\lib\ + fbclient_ms.lib;%(AdditionalDependencies) @@ -125,8 +125,8 @@ Console - ..\..\..\temp\$(Platform)\$(Configuration)\yvalve\ - fbclient.lib;%(AdditionalDependencies) + ..\..\..\output_$(Platform)\lib\ + fbclient_ms.lib;%(AdditionalDependencies) @@ -144,8 +144,8 @@ Console true true - ..\..\..\temp\$(Platform)\$(Configuration)\yvalve\ - fbclient.lib;%(AdditionalDependencies) + ..\..\..\output_$(Platform)\lib\ + fbclient_ms.lib;%(AdditionalDependencies) @@ -163,8 +163,8 @@ Console true true - ..\..\..\temp\$(Platform)\$(Configuration)\yvalve\ - fbclient.lib;%(AdditionalDependencies) + ..\..\..\output_$(Platform)\lib\ + fbclient_ms.lib;%(AdditionalDependencies) diff --git a/extern/icu/.gitignore b/extern/icu/.gitignore index fe570806bb7..1b2dd8dd914 100644 --- a/extern/icu/.gitignore +++ b/extern/icu/.gitignore @@ -3,6 +3,7 @@ include/ lib/ Win32/ x64/ +tzdata-extract/ icudt63l.dat icudt63l_empty.dat license.html From 33b4f5b53d53ff6d70ec063d6f5e5258cb281cb4 Mon Sep 17 00:00:00 2001 From: Adriano dos Santos Fernandes Date: Sun, 7 Aug 2022 21:14:52 -0300 Subject: [PATCH 3/8] Create and save Windows installer in GitHub actions. --- .github/workflows/main.yml | 30 ++++++++++++++++----- builds/docker/windows/Dockerfile | 4 +-- builds/docker/windows/run.bat | 2 +- builds/docker/windows/scripts/build-x64.bat | 2 +- builds/docker/windows/scripts/build-x86.bat | 2 +- 5 files changed, 29 insertions(+), 11 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c2c28ef9881..603cac98987 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -212,6 +212,8 @@ jobs: shell: cmd run: | for /r %%i in (*.bat) do unix2dos "%%i" + choco uninstall --no-progress --yes innosetup + choco install --no-progress --yes innosetup --version=6.1.2 - name: Build (Windows) if: startsWith(matrix.os, 'windows-') && !matrix.docker @@ -220,6 +222,8 @@ jobs: PLATFORM: ${{ matrix.platform }} VS_SCRIPT: ${{ matrix.os == 'windows-2022' && 'C:\Program Files\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' || 'C:\Program Files (x86)\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' }} run: | + set SEVENZIP=C:\Program Files\7-Zip + set INNO6_SETUP_PATH=C:\Program Files (x86)\Inno Setup 6 if "%PLATFORM%" == "x64" set FB_VS_ARCH=amd64 if "%PLATFORM%" == "x64" set FB_PROCESSOR_ARCHITECTURE=AMD64 if "%PLATFORM%" == "x64" set FB_OUTPUT_SUFFIX=x64 @@ -228,7 +232,7 @@ jobs: if "%PLATFORM%" == "x86" set FB_OUTPUT_SUFFIX=win32 call "%VS_SCRIPT%" -arch=%FB_VS_ARCH% cd builds\win32 - call run_all.bat JUSTBUILD + call run_all.bat call run_tests.bat ren %FB_OUTPUT_DIR% output @@ -238,7 +242,7 @@ jobs: env: PLATFORM: ${{ matrix.platform }} run: | - mkdir output + mkdir builds\install_images cd builds\docker\windows call build.bat call run.bat C:\fbscripts\build-%PLATFORM%.bat @@ -279,16 +283,30 @@ jobs: del output\lib\*.exp /s del output\*.log /s - - name: Upload (Windows) + - name: Upload zip (Windows) if: startsWith(matrix.os, 'windows-') && !matrix.docker uses: actions/upload-artifact@main with: - name: firebird-windows-vs-${{ env.VS_VERSION }}-x64 + name: firebird-windows-vs-${{ env.VS_VERSION }}-x64-zip path: output - - name: Upload (Windows, Docker) + - name: Upload zip (Windows, Docker) if: startsWith(matrix.os, 'windows-') && matrix.docker uses: actions/upload-artifact@main with: - name: firebird-windows-${{ matrix.platform }} + name: firebird-windows-${{ matrix.platform }}-zip path: output + + - name: Upload installer (Windows) + if: startsWith(matrix.os, 'windows-') && !matrix.docker + uses: actions/upload-artifact@main + with: + name: firebird-windows-vs-${{ env.VS_VERSION }}-x64-installer + path: builds/install_images/*.exe + + - name: Upload installer (Windows, Docker) + if: startsWith(matrix.os, 'windows-') && matrix.docker + uses: actions/upload-artifact@main + with: + name: firebird-windows-${{ matrix.platform }}-installer + path: builds/install_images/*.exe diff --git a/builds/docker/windows/Dockerfile b/builds/docker/windows/Dockerfile index 7067d9ba697..e8db1f753f4 100644 --- a/builds/docker/windows/Dockerfile +++ b/builds/docker/windows/Dockerfile @@ -44,7 +44,7 @@ RUN ` refreshenv && ` setx PATH "%PATH%;C:\Program Files\Git\usr\bin" -ENV SEVENZIP='"C:\Program Files\7-Zip"' -ENV INNO6_SETUP_PATH='"C:\Program Files (x86)\Inno Setup 6"' +ENV SEVENZIP='C:\Program Files\7-Zip' +ENV INNO6_SETUP_PATH='C:\Program Files (x86)\Inno Setup 6' COPY scripts\* C:\fbscripts\ diff --git a/builds/docker/windows/run.bat b/builds/docker/windows/run.bat index 0de8f7fd53f..049619abe7b 100644 --- a/builds/docker/windows/run.bat +++ b/builds/docker/windows/run.bat @@ -1,2 +1,2 @@ @echo off -docker run --rm -v %cd%\..\..\..:C:\firebird -v %cd%\..\..\..\output:C:\firebird-out asfernandes/firebird-builder:5 %1 +docker run --rm -v %cd%\..\..\..:C:\firebird -v %cd%\..\..\..\output:C:\firebird-out -v %cd%\..\..\..\builds\install_images:C:\firebird\builds\install_images asfernandes/firebird-builder:5 %1 diff --git a/builds/docker/windows/scripts/build-x64.bat b/builds/docker/windows/scripts/build-x64.bat index a759bfc3e02..a3307746d0e 100644 --- a/builds/docker/windows/scripts/build-x64.bat +++ b/builds/docker/windows/scripts/build-x64.bat @@ -9,7 +9,7 @@ xcopy /h /e /i /q C:\firebird C:\firebird-build cd /d C:\firebird-build\builds\win32 REM call run_all.bat -call run_all.bat JUSTBUILD +call run_all.bat call run_tests.bat diff --git a/builds/docker/windows/scripts/build-x86.bat b/builds/docker/windows/scripts/build-x86.bat index 4b601c2cf01..1ff68a63c83 100644 --- a/builds/docker/windows/scripts/build-x86.bat +++ b/builds/docker/windows/scripts/build-x86.bat @@ -9,7 +9,7 @@ xcopy /h /e /i /q C:\firebird C:\firebird-build cd /d C:\firebird-build\builds\win32 REM call run_all.bat -call run_all.bat JUSTBUILD +call run_all.bat call run_tests.bat From 0117da2839d894af729f6daa89f1e87bd5cc3e61 Mon Sep 17 00:00:00 2001 From: Adriano dos Santos Fernandes Date: Sun, 7 Aug 2022 21:14:52 -0300 Subject: [PATCH 4/8] Upload zip generated in builds/install_images in GitHub actions. --- .github/workflows/main.yml | 11 ++++------- builds/docker/windows/run.bat | 2 +- builds/docker/windows/scripts/build-x64.bat | 5 ++--- builds/docker/windows/scripts/build-x86.bat | 3 +-- 4 files changed, 8 insertions(+), 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 603cac98987..c0acca03022 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -234,7 +234,6 @@ jobs: cd builds\win32 call run_all.bat call run_tests.bat - ren %FB_OUTPUT_DIR% output - name: Build (Windows, Docker) if: startsWith(matrix.os, 'windows-') && matrix.docker @@ -275,19 +274,17 @@ jobs: name: firebird-macos path: gen/artifacts - - name: Clean output (Windows) + - name: Extract zip (Windows) if: startsWith(matrix.os, 'windows-') shell: cmd run: | - del output\*_test.exe /s - del output\lib\*.exp /s - del output\*.log /s + 7z x builds\install_images\*.zip -ooutput - name: Upload zip (Windows) if: startsWith(matrix.os, 'windows-') && !matrix.docker uses: actions/upload-artifact@main with: - name: firebird-windows-vs-${{ env.VS_VERSION }}-x64-zip + name: firebird-windows-vs-${{ env.VS_VERSION }}-${{ matrix.platform }}-zip path: output - name: Upload zip (Windows, Docker) @@ -301,7 +298,7 @@ jobs: if: startsWith(matrix.os, 'windows-') && !matrix.docker uses: actions/upload-artifact@main with: - name: firebird-windows-vs-${{ env.VS_VERSION }}-x64-installer + name: firebird-windows-vs-${{ env.VS_VERSION }}-${{ matrix.platform }}-installer path: builds/install_images/*.exe - name: Upload installer (Windows, Docker) diff --git a/builds/docker/windows/run.bat b/builds/docker/windows/run.bat index 049619abe7b..a567b487057 100644 --- a/builds/docker/windows/run.bat +++ b/builds/docker/windows/run.bat @@ -1,2 +1,2 @@ @echo off -docker run --rm -v %cd%\..\..\..:C:\firebird -v %cd%\..\..\..\output:C:\firebird-out -v %cd%\..\..\..\builds\install_images:C:\firebird\builds\install_images asfernandes/firebird-builder:5 %1 +docker run --rm -v %cd%\..\..\..:C:\firebird asfernandes/firebird-builder:5 %1 diff --git a/builds/docker/windows/scripts/build-x64.bat b/builds/docker/windows/scripts/build-x64.bat index a3307746d0e..0f290e78bb3 100644 --- a/builds/docker/windows/scripts/build-x64.bat +++ b/builds/docker/windows/scripts/build-x64.bat @@ -1,4 +1,4 @@ -REM FIXME @echo off +@echo off call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" -arch=amd64 @@ -8,9 +8,8 @@ set FB_OUTPUT_SUFFIX=x64 xcopy /h /e /i /q C:\firebird C:\firebird-build cd /d C:\firebird-build\builds\win32 -REM call run_all.bat call run_all.bat call run_tests.bat -xcopy /h /e /i /q C:\firebird-build\output_%FB_OUTPUT_SUFFIX%\* C:\firebird-out +copy C:\firebird-build\builds\install_images\* C:\firebird\builds\install_images diff --git a/builds/docker/windows/scripts/build-x86.bat b/builds/docker/windows/scripts/build-x86.bat index 1ff68a63c83..7adf156a88c 100644 --- a/builds/docker/windows/scripts/build-x86.bat +++ b/builds/docker/windows/scripts/build-x86.bat @@ -8,9 +8,8 @@ set FB_OUTPUT_SUFFIX=win32 xcopy /h /e /i /q C:\firebird C:\firebird-build cd /d C:\firebird-build\builds\win32 -REM call run_all.bat call run_all.bat call run_tests.bat -xcopy /h /e /i /q C:\firebird-build\output_%FB_OUTPUT_SUFFIX%\* C:\firebird-out +copy C:\firebird-build\builds\install_images\* C:\firebird\builds\install_images From 780085554e97392c1ebdb2c15f757aef6c172703 Mon Sep 17 00:00:00 2001 From: Adriano dos Santos Fernandes Date: Sun, 7 Aug 2022 21:14:53 -0300 Subject: [PATCH 5/8] Improve Windows build speed not building both release and debug external libraries. --- builds/win32/make_boot.bat | 36 ++++++------------------------------ 1 file changed, 6 insertions(+), 30 deletions(-) diff --git a/builds/win32/make_boot.bat b/builds/win32/make_boot.bat index 8b05c9705f8..8c7789a0abb 100644 --- a/builds/win32/make_boot.bat +++ b/builds/win32/make_boot.bat @@ -88,7 +88,6 @@ if "%ERRLEV%"=="1" goto :END @copy %FB_ROOT_PATH%\extern\icu\tzdata-extract\* %FB_OUTPUT_DIR%\tzdata >nul 2>&1 @copy %FB_ROOT_PATH%\extern\zlib\%FB_TARGET_PLATFORM%\*.dll %FB_BIN_DIR% >nul 2>&1 - ::======= @call :databases @@ -119,59 +118,37 @@ goto :EOF ::=================== :: BUILD LibTom -:: NS: Note we need both debug and non-debug version as it is a static library linked to CRT -:: and linking executable with both debug and non-debug CRT results in undefined behavior :LibTom @echo. -@call set_build_target.bat %* RELEASE -@echo Building LibTomMath (%FB_OBJ_DIR%)... -@call compile.bat extern\libtommath\libtommath_MSVC%MSVC_VERSION% libtommath_%FB_CONFIG%_%FB_TARGET_PLATFORM%.log libtommath -if errorlevel 1 call :boot2 libtommath_%FB_OBJ_DIR% -@echo Building LibTomCrypt (%FB_OBJ_DIR%)... -@call compile.bat extern\libtomcrypt\libtomcrypt_MSVC%MSVC_VERSION% libtomcrypt_%FB_CONFIG%_%FB_TARGET_PLATFORM%.log libtomcrypt -if errorlevel 1 call :boot2 libtomcrypt_%FB_OBJ_DIR% - -@call set_build_target.bat %* DEBUG @echo Building LibTomMath (%FB_OBJ_DIR%)... @call compile.bat extern\libtommath\libtommath_MSVC%MSVC_VERSION% libtommath_%FB_CONFIG%_%FB_TARGET_PLATFORM%.log libtommath if errorlevel 1 call :boot2 libtommath_%FB_OBJ_DIR% @echo Building LibTomCrypt (%FB_OBJ_DIR%)... @call compile.bat extern\libtomcrypt\libtomcrypt_MSVC%MSVC_VERSION% libtomcrypt_%FB_CONFIG%_%FB_TARGET_PLATFORM%.log libtomcrypt if errorlevel 1 call :boot2 libtomcrypt_%FB_OBJ_DIR% - -@call set_build_target.bat %* goto :EOF ::=================== :: BUILD decNumber :decNumber @echo. -@call set_build_target.bat %* RELEASE @echo Building decNumber (%FB_OBJ_DIR%)... @call compile.bat extern\decNumber\msvc\decNumber_MSVC%MSVC_VERSION% decNumber_%FB_CONFIG%_%FB_TARGET_PLATFORM%.log decNumber if errorlevel 1 call :boot2 decNumber_%FB_OBJ_DIR% -@call set_build_target.bat %* DEBUG -@echo Building decNumber (%FB_OBJ_DIR%)... -@call compile.bat extern\decNumber\msvc\decNumber_MSVC%MSVC_VERSION% decNumber_%FB_CONFIG%_%FB_TARGET_PLATFORM%.log decNumber -if errorlevel 1 call :boot2 decNumber_%FB_OBJ_DIR% -@call set_build_target.bat %* goto :EOF ::=================== :: BUILD ttmath :ttmath @echo. -@call set_build_target.bat %* RELEASE -@echo Building ttmath (%FB_OBJ_DIR%)... -@mkdir %FB_TEMP_DIR%\..\%FB_OBJ_DIR%\common 2>nul -@ml64.exe /c /Fo %FB_TEMP_DIR%\..\%FB_OBJ_DIR%\common\ttmathuint_x86_64_msvc.obj %FB_ROOT_PATH%\extern\ttmath\ttmathuint_x86_64_msvc.asm -if errorlevel 1 call :boot2 ttmath_%FB_OBJ_DIR% -@call set_build_target.bat %* DEBUG @echo Building ttmath (%FB_OBJ_DIR%)... @mkdir %FB_TEMP_DIR%\..\%FB_OBJ_DIR%\common 2>nul -@ml64.exe /c /Zi /Fo %FB_TEMP_DIR%\..\%FB_OBJ_DIR%\common\ttmathuint_x86_64_msvc.obj %FB_ROOT_PATH%\extern\ttmath\ttmathuint_x86_64_msvc.asm +if /I "%FB_CONFIG%"=="debug" ( + @ml64.exe /c /Zi /Fo %FB_TEMP_DIR%\..\%FB_OBJ_DIR%\common\ttmathuint_x86_64_msvc.obj %FB_ROOT_PATH%\extern\ttmath\ttmathuint_x86_64_msvc.asm +) else ( + @ml64.exe /c /Fo %FB_TEMP_DIR%\..\%FB_OBJ_DIR%\common\ttmathuint_x86_64_msvc.obj %FB_ROOT_PATH%\extern\ttmath\ttmathuint_x86_64_msvc.asm +) if errorlevel 1 call :boot2 ttmath_%FB_OBJ_DIR% -@call set_build_target.bat %* goto :EOF ::=================== @@ -183,8 +160,7 @@ goto :EOF @pushd %FB_ROOT_PATH%\extern\re2\builds\%FB_TARGET_PLATFORM% @cmake -G "%MSVC_CMAKE_GENERATOR%" -A %FB_TARGET_PLATFORM% -S %FB_ROOT_PATH%\extern\re2 if errorlevel 1 call :boot2 re2 -@cmake --build %FB_ROOT_PATH%\extern\re2\builds\%FB_TARGET_PLATFORM% --target ALL_BUILD --config Release > re2_Release_%FB_TARGET_PLATFORM%.log -@cmake --build %FB_ROOT_PATH%\extern\re2\builds\%FB_TARGET_PLATFORM% --target ALL_BUILD --config Debug > re2_Debug_%FB_TARGET_PLATFORM%.log +@cmake --build %FB_ROOT_PATH%\extern\re2\builds\%FB_TARGET_PLATFORM% --target ALL_BUILD --config %FBBUILD_BUILDTYPE% > re2_%FBBUILD_BUILDTYPE%_%FB_TARGET_PLATFORM%.log @popd goto :EOF From b14df5ce19f4089e74c91299ee593bfab2e8198f Mon Sep 17 00:00:00 2001 From: Adriano dos Santos Fernandes Date: Sun, 7 Aug 2022 21:14:53 -0300 Subject: [PATCH 6/8] Refactor GitHub Actions using independent jobs instead of multiple conditional steps. --- .github/workflows/main.yml | 603 +++++++++++++++++++------------------ 1 file changed, 311 insertions(+), 292 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c0acca03022..d0e416f186e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,9 +3,101 @@ name: CI on: [push, pull_request] jobs: - build: + + build-linux-ubuntu-x64-clang: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v1 + with: + fetch-depth: 10 + + - name: Prepare + run: | + sudo apt-get install libtool-bin libtomcrypt1 libtomcrypt-dev libtommath1 libtommath-dev libicu-dev zlib1g-dev + + - name: Build + run: | + CC=clang CXX=clang++ ./autogen.sh --enable-binreloc --prefix=/opt/firebird + make -j4 + make tests -j4 + make run_tests + make dist + tar xzvf gen/Firebird-[0-9]*.tar.gz + (cd Firebird-[0-9]*; sudo ./install.sh -silent) + + - name: Upload + uses: actions/upload-artifact@main + with: + name: firebird-ubuntu-20.04-clang-x64 + path: gen/Firebird-*.tar.gz + + build-linux-docker-x64: + runs-on: ubuntu-20.04 + container: asfernandes/firebird-builder:x86_64-5 + + steps: + - uses: actions/checkout@v1 + with: + fetch-depth: 10 + + - name: Build + run: /entry.sh + + - name: Upload + uses: actions/upload-artifact@main + with: + name: firebird-linux-x64 + path: gen/Firebird-*.tar.gz + + build-linux-docker-x86: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v1 + with: + fetch-depth: 10 + + - name: Build + run: | + cd builds/docker/linux/i586-x86_64 + ./run-i586.sh + + - name: Upload + uses: actions/upload-artifact@main + with: + name: firebird-linux-x86 + path: gen/Firebird-*.tar.gz + + build-alpine-x64: + runs-on: ubuntu-20.04 + container: alpine:3.14 + + steps: + - uses: actions/checkout@v1 + with: + fetch-depth: 10 + + - name: Prepare + run: apk update && apk --no-cache --update add build-base libtool git autoconf automake zlib-dev icu-dev ncurses-dev libedit-dev linux-headers tar + + - name: Build + run: | + ./autogen.sh --enable-binreloc-threads --with-builtin-tommath --with-builtin-tomcrypt --prefix=/opt/firebird + make -j4 + make tests -j4 + make run_tests + make dist + tar xzvf gen/Firebird-[0-9]*.tar.gz + + - name: Upload + uses: actions/upload-artifact@main + with: + name: firebird-alpine-x64 + path: gen/Firebird-*.tar.gz + + build-windows: runs-on: ${{ matrix.os }} - container: ${{ matrix.container }} env: VS_VERSION: ${{ (matrix.os == 'windows-2019' && '2019' || (matrix.os == 'windows-2022' && '2022' || '')) }} @@ -13,297 +105,224 @@ jobs: fail-fast: false matrix: os: + - windows-2022 - windows-2019 platform: [x64, x86] - include: - - os: ubuntu-18.04 - platform: x64 - container: alpine:3.14 - - os: ubuntu-20.04 - platform: x64 - compiler: clang - - os: ubuntu-20.04 - platform: x64 - container: asfernandes/firebird-builder:x86_64-5 - - os: ubuntu-20.04 - platform: x86 - # This build is failing at actions/upload-artifact when using the "container" way. - #container: asfernandes/firebird-builder:i586-5 - docker: "docker" - - os: windows-2022 - platform: x64 - docker: "docker" - - os: windows-2022 - platform: x86 - docker: "docker" - - os: windows-2022 - platform: x64 - - os: windows-2022 - platform: x86 - - os: macOS-latest - platform: x64 steps: - - uses: actions/checkout@v1 - with: - fetch-depth: 10 - - - name: Prepare (Ubuntu) - if: startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker - run: | - sudo apt-get install libtool-bin libtomcrypt1 libtomcrypt-dev libtommath1 libtommath-dev libicu-dev zlib1g-dev - - - name: Build (Ubuntu) - if: startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker - run: | - CC=clang CXX=clang++ ./autogen.sh --enable-binreloc --prefix=/opt/firebird - make -j4 - make tests -j4 - make run_tests - make dist - tar xzvf gen/Firebird-[0-9]*.tar.gz - (cd Firebird-[0-9]*; sudo ./install.sh -silent) - - - name: Build (Linux, Docker) - if: startsWith(matrix.container, 'asfernandes/firebird-builder') - run: /entry.sh - - # asfernandes/firebird-builder:i586-5 - - name: Build (Linux, Docker) - if: startsWith(matrix.os, 'ubuntu-') && matrix.docker - run: | - cd builds/docker/linux/i586-x86_64 - ./run-i586.sh - - - name: Prepare (Linux, Alpine) - if: startsWith(matrix.container, 'alpine') - run: apk update && apk --no-cache --update add build-base libtool git autoconf automake zlib-dev icu-dev ncurses-dev libedit-dev linux-headers tar - - - name: Build (Linux, Alpine) - if: startsWith(matrix.container, 'alpine') - run: | - ./autogen.sh --enable-binreloc-threads --with-builtin-tommath --with-builtin-tomcrypt --prefix=/opt/firebird - make -j4 - make tests -j4 - make run_tests - make dist - tar xzvf gen/Firebird-[0-9]*.tar.gz - - - name: Prepare - Install tools (MacOS) - if: matrix.os == 'macOS-latest' - run: | - brew install automake libtool ninja - - - name: Cache - libc++ install (MacOS) - id: cache-libcxx-install-macos - if: matrix.os == 'macOS-latest' - uses: actions/cache@v3 - with: - key: ${{ runner.os }}-libcxx-install-13.0.1 - path: | - extern/libcxx-macos-install - - - name: Download libc++ sources (MacOS) - if: matrix.os == 'macOS-latest' && steps.cache-libcxx-install-macos.outputs.cache-hit != 'true' - run: | - mkdir extern/libcxx-macos - pushd extern/libcxx-macos - curl -OL https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/llvm-project-13.0.1.src.tar.xz - tar xJf llvm-project-13.0.1.src.tar.xz - popd - - - name: Build libc++ (MacOS) - if: matrix.os == 'macOS-latest' && steps.cache-libcxx-install-macos.outputs.cache-hit != 'true' - run: | - LIBCXX_BUILD_PATH=`pwd`/extern/libcxx-macos-build - LIBCXX_INSTALL_PATH=`pwd`/extern/libcxx-macos-install - mkdir $LIBCXX_BUILD_PATH - pushd extern/libcxx-macos/llvm-project-13.0.1.src - export MACOSX_DEPLOYMENT_TARGET=10.9 - cmake -G Ninja -S llvm -B $LIBCXX_BUILD_PATH \ - -DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi" \ - -DCMAKE_INSTALL_PREFIX=$LIBCXX_INSTALL_PATH \ - -DCMAKE_BUILD_TYPE=Release \ - -DLIBCXX_ENABLE_SHARED=false \ - -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=true - ninja -C $LIBCXX_BUILD_PATH cxx cxxabi - ninja -C $LIBCXX_BUILD_PATH install-cxx install-cxxabi - popd - - - name: Cache - libicu install (MacOS) - id: cache-libicu-install-macos - if: matrix.os == 'macOS-latest' - uses: actions/cache@v3 - with: - key: ${{ runner.os }}-libicu-install-63.2 - path: | - extern/libicu-macos-install - - - name: Download and patch libicu sources (MacOS) - if: matrix.os == 'macOS-latest' && steps.cache-libicu-install-macos.outputs.cache-hit != 'true' - run: | - mkdir extern/libicu-macos - pushd extern/libicu-macos - curl -OL https://github.com/unicode-org/icu/releases/download/release-63-2/icu4c-63_2-src.tgz - curl -OL https://github.com/unicode-org/icu/commit/24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch - tar xzf icu4c-63_2-src.tgz - cd icu/source - patch -p3 < ../../24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch - popd - - - name: Build libicu (MacOS) - if: matrix.os == 'macOS-latest' && steps.cache-libicu-install-macos.outputs.cache-hit != 'true' - run: | - export LIBTOOLIZE=glibtoolize - export LIBTOOL=glibtool - - LIBICU_INSTALL_PATH=`pwd`/extern/libicu-macos-install - pushd extern/libicu-macos/icu/source - ./runConfigureICU MacOSX --prefix=$LIBICU_INSTALL_PATH - make -j4 - make install - install_name_tool -id @rpath/lib/libicuuc.dylib $LIBICU_INSTALL_PATH/lib/libicuuc.dylib - install_name_tool -id @rpath/lib/libicui18n.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.dylib - install_name_tool -id @rpath/lib/libicudata.dylib $LIBICU_INSTALL_PATH/lib/libicudata.dylib - install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $LIBICU_INSTALL_PATH/lib/libicuuc.63.dylib - install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.63.dylib - install_name_tool -change libicuuc.63.dylib @loader_path/libicuuc.63.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.63.dylib - popd - - - name: Build (MacOS) - if: matrix.os == 'macOS-latest' - run: | - export LIBTOOLIZE=glibtoolize - export LIBTOOL=glibtool - - LIBCXX_INSTALL_PATH=`pwd`/extern/libcxx-macos-install - LIBICU_INSTALL_PATH=`pwd`/extern/libicu-macos-install - - mkdir -p gen/Release/firebird/lib - cp -R $LIBICU_INSTALL_PATH/lib/libicu{data,i18n,uc}.*dylib gen/Release/firebird/lib/ - - export C_INCLUDE_PATH="$LIBICU_INSTALL_PATH/include:`xcrun --show-sdk-path`/usr/include" - export CPLUS_INCLUDE_PATH="$LIBCXX_INSTALL_PATH/include/c++/v1:$LIBICU_INSTALL_PATH/include:`xcrun --show-sdk-path`/usr/include" - export LIBRARY_PATH="$LIBCXX_INSTALL_PATH/lib:$LIBICU_INSTALL_PATH/lib:$LIBRARY_PATH" - - ./autogen.sh --with-builtin-tommath --with-builtin-tomcrypt - make -j4 - make tests -j4 - make run_tests - - (cd gen; make -B -f make.platform.postfix ICU_LOC="$LIBICU_INSTALL_PATH/lib/") - (cd gen; make -B -f Makefile.install) - - # Rename directory to make sure the build is relocatable. - mv gen gen2 - sudo installer -pkg gen2/Release/*.pkg -verbose -target / - - export FIREBIRD_LOCK=`pwd`/temp - echo "create database 't.fdb'; select '1' from rdb\$database; select _win1252 '2' from rdb\$database; select _utf8 '3' collate unicode from rdb\$database;" | /Library/Frameworks/Firebird.framework/Resources/bin/isql - - echo "create database 'localhost:/tmp/t.fdb' user sysdba password 'masterkey'; select '11' from rdb\$database; select _win1252 '22' from rdb\$database; select _utf8 '33' collate unicode from rdb\$database;" | /Library/Frameworks/Firebird.framework/Resources/bin/isql - - mv gen2 gen - mkdir gen/artifacts - mv gen/Release/*.pkg gen/artifacts - - - name: Prepare (Windows) - if: startsWith(matrix.os, 'windows-') - shell: cmd - run: | - for /r %%i in (*.bat) do unix2dos "%%i" - choco uninstall --no-progress --yes innosetup - choco install --no-progress --yes innosetup --version=6.1.2 - - - name: Build (Windows) - if: startsWith(matrix.os, 'windows-') && !matrix.docker - shell: cmd - env: - PLATFORM: ${{ matrix.platform }} - VS_SCRIPT: ${{ matrix.os == 'windows-2022' && 'C:\Program Files\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' || 'C:\Program Files (x86)\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' }} - run: | - set SEVENZIP=C:\Program Files\7-Zip - set INNO6_SETUP_PATH=C:\Program Files (x86)\Inno Setup 6 - if "%PLATFORM%" == "x64" set FB_VS_ARCH=amd64 - if "%PLATFORM%" == "x64" set FB_PROCESSOR_ARCHITECTURE=AMD64 - if "%PLATFORM%" == "x64" set FB_OUTPUT_SUFFIX=x64 - if "%PLATFORM%" == "x86" set FB_VS_ARCH=x86 - if "%PLATFORM%" == "x86" set FB_PROCESSOR_ARCHITECTURE=x86 - if "%PLATFORM%" == "x86" set FB_OUTPUT_SUFFIX=win32 - call "%VS_SCRIPT%" -arch=%FB_VS_ARCH% - cd builds\win32 - call run_all.bat - call run_tests.bat - - - name: Build (Windows, Docker) - if: startsWith(matrix.os, 'windows-') && matrix.docker - shell: cmd - env: - PLATFORM: ${{ matrix.platform }} - run: | - mkdir builds\install_images - cd builds\docker\windows - call build.bat - call run.bat C:\fbscripts\build-%PLATFORM%.bat - - - name: Upload (Ubuntu) - if: startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker - uses: actions/upload-artifact@main - with: - name: firebird-ubuntu-20.04-clang-${{ matrix.platform }} - path: gen/Firebird-*.tar.gz - - - name: Upload (Linux, Docker) - if: startsWith(matrix.container, 'asfernandes/firebird-builder') || (startsWith(matrix.os, 'ubuntu-') && matrix.docker) - uses: actions/upload-artifact@main - with: - name: firebird-linux-${{ matrix.platform }} - path: gen/Firebird-*.tar.gz - - - name: Upload (Linux, Alpine) - if: startsWith(matrix.container, 'alpine') - uses: actions/upload-artifact@main - with: - name: firebird-alpine-x64 - path: gen/Firebird-*.tar.gz - - - name: Upload (MacOS) - if: matrix.os == 'macOS-latest' - uses: actions/upload-artifact@main - with: - name: firebird-macos - path: gen/artifacts - - - name: Extract zip (Windows) - if: startsWith(matrix.os, 'windows-') - shell: cmd - run: | - 7z x builds\install_images\*.zip -ooutput - - - name: Upload zip (Windows) - if: startsWith(matrix.os, 'windows-') && !matrix.docker - uses: actions/upload-artifact@main - with: - name: firebird-windows-vs-${{ env.VS_VERSION }}-${{ matrix.platform }}-zip - path: output - - - name: Upload zip (Windows, Docker) - if: startsWith(matrix.os, 'windows-') && matrix.docker - uses: actions/upload-artifact@main - with: - name: firebird-windows-${{ matrix.platform }}-zip - path: output - - - name: Upload installer (Windows) - if: startsWith(matrix.os, 'windows-') && !matrix.docker - uses: actions/upload-artifact@main - with: - name: firebird-windows-vs-${{ env.VS_VERSION }}-${{ matrix.platform }}-installer - path: builds/install_images/*.exe - - - name: Upload installer (Windows, Docker) - if: startsWith(matrix.os, 'windows-') && matrix.docker - uses: actions/upload-artifact@main - with: - name: firebird-windows-${{ matrix.platform }}-installer - path: builds/install_images/*.exe + - uses: actions/checkout@v1 + with: + fetch-depth: 10 + + - name: Prepare + shell: cmd + run: | + for /r %%i in (*.bat) do unix2dos "%%i" + choco uninstall --no-progress --yes innosetup + choco install --no-progress --yes innosetup --version=6.1.2 + + - name: Build + shell: cmd + env: + PLATFORM: ${{ matrix.platform }} + VS_SCRIPT: ${{ matrix.os == 'windows-2022' && 'C:\Program Files\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' || 'C:\Program Files (x86)\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' }} + run: | + set SEVENZIP=C:\Program Files\7-Zip + set INNO6_SETUP_PATH=C:\Program Files (x86)\Inno Setup 6 + if "%PLATFORM%" == "x64" set FB_VS_ARCH=amd64 + if "%PLATFORM%" == "x64" set FB_PROCESSOR_ARCHITECTURE=AMD64 + if "%PLATFORM%" == "x64" set FB_OUTPUT_SUFFIX=x64 + if "%PLATFORM%" == "x86" set FB_VS_ARCH=x86 + if "%PLATFORM%" == "x86" set FB_PROCESSOR_ARCHITECTURE=x86 + if "%PLATFORM%" == "x86" set FB_OUTPUT_SUFFIX=win32 + call "%VS_SCRIPT%" -arch=%FB_VS_ARCH% + cd builds\win32 + call run_all.bat + call run_tests.bat + + - name: Extract zip + shell: cmd + run: | + 7z x builds\install_images\*.zip -ooutput + + - name: Upload zip + uses: actions/upload-artifact@main + with: + name: firebird-windows-vs-${{ env.VS_VERSION }}-${{ matrix.platform }}-zip + path: output + + - name: Upload installer + uses: actions/upload-artifact@main + with: + name: firebird-windows-vs-${{ env.VS_VERSION }}-${{ matrix.platform }}-installer + path: builds/install_images/*.exe + + build-windows-docker: + runs-on: windows-2022 + env: + VS_VERSION: ${{ (matrix.os == 'windows-2019' && '2019' || (matrix.os == 'windows-2022' && '2022' || '')) }} + + strategy: + fail-fast: false + matrix: + platform: [x64, x86] + + steps: + - uses: actions/checkout@v1 + with: + fetch-depth: 10 + + - name: Build + shell: cmd + env: + PLATFORM: ${{ matrix.platform }} + run: | + mkdir builds\install_images + cd builds\docker\windows + call build.bat + call run.bat C:\fbscripts\build-%PLATFORM%.bat + + - name: Extract zip + shell: cmd + run: | + 7z x builds\install_images\*.zip -ooutput + + - name: Upload zip + uses: actions/upload-artifact@main + with: + name: firebird-windows-${{ matrix.platform }}-zip + path: output + + - name: Upload installer + uses: actions/upload-artifact@main + with: + name: firebird-windows-${{ matrix.platform }}-installer + path: builds/install_images/*.exe + + build-macos: + runs-on: macos-latest + + steps: + - uses: actions/checkout@v1 + with: + fetch-depth: 10 + + - name: Prepare - Install tools + run: | + brew install automake libtool ninja + + - name: Cache - libc++ install + id: cache-libcxx-install-macos + uses: actions/cache@v3 + with: + key: ${{ runner.os }}-libcxx-install-13.0.1 + path: | + extern/libcxx-macos-install + + - name: Download libc++ sources + if: steps.cache-libcxx-install-macos.outputs.cache-hit != 'true' + run: | + mkdir extern/libcxx-macos + pushd extern/libcxx-macos + curl -OL https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/llvm-project-13.0.1.src.tar.xz + tar xJf llvm-project-13.0.1.src.tar.xz + popd + + - name: Build libc++ + if: steps.cache-libcxx-install-macos.outputs.cache-hit != 'true' + run: | + LIBCXX_BUILD_PATH=`pwd`/extern/libcxx-macos-build + LIBCXX_INSTALL_PATH=`pwd`/extern/libcxx-macos-install + mkdir $LIBCXX_BUILD_PATH + pushd extern/libcxx-macos/llvm-project-13.0.1.src + export MACOSX_DEPLOYMENT_TARGET=10.9 + cmake -G Ninja -S llvm -B $LIBCXX_BUILD_PATH \ + -DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi" \ + -DCMAKE_INSTALL_PREFIX=$LIBCXX_INSTALL_PATH \ + -DCMAKE_BUILD_TYPE=Release \ + -DLIBCXX_ENABLE_SHARED=false \ + -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=true + ninja -C $LIBCXX_BUILD_PATH cxx cxxabi + ninja -C $LIBCXX_BUILD_PATH install-cxx install-cxxabi + popd + + - name: Cache - libicu install + id: cache-libicu-install-macos + uses: actions/cache@v3 + with: + key: ${{ runner.os }}-libicu-install-63.2 + path: | + extern/libicu-macos-install + + - name: Download and patch libicu sources + if: steps.cache-libicu-install-macos.outputs.cache-hit != 'true' + run: | + mkdir extern/libicu-macos + pushd extern/libicu-macos + curl -OL https://github.com/unicode-org/icu/releases/download/release-63-2/icu4c-63_2-src.tgz + curl -OL https://github.com/unicode-org/icu/commit/24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch + tar xzf icu4c-63_2-src.tgz + cd icu/source + patch -p3 < ../../24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch + popd + + - name: Build libicu + if: steps.cache-libicu-install-macos.outputs.cache-hit != 'true' + run: | + export LIBTOOLIZE=glibtoolize + export LIBTOOL=glibtool + + LIBICU_INSTALL_PATH=`pwd`/extern/libicu-macos-install + pushd extern/libicu-macos/icu/source + ./runConfigureICU MacOSX --prefix=$LIBICU_INSTALL_PATH + make -j4 + make install + install_name_tool -id @rpath/lib/libicuuc.dylib $LIBICU_INSTALL_PATH/lib/libicuuc.dylib + install_name_tool -id @rpath/lib/libicui18n.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.dylib + install_name_tool -id @rpath/lib/libicudata.dylib $LIBICU_INSTALL_PATH/lib/libicudata.dylib + install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $LIBICU_INSTALL_PATH/lib/libicuuc.63.dylib + install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.63.dylib + install_name_tool -change libicuuc.63.dylib @loader_path/libicuuc.63.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.63.dylib + popd + + - name: Build + run: | + export LIBTOOLIZE=glibtoolize + export LIBTOOL=glibtool + + LIBCXX_INSTALL_PATH=`pwd`/extern/libcxx-macos-install + LIBICU_INSTALL_PATH=`pwd`/extern/libicu-macos-install + + mkdir -p gen/Release/firebird/lib + cp -R $LIBICU_INSTALL_PATH/lib/libicu{data,i18n,uc}.*dylib gen/Release/firebird/lib/ + + export C_INCLUDE_PATH="$LIBICU_INSTALL_PATH/include:`xcrun --show-sdk-path`/usr/include" + export CPLUS_INCLUDE_PATH="$LIBCXX_INSTALL_PATH/include/c++/v1:$LIBICU_INSTALL_PATH/include:`xcrun --show-sdk-path`/usr/include" + export LIBRARY_PATH="$LIBCXX_INSTALL_PATH/lib:$LIBICU_INSTALL_PATH/lib:$LIBRARY_PATH" + + ./autogen.sh --with-builtin-tommath --with-builtin-tomcrypt + make -j4 + make tests -j4 + make run_tests + + (cd gen; make -B -f make.platform.postfix ICU_LOC="$LIBICU_INSTALL_PATH/lib/") + (cd gen; make -B -f Makefile.install) + + # Rename directory to make sure the build is relocatable. + mv gen gen2 + sudo installer -pkg gen2/Release/*.pkg -verbose -target / + + export FIREBIRD_LOCK=`pwd`/temp + echo "create database 't.fdb'; select '1' from rdb\$database; select _win1252 '2' from rdb\$database; select _utf8 '3' collate unicode from rdb\$database;" | /Library/Frameworks/Firebird.framework/Resources/bin/isql + + echo "create database 'localhost:/tmp/t.fdb' user sysdba password 'masterkey'; select '11' from rdb\$database; select _win1252 '22' from rdb\$database; select _utf8 '33' collate unicode from rdb\$database;" | /Library/Frameworks/Firebird.framework/Resources/bin/isql + + mv gen2 gen + mkdir gen/artifacts + mv gen/Release/*.pkg gen/artifacts + + - name: Upload + uses: actions/upload-artifact@main + with: + name: firebird-macos + path: gen/artifacts From d4bd604b05340127ea57a3f247ff4994564ed442 Mon Sep 17 00:00:00 2001 From: Adriano dos Santos Fernandes Date: Mon, 8 Aug 2022 08:32:53 -0300 Subject: [PATCH 7/8] Separate debug/release output in different directories. --- .gitignore | 4 +-- .../win32/BuildExecutableInstall.bat | 2 +- .../arch-specific/win32/FirebirdInstall.iss | 14 +++++++-- builds/win32/clean_all.bat | 2 +- builds/win32/create_msgs.bat | 3 +- builds/win32/make_all.bat | 4 +-- builds/win32/make_boot.bat | 12 +++----- builds/win32/make_examples.bat | 4 +-- builds/win32/make_icu.bat | 4 +-- builds/win32/msvc15/chacha.vcxproj | 8 ++--- builds/win32/msvc15/common_test.vcxproj | 8 ++--- builds/win32/msvc15/engine.vcxproj | 8 ++--- builds/win32/msvc15/engine_test.vcxproj | 8 ++--- builds/win32/msvc15/fb_lock_print.vcxproj | 8 ++--- builds/win32/msvc15/fbguard.vcxproj | 8 ++--- builds/win32/msvc15/fbrmclib.vcxproj | 8 ++--- builds/win32/msvc15/fbserver.vcxproj | 8 ++--- builds/win32/msvc15/fbsvcmgr.vcxproj | 8 ++--- builds/win32/msvc15/fbtrace.vcxproj | 8 ++--- builds/win32/msvc15/fbtracemgr.vcxproj | 8 ++--- builds/win32/msvc15/gbak.vcxproj | 8 ++--- builds/win32/msvc15/gfix.vcxproj | 8 ++--- builds/win32/msvc15/gpre.vcxproj | 8 ++--- builds/win32/msvc15/gsec.vcxproj | 8 ++--- builds/win32/msvc15/gsplit.vcxproj | 8 ++--- builds/win32/msvc15/gstat.vcxproj | 8 ++--- builds/win32/msvc15/ib_util.vcxproj | 8 ++--- builds/win32/msvc15/instclient.vcxproj | 8 ++--- builds/win32/msvc15/instreg.vcxproj | 8 ++--- builds/win32/msvc15/instsvc.vcxproj | 8 ++--- builds/win32/msvc15/intl.vcxproj | 8 ++--- builds/win32/msvc15/isql.vcxproj | 8 ++--- builds/win32/msvc15/legacy_auth.vcxproj | 8 ++--- .../win32/msvc15/legacy_usermanager.vcxproj | 8 ++--- builds/win32/msvc15/nbackup.vcxproj | 8 ++--- builds/win32/msvc15/srp.vcxproj | 8 ++--- builds/win32/msvc15/udf_compat.vcxproj | 8 ++--- builds/win32/msvc15/udr_engine.vcxproj | 8 ++--- builds/win32/msvc15/udrcpp_example.vcxproj | 8 ++--- builds/win32/msvc15/yvalve.vcxproj | 8 ++--- builds/win32/parse.bat | 4 +-- builds/win32/preprocess.bat | 8 +++-- builds/win32/run_all.bat | 6 ++-- builds/win32/run_tests.bat | 4 +-- builds/win32/set_build_target.bat | 19 ------------ builds/win32/setenvvar.bat | 19 ++++++++++-- examples/build_win32/clean_api.bat | 2 +- examples/build_win32/clean_dyn.bat | 2 +- examples/build_win32/clean_stat.bat | 2 +- examples/build_win32/clean_udf.bat | 2 +- examples/build_win32/make_api.bat | 4 +-- examples/build_win32/make_dyn.bat | 16 +++++----- examples/build_win32/make_stat.bat | 30 +++++++++---------- examples/build_win32/make_udf.bat | 4 +-- .../dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj | 8 ++--- 55 files changed, 210 insertions(+), 217 deletions(-) delete mode 100644 builds/win32/set_build_target.bat diff --git a/.gitignore b/.gitignore index d930bd8d759..12eba64dce7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ temp/ /gen/ -output_Win32/ -output_x64/ +output_Win32_*/ +output_x64_*/ examples/prebuilt/ .vs/ m4/ diff --git a/builds/install/arch-specific/win32/BuildExecutableInstall.bat b/builds/install/arch-specific/win32/BuildExecutableInstall.bat index b6a1463d43b..672889a5917 100644 --- a/builds/install/arch-specific/win32/BuildExecutableInstall.bat +++ b/builds/install/arch-specific/win32/BuildExecutableInstall.bat @@ -652,7 +652,7 @@ for %%v in ( %1 %2 %3 %4 %5 %6 %7 %8 %9 ) do ( pushd ..\..\..\win32 ::This must be called from the directory it resides in. -@call setenvvar.bat +@call setenvvar.bat %* popd @if errorlevel 1 (goto :END) diff --git a/builds/install/arch-specific/win32/FirebirdInstall.iss b/builds/install/arch-specific/win32/FirebirdInstall.iss index 80c67e64a21..7741b4394f5 100644 --- a/builds/install/arch-specific/win32/FirebirdInstall.iss +++ b/builds/install/arch-specific/win32/FirebirdInstall.iss @@ -117,8 +117,9 @@ ;We speed up compilation (and hence testing) by not compressing contents. #undef compression -;Default to x64 for testing +;Default to x64_release for testing #define PlatformTarget "x64" +#define ConfigurationTarget "release" #endif ;-------#ifdef iss_debug @@ -216,6 +217,15 @@ #endif #endif +;---- If we haven't already set ConfigurationTarget then pick it up from the environment. +#ifndef ConfigurationTarget +#define ConfigurationTarget GetEnv("FBBUILD_BUILDTYPE") +#endif +#if ConfigurationTarget == "" +;Assume release +#define ConfigurationTarget "release" +#endif + #if FB_BUILD_TYPE == "T" ;If we are still under development we can ignore some missing files. #define SkipFileIfDevStatus " skipifsourcedoesntexist " @@ -224,7 +234,7 @@ #endif ;This location is relative to SourceDir (declared below) -#define FilesDir="output_" + PlatformTarget +#define FilesDir="output_" + PlatformTarget + "_" + ConfigurationTarget #if PlatformTarget == "x64" #define WOW64Dir="output_win32" #endif diff --git a/builds/win32/clean_all.bat b/builds/win32/clean_all.bat index bcc53ad0bc5..3cf5d940ebe 100644 --- a/builds/win32/clean_all.bat +++ b/builds/win32/clean_all.bat @@ -1,6 +1,6 @@ @echo off -@call setenvvar.bat +@call setenvvar.bat %* @if errorlevel 1 (goto :END) set FB_CLEAN_SHARED= diff --git a/builds/win32/create_msgs.bat b/builds/win32/create_msgs.bat index 064d8d1ada2..fb19bd69949 100644 --- a/builds/win32/create_msgs.bat +++ b/builds/win32/create_msgs.bat @@ -1,8 +1,7 @@ @echo off -@call setenvvar.bat +@call setenvvar.bat %* @if errorlevel 1 (goto :END) -@if not defined FB_BOOT_BIN_DIR (@call set_build_target.bat %*) @echo Building build_msg (%FB_OBJ_DIR%)... @call compile.bat builds\win32\%VS_VER%\FirebirdBoot build_msg_%FB_TARGET_PLATFORM%.log build_msg diff --git a/builds/win32/make_all.bat b/builds/win32/make_all.bat index facf459e3fa..f74c0abf171 100644 --- a/builds/win32/make_all.bat +++ b/builds/win32/make_all.bat @@ -2,7 +2,7 @@ set ERRLEV=0 :: Set env vars -@call setenvvar.bat +@call setenvvar.bat %* @if errorlevel 1 (call :ERROR Executing setenvvar.bat failed & goto :EOF) @@ -11,8 +11,6 @@ set ERRLEV=0 @if not exist %FB_BIN_DIR%\firebird.msg (goto :HELP_BOOT & goto :EOF) -@call set_build_target.bat %* - ::========== :: MAIN diff --git a/builds/win32/make_boot.bat b/builds/win32/make_boot.bat index 8c7789a0abb..9620b8dafda 100644 --- a/builds/win32/make_boot.bat +++ b/builds/win32/make_boot.bat @@ -8,11 +8,9 @@ set ERRLEV=0 :CHECK_ENV -@call setenvvar.bat +@call setenvvar.bat %* @if errorlevel 1 (goto :END) -@call set_build_target.bat %* - ::=========== :MAIN @@ -67,7 +65,7 @@ if "%ERRLEV%"=="1" goto :END ::======= @echo Preprocessing the source files needed to build gpre and isql... -@call preprocess.bat BOOT +@call preprocess.bat %FBBUILD_BUILDTYPE% BOOT ::======= call :engine @@ -93,14 +91,14 @@ if "%ERRLEV%"=="1" goto :END ::======= @echo Preprocessing the entire source tree... -@call preprocess.bat +@call preprocess.bat %FBBUILD_BUILDTYPE% ::======= @call :msgs if "%ERRLEV%"=="1" goto :END ::======= -@call create_msgs.bat msg +@call create_msgs.bat %FBBUILD_BUILDTYPE% ::======= @call :NEXT_STEP @@ -262,8 +260,6 @@ goto :EOF @echo create database '%FB_GEN_DB_DIR%/dbs/metadata.fdb'; | "%FB_BIN_DIR%\isql" -q -sqldialect 1 @copy %FB_GEN_DIR%\dbs\metadata.fdb %FB_GEN_DIR%\dbs\yachts.lnk > nul -@call create_msgs.bat db - @goto :EOF diff --git a/builds/win32/make_examples.bat b/builds/win32/make_examples.bat index e5e96b1c976..e1a639564c0 100644 --- a/builds/win32/make_examples.bat +++ b/builds/win32/make_examples.bat @@ -1,11 +1,9 @@ @echo off :: Set env vars -@call setenvvar.bat +@call setenvvar.bat %* @if errorlevel 1 (goto :EOF) -@call set_build_target.bat %* - :: verify that boot was run before @if not exist %FB_BIN_DIR%\isql.exe (goto :HELP_BOOT & goto :EOF) @if not exist %FB_BIN_DIR%\gpre.exe (goto :HELP_BOOT & goto :EOF) diff --git a/builds/win32/make_icu.bat b/builds/win32/make_icu.bat index e8494b69658..e4f555b0495 100644 --- a/builds/win32/make_icu.bat +++ b/builds/win32/make_icu.bat @@ -2,9 +2,7 @@ :: Set env vars -@call setenvvar.bat - -@call set_build_target.bat %* icu +@call setenvvar.bat %* ::========== :: MAIN diff --git a/builds/win32/msvc15/chacha.vcxproj b/builds/win32/msvc15/chacha.vcxproj index 13a415efc3a..5cad10b81cc 100644 --- a/builds/win32/msvc15/chacha.vcxproj +++ b/builds/win32/msvc15/chacha.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ diff --git a/builds/win32/msvc15/common_test.vcxproj b/builds/win32/msvc15/common_test.vcxproj index 775335ad5ab..ca9271b8ba9 100644 --- a/builds/win32/msvc15/common_test.vcxproj +++ b/builds/win32/msvc15/common_test.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/engine.vcxproj b/builds/win32/msvc15/engine.vcxproj index 4385dffa95d..1ec40958dad 100644 --- a/builds/win32/msvc15/engine.vcxproj +++ b/builds/win32/msvc15/engine.vcxproj @@ -151,10 +151,10 @@ engine13 engine13 engine13 - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ true diff --git a/builds/win32/msvc15/engine_test.vcxproj b/builds/win32/msvc15/engine_test.vcxproj index 5a07b67559e..0835ce3a6cd 100644 --- a/builds/win32/msvc15/engine_test.vcxproj +++ b/builds/win32/msvc15/engine_test.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/fb_lock_print.vcxproj b/builds/win32/msvc15/fb_lock_print.vcxproj index 223bcae116a..520fff48186 100644 --- a/builds/win32/msvc15/fb_lock_print.vcxproj +++ b/builds/win32/msvc15/fb_lock_print.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/fbguard.vcxproj b/builds/win32/msvc15/fbguard.vcxproj index 84701b8722b..b7adc0e2dc3 100644 --- a/builds/win32/msvc15/fbguard.vcxproj +++ b/builds/win32/msvc15/fbguard.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/fbrmclib.vcxproj b/builds/win32/msvc15/fbrmclib.vcxproj index dc4ad8357fd..cbca965f06a 100644 --- a/builds/win32/msvc15/fbrmclib.vcxproj +++ b/builds/win32/msvc15/fbrmclib.vcxproj @@ -59,10 +59,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\bin\ - ..\..\..\output_$(PlatformName)\bin\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\bin\ + ..\..\..\output_$(PlatformName)_$(Configuration)\bin\ diff --git a/builds/win32/msvc15/fbserver.vcxproj b/builds/win32/msvc15/fbserver.vcxproj index cec2190b178..5f68bb0a577 100644 --- a/builds/win32/msvc15/fbserver.vcxproj +++ b/builds/win32/msvc15/fbserver.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ firebird firebird firebird diff --git a/builds/win32/msvc15/fbsvcmgr.vcxproj b/builds/win32/msvc15/fbsvcmgr.vcxproj index d6cf7122e29..0896595ac22 100644 --- a/builds/win32/msvc15/fbsvcmgr.vcxproj +++ b/builds/win32/msvc15/fbsvcmgr.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/fbtrace.vcxproj b/builds/win32/msvc15/fbtrace.vcxproj index 532c33859a6..d1c97910087 100644 --- a/builds/win32/msvc15/fbtrace.vcxproj +++ b/builds/win32/msvc15/fbtrace.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ diff --git a/builds/win32/msvc15/fbtracemgr.vcxproj b/builds/win32/msvc15/fbtracemgr.vcxproj index f341d954334..7cd132680d5 100644 --- a/builds/win32/msvc15/fbtracemgr.vcxproj +++ b/builds/win32/msvc15/fbtracemgr.vcxproj @@ -105,10 +105,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/gbak.vcxproj b/builds/win32/msvc15/gbak.vcxproj index 74e3b98c43a..51a8c32d7dc 100644 --- a/builds/win32/msvc15/gbak.vcxproj +++ b/builds/win32/msvc15/gbak.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/gfix.vcxproj b/builds/win32/msvc15/gfix.vcxproj index e48788f7266..6c769f030be 100644 --- a/builds/win32/msvc15/gfix.vcxproj +++ b/builds/win32/msvc15/gfix.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/gpre.vcxproj b/builds/win32/msvc15/gpre.vcxproj index 6f9c91677b5..2c48566e584 100644 --- a/builds/win32/msvc15/gpre.vcxproj +++ b/builds/win32/msvc15/gpre.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/gsec.vcxproj b/builds/win32/msvc15/gsec.vcxproj index c933a7c9a50..6a655eade55 100644 --- a/builds/win32/msvc15/gsec.vcxproj +++ b/builds/win32/msvc15/gsec.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/gsplit.vcxproj b/builds/win32/msvc15/gsplit.vcxproj index 8abed21f152..61b929bca33 100644 --- a/builds/win32/msvc15/gsplit.vcxproj +++ b/builds/win32/msvc15/gsplit.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/gstat.vcxproj b/builds/win32/msvc15/gstat.vcxproj index 2327df541ac..40592de37a5 100644 --- a/builds/win32/msvc15/gstat.vcxproj +++ b/builds/win32/msvc15/gstat.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/ib_util.vcxproj b/builds/win32/msvc15/ib_util.vcxproj index 0e8156c85a1..fc0000f6441 100644 --- a/builds/win32/msvc15/ib_util.vcxproj +++ b/builds/win32/msvc15/ib_util.vcxproj @@ -107,10 +107,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/instclient.vcxproj b/builds/win32/msvc15/instclient.vcxproj index 0350a7260d3..4c033c7f8fd 100644 --- a/builds/win32/msvc15/instclient.vcxproj +++ b/builds/win32/msvc15/instclient.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/instreg.vcxproj b/builds/win32/msvc15/instreg.vcxproj index b67b1fe6da9..4286a9f066b 100644 --- a/builds/win32/msvc15/instreg.vcxproj +++ b/builds/win32/msvc15/instreg.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/instsvc.vcxproj b/builds/win32/msvc15/instsvc.vcxproj index dc6be2cfc8a..94de00b8b29 100644 --- a/builds/win32/msvc15/instsvc.vcxproj +++ b/builds/win32/msvc15/instsvc.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/intl.vcxproj b/builds/win32/msvc15/intl.vcxproj index a37f37291f7..fe6a65c0d65 100644 --- a/builds/win32/msvc15/intl.vcxproj +++ b/builds/win32/msvc15/intl.vcxproj @@ -107,10 +107,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\intl\ - ..\..\..\output_$(PlatformName)\intl\ - ..\..\..\output_$(PlatformName)\intl\ - ..\..\..\output_$(PlatformName)\intl\ + ..\..\..\output_$(PlatformName)_$(Configuration)\intl\ + ..\..\..\output_$(PlatformName)_$(Configuration)\intl\ + ..\..\..\output_$(PlatformName)_$(Configuration)\intl\ + ..\..\..\output_$(PlatformName)_$(Configuration)\intl\ fbintl fbintl fbintl diff --git a/builds/win32/msvc15/isql.vcxproj b/builds/win32/msvc15/isql.vcxproj index b22e52bfb7c..144996f2e45 100644 --- a/builds/win32/msvc15/isql.vcxproj +++ b/builds/win32/msvc15/isql.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/legacy_auth.vcxproj b/builds/win32/msvc15/legacy_auth.vcxproj index 4659e95b4b0..a5893b9f052 100644 --- a/builds/win32/msvc15/legacy_auth.vcxproj +++ b/builds/win32/msvc15/legacy_auth.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ diff --git a/builds/win32/msvc15/legacy_usermanager.vcxproj b/builds/win32/msvc15/legacy_usermanager.vcxproj index c53a39f41c0..448559e4124 100644 --- a/builds/win32/msvc15/legacy_usermanager.vcxproj +++ b/builds/win32/msvc15/legacy_usermanager.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ diff --git a/builds/win32/msvc15/nbackup.vcxproj b/builds/win32/msvc15/nbackup.vcxproj index 6d935aca3e3..e5cee93c9c1 100644 --- a/builds/win32/msvc15/nbackup.vcxproj +++ b/builds/win32/msvc15/nbackup.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ diff --git a/builds/win32/msvc15/srp.vcxproj b/builds/win32/msvc15/srp.vcxproj index bf0567bc444..6dfebf140ac 100644 --- a/builds/win32/msvc15/srp.vcxproj +++ b/builds/win32/msvc15/srp.vcxproj @@ -104,10 +104,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ diff --git a/builds/win32/msvc15/udf_compat.vcxproj b/builds/win32/msvc15/udf_compat.vcxproj index 60eb38b62c1..86b20b93014 100644 --- a/builds/win32/msvc15/udf_compat.vcxproj +++ b/builds/win32/msvc15/udf_compat.vcxproj @@ -103,10 +103,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\plugins\udr\ - ..\..\..\output_$(PlatformName)\plugins\udr\ - ..\..\..\output_$(PlatformName)\plugins\udr\ - ..\..\..\output_$(PlatformName)\plugins\udr\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\ true diff --git a/builds/win32/msvc15/udr_engine.vcxproj b/builds/win32/msvc15/udr_engine.vcxproj index f8a6c378b5c..21cccd9fe9b 100644 --- a/builds/win32/msvc15/udr_engine.vcxproj +++ b/builds/win32/msvc15/udr_engine.vcxproj @@ -107,10 +107,10 @@ AllRules.ruleset - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ - ..\..\..\output_$(PlatformName)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ diff --git a/builds/win32/msvc15/udrcpp_example.vcxproj b/builds/win32/msvc15/udrcpp_example.vcxproj index c448ff193cb..802e7e52451 100644 --- a/builds/win32/msvc15/udrcpp_example.vcxproj +++ b/builds/win32/msvc15/udrcpp_example.vcxproj @@ -109,16 +109,16 @@ - ..\..\..\output_$(PlatformName)\plugins\udr\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\ - ..\..\..\output_$(PlatformName)\plugins\udr\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\ - ..\..\..\output_$(PlatformName)\plugins\udr\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\ - ..\..\..\output_$(PlatformName)\plugins\udr\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\ diff --git a/builds/win32/msvc15/yvalve.vcxproj b/builds/win32/msvc15/yvalve.vcxproj index 8ba5a117e9f..9df9d84ee64 100644 --- a/builds/win32/msvc15/yvalve.vcxproj +++ b/builds/win32/msvc15/yvalve.vcxproj @@ -171,10 +171,10 @@ fbclient fbclient fbclient - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ - ..\..\..\output_$(PlatformName)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ + ..\..\..\output_$(PlatformName)_$(Configuration)\ true diff --git a/builds/win32/parse.bat b/builds/win32/parse.bat index fe7f44a5a82..e2ea85fd632 100644 --- a/builds/win32/parse.bat +++ b/builds/win32/parse.bat @@ -2,11 +2,9 @@ @echo. -@call setenvvar.bat +@call setenvvar.bat %* @if errorlevel 1 (goto :END) -@call set_build_target.bat %* - @echo Generating parse.cpp and dsql.tab.h @sed -n "/%%type .*/p" < %FB_ROOT_PATH%\src\dsql\parse.y > types.y diff --git a/builds/win32/preprocess.bat b/builds/win32/preprocess.bat index 49293d65fdf..620d5b893d1 100644 --- a/builds/win32/preprocess.bat +++ b/builds/win32/preprocess.bat @@ -15,10 +15,12 @@ ::=========== :MAIN -@call setenvvar.bat -@if not defined FB_BIN_DIR (@call set_build_target.bat %*) +@call setenvvar.bat %* + +for %%v in ( %* ) do ( + @if "%%v"=="BOOT" (set BOOTBUILD=1) else (set BOOTBUILD=0) +) -@if "%1"=="BOOT" (set BOOTBUILD=1) else (set BOOTBUILD=0) @echo. @if "%BOOTBUILD%"=="1" (call :BOOT_PROCESS) else (call :MASTER_PROCESS) @set BOOTBUILD= diff --git a/builds/win32/run_all.bat b/builds/win32/run_all.bat index 5316efe02eb..b485ab63c0e 100644 --- a/builds/win32/run_all.bat +++ b/builds/win32/run_all.bat @@ -41,9 +41,9 @@ if defined FBBUILD_MAKE_KITS_ONLY (goto :MAKE_KITS & goto :EOF) :: Go to work -if not defined FBBUILD_NOCLEAN (call clean_all %FBBUILD_REAL_CLEAN%) +if not defined FBBUILD_NOCLEAN (call clean_all %FBBUILD_BUILDTYPE% %FBBUILD_REAL_CLEAN%) :: We do not support debug builds of icu, so we don't pass %FBBUILD_BUILDTYPE% -call make_icu +call make_icu %FBBUILD_BUILDTYPE% if "%ERRLEV%"=="1" goto :END call make_boot %FBBUILD_BUILDTYPE% if "%ERRLEV%"=="1" goto :END @@ -104,7 +104,7 @@ goto :END ::=============================== :: Set up the compiler environment -@call setenvvar.bat +@call setenvvar.bat %* if "%ERRLEV%"=="1" goto :END diff --git a/builds/win32/run_tests.bat b/builds/win32/run_tests.bat index baff20a3208..db1094898b9 100644 --- a/builds/win32/run_tests.bat +++ b/builds/win32/run_tests.bat @@ -2,11 +2,9 @@ @echo. -@call setenvvar.bat +@call setenvvar.bat %* @if errorlevel 1 (goto :END) -@call set_build_target.bat %* - @%FB_BIN_DIR%\common_test --log_level=all @%FB_BIN_DIR%\engine_test --log_level=all diff --git a/builds/win32/set_build_target.bat b/builds/win32/set_build_target.bat deleted file mode 100644 index 35889ff625d..00000000000 --- a/builds/win32/set_build_target.bat +++ /dev/null @@ -1,19 +0,0 @@ -@echo off -set FB_DBG= -set FB_CONFIG=release -set FB_CLEAN= -set FB_ICU= - -for %%v in ( %* ) do ( - ( if /I "%%v"=="DEBUG" ( (set FB_DBG=TRUE) && (set FB_CONFIG=debug) ) ) - ( if /I "%%v"=="CLEAN" (set FB_CLEAN=:rebuild) ) - ( if /I "%%v"=="ICU" ( (set FB_ICU=1) && (set FB_DBG=) ) ) - ( if /I "%%v"=="RELEASE" ( (set FB_DBG=) && (set FB_CONFIG=release) ) ) -) - -set FB_OBJ_DIR=%FB_TARGET_PLATFORM%\%FB_CONFIG% -set FB_BOOT_BIN_DIR=%FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird -set FB_BIN_DIR=%FB_ROOT_PATH%\output_%FB_TARGET_PLATFORM% - -@echo Executed %0 -@echo. diff --git a/builds/win32/setenvvar.bat b/builds/win32/setenvvar.bat index 834311e2033..3c757307efe 100644 --- a/builds/win32/setenvvar.bat +++ b/builds/win32/setenvvar.bat @@ -4,9 +4,22 @@ :: FB_DB_PATH unix format path of the main directory :: (This is used by gpre and preprocess.bat) :: VS_VER VisualStudio version (msvc15) +:: FB_OBJ_DIR +:: FB_BOOT_BIN_DIR +:: FB_BIN_DIR @echo off +set FB_DBG= +set FB_CONFIG=release +set FB_CLEAN= + +for %%v in ( %* ) do ( + ( if /I "%%v"=="DEBUG" ( (set FB_DBG=TRUE) && (set FB_CONFIG=debug) ) ) + ( if /I "%%v"=="CLEAN" (set FB_CLEAN=:rebuild) ) + ( if /I "%%v"=="RELEASE" ( (set FB_DBG=) && (set FB_CONFIG=release) ) ) +) + :: Default target CPU architecture is the native environment @if NOT DEFINED FB_PROCESSOR_ARCHITECTURE ( set FB_PROCESSOR_ARCHITECTURE=%PROCESSOR_ARCHITECTURE% @@ -117,7 +130,7 @@ @if "%FB_PROCESSOR_ARCHITECTURE%"=="AMD64" (set FB_TARGET_PLATFORM=x64) -@set FB_OUTPUT_DIR=%FB_ROOT_PATH%\output_%FB_TARGET_PLATFORM% +@set FB_OUTPUT_DIR=%FB_ROOT_PATH%\output_%FB_TARGET_PLATFORM%_%FB_CONFIG% @set FB_TEMP_DIR=%FB_ROOT_PATH%\temp\%FB_TARGET_PLATFORM% @set FB_INSTALL_SCRIPTS=%FB_ROOT_PATH%\builds\install\arch-specific\win32 @set FB_GEN_DIR=%FB_ROOT_PATH%\gen @@ -125,7 +138,9 @@ @set FB_ICU_SOURCE_BIN=%FB_ROOT_PATH%\extern\icu\%FB_TARGET_PLATFORM%\release\bin\ @set FIREBIRD_BOOT_BUILD=1 - +@set FB_OBJ_DIR=%FB_TARGET_PLATFORM%\%FB_CONFIG% +@set FB_BOOT_BIN_DIR=%FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird +@set FB_BIN_DIR=%FB_OUTPUT_DIR% goto :END diff --git a/examples/build_win32/clean_api.bat b/examples/build_win32/clean_api.bat index ddcf5540c5e..2ddb73984a9 100644 --- a/examples/build_win32/clean_api.bat +++ b/examples/build_win32/clean_api.bat @@ -1,5 +1,5 @@ -call setenvvar.bat +call setenvvar.bat %* @echo. @echo cleaning api diff --git a/examples/build_win32/clean_dyn.bat b/examples/build_win32/clean_dyn.bat index 80ff4c55d10..c52b7b81fcf 100644 --- a/examples/build_win32/clean_dyn.bat +++ b/examples/build_win32/clean_dyn.bat @@ -1,5 +1,5 @@ -call setenvvar.bat +call setenvvar.bat %* @echo. @echo cleaning dyn diff --git a/examples/build_win32/clean_stat.bat b/examples/build_win32/clean_stat.bat index ae9d00aa6c3..9e0a2f7eaeb 100644 --- a/examples/build_win32/clean_stat.bat +++ b/examples/build_win32/clean_stat.bat @@ -1,5 +1,5 @@ -call setenvvar.bat +call setenvvar.bat %* @echo. @echo cleaning stat diff --git a/examples/build_win32/clean_udf.bat b/examples/build_win32/clean_udf.bat index ede0c0190b4..9c11bc002b9 100644 --- a/examples/build_win32/clean_udf.bat +++ b/examples/build_win32/clean_udf.bat @@ -1,5 +1,5 @@ -call setenvvar.bat +call setenvvar.bat %* @echo. @echo cleaning udf diff --git a/examples/build_win32/make_api.bat b/examples/build_win32/make_api.bat index 4797a1cd06b..6e4ba08188a 100644 --- a/examples/build_win32/make_api.bat +++ b/examples/build_win32/make_api.bat @@ -1,5 +1,5 @@ -call setenvvar.bat +call setenvvar.bat %* :: CLEANING call clean_api.bat @@ -11,7 +11,7 @@ call clean_api.bat cd %ROOT_PATH%\examples\api\ :: OLD FLAGS (to analyze) :: /c /AL /Ge /Zi /Mq /Od /G2 /Zp1 /W3 -set CLFLAGS=-I %ROOT_PATH%\include -I %ROOT_PATH%\examples\include +set CLFLAGS=-I %ROOT_PATH%\include -I %ROOT_PATH%\examples\include cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\api\api1.c cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\api\api2.c diff --git a/examples/build_win32/make_dyn.bat b/examples/build_win32/make_dyn.bat index 5fde1de99bc..2dafa7c9974 100644 --- a/examples/build_win32/make_dyn.bat +++ b/examples/build_win32/make_dyn.bat @@ -1,5 +1,5 @@ -call setenvvar.bat +call setenvvar.bat %* :: CLEANING @call clean_dyn.bat @@ -14,11 +14,11 @@ call setenvvar.bat %ROOT_PATH%\bin\gpre -r -m -n -z %ROOT_PATH%\examples\dyn\dynfull.e %ROOT_PATH%\examples\dyn\dynfull.c -b localhost:%ROOT_PATH%\examples\empbuild\ cd %ROOT_PATH%\examples\dyn\ -set CLFLAGS=-I %ROOT_PATH%\include -I %ROOT_PATH%\examples\include -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn1.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn2.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn3.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn4.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn5.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dynfull.c +set CLFLAGS=-I %ROOT_PATH%\include -I %ROOT_PATH%\examples\include +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn1.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn2.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn3.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn4.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn5.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dynfull.c cd %ROOT_PATH%\examples\build_win32 diff --git a/examples/build_win32/make_stat.bat b/examples/build_win32/make_stat.bat index 2bef1762a87..422ba6bf948 100644 --- a/examples/build_win32/make_stat.bat +++ b/examples/build_win32/make_stat.bat @@ -1,5 +1,5 @@ -call setenvvar.bat +call setenvvar.bat %* :: CLEANING @call clean_stat.bat @@ -22,20 +22,20 @@ call setenvvar.bat %ROOT_PATH%\bin\gpre -c -m -n -z %ROOT_PATH%\examples\stat\stat12t.e %ROOT_PATH%\examples\stat\stat12t.c -b localhost:%DB_PATH%/examples/empbuild/ cd %ROOT_PATH%\examples\stat\ -set CLFLAGS=-I %ROOT_PATH%\include -I %ROOT_PATH%\examples\include -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat1.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat2.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat3.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat4.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat5.c +set CLFLAGS=-I %ROOT_PATH%\include -I %ROOT_PATH%\examples\include +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat1.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat2.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat3.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat4.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat5.c :: TODO -:: cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat6.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat7.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat8.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat9.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat10.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat11.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat12.c -cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat12t.c +:: cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat6.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat7.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat8.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat9.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat10.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat11.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat12.c +cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat12t.c cd %ROOT_PATH%\examples\build_win32 diff --git a/examples/build_win32/make_udf.bat b/examples/build_win32/make_udf.bat index 52f888e7705..b2b61e3745a 100644 --- a/examples/build_win32/make_udf.bat +++ b/examples/build_win32/make_udf.bat @@ -1,7 +1,7 @@ -call setenvvar.bat +call setenvvar.bat %* :: CLEANING @call clean_udf.bat -:: TODO \ No newline at end of file +:: TODO diff --git a/examples/dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj b/examples/dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj index 9bb2f63f9c5..3c4b2587304 100644 --- a/examples/dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj +++ b/examples/dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj @@ -110,7 +110,7 @@ Console - ..\..\..\output_$(Platform)\lib\ + ..\..\..\output_$(Platform)_$(Configuration)\lib\ fbclient_ms.lib;%(AdditionalDependencies) @@ -125,7 +125,7 @@ Console - ..\..\..\output_$(Platform)\lib\ + ..\..\..\output_$(Platform)_$(Configuration)\lib\ fbclient_ms.lib;%(AdditionalDependencies) @@ -144,7 +144,7 @@ Console true true - ..\..\..\output_$(Platform)\lib\ + ..\..\..\output_$(Platform)_$(Configuration)\lib\ fbclient_ms.lib;%(AdditionalDependencies) @@ -163,7 +163,7 @@ Console true true - ..\..\..\output_$(Platform)\lib\ + ..\..\..\output_$(Platform)_$(Configuration)\lib\ fbclient_ms.lib;%(AdditionalDependencies) From bffb43da9f0368fc9bedfb155a5ebe693c2216cb Mon Sep 17 00:00:00 2001 From: Adriano dos Santos Fernandes Date: Fri, 12 Aug 2022 08:08:43 -0300 Subject: [PATCH 8/8] Change OutDir configuration for default_profiler project. --- builds/win32/msvc15/default_profiler.vcxproj | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/builds/win32/msvc15/default_profiler.vcxproj b/builds/win32/msvc15/default_profiler.vcxproj index ebce3a94fa5..d5394302477 100644 --- a/builds/win32/msvc15/default_profiler.vcxproj +++ b/builds/win32/msvc15/default_profiler.vcxproj @@ -107,10 +107,10 @@ AllRules.ruleset - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ - ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ + ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\ @@ -227,4 +227,4 @@ - \ No newline at end of file +