mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 22:43:03 +01:00
225 lines
7.3 KiB
Batchfile
225 lines
7.3 KiB
Batchfile
@echo off
|
|
|
|
:: Set env vars
|
|
@call setenvvar.bat %*
|
|
@if errorlevel 1 (goto :EOF)
|
|
|
|
:: 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)
|
|
@if not exist %FB_BIN_DIR%\fbclient.dll (goto :HELP_BOOT & goto :EOF)
|
|
|
|
::Uncomment this to build intlemp
|
|
::set FB2_INTLEMP=1
|
|
|
|
::===========
|
|
:MAIN
|
|
@echo BUILD_EMPBUILD
|
|
@call :BUILD_EMPBUILD
|
|
|
|
@echo.
|
|
@echo Building %FB_OBJ_DIR%
|
|
@call compile.bat builds\win32\%VS_VER%\FirebirdExamples empbuild_%FB_TARGET_PLATFORM%.log empbuild
|
|
@if defined FB2_INTLEMP (
|
|
@call compile.bat builds\win32\%VS_VER%\FirebirdExamples intlbuild_%FB_TARGET_PLATFORM%.log intlbuild
|
|
)
|
|
@call compile.bat builds\win32\%VS_VER%\FirebirdExamples udrcpp_example_%FB_TARGET_PLATFORM%.log udrcpp_example
|
|
if errorlevel 1 (
|
|
@call :ERROR building udrcpp example failed - see udrcpp_example_%FB_TARGET_PLATFORM%.log for details
|
|
@goto :EOF
|
|
)
|
|
@call compile.bat examples\extauth\msvc\ExtAuth_%VS_VER% ExtAuth_%FB_TARGET_PLATFORM%.log
|
|
if errorlevel 1 (
|
|
@call :ERROR building ExtAuth examples failed - see ExtAuth_%FB_TARGET_PLATFORM%.log for details
|
|
@goto :EOF
|
|
)
|
|
@call compile.bat examples\dbcrypt\msvc\DbCrypt_%VS_VER% DbCrypt_%FB_TARGET_PLATFORM%.log
|
|
if errorlevel 1 (
|
|
@call :ERROR building DbCrypt examples failed - see DbCrypt_%FB_TARGET_PLATFORM%.log for details
|
|
@goto :EOF
|
|
)
|
|
|
|
@echo.
|
|
@call :MOVE
|
|
@call :BUILD_EMPLOYEE
|
|
@call :MOVE2
|
|
@goto :EOF
|
|
|
|
|
|
:BUILD_EMPBUILD
|
|
::===========
|
|
@echo.
|
|
@echo Building empbuild.fdb
|
|
@copy /y %FB_ROOT_PATH%\examples\empbuild\*.sql %FB_GEN_DIR%\examples\ > nul
|
|
@copy /y %FB_ROOT_PATH%\examples\empbuild\*.inp %FB_GEN_DIR%\examples\ > nul
|
|
|
|
@echo.
|
|
:: Here we must use cd because isql does not have an option to set a base directory
|
|
@pushd "%FB_LONG_ROOT_PATH%\gen\examples"
|
|
@echo Creating empbuild.fdb...
|
|
@echo.
|
|
@del empbuild.fdb 2> nul
|
|
@%FB_BIN_DIR%\isql -i empbld.sql
|
|
|
|
|
|
if defined FB2_INTLEMP (
|
|
@echo Creating intlbuild.fdb...
|
|
@echo.
|
|
@copy %FB_ROOT_PATH%\builds\install\misc\fbintl.conf %FB_BIN_DIR%\intl >nul
|
|
@del intlbuild.fdb 2> nul
|
|
@%FB_BIN_DIR%\isql -i intlbld.sql
|
|
)
|
|
|
|
@popd
|
|
|
|
@echo.
|
|
@echo path = %FB_GEN_DB_DIR%\examples
|
|
@echo Preprocessing empbuild.epp...
|
|
@echo.
|
|
@%FB_BIN_DIR%\gpre.exe -r -m -n -z %FB_ROOT_PATH%\examples\empbuild\empbuild.epp %FB_GEN_DIR%\examples\empbuild.cpp -b %FB_GEN_DB_DIR%/examples/
|
|
|
|
if defined FB2_INTLEMP (
|
|
@echo Preprocessing intlbld.e...
|
|
@echo.
|
|
@%FB_BIN_DIR%\gpre.exe -r -m -n -z %FB_ROOT_PATH%\examples\empbuild\intlbld.e %FB_GEN_DIR%\examples\intlbld.c -b %FB_GEN_DB_DIR%/examples/
|
|
)
|
|
|
|
::End of BUILD_EMPBUILD
|
|
::---------------------
|
|
@goto :EOF
|
|
|
|
|
|
:MOVE
|
|
::===========
|
|
@echo.
|
|
@rmdir /q /s %FB_OUTPUT_DIR%\examples 2>nul
|
|
@mkdir %FB_OUTPUT_DIR%\examples
|
|
@mkdir %FB_OUTPUT_DIR%\examples\api
|
|
@mkdir %FB_OUTPUT_DIR%\examples\dbcrypt
|
|
@mkdir %FB_OUTPUT_DIR%\examples\dbcrypt\msvc
|
|
@mkdir %FB_OUTPUT_DIR%\examples\build_win32
|
|
@mkdir %FB_OUTPUT_DIR%\examples\empbuild
|
|
@mkdir %FB_OUTPUT_DIR%\examples\extauth
|
|
@mkdir %FB_OUTPUT_DIR%\examples\extauth\msvc
|
|
@mkdir %FB_OUTPUT_DIR%\examples\include
|
|
@mkdir %FB_OUTPUT_DIR%\examples\interfaces
|
|
@mkdir %FB_OUTPUT_DIR%\examples\package
|
|
@mkdir %FB_OUTPUT_DIR%\examples\stat
|
|
@mkdir %FB_OUTPUT_DIR%\examples\udf
|
|
@mkdir %FB_OUTPUT_DIR%\examples\udr
|
|
@mkdir %FB_OUTPUT_DIR%\plugins\udr 2>nul
|
|
@mkdir %FB_OUTPUT_DIR%\examples\prebuilt\bin
|
|
@mkdir %FB_OUTPUT_DIR%\examples\prebuilt\plugins
|
|
|
|
@echo Moving files to output directory
|
|
copy %FB_ROOT_PATH%\examples\* %FB_OUTPUT_DIR%\examples > nul
|
|
ren %FB_OUTPUT_DIR%\examples\readme readme.txt > nul
|
|
copy %FB_ROOT_PATH%\examples\api\* %FB_OUTPUT_DIR%\examples\api > nul
|
|
copy %FB_ROOT_PATH%\examples\dbcrypt\* %FB_OUTPUT_DIR%\examples\dbcrypt > nul
|
|
copy %FB_ROOT_PATH%\examples\dbcrypt\msvc\* %FB_OUTPUT_DIR%\examples\dbcrypt\msvc > nul
|
|
copy %FB_ROOT_PATH%\examples\dbcrypt\*.conf %FB_OUTPUT_DIR%\examples\prebuilt\plugins > nul
|
|
copy %FB_ROOT_PATH%\examples\build_win32\* %FB_OUTPUT_DIR%\examples\build_win32 > nul
|
|
:: @copy %FB_ROOT_PATH%\examples\empbuild\* %FB_OUTPUT_DIR%\examples\empbuild > nul
|
|
@copy %FB_ROOT_PATH%\examples\extauth\* %FB_OUTPUT_DIR%\examples\extauth > nul
|
|
@copy %FB_ROOT_PATH%\examples\extauth\msvc\* %FB_OUTPUT_DIR%\examples\extauth\msvc > nul
|
|
copy %FB_ROOT_PATH%\examples\empbuild\employe2.sql %FB_OUTPUT_DIR%\examples\empbuild > nul
|
|
copy %FB_ROOT_PATH%\examples\include\* %FB_OUTPUT_DIR%\examples\include > nul
|
|
copy %FB_ROOT_PATH%\examples\interfaces\* %FB_OUTPUT_DIR%\examples\interfaces > nul
|
|
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%\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
|
|
copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\plugins\udr\*.dll %FB_OUTPUT_DIR%\plugins\udr >nul
|
|
|
|
::@copy %FB_GEN_DIR%\examples\empbuild.cpp %FB_OUTPUT_DIR%\examples\empbuild\ > nul
|
|
::@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\examples\empbuild.exe %FB_GEN_DIR%\examples\empbuild.exe > nul
|
|
::if defined FB2_INTLEMP (
|
|
::if "%VS_VER%"=="msvc6" (
|
|
::@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\examples\intlbld.exe %FB_GEN_DIR%\examples\intlbuild.exe > nul
|
|
::) else (
|
|
::@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\examples\intlbuild.exe %FB_GEN_DIR%\examples\intlbuild.exe > nul
|
|
::)
|
|
::)
|
|
|
|
::End of MOVE
|
|
::-----------
|
|
@goto :EOF
|
|
|
|
:BUILD_EMPLOYEE
|
|
::===========
|
|
:: only to test if it works
|
|
|
|
@echo.
|
|
@echo Building employee.fdb
|
|
|
|
:: Do no mess with global variables
|
|
setlocal
|
|
|
|
:: This allows us to use the new engine in embedded mode to build
|
|
:: the employee database.
|
|
@set FIREBIRD=%FB_BIN_DIR%
|
|
@set PATH=%FB_BIN_DIR%;%PATH%
|
|
|
|
:: Here we must use cd because isql does not have an option to set a base directory
|
|
:: and empbuild.exe uses isql
|
|
:: BEWARE: It will run without error if you have FB client from previous version
|
|
:: installed in System32 and server run but created database will have
|
|
:: wrong ODS.
|
|
@pushd "%FB_GEN_DIR%\examples"
|
|
if exist employee.fdb del employee.fdb
|
|
|
|
%FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\empbuild\empbuild.exe %FB_GEN_DB_DIR%/examples/employee.fdb
|
|
if errorlevel 44 (call :ERROR empbuild.exe failed - see empbuild_%FB_TARGET_PLATFORM%.log for details )
|
|
|
|
@if defined FB2_INTLEMP (
|
|
@echo Building intlemp.fdb
|
|
@del %FB_GEN_DIR%\examples\intlemp.fdb 2>nul
|
|
@del isql.tmp 2>nul
|
|
@echo s;intlemp.fdb;%FB_GEN_DIR%\examples\intlemp.fdb;g > isql.tmp
|
|
@%FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\intlbuild\intlbuild.exe %FB_GEN_DB_DIR%/examples/intlemp.fdb
|
|
)
|
|
|
|
@popd
|
|
endlocal
|
|
|
|
::End of BUILD_EMPLOYEE
|
|
::---------------------
|
|
@goto :EOF
|
|
|
|
::==============
|
|
:MOVE2
|
|
@copy %FB_GEN_DIR%\examples\employee.fdb %FB_OUTPUT_DIR%\examples\empbuild\ > nul
|
|
if errorlevel 1 (
|
|
@call :ERROR copying employee database to %FB_OUTPUT_DIR%\examples\empbuild failed - see make_examples_%FB_TARGET_PLATFORM%.log for details
|
|
@goto :EOF
|
|
)
|
|
|
|
if defined FB2_INTLEMP (
|
|
if exist %FB_GEN_DIR%\examples\intlemp.fdb (
|
|
@copy %FB_GEN_DIR%\examples\intlemp.fdb %FB_OUTPUT_DIR%\examples\empbuild\ > nul
|
|
)
|
|
)
|
|
|
|
@goto :EOF
|
|
|
|
::==============
|
|
:HELP_BOOT
|
|
@echo.
|
|
@echo You must run make_boot.bat before running this script
|
|
@echo.
|
|
@goto :EOF
|
|
|
|
:ERROR
|
|
::====
|
|
@echo.
|
|
@echo Error - %*
|
|
@echo.
|
|
set ERRLEV=1
|
|
|
|
exit /b 1
|
|
|
|
::End of ERROR
|
|
::------------
|