8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 22:43:03 +01:00

Use @ consistently to produce cleaner output

and make debugging easier if case of problems
This commit is contained in:
Paul Reeves 2024-06-24 09:59:48 +02:00
parent 23d0fa5bfc
commit 7260bed4b7

View File

@ -40,7 +40,7 @@ if not defined FB2_SNAPSHOT (set FB2_SNAPSHOT=0)
:: See what we have on the command line
for %%v in ( %* ) do (
@for %%v in ( %* ) do (
( if /I "%%v"=="DEBUG" (set FBBUILD_BUILDTYPE=debug) )
( if /I "%%v"=="PDB" (set FBBUILD_SHIP_PDB=ship_pdb) )
( if /I "%%v"=="ZIP" (set FBBUILD_ZIP_PACK=1) )
@ -48,7 +48,7 @@ for %%v in ( %* ) do (
( if /I "%%v"=="ALL" ( (set FBBUILD_ZIP_PACK=1) & (set FBBUILD_ISX_PACK=1) ) )
)
::Are we doing a snapshot build? If so we always do less work.
:: Are we doing a snapshot build? If so we always do less work.
if "%FB2_SNAPSHOT%"=="1" (
(set FBBUILD_ISX_PACK=0)
)
@ -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 | findstr version > 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 | findstr version > 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 (
@ -80,26 +80,28 @@ if defined TOUCH_COMMAND (
@for /f "usebackq tokens=*" %%c in (`where /f md5sum 2^>nul`) do set MD5_COMMAND=%%c
if defined MD5_COMMAND (
@echo o POSIX md5sum utility found at %MD5_COMMAND%
echo o POSIX md5sum utility found at %MD5_COMMAND%
)
if %FBBUILD_ZIP_PACK% EQU 1 (
@if %FBBUILD_ZIP_PACK% EQU 1 (
if not defined SEVENZIP (
call :ERROR SEVENZIP environment variable is not defined.
@goto :EOF
) else (@echo o Compression utility found.)
goto :EOF
) else (
echo o Compression utility found.
)
)
if %FBBUILD_ISX_PACK% NEQ 1 goto :SKIP_INNO
@if %FBBUILD_ISX_PACK% NEQ 1 goto :SKIP_INNO
if defined INNO6_SETUP_PATH (
@if defined INNO6_SETUP_PATH (
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 (
@for /f "usebackq tokens=*" %%c in (`where /f iscc 2^>nul`) do set ISCC_COMMAND=%%c
@if not defined ISCC_COMMAND (
for /f "usebackq tokens=*" %%c in ( `where /f iscc 2^>nul` ) do set ISCC_COMMAND=%%c
)
if not defined ISCC_COMMAND (
@if not defined ISCC_COMMAND (
@echo Required Inno Setup compiler not found
@exit /b 1
)
@ -107,23 +109,23 @@ if not defined ISCC_COMMAND (
:SKIP_INNO
if not defined WIX (
@echo.
@echo The WIX environment var not defined.
@echo WiX is needed to build the MSI kits of the CRT runtimes.
@echo.
@if not defined WIX (
echo.
echo The WIX environment var not defined.
echo WiX is needed to build the MSI kits of the CRT runtimes.
echo.
) else (
@echo o WiX found at "%WIX%".
echo o WiX found at "%WIX%".
)
if not defined FB_EXTERNAL_DOCS (
@echo.
@echo The FB_EXTERNAL_DOCS environment var is not defined
@echo It should point to the directory containing the relevant release notes
@echo in adobe pdf format.
@echo.
@if not defined FB_EXTERNAL_DOCS (
echo.
echo The FB_EXTERNAL_DOCS environment var is not defined
echo It should point to the directory containing the relevant release notes
echo in adobe pdf format.
echo.
) else (
@echo o Package will include documentation from "%FB_EXTERNAL_DOCS%".
echo o Package will include documentation from "%FB_EXTERNAL_DOCS%".
)
@ -136,59 +138,59 @@ if not defined FB_EXTERNAL_DOCS (
::==========
:: Cut off everything that is not #define to let Inno Setup use it
findstr /B /L "#define" "%FB_ROOT_PATH%\src\jrd\build_no.h" >"%FB_ROOT_PATH%\gen\jrd\build_no.h"
@findstr /B /L "#define" "%FB_ROOT_PATH%\src\jrd\build_no.h" >"%FB_ROOT_PATH%\gen\jrd\build_no.h"
:: Read version parameters from build_no.h
for /F "tokens=2*" %%a in (%FB_ROOT_PATH%\gen\jrd\build_no.h) do (
@echo Setting %%a to %%~b
SET %%a=%%~b
@for /F "tokens=2*" %%a in ( %FB_ROOT_PATH%\gen\jrd\build_no.h ) do (
echo Setting %%a to %%~b
SET %%a=%%~b
)
:: Set our package number at 0 and increment every
:: time we rebuild in a single session
if not defined FBBUILD_PACKAGE_NUMBER (
set FBBUILD_PACKAGE_NUMBER=0
@if not defined FBBUILD_PACKAGE_NUMBER (
set FBBUILD_PACKAGE_NUMBER=0
) else (
set /A FBBUILD_PACKAGE_NUMBER+=1
)
@echo Setting FBBUILD_PACKAGE_NUMBER to %FBBUILD_PACKAGE_NUMBER%
:: If a suffix is defined (usually for an RC) ensure it is prefixed correctly.
if defined FBBUILD_FILENAME_SUFFIX (
if not "%FBBUILD_FILENAME_SUFFIX:~0,1%"=="-" (
(set FBBUILD_FILENAME_SUFFIX=-%FBBUILD_FILENAME_SUFFIX%)
)
@if defined FBBUILD_FILENAME_SUFFIX (
if not "%FBBUILD_FILENAME_SUFFIX:~0,1%"=="-" (
set FBBUILD_FILENAME_SUFFIX=-%FBBUILD_FILENAME_SUFFIX%
)
)
:: Set up our final destination
set FBBUILD_INSTALL_IMAGES=%FB_ROOT_PATH%\builds\install_images
if not exist "%FBBUILD_INSTALL_IMAGES%" (mkdir "%FBBUILD_INSTALL_IMAGES%")
@if not exist "%FBBUILD_INSTALL_IMAGES%" ( mkdir "%FBBUILD_INSTALL_IMAGES%" )
:: Determine Product Status
if %FB_BUILD_TYPE%==V (
set FBBUILD_PROD_STATUS=PROD
@if %FB_BUILD_TYPE%==V (
set FBBUILD_PROD_STATUS=PROD
) else (
set FBBUILD_PROD_STATUS=DEV
set FBBUILD_PROD_STATUS=DEV
)
set FBBUILD_FILE_ID=%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%-%FB_TARGET_PLATFORM%
@set FBBUILD_FILE_ID=%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%-%FB_TARGET_PLATFORM%
@setlocal
@echo.
@if not exist %FB_GEN_DIR%\readmes (@mkdir %FB_GEN_DIR%\readmes)
set SED_COMMAND=sed -e s/\$MAJOR/%FB_MAJOR_VER%/g ^
@if not exist %FB_GEN_DIR%\readmes ( mkdir %FB_GEN_DIR%\readmes )
@set SED_COMMAND=sed -e s/\$MAJOR/%FB_MAJOR_VER%/g ^
-e s/\$MINOR/%FB_MINOR_VER%/g ^
-e s/\$RELEASE/%FB_REV_NO%/g
@echo Processing version strings in Readme_%FBBUILD_PROD_STATUS%.txt
@%SED_COMMAND% Readme_%FBBUILD_PROD_STATUS%.txt > %FB_GEN_DIR%\readmes\Readme.txt
@for %%f in (installation_readme.txt) do (
@echo Processing version strings in %%f
@%SED_COMMAND% %%f > %FB_GEN_DIR%\readmes\%%f
@for %%f in ( installation_readme.txt installation_scripted.txt ) do (
echo Processing version strings in %%f
%SED_COMMAND% %%f > %FB_GEN_DIR%\readmes\%%f
)
@for %%d in (ba cz de es fr hu it pl pt ru si ) do (
@if not exist %FB_GEN_DIR%\readmes\%%d (@mkdir %FB_GEN_DIR%\readmes\%%d)
@for %%f in ( %%d\*.txt ) do (
@echo Processing version strings in %%f
@%SED_COMMAND% %%f > %FB_GEN_DIR%\readmes\%%f
if not exist %FB_GEN_DIR%\readmes\%%d ( mkdir %FB_GEN_DIR%\readmes\%%d )
for %%f in ( %%d\*.txt ) do (
echo Processing version strings in %%f
%SED_COMMAND% %%f > %FB_GEN_DIR%\readmes\%%f
)
)
@ -207,49 +209,49 @@ set SED_COMMAND=sed -e s/\$MAJOR/%FB_MAJOR_VER%/g ^
:: We are forced to set this because the runtime library now (MSVC15)
:: has a different version to the compiler. And sometimes they use 141
:: and sometimes 140.
if %MSVC_VERSION% EQU 15 (
@set MSVC_RUNTIME_MAJOR_VERSION=14
@set MSVC_RUNTIME_MINOR_VERSION_0=0
@set MSVC_RUNTIME_MINOR_VERSION_1=1
@if %MSVC_VERSION% EQU 15 (
set MSVC_RUNTIME_MAJOR_VERSION=14
set MSVC_RUNTIME_MINOR_VERSION_0=0
set MSVC_RUNTIME_MINOR_VERSION_1=1
) else (
@set MSVC_RUNTIME_VERSION=%MSVC_VERSION%0
set MSVC_RUNTIME_VERSION=%MSVC_VERSION%0
)
@echo Copying MSVC runtime libraries...
@if not exist %FB_OUTPUT_DIR%\system32 (
@mkdir %FB_OUTPUT_DIR%\system32
mkdir %FB_OUTPUT_DIR%\system32
)
for %%f in ( msvcp%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_0%.dll vcruntime%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_0%.dll ) do (
@for %%f in ( msvcp%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_0%.dll vcruntime%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_0%.dll ) do (
echo Copying "%VCToolsRedistDir%\%VSCMD_ARG_TGT_ARCH%\Microsoft.VC%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%.CRT\%%f"
copy "%VCToolsRedistDir%\%VSCMD_ARG_TGT_ARCH%\Microsoft.VC%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%.CRT\%%f" %FB_OUTPUT_DIR%\ >nul
if %ERRORLEVEL% GEQ 1 (
call :ERROR Copying "%VCToolsRedistDir%\%VSCMD_ARG_TGT_ARCH%\Microsoft.VC%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%.CRT\%%f" failed with error %ERRORLEVEL% ) && (goto :EOF)
call :ERROR Copying "%VCToolsRedistDir%\%VSCMD_ARG_TGT_ARCH%\Microsoft.VC%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%.CRT\%%f" failed with error %ERRORLEVEL% & goto :EOF
)
)
@where /Q implib.exe
@if not errorlevel 1 (
if "%VSCMD_ARG_TGT_ARCH%"=="x86" (
@echo Generating fbclient_bor.lib
@implib %FB_OUTPUT_DIR%\lib\fbclient_bor.lib %FB_OUTPUT_DIR%\fbclient.dll > nul
)
@if not ERRORLEVEL 1 (
if "%VSCMD_ARG_TGT_ARCH%"=="x86" (
echo Generating fbclient_bor.lib
implib %FB_OUTPUT_DIR%\lib\fbclient_bor.lib %FB_OUTPUT_DIR%\fbclient.dll > nul
)
)
@if "%FBBUILD_SHIP_PDB%"=="ship_pdb" (
@echo Copying pdb files...
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\fbserver\firebird.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\burp\burp.pdb %FB_OUTPUT_DIR%\gbak.pdb > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\gfix\gfix.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\isql\isql.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\yvalve\fbclient.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\engine\engine*.pdb %FB_OUTPUT_DIR%\plugins\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\fbtrace\fbtrace.pdb %FB_OUTPUT_DIR%\plugins\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\legacy_auth\legacy_auth.pdb %FB_OUTPUT_DIR%\plugins\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\legacy_usermanager\legacy_usermanager.pdb %FB_OUTPUT_DIR%\plugins\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\srp\srp.pdb %FB_OUTPUT_DIR%\plugins\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\udr_engine\udr_engine.pdb %FB_OUTPUT_DIR%\plugins\ > nul
echo Copying pdb files...
copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\fbserver\firebird.pdb %FB_OUTPUT_DIR%\ > nul
copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\burp\burp.pdb %FB_OUTPUT_DIR%\gbak.pdb > nul
copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\gfix\gfix.pdb %FB_OUTPUT_DIR%\ > nul
copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\isql\isql.pdb %FB_OUTPUT_DIR%\ > nul
copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\yvalve\fbclient.pdb %FB_OUTPUT_DIR%\ > nul
copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\engine\engine*.pdb %FB_OUTPUT_DIR%\plugins\ > nul
copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\fbtrace\fbtrace.pdb %FB_OUTPUT_DIR%\plugins\ > nul
copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\legacy_auth\legacy_auth.pdb %FB_OUTPUT_DIR%\plugins\ > nul
copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\legacy_usermanager\legacy_usermanager.pdb %FB_OUTPUT_DIR%\plugins\ > nul
copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\srp\srp.pdb %FB_OUTPUT_DIR%\plugins\ > nul
copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\udr_engine\udr_engine.pdb %FB_OUTPUT_DIR%\plugins\ > nul
)
@echo Started copying docs...
@ -257,74 +259,61 @@ if "%VSCMD_ARG_TGT_ARCH%"=="x86" (
@mkdir %FB_OUTPUT_DIR%\doc
@copy %FB_ROOT_PATH%\*.md %FB_OUTPUT_DIR%\doc\ > nul
@copy %FB_ROOT_PATH%\doc\*.* %FB_OUTPUT_DIR%\doc\ > nul
@if %ERRORLEVEL% GEQ 1 (
call :ERROR COPY of main documentation tree failed with error %ERRORLEVEL%
@if ERRORLEVEL 1 (
call :ERROR COPY of main documentation tree failed.
goto :EOF
)
:: Various upgrade scripts and docs
for %%d in ( v3.0 v4.0 ) do (
@echo Copy various upgrade scripts and docs
@for %%d in ( v3.0 v4.0 ) do (
mkdir %FB_OUTPUT_DIR%\misc\upgrade\%%d 2>nul
@copy %FB_ROOT_PATH%\src\misc\upgrade\%%d\*.* %FB_OUTPUT_DIR%\misc\upgrade\%%d > nul
@if %ERRORLEVEL% GEQ 1 (
call :ERROR copy %FB_ROOT_PATH%\src\misc\upgrade\%%d\*.* %FB_OUTPUT_DIR%\misc\upgrade\%%d failed with error %ERRORLEVEL%.
copy %FB_ROOT_PATH%\src\misc\upgrade\%%d\*.* %FB_OUTPUT_DIR%\misc\upgrade\%%d > nul
if ERRORLEVEL 1 (
call :ERROR copy %FB_ROOT_PATH%\src\misc\upgrade\%%d\*.* %FB_OUTPUT_DIR%\misc\upgrade\%%d failed.
goto :EOF
)
)
:: INTL script
@echo Copy INTL script
@copy %FB_ROOT_PATH%\src\misc\intl.sql %FB_OUTPUT_DIR%\misc\ > nul
@if %ERRORLEVEL% GEQ 1 (
call :ERROR copy %FB_ROOT_PATH%\src\misc\intl.sql %FB_OUTPUT_DIR%\misc failed with error %ERRORLEVEL%.
@if ERRORLEVEL 1 (
call :ERROR copy %FB_ROOT_PATH%\src\misc\intl.sql %FB_OUTPUT_DIR%\misc failed.
goto :EOF
)
@echo Copying other documentation...
@copy %FB_GEN_DIR%\readmes\installation_readme.txt %FB_OUTPUT_DIR%\doc\installation_readme.txt > nul
:: FIX ME - we now have some .md files and ChangeLog is no longer a monster.
:: Maybe we can just do nothing here.
:: If we are not doing a final release then include stuff that is
:: likely to be of use to testers, especially as our release notes
:: may be incomplete or non-existent
::@if /I "%FBBUILD_PROD_STATUS%"=="DEV" (
:: @copy %FB_ROOT_PATH%\ChangeLog %FB_OUTPUT_DIR%\doc\ChangeLog.txt > nul
::)
@mkdir %FB_OUTPUT_DIR%\doc\sql.extensions 2>nul
@if %ERRORLEVEL% GEQ 2 ( (call :ERROR MKDIR for doc\sql.extensions dir failed) & (@goto :EOF))
@if ERRORLEVEL 2 ( ( call :ERROR MKDIR for doc\sql.extensions dir failed) & ( goto :EOF ) )
@copy %FB_ROOT_PATH%\doc\sql.extensions\*.* %FB_OUTPUT_DIR%\doc\sql.extensions\ > nul
@if %ERRORLEVEL% GEQ 1 ( (call :ERROR Copying doc\sql.extensions failed ) & (goto :EOF))
@if ERRORLEVEL 1 ( ( call :ERROR Copying doc\sql.extensions failed ) & ( goto :EOF ) )
:: External docs aren't necessary for a snapshot build, so we don't throw
:: an error if FB_EXTERNAL_DOCS is not defined. On the other hand,
:: if the docs are available then we can include them.
if defined FB_EXTERNAL_DOCS (
@echo Copying pdf docs...
@for %%v in ( Firebird_v%FB_MAJOR_VER%.%FB_MINOR_VER%.%FB_REV_NO%.ReleaseNotes.pdf ) do (
@echo ... %%v
@copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul
if %ERRORLEVEL% GEQ 1 (call :ERROR Copying %FB_EXTERNAL_DOCS%\%%v failed.)
)
@for %%v in ( Firebird-%FB_MAJOR_VER%.%FB_MINOR_VER%-QuickStart.pdf ) do (
@echo ... %%v
@copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul
if %ERRORLEVEL% GEQ 1 (
REM - As of RC1 there is no quick start guide so we do not want
REM the packaging to fail for something that doesn't exist
if "%FBBUILD_FILENAME_SUFFIX%" == "-RC1" (
echo Copying %FB_EXTERNAL_DOCS%\%%v failed.
) else (
call :ERROR Copying %FB_EXTERNAL_DOCS%\%%v failed.
)
:: if the docs are available then we must include them.
@if defined FB_EXTERNAL_DOCS (
echo Copying essential pdf docs...
for %%v in ( Firebird_v%FB_MAJOR_VER%.%FB_MINOR_VER%.%FB_REV_NO%.ReleaseNotes.pdf ) do (
echo ... %FB_EXTERNAL_DOCS%\%%v to %FB_OUTPUT_DIR%\doc\%%v
copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul
if ERRORLEVEL 1 (
call :ERROR Copying %FB_EXTERNAL_DOCS%\%%v to %FB_OUTPUT_DIR%\doc\%%v FAILED. & goto :EOF
)
)
echo Copying optional pdf docs...
for %%v in ( Firebird-%FB_MAJOR_VER%.%FB_MINOR_VER%-QuickStart.pdf ) do (
echo ... %%v
copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul
if ERRORLEVEL 1 (
call :WARNING Copying %FB_EXTERNAL_DOCS%\%%v to %FB_OUTPUT_DIR%\doc\%%v FAILED. & @goto :EOF
)
)
@echo Finished copying pdf docs...
@echo.
echo Finished copying pdf docs...
echo.
)
@echo Cleaning irrelevant files...
@ -341,7 +330,7 @@ for %%v in (IPLicense.txt IDPLicense.txt ) do (
)
:: And readme
@copy %FB_GEN_DIR%\readmes\Readme.txt %FB_OUTPUT_DIR%\ > nul
@copy %FB_GEN_DIR%\readmes\Readme.txt %FB_OUTPUT_DIR%\ > nul
:: Walk through all docs and transform any that are not .txt, .pdf or .html to .txt
@echo Setting .txt filetype to ascii docs.
@ -359,8 +348,8 @@ for /R %FB_OUTPUT_DIR%\doc %%v in ( * ) do (
)
)
if %FB2_SNAPSHOT% EQU 1 (
@copy %FB_ROOT_PATH%\builds\install\arch-specific\win32\readme_snapshot.txt %FB_OUTPUT_DIR%\readme_snapshot.txt > nul
@if %FB2_SNAPSHOT% EQU 1 (
copy %FB_ROOT_PATH%\builds\install\arch-specific\win32\readme_snapshot.txt %FB_OUTPUT_DIR%\readme_snapshot.txt > nul
)
@echo Completed copying docs.
@ -376,17 +365,17 @@ if %FB2_SNAPSHOT% EQU 1 (
:: Generate runtimes as an MSI file.
:: This requires WiX 3.0 to be installed
::============
if %MSVC_VERSION% EQU 15 (
@if %MSVC_VERSION% EQU 15 (
if not exist %FB_OUTPUT_DIR%\system32\vccrt%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%_%FB_TARGET_PLATFORM%.msi (
"%WIX%\bin\candle.exe" -v -sw1091 %FB_ROOT_PATH%\builds\win32\msvc%MSVC_VERSION%\VCCRT_%FB_TARGET_PLATFORM%.wxs -out %FB_GEN_DIR%\vccrt_%FB_TARGET_PLATFORM%.wixobj
@if %ERRORLEVEL% GEQ 1 (
( call :ERROR Could not generate wixobj for MSVC Runtime MSI ) & (goto :EOF)
if ERRORLEVEL 1 (
( call :ERROR Could not generate wixobj for MSVC Runtime MSI ) & ( goto :EOF )
) else (
"%WIX%\bin\light.exe" -sw1076 %FB_GEN_DIR%\vccrt_%FB_TARGET_PLATFORM%.wixobj -out %FB_OUTPUT_DIR%\system32\vccrt%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%_%FB_TARGET_PLATFORM%.msi
@if %ERRORLEVEL% GEQ 1 ( (call :ERROR Could not generate MSVCC Runtime MSI ) & (goto :EOF))
if %ERRORLEVEL% GEQ 1 ( (call :ERROR Could not generate MSVCC Runtime MSI ) & (goto :EOF))
)
) else (
@echo Using an existing build of %FB_OUTPUT_DIR%\system32\vccrt%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%_%FB_TARGET_PLATFORM%.msi
echo Using an existing build of %FB_OUTPUT_DIR%\system32\vccrt%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%_%FB_TARGET_PLATFORM%.msi
)
)
@ -398,20 +387,20 @@ if %MSVC_VERSION% EQU 15 (
:INCLUDE_DIR
::==========
:: Prepare other files needed for deployment to /include dir
setlocal
@setlocal
:: grab some missing bits'n'pieces from different parts of the source tree
::=========================================================================
@echo Copying ib_util etc
@copy %FB_ROOT_PATH%\src\extlib\ib_util.h %FB_OUTPUT_DIR%\include > nul || (call :WARNING Copying ib_util.h failed. && @goto :EOF )
@copy %FB_ROOT_PATH%\lang_helpers\ib_util.pas %FB_OUTPUT_DIR%\include > nul || (call :WARNING Copying ib_util.pas failed. && @goto :EOF )
@copy %FB_ROOT_PATH%\src\extlib\ib_util.h %FB_OUTPUT_DIR%\include > nul || (call :WARNING Copying ib_util.h failed. & goto :EOF )
@copy %FB_ROOT_PATH%\lang_helpers\ib_util.pas %FB_OUTPUT_DIR%\include > nul || (call :WARNING Copying ib_util.pas failed. & goto :EOF )
@echo Copying other include files required for development...
set OUTPATH=%FB_OUTPUT_DIR%\include
@copy %FB_ROOT_PATH%\src\yvalve\perf.h %OUTPATH%\ > nul
@copy %FB_ROOT_PATH%\src\include\gen\firebird.pas %OUTPATH%\firebird\ > nul || (@call :ERROR Failure executing copy %FB_ROOT_PATH%\src\include\gen\firebird.pas %OUTPATH%\firebird\ )
@if %ERRLEV% GEQ 1 goto :END
@if ERRORLEVEL 1 goto :END
endlocal
@endlocal
::End of INCLUDE_DIR
::------------------
@ -422,7 +411,7 @@ endlocal
:: Generate sample databases file
::===============================
@echo Creating sample databases.conf
copy %FB_ROOT_PATH%\builds\install\misc\databases.conf %FB_OUTPUT_DIR%\databases.conf > nul
@copy %FB_ROOT_PATH%\builds\install\misc\databases.conf %FB_OUTPUT_DIR%\databases.conf > nul
::End of DB_CONF
::-----------------
@ -451,8 +440,8 @@ copy %FB_ROOT_PATH%\builds\install\misc\databases.conf %FB_OUTPUT_DIR%\databases
:: in builds\win32 by build_msg.bat. Copying from there to output dir
::=================================================================
@if not exist %FB_OUTPUT_DIR%\firebird.msg (
(@copy %FB_GEN_DIR%\firebird.msg %FB_OUTPUT_DIR%\firebird.msg > nul)
(@if %ERRORLEVEL% GEQ 1 ( (call :ERROR Could not copy firebird.msg ) & (goto :EOF)))
copy %FB_GEN_DIR%\firebird.msg %FB_OUTPUT_DIR%\firebird.msg > nul
if ERRORLEVEL 1 ( call :ERROR Could not copy firebird.msg & goto :EOF )
)
::End of FB_MSG
@ -464,7 +453,7 @@ copy %FB_ROOT_PATH%\builds\install\misc\databases.conf %FB_OUTPUT_DIR%\databases
:: Get a list of all files in the tree make sure
:: 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 (
@for /R %FB_OUTPUT_DIR% %%W in ( *.txt *.conf *.sql *.c *.cpp *.hpp *.h *.bat *.pas *.e *.def *.rc *.md *.html ) do (
unix2dos --quiet --safe %%W || exit /b 1
)
@ -476,11 +465,11 @@ for /R %FB_OUTPUT_DIR% %%W in ( *.txt *.conf *.sql *.c *.cpp *.hpp *.h *.bat *.p
:ZIP_PACK
::=======
:: Forcefully disable delayed expansion because of exclamation marks in 7z switches
setlocal DisableDelayedExpansion
@setlocal DisableDelayedExpansion
set SKIP_FILES=-x!installation_readme.txt
@set SKIP_FILES=-x!installation_readme.txt
if "%FBBUILD_SHIP_PDB%" == "ship_pdb" (
@if "%FBBUILD_SHIP_PDB%" == "ship_pdb" (
set FBBUILD_ZIPFILE=%FBBUILD_INSTALL_IMAGES%\Firebird-%FBBUILD_FILE_ID%-pdb%FBBUILD_FILENAME_SUFFIX%.zip
) else (
set FBBUILD_ZIPFILE=%FBBUILD_INSTALL_IMAGES%\Firebird-%FBBUILD_FILE_ID%%FBBUILD_FILENAME_SUFFIX%.zip
@ -488,17 +477,15 @@ if "%FBBUILD_SHIP_PDB%" == "ship_pdb" (
)
:: No need to ship this file with the msi runtime
set SKIP_FILES=%SKIP_FILES% -x!*.wixpdb
@set SKIP_FILES=%SKIP_FILES% -x!*.wixpdb
if "%FB2_EXAMPLES%" == "0" set SKIP_FILES=%SKIP_FILES% -xr-!examples
@if "%FB2_EXAMPLES%" == "0" set SKIP_FILES=%SKIP_FILES% -xr-!examples
if exist %FBBUILD_ZIPFILE% (
@del %FBBUILD_ZIPFILE%
)
@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
@endlocal
::End of ZIP_PACK
::----------------
@ -514,7 +501,7 @@ endlocal
::
::=================================================
@echo.
call %ISCC_COMMAND% %FB_ROOT_PATH%\builds\install\arch-specific\win32\FirebirdInstall.iss
@call %ISCC_COMMAND% %FB_ROOT_PATH%\builds\install\arch-specific\win32\FirebirdInstall.iss
@echo.
::End of ISX_PACK
@ -526,22 +513,24 @@ call %ISCC_COMMAND% %FB_ROOT_PATH%\builds\install\arch-specific\win32\FirebirdIn
::=========
:: Generate the md5sum checksum file
::==================================
if not defined MD5_COMMAND (
@if not defined MD5_COMMAND (
call :WARNING md5sum utility not found. Cannot generate md5 sums.
@goto :EOF
goto :EOF
)
@echo Generating md5sums for Firebird-%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%
:: write sums into temporary file to avoid including it into the process
pushd %FBBUILD_INSTALL_IMAGES%
call %MD5_COMMAND% Firebird-%PRODUCT_VER_STRING%?%FBBUILD_PACKAGE_NUMBER%*.* >md5sum.tmp
@pushd %FBBUILD_INSTALL_IMAGES%
@call %MD5_COMMAND% Firebird-%PRODUCT_VER_STRING%?%FBBUILD_PACKAGE_NUMBER%*.* >md5sum.tmp
:: then rename it to the proper name
if not errorlevel 1 (
@if not ERRORLEVEL 1 (
del Firebird-%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%.md5sum >nul 2>nul
ren md5sum.tmp Firebird-%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%.md5sum
) else (
echo Error calling %0 & popd & @goto :END
)
popd
@popd
::End of DO_MD5SUMS
::-----------------
@ -605,7 +594,7 @@ popd
:ERROR
::====
:: errorlevel gets reset automatically so capture it before we lose it.
set ERRLEV=%errorlevel%
@set ERRLEV=%ERRORLEVEL%
@echo.
@echo Error %ERRLEV% in BuildExecutableInstall
@echo %*
@ -617,19 +606,19 @@ set ERRLEV=%errorlevel%
:WARNING
::======
set ERRLEV=%ERRORLEVEL%
@set ERRLEV=%ERRORLEVEL%
@echo.
@echo **** WARNING - Execution of a non-critical component failed with error level %ERRLEV%. ****
@echo %*
@echo.
if "%FBBUILD_PROD_STATUS%"=="PROD" (
@echo.
@echo Production status is Final or Release Candidate
@echo Error %ERRLEV% must be fixed before continuing
@echo.
@if "%FBBUILD_PROD_STATUS%" == "PROD" (
echo.
echo Production status is Final or Release Candidate
echo Error %ERRLEV% must be fixed before continuing
echo.
) else (
set ERRLEV=0
@ver > nul
set ERRLEV=
ver > nul
)
::End of WARNING
::--------------
@ -639,16 +628,16 @@ set ERRLEV=0
:MAIN
::====
::Check if on-line help is required
for %%v in ( %1 %2 %3 %4 %5 %6 %7 %8 %9 ) do (
( @if /I "%%v"=="-h" (goto :HELP & goto :EOF) )
( @if /I "%%v"=="/h" (goto :HELP & goto :EOF) )
( @if /I "%%v"=="HELP" (goto :HELP & goto :EOF) )
@for %%v in ( %1 %2 %3 %4 %5 %6 %7 %8 %9 ) do (
if /I "%%v"=="-h" ( goto :HELP & goto :EOF )
if /I "%%v"=="/h" ( goto :HELP & goto :EOF )
if /I "%%v"=="HELP" ( goto :HELP & goto :EOF )
)
pushd ..\..\..\win32
::This must be called from the directory it resides in.
@call setenvvar.bat
@if ERRORLEVEL 1 (popd & (call :ERROR Failure after calling setenvvar.bat ) & goto :END )
@if ERRORLEVEL 1 ( popd & ( call :ERROR Failure after calling setenvvar.bat ) & goto :END )
popd
@if errorlevel 1 (goto :END)
@ -656,63 +645,62 @@ popd
@echo.
@echo Reading command-line parameters...
@(@call :SET_PARAMS %* )
@if "%ERRLEV%"=="1" (@goto :ERROR %errorlevel% calling SET_PARAMS && @goto :END)
@(call :SET_PARAMS %* )
@if ERRORLEVEL 1 (call :ERROR Calling SET_PARAMS & goto :END)
@echo.
@echo Checking that all required components are available...
@(@call :CHECK_ENVIRONMENT ) || (@echo Error calling CHECK_ENVIRONMENT && @goto :END)
@( call :CHECK_ENVIRONMENT ) || ( echo Error calling CHECK_ENVIRONMENT & goto :END )
@echo.
@echo Setting version number...
@(@call :SET_VERSION ) || (@echo Error calling SET_VERSION && @goto :END)
@( call :SET_VERSION ) || ( echo Error calling SET_VERSION & goto :END )
@echo.
@echo Copying additional files needed for installation, documentation etc.
@(@call :COPY_XTRA ) || (@echo Error calling COPY_XTRA && @goto :END )
@( call :COPY_XTRA ) || ( echo Error calling COPY_XTRA & @goto :END )
@echo.
:: WIX is not necessary for a snapshot build, so we don't throw
:: an error if WIX is not defined. On the other hand,
:: if it is there anyway, use it.
if defined WIX (
@echo Building MSI runtimes
@(@call :BUILD_CRT_MSI ) || (@echo Error calling BUILD_CRT_MSI && @goto :END)
@echo.
@if defined WIX (
echo Building MSI runtimes
( call :BUILD_CRT_MSI ) || ( echo Error calling BUILD_CRT_MSI & goto :END )
echo.
)
@echo Prepare include directory
@(@call :INCLUDE_DIR ) || (@echo Error calling INCLUDE_DIR && @goto :END)
@( call :INCLUDE_DIR ) || ( echo Error calling INCLUDE_DIR & goto :END )
@echo.
@echo Writing databases conf
@(@call :DB_CONF ) || (@echo Error calling DB_CONF && @goto :END)
@( call :DB_CONF ) || ( echo Error calling DB_CONF & goto :END )
@echo.
@echo Copying miscellany such as the QLI help database
@(@call :MISC ) || (@echo Error calling MISC & @goto :END)
@( call :MISC ) || ( echo Error calling MISC & goto :END)
@echo.
@echo Copying firebird.msg
@(@call :FB_MSG ) || (@echo Error calling FB_MSG && @goto :END)
@( call :FB_MSG ) || ( echo Error calling FB_MSG & goto :END )
@echo.
@echo Fix up line endings...
@(@call :SET_CRLF ) || (@echo Error calling SET_CRLF && @goto :EOF)
@( call :SET_CRLF ) || ( echo Error calling SET_CRLF & goto :EOF )
@echo.
if %FBBUILD_ZIP_PACK% EQU 1 (
@echo Zipping files for zip pack
@(@call :ZIP_PACK ) || (@echo Error calling ZIP_PACK && @goto :END)
@echo.
@if %FBBUILD_ZIP_PACK% EQU 1 (
echo Zipping files for zip pack
( call :ZIP_PACK ) || ( echo Error calling ZIP_PACK & goto :END )
echo.
)
if %FBBUILD_ISX_PACK% EQU 1 (
@echo Now let's compile the InnoSetup scripts
@(@call :ISX_PACK ) || (@echo Error calling ISX_PACK && @goto :END)
@echo.
@if %FBBUILD_ISX_PACK% EQU 1 (
echo Now let's compile the InnoSetup scripts
( call :ISX_PACK ) || ( echo Error calling ISX_PACK & goto :END )
echo.
)
@(@call :DO_MD5SUMS ) || (@echo Error calling DO_MD5SUMS && @goto :END)
@( call :DO_MD5SUMS ) || ( echo Error calling DO_MD5SUMS & goto :END)
@echo.
@echo Completed building installation kit(s)
@ -722,7 +710,6 @@ if %FBBUILD_ISX_PACK% EQU 1 (
:: because run_all.bat will check for ERRLEV
@set ERRLEV=
::@if %FB2_ISS_DEBUG% equ 0 (ENDLOCAL)
::End of MAIN
::-----------
@goto :END