mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 21:23:03 +01:00
217 lines
5.5 KiB
Batchfile
217 lines
5.5 KiB
Batchfile
::
|
|
:: This bat file doesn't use cd, all the paths are full paths.
|
|
:: with this convention this bat file is position independent
|
|
:: and it will be easier to move the place of somefiles.
|
|
::
|
|
|
|
@echo off
|
|
set ERRLEV=0
|
|
|
|
:CHECK_ENV
|
|
@call setenvvar.bat
|
|
@if errorlevel 1 (goto :END)
|
|
|
|
@call set_build_target.bat %*
|
|
|
|
|
|
::===========
|
|
:MAIN
|
|
@echo.
|
|
@echo Copy autoconfig.h
|
|
@del %FB_ROOT_PATH%\src\include\gen\autoconfig.h 2> nul
|
|
@copy %FB_ROOT_PATH%\src\include\gen\autoconfig_msvc.h %FB_ROOT_PATH%\src\include\gen\autoconfig.h > nul
|
|
@echo Creating directories
|
|
@rmdir /s /q %FB_GEN_DIR% 2>nul
|
|
:: Remove previously generated output, and recreate the directory hierarchy. Note the exceptions to the rule!
|
|
for %%v in ( alice burp dsql dudley gpre isql journal jrd misc msgs qli examples ) do (
|
|
if NOT "%%v"=="journal" (@mkdir %FB_GEN_DIR%\%%v )
|
|
)
|
|
|
|
@rmdir /s /q %FB_GEN_DIR%\utilities 2>nul
|
|
@mkdir %FB_GEN_DIR%\utilities 2>nul
|
|
@mkdir %FB_GEN_DIR%\utilities\gstat 2>nul
|
|
@mkdir %FB_GEN_DIR%\utilities\gsec 2>nul
|
|
|
|
::=======
|
|
call :btyacc
|
|
if "%ERRLEV%"=="1" goto :END
|
|
@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\bin\btyacc.exe %FB_GEN_DIR%\ > nul
|
|
|
|
@echo Generating DSQL parser...
|
|
@call parse.bat
|
|
if "%ERRLEV%"=="1" goto :END
|
|
|
|
::=======
|
|
@echo.
|
|
@echo Building BLR Table
|
|
@call blrtable.bat
|
|
|
|
::=======
|
|
call :gpre_boot
|
|
if "%ERRLEV%"=="1" goto :END
|
|
@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\bin\gpre_boot.exe %FB_GEN_DIR% > nul
|
|
|
|
::=======
|
|
@echo Preprocessing the source files needed to build gbak_embed, gpre_embed and isql_embed...
|
|
@call preprocess.bat BOOT
|
|
::=======
|
|
call :gbak_embed
|
|
if "%ERRLEV%"=="1" goto :END
|
|
|
|
call :gpre_embed
|
|
if "%ERRLEV%"=="1" goto :END
|
|
|
|
call :isql_embed
|
|
if "%ERRLEV%"=="1" goto :END
|
|
|
|
@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\bin\gbak_embed.exe %FB_GEN_DIR% > nul
|
|
@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\bin\gpre_embed.exe %FB_GEN_DIR% > nul
|
|
@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\bin\isql_embed.exe %FB_GEN_DIR% > nul
|
|
@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\bin\fbembed.dll %FB_GEN_DIR% > nul
|
|
|
|
for %%v in ( icuuc30 icudt30 icuin30 ) do (
|
|
@copy %FB_ICU_SOURCE_BIN%\%%v.dll %FB_GEN_DIR% >nul 2>&1
|
|
)
|
|
|
|
::=======
|
|
@call :databases
|
|
::=======
|
|
@echo Preprocessing the entire source tree...
|
|
@call preprocess.bat
|
|
::=======
|
|
@call :msgs
|
|
if "%ERRLEV%"=="1" goto :END
|
|
@call :codes
|
|
if "%ERRLEV%"=="1" goto :END
|
|
::=======
|
|
@call create_msgs.bat msg
|
|
::=======
|
|
@call :NEXT_STEP
|
|
@goto :END
|
|
|
|
|
|
::===================
|
|
:: BUILD btyacc
|
|
:btyacc
|
|
@echo.
|
|
@echo Building btyacc (%FB_OBJ_DIR%)...
|
|
@call compile.bat %FB_ROOT_PATH%\builds\win32\%VS_VER%\Firebird2Boot btyacc_%FB_TARGET_PLATFORM%.log btyacc
|
|
if errorlevel 1 call :boot2 btyacc
|
|
goto :EOF
|
|
|
|
::===================
|
|
:: BUILD gpre_boot
|
|
:gpre_boot
|
|
@echo.
|
|
@echo Building gpre_boot (%FB_OBJ_DIR%)...
|
|
@call compile.bat %FB_ROOT_PATH%\builds\win32\%VS_VER%\Firebird2Boot gpre_boot_%FB_TARGET_PLATFORM%.log gpre_boot
|
|
if errorlevel 1 goto :gpre_boot2
|
|
goto :EOF
|
|
|
|
::===================
|
|
:: Error gpre_boot
|
|
:gpre_boot2
|
|
echo.
|
|
echo Error building gpre_boot, see gpre_boot_%FB_TARGET_PLATFORM%.log
|
|
echo.
|
|
set ERRLEV=1
|
|
goto :EOF
|
|
|
|
|
|
::===================
|
|
:: BUILD gbak_embed
|
|
:gbak_embed
|
|
@echo.
|
|
@echo Building gbak_embed (%FB_OBJ_DIR%)...
|
|
@call compile.bat %FB_ROOT_PATH%\builds\win32\%VS_VER%\Firebird2Boot gbak_embed_%FB_TARGET_PLATFORM%.log gbak_embed
|
|
if errorlevel 1 call :boot2 gbak_embed
|
|
@goto :EOF
|
|
|
|
::===================
|
|
:: BUILD gpre_embed
|
|
:gpre_embed
|
|
@echo.
|
|
@echo Building gpre_embed (%FB_OBJ_DIR%)...
|
|
@call compile.bat %FB_ROOT_PATH%\builds\win32\%VS_VER%\Firebird2Boot gpre_embed_%FB_TARGET_PLATFORM%.log gpre_embed
|
|
if errorlevel 1 call :boot2 gpre_embed
|
|
@goto :EOF
|
|
|
|
::===================
|
|
:: BUILD isql_embed
|
|
:isql_embed
|
|
@echo.
|
|
@echo Building isql_embed (%FB_OBJ_DIR%)...
|
|
@call compile.bat %FB_ROOT_PATH%\builds\win32\%VS_VER%\Firebird2Boot isql_embed_%FB_TARGET_PLATFORM%.log isql_embed
|
|
if errorlevel 1 call :boot2 isql_embed
|
|
@goto :EOF
|
|
|
|
::===================
|
|
:: ERROR boot
|
|
:boot2
|
|
echo.
|
|
echo Error building %1, see %1_%FB_TARGET_PLATFORM%.log
|
|
echo.
|
|
set ERRLEV=1
|
|
goto :EOF
|
|
|
|
|
|
::===================
|
|
:: BUILD messages
|
|
:msgs
|
|
@echo.
|
|
@echo Building build_msg (%FB_OBJ_DIR%)...
|
|
@call compile.bat %FB_ROOT_PATH%\builds\win32\%VS_VER%\Firebird2Boot build_msg_%FB_TARGET_PLATFORM%.log build_msg
|
|
if errorlevel 1 goto :msgs2
|
|
@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\build_msg\build_msg.exe %FB_GEN_DIR%\ > nul
|
|
@goto :EOF
|
|
:msgs2
|
|
echo.
|
|
echo Error building build_msg, see build_msg_%FB_TARGET_PLATFORM%.log
|
|
echo.
|
|
set ERRLEV=1
|
|
goto :EOF
|
|
|
|
::===================
|
|
:: BUILD codes
|
|
:codes
|
|
@echo.
|
|
@echo Building codes (%FB_OBJ_DIR%)...
|
|
@call compile.bat %FB_ROOT_PATH%\builds\win32\%VS_VER%\Firebird2Boot codes_%FB_TARGET_PLATFORM%.log codes
|
|
if errorlevel 1 goto :codes2
|
|
@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\codes\codes.exe %FB_GEN_DIR%\ > nul
|
|
@goto :EOF
|
|
:codes2
|
|
echo.
|
|
echo Error building codes, see codes_%FB_TARGET_PLATFORM%.log
|
|
echo.
|
|
set ERRLEV=1
|
|
goto :EOF
|
|
|
|
::==============
|
|
:databases
|
|
@rmdir /s /q %FB_GEN_DIR%\dbs 2>nul
|
|
@mkdir %FB_GEN_DIR%\dbs 2>nul
|
|
|
|
@echo create database '%FB_GEN_DB_DIR%\dbs\security2.fdb'; | "%FB_GEN_DIR%\isql_embed" -q
|
|
@"%FB_GEN_DIR%\isql_embed" -q %FB_GEN_DB_DIR%/dbs/security2.fdb -i %FB_ROOT_PATH%\src\dbs\security.sql
|
|
|
|
@%FB_GEN_DIR%\gbak_embed -r %FB_ROOT_PATH%\builds\misc\metadata.gbak %FB_GEN_DB_DIR%/dbs/metadata.fdb
|
|
|
|
@call create_msgs.bat db
|
|
|
|
@%FB_GEN_DIR%\gbak_embed -r %FB_ROOT_PATH%\builds\misc\help.gbak %FB_GEN_DB_DIR%/dbs/help.fdb
|
|
@copy %FB_GEN_DIR%\dbs\metadata.fdb %FB_GEN_DIR%\dbs\yachts.lnk > nul
|
|
|
|
@goto :EOF
|
|
|
|
|
|
::==============
|
|
:NEXT_STEP
|
|
@echo.
|
|
@echo You may now run make_all.bat [DEBUG] [CLEAN]
|
|
@echo.
|
|
@goto :EOF
|
|
|
|
:END
|
|
|