2007-02-26 16:18:41 +01:00
: : This batch file sets the environment values
: : FB_ROOT_PATH dos format path of the main directory
: : FB_DB_PATH unix format path of the main directory
2007-09-06 15:25:04 +02:00
: : (This is used by gpre and preprocess.bat)
2006-07-21 03:35:17 +02:00
: : VS_VER VisualStudio version (msvc6|msvc7|msvc8)
2003-10-19 15:35:32 +02:00
: : SERVER_NAME server needed to connect to firebird (could include port)
: : Example : localhost/3051
2007-01-04 14:26:02 +01:00
: : (Note - SERVER_NAME is almost deprecated - it is only used by
: : make_examples.bat
2007-02-26 16:18:41 +01:00
: :
: : Note for VS8 and 64-bit build environment: The assumption is that a
: : 64-bit host is available and builds are targeted at either the native
: : 64-bit environment or the 32-bit WOW64 environment. Cross-compiling 64-bit
: : from a 32-bit host is not currently supported from this set of batch files.
: :
2006-07-20 10:04:02 +02:00
2003-07-05 03:10:56 +02:00
@ echo off
2007-02-26 16:18:41 +01:00
: :===============================
: :Set up the compiler environment
if DEFINED VS80COMNTOOLS (
@ devenv /? > nul 2 > nul
@ if errorlevel 9009 ( call " %VS80COMNTOOLS% \..\..\VC\vcvarsall.bat " %PROCESSOR_ARCHITECTURE% ) else ( echo The file: & @ echo " %VS80COMNTOOLS% \..\..\VC\vcvarsall.bat " %PROCESSOR_ARCHITECTURE% & echo has already been executed.)
) else (
if DEFINED VS71COMNTOOLS (
@ devenv /? > nul 2 > nul
@ if errorlevel 9009 ( call " %VS71COMNTOOLS% vsvars32.bat " ) else ( echo The file: & echo " %VS71COMNTOOLS% vsvars32.bat " & echo has already been executed.)
) else (
@ msdev /? > nul 2 > nul
@ if errorlevel 9009 ( call " C:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat " ) else ( echo MSVC6 vcvars.bat has already been executed.)
)
)
@ echo .
2003-07-05 03:10:56 +02:00
: :=================
: SET_DB_DIR
2003-10-19 15:35:32 +02:00
@ SET SERVER_NAME = localhost
2003-07-05 03:10:56 +02:00
@ cd ..\..
2007-02-26 16:18:41 +01:00
@ for /f " delims= " %% a in ( '@cd' ) do ( set FB_ROOT_PATH = %% a)
2003-07-05 03:10:56 +02:00
@ cd %~dp0
2007-02-26 16:18:41 +01:00
@ for /f " tokens=* " %% a in ( '@echo %FB_ROOT_PATH:\=/% ' ) do ( set FB_DB_PATH = %% a)
: :=================
: SET_MSVC_VER
2003-07-05 03:10:56 +02:00
2006-11-19 15:24:09 +01:00
@ vcexpress /? > nul 2 > nul
2007-02-26 16:18:41 +01:00
@ if not errorlevel 9009 ( ( set MSVC_VERSION = 8) & ( set VS_VER = msvc8) & ( set VS_VER_EXPRESS = 1) & ( goto : SET_FB_TARGET_PLATFORM ) )
2006-11-19 15:24:09 +01:00
@ set VS_VER_EXPRESS =
2006-07-20 10:04:02 +02:00
@ for /f " delims=. " %% a in ( '@devenv /?' ) do (
2007-02-26 16:18:41 +01:00
@ for /f " tokens=6 " %% b in ( " %% a " ) do ( ( set MSVC_VERSION = %% b) & ( set VS_VER = msvc%% b) & ( goto : SET_FB_TARGET_PLATFORM ) )
2006-07-20 10:04:02 +02:00
)
2003-07-05 03:10:56 +02:00
2005-09-30 12:34:46 +02:00
@ msdev /? > nul 2 > nul
2007-02-26 16:18:41 +01:00
@ if not errorlevel 9009 ( ( set MSVC_VERSION = 6) & ( set VS_VER = msvc6) & ( goto : SET_FB_TARGET_PLATFORM ) )
@ if not defined MSVC_VERSION goto : HELP
: SET_FB_TARGET_PLATFORM
2007-09-06 15:25:04 +02:00
@ set FB_TARGET_PLATFORM = Win32
2007-02-26 16:18:41 +01:00
: : If MSVC >= 8 then we can test for processor architecture
: : We certainly don't want to try and set platform=x64 if MSVC7 is installed
@ if %MSVC_VERSION% GEQ 8 (
2007-09-06 15:25:04 +02:00
@ if " %PROCESSOR_ARCHITECTURE% " == " x86 " ( set FB_TARGET_PLATFORM = Win32)
2007-02-26 16:18:41 +01:00
@ if " %PROCESSOR_ARCHITECTURE% " == " AMD64 " ( set FB_TARGET_PLATFORM = x64)
)
@ set FB_OUTPUT_DIR = %FB_ROOT_PATH% \output_%FB_TARGET_PLATFORM%
@ set FB_TEMP_DIR = %FB_ROOT_PATH% \temp\%FB_TARGET_PLATFORM%
@ set FB_INSTALL_SCRIPTS = %FB_ROOT_PATH% \builds\install\arch-specific\win32
2007-09-06 15:25:04 +02:00
@ if %MSVC_VERSION% GEQ 8 (
@ set FB_GEN_DIR = %FB_ROOT_PATH% \gen\%FB_TARGET_PLATFORM%
@ set FB_GEN_DB_DIR = %FB_DB_PATH% /gen/%FB_TARGET_PLATFORM%
2007-09-17 10:14:06 +02:00
@ set FB_ICU_SOURCE_BIN = %FB_ROOT_PATH% \extern\icu\%FB_TARGET_PLATFORM% \release\bin\
2007-09-06 15:25:04 +02:00
) else (
@ set FB_GEN_DIR = %FB_ROOT_PATH% \gen
@ set FB_GEN_DB_DIR = %FB_DB_PATH% /gen
@ set FB_ICU_SOURCE_BIN = %FB_ROOT_PATH% \extern\icu\bin\
)
2007-02-26 16:18:41 +01:00
goto : END
2005-09-30 12:34:46 +02:00
2006-10-31 11:12:02 +01:00
2003-07-05 03:10:56 +02:00
: :===========
: HELP
@ echo .
2007-01-04 14:26:02 +01:00
@ echo ERROR:
@ echo A working version of Visual Studio cannot be found
@ echo on your current path.
@ echo .
@ echo You need MS Visual Studio 6, 7 or 8 to build Firebird
@ echo from these batch files.
@ echo .
2007-02-26 16:18:41 +01:00
@ echo A properly installed version of Visual Studio will set
@ echo an environment variable such as %% VS71COMNTOOLS%% or
@ echo %% VS80COMNTOOLS%% . We use that variable to run the
@ echo appropriate batch file to set up the build environment.
2005-02-08 15:59:13 +01:00
@ echo .
2003-07-05 03:10:56 +02:00
: : set errorlevel
@ exit /B 1
: END
2007-02-26 16:18:41 +01:00
@ echo .
2007-01-04 14:26:02 +01:00
@ echo Setting Environment Variables thus...
2003-07-05 03:10:56 +02:00
@ echo .
@ echo vs_ver=%VS_VER%
2007-02-26 16:18:41 +01:00
if defined VS_VER_EXPRESS (
2006-11-19 15:24:09 +01:00
@ echo vs_ver_express=%VS_VER_EXPRESS%
2007-02-26 16:18:41 +01:00
)
@ echo platform=%FB_TARGET_PLATFORM%
2005-02-08 15:59:13 +01:00
@ echo msvc_version=%MSVC_VERSION%
2007-02-26 16:18:41 +01:00
@ echo db_path=%FB_DB_PATH%
@ echo root_path=%FB_ROOT_PATH%
2005-02-08 15:59:13 +01:00
@ echo server_name=%SERVER_NAME%
2003-08-08 09:52:21 +02:00
@ echo .
2007-01-04 14:26:02 +01:00
@ echo (End of %0 )
2007-02-26 16:18:41 +01:00
@ echo .
2006-11-19 15:24:09 +01:00
@ exit /B 0