FS-6129 More improvements for V8 Windows build on 32-bit machines.

This commit is contained in:
Peter Olsson 2014-01-23 13:39:34 +01:00
parent 14e32cf551
commit e26d34aa85
1 changed files with 36 additions and 7 deletions

View File

@ -1,28 +1,49 @@
@ECHO OFF
REM First argument is the target architecture
REM Second argument is "Debug" or "Release" mode
REM Third argument is the V8 root directory path
REM Fourth argument is the version of Visual Studio (optional)
IF "%1" == "" GOTO Fail
IF "%2" == "" GOTO Fail
IF "%3" == "" GOTO Fail
REM Go into the V8 lib directory
cd "%3"
REM Check the last build info, so we know if we're supposed to build again or not
SET /P LAST_BUILD_INFO=<last_build
IF "%1-%2" == "%LAST_BUILD_INFO%" (
ECHO V8 is already built!
SET COPY_FILES_ONLY=1
IF EXIST ".\build\%2\v8.dll" (
ECHO V8 is already built!
SET COPY_FILES_ONLY=1
)
)
SET LIB_DEST_DIR=
IF NOT "%4" == "" (
SET VS_VERSION=-Gmsvs_version=%4
ECHO Forcing build to use Visual Studio %4
)
IF "%1" == "x64" (
IF NOT "%COPY_FILES_ONLY%" == "1" .\third_party\python_26\python.exe build\gyp_v8 -Dtarget_arch=x64 -Dcomponent=shared_library -Dv8_use_snapshot=false
REM If this is a 32-bit system (but we target x64), we must disable the snapshot feature to get it to build.
IF NOT EXIST "%PROGRAMFILES(X86)%" (
SET SKIP_V8_SNAPSHOT=-Dv8_use_snapshot=false
)
)
IF "%1" == "x64" (
IF NOT "%SKIP_V8_SNAPSHOT%" == "" ECHO Targeting x64 platform on a x86 system, disabling V8 snapshout feature to make this work [%SKIP_V8_SNAPSHOT%]
IF NOT "%COPY_FILES_ONLY%" == "1" .\third_party\python_26\python.exe build\gyp_v8 -Dtarget_arch=x64 -Dcomponent=shared_library %SKIP_V8_SNAPSHOT% %VS_VERSION%
IF NOT ERRORLEVEL 0 GOTO Fail
SET LIB_DEST_DIR=..\..\x64\%2\
)
IF "%1" == "x86" (
IF NOT "%COPY_FILES_ONLY%" == "1" .\third_party\python_26\python.exe build\gyp_v8 -Dcomponent=shared_library
IF NOT "%COPY_FILES_ONLY%" == "1" .\third_party\python_26\python.exe build\gyp_v8 -Dcomponent=shared_library %VS_VERSION%
IF NOT ERRORLEVEL 0 GOTO Fail
SET LIB_DEST_DIR=..\..\Win32\%2\
)
@ -31,10 +52,16 @@ IF "%LIB_DEST_DIR%" == "" GOTO Fail
IF "%COPY_FILES_ONLY%" == "1" GOTO CopyFiles
devenv.com /clean %2 tools\gyp\v8.sln
REM Clean build before we continue
devenv /clean %2 tools\gyp\v8.sln
IF NOT ERRORLEVEL 0 GOTO Fail
devenv.com /build %2 tools\gyp\v8.sln
REM Just to make sure that everything is cleaned up
rmdir /S /Q .\build\%2
REM Build the V8 library
devenv /build %2 "tools\gyp\v8.sln" /project "tools\gyp\v8.vcxproj" /projectconfig %2
REM devenv /build %2 tools\gyp\v8.sln
IF NOT ERRORLEVEL 0 GOTO Fail
:CopyFiles
@ -56,4 +83,6 @@ ECHO %1-%2> last_build
exit
:Fail
REM Delete the last_build info if this build failed!
@del /Q last_build
exit /b 1