mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 00:03:02 +01:00
Paul Reeves
371cd3a01d
All code detecting the version of Visual Studio to use is now in setenvvar.bat. run_all.bat has a new feature - TESTENV which will print out the environment that will be used for the build and then quit.
127 lines
3.0 KiB
Batchfile
127 lines
3.0 KiB
Batchfile
|
|
@echo off
|
|
|
|
:: Reset or clear some variables, as appropriate.
|
|
set ERRLEV=0
|
|
set FBBUILD_NOCLEAN=
|
|
set FBBUILD_REAL_CLEAN=
|
|
set FBBUILD_BUILDTYPE=release
|
|
set FBBUILD_INCLUDE_PDB=
|
|
set FBBUILD_MAKE_KITS_ONLY=
|
|
set FBBUILD_BUILD_ONLY=0
|
|
set FBBUILD_TEST_ONLY=
|
|
|
|
::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) )
|
|
)
|
|
|
|
|
|
:: Read the command line
|
|
for %%v in ( %* ) do (
|
|
( if /I "%%v"=="NOCLEAN" (set FBBUILD_NOCLEAN=1) )
|
|
( if /I "%%v"=="REALCLEAN" (set FBBUILD_REAL_CLEAN=REALCLEAN) )
|
|
( if /I "%%v"=="DEBUG" (set FBBUILD_BUILDTYPE=debug) )
|
|
( if /I "%%v"=="PDB" (set FBBUILD_INCLUDE_PDB=1) )
|
|
( if /I "%%v"=="REPACK" (set FBBUILD_MAKE_KITS_ONLY=1) )
|
|
( if /I "%%v"=="JUSTBUILD" (set FBBUILD_BUILD_ONLY=1) )
|
|
( if /I "%%v"=="TESTENV" (set FBBUILD_TEST_ONLY=1) )
|
|
)
|
|
|
|
call :SETVCENV
|
|
if "%ERRLEV%"=="1" goto :END
|
|
|
|
if defined FBBUILD_TEST_ONLY ( goto TEST_ENV & goto :EOF )
|
|
|
|
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%)
|
|
:: We do not support debug builds of icu, so we don't pass %FBBUILD_BUILDTYPE%
|
|
call make_icu
|
|
if "%ERRLEV%"=="1" goto :END
|
|
call make_boot %FBBUILD_BUILDTYPE%
|
|
if "%ERRLEV%"=="1" goto :END
|
|
call make_all %FBBUILD_BUILDTYPE%
|
|
if "%ERRLEV%"=="1" goto :END
|
|
call make_examples %FBBUILD_BUILDTYPE%
|
|
if "%ERRLEV%"=="1" goto :END
|
|
|
|
if "%FBBUILD_BUILD_ONLY%"=="1" goto :END
|
|
|
|
:MAKE_KITS
|
|
:: Package everything up
|
|
pushd ..\install\arch-specific\win32
|
|
call BuildExecutableInstall ISX ZIP EMB %FBBUILD_BUILDTYPE%
|
|
if "%ERRLEV%"=="1" (
|
|
@echo Oops - some sort of error during packaging & popd & goto :END
|
|
)
|
|
if defined FBBUILD_INCLUDE_PDB (
|
|
set /A FBBUILD_PACKAGE_NUMBER-=1
|
|
call BuildExecutableInstall ISX ZIP EMB %FBBUILD_BUILDTYPE% PDB
|
|
)
|
|
popd
|
|
|
|
goto :END
|
|
::---------
|
|
|
|
:HELP
|
|
@echo.
|
|
@echo The following params may be passed:
|
|
@echo.
|
|
@echo NOCLEAN - don't run CLEAN_ALL.BAT
|
|
@echo.
|
|
@echo REALCLEAN - Run CLEAN_ALL.BAT REALCLEAN
|
|
@echo This will do a deeper clean.
|
|
@echo Recommended for multi-platform builds
|
|
@echo.
|
|
@echo DEBUG - Do a DEBUG build (for experienced developers only.)
|
|
@echo This switch is not needed to debug Firebird.
|
|
@echo.
|
|
@echo PDB - Create PDB packages as well as standard kits
|
|
@echo.
|
|
@echo REPACK - Don't build - just repack kits.
|
|
@echo.
|
|
@echo JUSTBUILD - Just build - don't create packages.
|
|
@echo.
|
|
@echo TESTENV - Sanity check - is Visual Studio available?.
|
|
@echo - print the build variables that will be used
|
|
@echo.
|
|
@goto :EOF
|
|
::---------
|
|
|
|
|
|
:SETVCENV
|
|
::===============================
|
|
:: Set up the compiler environment
|
|
|
|
@call setenvvar.bat
|
|
if "%ERRLEV%"=="1" goto :END
|
|
|
|
|
|
goto :END
|
|
::---------
|
|
|
|
|
|
:TEST_ENV
|
|
::===============================
|
|
:: Show variables
|
|
call :SETVCENV
|
|
if "%ERRLEV%"=="1" goto :END
|
|
echo.
|
|
set FB
|
|
set MS
|
|
set VC
|
|
set VS
|
|
echo.
|
|
goto :END
|
|
::---------
|
|
|
|
|
|
:END
|
|
|
|
if "%ERRLEV%"=="1" exit /b 1
|