[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57548] trunk/blender: Scons and BuildBot changes for MSVC 2012 support.
Juergen Herrmann
shadowrom at me.com
Tue Jun 18 13:55:33 CEST 2013
Revision: 57548
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57548
Author: shadowrom
Date: 2013-06-18 11:55:32 +0000 (Tue, 18 Jun 2013)
Log Message:
-----------
Scons and BuildBot changes for MSVC 2012 support.
Thanks Brecht and Thomas for reviewing ;)
Modified Paths:
--------------
trunk/blender/SConstruct
trunk/blender/build_files/buildbot/slave_compile.py
trunk/blender/build_files/buildbot/slave_pack.py
trunk/blender/build_files/scons/config/win64-vc-config.py
trunk/blender/build_files/scons/tools/btools.py
Modified: trunk/blender/SConstruct
===================================================================
--- trunk/blender/SConstruct 2013-06-18 11:50:15 UTC (rev 57547)
+++ trunk/blender/SConstruct 2013-06-18 11:55:32 UTC (rev 57548)
@@ -137,6 +137,8 @@
B.quickie=[]
toolset = B.arguments.get('BF_TOOLSET', None)
+vcver = B.arguments.get('MSVS_VERSION', '9.0')
+
if toolset:
print "Using " + toolset
if toolset=='mstoolkit':
@@ -148,9 +150,9 @@
btools.SetupSpawn(env)
else:
if bitness==64 and platform=='win32':
- env = BlenderEnvironment(ENV = os.environ, MSVS_ARCH='amd64', TARGET_ARCH='x86_64')
+ env = BlenderEnvironment(ENV = os.environ, MSVS_ARCH='amd64', TARGET_ARCH='x86_64', MSVC_VERSION=vcver)
else:
- env = BlenderEnvironment(ENV = os.environ, TARGET_ARCH='x86')
+ env = BlenderEnvironment(ENV = os.environ, TARGET_ARCH='x86', MSVC_VERSION=vcver)
if not env:
print "Could not create a build environment"
@@ -384,6 +386,8 @@
env['CPPFLAGS'].append('-DWITH_AUDASPACE')
env['CPPFLAGS'].append('-DWITH_AVI')
env['CPPFLAGS'].append('-DWITH_BOOL_COMPAT')
+if env['OURPLATFORM'] in ('win32-vc', 'win64-vc') and env['MSVC_VERSION'] == '11.0':
+ env['CPPFLAGS'].append('-D_ALLOW_KEYWORD_MACROS')
if env['OURPLATFORM'] not in ('win32-vc', 'win64-vc'):
env['CPPFLAGS'].append('-DHAVE_STDBOOL_H')
@@ -940,7 +944,10 @@
if env['WITH_BF_OPENAL']:
dllsources.append('${LCGDIR}/openal/lib/OpenAL32.dll')
- dllsources.append('${LCGDIR}/openal/lib/wrap_oal.dll')
+ if env['OURPLATFORM'] in ('win32-vc', 'win64-vc') and env['MSVC_VERSION'] == '11.0':
+ pass
+ else:
+ dllsources.append('${LCGDIR}/openal/lib/wrap_oal.dll')
if env['WITH_BF_SNDFILE']:
dllsources.append('${LCGDIR}/sndfile/lib/libsndfile-1.dll')
Modified: trunk/blender/build_files/buildbot/slave_compile.py
===================================================================
--- trunk/blender/build_files/buildbot/slave_compile.py 2013-06-18 11:50:15 UTC (rev 57547)
+++ trunk/blender/build_files/buildbot/slave_compile.py 2013-06-18 11:55:32 UTC (rev 57548)
@@ -143,6 +143,8 @@
scons_options.append('BF_CYCLES_CUDA_NVCC=nvcc.exe')
if builder.find('mingw') != -1:
scons_options.append('BF_TOOLSET=mingw')
+ if builder.endswith('vc2012'):
+ scons_options.append('MSVS_VERSION=11.0')
scons_options.append('BF_NUMJOBS=1')
elif builder.find('mac') != -1:
@@ -156,7 +158,10 @@
retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options)
if builder.find('win') != -1:
- dlls = ('msvcm90.dll', 'msvcp90.dll', 'msvcr90.dll', 'vcomp90.dll', 'Microsoft.VC90.CRT.manifest', 'Microsoft.VC90.OpenMP.manifest')
+ if builder.endswith('vc2012'):
+ dlls = ('msvcp110.dll', 'msvcr110.dll', 'vcomp110.dll')
+ else:
+ dlls = ('msvcm90.dll', 'msvcp90.dll', 'msvcr90.dll', 'vcomp90.dll', 'Microsoft.VC90.CRT.manifest', 'Microsoft.VC90.OpenMP.manifest')
if builder.find('win64') == -1:
dlls_path = '..\\..\\..\\redist\\x86'
else:
Modified: trunk/blender/build_files/buildbot/slave_pack.py
===================================================================
--- trunk/blender/build_files/buildbot/slave_pack.py 2013-06-18 11:50:15 UTC (rev 57547)
+++ trunk/blender/build_files/buildbot/slave_pack.py 2013-06-18 11:55:32 UTC (rev 57548)
@@ -99,6 +99,8 @@
scons_options.append('BF_CYCLES_CUDA_NVCC=nvcc.exe')
if builder.find('mingw') != -1:
scons_options.append('BF_TOOLSET=mingw')
+ if builder.endswith('vc2012'):
+ scons_options.append('MSVS_VERSION=11.0')
elif builder.find('mac') != -1:
if builder.find('x86_64') != -1:
Modified: trunk/blender/build_files/scons/config/win64-vc-config.py
===================================================================
--- trunk/blender/build_files/scons/config/win64-vc-config.py 2013-06-18 11:50:15 UTC (rev 57547)
+++ trunk/blender/build_files/scons/config/win64-vc-config.py 2013-06-18 11:55:32 UTC (rev 57548)
@@ -1,12 +1,29 @@
-LCGDIR = '#../lib/win64'
+import subprocess
+
+CL_OUT = subprocess.Popen(["cl.exe"],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
+CL_STDOUT, CL_STDERR = CL_OUT.communicate()
+
+if CL_STDERR.find("Version 15.00.") == -1:
+ VC_VERSION = '11.0'
+ LCGDIR = '#../lib/win64_vc11'
+
+else:
+ VC_VERSION = '9.0'
+ LCGDIR = '#../lib/win64'
+
LIBDIR = '${LCGDIR}'
WITH_BF_FFMPEG = True
BF_FFMPEG = LIBDIR +'/ffmpeg'
BF_FFMPEG_INC = '${BF_FFMPEG}/include ${BF_FFMPEG}/include/msvc '
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
-BF_FFMPEG_LIB = 'avformat-53.lib avcodec-53.lib avdevice-53.lib avutil-51.lib swscale-2.lib'
-BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-53.dll ${BF_FFMPEG_LIBPATH}/avcodec-53.dll ${BF_FFMPEG_LIBPATH}/avdevice-53.dll ${BF_FFMPEG_LIBPATH}/avutil-51.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll'
+if VC_VERSION == '11.0':
+ BF_FFMPEG_LIB = 'avformat-54.lib avcodec-54.lib avdevice-54.lib avutil-52.lib avfilter-3.lib swscale-2.lib swresample-0.lib'
+ BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-54.dll ${BF_FFMPEG_LIBPATH}/avcodec-54.dll ${BF_FFMPEG_LIBPATH}/avdevice-54.dll ${BF_FFMPEG_LIBPATH}/avutil-52.dll ${BF_FFMPEG_LIBPATH}/avfilter-3.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll ${BF_FFMPEG_LIBPATH}/swresample-0.dll'
+else:
+ BF_FFMPEG_LIB = 'avformat-53.lib avcodec-53.lib avdevice-53.lib avutil-51.lib swscale-2.lib'
+ BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-53.dll ${BF_FFMPEG_LIBPATH}/avcodec-53.dll ${BF_FFMPEG_LIBPATH}/avdevice-53.dll ${BF_FFMPEG_LIBPATH}/avutil-51.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll'
+
BF_PYTHON = LIBDIR + '/python'
BF_PYTHON_VERSION = '3.3'
@@ -19,7 +36,10 @@
WITH_BF_OPENAL = True
BF_OPENAL = LIBDIR + '/openal'
BF_OPENAL_INC = '${BF_OPENAL}/include '
-BF_OPENAL_LIB = 'wrap_oal'
+if VC_VERSION == '11.0':
+ BF_OPENAL_LIB = 'OpenAL32'
+else:
+ BF_OPENAL_LIB = 'wrap_oal'
BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
WITH_BF_SNDFILE = True
@@ -37,7 +57,10 @@
WITH_BF_SDL = True
BF_SDL = LIBDIR + '/sdl'
BF_SDL_INC = '${BF_SDL}/include'
-BF_SDL_LIB = 'SDL.lib'
+if VC_VERSION == '11.0':
+ BF_SDL_LIB = 'SDL.lib dxguid.lib'
+else:
+ BF_SDL_LIB = 'SDL.lib'
BF_SDL_LIBPATH = '${BF_SDL}/lib'
WITH_BF_JACK = False
@@ -178,8 +201,12 @@
WITH_BF_BOOST = True
BF_BOOST = '${LIBDIR}/boost'
BF_BOOST_INC = '${BF_BOOST}/include'
-BF_BOOST_LIB = 'libboost_date_time-vc90-mt-s-1_49 libboost_filesystem-vc90-mt-s-1_49 libboost_regex-vc90-mt-s-1_49 libboost_system-vc90-mt-s-1_49 libboost_thread-vc90-mt-s-1_49 libboost_wave-vc90-mt-s-1_49'
-BF_BOOST_LIB_INTERNATIONAL = ' libboost_locale-vc90-mt-s-1_49'
+if VC_VERSION == '11.0':
+ BF_BOOST_LIB = 'libboost_date_time-vc110-mt-s-1_53 libboost_filesystem-vc110-mt-s-1_53 libboost_regex-vc110-mt-s-1_53 libboost_system-vc110-mt-s-1_53 libboost_thread-vc110-mt-s-1_53 libboost_wave-vc110-mt-s-1_53'
+ BF_BOOST_LIB_INTERNATIONAL = ' libboost_locale-vc110-mt-s-1_53'
+else:
+ BF_BOOST_LIB = 'libboost_date_time-vc90-mt-s-1_49 libboost_filesystem-vc90-mt-s-1_49 libboost_regex-vc90-mt-s-1_49 libboost_system-vc90-mt-s-1_49 libboost_thread-vc90-mt-s-1_49 libboost_wave-vc90-mt-s-1_49'
+ BF_BOOST_LIB_INTERNATIONAL = ' libboost_locale-vc90-mt-s-1_49'
BF_BOOST_LIBPATH = '${BF_BOOST}/lib'
#CUDA
@@ -206,16 +233,16 @@
CXX = 'cl.exe'
CFLAGS = []
-CCFLAGS = ['/nologo', '/Ob1', '/J', '/W1', '/Gd', '/we4013', '/wd4018', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
+CCFLAGS = ['/nologo', '/J', '/W1', '/Gd', '/we4013', '/wd4018', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
CXXFLAGS = ['/EHsc']
-BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast']
+BGE_CXXFLAGS = ['/O2', '/Ob2', '/EHsc', '/GR', '/fp:fast']
-BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr', '/Od']
+BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr', '/Od', '/Ob0']
CPPFLAGS = ['-DWIN32', '-D_CONSOLE', '-D_LIB', '-D_CRT_SECURE_NO_DEPRECATE', '-DOPJ_STATIC']
REL_CFLAGS = []
REL_CXXFLAGS = []
-REL_CCFLAGS = ['-O2', '-DNDEBUG']
+REL_CCFLAGS = ['-O2', '/Ob2', '-DNDEBUG']
C_WARN = []
CC_WARN = []
@@ -224,7 +251,9 @@
LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid', 'psapi']
PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:X64','/STACK:2097152','/OPT:NOREF','/INCREMENTAL:NO', '/NODEFAULTLIB:msvcrt.lib', '/NODEFAULTLIB:msvcmrt.lib', '/NODEFAULTLIB:msvcurt.lib', '/NODEFAULTLIB:msvcrtd.lib']
-
-BF_BUILDDIR = '..\\build\\win64-vc'
-BF_INSTALLDIR='..\\install\\win64-vc'
-
+if VC_VERSION == '11.0':
+ BF_BUILDDIR = '..\\build\\win64-vc11'
+ BF_INSTALLDIR='..\\install\\win64-vc11'
+else:
+ BF_BUILDDIR = '..\\build\\win64-vc'
+ BF_INSTALLDIR='..\\install\\win64-vc'
Modified: trunk/blender/build_files/scons/tools/btools.py
===================================================================
--- trunk/blender/build_files/scons/tools/btools.py 2013-06-18 11:50:15 UTC (rev 57547)
+++ trunk/blender/build_files/scons/tools/btools.py 2013-06-18 11:55:32 UTC (rev 57548)
@@ -190,7 +190,7 @@
'BF_BSC', 'BF_CONFIG',
'BF_PRIORITYLIST', 'BF_BUILDINFO','CC', 'CXX', 'BF_QUICKDEBUG',
'BF_LISTDEBUG', 'LCGDIR', 'BF_X264_CONFIG', 'BF_XVIDCORE_CONFIG',
- 'BF_UNIT_TEST', 'BF_BITNESS']
+ 'BF_UNIT_TEST', 'BF_BITNESS', 'MSVS_VERSION']
okdict = {}
@@ -687,6 +687,9 @@
if platform == 'darwin':
platform = 'OSX-' + env['MACOSX_DEPLOYMENT_TARGET'] + '-' + env['MACOSX_ARCHITECTURE']
+ if env['MSVC_VERSION'] == '11.0':
+ platform = env['OURPLATFORM'] + '11'
+
branch = env['BUILDBOT_BRANCH']
outdir = os.path.abspath(env['BF_INSTALLDIR'])
More information about the Bf-blender-cvs
mailing list