8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 23:23:02 +01:00
firebird-mirror/builds/win32/setenvvar.bat
2014-11-14 11:04:48 +00:00

153 lines
5.0 KiB
Batchfile

:: 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
:: (This is used by gpre and preprocess.bat)
:: VS_VER VisualStudio version (msvc7|msvc8|msvc9)
:: SERVER_NAME server needed to connect to firebird (could include port)
:: Example : localhost/3051
:: (Note - SERVER_NAME is almost deprecated - it is only used by
:: make_examples.bat
::
:: Note for MSVC8/9 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.
::
@echo off
::set FB_PROCESSOR_ARCHITECTURE=AMD64
:: Default target CPU architecture is the native environment
if NOT DEFINED FB_PROCESSOR_ARCHITECTURE (
set FB_PROCESSOR_ARCHITECTURE=%PROCESSOR_ARCHITECTURE%
)
::===============================
::Set up the compiler environment
:: To disable VS8/VS9/VS10 build, slightly alter the env var names in "if" conditions below
if DEFINED VS120COMNTOOLS (
@devenv /? >nul 2>nul
@if errorlevel 9009 (call "%VS120COMNTOOLS%\..\..\VC\vcvarsall.bat" %FB_PROCESSOR_ARCHITECTURE%) else ( echo The file: & @echo "%VS120COMNTOOLS%\..\..\VC\vcvarsall.bat" %FB_PROCESSOR_ARCHITECTURE% & echo has already been executed.)
) else (
if DEFINED VS100COMNTOOLS (
@devenv /? >nul 2>nul
@if errorlevel 9009 (call "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" %FB_PROCESSOR_ARCHITECTURE%) else ( echo The file: & @echo "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" %FB_PROCESSOR_ARCHITECTURE% & echo has already been executed.)
) else (
if DEFINED VS90COMNTOOLS (
@devenv /? >nul 2>nul
@if errorlevel 9009 (call "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" %FB_PROCESSOR_ARCHITECTURE%) else ( echo The file: & @echo "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" %FB_PROCESSOR_ARCHITECTURE% & echo has already been executed.)
) else (
if DEFINED VS80COMNTOOLS (
@devenv /? >nul 2>nul
@if errorlevel 9009 (call "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" %FB_PROCESSOR_ARCHITECTURE%) else ( echo The file: & @echo "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" %FB_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 (
@goto :HELP
)
)
)
)
)
@echo.
::=================
:SET_DB_DIR
@SET SERVER_NAME=localhost
@cd ..\..
@for /f "delims=" %%a in ('@cd') do (set FB_ROOT_PATH=%%a)
@cd %~dp0
@for /f "tokens=*" %%a in ('@echo %FB_ROOT_PATH:\=/%') do (set FB_DB_PATH=%%a)
::=================
:SET_MSVC_VER
@if "%VS_VER_EXPRESS%" == "" (
@vcexpress /? >nul 2>nul
@if not errorlevel 9009 (
@if DEFINED VS80COMNTOOLS ((set MSVC_VERSION=8) & (set VS_VER=msvc8))
@if DEFINED VS90COMNTOOLS ((set MSVC_VERSION=9) & (set VS_VER=msvc9))
@if DEFINED VS100COMNTOOLS ((set MSVC_VERSION=10) & (set VS_VER=msvc10))
set VS_VER_EXPRESS=1
goto :SET_FB_TARGET_PLATFORM
)
@set VS_VER_EXPRESS=
)
@for /f "delims=." %%a in ('@devenv /?') do (
@for /f "tokens=6" %%b in ("%%a") do ((set MSVC_VERSION=%%b) & (set VS_VER=msvc%%b) & (goto :SET_FB_TARGET_PLATFORM))
)
@if not defined MSVC_VERSION goto :HELP
:SET_FB_TARGET_PLATFORM
@set FB_TARGET_PLATFORM=Win32
:: 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 (
@if "%FB_PROCESSOR_ARCHITECTURE%"=="x86" (set FB_TARGET_PLATFORM=Win32)
@if "%FB_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
@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\%FB_TARGET_PLATFORM%\release\bin\
goto :END
::===========
:HELP
@echo.
@echo ERROR:
@echo A working version of Visual Studio cannot be found
@echo on your current path.
@echo.
@echo You need MS Visual Studio 7 or newer to build Firebird
@echo from these batch files.
@echo.
@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.
@echo.
:: set errorlevel
@exit /B 1
:END
@echo.
@echo Setting Environment Variables thus...
@echo.
@echo vs_ver=%VS_VER%
if defined VS_VER_EXPRESS (
@echo vs_ver_express=%VS_VER_EXPRESS%
)
@echo platform=%FB_TARGET_PLATFORM%
@echo msvc_version=%MSVC_VERSION%
@echo db_path=%FB_DB_PATH%
@echo root_path=%FB_ROOT_PATH%
@echo server_name=%SERVER_NAME%
@echo.
@echo (End of %0)
@echo.
@exit /B 0