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
@@ -19,59 +19,32 @@ if "%1" == "vc140" (
@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" == "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"
call "%VS140COMNTOOLS%VsDevCmd.bat"
)
if "%1" == "vc120" (
@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" == "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"
call "%VS120COMNTOOLS%VsDevCmd.bat"
)
if "%1" == "vc110" (
@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" == "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"
call "%VS110COMNTOOLS%VsDevCmd.bat"
)
if "%1" == "vc100" (
@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" == "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 "%WINDOWS71SDK%" == "" set WINDOWS71SDK=C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\
call "%WINDOWS71SDK%SetEnv.cmd"
)
if "%1" == "vc90" (
@echo Building for vc90 / vs2008
set comp=90
set compvers=vc90
)
if "%1" == "vs2008" (
@echo Building for vc90 / vs2008
set comp=90
set compvers=vc90
if "%WINDOWS61SDK%" == "" set WINDOWS61SDK=C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\
)
if %compvers% == "Unknown" goto ERR_UNKNOWNCOMP
@@ -99,12 +72,11 @@ del %compvers%x86_Release.txt
del %compvers%x64_Debug.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%" == "vc120" call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
if "%compvers%" == "vc110" call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
if "%compvers%" == "vc100" call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\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 "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X64 /Release
if "%compvers%" == "vc140" call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x64
if "%compvers%" == "vc120" call "%VS120COMNTOOLS%..\..\VC\vcvarsall.bat" x64
if "%compvers%" == "vc110" call "%VS110COMNTOOLS%..\..\VC\vcvarsall.bat" x64
if "%compvers%" == "vc100" call "%WINDOWS71SDK%SetEnv.Cmd" /X64 /Release
if "%compvers%" == "vc90" call "%WINDOWS61SDK%SetEnv.Cmd" /X64 /Release
@echo 64 bit release build
@@ -114,18 +86,18 @@ if ERRORLEVEL 1 goto ERR_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%" == "vc90" call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X64 /Debug
if "%compvers%" == "vc100" call "%WINDOWS71SDK%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
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%" == "vc120" call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
if "%compvers%" == "vc110" call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat"
if "%compvers%" == "vc100" call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X86 /Release
if "%compvers%" == "vc90" call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X86 /Release
if "%compvers%" == "vc140" call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86
if "%compvers%" == "vc120" call "%VS120COMNTOOLS%..\..\VC\vcvarsall.bat" x86
if "%compvers%" == "vc110" call "%VS110COMNTOOLS%..\..\VC\vcvarsall.bat" x86
if "%compvers%" == "vc100" call "%WINDOWS71SDK%SetEnv.Cmd" /X86 /Release
if "%compvers%" == "vc90" call "%WINDOWS61SDK%SetEnv.Cmd" /X86 /Release
@echo 32 bit release build
@@ -135,8 +107,8 @@ if ERRORLEVEL 1 goto ERR_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%" == "vc90" call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X86 /Debug
if "%compvers%" == "vc100" call "%WINDOWS71SDK%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
@@ -171,10 +143,10 @@ goto End
:VERSIONS
@echo.
@echo Compiler Version: One of -
@echo vc140 or vs2015
@echo vc120 or vs2013
@echo vc110 or vs2012
@echo vc100 or vs2010
@echo vc140
@echo vc120
@echo vc110
@echo vc100
:End

View File

@@ -123,3 +123,39 @@ in the generated files too.
Update the definition of the stable and release branches in
`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).