Update instructions for producing official MSW binaries

Simplify the officialbuild.bat script by only checking for "vcXX" instead of
accepting both them and "vsYYYY".

Also add instructions for using it in the corresponding HOWTO.

Closes #17514.
This commit is contained in:
Danny Scott
2016-04-28 23:26:03 +02:00
committed by Vadim Zeitlin
parent ebb3a791b9
commit 059704edc1
2 changed files with 61 additions and 53 deletions

View File

@@ -1,4 +1,4 @@
ECHO OFF ECHO ON
if "%1" == "" goto ERR_NOPARM if "%1" == "" goto ERR_NOPARM
@@ -19,59 +19,32 @@ if "%1" == "vc140" (
@echo Building for vc140 / vs2015 @echo Building for vc140 / vs2015
set comp=140 set comp=140
set compvers=vc140 set compvers=vc140
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat" call "%VS140COMNTOOLS%VsDevCmd.bat"
)
if "%1" == "vs2015" (
@echo Building for vc140 / vs2015
set comp=140
set compvers=vc140
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat"
) )
if "%1" == "vc120" ( if "%1" == "vc120" (
@echo Building for vc120 / vs2013 @echo Building for vc120 / vs2013
set comp=120 set comp=120
set compvers=vc120 set compvers=vc120
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd.bat" call "%VS120COMNTOOLS%VsDevCmd.bat"
)
if "%1" == "vs2013" (
@echo Building for vc120 / vs2013
set comp=120
set compvers=vc120
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd.bat"
) )
if "%1" == "vc110" ( if "%1" == "vc110" (
@echo Building for vc110 / vs2012 @echo Building for vc110 / vs2012
set comp=110 set comp=110
set compvers=vc110 set compvers=vc110
call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat" call "%VS110COMNTOOLS%VsDevCmd.bat"
)
if "%1" == "vs2012" (
@echo Building for vc110 / vs2012
set comp=110
set compvers=vc110
call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat"
) )
if "%1" == "vc100" ( if "%1" == "vc100" (
@echo Building for vc100 / vs2010 @echo Building for vc100 / vs2010
set comp=100 set comp=100
set compvers=vc100 set compvers=vc100
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" if "%WINDOWS71SDK%" == "" set WINDOWS71SDK=C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\
) call "%WINDOWS71SDK%SetEnv.cmd"
if "%1" == "vs2010" (
@echo Building for vc100 / vs2010
set comp=100
set compvers=vc100
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd"
) )
if "%1" == "vc90" ( if "%1" == "vc90" (
@echo Building for vc90 / vs2008 @echo Building for vc90 / vs2008
set comp=90 set comp=90
set compvers=vc90 set compvers=vc90
) if "%WINDOWS61SDK%" == "" set WINDOWS61SDK=C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\
if "%1" == "vs2008" (
@echo Building for vc90 / vs2008
set comp=90
set compvers=vc90
) )
if %compvers% == "Unknown" goto ERR_UNKNOWNCOMP if %compvers% == "Unknown" goto ERR_UNKNOWNCOMP
@@ -99,12 +72,11 @@ del %compvers%x86_Release.txt
del %compvers%x64_Debug.txt del %compvers%x64_Debug.txt
del %compvers%x64_Release.txt del %compvers%x64_Release.txt
if "%compvers%" == "vc140" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 if "%compvers%" == "vc140" call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x64
if "%compvers%" == "vc120" call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat" if "%compvers%" == "vc120" call "%VS120COMNTOOLS%..\..\VC\vcvarsall.bat" x64
if "%compvers%" == "vc110" call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat" if "%compvers%" == "vc110" call "%VS110COMNTOOLS%..\..\VC\vcvarsall.bat" x64
if "%compvers%" == "vc100" call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X64 /Release if "%compvers%" == "vc100" call "%WINDOWS71SDK%SetEnv.Cmd" /X64 /Release
if "%compvers%" == "vc100" call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X64 /Release if "%compvers%" == "vc90" call "%WINDOWS61SDK%SetEnv.Cmd" /X64 /Release
if "%compvers%" == "vc90" call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X64 /Release
@echo 64 bit release build @echo 64 bit release build
@@ -114,18 +86,18 @@ if ERRORLEVEL 1 goto ERR_BUILD
@echo 64 bit debug build @echo 64 bit debug build
if "%compvers%" == "vc100" call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X64 /Debug if "%compvers%" == "vc100" call "%WINDOWS71SDK%SetEnv.Cmd" /X64 /Debug
if "%compvers%" == "vc90" call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X64 /Debug if "%compvers%" == "vc90" call "%WINDOWS61SDK%SetEnv.Cmd" /X64 /Debug
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=%comp% OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> %compvers%x64_Debug.txt nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=%comp% OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> %compvers%x64_Debug.txt
if ERRORLEVEL 1 goto ERR_BUILD if ERRORLEVEL 1 goto ERR_BUILD
if "%compvers%" == "vc140" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 if "%compvers%" == "vc140" call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86
if "%compvers%" == "vc120" call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat" if "%compvers%" == "vc120" call "%VS120COMNTOOLS%..\..\VC\vcvarsall.bat" x86
if "%compvers%" == "vc110" call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat" if "%compvers%" == "vc110" call "%VS110COMNTOOLS%..\..\VC\vcvarsall.bat" x86
if "%compvers%" == "vc100" call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X86 /Release if "%compvers%" == "vc100" call "%WINDOWS71SDK%SetEnv.Cmd" /X86 /Release
if "%compvers%" == "vc90" call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X86 /Release if "%compvers%" == "vc90" call "%WINDOWS61SDK%SetEnv.Cmd" /X86 /Release
@echo 32 bit release build @echo 32 bit release build
@@ -135,8 +107,8 @@ if ERRORLEVEL 1 goto ERR_BUILD
@echo 32 bit debug build @echo 32 bit debug build
if "%compvers%" == "vc100" call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X86 /Debug if "%compvers%" == "vc100" call "%WINDOWS71SDK%SetEnv.Cmd" /X86 /Debug
if "%compvers%" == "vc90" call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X86 /Debug if "%compvers%" == "vc90" call "%WINDOWS61SDK%SetEnv.Cmd" /X86 /Debug
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=%comp% OFFICIAL_BUILD=1 CPPFLAGS=/arch:SSE CFLAGS=/arch:SSE >> %compvers%x86_Debug.txt nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=%comp% OFFICIAL_BUILD=1 CPPFLAGS=/arch:SSE CFLAGS=/arch:SSE >> %compvers%x86_Debug.txt
@@ -171,10 +143,10 @@ goto End
:VERSIONS :VERSIONS
@echo. @echo.
@echo Compiler Version: One of - @echo Compiler Version: One of -
@echo vc140 or vs2015 @echo vc140
@echo vc120 or vs2013 @echo vc120
@echo vc110 or vs2012 @echo vc110
@echo vc100 or vs2010 @echo vc100
:End :End

View File

@@ -123,3 +123,39 @@ in the generated files too.
Update the definition of the stable and release branches in Update the definition of the stable and release branches in
`build/buildbot/config/include/defs.xml` after a minor version change. `build/buildbot/config/include/defs.xml` after a minor version change.
## MSW Visual Studio Official Builds
To build official x86 and x64 shared binaries the following are prerequisites:
- Visual Studio 2012, 2013, 2015
- Windows SDK 6.1, 7.1 (required for x64 builds for Visual Studio 2008, 2010)
- 7z (required for packaging the files)
- fciv (required for generating the checksums)
The VSxxxCOMNTOOLS environment variables are used to locate the tools required
for Visual Studio 2012, 2013 and 2015. There are no Microsoft defined variables
for the SDKs used for Visual Studio 2008 and 2010. The build will look for the
following environment variables for the Visual Studio 2008 and 2010 SDK tools:
WINDOWS61SDK
WINDOWS71SDK
If either of these are blank they are set to the default install location.
To build binaries for a single compiler, open a command prompt (for Visual
Studio 2008 only an SDK 6.1 developer's command prompt must be used),
cd to the build\msw\tools\msvs folder and run the batch file 'buildofficial'
with the vcXXX version number:
Visual Studio 2008 vc90
Visual Studio 2010 vc100
Visual Studio 2012 vc110
Visual Studio 2014 vc120
Visual Studio 2015 vc140
This will build all of the x86 and x64 binaries for the selected compiler version,
package them in 7z files and calculate the checksums. The 7z files and the
checksums are output to the build\msw\packages folder.
All of the compiler packages can be built at the same time by executing the
build\msw\tools\buildall.bat file (including Visual Studio 2000).