Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'build_files')
-rwxr-xr-xbuild_files/build_environment/install_deps.sh94
-rw-r--r--build_files/buildbot/master.cfg6
-rw-r--r--build_files/cmake/macros.cmake2
-rw-r--r--build_files/scons/Modules/FindPython.py50
-rw-r--r--build_files/scons/Modules/FindSharedPtr.py42
-rw-r--r--build_files/scons/Modules/FindUnorderedMap.py38
-rw-r--r--build_files/scons/Modules/__init__.py0
-rw-r--r--build_files/scons/config/darwin-config.py271
-rw-r--r--build_files/scons/config/linux-config.py278
-rw-r--r--build_files/scons/config/win32-mingw-config.py229
-rw-r--r--build_files/scons/config/win32-vc-config.py264
-rw-r--r--build_files/scons/config/win64-mingw-config.py224
-rw-r--r--build_files/scons/config/win64-vc-config.py264
-rw-r--r--build_files/scons/tools/Blender.py1146
-rw-r--r--build_files/scons/tools/__init__.py0
-rw-r--r--build_files/scons/tools/bcolors.py16
-rw-r--r--build_files/scons/tools/btools.py918
-rw-r--r--build_files/scons/tools/crossmingw.py184
-rw-r--r--build_files/scons/tools/mstoolkit.py353
19 files changed, 6 insertions, 4373 deletions
diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh
index e98a84f8888..b0c99f95082 100755
--- a/build_files/build_environment/install_deps.sh
+++ b/build_files/build_environment/install_deps.sh
@@ -674,7 +674,7 @@ DEPS_COMMON_INFO="\"COMMON DEPENDENCIES:
Those libraries should be available as packages in all recent distributions (optional ones are [between brackets]):
- * Basics of dev environment (cmake or scons, gcc, svn , git, ...).
+ * Basics of dev environment (cmake, gcc, svn , git, ...).
* libjpeg, libpng, libtiff, [libopenjpeg], [libopenal].
* libx11, libxcursor, libxi, libxrandr, libxinerama (and other libx... as needed).
* libsqlite3, libbz2, libssl, libfftw3, libxml2, libtinyxml, yasm, libyaml-cpp.
@@ -2126,7 +2126,7 @@ install_DEB() {
OGG_DEV="libogg-dev"
THEORA_DEV="libtheora-dev"
- _packages="gawk cmake cmake-curses-gui scons build-essential libjpeg-dev libpng-dev \
+ _packages="gawk cmake cmake-curses-gui build-essential libjpeg-dev libpng-dev \
libfreetype6-dev libx11-dev \
libxcursor-dev libxi-dev wget libsqlite3-dev libxrandr-dev libxinerama-dev \
libbz2-dev libncurses5-dev libssl-dev liblzma-dev libreadline-dev $OPENJPEG_DEV \
@@ -2685,7 +2685,7 @@ install_RPM() {
OGG_DEV="libogg-devel"
THEORA_DEV="libtheora-devel"
- _packages="gcc gcc-c++ git make cmake scons libtiff-devel libjpeg-devel\
+ _packages="gcc gcc-c++ git make cmake libtiff-devel libjpeg-devel\
libpng-devel libX11-devel libXi-devel libXcursor-devel libXrandr-devel libXinerama-devel \
wget ncurses-devel readline-devel $OPENJPEG_DEV openal-soft-devel \
glew-devel yasm $THEORA_DEV $VORBIS_DEV $OGG_DEV patch \
@@ -3121,7 +3121,7 @@ install_ARCH() {
OGG_DEV="libogg"
THEORA_DEV="libtheora"
- _packages="base-devel git scons cmake \
+ _packages="base-devel git cmake \
libxi libxcursor libxrandr libxinerama glew libpng libtiff wget openal \
$OPENJPEG_DEV $VORBIS_DEV $OGG_DEV $THEORA_DEV yasm sdl fftw \
libxml2 yaml-cpp tinyxml"
@@ -3782,92 +3782,6 @@ print_info() {
PRINT ""
PRINT "Or even simpler, just run (in your blender-source dir):"
PRINT " make -j$THREADS BUILD_CMAKE_ARGS=\"$_buildargs\""
-
- PRINT ""
- PRINT "If you're using SCons add this to your user-config:"
-
- PRINT "WITH_BF_SNDFILE = True"
-
- PRINT "BF_PYTHON_VERSION = '$PYTHON_VERSION_MIN'"
- if [ -d $INST/python-$PYTHON_VERSION_MIN ]; then
- PRINT "BF_PYTHON = '$INST/python-$PYTHON_VERSION_MIN'"
- PRINT "BF_PYTHON_ABI_FLAGS = 'm'"
- fi
-
- if [ "$OCIO_SKIP" = false ]; then
- PRINT "WITH_BF_OCIO = True"
- if [ -d $INST/ocio ]; then
- PRINT "BF_OCIO = '$INST/ocio'"
- fi
- fi
-
- if [ -d $INST/openexr ]; then
- PRINT "BF_OPENEXR = '$INST/openexr'"
-
- _ilm_libs_ext=""
- #~ version_ge $OPENEXR_VERSION "2.1.0"
- #~ if [ $? -eq 0 ]; then
- #~ _ilm_libs_ext=`echo $OPENEXR_VERSION | sed -r 's/([0-9]+)\.([0-9]+).*/-\1_\2/'`
- #~ fi
- PRINT "BF_OPENEXR_LIB = 'Half IlmImf$_ilm_libs_ext Iex$_ilm_libs_ext Imath$_ilm_libs_ext '"
- # BF_OPENEXR_LIB does not work, things like '-lIlmImf-2_1' do not suit ld.
- # For now, hack around!!!
- PRINT "BF_OPENEXR_LIB_STATIC = '\${BF_OPENEXR}/lib/libHalf.so \${BF_OPENEXR}/lib/libIlmImf$_ilm_libs_ext.so \${BF_OPENEXR}/lib/libIex$_ilm_libs_ext.so \${BF_OPENEXR}/lib/libImath$_ilm_libs_ext.so \${BF_OPENEXR}/lib/libIlmThread$_ilm_libs_ext.so'"
- PRINT "WITH_BF_STATICOPENEXR = True"
- fi
-
- if [ "$OIIO_SKIP" = false ]; then
- PRINT "WITH_BF_OIIO = True"
- if [ -d $INST/oiio ]; then
- PRINT "BF_OIIO = '$INST/oiio'"
- fi
- fi
-
- PRINT "WITH_BF_CYCLES = True"
-
- if [ -d $INST/osl ]; then
- PRINT "BF_OSL = '$INST/osl'"
- fi
-
- if [ "$OSD_SKIP" = false ]; then
- PRINT "WITH_BF_OPENSUBDIV = True"
- if [ -d $INST/osd ]; then
- PRINT "BF_OPENSUBDIV = '$INST/osd'"
- fi
- fi
-
- if [ "$BOOST_SKIP" = false ]; then
- PRINT "WITH_BF_BOOST = True"
- if [ -d $INST/boost ]; then
- PRINT "BF_BOOST = '$INST/boost'"
- fi
- fi
-
- if [ "$WITH_OPENCOLLADA" = true ]; then
- PRINT "WITH_BF_COLLADA = True"
- if [ -d $INST/opencollada ]; then
- PRINT "BF_OPENCOLLADA = '$INST/opencollada'"
- fi
- fi
-
- if [ "$FFMPEG_SKIP" = false ]; then
- _ffmpeg_list_sep=" "
- if [ -d $INST/ffmpeg ]; then
- PRINT "BF_FFMPEG = '$INST/ffmpeg'"
- fi
- PRINT "BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice `print_info_ffmpeglink`'"
- fi
-
- if [ "$WITH_ALL" = false ]; then
- PRINT "WITH_BF_3DMOUSE = False"
- # No libspacenav in official arch repos...
- elif [ "$DISTRO" = "ARCH" ]; then
- PRINT "WITH_BF_3DMOUSE = False"
- fi
-
- if [ "$WITH_OPENCOLLADA" = true ]; then
- PRINT "LLIBS = [\""xml2"\", \""expat"\"] + LLIBS"
- fi
}
#### "Main" ####
diff --git a/build_files/buildbot/master.cfg b/build_files/buildbot/master.cfg
index 1f82f24a8e2..26b5716a185 100644
--- a/build_files/buildbot/master.cfg
+++ b/build_files/buildbot/master.cfg
@@ -94,7 +94,6 @@ all_repositories = {
r'git://git.blender.org/blender-translations.git': 'blender-translations',
r'git://git.blender.org/blender-addons.git': 'blender-addons',
r'git://git.blender.org/blender-addons-contrib.git': 'blender-addons-contrib',
- r'git://git.blender.org/scons.git': 'scons',
r'https://svn.blender.org/svnroot/bf-blender/': 'lib svn',
}
@@ -129,7 +128,6 @@ def schedule_force_build(name):
forcesched.CodebaseParameter(hide=True, codebase="blender-translations"),
forcesched.CodebaseParameter(hide=True, codebase="blender-addons"),
forcesched.CodebaseParameter(hide=True, codebase="blender-addons-contrib"),
- forcesched.CodebaseParameter(hide=True, codebase="scons"),
forcesched.CodebaseParameter(hide=True, codebase="lib svn")],
properties=[]))
@@ -145,7 +143,6 @@ def schedule_build(name, hour, minute=0):
"blender-translations": {"repository": "", "branch": "master"},
"blender-addons": {"repository": "", "branch": "master"},
"blender-addons-contrib": {"repository": "", "branch": "master"},
- "scons": {"repository": "", "branch": "master"},
"lib svn": {"repository": "", "branch": "trunk"}},
branch=current_branch,
builderNames=[name],
@@ -267,8 +264,7 @@ def generic_builder(id, libdir='', branch='', rsync=False):
for submodule in ('blender-translations',
'blender-addons',
- 'blender-addons-contrib',
- 'scons'):
+ 'blender-addons-contrib'):
f.addStep(git_submodule_step(submodule))
f.addStep(git_step(branch))
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index 4ba15c72677..12b7e667fb1 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -1209,7 +1209,7 @@ macro(blender_project_hack_post)
# MINGW workaround for -ladvapi32 being included which surprisingly causes
# string formatting of floats, eg: printf("%.*f", 3, value). to crash blender
# with a meaningless stack trace. by overriding this flag we ensure we only
- # have libs we define and that cmake & scons builds match.
+ # have libs we define.
set(CMAKE_C_STANDARD_LIBRARIES "" CACHE STRING "" FORCE)
set(CMAKE_CXX_STANDARD_LIBRARIES "" CACHE STRING "" FORCE)
mark_as_advanced(
diff --git a/build_files/scons/Modules/FindPython.py b/build_files/scons/Modules/FindPython.py
deleted file mode 100644
index 9f652b73585..00000000000
--- a/build_files/scons/Modules/FindPython.py
+++ /dev/null
@@ -1,50 +0,0 @@
-import os
-import platform
-
-def FindPython():
- all_abi_flags = ['m', 'mu', '']
-
- python = "/usr"
- abi_flags = "m" # Most common for linux distros
- version = "3.5"
-
- _arch = platform.uname()[4] + "-linux-gnu"
-
- # Determine ABI flags used on this system
- include = os.path.join(python, "include")
- for cur_flags in all_abi_flags:
- inc = os.path.join(include, "python" + version + cur_flags, "Python.h")
- if os.path.exists(inc):
- abi_flags = cur_flags
- break
-
- # Find config.h. In some distros, such as ubuntu 12.10 they are not in standard include dir.
- incconf = os.path.join(include, _arch, "python" + version + cur_flags)
- if not os.path.exists(os.path.join(incconf, "pyconfig.h")):
- incconf = ''
-
- # Determine whether python is in /usr/lib or /usr/lib64
- lib32 = os.path.join(python, "lib", "python" + version, "sysconfig.py")
- lib64 = os.path.join(python, "lib64", "python" + version, "sysconfig.py")
- if os.path.exists(lib32):
- libpath = "${BF_PYTHON}/lib"
- elif os.path.exists(lib64):
- libpath = "${BF_PYTHON}/lib64"
- else:
- # roll back to default value
- libpath = "${BF_PYTHON}/lib"
-
- libpath_arch = libpath
- _libpath_arch = os.path.join(python, "lib", _arch) # No lib64 stuff with recent deb-like distro afaik...
- _libs = ["libpython" + version + abi_flags + ext for ext in (".so", ".a")]
- for l in _libs:
- if not os.path.exists(os.path.join(libpath, l)) and os.path.exists(os.path.join(_libpath_arch, l)):
- libpath_arch = os.path.join(libpath, _arch)
- break
-
- return {"PYTHON": python,
- "VERSION": version,
- "LIBPATH": libpath,
- "LIBPATH_ARCH": libpath_arch,
- "ABI_FLAGS": abi_flags,
- "CONFIG": incconf}
diff --git a/build_files/scons/Modules/FindSharedPtr.py b/build_files/scons/Modules/FindSharedPtr.py
deleted file mode 100644
index ba53f55d563..00000000000
--- a/build_files/scons/Modules/FindSharedPtr.py
+++ /dev/null
@@ -1,42 +0,0 @@
-def FindSharedPtr(conf):
- """
- Detect shared_ptr availability
- """
-
- found = False
- namespace = None
- header = None
-
- if conf.CheckCXXHeader("memory"):
- # Finding the memory header doesn't mean that shared_ptr is in std
- # namespace.
- #
- # In particular, MSVC 2008 has shared_ptr declared in std::tr1. In
- # order to support this, we do an extra check to see which namespace
- # should be used.
-
- if conf.CheckType('std::shared_ptr<int>', language = 'C++', includes="#include <memory>"):
- print("-- Found shared_ptr in std namespace using <memory> header.")
- namespace = 'std'
- header = 'memory'
- elif conf.CheckType('std::tr1::shared_ptr<int>', language = 'C++', includes="#include <memory>"):
- print("-- Found shared_ptr in std::tr1 namespace using <memory> header..")
- namespace = 'std::tr1'
- header = 'memory'
-
- if not namespace and conf.CheckCXXHeader("tr1/memory"):
- # Further, gcc defines shared_ptr in std::tr1 namespace and
- # <tr1/memory> is to be included for this. And what makes things
- # even more tricky is that gcc does have <memory> header, so
- # all the checks above wouldn't find shared_ptr.
- if conf.CheckType('std::tr1::shared_ptr<int>', language = 'C++', includes="#include <tr1/memory>"):
- print("-- Found shared_ptr in std::tr1 namespace using <tr1/memory> header..")
- namespace = 'std::tr1'
- header = 'tr1/memory'
-
- if not namespace:
- print("-- Unable to find shared_ptrred_map>.")
-
- conf.env['WITH_SHARED_PTR_SUPPORT'] = namespace and header
- conf.env['SHARED_PTR_NAMESPACE'] = namespace
- conf.env['SHARED_PTR_HEADER'] = header
diff --git a/build_files/scons/Modules/FindUnorderedMap.py b/build_files/scons/Modules/FindUnorderedMap.py
deleted file mode 100644
index 34073c1b0b9..00000000000
--- a/build_files/scons/Modules/FindUnorderedMap.py
+++ /dev/null
@@ -1,38 +0,0 @@
-def FindUnorderedMap(conf):
- """
- Detect unordered_map availability
- """
-
- namespace = None
- header = None
-
- if conf.CheckCXXHeader("unordered_map"):
- # Even so we've found unordered_map header file it doesn't
- # mean unordered_map and unordered_set will be declared in
- # std namespace.
- #
- # Namely, MSVC 2008 have unordered_map header which declares
- # unordered_map class in std::tr1 namespace. In order to support
- # this, we do extra check to see which exactly namespace is
- # to be used.
-
- if conf.CheckType('std::unordered_map<int, int>', language = 'CXX', includes="#include <unordered_map>"):
- print("-- Found unordered_map/set in std namespace.")
- namespace = 'std'
- header = 'unordered_map'
- elif conf.CheckType('std::tr1::unordered_map<int, int>', language = 'CXX', includes="#include <unordered_map>"):
- print("-- Found unordered_map/set in std::tr1 namespace.")
- namespace = 'std::tr1'
- header = 'unordered_map'
- else:
- print("-- Found <unordered_map> but can not find neither std::unordered_map nor std::tr1::unordered_map.")
- elif conf.CheckCXXHeader("tr1/unordered_map"):
- print("-- Found unordered_map/set in std::tr1 namespace.")
- namespace = 'std::tr1'
- header = 'tr1/unordered_map'
- else:
- print("-- Unable to find <unordered_map> or <tr1/unordered_map>. ")
-
- conf.env['WITH_UNORDERED_MAP_SUPPORT'] = namespace and header
- conf.env['UNORDERED_MAP_NAMESPACE'] = namespace
- conf.env['UNORDERED_MAP_HEADER'] = header
diff --git a/build_files/scons/Modules/__init__.py b/build_files/scons/Modules/__init__.py
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/build_files/scons/Modules/__init__.py
+++ /dev/null
diff --git a/build_files/scons/config/darwin-config.py b/build_files/scons/config/darwin-config.py
deleted file mode 100644
index 1ded9db0ec1..00000000000
--- a/build_files/scons/config/darwin-config.py
+++ /dev/null
@@ -1,271 +0,0 @@
-import commands
-
-#############################################################################
-################### Compiler & architecture settings ##################
-#############################################################################
-
-MACOSX_ARCHITECTURE = 'x86_64' # valid archs: ppc, i386, ppc64, x86_64
-MACOSX_SDK='' # set an sdk name like '10.7' or leave empty for automatic choosing highest available
-MACOSX_DEPLOYMENT_TARGET = '10.6'
-
-# gcc always defaults to the system standard compiler linked by a shim or symlink
-CC = 'gcc'
-CXX = 'g++'
-LCGDIR = '#../lib/darwin-9.x.universal'
-LIBDIR = '${LCGDIR}'
-
-#############################################################################
-################### Dependency settings ##################
-#############################################################################
-
-# enable ffmpeg support
-WITH_BF_FFMPEG = True
-BF_FFMPEG = LIBDIR + '/ffmpeg'
-BF_FFMPEG_INC = "${BF_FFMPEG}/include"
-BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
-BF_FFMPEG_LIB = 'avcodec avdevice avformat avutil mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg bz2'
-#bz2 is a standard osx dynlib
-
-BF_PYTHON_VERSION = '3.5'
-WITH_OSX_STATICPYTHON = True
-
-# python 3.5 uses precompiled libraries in bf svn /lib by default
-BF_PYTHON = LIBDIR + '/python'
-BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}m'
-# BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
-BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}m'
-BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib/python${BF_PYTHON_VERSION}'
-# BF_PYTHON_LINKFLAGS = ['-u', '_PyMac_Error', '-framework', 'System']
-
-WITH_BF_OPENAL = True
-BF_OPENAL = LIBDIR + '/openal'
-
-WITH_BF_STATICOPENAL = False
-BF_OPENAL_INC = '${BF_OPENAL}/include' # only headers from libdir needed for proper use of framework !!!!
-#BF_OPENAL_LIB = 'openal'
-#BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
-# Warning, this static lib configuration is untested! users of this OS please confirm.
-#BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
-
-# Warning, this static lib configuration is untested! users of this OS please confirm.
-BF_CXX = '/usr'
-WITH_BF_STATICCXX = False
-BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
-
-WITH_BF_AUDASPACE = True
-
-# we use simply jack framework
-WITH_BF_JACK = True
-BF_JACK = '/Library/Frameworks/Jackmp.framework'
-BF_JACK_INC = '${BF_JACK}/headers'
-#BF_JACK_LIB = 'jack' # not used due framework
-BF_JACK_LIBPATH = '${BF_JACK}'
-
-WITH_BF_SNDFILE = True
-BF_SNDFILE = LIBDIR + '/sndfile'
-BF_SNDFILE_INC = '${BF_SNDFILE}/include'
-BF_SNDFILE_LIB = 'sndfile FLAC ogg vorbis vorbisenc'
-BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib ${BF_FFMPEG}/lib' #ogg libs are stored in ffmpeg dir
-
-WITH_BF_SDL = True
-BF_SDL = LIBDIR + '/sdl' #$(shell sdl-config --prefix)
-BF_SDL_INC = '${BF_SDL}/include' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
-BF_SDL_LIB = 'SDL2' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer
-BF_SDL_LIBPATH = '${BF_SDL}/lib'
-
-WITH_BF_OPENEXR = True
-WITH_BF_STATICOPENEXR = False
-BF_OPENEXR = '${LCGDIR}/openexr'
-BF_OPENEXR_INC = '${BF_OPENEXR}/include ${BF_OPENEXR}/include/OpenEXR'
-BF_OPENEXR_LIB = ' Iex Half IlmImf Imath IlmThread'
-BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
-# Warning, this static lib configuration is untested! users of this OS please confirm.
-BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
-
-WITH_BF_DDS = True
-
-WITH_BF_JPEG = True
-BF_JPEG = LIBDIR + '/jpeg'
-BF_JPEG_INC = '${BF_JPEG}/include'
-BF_JPEG_LIB = 'jpeg'
-BF_JPEG_LIBPATH = '${BF_JPEG}/lib'
-
-WITH_BF_OPENJPEG = True
-BF_OPENJPEG = '#extern/libopenjpeg'
-BF_OPENJPEG_LIB = ''
-BF_OPENJPEG_INC = '${BF_OPENJPEG}'
-BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
-
-WITH_BF_PNG = True
-BF_PNG = LIBDIR + '/png'
-BF_PNG_INC = '${BF_PNG}/include'
-BF_PNG_LIB = 'png'
-BF_PNG_LIBPATH = '${BF_PNG}/lib'
-
-WITH_BF_TIFF = True
-BF_TIFF = LIBDIR + '/tiff'
-BF_TIFF_INC = '${BF_TIFF}/include'
-BF_TIFF_LIB = 'tiff'
-BF_TIFF_LIBPATH = '${BF_TIFF}/lib'
-
-WITH_BF_ZLIB = True
-BF_ZLIB = '/usr'
-#BF_ZLIB_INC = '${BF_ZLIB}/include' # don't use this, it breaks -isysroot ${MACOSX_SDK}
-BF_ZLIB_LIB = 'z'
-
-WITH_BF_INTERNATIONAL = True
-
-WITH_BF_GAMEENGINE = True
-WITH_BF_PLAYER = True
-WITH_BF_OCEANSIM = True
-
-WITH_BF_BULLET = True
-BF_BULLET = '#extern/bullet2/src'
-BF_BULLET_INC = '${BF_BULLET}'
-BF_BULLET_LIB = 'extern_bullet'
-
-WITH_BF_FFTW3 = True
-BF_FFTW3 = LIBDIR + '/fftw3'
-BF_FFTW3_INC = '${BF_FFTW3}/include'
-BF_FFTW3_LIB = 'libfftw3'
-BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
-
-BF_FREETYPE = LIBDIR + '/freetype'
-BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
-BF_FREETYPE_LIB = 'freetype'
-BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib'
-
-WITH_BF_QUICKTIME = True
-
-WITH_BF_ICONV = True
-BF_ICONV = '/usr'
-BF_ICONV_INC = '${BF_ICONV}/include'
-BF_ICONV_LIB = 'iconv'
-#BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
-
-# Mesa Libs should go here if your using them as well....
-WITH_BF_STATICOPENGL = True
-BF_OPENGL_LIB = 'GL GLU'
-BF_OPENGL_LIBPATH = '/System/Library/Frameworks/OpenGL.framework/Libraries'
-BF_OPENGL_LINKFLAGS = ['-framework', 'OpenGL']
-
-#OpenCollada flags
-WITH_BF_COLLADA = True
-BF_COLLADA = '#source/blender/collada'
-BF_COLLADA_INC = '${BF_COLLADA}'
-BF_COLLADA_LIB = 'bf_collada'
-BF_OPENCOLLADA = LIBDIR + '/opencollada'
-BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
-BF_OPENCOLLADA_LIB = 'OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils OpenCOLLADAStreamWriter MathMLSolver GeneratedSaxParser xml2 buffer ftoa'
-BF_OPENCOLLADA_LIBPATH = LIBDIR + '/opencollada'
-BF_PCRE = LIBDIR + '/opencollada'
-BF_PCRE_LIB = 'pcre'
-BF_PCRE_LIBPATH = '${BF_PCRE}/lib'
-#BF_EXPAT = '/usr'
-#BF_EXPAT_LIB = 'expat'
-#BF_EXPAT_LIBPATH = '/usr/lib'
-
-# Cycles
-WITH_BF_CYCLES = True
-
-#OSL
-
-WITH_BF_CYCLES_OSL = True
-BF_OSL = LIBDIR + '/osl'
-BF_OSL_INC = '${BF_OSL}/include'
-# note oslexec would passed via program linkflags, which is needed to
-# make llvm happy with osl_allocate_closure_component
-#BF_OSL_LIB = 'oslcomp oslquery'
-BF_OSL_LIBPATH = '${BF_OSL}/lib'
-BF_OSL_COMPILER = '${BF_OSL}/bin/oslc'
-
-WITH_BF_LLVM = True
-BF_LLVM = LIBDIR + '/llvm'
-BF_LLVM_LIB = 'LLVMBitReader LLVMJIT LLVMipo LLVMVectorize LLVMBitWriter LLVMX86CodeGen LLVMX86Desc LLVMX86Info LLVMX86AsmPrinter ' + \
- 'LLVMX86Utils LLVMSelectionDAG LLVMCodeGen LLVMScalarOpts LLVMInstCombine LLVMTransformUtils LLVMipa LLVMAnalysis LLVMExecutionEngine ' + \
- 'LLVMTarget LLVMMC LLVMCore LLVMSupport LLVMObject'
-BF_LLVM_LIBPATH = '${BF_LLVM}/lib'
-
-WITH_BF_OIIO = True
-BF_OIIO = LIBDIR + '/openimageio'
-BF_OIIO_INC = '${BF_OIIO}/include'
-BF_OIIO_LIB = 'OpenImageIO'
-BF_OIIO_LIBPATH = '${BF_OIIO}/lib'
-
-WITH_BF_OCIO = True
-BF_OCIO = LIBDIR + '/opencolorio'
-BF_OCIO_INC = '${BF_OCIO}/include'
-BF_OCIO_LIB = 'OpenColorIO tinyxml yaml-cpp'
-BF_OCIO_LIBPATH = '${BF_OCIO}/lib'
-
-WITH_BF_BOOST = True
-BF_BOOST = LIBDIR + '/boost'
-BF_BOOST_INC = '${BF_BOOST}/include'
-BF_BOOST_LIB = 'boost_date_time-mt boost_filesystem-mt boost_regex-mt boost_system-mt boost_thread-mt boost_wave-mt'
-BF_BOOST_LIB_INTERNATIONAL = 'boost_locale-mt'
-BF_BOOST_LIBPATH = '${BF_BOOST}/lib'
-
-WITH_BF_CYCLES_CUDA_BINARIES = False
-BF_CYCLES_CUDA_NVCC = '/usr/local/cuda/bin/nvcc'
-BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50', 'sm_52']
-
-#Freestyle
-WITH_BF_FREESTYLE = True
-
-#OpenMP ( will be checked for compiler support and turned off eventually )
-WITH_BF_OPENMP = True
-
-WITH_BF_OPENSUBDIV = False
-BF_OPENSUBDIV = LIBDIR + '/opensubdiv'
-BF_OPENSUBDIV_INC = '${BF_OPENSUBDIV}/include'
-BF_OPENSUBDIV_LIB = 'osdCPU osdGPU'
-BF_OPENSUBDIV_LIBPATH = '${BF_OPENSUBDIV}/lib'
-
-#Ray trace optimization
-WITH_BF_RAYOPTIMIZATION = True
-BF_RAYOPTIMIZATION_SSE_FLAGS = []
-
-# SpaceNavigator and related 3D mice, driver must be 3DxWare 10 Beta 4 (Mac OS X) or later !
-WITH_BF_3DMOUSE = True
-
-#############################################################################
-################### various compile settings and flags ##################
-#############################################################################
-
-BF_QUIET = '1' # suppress verbose output
-
-CFLAGS = []
-CXXFLAGS = []
-CCFLAGS = ['-pipe','-funsigned-char']
-CPPFLAGS = []
-
-PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Cocoa','-framework','Carbon','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']
-
-LLIBS = ['stdc++']
-
-REL_CFLAGS = []
-REL_CXXFLAGS = []
-REL_CCFLAGS = ['-O2']
-
-CC_WARN = ['-Wall']
-C_WARN = ['-Wno-char-subscripts', '-Wpointer-arith', '-Wcast-align', '-Wvla', '-Wno-unknown-pragmas', '-Wstrict-prototypes']
-CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
-
-##FIX_STUBS_WARNINGS = -Wno-unused
-
-##LOPTS = --dynamic
-##DYNLDFLAGS = -shared $(LDFLAGS)
-
-BF_PROFILE_CCFLAGS = ['-pg', '-g ']
-BF_PROFILE_LINKFLAGS = ['-pg']
-BF_PROFILE = False
-
-BF_DEBUG = False
-BF_DEBUG_CCFLAGS = ['-g']
-
-#############################################################################
-################### Output directories ##################
-#############################################################################
-
-BF_BUILDDIR='../build/darwin'
-BF_INSTALLDIR='../install/darwin'
diff --git a/build_files/scons/config/linux-config.py b/build_files/scons/config/linux-config.py
deleted file mode 100644
index 1990d6ece0a..00000000000
--- a/build_files/scons/config/linux-config.py
+++ /dev/null
@@ -1,278 +0,0 @@
-from FindPython import FindPython
-
-py = FindPython()
-
-BF_PYTHON_ABI_FLAGS = py['ABI_FLAGS']
-BF_PYTHON = py['PYTHON']
-BF_PYTHON_LIBPATH = py['LIBPATH']
-BF_PYTHON_LIBPATH_ARCH = py['LIBPATH_ARCH']
-BF_PYTHON_CONFIG = py['CONFIG']
-BF_PYTHON_VERSION = py['VERSION']
-WITH_BF_STATICPYTHON = False
-BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}${BF_PYTHON_ABI_FLAGS} ' + BF_PYTHON_CONFIG
-BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
-BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}${BF_PYTHON_ABI_FLAGS}' # BF_PYTHON+'/lib/python'+BF_PYTHON_VERSION+'/config/libpython'+BF_PYTHON_VERSION+'.a'
-BF_PYTHON_LINKFLAGS = ['-Xlinker', '-export-dynamic']
-BF_PYTHON_LIB_STATIC = '${BF_PYTHON_LIBPATH_ARCH}/libpython${BF_PYTHON_VERSION}${BF_PYTHON_ABI_FLAGS}.a'
-
-WITH_BF_OPENAL = True
-WITH_BF_STATICOPENAL = False
-BF_OPENAL = '/usr'
-BF_OPENAL_INC = '${BF_OPENAL}/include'
-BF_OPENAL_LIB = 'openal'
-BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
-
-BF_CXX = '/usr'
-WITH_BF_STATICCXX = False
-BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
-
-WITH_BF_AUDASPACE = True
-
-WITH_BF_JACK = False
-BF_JACK = '/usr'
-BF_JACK_INC = '${BF_JACK}/include/jack'
-BF_JACK_LIB = 'jack'
-BF_JACK_LIBPATH = '${BF_JACK}/lib'
-
-WITH_BF_SNDFILE = False
-WITH_BF_STATICSNDFILE = False
-BF_SNDFILE = '/usr'
-BF_SNDFILE_INC = '${BF_SNDFILE}/include/sndfile'
-BF_SNDFILE_LIB = 'sndfile'
-BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
-BF_SNDFILE_LIB_STATIC = '${BF_SNDFILE}/lib/libsndfile.a ${BF_OGG}/lib/libvorbis.a ${BF_OGG}/lib/libFLAC.a ${BF_OGG}/lib/libvorbisenc.a ${BF_OGG}/lib/libogg.a'
-
-WITH_BF_SDL = True
-BF_SDL = '/usr' #$(shell sdl-config --prefix)
-BF_SDL_INC = '${BF_SDL}/include/SDL' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
-BF_SDL_LIB = 'SDL' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer
-
-WITH_BF_OPENEXR = True
-WITH_BF_STATICOPENEXR = False
-BF_OPENEXR = '/usr'
-# when compiling with your own openexr lib you might need to set...
-# BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR ${BF_OPENEXR}/include'
-
-BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR'
-BF_OPENEXR_LIB = 'Half IlmImf Iex Imath '
-BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
-# BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
-
-
-WITH_BF_DDS = True
-
-WITH_BF_JPEG = True
-BF_JPEG = '/usr'
-BF_JPEG_INC = '${BF_JPEG}/include'
-BF_JPEG_LIB = 'jpeg'
-
-WITH_BF_PNG = True
-BF_PNG = '/usr'
-BF_PNG_INC = '${BF_PNG}/include'
-BF_PNG_LIB = 'png'
-
-WITH_BF_TIFF = True
-BF_TIFF = '/usr'
-BF_TIFF_INC = '${BF_TIFF}/include'
-BF_TIFF_LIB = 'tiff'
-
-WITH_BF_ZLIB = True
-BF_ZLIB = '/usr'
-BF_ZLIB_INC = '${BF_ZLIB}/include'
-BF_ZLIB_LIB = 'z'
-
-WITH_BF_INTERNATIONAL = True
-
-WITH_BF_GAMEENGINE = True
-WITH_BF_PLAYER = True
-WITH_BF_OCEANSIM = True
-
-WITH_BF_BULLET = True
-BF_BULLET = '#extern/bullet2/src'
-BF_BULLET_INC = '${BF_BULLET}'
-BF_BULLET_LIB = 'extern_bullet'
-
-WITH_BF_ELTOPO = False
-BF_LAPACK = '/usr'
-BF_LAPACK_LIB = 'lapack3gf blas clapack'
-BF_LAPACK_LIBPATH = '${BF_LAPACK}/lib'
-
-BF_FREETYPE = '/usr'
-BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
-BF_FREETYPE_LIB = 'freetype'
-#BF_FREETYPE_LIB_STATIC = '${BF_FREETYPE}/lib/libfreetype.a'
-
-WITH_BF_ICONV = False
-BF_ICONV = "/usr"
-BF_ICONV_INC = '${BF_ICONV}/include'
-BF_ICONV_LIB = 'iconv'
-BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
-
-WITH_BF_BINRELOC = True
-
-# enable ffmpeg support
-WITH_BF_FFMPEG = True
-BF_FFMPEG = '/usr'
-BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice'
-BF_FFMPEG_INC = '${BF_FFMPEG}/include'
-BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
-#WITH_BF_STATICFFMPEG = True
-#BF_FFMPEG_LIB_STATIC = '${BF_FFMPEG_LIBPATH}/libavformat.a ${BF_FFMPEG_LIBPATH/libavcodec.a ${BF_FFMPEG_LIBPATH}/libswscale.a ${BF_FFMPEG_LIBPATH}/libavutil.a ${BF_FFMPEG_LIBPATH}/libavdevice.a'
-
-# enable ogg, vorbis and theora in ffmpeg
-WITH_BF_OGG = False
-BF_OGG = '/usr'
-BF_OGG_INC = '${BF_OGG}/include'
-BF_OGG_LIB = 'ogg vorbis vorbisenc theoraenc theoradec'
-
-WITH_BF_OPENJPEG = True
-BF_OPENJPEG = '#extern/libopenjpeg'
-BF_OPENJPEG_LIB = ''
-BF_OPENJPEG_INC = '${BF_OPENJPEG}'
-BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
-
-WITH_BF_FFTW3 = False
-WITH_BF_STATICFFTW3 = False
-BF_FFTW3 = '/usr'
-BF_FFTW3_INC = '${BF_FFTW3}/include'
-BF_FFTW3_LIB = 'fftw3'
-BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
-BF_FFTW3_LIB_STATIC = '${BF_FFTW3_LIBPATH}/libfftw3.a'
-
-WITH_BF_REDCODE = False
-BF_REDCODE = '#extern/libredcode'
-BF_REDCODE_LIB = ''
-# BF_REDCODE_INC = '${BF_REDCODE}/include'
-BF_REDCODE_INC = '${BF_REDCODE}/../' #C files request "libredcode/format.h" which is in "#extern/libredcode/format.h", stupid but compiles for now.
-BF_REDCODE_LIBPATH='${BF_REDCODE}/lib'
-
-# Mesa Libs should go here if you're using them as well....
-WITH_BF_STATICOPENGL = False
-BF_OPENGL = '/usr'
-BF_OPENGL_INC = '${BF_OPENGL}/include'
-BF_OPENGL_LIB = 'GL GLU X11 Xi Xxf86vm'
-BF_OPENGL_LIBPATH = '/usr/X11R6/lib'
-BF_OPENGL_LIB_STATIC = '${BF_OPENGL_LIBPATH}/libGL.a ${BF_OPENGL_LIBPATH}/libGLU.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a ${BF_OPENGL_LIBPATH}/libX11.a ${BF_OPENGL_LIBPATH}/libXi.a ${BF_OPENGL_LIBPATH}/libXext.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a'
-
-WITH_BF_COLLADA = False
-BF_COLLADA = '#source/blender/collada'
-BF_COLLADA_INC = '${BF_COLLADA}'
-BF_COLLADA_LIB = 'bf_collada'
-BF_OPENCOLLADA = '/usr'
-BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include/opencollada'
-BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa'
-BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib/opencollada'
-BF_PCRE = ''
-BF_PCRE_LIB = 'pcre'
-BF_PCRE_LIBPATH = '/usr/lib'
-BF_EXPAT = '/usr'
-BF_EXPAT_LIB = 'expat'
-BF_EXPAT_LIBPATH = '/usr/lib'
-
-WITH_BF_JEMALLOC = False
-WITH_BF_STATICJEMALLOC = False
-BF_JEMALLOC = '/usr'
-BF_JEMALLOC_INC = '${BF_JEMALLOC}/include'
-BF_JEMALLOC_LIBPATH = '${BF_JEMALLOC}/lib'
-BF_JEMALLOC_LIB = 'jemalloc'
-BF_JEMALLOC_LIB_STATIC = '${BF_JEMALLOC_LIBPATH}/libjemalloc.a'
-
-WITH_BF_OIIO = False
-WITH_BF_STATICOIIO = False
-BF_OIIO = '/usr'
-BF_OIIO_INC = '${BF_OIIO}/include'
-BF_OIIO_LIB = 'OpenImageIO'
-BF_OIIO_LIB_STATIC = '${BF_OIIO_LIBPATH}/libOpenImageIO.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_JPEG}/lib/libjpeg.a'
-BF_OIIO_LIBPATH = '${BF_OIIO}/lib'
-
-WITH_BF_OCIO = False
-WITH_BF_STATICOCIO = False
-BF_OCIO = '/usr'
-BF_OCIO_INC = '${BF_OCIO}/include'
-BF_OCIO_LIB = 'OpenColorIO yaml-cpp tinyxml'
-BF_OCIO_LIB_STATIC = '${BF_OCIO_LIBPATH}/libOpenColorIO.a ${BF_OCIO_LIBPATH}/libtinyxml.a ${BF_OCIO_LIBPATH}/libyaml-cpp.a'
-BF_OCIO_LIBPATH = '${BF_OCIO}/lib'
-
-WITH_BF_BOOST = True
-WITH_BF_STATICBOOST = False
-BF_BOOST = '/usr'
-BF_BOOST_INC = '${BF_BOOST}/include'
-BF_BOOST_LIB = 'boost_filesystem boost_regex boost_system boost_thread boost_date_time'
-BF_BOOST_LIB_STATIC = '${BF_BOOST_LIBPATH}/libboost_filesystem.a ${BF_BOOST_LIBPATH}/libboost_date_time.a ' + \
- '${BF_BOOST_LIBPATH}/libboost_regex.a ${BF_BOOST_LIBPATH}/libboost_locale.a ${BF_BOOST_LIBPATH}/libboost_system.a ' + \
- '${BF_BOOST_LIBPATH}/libboost_thread.a'
-BF_BOOST_LIB_INTERNATIONAL = 'boost_locale'
-BF_BOOST_LIBPATH = '${BF_BOOST}/lib'
-
-WITH_BF_CYCLES = WITH_BF_OIIO and WITH_BF_BOOST
-
-WITH_BF_CYCLES_CUDA_BINARIES = False
-BF_CYCLES_CUDA_NVCC = '/usr/local/cuda/bin/nvcc'
-BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50', 'sm_52']
-
-WITH_BF_OPENMP = True
-
-#Ray trace optimization
-WITH_BF_RAYOPTIMIZATION = True
-BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
-
-#SpaceNavigator and friends
-WITH_BF_3DMOUSE = True
-WITH_BF_STATIC3DMOUSE = False
-BF_3DMOUSE = '/usr'
-BF_3DMOUSE_INC = '${BF_3DMOUSE}/include'
-BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib'
-BF_3DMOUSE_LIB = 'spnav'
-BF_3DMOUSE_LIB_STATIC = '${BF_3DMOUSE_LIBPATH}/libspnav.a'
-
-#Freestyle
-WITH_BF_FREESTYLE = True
-
-WITH_BF_OPENSUBDIV = False
-WITH_BF_STATICOPENSUBDIV = False
-BF_OPENSUBDIV = '/usr'
-BF_OPENSUBDIV_INC = '${BF_OPENSUBDIV}/include'
-BF_OPENSUBDIV_LIB = 'osdCPU osdGPU'
-BF_OPENSUBDIV_LIB_STATIC = '${BF_OPENSUBDIV_LIBPATH}/libosdGPU.a ${BF_OPENSUBDIV_LIBPATH}/libosdCPU.a'
-BF_OPENSUBDIV_LIBPATH = '${BF_OPENSUBDIV}/lib'
-
-##
-CC = 'gcc'
-CXX = 'g++'
-
-CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64','-D_LARGEFILE64_SOURCE']
-CFLAGS = ['-std=gnu89']
-CXXFLAGS = []
-
-CPPFLAGS = []
-# g++ 4.6, only needed for bullet
-CXXFLAGS += ['-fpermissive']
-if WITH_BF_FFMPEG:
- # libavutil needs UINT64_C()
- CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
-REL_CFLAGS = []
-REL_CXXFLAGS = []
-REL_CCFLAGS = ['-O2']
-
-C_WARN = ['-Wno-char-subscripts', '-Wvla', '-Wunused-parameter', '-Wstrict-prototypes', '-Werror=vla', '-Werror=implicit-function-declaration', '-Werror=return-type']
-CC_WARN = ['-Wall']
-CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
-
-LLIBS = ['util', 'c', 'm', 'dl', 'pthread']
-
-BF_PROFILE = False
-BF_PROFILE_CCFLAGS = ['-pg','-g']
-BF_PROFILE_LINKFLAGS = ['-pg']
-
-BF_DEBUG = False
-BF_DEBUG_CCFLAGS = ['-g']
-
-BF_BUILDDIR = '../build/linux'
-BF_INSTALLDIR='../install/linux'
-
-#Link against pthread
-PLATFORM_LINKFLAGS = ['-pthread']
-
-#Fix for LLVM conflict with Mesa llvmpipe, SDL dynload also requires symbols to be hidden.
-# TODO(sergey): Move this to SConstruct, so we can have this line depended on user config.
-PLATFORM_LINKFLAGS += ['-Wl,--version-script=source/creator/blender.map']
diff --git a/build_files/scons/config/win32-mingw-config.py b/build_files/scons/config/win32-mingw-config.py
deleted file mode 100644
index bb28deaade2..00000000000
--- a/build_files/scons/config/win32-mingw-config.py
+++ /dev/null
@@ -1,229 +0,0 @@
-LCGDIR = '#../lib/mingw32'
-LIBDIR = "${LCGDIR}"
-
-BF_PYTHON = LIBDIR + '/python'
-BF_PYTHON_VERSION = '3.5'
-WITH_BF_STATICPYTHON = False
-BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
-BF_PYTHON_BINARY = 'python'
-BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}mw'
-BF_PYTHON_DLL = 'python${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}'
-BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
-BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/libpython${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}.a'
-
-WITH_BF_OPENAL = True
-BF_OPENAL = LIBDIR + '/openal'
-BF_OPENAL_INC = '${BF_OPENAL}/include'
-BF_OPENAL_LIB = 'wrap_oal'
-BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
-
-WITH_BF_FFMPEG = True
-BF_FFMPEG_LIB = 'avformat-55 avcodec-55 avdevice-55 avutil-52 swscale-2'
-BF_FFMPEG_LIBPATH = LIBDIR + '/ffmpeg/lib'
-BF_FFMPEG_INC = LIBDIR + '/ffmpeg/include'
-BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-55.dll ${BF_FFMPEG_LIBPATH}/avcodec-55.dll ${BF_FFMPEG_LIBPATH}/avdevice-55.dll ${BF_FFMPEG_LIBPATH}/avutil-52.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll'
-
-WITH_BF_AUDASPACE = True
-
-WITH_BF_JACK = False
-BF_JACK = LIBDIR + '/jack'
-BF_JACK_INC = '${BF_JACK}/include'
-BF_JACK_LIB = 'libjack'
-BF_JACK_LIBPATH = '${BF_JACK}/lib'
-
-WITH_BF_SNDFILE = False
-BF_SNDFILE = LIBDIR + '/sndfile'
-BF_SNDFILE_INC = '${BF_SNDFILE}/include'
-BF_SNDFILE_LIB = 'libsndfile-1'
-BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
-
-WITH_BF_SDL = True
-BF_SDL = LIBDIR + '/sdl'
-BF_SDL_INC = '${BF_SDL}/include'
-BF_SDL_LIB = 'SDL'
-BF_SDL_LIBPATH = '${BF_SDL}/lib'
-
-BF_PTHREADS = LIBDIR + '/pthreads'
-BF_PTHREADS_INC = '${BF_PTHREADS}/include'
-BF_PTHREADS_LIB = 'pthreadGC2'
-BF_PTHREADS_LIBPATH = '${BF_PTHREADS}/lib'
-
-WITH_BF_OPENEXR = True
-WITH_BF_STATICOPENEXR = False
-BF_OPENEXR = LIBDIR + '/openexr'
-BF_OPENEXR_INC = '${BF_OPENEXR}/include ${BF_OPENEXR}/include/OpenEXR'
-BF_OPENEXR_LIB = 'Half IlmImf Imath IlmThread Iex'
-BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
-# Warning, this static lib configuration is untested! users of this OS please confirm.
-BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
-
-WITH_BF_DDS = True
-
-WITH_BF_JPEG = True
-BF_JPEG = LIBDIR + '/jpeg'
-BF_JPEG_INC = '${BF_JPEG}/include'
-BF_JPEG_LIB = 'liblibjpeg'
-BF_JPEG_LIBPATH = '${BF_JPEG}/lib'
-
-WITH_BF_PNG = True
-BF_PNG = LIBDIR + '/png'
-BF_PNG_INC = '${BF_PNG}/include'
-BF_PNG_LIB = 'png'
-BF_PNG_LIBPATH = '${BF_PNG}/lib'
-
-WITH_BF_TIFF = True
-BF_TIFF = LIBDIR + '/tiff'
-BF_TIFF_INC = '${BF_TIFF}/include'
-BF_TIFF_LIB = 'tiff'
-BF_TIFF_LIBPATH = '${BF_TIFF}/lib'
-
-WITH_BF_ZLIB = True
-BF_ZLIB = LIBDIR + '/zlib'
-BF_ZLIB_INC = '${BF_ZLIB}/include'
-BF_ZLIB_LIB = 'z'
-BF_ZLIB_LIBPATH = '${BF_ZLIB}/lib'
-
-WITH_BF_INTERNATIONAL = True
-
-WITH_BF_OPENJPEG = True
-BF_OPENJPEG = '#extern/libopenjpeg'
-BF_OPENJPEG_LIB = ''
-BF_OPENJPEG_INC = '${BF_OPENJPEG}'
-BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
-
-WITH_BF_FFTW3 = True
-BF_FFTW3 = LIBDIR + '/fftw3'
-BF_FFTW3_INC = '${BF_FFTW3}/include'
-BF_FFTW3_LIB = 'fftw3'
-BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
-
-WITH_BF_GAMEENGINE = True
-WITH_BF_PLAYER = True
-WITH_BF_OCEANSIM = True
-
-WITH_BF_BULLET = True
-BF_BULLET = '#extern/bullet2/src'
-BF_BULLET_INC = '${BF_BULLET}'
-BF_BULLET_LIB = 'extern_bullet'
-
-BF_WINTAB = LIBDIR + '/wintab'
-BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
-
-BF_FREETYPE = LIBDIR + '/freetype'
-BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
-BF_FREETYPE_LIB = 'freetype'
-BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib'
-
-WITH_BF_ICONV = False
-BF_ICONV = LIBDIR + "/iconv"
-BF_ICONV_INC = '${BF_ICONV}/include'
-BF_ICONV_LIB = 'iconv'
-BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
-
-WITH_BF_REDCODE = False
-BF_REDCODE_INC = '#extern'
-
-# Mesa Libs should go here if your using them as well....
-WITH_BF_STATICOPENGL = False
-BF_OPENGL = 'C:\\MingW'
-BF_OPENGL_INC = '${BF_OPENGL}/include'
-BF_OPENGL_LIBINC = '${BF_OPENGL}/lib'
-BF_OPENGL_LIB = 'opengl32 glu32'
-BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a',
- '${BF_OPENGL}/lib/libXmu.a', '${BF_OPENGL}/lib/libXext.a',
- '${BF_OPENGL}/lib/libX11.a', '${BF_OPENGL}/lib/libXi.a' ]
-
-WITH_BF_COLLADA = True
-BF_COLLADA = '#source/blender/collada'
-BF_COLLADA_INC = '${BF_COLLADA}'
-BF_COLLADA_LIB = 'bf_collada'
-
-BF_OPENCOLLADA = LIBDIR + '/opencollada'
-BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include/opencollada'
-BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa xml'
-BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib/opencollada'
-
-#Cycles
-WITH_BF_CYCLES = True
-WITH_BF_CYCLES_CUDA_BINARIES = False
-BF_CYCLES_CUDA_NVCC = "" # Path to the NVIDIA CUDA compiler
-BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50', 'sm_52']
-
-WITH_BF_OIIO = True
-BF_OIIO = LIBDIR + '/openimageio'
-BF_OIIO_INC = '${BF_OIIO}/include'
-BF_OIIO_LIB = 'OpenImageIO'
-BF_OIIO_LIBPATH = '${BF_OIIO}/lib'
-
-WITH_BF_OCIO = True
-BF_OCIO = LIBDIR + '/opencolorio'
-BF_OCIO_INC = '${BF_OCIO}/include'
-BF_OCIO_LIB = 'OpenColorIO'
-BF_OCIO_LIBPATH = '${BF_OCIO}/lib'
-
-WITH_BF_BOOST = True
-BF_BOOST = LIBDIR + '/boost'
-BF_BOOST_INC = '${BF_BOOST}/include'
-BF_BOOST_LIB = 'boost_date_time-mgw46-mt-s-1_49 boost_filesystem-mgw46-mt-s-1_49 boost_regex-mgw46-mt-s-1_49 boost_system-mgw46-mt-s-1_49 boost_thread-mgw46-mt-s-1_49'
-BF_BOOST_LIB_INTERNATIONAL = 'boost_locale-mgw46-mt-s-1_49'
-BF_BOOST_LIBPATH = '${BF_BOOST}/lib'
-
-WITH_BF_OPENSUBDIV = False
-BF_OPENSUBDIV = LIBDIR + '/opensubdiv'
-BF_OPENSUBDIV_INC = '${BF_OPENSUBDIV}/include'
-BF_OPENSUBDIV_LIB = 'osdCPU osdGPU'
-BF_OPENSUBDIV_LIBPATH = '${BF_OPENSUBDIV}/lib'
-
-#Ray trace optimization
-WITH_BF_RAYOPTIMIZATION = True
-BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse']
-
-WITH_BF_IME = True
-
-WITH_BF_OPENMP = True
-
-#CUDA
-WITH_BF_CYCLES_CUDA_BINARIES = False
-#BF_CYCLES_CUDA_NVCC = "" # Path to the nvidia compiler
-BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50']
-
-#Freestyle
-WITH_BF_FREESTYLE = True
-
-##
-CC = 'gcc'
-CXX = 'g++'
-
-CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
-CXXFLAGS = []
-
-CPPFLAGS = ['-DWIN32', '-DFREE_WINDOWS', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_LARGEFILE64_SOURCE', '-DBOOST_ALL_NO_LIB', '-DBOOST_THREAD_USE_LIB', '-DGLEW_STATIC', '-DOPJ_STATIC']
-REL_CFLAGS = []
-REL_CXXFLAGS = []
-REL_CCFLAGS = ['-O2']
-
-C_WARN = ['-Wno-char-subscripts', '-Wvla', '-Wstrict-prototypes']
-
-CC_WARN = [ '-Wall' ]
-
-LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++','-lole32','-luuid', '-lwsock32', '-lpsapi', '-ldbghelp']
-
-if WITH_BF_IME:
- LLIBS.append('-limm32')
-
-PLATFORM_LINKFLAGS = ['-Xlinker', '--stack=2097152']
-
-## DISABLED, causes linking errors!
-## for re-distribution, so users dont need mingw installed
-# PLATFORM_LINKFLAGS += ["-static-libgcc", "-static-libstdc++"]
-
-BF_DEBUG = False
-BF_DEBUG_CCFLAGS= ['-g']
-
-BF_PROFILE_CCFLAGS = ['-pg', '-g']
-BF_PROFILE_LINKFLAGS = ['-pg']
-BF_PROFILE_FLAGS = BF_PROFILE_CCFLAGS
-BF_PROFILE = False
-
-BF_BUILDDIR = '..\\build\\win32-mingw'
-BF_INSTALLDIR='..\\install\\win32-mingw'
diff --git a/build_files/scons/config/win32-vc-config.py b/build_files/scons/config/win32-vc-config.py
deleted file mode 100644
index 07d0dda05e5..00000000000
--- a/build_files/scons/config/win32-vc-config.py
+++ /dev/null
@@ -1,264 +0,0 @@
-import subprocess
-
-CL_OUT = subprocess.Popen(["cl.exe"],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
-CL_STDOUT, CL_STDERR = CL_OUT.communicate()
-
-if "18.00." in CL_STDERR:
- VC_VERSION = '12.0'
- LCGDIR = '#../lib/windows_vc12'
-else:
- import sys
- print("Visual C version not supported {}\n".format(CL_STDERR))
- sys.exit(1)
-
-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-55.lib avcodec-55.lib avdevice-55.lib avutil-52.lib swscale-2.lib'
-BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-55.dll ${BF_FFMPEG_LIBPATH}/avcodec-55.dll ${BF_FFMPEG_LIBPATH}/avdevice-55.dll ${BF_FFMPEG_LIBPATH}/avutil-52.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll'
-
-BF_PYTHON = LIBDIR + '/python'
-BF_PYTHON_VERSION = '3.5'
-BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
-BF_PYTHON_BINARY = 'python'
-BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}'
-BF_PYTHON_DLL = '${BF_PYTHON_LIB}'
-BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
-
-WITH_BF_PYTHON_INSTALL_NUMPY = True
-
-WITH_BF_OPENAL = True
-BF_OPENAL = LIBDIR + '/openal'
-BF_OPENAL_INC = '${BF_OPENAL}/include '
-BF_OPENAL_LIB = 'OpenAL32'
-BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
-
-WITH_BF_ICONV = True
-BF_ICONV = LIBDIR + '/iconv'
-BF_ICONV_INC = '${BF_ICONV}/include'
-BF_ICONV_LIB = 'iconv'
-BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
-
-WITH_BF_AUDASPACE = True
-
-WITH_BF_JACK = False
-BF_JACK = LIBDIR + '/jack'
-BF_JACK_INC = '${BF_JACK}/include ${BF_FFMPEG}/include/msvc'
-BF_JACK_LIB = 'libjack'
-BF_JACK_LIBPATH = '${BF_JACK}/lib'
-
-WITH_BF_SNDFILE = True
-BF_SNDFILE = LIBDIR + '/sndfile'
-BF_SNDFILE_INC = '${BF_SNDFILE}/include'
-BF_SNDFILE_LIB = 'libsndfile-1'
-BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
-
-WITH_BF_SDL = True
-BF_SDL = LIBDIR + '/sdl'
-BF_SDL_INC = '${BF_SDL}/include'
-BF_SDL_LIB = 'SDL2.lib'
-BF_SDL_LIBPATH = '${BF_SDL}/lib'
-
-BF_PTHREADS = LIBDIR + '/pthreads'
-BF_PTHREADS_INC = '${BF_PTHREADS}/include'
-BF_PTHREADS_LIB = 'pthreadVC2'
-BF_PTHREADS_LIBPATH = '${BF_PTHREADS}/lib'
-
-WITH_BF_OPENEXR = True
-WITH_BF_STATICOPENEXR = False
-BF_OPENEXR = LIBDIR + '/openexr'
-BF_OPENEXR_INC = '${BF_OPENEXR}/include ${BF_OPENEXR}/include/OpenEXR '
-BF_OPENEXR_LIB = ' Iex-2_2 Half IlmImf-2_2 Imath-2_2 IlmThread-2_2 '
-BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
-BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
-
-WITH_BF_DDS = True
-
-WITH_BF_JPEG = True
-BF_JPEG = LIBDIR + '/jpeg'
-BF_JPEG_INC = '${BF_JPEG}/include'
-BF_JPEG_LIB = 'libjpeg'
-BF_JPEG_LIBPATH = '${BF_JPEG}/lib'
-
-WITH_BF_PNG = True
-BF_PNG = LIBDIR + '/png'
-BF_PNG_INC = '${BF_PNG}/include'
-BF_PNG_LIB = 'libpng'
-BF_PNG_LIBPATH = '${BF_PNG}/lib'
-
-WITH_BF_TIFF = True
-BF_TIFF = LIBDIR + '/tiff'
-BF_TIFF_INC = '${BF_TIFF}/include'
-BF_TIFF_LIB = 'libtiff'
-BF_TIFF_LIBPATH = '${BF_TIFF}/lib'
-
-WITH_BF_ZLIB = True
-BF_ZLIB = LIBDIR + '/zlib'
-BF_ZLIB_INC = '${BF_ZLIB}/include'
-BF_ZLIB_LIB = 'libz_st'
-BF_ZLIB_LIBPATH = '${BF_ZLIB}/lib'
-
-WITH_BF_INTERNATIONAL = True
-
-WITH_BF_GAMEENGINE = True
-WITH_BF_PLAYER = True
-WITH_BF_OCEANSIM = True
-
-WITH_BF_BULLET = True
-BF_BULLET = '#extern/bullet2/src'
-BF_BULLET_INC = '${BF_BULLET}'
-BF_BULLET_LIB = 'extern_bullet'
-
-WITH_BF_ELTOPO = False
-BF_LAPACK = LIBDIR + '/lapack'
-BF_LAPACK_LIB = 'libf2c clapack_nowrap BLAS_nowrap'
-BF_LAPACK_LIBPATH = '${BF_LAPACK}/lib'
-
-BF_WINTAB = LIBDIR + '/wintab'
-BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
-
-WITH_BF_BINRELOC = False
-
-BF_WITH_FREETYPE = True
-BF_FREETYPE = LIBDIR + '/freetype'
-BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
-BF_FREETYPE_LIB = 'freetype2ST'
-BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib'
-
-WITH_BF_OPENJPEG = True
-BF_OPENJPEG = '#extern/libopenjpeg'
-BF_OPENJPEG_LIB = ''
-BF_OPENJPEG_INC = '${BF_OPENJPEG}'
-BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
-
-WITH_BF_FFTW3 = True
-BF_FFTW3 = LIBDIR + '/fftw3'
-BF_FFTW3_INC = '${BF_FFTW3}/include'
-BF_FFTW3_LIB = 'libfftw'
-BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
-
-WITH_BF_REDCODE = False
-BF_REDCODE_INC = '#extern'
-
-WITH_BF_COLLADA = True
-BF_COLLADA = '#source/blender/collada'
-BF_COLLADA_INC = '${BF_COLLADA}'
-BF_COLLADA_LIB = 'bf_collada'
-
-BF_OPENCOLLADA = LIBDIR + '/opencollada'
-BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include/opencollada'
-BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml pcre buffer ftoa'
-BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib/opencollada'
-
-WITH_BF_IME = True
-
-WITH_BF_3DMOUSE = True
-
-WITH_BF_OPENMP = True
-
-#Cycles
-WITH_BF_CYCLES = True
-
-WITH_BF_CYCLES_OSL = True
-WITH_BF_STATICOSL = True
-BF_OSL = '${LIBDIR}/osl'
-BF_OSL_INC = '${BF_OSL}/include'
-BF_OSL_LIBPATH = '${BF_OSL}/lib'
-BF_OSL_LIB_STATIC = '${BF_OSL_LIBPATH}/oslcomp.lib ${BF_OSL_LIBPATH}/oslexec.lib ${BF_OSL_LIBPATH}/oslquery.lib '
-BF_OSL_COMPILER = '${BF_OSL}/bin/oslc'
-
-WITH_BF_LLVM = True
-BF_LLVM = LIBDIR + '/llvm'
-BF_LLVM_LIB = 'LLVMBitReader LLVMJIT LLVMipo LLVMVectorize LLVMBitWriter LLVMX86CodeGen LLVMX86Desc LLVMX86Info LLVMX86AsmPrinter ' + \
- 'LLVMX86Utils LLVMSelectionDAG LLVMCodeGen LLVMScalarOpts LLVMInstCombine LLVMTransformUtils LLVMipa LLVMAnalysis LLVMExecutionEngine ' + \
- 'LLVMTarget LLVMMC LLVMCore LLVMObject LLVMRuntimeDyld LLVMSupport'
-BF_LLVM_LIBPATH = '${BF_LLVM}/lib'
-
-WITH_BF_OIIO = True
-BF_OIIO = '${LIBDIR}/openimageio'
-BF_OIIO_INC = '${BF_OIIO}/include'
-BF_OIIO_LIBPATH = '${BF_OIIO}/lib'
-BF_OIIO_LIB_STATIC = '${BF_OIIO_LIBPATH}/OpenImageIO.lib'
-WITH_BF_STATICOIIO = True
-
-WITH_BF_OCIO = True
-BF_OCIO = '${LIBDIR}/opencolorio'
-BF_OCIO_INC = '${BF_OCIO}/include'
-BF_OCIO_LIBPATH = '${BF_OCIO}/lib'
-BF_OCIO_LIB_STATIC = '${BF_OCIO_LIBPATH}/OpenColorIO.lib'
-WITH_BF_STATICOCIO = True
-
-WITH_BF_BOOST = True
-BF_BOOST = '${LIBDIR}/boost'
-BF_BOOST_INC = '${BF_BOOST}/include'
-BF_BOOST_LIB = 'libboost_date_time-vc120-mt-s-1_55 libboost_filesystem-vc120-mt-s-1_55 libboost_regex-vc120-mt-s-1_55 libboost_system-vc120-mt-s-1_55 libboost_thread-vc120-mt-s-1_55 libboost_wave-vc120-mt-s-1_55'
-BF_BOOST_LIB_INTERNATIONAL = ' libboost_locale-vc120-mt-s-1_55'
-BF_BOOST_LIBPATH = '${BF_BOOST}/lib'
-
-#CUDA
-WITH_BF_CYCLES_CUDA_BINARIES = False
-#BF_CYCLES_CUDA_NVCC = "" # Path to the nvidia compiler
-BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50', 'sm_52']
-
-#Ray trace optimization
-WITH_BF_RAYOPTIMIZATION = True
-BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE']
-
-#Freestyle
-WITH_BF_FREESTYLE = True
-
-WITH_BF_OPENSUBDIV = True
-BF_OPENSUBDIV = LIBDIR + '/opensubdiv'
-BF_OPENSUBDIV_INC = '${BF_OPENSUBDIV}/include'
-BF_OPENSUBDIV_LIB = 'osdCPU osdGPU'
-BF_OPENSUBDIV_LIBPATH = '${BF_OPENSUBDIV}/lib'
-
-WITH_BF_STATICOPENGL = False
-BF_OPENGL_INC = '${BF_OPENGL}/include'
-BF_OPENGL_LIBINC = '${BF_OPENGL}/lib'
-BF_OPENGL_LIB = 'opengl32 glu32'
-BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a',
- '${BF_OPENGL}/lib/libXmu.a', '${BF_OPENGL}/lib/libXext.a',
- '${BF_OPENGL}/lib/libX11.a', '${BF_OPENGL}/lib/libXi.a' ]
-
-CC = 'cl.exe'
-CXX = 'cl.exe'
-
-CCFLAGS = ['/nologo', '/J', '/W3', '/Gd', '/w34062', '/wd4018', '/wd4065', '/wd4127', '/wd4181', '/wd4200', '/wd4244', '/wd4267', '/wd4305', '/wd4800', '/we4013', '/we4431']
-CXXFLAGS = ['/EHsc']
-BGE_CXXFLAGS = ['/O2', '/Ob2', '/EHsc', '/GR', '/fp:fast', '/arch:SSE']
-
-if VC_VERSION == '12.0':
- CCFLAGS.append('/DOIIO_STATIC_BUILD') # OIIO api changed with 1.4 making this needed
-
-BF_DEBUG_CCFLAGS = ['/Zi', '/Ob0', '/Od', '/FR${TARGET}.sbr']
-
-CPPFLAGS = ['-DWIN32','-D_CONSOLE', '-D_LIB', '-D_CRT_SECURE_NO_DEPRECATE', '-DOPJ_STATIC']
-REL_CFLAGS = []
-REL_CXXFLAGS = []
-REL_CCFLAGS = ['-O2', '/Ob2']
-
-C_WARN = []
-CC_WARN = []
-CXX_WARN = []
-
-LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid', 'psapi', 'Dbghelp']
-
-if WITH_BF_IME:
- LLIBS.append('imm32')
-
-PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/STACK:2097152','/INCREMENTAL:NO', '/LARGEADDRESSAWARE', '/NODEFAULTLIB:msvcrt.lib', '/NODEFAULTLIB:msvcmrt.lib', '/NODEFAULTLIB:msvcurt.lib', '/NODEFAULTLIB:msvcrtd.lib']
-
-# # Todo
-# BF_PROFILE_CCFLAGS = ['-pg', '-g ']
-# BF_PROFILE_LINKFLAGS = ['-pg']
-# BF_PROFILE = False
-
-BF_BSC=False
-
-BF_CYCLES_CUDA_ENV="C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd"
-BF_BUILDDIR = '..\\build\\win32-vc'
-BF_INSTALLDIR='..\\install\\win32-vc'
diff --git a/build_files/scons/config/win64-mingw-config.py b/build_files/scons/config/win64-mingw-config.py
deleted file mode 100644
index f5659a99ff5..00000000000
--- a/build_files/scons/config/win64-mingw-config.py
+++ /dev/null
@@ -1,224 +0,0 @@
-LCGDIR = '#../lib/mingw64'
-LIBDIR = "${LCGDIR}"
-
-BF_PYTHON = LIBDIR + '/python'
-BF_PYTHON_VERSION = '3.5'
-WITH_BF_STATICPYTHON = False
-BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
-BF_PYTHON_BINARY = 'python'
-BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}mw'
-BF_PYTHON_DLL = 'python${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}'
-BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
-
-WITH_BF_OPENAL = True
-BF_OPENAL = LIBDIR + '/openal'
-BF_OPENAL_INC = '${BF_OPENAL}/include'
-BF_OPENAL_LIB = 'wrap_oal'
-BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
-
-WITH_BF_FFMPEG = True
-BF_FFMPEG_LIB = 'avformat.dll avcodec.dll avdevice.dll avutil.dll swscale.dll swresample.dll'
-BF_FFMPEG_LIBPATH = LIBDIR + '/ffmpeg/lib'
-BF_FFMPEG_INC = LIBDIR + '/ffmpeg/include'
-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_FFMPEG_LIBPATH}/swresample-0.dll ${BF_FFMPEG_LIBPATH}/xvidcore.dll'
-
-WITH_BF_AUDASPACE = True
-
-WITH_BF_JACK = False
-BF_JACK = LIBDIR + '/jack'
-BF_JACK_INC = '${BF_JACK}/include'
-BF_JACK_LIB = 'libjack'
-BF_JACK_LIBPATH = '${BF_JACK}/lib'
-
-WITH_BF_SNDFILE = False
-BF_SNDFILE = LIBDIR + '/sndfile'
-BF_SNDFILE_INC = '${BF_SNDFILE}/include'
-BF_SNDFILE_LIB = 'libsndfile-1'
-BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
-
-WITH_BF_SDL = True
-BF_SDL = LIBDIR + '/sdl'
-BF_SDL_INC = '${BF_SDL}/include'
-BF_SDL_LIB = 'SDL'
-BF_SDL_LIBPATH = '${BF_SDL}/lib'
-
-BF_PTHREADS = '' # Part of MinGW-w64
-BF_PTHREADS_INC = ''
-BF_PTHREADS_LIB = ''
-BF_PTHREADS_LIBPATH = ''
-
-WITH_BF_OPENEXR = True
-WITH_BF_STATICOPENEXR = False
-BF_OPENEXR = LIBDIR + '/openexr'
-BF_OPENEXR_INC = '${BF_OPENEXR}/include ${BF_OPENEXR}/include/OpenEXR'
-BF_OPENEXR_LIB = 'Half IlmImf Imath IlmThread Iex'
-BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
-
-WITH_BF_DDS = True
-
-WITH_BF_JPEG = True
-BF_JPEG = LIBDIR + '/jpeg'
-BF_JPEG_INC = '${BF_JPEG}/include'
-BF_JPEG_LIB = 'jpeg'
-BF_JPEG_LIBPATH = '${BF_JPEG}/lib'
-
-WITH_BF_PNG = True
-BF_PNG = LIBDIR + '/png'
-BF_PNG_INC = '${BF_PNG}/include'
-BF_PNG_LIB = 'png'
-BF_PNG_LIBPATH = '${BF_PNG}/lib'
-
-WITH_BF_TIFF = True
-BF_TIFF = LIBDIR + '/tiff'
-BF_TIFF_INC = '${BF_TIFF}/include'
-BF_TIFF_LIB = 'tiff'
-BF_TIFF_LIBPATH = '${BF_TIFF}/lib'
-
-WITH_BF_ZLIB = True
-BF_ZLIB = LIBDIR + '/zlib'
-BF_ZLIB_INC = '${BF_ZLIB}/include'
-BF_ZLIB_LIB = 'z'
-BF_ZLIB_LIBPATH = '${BF_ZLIB}/lib'
-
-WITH_BF_INTERNATIONAL = True
-
-WITH_BF_OPENJPEG = True
-BF_OPENJPEG = '#extern/libopenjpeg'
-BF_OPENJPEG_LIB = ''
-BF_OPENJPEG_INC = '${BF_OPENJPEG}'
-BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
-
-WITH_BF_FFTW3 = True
-BF_FFTW3 = LIBDIR + '/fftw3'
-BF_FFTW3_INC = '${BF_FFTW3}/include'
-BF_FFTW3_LIB = 'fftw3'
-BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
-
-WITH_BF_GAMEENGINE = True
-WITH_BF_OCEANSIM = True
-WITH_BF_PLAYER = True
-WITH_BF_LIBMV = True
-
-WITH_BF_BULLET = True
-BF_BULLET = '#extern/bullet2/src'
-BF_BULLET_INC = '${BF_BULLET}'
-BF_BULLET_LIB = 'extern_bullet'
-
-BF_WINTAB = LIBDIR + '/wintab'
-BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
-
-# enable freetype2 support for text objects
-BF_FREETYPE = LIBDIR + '/freetype'
-BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2/'
-BF_FREETYPE_LIB = 'freetype'
-BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib'
-
-WITH_BF_ICONV = False
-BF_ICONV = LIBDIR + "/iconv"
-BF_ICONV_INC = '${BF_ICONV}/include'
-BF_ICONV_LIB = 'iconv'
-BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
-
-WITH_BF_REDCODE = False
-BF_REDCODE_INC = '#extern'
-
-# Mesa Libs should go here if your using them as well....
-WITH_BF_STATICOPENGL = False
-BF_OPENGL = 'C:\\MingW'
-BF_OPENGL_INC = '${BF_OPENGL}/include'
-BF_OPENGL_LIBINC = '${BF_OPENGL}/lib'
-BF_OPENGL_LIB = 'opengl32 glu32'
-BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a',
- '${BF_OPENGL}/lib/libXmu.a', '${BF_OPENGL}/lib/libXext.a',
- '${BF_OPENGL}/lib/libX11.a', '${BF_OPENGL}/lib/libXi.a' ]
-
-WITH_BF_COLLADA = True
-BF_COLLADA = '#source/blender/collada'
-BF_COLLADA_INC = '${BF_COLLADA}'
-BF_COLLADA_LIB = 'bf_collada'
-
-BF_OPENCOLLADA = LIBDIR + '/opencollada'
-BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include/opencollada'
-BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa xml'
-BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib/opencollada'
-
-#Cycles
-WITH_BF_CYCLES = True
-WITH_BF_CYCLES_CUDA_BINARIES = False
-BF_CYCLES_CUDA_NVCC = "" # Path to the NVIDIA CUDA compiler
-BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50', 'sm_52']
-
-WITH_BF_OIIO = True
-BF_OIIO = LIBDIR + '/openimageio'
-BF_OIIO_INC = '${BF_OIIO}/include'
-BF_OIIO_LIB = 'OpenImageIO'
-BF_OIIO_LIBPATH = '${BF_OIIO}/lib'
-
-WITH_BF_OCIO = True
-BF_OCIO = LIBDIR + '/opencolorio'
-BF_OCIO_INC = '${BF_OCIO}/include'
-BF_OCIO_LIB = 'OpenColorIO'
-BF_OCIO_LIBPATH = '${BF_OCIO}/lib'
-
-WITH_BF_BOOST = True
-BF_BOOST = LIBDIR + '/boost'
-BF_BOOST_INC = '${BF_BOOST}/include'
-BF_BOOST_LIB = 'boost_date_time-mgw47-mt-s-1_49 boost_date_time-mgw47-mt-sd-1_49 boost_filesystem-mgw47-mt-s-1_49 boost_filesystem-mgw47-mt-sd-1_49 boost_regex-mgw47-mt-s-1_49 boost_regex-mgw47-mt-sd-1_49 boost_system-mgw47-mt-s-1_49 boost_system-mgw47-mt-sd-1_49 boost_thread-mgw47-mt-s-1_49 boost_thread-mgw47-mt-sd-1_49'
-BF_BOOST_LIB_INTERNATIONAL = ' boost_locale-mgw47-mt-s-1_49 boost_locale-mgw47-mt-sd-1_49'
-BF_BOOST_LIBPATH = '${BF_BOOST}/lib'
-
-WITH_BF_OPENSUBDIV = False
-BF_OPENSUBDIV = LIBDIR + '/opensubdiv'
-BF_OPENSUBDIV_INC = '${BF_OPENSUBDIV}/include'
-BF_OPENSUBDIV_LIB = 'osdCPU osdGPU'
-BF_OPENSUBDIV_LIBPATH = '${BF_OPENSUBDIV}/lib'
-
-#Ray trace optimization
-WITH_BF_RAYOPTIMIZATION = True
-BF_RAYOPTIMIZATION_SSE_FLAGS = ['-mmmx', '-msse', '-msse2']
-
-WITH_BF_IME = True
-
-WITH_BF_OPENMP = True
-
-#Freestyle
-WITH_BF_FREESTYLE = True
-
-##
-CC = 'gcc'
-CXX = 'g++'
-
-CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
-CXXFLAGS = [ '-fpermissive' ]
-
-CPPFLAGS = ['-DWIN32', '-DMS_WIN64', '-DFREE_WINDOWS', '-DFREE_WINDOWS64', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_LARGEFILE64_SOURCE', '-DBOOST_ALL_NO_LIB', '-DBOOST_THREAD_USE_LIB', '-DGLEW_STATIC', '-DOPJ_STATIC']
-REL_CFLAGS = []
-REL_CXXFLAGS = []
-REL_CCFLAGS = ['-O2', '-ftree-vectorize']
-
-# NOTE: C_WARN seems to get ignored - at least -Wno-char-subscripts doesn't work!
-C_WARN = ['-Wno-char-subscripts', '-Wvla', '-Wstrict-prototypes']
-
-CC_WARN = [ '-Wall', '-Wno-char-subscripts' ]
-
-LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++','-lole32','-luuid', '-lwsock32', '-lpsapi', '-lpthread', '-ldbghelp']
-
-if WITH_BF_IME:
- LLIBS.append('-limm32')
-
-PLATFORM_LINKFLAGS = ['-Xlinker', '--stack=2097152']
-
-## DISABLED, causes linking errors!
-## for re-distribution, so users dont need mingw installed
-# PLATFORM_LINKFLAGS += ["-static-libgcc", "-static-libstdc++"]
-
-BF_DEBUG = False
-BF_DEBUG_CCFLAGS= ['-g']
-
-BF_PROFILE_CCFLAGS = ['-pg', '-g']
-BF_PROFILE_LINKFLAGS = ['-pg']
-BF_PROFILE_FLAGS = BF_PROFILE_CCFLAGS
-BF_PROFILE = False
-
-BF_BUILDDIR = '..\\build\\win64-mingw'
-BF_INSTALLDIR='..\\install\\win64-mingw'
diff --git a/build_files/scons/config/win64-vc-config.py b/build_files/scons/config/win64-vc-config.py
deleted file mode 100644
index 3b4551565c6..00000000000
--- a/build_files/scons/config/win64-vc-config.py
+++ /dev/null
@@ -1,264 +0,0 @@
-import subprocess
-
-CL_OUT = subprocess.Popen(["cl.exe"],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
-CL_STDOUT, CL_STDERR = CL_OUT.communicate()
-
-if "18.00." in CL_STDERR:
- VC_VERSION = '12.0'
- LCGDIR = '#../lib/win64_vc12'
-else:
- import sys
- print("Visual C version not supported {}\n".format(CL_STDERR))
- sys.exit(1)
-
-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-55.lib avcodec-55.lib avdevice-55.lib avutil-52.lib swscale-2.lib'
-BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-55.dll ${BF_FFMPEG_LIBPATH}/avcodec-55.dll ${BF_FFMPEG_LIBPATH}/avdevice-55.dll ${BF_FFMPEG_LIBPATH}/avutil-52.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll'
-
-
-BF_PYTHON = LIBDIR + '/python'
-BF_PYTHON_VERSION = '3.5'
-BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
-BF_PYTHON_BINARY = 'python'
-BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}'
-BF_PYTHON_DLL = '${BF_PYTHON_LIB}'
-BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
-
-WITH_BF_PYTHON_INSTALL_NUMPY = True
-
-WITH_BF_OPENAL = True
-BF_OPENAL = LIBDIR + '/openal'
-BF_OPENAL_INC = '${BF_OPENAL}/include '
-BF_OPENAL_LIB = 'OpenAL32'
-BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
-
-WITH_BF_SNDFILE = True
-BF_SNDFILE = LIBDIR + '/sndfile'
-BF_SNDFILE_INC = '${BF_SNDFILE}/include'
-BF_SNDFILE_LIB = 'libsndfile-1'
-BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
-
-WITH_BF_ICONV = True
-BF_ICONV = LIBDIR + '/iconv'
-BF_ICONV_INC = '${BF_ICONV}/include'
-BF_ICONV_LIB = 'iconv'
-BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
-
-WITH_BF_SDL = True
-BF_SDL = LIBDIR + '/sdl'
-BF_SDL_INC = '${BF_SDL}/include'
-BF_SDL_LIB = 'SDL2.lib'
-BF_SDL_LIBPATH = '${BF_SDL}/lib'
-
-WITH_BF_AUDASPACE = True
-
-WITH_BF_JACK = False
-
-BF_PTHREADS = LIBDIR + '/pthreads'
-BF_PTHREADS_INC = '${BF_PTHREADS}/include'
-BF_PTHREADS_LIB = 'pthreadVC2'
-BF_PTHREADS_LIBPATH = '${BF_PTHREADS}/lib'
-
-WITH_BF_OPENEXR = True
-WITH_BF_STATICOPENEXR = False
-BF_OPENEXR = LIBDIR + '/openexr'
-BF_OPENEXR_INC = '${BF_OPENEXR}/include ${BF_OPENEXR}/include/OpenEXR '
-BF_OPENEXR_LIB = ' Iex-2_2 Half IlmImf-2_2 Imath-2_2 IlmThread-2_2 '
-BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
-BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
-
-WITH_BF_DDS = True
-
-WITH_BF_JPEG = True
-BF_JPEG = LIBDIR + '/jpeg'
-BF_JPEG_INC = '${BF_JPEG}/include'
-BF_JPEG_LIB = 'libjpeg'
-BF_JPEG_LIBPATH = '${BF_JPEG}/lib'
-
-WITH_BF_PNG = True
-BF_PNG = LIBDIR + '/png'
-BF_PNG_INC = '${BF_PNG}/include'
-BF_PNG_LIB = 'libpng'
-BF_PNG_LIBPATH = '${BF_PNG}/lib'
-
-WITH_BF_TIFF = True
-BF_TIFF = LIBDIR + '/tiff'
-BF_TIFF_INC = '${BF_TIFF}/include'
-BF_TIFF_LIB = 'libtiff'
-BF_TIFF_LIBPATH = '${BF_TIFF}/lib'
-
-WITH_BF_ZLIB = True
-BF_ZLIB = LIBDIR + '/zlib'
-BF_ZLIB_INC = '${BF_ZLIB}/include'
-BF_ZLIB_LIB = 'libz_st'
-BF_ZLIB_LIBPATH = '${BF_ZLIB}/lib'
-
-WITH_BF_INTERNATIONAL = True
-
-WITH_BF_GAMEENGINE = True
-WITH_BF_PLAYER = True
-WITH_BF_OCEANSIM = True
-
-WITH_BF_BULLET = True
-BF_BULLET = '#extern/bullet2/src'
-BF_BULLET_INC = '${BF_BULLET}'
-BF_BULLET_LIB = 'extern_bullet'
-
-WITH_BF_ELTOPO = False
-BF_LAPACK = LIBDIR + '/lapack'
-BF_LAPACK_LIB = 'libf2c clapack_nowrap BLAS_nowrap'
-BF_LAPACK_LIBPATH = '${BF_LAPACK}/lib'
-
-BF_WINTAB = LIBDIR + '/wintab'
-BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
-
-WITH_BF_BINRELOC = False
-
-BF_WITH_FREETYPE = True
-BF_FREETYPE = LIBDIR + '/freetype'
-BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
-BF_FREETYPE_LIB = 'freetype2ST'
-BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib'
-
-WITH_BF_QUICKTIME = False
-BF_QUICKTIME = LIBDIR + '/QTDevWin'
-BF_QUICKTIME_INC = '${BF_QUICKTIME}/CIncludes'
-BF_QUICKTIME_LIB = 'qtmlClient'
-BF_QUICKTIME_LIBPATH = '${BF_QUICKTIME}/Libraries'
-
-WITH_BF_OPENJPEG = True
-BF_OPENJPEG = '#extern/libopenjpeg'
-BF_OPENJPEG_LIB = ''
-BF_OPENJPEG_INC = '${BF_OPENJPEG}'
-BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
-
-WITH_BF_FFTW3 = True
-BF_FFTW3 = LIBDIR + '/fftw3'
-BF_FFTW3_INC = '${BF_FFTW3}/include'
-BF_FFTW3_LIB = 'libfftw'
-BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
-
-WITH_BF_REDCODE = False
-BF_REDCODE_INC = '#extern'
-
-WITH_BF_COLLADA = True
-BF_COLLADA = '#source/blender/collada'
-BF_COLLADA_INC = '${BF_COLLADA}'
-BF_COLLADA_LIB = 'bf_collada'
-
-BF_OPENCOLLADA = LIBDIR + '/opencollada'
-BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include/opencollada'
-BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml pcre buffer ftoa'
-BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib/opencollada'
-
-WITH_BF_IME = True
-
-WITH_BF_3DMOUSE = True
-
-WITH_BF_OPENMP = True
-
-#Cycles
-WITH_BF_CYCLES = True
-
-WITH_BF_CYCLES_OSL = True
-WITH_BF_STATICOSL = True
-BF_OSL = '${LIBDIR}/osl'
-BF_OSL_INC = '${BF_OSL}/include'
-BF_OSL_LIBPATH = '${BF_OSL}/lib'
-BF_OSL_LIB_STATIC = '${BF_OSL_LIBPATH}/oslcomp.lib ${BF_OSL_LIBPATH}/oslexec.lib ${BF_OSL_LIBPATH}/oslquery.lib '
-BF_OSL_COMPILER = '${BF_OSL}/bin/oslc'
-
-WITH_BF_LLVM = True
-BF_LLVM = LIBDIR + '/llvm'
-BF_LLVM_LIB = 'LLVMBitReader LLVMJIT LLVMipo LLVMVectorize LLVMBitWriter LLVMX86CodeGen LLVMX86Desc LLVMX86Info LLVMX86AsmPrinter ' + \
- 'LLVMX86Utils LLVMSelectionDAG LLVMCodeGen LLVMScalarOpts LLVMInstCombine LLVMTransformUtils LLVMipa LLVMAnalysis LLVMExecutionEngine ' + \
- 'LLVMTarget LLVMMC LLVMCore LLVMObject LLVMRuntimeDyld LLVMSupport'
-BF_LLVM_LIBPATH = '${BF_LLVM}/lib'
-
-WITH_BF_OIIO = True
-BF_OIIO = '${LIBDIR}/openimageio'
-BF_OIIO_INC = '${BF_OIIO}/include'
-BF_OIIO_LIBPATH = '${BF_OIIO}/lib'
-BF_OIIO_LIB_STATIC = '${BF_OIIO_LIBPATH}/OpenImageIO.lib ${BF_OIIO_LIBPATH}/OpenImageIO_Util.lib'
-WITH_BF_STATICOIIO = True
-
-WITH_BF_OCIO = True
-BF_OCIO = '${LIBDIR}/opencolorio'
-BF_OCIO_INC = '${BF_OCIO}/include'
-BF_OCIO_LIBPATH = '${BF_OCIO}/lib'
-BF_OCIO_LIB_STATIC = '${BF_OCIO_LIBPATH}/OpenColorIO.lib'
-WITH_BF_STATICOCIO = True
-
-WITH_BF_BOOST = True
-BF_BOOST = '${LIBDIR}/boost'
-BF_BOOST_INC = '${BF_BOOST}/include'
-BF_BOOST_LIB = 'libboost_date_time-vc120-mt-s-1_55 libboost_filesystem-vc120-mt-s-1_55 libboost_regex-vc120-mt-s-1_55 libboost_system-vc120-mt-s-1_55 libboost_thread-vc120-mt-s-1_55 libboost_wave-vc120-mt-s-1_55'
-BF_BOOST_LIB_INTERNATIONAL = ' libboost_locale-vc120-mt-s-1_55'
-BF_BOOST_LIBPATH = '${BF_BOOST}/lib'
-
-#CUDA
-WITH_BF_CYCLES_CUDA_BINARIES = False
-#BF_CYCLES_CUDA_NVCC = "" # Path to the nvidia compiler
-BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50', 'sm_52']
-
-#Ray trace optimization
-WITH_BF_RAYOPTIMIZATION = True
-# No need to manually specify SSE/SSE2 on x64 systems.
-BF_RAYOPTIMIZATION_SSE_FLAGS = ['']
-
-#Freestyle
-WITH_BF_FREESTYLE = True
-
-WITH_BF_OPENSUBDIV = True
-BF_OPENSUBDIV = LIBDIR + '/opensubdiv'
-BF_OPENSUBDIV_INC = '${BF_OPENSUBDIV}/include'
-BF_OPENSUBDIV_LIB = 'osdCPU osdGPU'
-BF_OPENSUBDIV_LIBPATH = '${BF_OPENSUBDIV}/lib'
-
-WITH_BF_STATICOPENGL = False
-BF_OPENGL_INC = '${BF_OPENGL}/include'
-BF_OPENGL_LIBINC = '${BF_OPENGL}/lib'
-BF_OPENGL_LIB = 'opengl32 glu32'
-BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a',
- '${BF_OPENGL}/lib/libXmu.a', '${BF_OPENGL}/lib/libXext.a',
- '${BF_OPENGL}/lib/libX11.a', '${BF_OPENGL}/lib/libXi.a' ]
-CC = 'cl.exe'
-CXX = 'cl.exe'
-
-CFLAGS = []
-CCFLAGS = ['/nologo', '/J', '/W3', '/Gd', '/w34062', '/wd4018', '/wd4065', '/wd4127', '/wd4181', '/wd4200', '/wd4244', '/wd4267', '/wd4305', '/wd4800', '/we4013', '/we4431']
-
-# We want to support Vista level ABI for x64
-if VC_VERSION == '12.0':
- CCFLAGS.append('/D_WIN32_WINNT=0x600')
- CCFLAGS.append('/DOIIO_STATIC_BUILD') # OIIO api changed with 1.4 making this needed
-
-CXXFLAGS = ['/EHsc']
-BGE_CXXFLAGS = ['/O2', '/Ob2', '/EHsc', '/GR', '/fp:fast']
-
-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', '/Ob2']
-
-C_WARN = []
-CC_WARN = []
-CXX_WARN = []
-
-LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid', 'psapi', 'Dbghelp']
-
-if WITH_BF_IME:
- LLIBS.append('imm32')
-
-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_CYCLES_CUDA_ENV="C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd"
-BF_BUILDDIR = '..\\build\\win64-vc'
-BF_INSTALLDIR='..\\install\\win64-vc'
diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py
deleted file mode 100644
index d44c5caaec8..00000000000
--- a/build_files/scons/tools/Blender.py
+++ /dev/null
@@ -1,1146 +0,0 @@
-#!/usr/bin/env python
-
-"""
-tools.BlenderEnvironment
-
-This environment builds on SCons.Script.SConscript.SConsEnvironment
-
-* library repository
-* custom printout
-* wrapper functions
-
-TODO: clean up and sanitise code - crosscheck with btools and SConstruct
-to kill any code duplication
-
-"""
-
-import os
-import string
-import ctypes as ct
-import glob
-import time
-import sys
-import tarfile
-import shutil
-import cStringIO
-import platform
-
-from SCons.Script.SConscript import SConsEnvironment
-import SCons.Action
-import SCons.Util
-import SCons.Builder
-import SCons.Subst
-import SCons.Tool
-import bcolors
-bc = bcolors.bcolors()
-import btools
-VERSION = btools.VERSION
-VERSION_RELEASE_CYCLE = btools.VERSION_RELEASE_CYCLE
-
-Split = SCons.Util.Split
-Action = SCons.Action.Action
-Builder = SCons.Builder.Builder
-GetBuildPath = SConsEnvironment.GetBuildPath
-
-# a few globals
-root_build_dir = ''
-doc_build_dir = ''
-quickie = None # Anything else than None if BF_QUICK has been passed
-quicklist = [] # The list of libraries/programs to compile during a quickie
-program_list = [] # A list holding Nodes to final binaries, used to create installs
-arguments = None
-targets = None
-resources = []
-allowed_bitnesses = {4 : 32, 8 : 64} # only expecting 32-bit or 64-bit
-bitness = allowed_bitnesses[ct.sizeof(ct.c_void_p)]
-
-##### LIB STUFF ##########
-
-possible_types = ['core'] # can be set in ie. SConstruct
-libs = {}
-vcp = []
-
-def getresources():
- return resources
-
-def init_lib_dict():
- for pt in possible_types:
- libs[pt] = {}
-
-# helper func for add_lib_to_dict
-def internal_lib_to_dict(dict = None, libtype = None, libname = None, priority = 100):
- if not libname in dict[libtype]:
- done = None
- while not done:
- if dict[libtype].has_key(priority):
- priority = priority + 1
- else:
- done = True
- dict[libtype][priority] = libname
-
-# libtype and priority can both be lists, for defining lib in multiple places
-def add_lib_to_dict(env, dict = None, libtype = None, libname = None, priority = 100):
- if not dict or not libtype or not libname:
- print "Passed wrong arg"
- env.Exit()
-
- if type(libtype) is str and type(priority) is int:
- internal_lib_to_dict(dict, libtype, libname, priority)
- elif type(libtype) is list and type(priority) is list:
- if len(libtype)==len(priority):
- for lt, p in zip(libtype, priority):
- internal_lib_to_dict(dict, lt, libname, p)
- else:
- print "libtype and priority lists are unequal in length"
- env.Exit()
- else:
- print "Wrong type combinations for libtype and priority. Only str and int or list and list"
- env.Exit()
-
-def create_blender_liblist(lenv = None, libtype = None):
- if not lenv or not libtype:
- print "missing arg"
-
- lst = []
- if libtype in possible_types:
- curlib = libs[libtype]
- sortlist = curlib.keys()
- sortlist.sort()
- for sk in sortlist:
- v = curlib[sk]
- if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'):
- target = os.path.abspath(os.getcwd() + os.sep + root_build_dir + 'lib' + os.sep +lenv['LIBPREFIX'] + v + lenv['LIBSUFFIX'])
- else:
- target = os.path.abspath(root_build_dir + 'lib' + os.sep +lenv['LIBPREFIX'] + v + lenv['LIBSUFFIX'])
- lst.append(target)
-
- return lst
-
-## TODO: static linking
-def setup_staticlibs(lenv):
- statlibs = [
- #here libs for static linking
- ]
-
- libincs = []
-
- if lenv['WITH_BF_FFMPEG']:
- libincs += Split(lenv['BF_FFMPEG_LIBPATH'])
-
- libincs.extend([
- lenv['BF_OPENGL_LIBPATH'],
- lenv['BF_JPEG_LIBPATH'],
- lenv['BF_ZLIB_LIBPATH'],
- lenv['BF_PNG_LIBPATH'],
- lenv['BF_ICONV_LIBPATH']
- ])
-
- if lenv['WITH_BF_STATICJPEG']:
- statlibs += Split(lenv['BF_JPEG_LIB_STATIC'])
- if lenv['WITH_BF_STATICPNG']:
- statlibs += Split(lenv['BF_PNG_LIB_STATIC'])
-
- libincs += Split(lenv['BF_FREETYPE_LIBPATH'])
- if lenv['WITH_BF_PYTHON']:
- libincs += Split(lenv['BF_PYTHON_LIBPATH'])
- if lenv['WITH_BF_SDL'] and not lenv['WITH_BF_SDL_DYNLOAD']:
- libincs += Split(lenv['BF_SDL_LIBPATH'])
- if lenv['WITH_BF_JACK'] and not lenv['WITH_BF_JACK_DYNLOAD']:
- libincs += Split(lenv['BF_JACK_LIBPATH'])
- if lenv['WITH_BF_SNDFILE']:
- libincs += Split(lenv['BF_SNDFILE_LIBPATH'])
- if lenv['WITH_BF_TIFF']:
- libincs += Split(lenv['BF_TIFF_LIBPATH'])
- if lenv['WITH_BF_STATICTIFF']:
- statlibs += Split(lenv['BF_TIFF_LIB_STATIC'])
- if lenv['WITH_BF_FFTW3']:
- libincs += Split(lenv['BF_FFTW3_LIBPATH'])
- if lenv['WITH_BF_STATICFFTW3']:
- statlibs += Split(lenv['BF_FFTW3_LIB_STATIC'])
- '''
- if lenv['WITH_BF_ELTOPO']:
- libincs += Split(lenv['BF_LAPACK_LIBPATH'])
- if lenv['WITH_BF_STATICLAPACK']:
- statlibs += Split(lenv['BF_LAPACK_LIB_STATIC'])
- '''
- if lenv['WITH_BF_FFMPEG'] and lenv['WITH_BF_STATICFFMPEG']:
- statlibs += Split(lenv['BF_FFMPEG_LIB_STATIC'])
- if lenv['WITH_BF_INTERNATIONAL']:
- if lenv['WITH_BF_FREETYPE_STATIC']:
- statlibs += Split(lenv['BF_FREETYPE_LIB_STATIC'])
- if lenv['WITH_BF_OPENAL']:
- libincs += Split(lenv['BF_OPENAL_LIBPATH'])
- if lenv['WITH_BF_STATICOPENAL']:
- statlibs += Split(lenv['BF_OPENAL_LIB_STATIC'])
- if lenv['WITH_BF_STATICOPENGL']:
- statlibs += Split(lenv['BF_OPENGL_LIB_STATIC'])
- if lenv['WITH_BF_STATICCXX']:
- statlibs += Split(lenv['BF_CXX_LIB_STATIC'])
-
- if lenv['WITH_BF_PYTHON'] and lenv['WITH_BF_STATICPYTHON']:
- statlibs += Split(lenv['BF_PYTHON_LIB_STATIC'])
-
- if lenv['WITH_BF_SNDFILE'] and lenv['WITH_BF_STATICSNDFILE']:
- statlibs += Split(lenv['BF_SNDFILE_LIB_STATIC'])
-
- if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
- libincs += Split(lenv['BF_PTHREADS_LIBPATH'])
-
- if lenv['WITH_BF_COLLADA']:
- libincs += Split(lenv['BF_OPENCOLLADA_LIBPATH'])
- if lenv['OURPLATFORM'] not in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
- libincs += Split(lenv['BF_PCRE_LIBPATH'])
- libincs += Split(lenv['BF_EXPAT_LIBPATH'])
- if lenv['WITH_BF_STATICOPENCOLLADA']:
- statlibs += Split(lenv['BF_OPENCOLLADA_LIB_STATIC'])
-
- if lenv['WITH_BF_OPENMP']:
- if lenv['OURPLATFORM'] == 'linuxcross':
- libincs += Split(lenv['BF_OPENMP_LIBPATH'])
- if lenv['WITH_BF_STATICOPENMP']:
- statlibs += Split(lenv['BF_OPENMP_LIB_STATIC'])
-
- if lenv['WITH_BF_OIIO']:
- libincs += Split(lenv['BF_OIIO_LIBPATH'])
- if lenv['WITH_BF_STATICOIIO']:
- statlibs += Split(lenv['BF_OIIO_LIB_STATIC'])
- if lenv['WITH_BF_OPENEXR']:
- libincs += Split(lenv['BF_OPENEXR_LIBPATH'])
- if lenv['WITH_BF_STATICOPENEXR']:
- statlibs += Split(lenv['BF_OPENEXR_LIB_STATIC'])
- if lenv['WITH_BF_ZLIB'] and lenv['WITH_BF_STATICZLIB']:
- statlibs += Split(lenv['BF_ZLIB_LIB_STATIC'])
-
- if lenv['WITH_BF_OCIO']:
- libincs += Split(lenv['BF_OCIO_LIBPATH'])
- if lenv['WITH_BF_STATICOCIO']:
- statlibs += Split(lenv['BF_OCIO_LIB_STATIC'])
-
- if lenv['WITH_BF_CYCLES_OSL']:
- libincs += Split(lenv['BF_OSL_LIBPATH'])
- if lenv['WITH_BF_STATICOSL']:
- statlibs += Split(lenv['BF_OSL_LIB_STATIC'])
-
- if lenv['WITH_BF_BOOST']:
- libincs += Split(lenv['BF_BOOST_LIBPATH'])
- if lenv['WITH_BF_STATICBOOST']:
- statlibs += Split(lenv['BF_BOOST_LIB_STATIC'])
-
- if lenv['WITH_BF_LLVM']:
- libincs += Split(lenv['BF_LLVM_LIBPATH'])
- if lenv['WITH_BF_STATICLLVM']:
- statlibs += Split(lenv['BF_LLVM_LIB_STATIC'])
-
- if lenv['WITH_BF_JEMALLOC']:
- libincs += Split(lenv['BF_JEMALLOC_LIBPATH'])
- if lenv['WITH_BF_STATICJEMALLOC']:
- statlibs += Split(lenv['BF_JEMALLOC_LIB_STATIC'])
-
- if lenv['OURPLATFORM']=='linux':
- if lenv['WITH_BF_3DMOUSE']:
- libincs += Split(lenv['BF_3DMOUSE_LIBPATH'])
- if lenv['WITH_BF_STATIC3DMOUSE']:
- statlibs += Split(lenv['BF_3DMOUSE_LIB_STATIC'])
-
- if lenv['WITH_BF_OPENSUBDIV']:
- libincs += Split(lenv['BF_OPENSUBDIV_LIBPATH'])
- if lenv['WITH_BF_STATICOPENSUBDIV']:
- statlibs += Split(lenv['BF_OPENSUBDIV_LIB_STATIC'])
-
- # setting this last so any overriding of manually libs could be handled
- if lenv['OURPLATFORM'] not in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross', 'win64-mingw'):
- # We must remove any previous items defining this path, for same reason stated above!
- libincs = [e for e in libincs if SCons.Subst.scons_subst(e, lenv, gvars=lenv.Dictionary()) != "/usr/lib"]
- libincs.append('/usr/lib')
-
- # Hack to pass OSD libraries to linker before extern_{clew,cuew}
- # Here we only store library path, actual library name will be added in setup_syslibs()
- for syslib in create_blender_liblist(lenv, 'system'):
- libincs.append(os.path.dirname(syslib))
-
- return statlibs, libincs
-
-def setup_syslibs(lenv):
- syslibs = []
-
- if not lenv['WITH_BF_FREETYPE_STATIC']:
- syslibs += Split(lenv['BF_FREETYPE_LIB'])
- if lenv['WITH_BF_PYTHON'] and not lenv['WITH_BF_STATICPYTHON']:
- if lenv['BF_DEBUG'] and lenv['OURPLATFORM'] in ('win32-vc', 'win64-vc', 'win32-mingw', 'win64-mingw'):
- syslibs.append(lenv['BF_PYTHON_LIB']+'_d')
- else:
- syslibs.append(lenv['BF_PYTHON_LIB'])
- if lenv['WITH_BF_OPENAL']:
- if not lenv['WITH_BF_STATICOPENAL']:
- syslibs += Split(lenv['BF_OPENAL_LIB'])
- if lenv['WITH_BF_OPENMP'] and lenv['CC'] != 'icc' and lenv['C_COMPILER_ID'] != 'clang' and not lenv['WITH_BF_STATICOPENMP']:
- if lenv['CC'] == 'cl.exe':
- syslibs += ['vcomp']
- else:
- syslibs += ['gomp']
- if lenv['WITH_BF_ICONV']:
- syslibs += Split(lenv['BF_ICONV_LIB'])
- if lenv['WITH_BF_OIIO']:
- if not lenv['WITH_BF_STATICOIIO']:
- syslibs += Split(lenv['BF_OIIO_LIB'])
-
- if lenv['WITH_BF_OCIO']:
- if not lenv['WITH_BF_STATICOCIO']:
- syslibs += Split(lenv['BF_OCIO_LIB'])
-
- if lenv['WITH_BF_OPENEXR'] and not lenv['WITH_BF_STATICOPENEXR']:
- syslibs += Split(lenv['BF_OPENEXR_LIB'])
- if lenv['WITH_BF_ZLIB'] and not lenv['WITH_BF_STATICZLIB']:
- syslibs += Split(lenv['BF_ZLIB_LIB'])
- if lenv['WITH_BF_TIFF'] and not lenv['WITH_BF_STATICTIFF']:
- syslibs += Split(lenv['BF_TIFF_LIB'])
- if lenv['WITH_BF_FFMPEG'] and not lenv['WITH_BF_STATICFFMPEG']:
- syslibs += Split(lenv['BF_FFMPEG_LIB'])
- if lenv['WITH_BF_OGG']:
- syslibs += Split(lenv['BF_OGG_LIB'])
- if lenv['WITH_BF_JACK'] and not lenv['WITH_BF_JACK_DYNLOAD']:
- syslibs += Split(lenv['BF_JACK_LIB'])
- if lenv['WITH_BF_SNDFILE'] and not lenv['WITH_BF_STATICSNDFILE']:
- syslibs += Split(lenv['BF_SNDFILE_LIB'])
- if lenv['WITH_BF_FFTW3'] and not lenv['WITH_BF_STATICFFTW3']:
- syslibs += Split(lenv['BF_FFTW3_LIB'])
- '''
- if lenv['WITH_BF_ELTOPO']:
- syslibs += Split(lenv['BF_LAPACK_LIB'])
- '''
- if lenv['WITH_BF_SDL'] and not lenv['WITH_BF_SDL_DYNLOAD']:
- syslibs += Split(lenv['BF_SDL_LIB'])
- if not lenv['WITH_BF_STATICOPENGL']:
- syslibs += Split(lenv['BF_OPENGL_LIB'])
- if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw','linuxcross', 'win64-vc', 'win64-mingw'):
- syslibs += Split(lenv['BF_PTHREADS_LIB'])
- if lenv['WITH_BF_COLLADA'] and not lenv['WITH_BF_STATICOPENCOLLADA']:
- syslibs.append(lenv['BF_PCRE_LIB'])
- if lenv['BF_DEBUG'] and (lenv['OURPLATFORM'] != 'linux'):
- syslibs += [colladalib+'_d' for colladalib in Split(lenv['BF_OPENCOLLADA_LIB'])]
- else:
- syslibs += Split(lenv['BF_OPENCOLLADA_LIB'])
- syslibs.append(lenv['BF_EXPAT_LIB'])
-
- if lenv['WITH_BF_JEMALLOC']:
- if not lenv['WITH_BF_STATICJEMALLOC']:
- syslibs += Split(lenv['BF_JEMALLOC_LIB'])
-
- if lenv['OURPLATFORM']=='linux':
- if lenv['WITH_BF_3DMOUSE']:
- if not lenv['WITH_BF_STATIC3DMOUSE']:
- syslibs += Split(lenv['BF_3DMOUSE_LIB'])
-
- if lenv['WITH_BF_CYCLES_OSL'] and not lenv['WITH_BF_STATICOSL']:
- syslibs += Split(lenv['BF_OSL_LIB'])
-
- if lenv['WITH_BF_BOOST'] and not lenv['WITH_BF_STATICBOOST']:
- syslibs += Split(lenv['BF_BOOST_LIB'])
-
- if lenv['WITH_BF_INTERNATIONAL']:
- syslibs += Split(lenv['BF_BOOST_LIB_INTERNATIONAL'])
-
- if lenv['WITH_BF_LLVM'] and not lenv['WITH_BF_STATICLLVM']:
- syslibs += Split(lenv['BF_LLVM_LIB'])
-
- if not lenv['WITH_BF_STATICJPEG']:
- syslibs += Split(lenv['BF_JPEG_LIB'])
-
- if not lenv['WITH_BF_STATICPNG']:
- syslibs += Split(lenv['BF_PNG_LIB'])
-
- if lenv['WITH_BF_OPENSUBDIV']:
- if not lenv['WITH_BF_STATICOPENSUBDIV']:
- if lenv['BF_DEBUG'] and lenv['OURPLATFORM'] in ('win32-vc', 'win64-vc', 'win32-mingw', 'win64-mingw'):
- syslibs += [osdlib+'_d' for osdlib in Split(lenv['BF_OPENSUBDIV_LIB'])]
- else:
- syslibs += Split(lenv['BF_OPENSUBDIV_LIB'])
-
- # Hack to pass OSD libraries to linker before extern_{clew,cuew}
- for syslib in create_blender_liblist(lenv, 'system'):
- syslibs.append(os.path.basename(syslib))
-
- syslibs += lenv['LLIBS']
-
- return syslibs
-
-def propose_priorities():
- print bc.OKBLUE+"Priorities:"+bc.ENDC
- for t in possible_types:
- print bc.OKGREEN+"\t"+t+bc.ENDC
- new_priority = 0
- curlib = libs[t]
- sortlist = curlib.keys()
- sortlist.sort()
-
- for sk in sortlist:
- v = curlib[sk]
- #for p,v in sorted(libs[t].iteritems()):
- print "\t\t",new_priority, v
- new_priority += 5
-
-# emits the necessary file objects for creator.c, to be used in creating
-# the final blender executable
-def creator(env):
- sources = ['creator.c']# + Blender.buildinfo(env, "dynamic") + Blender.resources
-
- incs = ['#/intern/guardedalloc', '#/source/blender/blenlib', '#/source/blender/blenkernel', '#/source/blender/depsgraph', '#/source/blender/editors/include', '#/source/blender/blenloader', '#/source/blender/imbuf', '#/source/blender/renderconverter', '#/source/blender/render/extern/include', '#/source/blender/windowmanager', '#/source/blender/makesdna', '#/source/blender/makesrna', '#/source/gameengine/BlenderRoutines', '#/extern/glew/include', '#/source/blender/gpu', env['BF_OPENGL_INC']]
-
- defs = []
-
- if env['WITH_BF_BINRELOC']:
- incs.append('#/extern/binreloc/include')
- defs.append('WITH_BINRELOC')
-
- if env['WITH_BF_SDL']:
- if env['WITH_BF_SDL_DYNLOAD']:
- defs.append('WITH_SDL_DYNLOAD')
- incs.append('#/extern/sdlew/include')
- defs.append('WITH_SDL')
-
- if env['WITH_BF_LIBMV']:
- incs.append('#/extern/libmv')
- defs.append('WITH_LIBMV')
-
- if env['WITH_BF_CYCLES'] and env['WITH_BF_CYCLES_LOGGING']:
- incs.append('#/intern/cycles/blender')
- defs.append('WITH_CYCLES_LOGGING')
-
- if env['WITH_BF_FFMPEG']:
- defs.append('WITH_FFMPEG')
-
- if env['WITH_BF_PYTHON']:
- incs.append('#/source/blender/python')
- defs.append('WITH_PYTHON')
- if env['BF_DEBUG']:
- defs.append('_DEBUG')
-
- if env['WITH_BF_FREESTYLE']:
- incs.append('#/source/blender/freestyle')
- defs.append('WITH_FREESTYLE')
-
- if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
- incs.append(env['BF_PTHREADS_INC'])
- incs.append('#/intern/utfconv')
-
- env.Append(CPPDEFINES=defs)
- env.Append(CPPPATH=incs)
- obj = [env.Object(root_build_dir+'source/creator/creator/creator', ['#source/creator/creator.c'])]
-
- return obj
-
-## TODO: see if this can be made in an emitter
-def buildinfo(lenv, build_type):
- """
- Generate a buildinfo object
- """
- import subprocess
-
- build_date = time.strftime ("%Y-%m-%d")
- build_time = time.strftime ("%H:%M:%S")
-
- if os.path.isdir(os.path.abspath('.git')):
- try:
- build_commit_timestamp = btools.get_command_output(args=['git', 'log', '-1', '--format=%ct']).strip()
- except OSError:
- build_commit_timestamp = None
- if not build_commit_timestamp:
- # Git command not found
- build_hash = 'unknown'
- build_commit_timestamp = '0'
- build_branch = 'unknown'
- else:
- no_upstream = False
-
- try :
- build_hash = btools.get_command_output(['git', 'rev-parse', '--short', '@{u}'], stderr=subprocess.STDOUT).strip()
- except subprocess.CalledProcessError:
- # assume branch has no upstream configured
- build_hash = btools.get_command_output(['git', 'rev-parse', '--short', 'HEAD']).strip()
- no_upstream = True
-
- build_branch = btools.get_command_output(['git', 'rev-parse', '--abbrev-ref', 'HEAD']).strip()
-
- if build_branch == 'HEAD':
- master_check = btools.get_command_output(['git', 'branch', '--list', 'master', '--contains', build_hash]).strip()
- if master_check == 'master':
- build_branch = 'master'
- else:
- head_hash = btools.get_command_output(['git', 'rev-parse', 'HEAD']).strip()
- tag_hashes = btools.get_command_output(['git', 'show-ref', '--tags', '-d'])
- if tag_hashes.find(head_hash) != -1:
- build_branch = 'master'
-
- if not no_upstream:
- older_commits = btools.get_command_output(['git', 'log', '--oneline', 'HEAD..@{u}']).strip()
- if older_commits:
- build_hash = btools.get_command_output(['git', 'rev-parse', '--short', 'HEAD']).strip()
-
- # ## Check for local modifications
- has_local_changes = False
-
- # Update GIT index before getting dirty files
- os.system('git update-index -q --refresh')
- changed_files = btools.get_command_output(['git', 'diff-index', '--name-only', 'HEAD', '--']).strip()
-
- if changed_files:
- has_local_changes = True
- elif no_upstream == False:
- unpushed_log = btools.get_command_output(['git', 'log', '--oneline', '@{u}..']).strip()
- has_local_changes = unpushed_log != ''
-
- if build_branch.startswith('blender-v'):
- build_branch = 'master'
-
- if has_local_changes:
- build_branch += ' (modified)'
- else:
- build_hash = 'unknown'
- build_commit_timestamp = '0'
- build_branch = 'unknown'
-
- if lenv['BF_DEBUG']:
- build_type = "Debug"
- build_cflags = ' '.join(lenv['CFLAGS'] + lenv['CCFLAGS'] + lenv['BF_DEBUG_CCFLAGS'] + lenv['CPPFLAGS'])
- build_cxxflags = ' '.join(lenv['CCFLAGS'] + lenv['CXXFLAGS'] + lenv['CPPFLAGS'])
- else:
- build_type = "Release"
- build_cflags = ' '.join(lenv['CFLAGS'] + lenv['CCFLAGS'] + lenv['REL_CFLAGS'] + lenv['REL_CCFLAGS'] + lenv['CPPFLAGS'])
- build_cxxflags = ' '.join(lenv['CCFLAGS'] + lenv['CXXFLAGS'] + lenv['REL_CXXFLAGS'] + lenv['REL_CCFLAGS'] + lenv['CPPFLAGS'])
-
- build_linkflags = ' '.join(lenv['PLATFORM_LINKFLAGS'])
-
- obj = []
- if lenv['BF_BUILDINFO']:
- lenv.Append (CPPDEFINES = ['BUILD_TIME=\\"%s\\"'%(build_time),
- 'BUILD_DATE=\\"%s\\"'%(build_date),
- 'BUILD_TYPE=\\"%s\\"'%(build_type),
- 'BUILD_HASH=\\"%s\\"'%(build_hash),
- 'BUILD_COMMIT_TIMESTAMP=%s'%(build_commit_timestamp),
- 'BUILD_BRANCH=\\"%s\\"'%(build_branch),
- 'WITH_BUILDINFO',
- 'BUILD_PLATFORM=\\"%s:%s\\"'%(platform.system(), platform.architecture()[0]),
- 'BUILD_CFLAGS=\\"%s\\"'%(build_cflags),
- 'BUILD_CXXFLAGS=\\"%s\\"'%(build_cxxflags),
- 'BUILD_LINKFLAGS=\\"%s\\"'%(build_linkflags),
- 'BUILD_SYSTEM=\\"SCons\\"'
- ])
-
- lenv.Append (CPPPATH = [root_build_dir+'source/blender/blenkernel'])
-
- obj = [lenv.Object (root_build_dir+'source/creator/%s_buildinfo'%build_type, ['#source/creator/buildinfo.c'])]
-
- return obj
-
-##### END LIB STUFF ############
-
-##### ACTION STUFF #############
-
-def my_print_cmd_line(self, s, target, source, env):
- sys.stdout.write(' ' * 70 + '\r')
- sys.stdout.flush()
- sys.stdout.write(s + "\r")
- sys.stdout.flush()
-
-def my_compile_print(target, source, env):
- a = '%s' % (source[0])
- d, f = os.path.split(a)
- return bc.OKBLUE + "Compiling" + bc.ENDC + " ==> '" + bc.OKGREEN + ("%s" % f) + bc.ENDC + "'"
-
-def my_moc_print(target, source, env):
- a = '%s' % (source[0])
- d, f = os.path.split(a)
- return bc.OKBLUE + "Creating MOC" + bc.ENDC + " ==> '" + bc.OKGREEN + ("%s" % f) + bc.ENDC + "'"
-
-def my_linking_print(target, source, env):
- t = '%s' % (target[0])
- d, f = os.path.split(t)
- return bc.OKBLUE + "Linking library" + bc.ENDC + " ==> '" + bc.OKGREEN + ("%s" % f) + bc.ENDC + "'"
-
-def my_program_print(target, source, env):
- t = '%s' % (target[0])
- d, f = os.path.split(t)
- return bc.OKBLUE + "Linking program" + bc.ENDC + " ==> '" + bc.OKGREEN + ("%s" % f) + bc.ENDC + "'"
-
-def msvc_hack(env):
- static_lib = SCons.Tool.createStaticLibBuilder(env)
- program = SCons.Tool.createProgBuilder(env)
-
- env['BUILDERS']['Library'] = static_lib
- env['BUILDERS']['StaticLibrary'] = static_lib
- env['BUILDERS']['Program'] = program
-
-def set_quiet_output(env):
- mycaction = Action("$CCCOM", strfunction=my_compile_print)
- myshcaction = Action("$SHCCCOM", strfunction=my_compile_print)
- mycppaction = Action("$CXXCOM", strfunction=my_compile_print)
- myshcppaction = Action("$SHCXXCOM", strfunction=my_compile_print)
- mylibaction = Action("$ARCOM", strfunction=my_linking_print)
- mylinkaction = Action("$LINKCOM", strfunction=my_program_print)
-
- static_ob, shared_ob = SCons.Tool.createObjBuilders(env)
- static_ob.add_action('.c', mycaction)
- static_ob.add_action('.cpp', mycppaction)
- static_ob.add_action('.cc', mycppaction)
- shared_ob.add_action('.c', myshcaction)
- shared_ob.add_action('.cc', myshcppaction)
-
- static_lib = SCons.Builder.Builder(action = mylibaction,
- emitter = '$LIBEMITTER',
- prefix = '$LIBPREFIX',
- suffix = '$LIBSUFFIX',
- src_suffix = '$OBJSUFFIX',
- src_builder = 'StaticObject')
-
- program = SCons.Builder.Builder(action = mylinkaction,
- emitter = '$PROGEMITTER',
- prefix = '$PROGPREFIX',
- suffix = '$PROGSUFFIX',
- src_suffix = '$OBJSUFFIX',
- src_builder = 'Object',
- target_scanner = SCons.Defaults.ProgScan)
-
- env['BUILDERS']['Object'] = static_ob
- env['BUILDERS']['StaticObject'] = static_ob
- env['BUILDERS']['StaticLibrary'] = static_lib
- env['BUILDERS']['Library'] = static_lib
- env['BUILDERS']['Program'] = program
- if env['BF_LINE_OVERWRITE']:
- SCons.Action._ActionAction.print_cmd_line = my_print_cmd_line
-
-def untar_pybundle(from_tar,to_dir,exclude_re):
- tar= tarfile.open(from_tar, mode='r')
- exclude_re= list(exclude_re) #single re object or list of re objects
- debug= 0 #list files instead of unpacking
- good= []
- if debug: print '\nFiles not being unpacked:\n'
- for name in tar.getnames():
- is_bad= 0
- for r in exclude_re:
- if r.match(name):
- is_bad=1
- if debug: print name
- break
- if not is_bad:
- good.append(tar.getmember(name))
- if debug:
- print '\nFiles being unpacked:\n'
- for g in good:
- print g
- else:
- tar.extractall(to_dir, good)
-
-def my_winpybundle_print(target, source, env):
- pass
-
-def WinPyBundle(target=None, source=None, env=None):
- import re
- py_tar = env.subst(env['LCGDIR']).lstrip("#")
- if env['BF_DEBUG']:
- py_tar+= '/release/python' + env['BF_PYTHON_VERSION'].replace('.','') + '_d.tar.gz'
- else:
- py_tar+= '/release/python' + env['BF_PYTHON_VERSION'].replace('.','') + '.tar.gz'
-
- py_target = env.subst(env['BF_INSTALLDIR']).lstrip("#")
- py_target = os.path.join(py_target, VERSION, 'python')
- def printexception(func,path,ex):
- if os.path.exists(path): #do not report if path does not exist. eg on a fresh build.
- print str(func) + ' failed on ' + str(path)
- print "Trying to remove existing py bundle."
- shutil.rmtree(py_target, False, printexception)
- exclude_re=[re.compile('.*/test'),
- re.compile('^test'),
- re.compile('^distutils'),
- re.compile('^idlelib'),
- re.compile('^lib2to3'),
- re.compile('^tkinter'),
- re.compile('^_tkinter_d.pyd'),
- re.compile('^turtledemo'),
- re.compile('^turtle.py'),
- ]
-
- print "Unpacking '" + py_tar + "' to '" + py_target + "'"
- untar_pybundle(py_tar,py_target,exclude_re)
-
- # -------------
- # Extract Numpy
- if env['WITH_BF_PYTHON_INSTALL_NUMPY']:
- py_tar = env.subst(env['LCGDIR']).lstrip("#")
- py_tar += '/release/python' + env['BF_PYTHON_VERSION'].replace('.','') + '_numpy_1.9.tar.gz'
-
- py_target = env.subst(env['BF_INSTALLDIR']).lstrip("#")
- py_target = os.path.join(py_target, VERSION, 'python', 'lib', 'site-packages')
- # rmtree handled above
- # files are cleaned up in their archive
- exclude_re = []
- print("Unpacking '" + py_tar + "' to '" + py_target + "'")
- untar_pybundle(py_tar, py_target, exclude_re)
-
- # --------------------
- # Copy 'site-packages'
- py_dir = env.subst(env['LCGDIR']).lstrip("#")
- py_dir += '/release/site-packages'
- # grr, we have to do one by one because the dir exists
- for f in os.listdir(py_dir):
- if f == '.svn':
- continue
- fn_src = os.path.join(py_dir, f)
- fn_dst = os.path.join(py_target, f)
-
- shutil.rmtree(fn_dst, False, printexception)
- shutil.copytree(fn_src, fn_dst)
-
-
-
-def my_appit_print(target, source, env):
- a = '%s' % (target[0])
- d, f = os.path.split(a)
- return "making bundle for " + f
-
-def AppIt(target=None, source=None, env=None):
- import shutil
- import commands
- import os.path
-
-
- a = '%s' % (target[0])
- builddir, b = os.path.split(a)
- libdir = env['LCGDIR'][1:]
- osxarch = env['MACOSX_ARCHITECTURE']
- installdir = env['BF_INSTALLDIR']
- print("compiled architecture: %s"%(osxarch))
- print("Installing to %s"%(installdir))
- # TODO, use tar.
- python_zip = 'python_' + osxarch + '.zip' # set specific python_arch.zip
- if env['WITH_OSX_STATICPYTHON']:
- print("unzipping to app-bundle: %s"%(python_zip))
- else:
- print("dynamic build - make sure to have python3.x-framework installed")
- bldroot = env.Dir('.').abspath
- binary = env['BINARYKIND']
-
- sourcedir = bldroot + '/release/darwin/%s.app' % binary
- sourceinfo = bldroot + "/release/darwin/%s.app/Contents/Info.plist"%binary
- targetinfo = installdir +'/' + "%s.app/Contents/Info.plist"%binary
- cmd = installdir + '/' +'%s.app'%binary
-
- if os.path.isdir(cmd):
- shutil.rmtree(cmd)
- shutil.copytree(sourcedir, cmd)
- cmd = "cat %s | sed s/\$\{MACOSX_BUNDLE_SHORT_VERSION_STRING\}/%s/ | "%(sourceinfo,VERSION)
- cmd += "sed s/\$\{MACOSX_BUNDLE_LONG_VERSION_STRING\}/%s,\ %s/g > %s"%(VERSION,time.strftime("%Y-%b-%d"),targetinfo)
- commands.getoutput(cmd)
- cmd = 'cp %s/%s %s/%s.app/Contents/MacOS/%s'%(builddir, binary,installdir, binary, binary)
- commands.getoutput(cmd)
- cmd = 'mkdir %s/%s.app/Contents/Resources/%s/'%(installdir, binary, VERSION)
- commands.getoutput(cmd)
- cmd = installdir + '/%s.app/Contents/MacOS/%s'%(binary,VERSION)
-
- # blenderplayer doesn't need all the files
- if binary == 'blender':
- cmd = 'mkdir %s/%s.app/Contents/Resources/%s/datafiles'%(installdir, binary, VERSION)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/release/datafiles/fonts %s/%s.app/Contents/Resources/%s/datafiles/'%(bldroot,installdir,binary,VERSION)
- commands.getoutput(cmd)
- mo_dir = os.path.join(builddir[:-4], "locale")
- for f in os.listdir(mo_dir):
- cmd = 'ditto %s/%s %s/%s.app/Contents/Resources/%s/datafiles/locale/%s/LC_MESSAGES/blender.mo'%(mo_dir, f, installdir, binary, VERSION, f[:-3])
- commands.getoutput(cmd)
- cmd = 'cp %s/release/datafiles/locale/languages %s/%s.app/Contents/Resources/%s/datafiles/locale/'%(bldroot, installdir, binary, VERSION)
- commands.getoutput(cmd)
-
- if env['WITH_BF_OCIO']:
- cmd = 'cp -R %s/release/datafiles/colormanagement %s/%s.app/Contents/Resources/%s/datafiles/'%(bldroot,installdir,binary,VERSION)
- commands.getoutput(cmd)
-
- cmd = 'cp -R %s/release/scripts %s/%s.app/Contents/Resources/%s/'%(bldroot,installdir,binary,VERSION)
- commands.getoutput(cmd)
-
- if VERSION_RELEASE_CYCLE == "release":
- cmd = 'rm -rf %s/%s.app/Contents/Resources/%s/scripts/addons_contrib'%(installdir,binary,VERSION)
- commands.getoutput(cmd)
-
- if env['WITH_BF_CYCLES']:
- croot = '%s/intern/cycles' % (bldroot)
- cinstalldir = '%s/%s.app/Contents/Resources/%s/scripts/addons/cycles' % (installdir,binary,VERSION)
-
- cmd = 'mkdir %s' % (cinstalldir)
- commands.getoutput(cmd)
- cmd = 'mkdir %s/kernel' % (cinstalldir)
- commands.getoutput(cmd)
- cmd = 'mkdir %s/lib' % (cinstalldir)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/blender/addon/*.py %s/' % (croot, cinstalldir)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/doc/license %s/license' % (croot, cinstalldir)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/kernel/*.h %s/kernel/*.cl %s/kernel/*.cu %s/kernel/' % (croot, croot, croot, cinstalldir)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/kernel/svm %s/kernel/closure %s/kernel/geom %s/kernel/split %s/kernel/kernels %s/util/util_color.h %s/util/util_half.h %s/util/util_math.h %s/util/util_math_fast.h %s/util/util_transform.h %s/util/util_types.h %s/util/util_atomic.h %s/kernel/' % (croot, croot, croot, croot, croot, croot, croot, croot, croot, croot, croot, croot, cinstalldir)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/../intern/cycles/kernel/*.cubin %s/lib/' % (builddir, cinstalldir)
- commands.getoutput(cmd)
-
- if env['WITH_BF_CYCLES_OSL']:
- cmd = 'mkdir %s/shader' % (cinstalldir)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/kernel/shaders/*.h %s/shader' % (croot, cinstalldir)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/../intern/cycles/kernel/shaders/*.oso %s/shader' % (builddir, cinstalldir)
- commands.getoutput(cmd)
-
- if env['WITH_OSX_STATICPYTHON']:
- cmd = 'mkdir %s/%s.app/Contents/Resources/%s/python/'%(installdir,binary, VERSION)
- commands.getoutput(cmd)
- cmd = 'unzip -q %s/release/%s -d %s/%s.app/Contents/Resources/%s/python/'%(libdir,python_zip,installdir,binary,VERSION)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/release/site-packages/ %s/%s.app/Contents/Resources/%s/python/lib/python%s/site-packages/'%(libdir,installdir,binary,VERSION,env['BF_PYTHON_VERSION'])
- commands.getoutput(cmd)
- cmd = 'cp -r %s/python/bin -d %s/%s.app/Contents/Resources/%s/python/'%(libdir,installdir,binary,VERSION)
- commands.getoutput(cmd)
-
- cmd = 'chmod +x %s/%s.app/Contents/MacOS/%s'%(installdir,binary, binary)
- commands.getoutput(cmd)
- cmd = 'find %s/%s.app -name .svn -prune -exec rm -rf {} \;'%(installdir, binary)
- commands.getoutput(cmd)
- cmd = 'find %s/%s.app -name .DS_Store -exec rm -rf {} \;'%(installdir, binary)
- commands.getoutput(cmd)
- cmd = 'find %s/%s.app -name __MACOSX -exec rm -rf {} \;'%(installdir, binary)
- commands.getoutput(cmd)
- cmd = 'SetFile -d "%s)" -m "%s)" %s/%s.app'%(time.strftime("%m/%d/%Y %H:%M"),time.strftime("%m/%d/%Y %H:%M"),installdir,binary) # give the bundles actual creation/modification date
- commands.getoutput(cmd)
- if env['WITH_BF_OPENMP']:
- if env['C_COMPILER_ID'] == 'gcc' and env['CCVERSION'] >= '4.6.1': # for correct errorhandling with gcc >= 4.6.1 we need the gcc.dylib and gomp.dylib to link, thus distribute in app-bundle
- print "Bundling libgcc and libgomp"
- instname = env['BF_CXX']
- cmd = 'ditto --arch %s %s/lib/libgcc_s.1.dylib %s/%s.app/Contents/Resources/lib/'%(osxarch, instname, installdir, binary) # copy libgcc
- commands.getoutput(cmd)
- cmd = 'install_name_tool -id @executable_path/../Resources/lib/libgcc_s.1.dylib %s/%s.app/Contents/Resources/lib/libgcc_s.1.dylib'%(installdir, binary) # change id of libgcc
- commands.getoutput(cmd)
- cmd = 'ditto --arch %s %s/lib/libgomp.1.dylib %s/%s.app/Contents/Resources/lib/'%(osxarch, instname, installdir, binary) # copy libgomp
- commands.getoutput(cmd)
- cmd = 'install_name_tool -id @executable_path/../Resources/lib/libgomp.1.dylib %s/%s.app/Contents/Resources/lib/libgomp.1.dylib'%(installdir, binary) # change id of libgomp
- commands.getoutput(cmd)
- cmd = 'install_name_tool -change %s/lib/libgcc_s.1.dylib @executable_path/../Resources/lib/libgcc_s.1.dylib %s/%s.app/Contents/Resources/lib/libgomp.1.dylib'%(instname, installdir, binary) # change ref to libgcc
- commands.getoutput(cmd)
- cmd = 'install_name_tool -change %s/lib/libgcc_s.1.dylib @executable_path/../Resources/lib/libgcc_s.1.dylib %s/%s.app/Contents/MacOS/%s'%(instname, installdir, binary, binary) # change ref to libgcc ( blender )
- commands.getoutput(cmd)
- cmd = 'install_name_tool -change %s/lib/libgomp.1.dylib @executable_path/../Resources/lib/libgomp.1.dylib %s/%s.app/Contents/MacOS/%s'%(instname, installdir, binary, binary) # change ref to libgomp ( blender )
- commands.getoutput(cmd)
- if env['C_COMPILER_ID'] == 'clang' and env['CCVERSION'] >= '3.4':
- print "Bundling libiomp5"
- instname = env['LCGDIR'][1:] # made libiomp5 part of blender libs
- cmd = 'ditto --arch %s %s/openmp/lib/libiomp5.dylib %s/%s.app/Contents/Resources/lib/'%(osxarch, instname, installdir, binary) # copy libiomp5
- commands.getoutput(cmd)
- cmd = 'cp %s/openmp/LICENSE.txt %s/LICENSE-libiomp5.txt'%(instname, installdir) # copy libiomp5 license
- commands.getoutput(cmd)
-
-# extract copy system python, be sure to update other build systems
-# when making changes to the files that are copied.
-def my_unixpybundle_print(target, source, env):
- pass
-
-def UnixPyBundle(target=None, source=None, env=None):
- # Any Unix except osx
- #-- VERSION/python/lib/python3.1
-
- import commands
-
- def run(cmd):
- print 'Install command:', cmd
- commands.getoutput(cmd)
-
- dir = os.path.join(env['BF_INSTALLDIR'], VERSION)
-
- lib = env['BF_PYTHON_LIBPATH'].split(os.sep)[-1]
- target_lib = "lib64" if lib == "lib64" else "lib"
-
- py_src = env.subst( env['BF_PYTHON_LIBPATH'] + '/python'+env['BF_PYTHON_VERSION'] )
- py_target = env.subst( dir + '/python/' + target_lib + '/python'+env['BF_PYTHON_VERSION'] )
- py_target_bin = env.subst(dir + '/python/bin')
-
- # This is a bit weak, but dont install if its been installed before, makes rebuilds quite slow.
- if os.path.exists(py_target):
- print 'Using existing python from:'
- print '\t"%s"' % py_target
- print '\t(skipping copy)\n'
- return
-
- # Copied from source/creator/CMakeLists.txt, keep in sync.
- print 'Install python from:'
- print '\t"%s" into...' % py_src
- print '\t"%s"\n' % py_target
-
- run("rm -rf '%s'" % py_target)
- try:
- os.makedirs(os.path.dirname(py_target)) # the final part is copied
- except:
- pass
-
- # install the executable
- run("rm -rf '%s'" % py_target_bin)
- os.makedirs(py_target_bin)
- run("cp '%s' '%s'" % (env.subst(env['BF_PYTHON_BINARY']), py_target_bin))
-
- run("cp -R '%s' '%s'" % (py_src, os.path.dirname(py_target)))
- run("rm -rf '%s/distutils'" % py_target)
- run("rm -rf '%s/lib2to3'" % py_target)
- run("rm -rf '%s/config'" % py_target)
-
- for f in os.listdir(py_target):
- if f.startswith("config-"):
- run("rm -rf '%s/%s'" % (py_target, f))
-
- run("rm -rf '%s/site-packages'" % py_target)
- run("mkdir '%s/site-packages'" % py_target) # python needs it.'
- run("rm -rf '%s/idlelib'" % py_target)
- run("rm -rf '%s/tkinter'" % py_target)
- run("rm -rf '%s/turtledemo'" % py_target)
- run("rm -r '%s/turtle.py'" % py_target)
- run("rm -f '%s/lib-dynload/_tkinter.so'" % py_target)
-
- if env['WITH_BF_PYTHON_INSTALL_NUMPY']:
- numpy_src = py_src + "/site-packages/numpy"
- numpy_target = py_target + "/site-packages/numpy"
-
- if os.path.exists(numpy_src):
- print 'Install numpy from:'
- print '\t"%s" into...' % numpy_src
- print '\t"%s"\n' % numpy_target
-
- run("cp -R '%s' '%s'" % (numpy_src, os.path.dirname(numpy_target)))
- run("rm -rf '%s/distutils'" % numpy_target)
- run("rm -rf '%s/oldnumeric'" % numpy_target)
- run("rm -rf '%s/doc'" % numpy_target)
- run("rm -rf '%s/tests'" % numpy_target)
- run("rm -rf '%s/f2py'" % numpy_target)
- run("find '%s' -type d -name 'include' -prune -exec rm -rf {} ';'" % numpy_target)
- run("find '%s' -type d -name '*.h' -prune -exec rm -rf {} ';'" % numpy_target)
- run("find '%s' -type d -name '*.a' -prune -exec rm -rf {} ';'" % numpy_target)
- else:
- print 'Failed to find numpy at %s, skipping copying' % numpy_src
- del numpy_src, numpy_target
-
- if env['WITH_BF_PYTHON_INSTALL_REQUESTS']:
- requests_src = py_src + "/site-packages/requests"
- requests_target = py_target + "/site-packages/requests"
- if os.path.exists(requests_src):
- run("cp -R '%s' '%s'" % (requests_src, os.path.dirname(requests_target)))
- run("find '%s' -type d -name '*.pem -prune -exec rm -rf {} ';'" % requests_target)
- else:
- print('Failed to find requests at %s, skipping copying' % requests_src)
- del requests_src, requests_target
-
- run("find '%s' -type d -name 'test' -prune -exec rm -rf {} ';'" % py_target)
- run("find '%s' -type d -name '__pycache__' -exec rm -rf {} ';'" % py_target)
- run("find '%s' -name '*.py[co]' -exec rm -rf {} ';'" % py_target)
- run("find '%s' -name '*.so' -exec strip -s {} ';'" % py_target)
-
-#### END ACTION STUFF #########
-
-def bsc(env, target, source):
-
- bd = os.path.dirname(target[0].abspath)
- bscfile = '\"'+target[0].abspath+'\"'
- bscpathcollect = '\"'+bd + os.sep + '*.sbr\"'
- bscpathtmp = '\"'+bd + os.sep + 'bscmake.tmp\"'
-
- os.system('dir /b/s '+bscpathcollect+' >'+bscpathtmp)
-
- myfile = open(bscpathtmp[1:-1], 'r')
- lines = myfile.readlines()
- myfile.close()
-
- newfile = open(bscpathtmp[1:-1], 'w')
- for l in lines:
- newfile.write('\"'+l[:-1]+'\"\n')
- newfile.close()
-
- os.system('bscmake /nologo /n /o'+bscfile+' @'+bscpathtmp)
- os.system('del '+bscpathtmp)
-
-class BlenderEnvironment(SConsEnvironment):
-
- PyBundleActionAdded = False
-
- def BlenderRes(self=None, libname=None, source=None, libtype=['core'], priority=[100]):
- global libs
- if not self or not libname or not source:
- print bc.FAIL+'Cannot continue. Missing argument for BlenderRes '+libname+bc.ENDC
- self.Exit()
- if self['OURPLATFORM'] not in ('win32-vc','win32-mingw','linuxcross', 'win64-vc', 'win64-mingw'):
- print bc.FAIL+'BlenderRes is for windows only!'+bc.END
- self.Exit()
-
- print bc.HEADER+'Configuring resource '+bc.ENDC+bc.OKGREEN+libname+bc.ENDC
- lenv = self.Clone()
- if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'):
- res = lenv.RES('#'+root_build_dir+'lib/'+libname, source)
- else:
- res = lenv.RES(root_build_dir+'lib/'+libname, source)
-
-
- SConsEnvironment.Default(self, res)
- resources.append(res)
-
- def BlenderLib(self=None, libname=None, sources=None, includes=[], defines=[], libtype='common', priority = 100, compileflags=None, cc_compileflags=None, cxx_compileflags=None, cc_compilerchange=None, cxx_compilerchange=None):
- global vcp
-
- # sanity check
- # run once in a while to check we dont have duplicates
- if 0:
- for name, dirs in (("source", sources), ("include", includes)):
- files_clean = [os.path.normpath(f) for f in dirs]
- files_clean_set = set(files_clean)
- if len(files_clean) != len(files_clean_set):
- for f in sorted(files_clean_set):
- if f != '.' and files_clean.count(f) > 1:
- raise Exception("Found duplicate %s %r" % (name, f))
- del name, dirs, files_clean, files_clean_set, f
- # end sanity check
-
- if not self or not libname or not sources:
- print bc.FAIL+'Cannot continue. Missing argument for BuildBlenderLib '+libname+bc.ENDC
- self.Exit()
-
- def list_substring(quickie, libname):
- for q in quickie:
- if q in libname:
- return True
- return False
-
- if list_substring(quickie, libname) or len(quickie)==0:
- if list_substring(quickdebug, libname):
- print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname +bc.ENDC+bc.OKBLUE+ " (debug mode)" + bc.ENDC
- else:
- print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname + bc.ENDC
- lenv = self.Clone()
- lenv.Append(CPPPATH=includes)
- lenv.Append(CPPDEFINES=defines)
- if lenv['BF_DEBUG'] or (libname in quickdebug):
- lenv.Append(CFLAGS = lenv['BF_DEBUG_CFLAGS'])
- lenv.Append(CCFLAGS = lenv['BF_DEBUG_CCFLAGS'])
- lenv.Append(CXXFLAGS = lenv['BF_DEBUG_CXXFLAGS'])
- else:
- lenv.Append(CFLAGS = lenv['REL_CFLAGS'])
- lenv.Append(CCFLAGS = lenv['REL_CCFLAGS'])
- lenv.Append(CXXFLAGS = lenv['REL_CXXFLAGS'])
- if lenv['BF_PROFILE']:
- lenv.Append(CFLAGS = lenv['BF_PROFILE_CFLAGS'])
- lenv.Append(CCFLAGS = lenv['BF_PROFILE_CCFLAGS'])
- lenv.Append(CXXFLAGS = lenv['BF_PROFILE_CXXFLAGS'])
- if compileflags:
- lenv.Replace(CFLAGS = compileflags)
- if cc_compileflags:
- lenv.Replace(CCFLAGS = cc_compileflags)
- if cxx_compileflags:
- lenv.Replace(CXXFLAGS = cxx_compileflags)
- if cc_compilerchange:
- lenv.Replace(CC = cc_compilerchange)
- if cxx_compilerchange:
- lenv.Replace(CXX = cxx_compilerchange)
- lenv.Append(CFLAGS = lenv['C_WARN'])
- lenv.Append(CCFLAGS = lenv['CC_WARN'])
- lenv.Append(CXXFLAGS = lenv['CXX_WARN'])
-
- if lenv['OURPLATFORM'] == 'win64-vc':
- lenv.Append(LINKFLAGS = ['/MACHINE:X64'])
-
- if lenv['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
- if lenv['BF_DEBUG']:
- lenv.Append(CCFLAGS = ['/MTd'])
- else:
- lenv.Append(CCFLAGS = ['/MT'])
-
- targetdir = root_build_dir+'lib/' + libname
- if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'):
- targetdir = '#'+targetdir
- lib = lenv.Library(target= targetdir, source=sources)
- SConsEnvironment.Default(self, lib) # we add to default target, because this way we get some kind of progress info during build
- if self['BF_MSVS'] and self['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
- #if targetdir[0] == '#':
- # targetdir = targetdir[1:-1]
- print "! ",targetdir+ '.vcproj' # + self['MSVSPROJECTSUFFIX']
- vcproject = self.MSVSProject(target = targetdir + '.vcproj', # + self['MSVSPROJECTSUFFIX'],
- srcs = sources,
- buildtarget = lib,
- variant = 'Release',
- auto_build_solution=0)
- vcp.append(vcproject)
- SConsEnvironment.Default(self, vcproject)
- else:
- print bc.WARNING+'Not building '+bc.ENDC+bc.OKGREEN+libname+bc.ENDC+' for '+bc.OKBLUE+'BF_QUICK'+bc.ENDC
- # note: libs is a global
- add_lib_to_dict(self, libs, libtype, libname, priority)
-
- def BlenderProg(self=None, builddir=None, progname=None, sources=None, libs=None, libpath=None, binarykind=''):
- global vcp
- print bc.HEADER+'Configuring program '+bc.ENDC+bc.OKGREEN+progname+bc.ENDC
- lenv = self.Clone()
- lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
- lenv.Append(LINKFLAGS = lenv['BF_PROGRAM_LINKFLAGS'])
- if lenv['OURPLATFORM'] in ('win32-mingw', 'win64-mingw', 'linuxcross', 'cygwin', 'linux'):
- lenv.Replace(LINK = '$CXX')
- if lenv['OURPLATFORM'] in ('win32-vc', 'cygwin', 'win64-vc'):
- if lenv['BF_DEBUG']:
- lenv.Prepend(LINKFLAGS = ['/DEBUG','/PDB:'+progname+'.pdb','/NODEFAULTLIB:libcmt'])
- if lenv['OURPLATFORM']=='linux':
- if lenv['WITH_BF_PYTHON']:
- lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS'])
- if lenv['OURPLATFORM']=='sunos5':
- if lenv['WITH_BF_PYTHON']:
- lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS'])
- if lenv['CXX'].endswith('CC'):
- lenv.Replace(LINK = '$CXX')
- if lenv['OURPLATFORM']=='darwin':
- if lenv['WITH_BF_PYTHON']:
- lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS'])
- lenv.Append(LINKFLAGS = lenv['BF_OPENGL_LINKFLAGS'])
- if lenv['BF_PROFILE']:
- lenv.Append(LINKFLAGS = lenv['BF_PROFILE_LINKFLAGS'])
- if root_build_dir[0]==os.sep or root_build_dir[1]==':':
- lenv.Append(LIBPATH=root_build_dir + '/lib')
- lenv.Append(LIBPATH=libpath)
- lenv.Append(LIBS=libs)
- if lenv['WITH_BF_QUICKTIME']:
- lenv.Append(LIBS = lenv['BF_QUICKTIME_LIB'])
- lenv.Append(LIBPATH = lenv['BF_QUICKTIME_LIBPATH'])
- prog = lenv.Program(target=builddir+'bin/'+progname, source=sources)
- if lenv['BF_DEBUG'] and lenv['OURPLATFORM'] in ('win32-vc', 'win64-vc') and lenv['BF_BSC']:
- f = lenv.File(progname + '.bsc', builddir)
- brs = lenv.Command(f, prog, [bsc])
- SConsEnvironment.Default(self, brs)
- SConsEnvironment.Default(self, prog)
- if self['BF_MSVS'] and self['OURPLATFORM'] in ('win32-vc', 'win64-vc') and progname == 'blender':
- print "! ",builddir + "/" + progname + '.sln'
- sln = self.MSVSProject(target = builddir + "/" + progname + '.sln',
- projects= vcp,
- variant = 'Release')
- SConsEnvironment.Default(self, sln)
- program_list.append(prog)
- if lenv['OURPLATFORM']=='darwin':
- lenv['BINARYKIND'] = binarykind
- lenv.AddPostAction(prog,Action(AppIt,strfunction=my_appit_print))
- elif os.sep == '/' and lenv['OURPLATFORM'] != 'linuxcross': # any unix (except cross-compilation)
- if lenv['WITH_BF_PYTHON']:
- if (not lenv['WITHOUT_BF_INSTALL'] and
- not lenv['WITHOUT_BF_PYTHON_INSTALL'] and
- not lenv['WITHOUT_BF_PYTHON_UNPACK'] and
- not BlenderEnvironment.PyBundleActionAdded):
- lenv.AddPostAction(prog,Action(UnixPyBundle,strfunction=my_unixpybundle_print))
- BlenderEnvironment.PyBundleActionAdded = True
- elif lenv['OURPLATFORM'].startswith('win') or lenv['OURPLATFORM'] == 'linuxcross': # windows or cross-compilation
- if lenv['WITH_BF_PYTHON']:
- if (not lenv['WITHOUT_BF_PYTHON_INSTALL'] and
- not lenv['WITHOUT_BF_PYTHON_UNPACK'] and
- not BlenderEnvironment.PyBundleActionAdded):
- lenv.AddPostAction(prog,Action(WinPyBundle,strfunction=my_winpybundle_print))
- BlenderEnvironment.PyBundleActionAdded = True
- return prog
-
- def Glob(lenv, pattern):
- path = string.replace(GetBuildPath(lenv,'SConscript'),'SConscript', '')
- files = []
- for i in glob.glob(path + pattern):
- files.append(string.replace(i, path, ''))
- return files
diff --git a/build_files/scons/tools/__init__.py b/build_files/scons/tools/__init__.py
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/build_files/scons/tools/__init__.py
+++ /dev/null
diff --git a/build_files/scons/tools/bcolors.py b/build_files/scons/tools/bcolors.py
deleted file mode 100644
index b01bb781524..00000000000
--- a/build_files/scons/tools/bcolors.py
+++ /dev/null
@@ -1,16 +0,0 @@
-class bcolors:
- HEADER = '\033[95m'
- OKBLUE = '\033[94m'
- OKGREEN = '\033[92m'
- WARNING = '\033[93m'
- FAIL = '\033[91m'
- ENDC = '\033[0m'
-
- def disable(self):
- self.HEADER = ''
- self.OKBLUE = ''
- self.OKGREEN = ''
- self.WARNING = ''
- self.FAIL = ''
- self.ENDC = ''
-
diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py
deleted file mode 100644
index 0b85940d024..00000000000
--- a/build_files/scons/tools/btools.py
+++ /dev/null
@@ -1,918 +0,0 @@
-import os
-import os.path
-import SCons.Options
-
-import SCons.Variables
-try:
- import subprocess
-except ImportError:
- pass
-import string
-import shutil
-import sys
-
-Variables = SCons.Variables
-BoolVariable = SCons.Variables.BoolVariable
-
-def get_command_output(*popenargs, **kwargs):
- if hasattr(subprocess, "check_output"):
- return subprocess.check_output(*popenargs, **kwargs)
- if 'stdout' in kwargs:
- raise ValueError('stdout argument not allowed, it will be overridden.')
- process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
- output, unused_err = process.communicate()
- retcode = process.poll()
- if retcode:
- cmd = kwargs.get("args")
- if cmd is None:
- cmd = popenargs[0]
- raise subprocess.CalledProcessError(retcode, cmd)
- return output
-
-def get_version():
- import re
-
- fname = os.path.join(os.path.dirname(__file__), "..", "..", "..", "source", "blender", "blenkernel", "BKE_blender.h")
- ver_base = None
- ver_char = None
- ver_cycle = None
-
- re_ver = re.compile("^#\s*define\s+BLENDER_VERSION\s+([0-9]+)")
- re_ver_char = re.compile("^#\s*define\s+BLENDER_VERSION_CHAR\s*(\S*)") # optional arg
- re_ver_cycle = re.compile("^#\s*define\s+BLENDER_VERSION_CYCLE\s*(\S*)") # optional arg
-
- for l in open(fname, "r"):
- match = re_ver.match(l)
- if match:
- ver = int(match.group(1))
- ver_base = "%d.%d" % (ver / 100, ver % 100)
-
- match = re_ver_char.match(l)
- if match:
- ver_char = match.group(1)
- if ver_char == "BLENDER_CHAR_VERSION":
- ver_char = ""
-
- match = re_ver_cycle.match(l)
- if match:
- ver_cycle = match.group(1)
- if ver_cycle == "BLENDER_CYCLE_VERSION":
- ver_cycle = ""
-
- if (ver_base is not None) and (ver_char is not None) and (ver_cycle is not None):
- # eg '2.56a-beta'
- if ver_cycle != "release":
- ver_display = "%s%s-%s" % (ver_base, ver_char, ver_cycle)
- else:
- ver_display = "%s%s" % (ver_base, ver_char)
-
- return ver_base, ver_display, ver_cycle
-
- raise Exception("%s: missing version string" % fname)
-
-def get_hash():
- try:
- build_hash = get_command_output(['git', 'rev-parse', '--short', 'HEAD']).strip()
- except OSError:
- build_hash = None
- print("WARNING: could not use git to retrieve current Blender repository hash...")
- except subprocess.CalledProcessError as e:
- build_hash = None
- print("WARNING: git errored while retrieving current Blender repository hash (%d)..." % e.returncode)
- if build_hash == '' or build_hash == None:
- build_hash = 'UNKNOWN'
-
- return build_hash
-
-
-def checkEndian():
- return sys.byteorder
-
-
-# This is used in creating the local config directories
-VERSION, VERSION_DISPLAY, VERSION_RELEASE_CYCLE = get_version()
-HASH = get_hash()
-ENDIAN = checkEndian()
-
-
-def print_arguments(args, bc):
- if len(args):
- for k,v in args.iteritems():
- if type(v)==list:
- v = ' '.join(v)
- print '\t'+bc.OKBLUE+k+bc.ENDC+' = '+bc.OKGREEN + v + bc.ENDC
- else:
- print '\t'+bc.WARNING+'No command-line arguments given'+bc.ENDC
-
-def validate_arguments(args, bc):
- opts_list = [
- 'WITH_BF_FREESTYLE', 'WITH_BF_PYTHON', 'WITH_BF_PYTHON_SAFETY', 'WITH_BF_PYTHON_SECURITY', 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'BF_PYTHON_LIBPATH_ARCH', 'WITH_BF_STATICPYTHON', 'WITH_OSX_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', 'BF_PYTHON_DLL', 'BF_PYTHON_ABI_FLAGS',
- 'WITH_BF_AUDASPACE', 'BF_AUDASPACE_C_INC', 'BF_AUDASPACE_PY_INC', 'BF_AUDASPACE_DEF',
- 'WITH_BF_OPENAL', 'BF_OPENAL', 'BF_OPENAL_INC', 'BF_OPENAL_LIB', 'BF_OPENAL_LIBPATH', 'WITH_BF_STATICOPENAL', 'BF_OPENAL_LIB_STATIC',
- 'WITH_BF_SDL', 'BF_SDL', 'BF_SDL_INC', 'BF_SDL_LIB', 'BF_SDL_LIBPATH', 'WITH_BF_SDL_DYNLOAD',
- 'WITH_BF_JACK', 'BF_JACK', 'BF_JACK_INC', 'BF_JACK_LIB', 'BF_JACK_LIBPATH', 'WITH_BF_JACK_DYNLOAD',
- 'WITH_BF_SNDFILE', 'BF_SNDFILE', 'BF_SNDFILE_INC', 'BF_SNDFILE_LIB', 'BF_SNDFILE_LIBPATH', 'WITH_BF_STATICSNDFILE', 'BF_SNDFILE_LIB_STATIC',
- 'BF_PTHREADS', 'BF_PTHREADS_INC', 'BF_PTHREADS_LIB', 'BF_PTHREADS_LIBPATH',
- 'WITH_BF_OPENEXR', 'BF_OPENEXR', 'BF_OPENEXR_INC', 'BF_OPENEXR_LIB', 'BF_OPENEXR_LIBPATH', 'WITH_BF_STATICOPENEXR', 'BF_OPENEXR_LIB_STATIC',
- 'WITH_BF_DDS', 'WITH_BF_CINEON', 'WITH_BF_HDR',
- 'WITH_BF_FFMPEG', 'BF_FFMPEG_LIB','BF_FFMPEG_EXTRA', 'BF_FFMPEG', 'BF_FFMPEG_INC', 'BF_FFMPEG_DLL',
- 'WITH_BF_STATICFFMPEG', 'BF_FFMPEG_LIB_STATIC',
- 'WITH_BF_OGG', 'BF_OGG', 'BF_OGG_LIB',
- 'WITH_BF_FRAMESERVER',
- 'WITH_BF_COMPOSITOR',
- 'WITH_BF_JPEG', 'BF_JPEG', 'BF_JPEG_INC', 'BF_JPEG_LIB', 'BF_JPEG_LIBPATH', 'WITH_BF_STATICJPEG', 'BF_JPEG_LIB_STATIC',
- 'WITH_BF_OPENJPEG', 'BF_OPENJPEG', 'BF_OPENJPEG_INC', 'BF_OPENJPEG_LIB', 'BF_OPENJPEG_LIBPATH',
- 'WITH_BF_REDCODE', 'BF_REDCODE', 'BF_REDCODE_INC', 'BF_REDCODE_LIB', 'BF_REDCODE_LIBPATH',
- 'WITH_BF_PNG', 'BF_PNG', 'BF_PNG_INC', 'BF_PNG_LIB', 'BF_PNG_LIBPATH', 'WITH_BF_STATICPNG', 'BF_PNG_LIB_STATIC',
- 'WITH_BF_TIFF', 'BF_TIFF', 'BF_TIFF_INC', 'BF_TIFF_LIB', 'BF_TIFF_LIBPATH', 'WITH_BF_STATICTIFF', 'BF_TIFF_LIB_STATIC',
- 'WITH_BF_ZLIB', 'BF_ZLIB', 'BF_ZLIB_INC', 'BF_ZLIB_LIB', 'BF_ZLIB_LIBPATH', 'WITH_BF_STATICZLIB', 'BF_ZLIB_LIB_STATIC',
- 'WITH_BF_INTERNATIONAL',
- 'WITH_BF_ICONV', 'BF_ICONV', 'BF_ICONV_INC', 'BF_ICONV_LIB', 'BF_ICONV_LIBPATH',
- 'WITH_BF_GAMEENGINE',
- 'WITH_BF_BULLET', 'BF_BULLET', 'BF_BULLET_INC', 'BF_BULLET_LIB',
- # 'WITH_BF_ELTOPO', # now only available in a branch
- 'BF_LAPACK', 'BF_LAPACK_LIB', 'BF_LAPACK_LIBPATH', 'BF_LAPACK_LIB_STATIC',
- 'BF_WINTAB', 'BF_WINTAB_INC',
- 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH', 'BF_FREETYPE_LIB_STATIC', 'WITH_BF_FREETYPE_STATIC',
- 'WITH_BF_QUICKTIME', 'BF_QUICKTIME', 'BF_QUICKTIME_INC', 'BF_QUICKTIME_LIB', 'BF_QUICKTIME_LIBPATH',
- 'WITH_BF_FFTW3', 'BF_FFTW3', 'BF_FFTW3_INC', 'BF_FFTW3_LIB', 'BF_FFTW3_LIBPATH', 'WITH_BF_STATICFFTW3', 'BF_FFTW3_LIB_STATIC',
- 'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC',
- 'WITH_BF_EGL', 'WITH_BF_GLEW_ES', 'BF_GLEW_INC', 'WITH_BF_GL_PROFILE_CORE', 'WITH_BF_GL_PROFILE_COMPAT', 'WITH_BF_GL_PROFILE_ES20',
- 'WITH_BF_GLEW_MX', 'WITH_BF_GL_EGL', 'WITH_BF_GL_ANGLE',
-
- 'WITH_BF_COLLADA', 'BF_COLLADA', 'BF_COLLADA_INC', 'BF_COLLADA_LIB', 'BF_OPENCOLLADA', 'BF_OPENCOLLADA_INC', 'BF_OPENCOLLADA_LIB', 'BF_OPENCOLLADA_LIBPATH', 'BF_PCRE', 'BF_PCRE_LIB', 'BF_PCRE_LIBPATH', 'BF_EXPAT', 'BF_EXPAT_LIB', 'BF_EXPAT_LIBPATH',
- 'WITH_BF_STATICOPENCOLLADA', 'BF_OPENCOLLADA_LIB_STATIC',
- 'WITH_BF_PLAYER',
- 'WITH_BF_NOBLENDER',
- 'WITH_BF_BINRELOC',
- 'WITH_BF_LZO', 'WITH_BF_LZMA',
- 'LCGDIR',
- 'BF_CXX', 'WITH_BF_STATICCXX', 'BF_CXX_LIB_STATIC',
- 'BF_TWEAK_MODE', 'BF_SPLIT_SRC',
- 'WITHOUT_BF_INSTALL',
- 'WITHOUT_BF_PYTHON_INSTALL', 'WITHOUT_BF_PYTHON_UNPACK',
- 'WITH_BF_PYTHON_INSTALL_NUMPY', 'WITH_BF_PYTHON_INSTALL_REQUESTS',
- 'WITHOUT_BF_OVERWRITE_INSTALL',
- 'WITH_BF_OPENMP', 'BF_OPENMP', 'BF_OPENMP_LIBPATH', 'WITH_BF_STATICOPENMP', 'BF_OPENMP_STATIC_STATIC',
- 'WITH_GHOST_SDL',
- 'WITH_GHOST_XDND',
- 'WITH_X11_XINPUT',
- 'WITH_X11_XF86VMODE',
- 'BF_GHOST_DEBUG',
- 'BF_FANCY', 'BF_QUIET', 'BF_LINE_OVERWRITE',
- 'BF_X264_CONFIG',
- 'BF_XVIDCORE_CONFIG',
- 'WITH_BF_DOCS',
- 'BF_NUMJOBS',
- 'BF_MSVS',
- 'WITH_BF_RAYOPTIMIZATION',
- 'BF_RAYOPTIMIZATION_SSE_FLAGS',
- 'WITH_BF_FLUID',
- 'WITH_BF_BOOLEAN',
- 'WITH_BF_REMESH',
- 'WITH_BF_OCEANSIM',
- 'WITH_BF_SMOKE',
- 'WITH_BF_CXX_GUARDEDALLOC',
- 'WITH_BF_JEMALLOC', 'WITH_BF_STATICJEMALLOC', 'BF_JEMALLOC', 'BF_JEMALLOC_INC', 'BF_JEMALLOC_LIBPATH', 'BF_JEMALLOC_LIB', 'BF_JEMALLOC_LIB_STATIC',
- 'BUILDBOT_BRANCH',
- 'WITH_BF_IME',
- 'WITH_BF_3DMOUSE', 'WITH_BF_STATIC3DMOUSE', 'BF_3DMOUSE', 'BF_3DMOUSE_INC', 'BF_3DMOUSE_LIB', 'BF_3DMOUSE_LIBPATH', 'BF_3DMOUSE_LIB_STATIC',
- 'WITH_BF_CYCLES', 'WITH_BF_CYCLES_CUDA_BINARIES', 'BF_CYCLES_CUDA_NVCC', 'BF_CYCLES_CUDA_NVCC', 'WITH_BF_CYCLES_CUDA_THREADED_COMPILE', 'BF_CYCLES_CUDA_ENV',
- 'WITH_BF_OIIO', 'WITH_BF_STATICOIIO', 'BF_OIIO', 'BF_OIIO_INC', 'BF_OIIO_LIB', 'BF_OIIO_LIB_STATIC', 'BF_OIIO_LIBPATH',
- 'WITH_BF_OCIO', 'WITH_BF_STATICOCIO', 'BF_OCIO', 'BF_OCIO_INC', 'BF_OCIO_LIB', 'BF_OCIO_LIB_STATIC', 'BF_OCIO_LIBPATH',
- 'WITH_BF_BOOST', 'WITH_BF_STATICBOOST', 'BF_BOOST', 'BF_BOOST_INC', 'BF_BOOST_LIB', 'BF_BOOST_LIB_INTERNATIONAL', 'BF_BOOST_LIB_STATIC', 'BF_BOOST_LIBPATH',
- 'WITH_BF_LIBMV', 'WITH_BF_LIBMV_SCHUR_SPECIALIZATIONS',
- 'WITH_BF_CYCLES_OSL', 'WITH_BF_STATICOSL', 'BF_OSL', 'BF_OSL_INC', 'BF_OSL_LIB', 'BF_OSL_LIBPATH', 'BF_OSL_LIB_STATIC', 'BF_OSL_COMPILER',
- 'WITH_BF_LLVM', 'WITH_BF_STATICLLVM', 'BF_LLVM', 'BF_LLVM_LIB', 'BF_LLVM_LIBPATH', 'BF_LLVM_LIB_STATIC', 'BF_PROGRAM_LINKFLAGS',
- 'WITH_BF_OPENSUBDIV', 'WITH_BF_STATICOPENSUBDIV', 'BF_OPENSUBDIV', 'BF_OPENSUBDIV_INC', 'BF_OPENSUBDIV_LIB', 'BF_OPENSUBDIV_LIBPATH', 'BF_OPENSUBDIV_LIB_STATIC'
- ]
-
- # Have options here that scons expects to be lists
- opts_list_split = [
- 'BF_PYTHON_LINKFLAGS',
- 'BF_OPENGL_LINKFLAGS',
- 'BF_GL_DEFINITIONS',
- 'CFLAGS', 'CCFLAGS', 'CXXFLAGS', 'CPPFLAGS',
- 'REL_CFLAGS', 'REL_CCFLAGS', 'REL_CXXFLAGS',
- 'BGE_CXXFLAGS',
- 'BF_PROFILE_CFLAGS', 'BF_PROFILE_CCFLAGS', 'BF_PROFILE_CXXFLAGS', 'BF_PROFILE_LINKFLAGS',
- 'BF_DEBUG_CFLAGS', 'BF_DEBUG_CCFLAGS', 'BF_DEBUG_CXXFLAGS',
- 'C_WARN', 'CC_WARN', 'CXX_WARN',
- 'LLIBS', 'PLATFORM_LINKFLAGS', 'MACOSX_ARCHITECTURE', 'MACOSX_SDK', 'XCODE_CUR_VER', 'C_COMPILER_ID',
- 'BF_CYCLES_CUDA_BINARIES_ARCH', 'BF_PROGRAM_LINKFLAGS', 'MACOSX_DEPLOYMENT_TARGET',
- 'WITH_BF_CYCLES_DEBUG', 'WITH_BF_CYCLES_LOGGING',
- 'WITH_BF_CPP11', 'WITH_BF_LEGACY_DEPSGRAPH',
- ]
-
-
- arg_list = ['BF_DEBUG', 'BF_QUIET', 'BF_CROSS', 'BF_UPDATE',
- 'BF_INSTALLDIR', 'BF_TOOLSET', 'BF_BINNAME',
- 'BF_BUILDDIR', 'BF_FANCY', 'BF_QUICK', 'BF_PROFILE', 'BF_LINE_OVERWRITE',
- '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', 'MSVS_VERSION']
-
- okdict = {}
-
- for k,v in args.iteritems():
- if (k in opts_list) or (k in arg_list):
- okdict[k] = v
- elif k in opts_list_split:
- okdict[k] = v.split() # "" have already been stripped
- else:
- print '\t'+bc.WARNING+'Invalid argument: '+bc.ENDC+k+'='+v
-
- return okdict
-
-def print_targets(targs, bc):
- if len(targs)>0:
- for t in targs:
- print '\t'+bc.OKBLUE+t+bc.ENDC
- else:
- print '\t'+bc.WARNING+'No targets given, using '+bc.ENDC+bc.OKGREEN+'default'+bc.ENDC
-
-def validate_targets(targs, bc):
- valid_list = ['.', 'blender', 'blenderstatic', 'blenderplayer', 'webplugin',
- 'blendernogame', 'blenderstaticnogame', 'blenderlite', 'release',
- 'everything', 'clean', 'install-bin', 'install', 'nsis','buildslave',
- 'cudakernels']
- oklist = []
- for t in targs:
- if t in valid_list:
- oklist.append(t)
- else:
- print '\t'+bc.WARNING+'Invalid target: '+bc.ENDC+t
- return oklist
-
-class OurSpawn:
- def ourspawn(self, sh, escape, cmd, args, env):
- newargs = " ".join(args[1:])
- cmdline = cmd + " " + newargs
- startupinfo = subprocess.STARTUPINFO()
- proc = subprocess.Popen(cmdline, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
- stderr=subprocess.PIPE, startupinfo=startupinfo, shell = False, env=env)
- data, err = proc.communicate()
- rv = proc.wait()
- if err:
- print(err)
- return rv
-
-def SetupSpawn( env ):
- buf = OurSpawn()
- env['SPAWN'] = buf.ourspawn
-
-
-def read_opts(env, cfg, args):
- localopts = Variables.Variables(cfg, args)
- localopts.AddVariables(
- ('LCGDIR', 'Location of SVN lib dir'),
- ('LIBDIR', 'Root dir of libs'),
- (BoolVariable('WITH_BF_PYTHON', 'Compile with python', True)),
- (BoolVariable('WITH_BF_PYTHON_SAFETY', 'Internal API error checking to track invalid data to prevent crash on access (at the expense of some effeciency)', False)),
- (BoolVariable('WITH_BF_PYTHON_SECURITY', 'Disables execution of scripts within blend files by default', True)),
- ('BF_PYTHON', 'Base path for python', ''),
- ('BF_PYTHON_VERSION', 'Python version to use', ''),
- ('BF_PYTHON_INC', 'Include path for Python headers', ''),
- ('BF_PYTHON_BINARY', 'Path to the Python interpreter', ''),
- ('BF_PYTHON_LIB', 'Python library', ''),
- ('BF_PYTHON_LIBPATH_ARCH', 'Additional Python library under some linux flavors (arch-dependent)', ''),
- ('BF_PYTHON_DLL', 'Python dll - used on Windows only', ''),
- ('BF_PYTHON_LIB_STATIC', 'Python static libraries', ''),
- ('BF_PYTHON_LIBPATH', 'Library path', ''),
- ('BF_PYTHON_LINKFLAGS', 'Python link flags', ''),
- (BoolVariable('WITH_BF_STATICPYTHON', 'Staticly link to python', False)),
- (BoolVariable('WITH_OSX_STATICPYTHON', 'Staticly link to python', True)),
- ('BF_PYTHON_ABI_FLAGS', 'Python ABI flags (suffix in library version: m, mu, etc)', ''),
-
- (BoolVariable('WITH_BF_FLUID', 'Build with Fluid simulation (Elbeem)', True)),
- (BoolVariable('WITH_BF_BOOLEAN', 'Build with boolean modifier', True)),
- (BoolVariable('WITH_BF_REMESH', 'Build with remesh modifier', True)),
- (BoolVariable('WITH_BF_OCEANSIM', 'Build with ocean simulation', False)),
- (BoolVariable('WITH_BF_SMOKE', 'Build with smoke simulation', True)),
- ('BF_PROFILE_FLAGS', 'Profiling compiler flags', ''),
- (BoolVariable('WITH_BF_OPENAL', 'Use OpenAL if true', False)),
- ('BF_OPENAL', 'Base path for OpenAL', ''),
- ('BF_OPENAL_INC', 'Include path for python headers', ''),
- ('BF_OPENAL_LIB', 'Path to OpenAL library', ''),
- ('BF_OPENAL_LIB_STATIC', 'Path to OpenAL static library', ''),
- ('BF_OPENAL_LIBPATH', 'Path to OpenAL library', ''),
- (BoolVariable('WITH_BF_STATICOPENAL', 'Staticly link to openal', False)),
-
- (BoolVariable('WITH_BF_AUDASPACE', 'Build with audaspace if true', True)),
- ('BF_AUDASPACE_C_INC', 'audaspace-c include path', ''),
- ('BF_AUDASPACE_PY_INC', 'audaspace-py include path', ''),
- ('BF_AUDASPACE_DEF', 'audaspace defines', ''),
-
- (BoolVariable('WITH_BF_SDL', 'Use SDL if true', False)),
- ('BF_SDL', 'SDL base path', ''),
- ('BF_SDL_INC', 'SDL include path', ''),
- ('BF_SDL_LIB', 'SDL library', ''),
- ('BF_SDL_LIBPATH', 'SDL library path', ''),
- (BoolVariable('WITH_BF_SDL_DYNLOAD', 'Enable runtime dynamic SDL libraries loading (works only on Linux)', False)),
-
- (BoolVariable('WITH_BF_JACK', 'Enable jack support if true', True)),
- ('BF_JACK', 'jack base path', ''),
- ('BF_JACK_INC', 'jack include path', ''),
- ('BF_JACK_LIB', 'jack library', ''),
- ('BF_JACK_LIBPATH', 'jack library path', ''),
- (BoolVariable('WITH_BF_JACK_DYNLOAD', 'Enable runtime dynamic Jack libraries loading (works only on Linux)', False)),
-
- (BoolVariable('WITH_BF_SNDFILE', 'Enable sndfile support if true', True)),
- ('BF_SNDFILE', 'sndfile base path', ''),
- ('BF_SNDFILE_INC', 'sndfile include path', ''),
- ('BF_SNDFILE_LIB', 'sndfile library', ''),
- ('BF_SNDFILE_LIB_STATIC', 'Path to sndfile static library', ''),
- ('BF_SNDFILE_LIBPATH', 'sndfile library path', ''),
- (BoolVariable('WITH_BF_STATICSNDFILE', 'Staticly link to sndfile', False)),
-
- ('BF_PTHREADS', 'Pthreads base path', ''),
- ('BF_PTHREADS_INC', 'Pthreads include path', ''),
- ('BF_PTHREADS_LIB', 'Pthreads library', ''),
- ('BF_PTHREADS_LIBPATH', 'Pthreads library path', ''),
-
- (BoolVariable('WITH_BF_OPENEXR', 'Use OPENEXR if true', True)),
- (BoolVariable('WITH_BF_STATICOPENEXR', 'Staticly link to OpenEXR', False)),
- ('BF_OPENEXR', 'OPENEXR base path', ''),
- ('BF_OPENEXR_INC', 'OPENEXR include path', ''),
- ('BF_OPENEXR_LIB', 'OPENEXR library', ''),
- ('BF_OPENEXR_LIBPATH', 'OPENEXR library path', ''),
- ('BF_OPENEXR_LIB_STATIC', 'OPENEXR static library', ''),
-
- (BoolVariable('WITH_BF_DDS', 'Support DDS image format if true', True)),
-
- (BoolVariable('WITH_BF_CINEON', 'Support CINEON and DPX image formats if true', True)),
-
- (BoolVariable('WITH_BF_HDR', 'Support HDR image formats if true', True)),
-
- (BoolVariable('WITH_BF_FRAMESERVER', 'Support export to a frameserver', True)),
-
- (BoolVariable('WITH_BF_FFMPEG', 'Use FFMPEG if true', False)),
- ('BF_FFMPEG', 'FFMPEG base path', ''),
- ('BF_FFMPEG_LIB', 'FFMPEG library', ''),
- ('BF_FFMPEG_DLL', 'FFMPEG dll libraries to be installed', ''),
- ('BF_FFMPEG_EXTRA', 'FFMPEG flags that must be preserved', ''),
-
- ('BF_FFMPEG_INC', 'FFMPEG includes', ''),
- ('BF_FFMPEG_LIBPATH', 'FFMPEG library path', ''),
- (BoolVariable('WITH_BF_STATICFFMPEG', 'Use static FFMPEG if true', False)),
- ('BF_FFMPEG_LIB_STATIC', 'Static FFMPEG libraries', ''),
-
- (BoolVariable('WITH_BF_OGG', 'Link OGG, THEORA, VORBIS with FFMPEG if true',
- False)),
- ('BF_OGG', 'OGG base path', ''),
- ('BF_OGG_LIB', 'OGG library', ''),
-
- (BoolVariable('WITH_BF_JPEG', 'Use JPEG if true', True)),
- (BoolVariable('WITH_BF_STATICJPEG', 'Staticly link to JPEG', False)),
- ('BF_JPEG', 'JPEG base path', ''),
- ('BF_JPEG_INC', 'JPEG include path', ''),
- ('BF_JPEG_LIB', 'JPEG library', ''),
- ('BF_JPEG_LIBPATH', 'JPEG library path', ''),
- ('BF_JPEG_LIB_STATIC', 'JPEG static library', ''),
-
- (BoolVariable('WITH_BF_OPENJPEG', 'Use OPENJPEG if true', False)),
- ('BF_OPENJPEG', 'OPENJPEG base path', ''),
- ('BF_OPENJPEG_INC', 'OPENJPEG include path', ''),
- ('BF_OPENJPEG_LIB', 'OPENJPEG library', ''),
- ('BF_OPENJPEG_LIBPATH', 'OPENJPEG library path', ''),
-
- (BoolVariable('WITH_BF_REDCODE', 'Use REDCODE if true', False)),
- ('BF_REDCODE', 'REDCODE base path', ''),
- ('BF_REDCODE_INC', 'REDCODE include path', ''),
- ('BF_REDCODE_LIB', 'REDCODE library', ''),
- ('BF_REDCODE_LIBPATH', 'REDCODE library path', ''),
-
- (BoolVariable('WITH_BF_PNG', 'Use PNG if true', True)),
- (BoolVariable('WITH_BF_STATICPNG', 'Staticly link to PNG', False)),
- ('BF_PNG', 'PNG base path', ''),
- ('BF_PNG_INC', 'PNG include path', ''),
- ('BF_PNG_LIB', 'PNG library', ''),
- ('BF_PNG_LIBPATH', 'PNG library path', ''),
- ('BF_PNG_LIB_STATIC', 'PNG static library', ''),
-
- (BoolVariable('WITH_BF_TIFF', 'Use TIFF if true', True)),
- (BoolVariable('WITH_BF_STATICTIFF', 'Staticly link to TIFF', False)),
- ('BF_TIFF', 'TIFF base path', ''),
- ('BF_TIFF_INC', 'TIFF include path', ''),
- ('BF_TIFF_LIB', 'TIFF library', ''),
- ('BF_TIFF_LIBPATH', 'TIFF library path', ''),
- ('BF_TIFF_LIB_STATIC', 'TIFF static library', ''),
-
- (BoolVariable('WITH_BF_ZLIB', 'Use ZLib if true', True)),
- (BoolVariable('WITH_BF_STATICZLIB', 'Staticly link to ZLib', False)),
- ('BF_ZLIB', 'ZLib base path', ''),
- ('BF_ZLIB_INC', 'ZLib include path', ''),
- ('BF_ZLIB_LIB', 'ZLib library', ''),
- ('BF_ZLIB_LIBPATH', 'ZLib library path', ''),
- ('BF_ZLIB_LIB_STATIC', 'ZLib static library', ''),
-
- (BoolVariable('WITH_BF_INTERNATIONAL', 'Use Boost::locale if true', True)),
-
- (BoolVariable('WITH_BF_ICONV', 'Use iconv if true', True)),
- ('BF_ICONV', 'iconv base path', ''),
- ('BF_ICONV_INC', 'iconv include path', ''),
- ('BF_ICONV_LIB', 'iconv library', ''),
- ('BF_ICONV_LIBPATH', 'iconv library path', ''),
-
- (BoolVariable('WITH_BF_FREESTYLE', 'Compile with freestyle', True)),
-
- (BoolVariable('WITH_BF_GAMEENGINE', 'Build with gameengine' , False)),
-
- (BoolVariable('WITH_BF_BULLET', 'Use Bullet if true', True)),
- # (BoolVariable('WITH_BF_ELTOPO', 'Use Eltopo collision library if true', False)), # this is now only available in a branch
- ('BF_LAPACK', 'LAPACK base path', ''),
- ('BF_LAPACK_LIB', 'LAPACK library', ''),
- ('BF_LAPACK_LIB_STATIC', 'LAPACK library', ''),
- ('BF_LAPACK_LIBPATH', 'LAPACK library path', ''),
- (BoolVariable('WITH_BF_STATICLAPACK', 'Staticly link to LAPACK', False)),
-
- ('BF_BULLET', 'Bullet base dir', ''),
- ('BF_BULLET_INC', 'Bullet include path', ''),
- ('BF_BULLET_LIB', 'Bullet library', ''),
-
- ('BF_WINTAB', 'WinTab base dir', ''),
- ('BF_WINTAB_INC', 'WinTab include dir', ''),
- ('BF_CXX', 'c++ base path for libstdc++, only used when static linking', ''),
- (BoolVariable('WITH_BF_STATICCXX', 'static link to stdc++', False)),
- ('BF_CXX_LIB_STATIC', 'static library path for stdc++', ''),
-
- ('BF_FREETYPE', 'Freetype base path', ''),
- ('BF_FREETYPE_INC', 'Freetype include path', ''),
- ('BF_FREETYPE_LIB', 'Freetype library', ''),
- ('BF_FREETYPE_LIBPATH', 'Freetype library path', ''),
- (BoolVariable('WITH_BF_FREETYPE_STATIC', 'Use Static Freetype if true', False)),
- ('BF_FREETYPE_LIB_STATIC', 'Static Freetype library', ''),
-
- (BoolVariable('WITH_BF_OPENMP', 'Use OpenMP if true', False)),
- (BoolVariable('WITH_BF_STATICOPENMP', 'Staticly link to OpenMP', False)),
- ('BF_OPENMP', 'Base path to OpenMP (used when cross-compiling with older versions of WinGW)', ''),
- ('BF_OPENMP_INC', 'Path to OpenMP includes (used when cross-compiling with older versions of WinGW)', ''),
- ('BF_OPENMP_LIBPATH', 'Path to OpenMP libraries (used when cross-compiling with older versions of WinGW)', ''),
- (BoolVariable('WITH_GHOST_SDL', 'Enable building blender against SDL for windowing rather then the native APIs', False)),
- (BoolVariable('WITH_X11_XINPUT', 'Enable X11 Xinput (tablet support and unicode input)', True)),
- (BoolVariable('WITH_X11_XF86VMODE', 'Enable X11 video mode switching', True)),
- ('BF_OPENMP_LIB_STATIC', 'OpenMP static library', ''),
-
- (BoolVariable('WITH_BF_QUICKTIME', 'Use QuickTime if true', False)),
- ('BF_QUICKTIME', 'QuickTime base path', ''),
- ('BF_QUICKTIME_INC', 'QuickTime include path', ''),
- ('BF_QUICKTIME_LIB', 'QuickTime library', ''),
- ('BF_QUICKTIME_LIBPATH', 'QuickTime library path', ''),
-
- (BoolVariable('WITH_BF_FFTW3', 'Use FFTW3 if true', False)),
- ('BF_FFTW3', 'FFTW3 base path', ''),
- ('BF_FFTW3_INC', 'FFTW3 include path', ''),
- ('BF_FFTW3_LIB', 'FFTW3 library', ''),
- ('BF_FFTW3_LIB_STATIC', 'FFTW3 static libraries', ''),
- ('BF_FFTW3_LIBPATH', 'FFTW3 library path', ''),
- (BoolVariable('WITH_BF_STATICFFTW3', 'Staticly link to FFTW3', False)),
-
- (BoolVariable('WITH_BF_STATICOPENGL', 'Use MESA if true', True)),
- ('BF_OPENGL', 'OpenGL base path', ''),
- ('BF_OPENGL_INC', 'OpenGL include path', ''),
- ('BF_OPENGL_LIB', 'OpenGL libraries', ''),
- ('BF_OPENGL_LIBPATH', 'OpenGL library path', ''),
- ('BF_OPENGL_LIB_STATIC', 'OpenGL static libraries', ''),
- ('BF_OPENGL_LINKFLAGS', 'OpenGL link flags', ''),
-
- (BoolVariable('WITH_BF_GLEW_MX', '', False)),
- (BoolVariable('WITH_BF_GLEW_ES', '', False)),
- (BoolVariable('WITH_BF_GL_EGL', '', False)),
- (BoolVariable('WITH_BF_GL_PROFILE_COMPAT', '', True)),
- (BoolVariable('WITH_BF_GL_PROFILE_CORE', '', False)),
- (BoolVariable('WITH_BF_GL_PROFILE_ES20', '', False)),
- (BoolVariable('WITH_BF_GL_ANGLE', '', False)),
- ('BF_GL_DEFINITIONS', '', []),
- ('BF_GLEW_INC', '', ''),
- ) # end of opts.AddVariables()
-
- localopts.AddVariables(
- (BoolVariable('WITH_BF_COLLADA', 'Build COLLADA import/export module if true', False)),
- (BoolVariable('WITH_BF_STATICOPENCOLLADA', 'Staticly link to OpenCollada', False)),
- ('BF_COLLADA', 'COLLADA base path', ''),
- ('BF_COLLADA_INC', 'COLLADA include path', ''),
- ('BF_COLLADA_LIB', 'COLLADA library', ''),
- ('BF_OPENCOLLADA', 'OpenCollada base path', ''),
- ('BF_OPENCOLLADA_INC', 'OpenCollada base include path', ''),
- ('BF_OPENCOLLADA_LIB', 'OpenCollada library', ''),
- ('BF_OPENCOLLADA_LIBPATH', 'OpenCollada library path', ''),
- ('BF_PCRE', 'PCRE base path', ''),
- ('BF_PCRE_LIB', 'PCRE library', ''),
- ('BF_PCRE_LIBPATH', 'PCRE library path', ''),
- ('BF_EXPAT', 'Expat base path', ''),
- ('BF_EXPAT_LIB', 'Expat library', ''),
- ('BF_EXPAT_LIBPATH', 'Expat library path', ''),
- ('BF_OPENCOLLADA_LIB_STATIC', 'OpenCollada static library', ''),
-
- (BoolVariable('WITH_BF_JEMALLOC', 'Use jemalloc if true', False)),
- (BoolVariable('WITH_BF_STATICJEMALLOC', 'Staticly link to jemalloc', False)),
- ('BF_JEMALLOC', 'jemalloc base path', ''),
- ('BF_JEMALLOC_INC', 'jemalloc include path', ''),
- ('BF_JEMALLOC_LIB', 'jemalloc library', ''),
- ('BF_JEMALLOC_LIBPATH', 'jemalloc library path', ''),
- ('BF_JEMALLOC_LIB_STATIC', 'jemalloc static library', ''),
-
- (BoolVariable('WITH_BF_PLAYER', 'Build blenderplayer if true', False)),
- (BoolVariable('WITH_BF_NOBLENDER', 'Do not build blender if true', False)),
-
- (BoolVariable('WITH_BF_IME', 'Enable Input Method Editor (IME) for complex Asian character input', False)),
-
- (BoolVariable('WITH_BF_3DMOUSE', 'Build blender with support of 3D mouses', False)),
- (BoolVariable('WITH_BF_STATIC3DMOUSE', 'Staticly link to 3d mouse library', False)),
- ('BF_3DMOUSE', '3d mouse library base path', ''),
- ('BF_3DMOUSE_INC', '3d mouse library include path', ''),
- ('BF_3DMOUSE_LIB', '3d mouse library', ''),
- ('BF_3DMOUSE_LIBPATH', '3d mouse library path', ''),
- ('BF_3DMOUSE_LIB_STATIC', '3d mouse static library', ''),
-
- ('CFLAGS', 'C only flags', []),
- ('CCFLAGS', 'Generic C and C++ flags', []),
- ('CXXFLAGS', 'C++ only flags', []),
- ('BGE_CXXFLAGS', 'C++ only flags for BGE', []),
- ('CPPFLAGS', 'Defines', []),
- ('REL_CFLAGS', 'C only release flags', []),
- ('REL_CCFLAGS', 'Generic C and C++ release flags', []),
- ('REL_CXXFLAGS', 'C++ only release flags', []),
-
- ('C_WARN', 'C warning flags', []),
- ('CC_WARN', 'Generic C and C++ warning flags', []),
- ('CXX_WARN', 'C++ only warning flags', []),
-
- ('LLIBS', 'Platform libs', []),
- ('PLATFORM_LINKFLAGS', 'Platform linkflags', []),
- ('MACOSX_ARCHITECTURE', 'python_arch.zip select', ''),
- ('MACOSX_SDK', 'Set OS X SDK', ''),
- ('XCODE_CUR_VER', 'Detect XCode version', ''),
- ('MACOSX_DEPLOYMENT_TARGET', 'Detect OS X target version', ''),
- ('C_COMPILER_ID', 'Detect the resolved compiler', ''),
-
- (BoolVariable('BF_PROFILE', 'Add profiling information if true', False)),
- ('BF_PROFILE_CFLAGS', 'C only profiling flags', []),
- ('BF_PROFILE_CCFLAGS', 'C and C++ profiling flags', []),
- ('BF_PROFILE_CXXFLAGS', 'C++ only profiling flags', []),
- ('BF_PROFILE_LINKFLAGS', 'Profile linkflags', []),
-
- (BoolVariable('BF_DEBUG', 'Add debug flags if true', False)),
- ('BF_DEBUG_CFLAGS', 'C only debug flags', []),
- ('BF_DEBUG_CCFLAGS', 'C and C++ debug flags', []),
- ('BF_DEBUG_CXXFLAGS', 'C++ only debug flags', []),
-
- (BoolVariable('BF_BSC', 'Create .bsc files (msvc only)', False)),
-
- ('BF_BUILDDIR', 'Build dir', ''),
- ('BF_INSTALLDIR', 'Installation dir', ''),
-
- ('CC', 'C compiler to use', env['CC']),
- ('CXX', 'C++ compiler to use', env['CXX']),
-
- (BoolVariable('BF_BUILDINFO', 'Buildtime in splash if true', True)),
-
- (BoolVariable('BF_TWEAK_MODE', 'Enable tweak mode if true', False)),
- (BoolVariable('BF_SPLIT_SRC', 'Split src lib into several chunks if true', False)),
- (BoolVariable('WITHOUT_BF_INSTALL', 'dont install if true', False)),
- (BoolVariable('WITHOUT_BF_PYTHON_INSTALL', 'dont install Python modules if true', False)),
- (BoolVariable('WITH_BF_PYTHON_INSTALL_NUMPY', 'install Python numpy module', False)),
- (BoolVariable('WITH_BF_PYTHON_INSTALL_REQUESTS', 'install Python requests module', False)),
- (BoolVariable('WITHOUT_BF_PYTHON_UNPACK', 'dont remove and unpack Python modules everytime if true', False)),
- (BoolVariable('WITHOUT_BF_OVERWRITE_INSTALL', 'dont remove existing files before breating the new install directory (set to False when making packages for others)', False)),
- (BoolVariable('BF_FANCY', 'Enable fancy output if true', True)),
- (BoolVariable('BF_QUIET', 'Enable silent output if true', True)),
- (BoolVariable('BF_LINE_OVERWRITE', 'Enable overwriting of compile line in BF_QUIET mode if true', False)),
- (BoolVariable('WITH_BF_BINRELOC', 'Enable relocatable binary (linux only)', False)),
-
- (BoolVariable('WITH_BF_LZO', 'Enable fast LZO pointcache compression', True)),
- (BoolVariable('WITH_BF_LZMA', 'Enable best LZMA pointcache compression', True)),
-
- (BoolVariable('WITH_BF_LIBMV', 'Enable libmv structure from motion library', True)),
- (BoolVariable('WITH_BF_LIBMV_SCHUR_SPECIALIZATIONS', 'Enable fixed-size schur specializations', True)),
-
- (BoolVariable('WITH_BF_COMPOSITOR', 'Enable the tile based nodal compositor', True)),
- ) # end of opts.AddOptions()
-
- localopts.AddVariables(
- ('BF_X264_CONFIG', 'configuration flags for x264', ''),
- ('BF_XVIDCORE_CONFIG', 'configuration flags for xvidcore', ''),
-# (BoolVariable('WITH_BF_DOCS', 'Generate API documentation', False)),
-
- ('BF_CONFIG', 'SCons python config file used to set default options', 'user_config.py'),
- ('BF_NUMJOBS', 'Number of build processes to spawn', '1'),
- ('BF_MSVS', 'Generate MSVS project files and solution', False),
-
- (BoolVariable('BF_UNIT_TEST', 'Build with unit test support.', False)),
-
- (BoolVariable('BF_GHOST_DEBUG', 'Make GHOST print events and info to stdout. (very verbose)', False)),
-
- (BoolVariable('WITH_BF_RAYOPTIMIZATION', 'Enable raytracer SSE/SIMD optimization.', False)),
- ('BF_RAYOPTIMIZATION_SSE_FLAGS', 'SSE flags', ''),
- (BoolVariable('WITH_BF_CXX_GUARDEDALLOC', 'Enable GuardedAlloc for C++ memory allocation tracking.', False)),
-
- ('BUILDBOT_BRANCH', 'Buildbot branch name', ''),
-
- (BoolVariable('WITH_BF_CYCLES', 'Build with the Cycles engine', True)),
- (BoolVariable('WITH_BF_CYCLES_CUDA_BINARIES', 'Build with precompiled CUDA binaries', False)),
- (BoolVariable('WITH_BF_CYCLES_CUDA_THREADED_COMPILE', 'Build several render kernels at once (using BF_NUMJOBS)', False)),
- ('BF_CYCLES_CUDA_NVCC', 'CUDA nvcc compiler path', ''),
- ('BF_CYCLES_CUDA_ENV', 'preset environement nvcc will execute in', ''),
- ('BF_CYCLES_CUDA_BINARIES_ARCH', 'CUDA architectures to compile binaries for', []),
- (BoolVariable('WITH_BF_CYCLES_DEBUG', 'Build Cycles engine with extra debugging capabilities', False)),
- (BoolVariable('WITH_BF_CYCLES_LOGGING', 'Build Cycles engine with logging support', True)),
-
- (BoolVariable('WITH_BF_OIIO', 'Build with OpenImageIO', False)),
- (BoolVariable('WITH_BF_STATICOIIO', 'Statically link to OpenImageIO', False)),
- ('BF_OIIO', 'OIIO root path', ''),
- ('BF_OIIO_INC', 'OIIO include path', ''),
- ('BF_OIIO_LIB', 'OIIO library', ''),
- ('BF_OIIO_LIBPATH', 'OIIO library path', ''),
- ('BF_OIIO_LIB_STATIC', 'OIIO static library', ''),
-
- (BoolVariable('WITH_BF_OCIO', 'Build with OpenColorIO', False)),
- (BoolVariable('WITH_BF_STATICOCIO', 'Staticly link to OpenColorIO', False)),
- ('BF_OCIO', 'OCIO root path', ''),
- ('BF_OCIO_INC', 'OCIO include path', ''),
- ('BF_OCIO_LIB', 'OCIO library', ''),
- ('BF_OCIO_LIBPATH', 'OCIO library path', ''),
- ('BF_OCIO_LIB_STATIC', 'OCIO static library', ''),
-
- (BoolVariable('WITH_BF_BOOST', 'Build with Boost', False)),
- (BoolVariable('WITH_BF_STATICBOOST', 'Staticly link to boost', False)),
- ('BF_BOOST', 'Boost root path', ''),
- ('BF_BOOST_INC', 'Boost include path', ''),
- ('BF_BOOST_LIB', 'Boost library', ''),
- ('BF_BOOST_LIB_INTERNATIONAL', 'Boost library', ''),
- ('BF_BOOST_LIBPATH', 'Boost library path', ''),
- ('BF_BOOST_LIB_STATIC', 'Boost static library', ''),
-
- (BoolVariable('WITH_GHOST_XDND', 'Build with drag-n-drop support on Linux platforms using XDND protocol', True)),
-
- (BoolVariable('WITH_BF_CYCLES_OSL', 'Build with OSL sypport in Cycles', False)),
- (BoolVariable('WITH_BF_STATICOSL', 'Staticly link to OSL', False)),
- ('BF_OSL', 'OSL root path', ''),
- ('BF_OSL_INC', 'OSL include path', ''),
- ('BF_OSL_LIB', 'OSL library', ''),
- ('BF_OSL_LIBPATH', 'OSL library path', ''),
- ('BF_OSL_LIB_STATIC', 'OSL static library', ''),
- ('BF_OSL_COMPILER', 'OSL compiler', ''),
-
- (BoolVariable('WITH_BF_LLVM', 'Build with LLVM sypport (required for OSL)', False)),
- (BoolVariable('WITH_BF_STATICLLVM', 'Staticly link to LLVM', False)),
- ('BF_LLVM', 'LLVM root path', ''),
- ('BF_LLVM_LIB', 'LLVM library', ''),
- ('BF_LLVM_LIBPATH', 'LLVM library path', ''),
- ('BF_LLVM_LIB_STATIC', 'LLVM static library', ''),
-
- ('BF_PROGRAM_LINKFLAGS', 'Link flags applied only to final binaries (blender and blenderplayer, not makesrna/makesdna)', ''),
-
- (BoolVariable('WITH_BF_OPENSUBDIV', 'Build with OpenSubdiv library', False)),
- (BoolVariable('WITH_BF_STATICOPENSUBDIV', 'Staticly link to OpenColorIO', False)),
- ('BF_OPENSUBDIV', 'OpenSubdiv root path', ''),
- ('BF_OPENSUBDIV_INC', 'OpenSubdiv include path', ''),
- ('BF_OPENSUBDIV_LIB', 'OpenSubdiv library', ''),
- ('BF_OPENSUBDIV_LIBPATH', 'OpenSubdiv library path', ''),
- ('BF_OPENSUBDIV_LIB_STATIC', 'OpenSubdiv static library', ''),
-
- (BoolVariable('WITH_BF_CPP11', '"Build with C++11 standard enabled, for development use only!', False)),
-
- (BoolVariable('WITH_BF_LEGACY_DEPSGRAPH', 'Build Blender with legacy dependency graph', True)),
- ) # end of opts.AddOptions()
-
- return localopts
-
-def buildbot_zip(src, dest, package_name, extension):
- import zipfile
- ln = len(src)+1 # one extra to remove leading os.sep when cleaning root for package_root
- flist = list()
-
- # create list of tuples containing file and archive name
- for root, dirs, files in os.walk(src):
- package_root = os.path.join(package_name, root[ln:])
- flist.extend([(os.path.join(root, file), os.path.join(package_root, file)) for file in files])
-
- if extension == '.zip':
- package = zipfile.ZipFile(dest, 'w', zipfile.ZIP_DEFLATED)
- package.comment = package_name + ' is a zip-file containing the Blender software. Visit http://www.blender.org for more information.'
- for entry in flist:
- package.write(entry[0], entry[1])
- package.close()
- else:
- import tarfile
- package = tarfile.open(dest, 'w:bz2')
- for entry in flist:
- package.add(entry[0], entry[1], recursive=False)
- package.close()
- bb_zip_name = os.path.normpath(src + os.sep + '..' + os.sep + 'buildbot_upload.zip')
- print("creating %s" % (bb_zip_name))
- bb_zip = zipfile.ZipFile(bb_zip_name, 'w', zipfile.ZIP_DEFLATED)
- print("writing %s to %s" % (dest, bb_zip_name))
- bb_zip.write(dest, os.path.split(dest)[1])
- bb_zip.close()
- print("removing unneeded packed file %s (to keep install directory clean)" % (dest))
- os.remove(dest)
- print("done.")
-
-def buildslave_print(target, source, env):
- return "Running buildslave target"
-
-def buildslave(target=None, source=None, env=None):
- """
- Builder for buildbot integration. Used by buildslaves of http://builder.blender.org only.
- """
-
- if env['OURPLATFORM'] in ('win32-vc', 'win64-vc', 'win32-mingw', 'darwin', 'win64-mingw'):
- extension = '.zip'
- else:
- extension = '.tar.bz2'
-
- if env['OURPLATFORM'] == 'win32-mingw':
- platform = 'mingw32'
- elif env['OURPLATFORM'] == 'win64-mingw':
- platform = 'mingw64'
- else:
- platform = env['OURPLATFORM'].split('-')[0]
-
- if platform == 'linux':
- import platform
-
- if "glibc27" in env['BF_INSTALLDIR']:
- glibc = "glibc27"
- elif "glibc211" in env['BF_INSTALLDIR']:
- glibc = "glibc211"
-
- bitness = platform.architecture()[0]
- if bitness == '64bit':
- platform = 'linux-' + glibc + '-x86_64'
- elif bitness == '32bit':
- platform = 'linux-' + glibc + '-i686'
- if platform == 'darwin':
- platform = 'OSX-' + env['MACOSX_DEPLOYMENT_TARGET'] + '-' + env['MACOSX_ARCHITECTURE']
-
-
- branch = env['BUILDBOT_BRANCH']
-
- outdir = os.path.abspath(env['BF_INSTALLDIR'])
- package_name = 'blender-' + VERSION+'-'+HASH + '-' + platform
- if branch != '':
- package_name = branch + '-' + package_name
- package_dir = os.path.normpath(outdir + os.sep + '..' + os.sep + package_name)
- package_archive = os.path.normpath(outdir + os.sep + '..' + os.sep + package_name + extension)
-
- try:
- if os.path.exists(package_archive):
- os.remove(package_archive)
- if os.path.exists(package_dir):
- shutil.rmtree(package_dir)
- except Exception, ex:
- sys.stderr.write('Failed to clean up old package files: ' + str(ex) + '\n')
- return 1
-
- buildbot_zip(outdir, package_archive, package_name, extension)
-
- return 0
-
-def NSIS_print(target, source, env):
- return "Creating NSIS installer for Blender"
-
-def NSIS_Installer(target=None, source=None, env=None):
- print "="*35
-
- if env['OURPLATFORM'] not in ('win32-vc', 'win32-mingw', 'win64-vc', 'win64-mingw'):
- print "NSIS installer is only available on Windows."
- exit()
- if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw'):
- bitness = '32'
- elif env['OURPLATFORM'] in ('win64-vc', 'win64-mingw'):
- bitness = '64'
-
- start_dir = os.getcwd()
- rel_dir = os.path.join(start_dir,'release','windows','installer')
- install_base_dir = start_dir + os.sep
-
- bf_installdir = os.path.join(os.getcwd(),env['BF_INSTALLDIR'])
- bf_installdir = os.path.normpath(bf_installdir)
-
- doneroot = False
- rootdirconts = []
- datafiles = ''
- deldatafiles = ''
- deldatadirs = ''
- l = len(bf_installdir)
-
- for dp,dn,df in os.walk(bf_installdir):
- # install
- if not doneroot:
- for f in df:
- rootdirconts.append(os.path.join(dp,f))
- doneroot = True
- else:
- if len(df)>0:
- datafiles += "\n" +r'SetOutPath $INSTDIR'+dp[l:]+"\n\n"
-
- for f in df:
- outfile = os.path.join(dp,f)
- datafiles += ' File '+outfile + "\n"
-
- # uninstall
- deldir = dp[l+1:]
-
- if len(deldir)>0:
- deldatadirs = "RMDir $INSTDIR\\" + deldir + "\n" + deldatadirs
- deldatadirs = "RMDir /r $INSTDIR\\" + deldir + "\\__pycache__\n" + deldatadirs
-
- for f in df:
- deldatafiles += 'Delete \"$INSTDIR\\' + os.path.join(deldir, f) + "\"\n"
-
- #### change to suit install dir ####
- inst_dir = install_base_dir + env['BF_INSTALLDIR']
-
- os.chdir(rel_dir)
-
- ns = open("00.sconsblender.nsi","r")
-
- ns_cnt = str(ns.read())
- ns.close()
-
- # var replacements
- ns_cnt = string.replace(ns_cnt, "[DISTDIR]", os.path.normpath(inst_dir+os.sep))
- ns_cnt = string.replace(ns_cnt, "[VERSION]", VERSION_DISPLAY)
- ns_cnt = string.replace(ns_cnt, "[SHORTVERSION]", VERSION)
- ns_cnt = string.replace(ns_cnt, "[RELDIR]", os.path.normpath(rel_dir))
- ns_cnt = string.replace(ns_cnt, "[BITNESS]", bitness)
-
- # do root
- rootlist = []
- for rootitem in rootdirconts:
- rootlist.append("File \"" + rootitem + "\"")
- rootstring = string.join(rootlist, "\n ")
- rootstring = rootstring
- rootstring += "\n\n"
- ns_cnt = string.replace(ns_cnt, "[ROOTDIRCONTS]", rootstring)
-
-
- # do delete items
- delrootlist = []
- for rootitem in rootdirconts:
- delrootlist.append("Delete $INSTDIR\\" + rootitem[l+1:])
- delrootstring = string.join(delrootlist, "\n ")
- delrootstring += "\n"
- ns_cnt = string.replace(ns_cnt, "[DELROOTDIRCONTS]", delrootstring)
-
- ns_cnt = string.replace(ns_cnt, "[DODATAFILES]", datafiles)
- ns_cnt = string.replace(ns_cnt, "[DELDATAFILES]", deldatafiles)
- ns_cnt = string.replace(ns_cnt, "[DELDATADIRS]", deldatadirs)
-
- tmpnsi = os.path.normpath(install_base_dir+os.sep+env['BF_BUILDDIR']+os.sep+"00.blender_tmp.nsi")
- new_nsis = open(tmpnsi, 'w')
- new_nsis.write(ns_cnt)
- new_nsis.close()
- print "NSIS Installer script created"
-
- os.chdir(start_dir)
- print "Launching 'makensis'"
-
- cmdline = "makensis " + "\""+tmpnsi+"\""
-
- startupinfo = subprocess.STARTUPINFO()
- #startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
- proc = subprocess.Popen(cmdline, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
- stderr=subprocess.PIPE, startupinfo=startupinfo, shell = True)
- data, err = proc.communicate()
- rv = proc.wait()
-
- if rv != 0:
- print
- print data.strip().split("\n")[-1]
- return rv
-
-def cudakernels_print(target, source, env):
- return "Running cudakernels target"
-
-def cudakernels(target=None, source=None, env=None):
- """
- Builder for cuda kernels compilation. Used by release build environment only
- """
-
- # Currently nothing to do, everything is handled by a dependency resolver
-
- pass
-
-def check_environ():
- problematic_envvars = ""
- for i in os.environ:
- try:
- os.environ[i].decode('ascii')
- except UnicodeDecodeError:
- problematic_envvars = problematic_envvars + "%s = %s\n" % (i, os.environ[i])
- if len(problematic_envvars)>0:
- print("================\n\n")
- print("@@ ABORTING BUILD @@\n")
- print("PROBLEM DETECTED WITH ENVIRONMENT")
- print("---------------------------------\n\n")
- print("A problem with one or more environment variable was found")
- print("Their value contain non-ascii characters. Check the below")
- print("list and override them locally to be ASCII-clean by doing")
- print("'set VARNAME=cleanvalue' on the command-line prior to")
- print("starting the build process:\n")
- print(problematic_envvars)
- return False
- else:
- return True
diff --git a/build_files/scons/tools/crossmingw.py b/build_files/scons/tools/crossmingw.py
deleted file mode 100644
index f97fdf3c15e..00000000000
--- a/build_files/scons/tools/crossmingw.py
+++ /dev/null
@@ -1,184 +0,0 @@
-"""SCons.Tool.gcc
-
-Tool-specific initialization for MinGW (http://www.mingw.org/)
-
-There normally shouldn't be any need to import this module directly.
-It will usually be imported through the generic SCons.Tool.Tool()
-selection method.
-
-"""
-
-#
-# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 The SCons Foundation
-#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-
-__revision__ = "src/engine/SCons/Tool/mingw.py 4043 2009/02/23 09:06:45 scons"
-
-import os
-import os.path
-import string
-
-import SCons.Action
-import SCons.Builder
-import SCons.Defaults
-import SCons.Tool
-import SCons.Util
-
-# This is what we search for to find mingw:
-prefixes = SCons.Util.Split("""
- mingw32-
- i386-mingw32msvc-
- i486-mingw32msvc-
- i586-mingw32msvc-
- i686-mingw32msvc-
- i686-pc-mingw32-
-""")
-
-def find(env):
- for prefix in prefixes:
- # First search in the SCons path and then the OS path:
- if env.WhereIs(prefix + 'gcc') or SCons.Util.WhereIs(prefix + 'gcc'):
- return prefix
-
- return ''
-
-def shlib_generator(target, source, env, for_signature):
- cmd = SCons.Util.CLVar(['$SHLINK'])
-
- dll = env.FindIxes(target, 'SHLIBPREFIX', 'SHLIBSUFFIX')
- if dll: cmd.extend(['-o', dll])
-
- cmd.extend(['$SOURCES', '$SHLINKFLAGS', '$_LIBDIRFLAGS', '$_LIBFLAGS'])
-
- implib = env.FindIxes(target, 'LIBPREFIX', 'LIBSUFFIX')
- if implib: cmd.append('-Wl,--out-implib,'+implib.get_string(for_signature))
-
- def_target = env.FindIxes(target, 'WINDOWSDEFPREFIX', 'WINDOWSDEFSUFFIX')
- insert_def = env.subst("$WINDOWS_INSERT_DEF")
- if not insert_def in ['', '0', 0] and def_target: \
- cmd.append('-Wl,--output-def,'+def_target.get_string(for_signature))
-
- return [cmd]
-
-def shlib_emitter(target, source, env):
- dll = env.FindIxes(target, 'SHLIBPREFIX', 'SHLIBSUFFIX')
- no_import_lib = env.get('no_import_lib', 0)
-
- if not dll:
- raise SCons.Errors.UserError, "A shared library should have exactly one target with the suffix: %s" % env.subst("$SHLIBSUFFIX")
-
- if not no_import_lib and \
- not env.FindIxes(target, 'LIBPREFIX', 'LIBSUFFIX'):
-
- # Append an import library to the list of targets.
- target.append(env.ReplaceIxes(dll,
- 'SHLIBPREFIX', 'SHLIBSUFFIX',
- 'LIBPREFIX', 'LIBSUFFIX'))
-
- # Append a def file target if there isn't already a def file target
- # or a def file source. There is no option to disable def file
- # target emitting, because I can't figure out why someone would ever
- # want to turn it off.
- def_source = env.FindIxes(source, 'WINDOWSDEFPREFIX', 'WINDOWSDEFSUFFIX')
- def_target = env.FindIxes(target, 'WINDOWSDEFPREFIX', 'WINDOWSDEFSUFFIX')
- if not def_source and not def_target:
- target.append(env.ReplaceIxes(dll,
- 'SHLIBPREFIX', 'SHLIBSUFFIX',
- 'WINDOWSDEFPREFIX', 'WINDOWSDEFSUFFIX'))
-
- return (target, source)
-
-
-shlib_action = SCons.Action.Action(shlib_generator, generator=1)
-
-res_action = SCons.Action.Action('$RCCOM', '$RCCOMSTR')
-
-res_builder = SCons.Builder.Builder(action=res_action, suffix='.o',
- source_scanner=SCons.Tool.SourceFileScanner)
-SCons.Tool.SourceFileScanner.add_scanner('.rc', SCons.Defaults.CScan)
-
-def generate(env):
- mingw = find(env)
- if mingw:
- dir = os.path.dirname(mingw)
- env.PrependENVPath('PATH', dir )
-
-
- # Most of mingw is the same as gcc and friends...
- gnu_tools = ['gcc', 'g++', 'gnulink', 'ar', 'gas', 'm4']
- for tool in gnu_tools:
- SCons.Tool.Tool(tool)(env)
-
- #... but a few things differ:
- env['CC'] = mingw + 'gcc'
- env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS')
- env['CXX'] = mingw + 'g++'
- env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS')
- env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -shared')
- env['SHLINKCOM'] = shlib_action
- env['LDMODULECOM'] = shlib_action
- env.Append(SHLIBEMITTER = [shlib_emitter])
- env['RANLIB'] = mingw + 'ranlib'
- env['LINK'] = mingw + 'gcc'
- env['AS'] = mingw + 'as'
- env['AR'] = mingw + 'ar'
-
- env['WIN32DEFPREFIX'] = ''
- env['WIN32DEFSUFFIX'] = '.def'
- env['WINDOWSDEFPREFIX'] = '${WIN32DEFPREFIX}'
- env['WINDOWSDEFSUFFIX'] = '${WIN32DEFSUFFIX}'
-
- env['SHOBJSUFFIX'] = '.o'
- env['STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME'] = 1
-
- env['RC'] = mingw + 'windres'
- env['RCFLAGS'] = SCons.Util.CLVar('')
- env['RCINCFLAGS'] = '$( ${_concat(RCINCPREFIX, CPPPATH, RCINCSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)'
- env['RCINCPREFIX'] = '--include-dir '
- env['RCINCSUFFIX'] = ''
- env['RCCOM'] = '$RC $_CPPDEFFLAGS $RCINCFLAGS ${RCINCPREFIX} ${SOURCE.dir} $RCFLAGS -i $SOURCE -o $TARGET'
- env['BUILDERS']['RES'] = res_builder
-
- # Some setting from the platform also have to be overridden:
- env['OBJPREFIX'] = ''
- env['OBJSUFFIX'] = '.o'
- env['LIBPREFIX'] = 'lib'
- env['LIBSUFFIX'] = '.a'
- env['SHOBJPREFIX'] = '$OBJPREFIX'
- env['SHOBJSUFFIX'] = '$OBJSUFFIX'
- env['PROGPREFIX'] = ''
- env['PROGSUFFIX'] = '.exe'
- env['LIBPREFIX'] = ''
- env['LIBSUFFIX'] = '.lib'
- env['SHLIBPREFIX'] = ''
- env['SHLIBSUFFIX'] = '.dll'
- env['LIBPREFIXES'] = [ '$LIBPREFIX' ]
- env['LIBSUFFIXES'] = [ '$LIBSUFFIX' ]
-
-def exists(env):
- return find(env)
-
-# Local Variables:
-# tab-width:4
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=4 shiftwidth=4:
diff --git a/build_files/scons/tools/mstoolkit.py b/build_files/scons/tools/mstoolkit.py
deleted file mode 100644
index 68e8c4b6475..00000000000
--- a/build_files/scons/tools/mstoolkit.py
+++ /dev/null
@@ -1,353 +0,0 @@
-"""tools.mstoolkit
-
-Tool-specific initialization for Microsoft Visual C/C++ Toolkit Commandline
-
-There normally shouldn't be any need to import this module directly.
-It will usually be imported through the generic SCons.Tool.Tool()
-selection method.
-
-"""
-
-#
-# Copyright (c) 2004 John Connors
-#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-
-
-import os.path
-import re
-import string
-import types
-
-import SCons.Action
-import SCons.Builder
-import SCons.Errors
-import SCons.Platform.win32
-import SCons.Tool
-import SCons.Util
-import SCons.Warnings
-
-CSuffixes = ['.c', '.C']
-CXXSuffixes = ['.cc', '.cpp', '.cxx', '.c++', '.C++']
-
-def get_msvctoolkit_paths():
- """Return a 4-tuple of (INCLUDE, LIB, PATH, TOOLKIT) as the values of those
- three environment variables that should be set in order to execute
- the MSVC .NET tools properly, if the information wasn't available
- from the registry."""
-
- MSToolkitDir = None
- paths = {}
- exe_path = ''
- lib_path = ''
- include_path = ''
-
- # First, we get the shell folder for this user:
- if not SCons.Util.can_read_reg:
- raise SCons.Errors.InternalError, "No Windows registry module was found"
-
- # look for toolkit
- if os.environ.has_key('VCToolkitInstallDir'):
- MSToolkitDir = os.path.normpath(os.environ['VCToolkitInstallDir'])
- else:
- # last resort -- default install location
- MSToolkitDir = r'C:\Program Files\Microsoft Visual C++ Toolkit 2003'
-
- # look for platform sdk
- if os.environ.has_key('MSSdk'):
- PlatformSDKDir = os.path.normpath(os.environ['MSSdk'])
- else:
- try:
- PlatformSDKDir = SCons.Util.RegGetValue(SCons.Util.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\MicrosoftSDK\Directories\Install Dir')[0]
- PlatformSDKDir = str(PlatformSDKDir)
- except SCons.Util.RegError:
- raise SCons.Errors.InternalError, "The Platform SDK directory was not found in the registry or in the `MSSdk` environment variable."
-
- # look for DX Sdk (expecting DX9)
- # dxsdk docs have a directory key, look for it, extract path
- #dxsdkdocs = ""
- DXsdkDir = ""
- #try:
- # dxsdkdocs = SCons.Util.RegGetValue(SCons.Util.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\DirectX SDK\DX9SDK Doc Path')
- #except SCons.Util.RegError:
- # raise SCons.Errors.InternalError, "The DXSDK directory was not found in the registry."
- if os.environ.has_key('DXSDK_DIR'):
- DXsdkDir = os.path.normpath(os.environ['DXSDK_DIR'])
-
- #DXsdkDir = os.path.split(dxsdkdocs[0])[0]
- DXsdkDir = os.path.split(DXsdkDir)[0]
-
- include_path = r'%s\include;%s\include;%s\include' % (MSToolkitDir, PlatformSDKDir, DXsdkDir)
- lib_path = r'%s\lib;%s\lib;%s\lib' % (MSToolkitDir, PlatformSDKDir, DXsdkDir)
- exe_path = r'%s\bin;%s\bin\win95;%s\bin' % (MSToolkitDir, PlatformSDKDir, PlatformSDKDir)
- return (include_path, lib_path, exe_path, PlatformSDKDir)
-
-def validate_vars(env):
- """Validate the PDB, PCH, and PCHSTOP construction variables."""
- if env.has_key('PCH') and env['PCH']:
- if not env.has_key('PCHSTOP'):
- raise SCons.Errors.UserError, "The PCHSTOP construction must be defined if PCH is defined."
- if not SCons.Util.is_String(env['PCHSTOP']):
- raise SCons.Errors.UserError, "The PCHSTOP construction variable must be a string: %r"%env['PCHSTOP']
-
-def pch_emitter(target, source, env):
- """Sets up the PDB dependencies for a pch file, and adds the object
- file target."""
-
- validate_vars(env)
-
- pch = None
- obj = None
-
- for t in target:
- if SCons.Util.splitext(str(t))[1] == '.pch':
- pch = t
- if SCons.Util.splitext(str(t))[1] == '.obj':
- obj = t
-
- if not obj:
- obj = SCons.Util.splitext(str(pch))[0]+'.obj'
-
- target = [pch, obj] # pch must be first, and obj second for the PCHCOM to work
-
- if env.has_key('PDB') and env['PDB']:
- env.SideEffect(env['PDB'], target)
- env.Precious(env['PDB'])
-
- return (target, source)
-
-def object_emitter(target, source, env, parent_emitter):
- """Sets up the PDB and PCH dependencies for an object file."""
-
- validate_vars(env)
-
- parent_emitter(target, source, env)
-
- if env.has_key('PDB') and env['PDB']:
- env.SideEffect(env['PDB'], target)
- env.Precious(env['PDB'])
-
- if env.has_key('PCH') and env['PCH']:
- env.Depends(target, env['PCH'])
-
- return (target, source)
-
-def static_object_emitter(target, source, env):
- return object_emitter(target, source, env,
- SCons.Defaults.StaticObjectEmitter)
-
-def shared_object_emitter(target, source, env):
- return object_emitter(target, source, env,
- SCons.Defaults.SharedObjectEmitter)
-
-pch_builder = SCons.Builder.Builder(action='$PCHCOM', suffix='.pch', emitter=pch_emitter)
-res_builder = SCons.Builder.Builder(action='$RCCOM', suffix='.res')
-
-def pdbGenerator(env, target, source, for_signature):
- if target and env.has_key('PDB') and env['PDB']:
- return ['/PDB:%s'%target[0].File(env['PDB']).get_string(for_signature),
- '/DEBUG']
-
-def win32ShlinkTargets(target, source, env, for_signature):
- listCmd = []
- dll = env.FindIxes(target, 'SHLIBPREFIX', 'SHLIBSUFFIX')
- if dll: listCmd.append("/out:%s"%dll.get_string(for_signature))
-
- implib = env.FindIxes(target, 'LIBPREFIX', 'LIBSUFFIX')
- if implib: listCmd.append("/implib:%s"%implib.get_string(for_signature))
-
- return listCmd
-
-def win32ShlinkSources(target, source, env, for_signature):
- listCmd = []
-
- deffile = env.FindIxes(source, "WIN32DEFPREFIX", "WIN32DEFSUFFIX")
- for src in source:
- if src == deffile:
- # Treat this source as a .def file.
- listCmd.append("/def:%s" % src.get_string(for_signature))
- else:
- # Just treat it as a generic source file.
- listCmd.append(src)
- return listCmd
-
-def win32LibEmitter(target, source, env):
- # SCons.Tool.msvc.validate_vars(env)
-
- dll = env.FindIxes(target, "SHLIBPREFIX", "SHLIBSUFFIX")
- no_import_lib = env.get('no_import_lib', 0)
-
- if not dll:
- raise SCons.Errors.UserError, "A shared library should have exactly one target with the suffix: %s" % env.subst("$SHLIBSUFFIX")
-
- if env.get("WIN32_INSERT_DEF", 0) and \
- not env.FindIxes(source, "WIN32DEFPREFIX", "WIN32DEFSUFFIX"):
-
- # append a def file to the list of sources
- source.append(env.ReplaceIxes(dll,
- "SHLIBPREFIX", "SHLIBSUFFIX",
- "WIN32DEFPREFIX", "WIN32DEFSUFFIX"))
-
- if env.has_key('PDB') and env['PDB']:
- env.SideEffect(env['PDB'], target)
- env.Precious(env['PDB'])
-
- if not no_import_lib and \
- not env.FindIxes(target, "LIBPREFIX", "LIBSUFFIX"):
- # Append an import library to the list of targets.
- target.append(env.ReplaceIxes(dll,
- "SHLIBPREFIX", "SHLIBSUFFIX",
- "LIBPREFIX", "LIBSUFFIX"))
- # and .exp file is created if there are exports from a DLL
- target.append(env.ReplaceIxes(dll,
- "SHLIBPREFIX", "SHLIBSUFFIX",
- "WIN32EXPPREFIX", "WIN32EXPSUFFIX"))
-
- return (target, source)
-
-def prog_emitter(target, source, env):
- #SCons.Tool.msvc.validate_vars(env)
-
- if env.has_key('PDB') and env['PDB']:
- env.SideEffect(env['PDB'], target)
- env.Precious(env['PDB'])
-
- return (target,source)
-
-def RegServerFunc(target, source, env):
- if env.has_key('register') and env['register']:
- ret = regServerAction([target[0]], [source[0]], env)
- if ret:
- raise SCons.Errors.UserError, "Unable to register %s" % target[0]
- else:
- print "Registered %s sucessfully" % target[0]
- return ret
- return 0
-
-regServerAction = SCons.Action.Action("$REGSVRCOM")
-regServerCheck = SCons.Action.Action(RegServerFunc, None)
-shlibLinkAction = SCons.Action.Action('${TEMPFILE("$SHLINK $SHLINKFLAGS $_SHLINK_TARGETS $( $_LIBDIRFLAGS $) $_LIBFLAGS $_PDB $_SHLINK_SOURCES")}')
-compositeLinkAction = shlibLinkAction + regServerCheck
-
-def generate(env):
- """Add Builders and construction variables for MSVC++ to an Environment."""
- static_obj, shared_obj = SCons.Tool.createObjBuilders(env)
-
- for suffix in CSuffixes:
- static_obj.add_action(suffix, SCons.Defaults.CAction)
- shared_obj.add_action(suffix, SCons.Defaults.ShCAction)
-
- for suffix in CXXSuffixes:
- static_obj.add_action(suffix, SCons.Defaults.CXXAction)
- shared_obj.add_action(suffix, SCons.Defaults.ShCXXAction)
-
- SCons.Tool.createStaticLibBuilder(env)
- SCons.Tool.createSharedLibBuilder(env)
- SCons.Tool.createProgBuilder(env)
-
- env['CCPDBFLAGS'] = SCons.Util.CLVar(['${(PDB and "/Zi /Fd%s"%File(PDB)) or ""}'])
- env['CCPCHFLAGS'] = SCons.Util.CLVar(['${(PCH and "/Yu%s /Fp%s"%(PCHSTOP or "",File(PCH))) or ""}'])
- env['CCCOMFLAGS'] = '$CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS /c $SOURCES /Fo$TARGET $CCPCHFLAGS $CCPDBFLAGS'
- env['CC'] = 'cl'
- env['CCFLAGS'] = SCons.Util.CLVar('/nologo')
- env['CCCOM'] = '$CC $CCFLAGS $CCCOMFLAGS'
- env['SHCC'] = '$CC'
- env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS')
- env['SHCCCOM'] = '$SHCC $SHCCFLAGS $CCCOMFLAGS'
- env['CXX'] = '$CC'
- env['CXXFLAGS'] = SCons.Util.CLVar('$CCFLAGS $( /TP $)')
- env['CXXCOM'] = '$CXX $CXXFLAGS $CCCOMFLAGS'
- env['SHCXX'] = '$CXX'
- env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS')
- env['SHCXXCOM'] = '$SHCXX $SHCXXFLAGS $CCCOMFLAGS'
- env['CPPDEFPREFIX'] = '/D'
- env['CPPDEFSUFFIX'] = ''
- env['INCPREFIX'] = '/I'
- env['INCSUFFIX'] = ''
- env['OBJEMITTER'] = static_object_emitter
- env['SHOBJEMITTER'] = shared_object_emitter
- env['STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME'] = 1
-
- env['RC'] = 'rc'
- env['RCFLAGS'] = SCons.Util.CLVar('')
- env['RCCOM'] = '$RC $_CPPDEFFLAGS $_CPPINCFLAGS $RCFLAGS /fo$TARGET $SOURCES'
- CScan = env.get_scanner('.c')
- if CScan:
- CScan.add_skey('.rc')
- env['BUILDERS']['RES'] = res_builder
-
- include_path, lib_path, exe_path, sdk_path = get_msvctoolkit_paths()
- env.PrependENVPath('INCLUDE', include_path)
- env.PrependENVPath('LIB', lib_path)
- env.PrependENVPath('PATH', exe_path)
-
- env['ENV']['CPU'] = 'i386'
- env['ENV']['MSSDK'] = sdk_path
- env['ENV']['BkOffice'] = sdk_path
- env['ENV']['Basemake'] = sdk_path + "\\Include\\BKOffice.Mak"
- env['ENV']['INETSDK'] = sdk_path
- env['ENV']['MSSDK'] = sdk_path
- env['ENV']['MSTOOLS'] = sdk_path
- env['ENV']['TARGETOS'] = 'WINNT'
- env['ENV']['APPVER'] = '5.0'
-
- env['CFILESUFFIX'] = '.c'
- env['CXXFILESUFFIX'] = '.cc'
-
- env['PCHCOM'] = '$CXX $CXXFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS /c $SOURCES /Fo${TARGETS[1]} /Yc$PCHSTOP /Fp${TARGETS[0]} $CCPDBFLAGS'
- env['BUILDERS']['PCH'] = pch_builder
-
- env['AR'] = 'lib.exe' #'"' +sdk_path + '\\bin\\Win64\\lib.exe"'
- env['ARFLAGS'] = SCons.Util.CLVar('/nologo')
- env['ARCOM'] = "${TEMPFILE('$AR $ARFLAGS /OUT:$TARGET $SOURCES')}"
-
- env['SHLINK'] = '$LINK'
- env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS /dll')
- env['_SHLINK_TARGETS'] = win32ShlinkTargets
- env['_SHLINK_SOURCES'] = win32ShlinkSources
- env['SHLINKCOM'] = compositeLinkAction
- env['SHLIBEMITTER']= win32LibEmitter
- env['LINK'] = 'link.exe' #'"' +sdk_path + '\\bin\\Win64\\' + 'link.exe"'
- env['LINKFLAGS'] = SCons.Util.CLVar('/nologo')
- env['_PDB'] = pdbGenerator
- env["TEMPFILE"] = SCons.Platform.win32.TempFileMunge
- env['LINKCOM'] = '${TEMPFILE("$LINK $LINKFLAGS /OUT:$TARGET $( $_LIBDIRFLAGS $) $_LIBFLAGS $_PDB $SOURCES")}'
- env['PROGEMITTER'] = prog_emitter
- env['LIBDIRPREFIX']='/LIBPATH:'
- env['LIBDIRSUFFIX']=''
- env['LIBLINKPREFIX']=''
- env['LIBLINKSUFFIX']='$LIBSUFFIX'
-
- env['WIN32DEFPREFIX'] = ''
- env['WIN32DEFSUFFIX'] = '.def'
- env['WIN32_INSERT_DEF'] = 0
-
- env['WIN32EXPPREFIX'] = ''
- env['WIN32EXPSUFFIX'] = '.exp'
-
- env['REGSVRACTION'] = regServerCheck
- env['REGSVR'] = os.path.join(SCons.Platform.win32.get_system_root(),'System32','regsvr32')
- env['REGSVRFLAGS'] = '/s '
- env['REGSVRCOM'] = '$REGSVR $REGSVRFLAGS $TARGET'
-
-
-def exists(env):
- return env.Detect('cl')