Remove SCons building system
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 4 Jan 2016 09:20:48 +0000 (14:20 +0500)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 4 Jan 2016 09:20:48 +0000 (14:20 +0500)
While SCons building system was serving us really good for ages it's no longer
having much attention by the developers and started to become quite a difficult
task to maintain.

What's even worse -- there started to be quite serious divergence between SCons
and CMake which was only accumulating over the releases now. The fact that none
of the active developers are really using SCons and that our main studio is also
using CMake spotting bugs in the SCons builds became quite a difficult task and
we aren't always spotting them in time.

Meanwhile CMake became really mature building system which is available on every
platform we support and arguably it's also easier and more robust to use.

This commit includes:

- Removal of actual SCons building system
- Removal of SCons git submodule
- Removal of documentation which is stored in the sources and covers SCons
- Tweaks to the buildbot master to stop using SCons submodule
  (this change requires deploying to the server)
- Tweaks to the install dependencies script to skip installing or mentioning
  SCons building system
- Tweaks to various helper scripts to avoid mention of SCons folders/files
  as well

Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit

Reviewed By: campbellbarton, juicyfruit

Differential Revision: https://developer.blender.org/D1680

173 files changed:
.gitmodules
SConstruct [deleted file]
build_files/build_environment/install_deps.sh
build_files/buildbot/master.cfg
build_files/cmake/macros.cmake
build_files/scons/Modules/FindPython.py [deleted file]
build_files/scons/Modules/FindSharedPtr.py [deleted file]
build_files/scons/Modules/FindUnorderedMap.py [deleted file]
build_files/scons/Modules/__init__.py [deleted file]
build_files/scons/config/darwin-config.py [deleted file]
build_files/scons/config/linux-config.py [deleted file]
build_files/scons/config/win32-mingw-config.py [deleted file]
build_files/scons/config/win32-vc-config.py [deleted file]
build_files/scons/config/win64-mingw-config.py [deleted file]
build_files/scons/config/win64-vc-config.py [deleted file]
build_files/scons/tools/Blender.py [deleted file]
build_files/scons/tools/__init__.py [deleted file]
build_files/scons/tools/bcolors.py [deleted file]
build_files/scons/tools/btools.py [deleted file]
build_files/scons/tools/crossmingw.py [deleted file]
build_files/scons/tools/mstoolkit.py [deleted file]
doc/build_systems/scons-dev.txt [deleted file]
doc/build_systems/scons.txt [deleted file]
extern/SConscript [deleted file]
extern/binreloc/SConscript [deleted file]
extern/bullet2/src/SConscript [deleted file]
extern/carve/SConscript [deleted file]
extern/carve/bundle.sh
extern/clew/SConscript [deleted file]
extern/cuew/SConscript [deleted file]
extern/glew-es/SConscript [deleted file]
extern/glew/SConscript [deleted file]
extern/libmv/SConscript [deleted file]
extern/libmv/bundle.sh
extern/libmv/third_party/SConscript [deleted file]
extern/libmv/third_party/ceres/SConscript [deleted file]
extern/libmv/third_party/ceres/bundle.sh
extern/libopenjpeg/SConscript [deleted file]
extern/libredcode/SConscript [deleted file]
extern/lzma/SConscript [deleted file]
extern/lzo/SConscript [deleted file]
extern/rangetree/SConscript [deleted file]
extern/recastnavigation/SConscript [deleted file]
extern/sdlew/SConscript [deleted file]
extern/wcwidth/SConscript [deleted file]
extern/xdnd/SConscript [deleted file]
intern/SConscript [deleted file]
intern/audaspace/SConscript [deleted file]
intern/container/SConscript [deleted file]
intern/cycles/CMakeLists.txt
intern/cycles/SConscript [deleted file]
intern/cycles/kernel/SConscript [deleted file]
intern/cycles/kernel/kernels/cpu/kernel_avx.cpp
intern/cycles/kernel/kernels/cpu/kernel_avx2.cpp
intern/cycles/kernel/kernels/cpu/kernel_sse2.cpp
intern/cycles/kernel/kernels/cpu/kernel_sse3.cpp
intern/cycles/kernel/kernels/cpu/kernel_sse41.cpp
intern/cycles/kernel/osl/SConscript [deleted file]
intern/cycles/kernel/shaders/SConscript [deleted file]
intern/dualcon/SConscript [deleted file]
intern/eigen/SConscript [deleted file]
intern/elbeem/SConscript [deleted file]
intern/ghost/SConscript [deleted file]
intern/glew-mx/SConscript [deleted file]
intern/guardedalloc/SConscript [deleted file]
intern/iksolver/SConscript [deleted file]
intern/itasc/SConscript [deleted file]
intern/locale/SConscript [deleted file]
intern/memutil/SConscript [deleted file]
intern/mikktspace/SConscript [deleted file]
intern/moto/SConscript [deleted file]
intern/opencolorio/SConscript [deleted file]
intern/opensubdiv/SConscript [deleted file]
intern/raskter/SConscript [deleted file]
intern/rigidbody/SConscript [deleted file]
intern/smoke/SConscript [deleted file]
intern/string/SConscript [deleted file]
intern/utfconv/SConscript [deleted file]
scons [deleted submodule]
source/SConscript [deleted file]
source/blender/SConscript [deleted file]
source/blender/avi/SConscript [deleted file]
source/blender/blenfont/SConscript [deleted file]
source/blender/blenkernel/SConscript [deleted file]
source/blender/blenlib/SConscript [deleted file]
source/blender/blenloader/SConscript [deleted file]
source/blender/blentranslation/SConscript [deleted file]
source/blender/bmesh/SConscript [deleted file]
source/blender/collada/SConscript [deleted file]
source/blender/compositor/SConscript [deleted file]
source/blender/depsgraph/SConscript [deleted file]
source/blender/editors/SConscript [deleted file]
source/blender/editors/animation/SConscript [deleted file]
source/blender/editors/armature/SConscript [deleted file]
source/blender/editors/curve/SConscript [deleted file]
source/blender/editors/datafiles/SConscript [deleted file]
source/blender/editors/gpencil/SConscript [deleted file]
source/blender/editors/interface/SConscript [deleted file]
source/blender/editors/io/SConscript [deleted file]
source/blender/editors/mask/SConscript [deleted file]
source/blender/editors/mesh/SConscript [deleted file]
source/blender/editors/metaball/SConscript [deleted file]
source/blender/editors/object/SConscript [deleted file]
source/blender/editors/physics/SConscript [deleted file]
source/blender/editors/render/SConscript [deleted file]
source/blender/editors/screen/SConscript [deleted file]
source/blender/editors/sculpt_paint/SConscript [deleted file]
source/blender/editors/sound/SConscript [deleted file]
source/blender/editors/space_action/SConscript [deleted file]
source/blender/editors/space_api/SConscript [deleted file]
source/blender/editors/space_buttons/SConscript [deleted file]
source/blender/editors/space_clip/SConscript [deleted file]
source/blender/editors/space_console/SConscript [deleted file]
source/blender/editors/space_file/SConscript [deleted file]
source/blender/editors/space_graph/SConscript [deleted file]
source/blender/editors/space_image/SConscript [deleted file]
source/blender/editors/space_info/SConscript [deleted file]
source/blender/editors/space_logic/SConscript [deleted file]
source/blender/editors/space_nla/SConscript [deleted file]
source/blender/editors/space_node/SConscript [deleted file]
source/blender/editors/space_outliner/SConscript [deleted file]
source/blender/editors/space_script/SConscript [deleted file]
source/blender/editors/space_sequencer/SConscript [deleted file]
source/blender/editors/space_text/SConscript [deleted file]
source/blender/editors/space_time/SConscript [deleted file]
source/blender/editors/space_userpref/SConscript [deleted file]
source/blender/editors/space_view3d/SConscript [deleted file]
source/blender/editors/transform/SConscript [deleted file]
source/blender/editors/util/SConscript [deleted file]
source/blender/editors/uvedit/SConscript [deleted file]
source/blender/freestyle/SConscript [deleted file]
source/blender/gpu/SConscript [deleted file]
source/blender/ikplugin/SConscript [deleted file]
source/blender/imbuf/SConscript [deleted file]
source/blender/imbuf/intern/cineon/SConscript [deleted file]
source/blender/imbuf/intern/dds/SConscript [deleted file]
source/blender/imbuf/intern/oiio/SConscript [deleted file]
source/blender/imbuf/intern/openexr/SConscript [deleted file]
source/blender/imbuf/readme.txt
source/blender/makesdna/SConscript [deleted file]
source/blender/makesdna/intern/SConscript [deleted file]
source/blender/makesrna/SConscript [deleted file]
source/blender/makesrna/intern/SConscript [deleted file]
source/blender/modifiers/SConscript [deleted file]
source/blender/nodes/SConscript [deleted file]
source/blender/physics/SConscript [deleted file]
source/blender/python/SConscript [deleted file]
source/blender/quicktime/SConscript [deleted file]
source/blender/render/SConscript [deleted file]
source/blender/windowmanager/SConscript [deleted file]
source/blenderplayer/bad_level_call_stubs/SConscript [deleted file]
source/creator/CMakeLists.txt
source/gameengine/BlenderRoutines/SConscript [deleted file]
source/gameengine/Converter/SConscript [deleted file]
source/gameengine/Expressions/SConscript [deleted file]
source/gameengine/GameLogic/SConscript [deleted file]
source/gameengine/GamePlayer/SConscript [deleted file]
source/gameengine/GamePlayer/common/SConscript [deleted file]
source/gameengine/GamePlayer/ghost/SConscript [deleted file]
source/gameengine/Ketsji/KXNetwork/SConscript [deleted file]
source/gameengine/Ketsji/SConscript [deleted file]
source/gameengine/Network/LoopBackNetwork/SConscript [deleted file]
source/gameengine/Network/SConscript [deleted file]
source/gameengine/Physics/Bullet/SConscript [deleted file]
source/gameengine/Physics/Dummy/SConscript [deleted file]
source/gameengine/Rasterizer/RAS_OpenGLRasterizer/SConscript [deleted file]
source/gameengine/Rasterizer/SConscript [deleted file]
source/gameengine/SConscript [deleted file]
source/gameengine/SceneGraph/SConscript [deleted file]
source/gameengine/VideoTexture/SConscript [deleted file]
source/icons/SConscript [deleted file]
tests/check_deprecated.py
tests/python/pep8.py

index 4ce5a24..132f6cf 100644 (file)
@@ -10,7 +10,3 @@
        path = release/datafiles/locale
        url = ../blender-translations.git
        ignore = all
-[submodule "scons"]
-       path = scons
-       url = ../scons.git
-       ignore = all
diff --git a/SConstruct b/SConstruct
deleted file mode 100644 (file)
index de265df..0000000
+++ /dev/null
@@ -1,1426 +0,0 @@
-#!/usr/bin/env python
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2006, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Nathan Letwory.
-#
-# ***** END GPL LICENSE BLOCK *****
-#
-# Main entry-point for the SCons building system
-# Set up some custom actions and target/argument handling
-# Then read all SConscripts and build
-#
-# TODO: fix /FORCE:MULTIPLE on windows to get proper debug builds.
-# TODO: directory copy functions are far too complicated, see:
-#       http://wiki.blender.org/index.php/User:Ideasman42/SConsNotSimpleInstallingFiles
-
-import sys
-import os
-import os.path
-import string
-import shutil
-import re
-
-# store path to tools and modules
-toolpath=os.path.join(".", "build_files", "scons", "tools")
-modulespath=os.path.join(".", "build_files", "scons", "Modules")
-
-# needed for importing tools and modules
-sys.path.append(toolpath)
-sys.path.append(modulespath)
-
-import Blender
-import btools
-
-EnsureSConsVersion(1,0,0)
-
-# Before we do anything, let's check if we have a sane os.environ
-if not btools.check_environ():
-    Exit()
-
-BlenderEnvironment = Blender.BlenderEnvironment
-B = Blender
-
-VERSION = btools.VERSION # This is used in creating the local config directories
-VERSION_RELEASE_CYCLE = btools.VERSION_RELEASE_CYCLE
-
-### globals ###
-platform = sys.platform
-quickie = None
-quickdebug = None
-
-##### BEGIN SETUP #####
-
-B.possible_types = ['core', 'player', 'player2', 'intern', 'extern', 'system']
-
-B.binarykind = ['blender' , 'blenderplayer']
-##################################
-# target and argument validation #
-##################################
-# XX cheating for BF_FANCY, we check for BF_FANCY before args are validated
-use_color = ARGUMENTS.get('BF_FANCY', '1')
-if platform=='win32':
-    use_color = None
-
-if not use_color=='1':
-    B.bc.disable()
-
- #on defaut white Os X terminal, some colors are totally unlegible
-if platform=='darwin':
-    B.bc.OKGREEN = '\033[34m'
-    B.bc.WARNING = '\033[36m'
-
-# arguments
-print B.bc.HEADER+'Command-line arguments'+B.bc.ENDC
-B.arguments = btools.validate_arguments(ARGUMENTS, B.bc)
-btools.print_arguments(B.arguments, B.bc)
-
-# targets
-print B.bc.HEADER+'Command-line targets'+B.bc.ENDC
-B.targets = btools.validate_targets(COMMAND_LINE_TARGETS, B.bc)
-btools.print_targets(B.targets, B.bc)
-
-##########################
-# setting up environment #
-##########################
-
-# handling cmd line arguments & config file
-
-# bitness stuff
-tempbitness = int(B.arguments.get('BF_BITNESS', B.bitness)) # default to bitness found as per starting python
-if tempbitness in B.allowed_bitnesses.values() :
-    B.bitness = tempbitness
-
-# first check cmdline for toolset and we create env to work on
-quickie = B.arguments.get('BF_QUICK', None)
-quickdebug = B.arguments.get('BF_QUICKDEBUG', None)
-
-if quickdebug:
-    B.quickdebug=string.split(quickdebug, ',')
-else:
-    B.quickdebug=[]
-
-if quickie:
-    B.quickie=string.split(quickie,',')
-else:
-    B.quickie=[]
-
-toolset = B.arguments.get('BF_TOOLSET', None)
-vcver = B.arguments.get('MSVS_VERSION', '12.0')
-
-if toolset:
-    print "Using " + toolset
-    if toolset=='mstoolkit':
-        env = BlenderEnvironment(ENV = os.environ)
-        env.Tool('mstoolkit', [toolpath])
-    else:
-        env = BlenderEnvironment(tools=[toolset], ENV = os.environ)
-        if env:
-            btools.SetupSpawn(env)
-else:
-    if B.bitness==64 and platform=='win32':
-        env = BlenderEnvironment(ENV = os.environ, MSVS_ARCH='amd64', TARGET_ARCH='x86_64', MSVC_VERSION=vcver)
-    else:
-        env = BlenderEnvironment(ENV = os.environ, TARGET_ARCH='x86', MSVC_VERSION=vcver)
-
-if not env:
-    print "Could not create a build environment"
-    Exit()
-
-cc = B.arguments.get('CC', None)
-cxx = B.arguments.get('CXX', None)
-if cc:
-    env['CC'] = cc
-if cxx:
-    env['CXX'] = cxx
-
-if sys.platform=='win32':
-    if env['CC'] in ['cl', 'cl.exe']:
-        platform = 'win64-vc' if B.bitness == 64 else 'win32-vc'
-    elif env['CC'] in ['gcc']:
-        platform = 'win64-mingw' if B.bitness == 64 else 'win32-mingw'
-
-if 'mingw' in platform:
-    print "Setting custom spawn function"
-    btools.SetupSpawn(env)
-
-env.SConscriptChdir(0)
-
-# Remove major kernel version from linux platform.
-# After Linus switched kernel to new version model this major version
-# shouldn't take much sense for building rules.
-
-if re.match('linux[0-9]+', platform):
-    platform = 'linux'
-
-crossbuild = B.arguments.get('BF_CROSS', None)
-if crossbuild and platform not in ('win32-vc', 'win64-vc'):
-    platform = 'linuxcross'
-
-env['OURPLATFORM'] = platform
-
-configfile = os.path.join("build_files", "scons", "config", platform + "-config.py")
-
-if os.path.exists(configfile):
-    print B.bc.OKGREEN + "Using config file: " + B.bc.ENDC + configfile
-else:
-    print B.bc.FAIL + configfile + " doesn't exist" + B.bc.ENDC
-
-if crossbuild and env['PLATFORM'] != 'win32':
-    print B.bc.HEADER+"Preparing for crossbuild"+B.bc.ENDC
-    env.Tool('crossmingw', [toolpath])
-    # todo: determine proper libs/includes etc.
-    # Needed for gui programs, console programs should do without it
-
-    # Now we don't need this option to have console window
-    # env.Append(LINKFLAGS=['-mwindows'])
-
-userconfig = B.arguments.get('BF_CONFIG', 'user-config.py')
-# first read platform config. B.arguments will override
-optfiles = [configfile]
-if os.path.exists(userconfig):
-    print B.bc.OKGREEN + "Using user-config file: " + B.bc.ENDC + userconfig
-    optfiles += [userconfig]
-else:
-    print B.bc.WARNING + userconfig + " not found, no user overrides" + B.bc.ENDC
-
-opts = btools.read_opts(env, optfiles, B.arguments)
-opts.Update(env)
-
-if sys.platform=='win32':
-    if B.bitness==64:
-        env.Append(CPPFLAGS=['-DWIN64']) # -DWIN32 needed too, as it's used all over to target Windows generally
-
-if env['BF_DEBUG']:
-    env.Append(CPPDEFINES=['_DEBUG', 'DEBUG'])
-else:
-    env.Append(CPPDEFINES=['NDEBUG'])
-
-if not env['BF_FANCY']:
-    B.bc.disable()
-
-if env['WITH_BF_SDL_DYNLOAD']:
-    env['BF_SDL_INC'] = '#extern/sdlew/include/SDL2'
-
-# remove install dir so old and new files are not mixed.
-# NOTE: only do the scripts directory for now, otherwise is too disruptive for developers
-# TODO: perhaps we need an option (off by default) to not do this altogether...
-if not env['WITHOUT_BF_INSTALL'] and not env['WITHOUT_BF_OVERWRITE_INSTALL']:
-    scriptsDir = os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts')
-    if os.path.isdir(scriptsDir):
-        print B.bc.OKGREEN + "Clearing installation directory%s: %s" % (B.bc.ENDC, os.path.abspath(scriptsDir))
-        shutil.rmtree(scriptsDir)
-
-
-SetOption('num_jobs', int(env['BF_NUMJOBS']))
-print B.bc.OKGREEN + "Build with parallel jobs%s: %s" % (B.bc.ENDC, GetOption('num_jobs'))
-print B.bc.OKGREEN + "Build with debug symbols%s: %s" % (B.bc.ENDC, env['BF_DEBUG'])
-
-if 'blenderlite' in B.targets:
-    target_env_defs = {}
-    target_env_defs['WITH_BF_GAMEENGINE'] = False
-    target_env_defs['WITH_BF_CYCLES'] = False
-    target_env_defs['WITH_BF_OPENAL'] = False
-    target_env_defs['WITH_BF_OPENEXR'] = False
-    target_env_defs['WITH_BF_PSD'] = False
-    target_env_defs['WITH_BF_OPENMP'] = False
-    target_env_defs['WITH_BF_ICONV'] = False
-    target_env_defs['WITH_BF_INTERNATIONAL'] = False
-    target_env_defs['WITH_BF_OPENJPEG'] = False
-    target_env_defs['WITH_BF_FFMPEG'] = False
-    target_env_defs['WITH_BF_QUICKTIME'] = False
-    target_env_defs['WITH_BF_REDCODE'] = False
-    target_env_defs['WITH_BF_DDS'] = False
-    target_env_defs['WITH_BF_CINEON'] = False
-    target_env_defs['WITH_BF_FRAMESERVER'] = False
-    target_env_defs['WITH_BF_HDR'] = False
-    target_env_defs['WITH_BF_ZLIB'] = False
-    target_env_defs['WITH_BF_SDL'] = False
-    target_env_defs['WITH_BF_JPEG'] = False
-    target_env_defs['WITH_BF_PNG'] = False
-    target_env_defs['WITH_BF_BULLET'] = False
-    target_env_defs['WITH_BF_BINRELOC'] = False
-    target_env_defs['BF_BUILDINFO'] = False
-    target_env_defs['WITH_BF_FLUID'] = False
-    target_env_defs['WITH_BF_OCEANSIM'] = False
-    target_env_defs['WITH_BF_SMOKE'] = False
-    target_env_defs['WITH_BF_BOOLEAN'] = False
-    target_env_defs['WITH_BF_REMESH'] = False
-    target_env_defs['WITH_BF_PYTHON'] = False
-    target_env_defs['WITH_BF_IME'] = False
-    target_env_defs['WITH_BF_3DMOUSE'] = False
-    target_env_defs['WITH_BF_LIBMV'] = False
-    target_env_defs['WITH_BF_FREESTYLE'] = False
-
-    # Merge blenderlite, let command line to override
-    for k,v in target_env_defs.iteritems():
-        if k not in B.arguments:
-            env[k] = v
-
-if 'cudakernels' in B.targets:
-    env['WITH_BF_CYCLES'] = True
-    env['WITH_BF_CYCLES_CUDA_BINARIES'] = True
-    env['WITH_BF_PYTHON'] = False
-    env['WITH_BF_LIBMV'] = False
-
-# Configure paths for automated configuration test programs
-env['CONFIGUREDIR'] = os.path.abspath(os.path.normpath(os.path.join(env['BF_BUILDDIR'], "sconf_temp")))
-env['CONFIGURELOG'] = os.path.abspath(os.path.normpath(os.path.join(env['BF_BUILDDIR'], "config.log")))
-
-#############################################################################
-###################    Automatic configuration for OSX     ##################
-#############################################################################
-
-if env['OURPLATFORM']=='darwin':
-
-    import commands
-    import subprocess
-
-    command = ["%s"%env['CC'], "--version"]
-    line = btools.get_command_output(command)
-    ver = re.search(r'[0-9]+(\.[0-9]+[svn]+)+', line) or re.search(r'[0-9]+(\.[0-9]+)+', line) # read the "based on LLVM x.xsvn" version here, not the Apple version
-    if ver:
-        env['CCVERSION'] = ver.group(0).strip('svn')
-    frontend = re.search(r'gcc', line) or re.search(r'clang', line) or re.search(r'llvm-gcc', line)  or re.search(r'icc', line)
-    if frontend:
-        env['C_COMPILER_ID'] = frontend.group(0)
-               
-    vendor = re.search(r'Apple', line)
-    if vendor:
-        C_VENDOR = vendor.group(0)
-    else:
-        C_VENDOR = 'Open Source'
-
-    print B.bc.OKGREEN + "Using Compiler: " + B.bc.ENDC  +  env['C_COMPILER_ID'] + '-' + env['CCVERSION'] + ' ( ' + C_VENDOR + ' )'
-
-    cmd = 'sw_vers -productVersion'
-    MAC_CUR_VER=cmd_res=commands.getoutput(cmd)
-    cmd = 'xcodebuild -version'
-    cmd_xcode=commands.getoutput(cmd)
-    env['XCODE_CUR_VER']=cmd_xcode[6:][:3] # truncate output to major.minor version
-    cmd = 'xcodebuild -showsdks'
-    cmd_sdk=commands.getoutput(cmd)
-    MACOSX_SDK_CHECK=cmd_sdk
-    cmd = 'xcode-select --print-path'
-    XCODE_SELECT_PATH=commands.getoutput(cmd)
-    if XCODE_SELECT_PATH.endswith("/Contents/Developer"):
-        XCODE_BUNDLE=XCODE_SELECT_PATH[:-19]
-    else:
-        XCODE_BUNDLE=XCODE_SELECT_PATH
-
-    print B.bc.OKGREEN + "Detected Xcode version: -- " + B.bc.ENDC + env['XCODE_CUR_VER'] + " --"
-    print B.bc.OKGREEN + "Available SDK's: \n" + B.bc.ENDC + MACOSX_SDK_CHECK.replace('\t', '')
-
-    if env['MACOSX_SDK'] == '': # no set sdk, choosing best one found
-        if 'OS X 10.11' in MACOSX_SDK_CHECK:
-            env['MACOSX_DEPLOYMENT_TARGET'] = '10.6'
-            env['MACOSX_SDK']='/Developer/SDKs/MacOSX10.11.sdk'
-        elif 'OS X 10.10' in MACOSX_SDK_CHECK:
-            env['MACOSX_DEPLOYMENT_TARGET'] = '10.6'
-            env['MACOSX_SDK']='/Developer/SDKs/MacOSX10.10.sdk'
-        elif 'OS X 10.9' in MACOSX_SDK_CHECK:
-            env['MACOSX_DEPLOYMENT_TARGET'] = '10.6'
-            env['MACOSX_SDK']='/Developer/SDKs/MacOSX10.9.sdk'
-        elif 'OS X 10.8' in MACOSX_SDK_CHECK:
-            env['MACOSX_DEPLOYMENT_TARGET'] = '10.6'
-            env['MACOSX_SDK']='/Developer/SDKs/MacOSX10.8.sdk'
-        elif 'OS X 10.7' in MACOSX_SDK_CHECK:
-            env['MACOSX_DEPLOYMENT_TARGET'] = '10.6'
-            env['MACOSX_SDK']='/Developer/SDKs/MacOSX10.7.sdk'
-        elif 'OS X 10.6' in MACOSX_SDK_CHECK:
-            env['MACOSX_DEPLOYMENT_TARGET'] = '10.6'
-            env['MACOSX_SDK']='/Developer/SDKs/MacOSX10.6.sdk'
-        elif 'OS X 10.5' in MACOSX_SDK_CHECK:
-            env['MACOSX_DEPLOYMENT_TARGET'] = '10.5'
-            env['MACOSX_SDK']='/Developer/SDKs/MacOSX10.5.sdk'
-    else:
-        env['MACOSX_SDK']='/Developer/SDKs/MacOSX' + env['MACOSX_SDK'] + '.sdk'
-
-    if env['XCODE_CUR_VER'] >= '4.3':  ## since version 4.3, XCode and developer dir are bundled ##
-         env['MACOSX_SDK'] = XCODE_BUNDLE + '/Contents/Developer/Platforms/MacOSX.platform' +  env['MACOSX_SDK']
-
-    print B.bc.OKGREEN + "Using OSX SDK :" + B.bc.ENDC + env['MACOSX_SDK']
-               
-    if not env['WITH_OSX_STATICPYTHON'] == 1:
-        # python 3.3 uses Python-framework additionally installed in /Library/Frameworks
-        env['BF_PYTHON'] = '/Library/Frameworks/Python.framework/Versions/'
-        env['BF_PYTHON_INC'] = env['BF_PYTHON'] + env['BF_PYTHON_VERSION'] + '/include/python' + env['BF_PYTHON_VERSION'] + 'm'
-        env['BF_PYTHON_BINARY'] = env['BF_PYTHON'] + env['BF_PYTHON_VERSION'] + '/bin/python' + env['BF_PYTHON_VERSION']
-        env['BF_PYTHON_LIB'] = ''
-        env['BF_PYTHON_LIBPATH'] = env['BF_PYTHON'] + env['BF_PYTHON_VERSION'] + '/lib/python' + env['BF_PYTHON_VERSION'] + '/config-' + env['BF_PYTHON_VERSION'] +'m'
-        env['PLATFORM_LINKFLAGS'] = env['PLATFORM_LINKFLAGS']+['-framework','Python'] # link to python framework
-
-    #Ray trace optimization
-    if env['WITH_BF_RAYOPTIMIZATION'] == 1:
-        if env['MACOSX_ARCHITECTURE'] == 'x86_64' or env['MACOSX_ARCHITECTURE'] == 'i386':
-            env['WITH_BF_RAYOPTIMIZATION'] = 1
-        else:
-            env['WITH_BF_RAYOPTIMIZATION'] = 0
-        if env['MACOSX_ARCHITECTURE'] == 'i386':
-            env['BF_RAYOPTIMIZATION_SSE_FLAGS'] = env['BF_RAYOPTIMIZATION_SSE_FLAGS']+['-msse']
-        elif env['MACOSX_ARCHITECTURE'] == 'x86_64':
-            env['BF_RAYOPTIMIZATION_SSE_FLAGS'] = env['BF_RAYOPTIMIZATION_SSE_FLAGS']+['-msse','-msse2']
-
-    if env['MACOSX_ARCHITECTURE'] == 'x86_64' or env['MACOSX_ARCHITECTURE'] == 'ppc64':
-        ARCH_FLAGS = ['-m64']
-    else:
-        ARCH_FLAGS = ['-m32']
-
-    env.Append(CPPFLAGS=ARCH_FLAGS)
-
-    SDK_FLAGS=['-isysroot',  env['MACOSX_SDK'],'-mmacosx-version-min='+ env['MACOSX_DEPLOYMENT_TARGET'],'-arch',env['MACOSX_ARCHITECTURE']] # always used
-    env['PLATFORM_LINKFLAGS'] = ['-mmacosx-version-min='+ env['MACOSX_DEPLOYMENT_TARGET'],'-isysroot', env['MACOSX_SDK'],'-arch',env['MACOSX_ARCHITECTURE']]+ARCH_FLAGS+env['PLATFORM_LINKFLAGS']
-    env['CCFLAGS']=SDK_FLAGS+env['CCFLAGS']
-    env['CXXFLAGS']=SDK_FLAGS+env['CXXFLAGS']
-
-    #Intel Macs are CoreDuo and Up
-    if env['MACOSX_ARCHITECTURE'] == 'i386' or env['MACOSX_ARCHITECTURE'] == 'x86_64':
-        env['REL_CCFLAGS'] = env['REL_CCFLAGS']+['-msse','-msse2','-msse3']
-        if env['C_COMPILER_ID'] != 'clang' or (env['C_COMPILER_ID'] == 'clang' and env['CCVERSION'] >= '3.3'):
-            env['REL_CCFLAGS'] = env['REL_CCFLAGS']+['-ftree-vectorize'] # clang xcode 4 does not accept flag
-    else:
-        env['CCFLAGS'] =  env['CCFLAGS']+['-fno-strict-aliasing']
-
-    # Intel 64bit Macs are Core2Duo and up
-    if env['MACOSX_ARCHITECTURE'] == 'x86_64':
-        env['REL_CCFLAGS'] = env['REL_CCFLAGS']+['-mssse3']
-
-    if env['C_COMPILER_ID'] == 'clang' and env['CCVERSION'] >= '3.3':
-        env['CCFLAGS'].append('-ftemplate-depth=1024') # only valid for clang bundled with xcode 5
-
-    # 3DconnexionClient.framework, optionally install
-    if env['WITH_BF_3DMOUSE'] == 1:
-        if not os.path.exists('/Library/Frameworks/3DconnexionClient.framework'):
-            env['WITH_BF_3DMOUSE'] = 0
-            print B.bc.OKGREEN + "3DconnexionClient install not found, disabling WITH_BF_3DMOUSE" # avoid build errors !
-        else:
-            env.Append(LINKFLAGS=['-F/Library/Frameworks','-Xlinker','-weak_framework','-Xlinker','3DconnexionClient'])
-            env['BF_3DMOUSE_INC'] = '/Library/Frameworks/3DconnexionClient.framework/Headers'
-            print B.bc.OKGREEN + "Using 3Dconnexion"
-
-    # Jackmp.framework, optionally install
-    if env['WITH_BF_JACK'] == 1:
-        if not os.path.exists('/Library/Frameworks/Jackmp.framework'):
-            env['WITH_BF_JACK'] = 0
-            print B.bc.OKGREEN + "JackOSX install not found, disabling WITH_BF_JACK" # avoid build errors !
-        else:
-            env.Append(LINKFLAGS=['-F/Library/Frameworks','-Xlinker','-weak_framework','-Xlinker','Jackmp'])
-            print B.bc.OKGREEN + "Using Jack"
-
-    if env['WITH_BF_SDL']:
-        env.Append(LINKFLAGS=['-lazy_framework','ForceFeedback'])
-
-    if env['WITH_BF_QUICKTIME'] == 1:
-        env['PLATFORM_LINKFLAGS'] = env['PLATFORM_LINKFLAGS']+['-framework','QTKit']
-
-    #Defaults openMP to true if compiler handles it ( only gcc 4.6.1 and newer )
-    # if your compiler does not have accurate suffix you may have to enable it by hand !
-    if env['WITH_BF_OPENMP'] == 1:
-        if env['C_COMPILER_ID'] == 'gcc' and env['CCVERSION'] >= '4.6.1' or env['C_COMPILER_ID'] == 'clang' and env['CCVERSION'] >= '3.4' and C_VENDOR != 'Apple':
-            env['WITH_BF_OPENMP'] = 1  # multithreading for fluids, cloth, sculpt and smoke
-            print B.bc.OKGREEN + "Using OpenMP"
-            if env['C_COMPILER_ID'] == 'clang' and env['CCVERSION'] >= '3.4':
-                OSX_OMP_LIBPATH = Dir(env.subst(env['LCGDIR'])).abspath
-                env.Append(BF_PROGRAM_LINKFLAGS=['-L'+OSX_OMP_LIBPATH+'/openmp/lib','-liomp5'])
-                env['CCFLAGS'].append('-I'+OSX_OMP_LIBPATH+'/openmp/include') # include for omp.h
-        else:
-            env['WITH_BF_OPENMP'] = 0
-            print B.bc.OKGREEN + "Disabled OpenMP, not supported by compiler"
-
-    if env['WITH_BF_CYCLES_OSL'] == 1:
-        env['WITH_BF_LLVM'] = 1
-        OSX_OSL_LIBPATH = Dir(env.subst(env['BF_OSL_LIBPATH'])).abspath
-        # we need 2 variants of passing the oslexec with the force_load option, string and list type atm
-        if env['C_COMPILER_ID'] == 'gcc' and env['CCVERSION'] >= '4.8' or env['C_COMPILER_ID'] == 'clang' and env['CCVERSION'] >= '3.4':
-            env.Append(LINKFLAGS=['-L'+OSX_OSL_LIBPATH,'-loslcomp','-loslexec','-loslquery'])
-        else:
-            env.Append(LINKFLAGS=['-L'+OSX_OSL_LIBPATH,'-loslcomp','-force_load '+ OSX_OSL_LIBPATH +'/liboslexec.a','-loslquery'])
-        env.Append(BF_PROGRAM_LINKFLAGS=['-Xlinker','-force_load','-Xlinker',OSX_OSL_LIBPATH +'/liboslexec.a'])
-    else:
-        env['WITH_BF_LLVM'] = 0
-
-    if env['WITH_BF_LLVM'] == 0:
-        # Due duplicated generic UTF functions, we pull them either from LLVMSupport or COLLADA
-        env.Append(BF_OPENCOLLADA_LIB=' UTF')
-
-    # Trying to get rid of eventually clashes, we export some symbols explicite as local
-    env.Append(LINKFLAGS=['-Xlinker','-unexported_symbols_list','-Xlinker','./source/creator/osx_locals.map'])
-    
-    #for < 10.7.sdk, SystemStubs needs to be linked
-    if  env['MACOSX_SDK'].endswith("10.6.sdk") or  env['MACOSX_SDK'].endswith("10.5.sdk"):
-        env['LLIBS'].append('SystemStubs')
-
-#############################################################################
-###################  End Automatic configuration for OSX   ##################
-#############################################################################
-
-if env['OURPLATFORM'] == 'linux' and not env['C_COMPILER_ID']:
-    command = ["%s"%env['CC'], "--version"]
-    line = btools.get_command_output(command)
-    if line.startswith('gcc'):
-        env['C_COMPILER_ID'] = 'gcc'
-    elif 'clang' in line[0]:
-        env['C_COMPILER_ID'] = 'clang'
-
-if env['WITH_BF_OPENMP'] == 1:
-        if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-                env['CCFLAGS'].append('/openmp')
-        else:
-            if env['CC'].endswith('icc'): # to be able to handle CC=/opt/bla/icc case
-                env.Append(LINKFLAGS=['-openmp', '-static-intel'])
-                env['CCFLAGS'].append('-openmp')
-            else:
-                env.Append(CCFLAGS=['-fopenmp'])
-
-if env['WITH_BF_CPP11']:
-    if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-        # Nothing special is needed, C++11 features are available by default.
-        pass
-    else:
-        env['CXXFLAGS'].append('-std=c++11')
-
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-    # Visual Studio has all standards it supports available by default
-    pass
-else:
-    # Use C99 + GNU extensions, works with GCC, Clang, ICC
-    env['CFLAGS'].append('-std=gnu99')
-
-#check for additional debug libnames
-
-if env.has_key('BF_DEBUG_LIBS'):
-    B.quickdebug += env['BF_DEBUG_LIBS']
-
-printdebug = B.arguments.get('BF_LISTDEBUG', 0)
-
-if len(B.quickdebug) > 0 and printdebug != 0:
-    print B.bc.OKGREEN + "Buildings these libs with debug symbols:" + B.bc.ENDC
-    for l in B.quickdebug:
-        print "\t" + l
-
-# remove stdc++ from LLIBS if we are building a statc linked CXXFLAGS
-if env['WITH_BF_STATICCXX']:
-    if 'stdc++' in env['LLIBS']:
-        env['LLIBS'].remove('stdc++')
-    else:
-        print '\tcould not remove stdc++ library from LLIBS, WITH_BF_STATICCXX may not work for your platform'
-
-# audaspace is needed for the game engine
-if not env['WITH_BF_AUDASPACE']:
-    env['WITH_BF_GAMEENGINE'] = False
-
-# check target for blenderplayer. Set WITH_BF_PLAYER if found on cmdline
-if 'blenderplayer' in B.targets:
-    env['WITH_BF_PLAYER'] = True
-
-if 'blendernogame' in B.targets:
-    env['WITH_BF_GAMEENGINE'] = False
-
-if not env['WITH_BF_GAMEENGINE']:
-    env['WITH_BF_PLAYER'] = False
-
-# build without elbeem (fluidsim)?
-if env['WITH_BF_FLUID'] == 1:
-    env['CPPFLAGS'].append('-DWITH_MOD_FLUID')
-
-# build with ocean sim?
-if env['WITH_BF_OCEANSIM'] == 1:
-    env['WITH_BF_FFTW3']  = 1  # ocean needs fftw3 so enable it
-    env['CPPFLAGS'].append('-DWITH_MOD_OCEANSIM')
-
-
-if btools.ENDIAN == "big":
-    env['CPPFLAGS'].append('-D__BIG_ENDIAN__')
-else:
-    env['CPPFLAGS'].append('-D__LITTLE_ENDIAN__')
-
-# TODO, make optional (as with CMake)
-env['CPPFLAGS'].append('-DWITH_AVI')
-
-if env['OURPLATFORM'] not in ('win32-vc', 'win64-vc'):
-    env['CPPFLAGS'].append('-DHAVE_STDBOOL_H')
-
-# Audaspace
-
-if env['WITH_BF_AUDASPACE']:
-    env['BF_AUDASPACE_C_INC'] = '#intern/audaspace/intern'
-    env['BF_AUDASPACE_PY_INC'] = '#intern/audaspace/intern'
-    env['BF_AUDASPACE_DEF'] = ['WITH_AUDASPACE']
-    env['BF_AUDASPACE_DEF'].append('AUD_DEVICE_H="<AUD_C-API.h>"')
-    env['BF_AUDASPACE_DEF'].append('AUD_SPECIAL_H="<AUD_C-API.h>"')
-    env['BF_AUDASPACE_DEF'].append('AUD_SOUND_H="<AUD_C-API.h>"')
-    env['BF_AUDASPACE_DEF'].append('AUD_HANDLE_H="<AUD_C-API.h>"')
-    env['BF_AUDASPACE_DEF'].append('AUD_SEQUENCE_H="<AUD_C-API.h>"')
-    env['BF_AUDASPACE_DEF'].append('AUD_TYPES_H="<AUD_Space.h>"')
-
-# OpenGL
-
-if env['WITH_BF_GL_PROFILE_COMPAT']:
-    env['BF_GL_DEFINITIONS'].append('WITH_GL_PROFILE_COMPAT')
-
-if env['WITH_BF_GL_PROFILE_CORE']:
-    env['BF_GL_DEFINITIONS'].append('WITH_GL_PROFILE_CORE')
-
-if env['WITH_BF_GL_PROFILE_ES20']:
-    env['BF_GL_DEFINITIONS'].append('WITH_GL_PROFILE_ES20')
-
-if env['WITH_BF_GL_EGL']:
-    env['BF_GL_DEFINITIONS'].append('WITH_EGL')
-
-# GLEW
-
-if env['WITH_BF_GLEW_MX']:
-    env['BF_GL_DEFINITIONS'].append('WITH_GLEW_MX')
-
-if env['WITH_BF_GLEW_ES']:
-    env['BF_GLEW_INC'] = '#extern/glew-es/include'
-
-    env['BF_GL_DEFINITIONS'] += ['GLEW_STATIC', 'WITH_GLEW_ES']
-
-    if not env['WITH_BF_GL_PROFILE_ES20']:
-        # No ES functions are needed
-        env['BF_GL_DEFINITIONS'].append('GLEW_NO_ES')
-    elif not (env['WITH_BF_GL_PROFILE_CORE'] or env['WITH_BF_GL_PROFILE_COMPAT']):
-        # ES is enabled, but the other functions are all disabled
-        env['BF_GL_DEFINITIONS'].append('GLEW_ES_ONLY')
-
-    if env['WITH_BF_GL_PROFILE_ES20']:
-        if env['WITH_BF_GL_EGL']:
-            env['BF_GL_DEFINITIONS'].append('GLEW_USE_LIB_ES20')
-
-    if env['WITH_BF_GL_EGL']:
-        env['BF_GL_DEFINITIONS'].append('GLEW_INC_EGL')
-
-else:
-    env['BF_GLEW_INC'] = '#extern/glew/include'
-
-    env['BF_GL_DEFINITIONS'].append('GLEW_STATIC')
-
-# lastly we check for root_build_dir ( we should not do before, otherwise we might do wrong builddir
-B.root_build_dir = env['BF_BUILDDIR']
-B.doc_build_dir = os.path.join(env['BF_INSTALLDIR'], 'doc')
-if not B.root_build_dir[-1]==os.sep:
-    B.root_build_dir += os.sep
-if not B.doc_build_dir[-1]==os.sep:
-    B.doc_build_dir += os.sep
-
-# We do a shortcut for clean when no quicklist is given: just delete
-# builddir without reading in SConscripts
-do_clean = None
-if 'clean' in B.targets:
-    do_clean = True
-
-if not quickie and do_clean:
-    if os.path.exists(B.doc_build_dir):
-        print B.bc.HEADER+'Cleaning doc dir...'+B.bc.ENDC
-        dirs = os.listdir(B.doc_build_dir)
-        for entry in dirs:
-            if os.path.isdir(B.doc_build_dir + entry) == 1:
-                print "clean dir %s"%(B.doc_build_dir+entry)
-                shutil.rmtree(B.doc_build_dir+entry)
-            else: # remove file
-                print "remove file %s"%(B.doc_build_dir+entry)
-                os.remove(B.root_build_dir+entry)
-    if os.path.exists(B.root_build_dir):
-        print B.bc.HEADER+'Cleaning build dir...'+B.bc.ENDC
-        dirs = os.listdir(B.root_build_dir)
-        for entry in dirs:
-            if os.path.isdir(B.root_build_dir + entry) == 1:
-                print "clean dir %s"%(B.root_build_dir+entry)
-                shutil.rmtree(B.root_build_dir+entry)
-            else: # remove file
-                print "remove file %s"%(B.root_build_dir+entry)
-                os.remove(B.root_build_dir+entry)
-        for confile in ['extern/ffmpeg/config.mak', 'extern/x264/config.mak',
-                'extern/xvidcore/build/generic/platform.inc', 'extern/ffmpeg/include']:
-            if os.path.exists(confile):
-                print "clean file %s"%confile
-                if os.path.isdir(confile):
-                    for root, dirs, files in os.walk(confile):
-                        for name in files:
-                            os.remove(os.path.join(root, name))
-                else:
-                    os.remove(confile)
-        print B.bc.OKGREEN+'...done'+B.bc.ENDC
-    else:
-        print B.bc.HEADER+'Already Clean, nothing to do.'+B.bc.ENDC
-    Exit()
-
-
-# ensure python header is found since detection can fail, this could happen
-# with _any_ library but since we used a fixed python version this tends to
-# be most problematic.
-if env['WITH_BF_PYTHON']:
-    found_python_h = found_pyconfig_h = False
-    for bf_python_inc in env.subst('${BF_PYTHON_INC}').split():
-        py_h = os.path.join(Dir(bf_python_inc).abspath, "Python.h")
-        if os.path.exists(py_h):
-            found_python_h = True
-        py_h = os.path.join(Dir(bf_python_inc).abspath, "pyconfig.h")
-        if os.path.exists(py_h):
-            found_pyconfig_h = True
-
-    if not (found_python_h and found_pyconfig_h):
-        print("""\nMissing: Python.h and/or pyconfig.h in "%s"
-         Set 'BF_PYTHON_INC' to point to valid include path(s),
-         containing Python.h and pyconfig.h for Python version "%s".
-
-         Example: python scons/scons.py BF_PYTHON_INC=../Python/include
-              """ % (env.subst('${BF_PYTHON_INC}'), env.subst('${BF_PYTHON_VERSION}')))
-        Exit()
-
-
-if not os.path.isdir ( B.root_build_dir):
-    os.makedirs ( B.root_build_dir )
-    os.makedirs ( B.root_build_dir + 'source' )
-    os.makedirs ( B.root_build_dir + 'intern' )
-    os.makedirs ( B.root_build_dir + 'extern' )
-    os.makedirs ( B.root_build_dir + 'lib' )
-    os.makedirs ( B.root_build_dir + 'bin' )
-# # Docs not working with epy anymore
-# if not os.path.isdir(B.doc_build_dir) and env['WITH_BF_DOCS']:
-#     os.makedirs ( B.doc_build_dir )
-
-
-###################################
-# Ensure all data files are valid #
-###################################
-if not os.path.isdir ( B.root_build_dir + 'data_headers'):
-    os.makedirs ( B.root_build_dir + 'data_headers' )
-if not os.path.isdir ( B.root_build_dir + 'data_sources'):
-    os.makedirs ( B.root_build_dir + 'data_sources' )
-# use for includes
-env['DATA_HEADERS'] = os.path.join(os.path.abspath(env['BF_BUILDDIR']), "data_headers")
-env['DATA_SOURCES'] = os.path.join(os.path.abspath(env['BF_BUILDDIR']), "data_sources")
-def data_to_c(FILE_FROM, FILE_TO, VAR_NAME):
-    if os.sep == "\\":
-        FILE_FROM = FILE_FROM.replace("/", "\\")
-        FILE_TO   = FILE_TO.replace("/", "\\")
-
-    try:
-        # first check if we need to bother.
-        if os.path.exists(FILE_TO):
-            if os.path.getmtime(FILE_FROM) < os.path.getmtime(FILE_TO):
-                return
-
-        print(B.bc.HEADER + "Generating: " + B.bc.ENDC + "%r" % os.path.basename(FILE_TO))
-        fpin = open(FILE_FROM, "rb")
-        fpin.seek(0, os.SEEK_END)
-        size = fpin.tell()
-        fpin.seek(0)
-
-        fpout = open(FILE_TO, "w")
-        fpout.write("int  %s_size = %d;\n" % (VAR_NAME, size))
-        fpout.write("char %s[] = {\n" % VAR_NAME)
-
-        while size > 0:
-            size -= 1
-            if size % 32 == 31:
-                fpout.write("\n")
-
-            fpout.write("%3d," % ord(fpin.read(1)))
-        fpout.write("\n  0};\n\n")
-
-        fpin.close()
-        fpout.close()
-    except KeyboardInterrupt:
-        if os.path.exists(FILE_TO):
-            os.remove(FILE_TO)
-        raise KeyboardInterrupt
-
-def data_to_c_simple(FILE_FROM):
-       filename_only = os.path.basename(FILE_FROM)
-       FILE_TO = os.path.join(env['DATA_SOURCES'], filename_only + ".c")
-       VAR_NAME = "datatoc_" + filename_only.replace(".", "_")
-
-       data_to_c(FILE_FROM, FILE_TO, VAR_NAME)
-
-
-def data_to_c_simple_icon(PATH_FROM):
-
-    # first handle import
-    import sys
-    path = "source/blender/datatoc"
-    if path not in sys.path:
-        sys.path.append(path)
-
-    # convert the pixmaps to a png
-    import datatoc_icon
-
-    filename_only = os.path.basename(PATH_FROM)
-    FILE_TO_PNG = os.path.join(env['DATA_SOURCES'], filename_only + ".png")
-    FILE_TO = FILE_TO_PNG + ".c"
-    argv = [PATH_FROM, FILE_TO_PNG]
-    try:
-        datatoc_icon.main_ex(argv)
-    except KeyboardInterrupt:
-        if os.path.exists(FILE_TO_PNG):
-            os.remove(FILE_TO_PNG)
-        raise KeyboardInterrupt
-
-    # then the png to a c file
-    data_to_c_simple(FILE_TO_PNG)
-
-
-if B.targets != ['cudakernels']:
-    data_to_c("source/blender/compositor/operations/COM_OpenCLKernels.cl",
-              B.root_build_dir + "data_headers/COM_OpenCLKernels.cl.h",
-              "datatoc_COM_OpenCLKernels_cl")
-
-    data_to_c_simple("release/datafiles/startup.blend")
-    data_to_c_simple("release/datafiles/preview.blend")
-    data_to_c_simple("release/datafiles/preview_cycles.blend")
-
-    # --- glsl ---
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_geometry.glsl")
-
-    data_to_c_simple("source/blender/gpu/shaders/gpu_program_smoke_frag.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_program_smoke_color_frag.glsl")
-
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_basic_frag.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_basic_vert.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_material.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_material.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_sep_gaussian_blur_frag.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_sep_gaussian_blur_vert.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_vertex.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_vertex_world.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_vsm_store_frag.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_vsm_store_vert.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_ssao_frag.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_dof_frag.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_dof_vert.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_dof_hq_frag.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_dof_hq_vert.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_dof_hq_geo.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_lib.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_depth_resolve.glsl")
-    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_vert.glsl")
-    data_to_c_simple("intern/opencolorio/gpu_shader_display_transform.glsl")
-    data_to_c_simple("intern/opensubdiv/gpu_shader_opensubd_display.glsl")
-
-    # --- blender ---
-    data_to_c_simple("release/datafiles/bfont.pfb")
-    data_to_c_simple("release/datafiles/bfont.ttf")
-    data_to_c_simple("release/datafiles/bmonofont.ttf")
-
-    data_to_c_simple("release/datafiles/splash.png")
-    data_to_c_simple("release/datafiles/splash_2x.png")
-
-    # data_to_c_simple("release/datafiles/blender_icons16.png")
-    # data_to_c_simple("release/datafiles/blender_icons32.png")
-    data_to_c_simple_icon("release/datafiles/blender_icons16")
-    data_to_c_simple_icon("release/datafiles/blender_icons32")
-
-    data_to_c_simple("release/datafiles/prvicons.png")
-
-    data_to_c_simple("release/datafiles/brushicons/add.png")
-    data_to_c_simple("release/datafiles/brushicons/blob.png")
-    data_to_c_simple("release/datafiles/brushicons/blur.png")
-    data_to_c_simple("release/datafiles/brushicons/clay.png")
-    data_to_c_simple("release/datafiles/brushicons/claystrips.png")
-    data_to_c_simple("release/datafiles/brushicons/clone.png")
-    data_to_c_simple("release/datafiles/brushicons/crease.png")
-    data_to_c_simple("release/datafiles/brushicons/darken.png")
-    data_to_c_simple("release/datafiles/brushicons/draw.png")
-    data_to_c_simple("release/datafiles/brushicons/fill.png")
-    data_to_c_simple("release/datafiles/brushicons/flatten.png")
-    data_to_c_simple("release/datafiles/brushicons/grab.png")
-    data_to_c_simple("release/datafiles/brushicons/inflate.png")
-    data_to_c_simple("release/datafiles/brushicons/layer.png")
-    data_to_c_simple("release/datafiles/brushicons/lighten.png")
-    data_to_c_simple("release/datafiles/brushicons/mask.png")
-    data_to_c_simple("release/datafiles/brushicons/mix.png")
-    data_to_c_simple("release/datafiles/brushicons/multiply.png")
-    data_to_c_simple("release/datafiles/brushicons/nudge.png")
-    data_to_c_simple("release/datafiles/brushicons/pinch.png")
-    data_to_c_simple("release/datafiles/brushicons/scrape.png")
-    data_to_c_simple("release/datafiles/brushicons/smear.png")
-    data_to_c_simple("release/datafiles/brushicons/smooth.png")
-    data_to_c_simple("release/datafiles/brushicons/snake_hook.png")
-    data_to_c_simple("release/datafiles/brushicons/soften.png")
-    data_to_c_simple("release/datafiles/brushicons/subtract.png")
-    data_to_c_simple("release/datafiles/brushicons/texdraw.png")
-    data_to_c_simple("release/datafiles/brushicons/texfill.png")
-    data_to_c_simple("release/datafiles/brushicons/texmask.png")
-    data_to_c_simple("release/datafiles/brushicons/thumb.png")
-    data_to_c_simple("release/datafiles/brushicons/twist.png")
-    data_to_c_simple("release/datafiles/brushicons/vertexdraw.png")
-
-    data_to_c_simple("release/datafiles/matcaps/mc01.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc02.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc03.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc04.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc05.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc06.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc07.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc08.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc09.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc10.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc11.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc12.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc13.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc14.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc15.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc16.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc17.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc18.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc19.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc20.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc21.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc22.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc23.jpg")
-    data_to_c_simple("release/datafiles/matcaps/mc24.jpg")
-
-##### END DATAFILES ##########
-
-Help(opts.GenerateHelpText(env))
-
-# default is new quieter output, but if you need to see the
-# commands, do 'scons BF_QUIET=0'
-bf_quietoutput = B.arguments.get('BF_QUIET', '1')
-if env['BF_QUIET']:
-    B.set_quiet_output(env)
-else:
-    if toolset=='msvc':
-        B.msvc_hack(env)
-
-print B.bc.HEADER+'Building in: ' + B.bc.ENDC + os.path.abspath(B.root_build_dir)
-env.SConsignFile(B.root_build_dir+'scons-signatures')
-B.init_lib_dict()
-
-##### END SETUP ##########
-
-## Auto-configuration run-time tests
-
-from FindSharedPtr import FindSharedPtr
-from FindUnorderedMap import FindUnorderedMap
-
-conf = Configure(env)
-old_linkflags = conf.env['LINKFLAGS']
-conf.env.Append(LINKFLAGS=env['PLATFORM_LINKFLAGS'])
-
-# Put all tests here
-FindSharedPtr(conf)
-FindUnorderedMap(conf)
-
-conf.env['LINKFLAGS'] = old_linkflags
-env = conf.Finish()
-
-# End of auto configuration
-
-Export('env')
-
-VariantDir(B.root_build_dir+'/source', 'source', duplicate=0)
-SConscript(B.root_build_dir+'/source/SConscript')
-VariantDir(B.root_build_dir+'/intern', 'intern', duplicate=0)
-SConscript(B.root_build_dir+'/intern/SConscript')
-VariantDir(B.root_build_dir+'/extern', 'extern', duplicate=0)
-SConscript(B.root_build_dir+'/extern/SConscript')
-
-# now that we have read all SConscripts, we know what
-# libraries will be built. Create list of
-# libraries to give as objects to linking phase
-mainlist = []
-for tp in B.possible_types:
-    if (not tp == 'player') and (not tp == 'player2') and (not tp == 'system'):
-        mainlist += B.create_blender_liblist(env, tp)
-
-if B.arguments.get('BF_PRIORITYLIST', '0')=='1':
-    B.propose_priorities()
-
-dobj = B.buildinfo(env, "dynamic") + B.resources
-creob = B.creator(env)
-thestatlibs, thelibincs = B.setup_staticlibs(env)
-thesyslibs = B.setup_syslibs(env)
-
-if 'blender' in B.targets or not env['WITH_BF_NOBLENDER']:
-    blender_progname = "blender"
-    if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
-        blender_progname = "blender-app"
-
-        lenv = env.Clone()
-        lenv.Append(LINKFLAGS = env['PLATFORM_LINKFLAGS'])
-        targetpath = B.root_build_dir + '/blender'
-        launcher_obj = [env.Object(B.root_build_dir + 'source/creator/creator/creator_launch_win', ['#source/creator/creator_launch_win.c'])]
-        env.BlenderProg(B.root_build_dir, 'blender', [launcher_obj] + B.resources, ['bf_utfconv'] + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
-
-    env.BlenderProg(B.root_build_dir, blender_progname, creob + mainlist + thestatlibs + dobj, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
-if env['WITH_BF_PLAYER']:
-    playerlist = B.create_blender_liblist(env, 'player')
-    playerlist += B.create_blender_liblist(env, 'player2')
-    playerlist += B.create_blender_liblist(env, 'intern')
-    playerlist += B.create_blender_liblist(env, 'extern')
-    env.BlenderProg(B.root_build_dir, "blenderplayer", dobj + playerlist + thestatlibs, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
-
-##### Now define some targets
-
-
-#------------ INSTALL
-
-#-- binaries
-blenderinstall = []
-if  env['OURPLATFORM']=='darwin':
-    for prg in B.program_list:
-        bundle = '%s.app' % prg[0]
-        bundledir = os.path.dirname(bundle)
-        for dp, dn, df in os.walk(bundle):
-            if '.svn' in dn:
-                dn.remove('.svn')
-            if '_svn' in dn:
-                dn.remove('_svn')
-            if '.git' in df:
-                df.remove('.git')
-            dir=env['BF_INSTALLDIR']+dp[len(bundledir):]
-            source=[dp+os.sep+f for f in df]
-            blenderinstall.append(env.Install(dir=dir,source=source))
-else:
-    blenderinstall = env.Install(dir=env['BF_INSTALLDIR'], source=B.program_list)
-
-#-- local path = config files in install dir: installdir\VERSION
-#- dont do config and scripts for darwin, it is already in the bundle
-dotblendlist = []
-datafileslist = []
-datafilestargetlist = []
-dottargetlist = []
-scriptinstall = []
-cubininstall = []
-
-if env['OURPLATFORM']!='darwin':
-    dotblenderinstall = []
-    for targetdir,srcfile in zip(dottargetlist, dotblendlist):
-        td, tf = os.path.split(targetdir)
-        dotblenderinstall.append(env.Install(dir=td, source=srcfile))
-    for targetdir,srcfile in zip(datafilestargetlist, datafileslist):
-        td, tf = os.path.split(targetdir)
-        dotblenderinstall.append(env.Install(dir=td, source=srcfile))
-
-    if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
-        scriptinstall.append(env.InstallAs(env['BF_INSTALLDIR'] + '/blender-app.exe.manifest',
-                                           'source/icons/blender.exe.manifest'))
-
-    if env['WITH_BF_PYTHON']:
-        #-- local/VERSION/scripts
-        scriptpaths=['release/scripts']
-        for scriptpath in scriptpaths:
-            for dp, dn, df in os.walk(scriptpath):
-                if '.git' in df:
-                    df.remove('.git')
-                if '__pycache__' in dn:  # py3.2 cache dir
-                    dn.remove('__pycache__')
-
-                # only for testing builds
-                if VERSION_RELEASE_CYCLE == "release" and "addons_contrib" in dn:
-                    dn.remove('addons_contrib')
-
-                # do not install freestyle if disabled
-                if not env['WITH_BF_FREESTYLE'] and "freestyle" in dn:
-                    dn.remove("freestyle")
-
-                dir = os.path.join(env['BF_INSTALLDIR'], VERSION)
-                dir += os.sep + os.path.basename(scriptpath) + dp[len(scriptpath):]
-
-                source=[os.path.join(dp, f) for f in df if not f.endswith(".pyc")]
-                # To ensure empty dirs are created too
-                if len(source)==0 and not os.path.exists(dir):
-                    env.Execute(Mkdir(dir))
-                scriptinstall.append(env.Install(dir=dir,source=source))
-        if env['WITH_BF_CYCLES']:
-            # cycles python code
-            dir=os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts', 'addons','cycles')
-            source=os.listdir('intern/cycles/blender/addon')
-            if '__pycache__' in source: source.remove('__pycache__')
-            source=['intern/cycles/blender/addon/'+s for s in source]
-            scriptinstall.append(env.Install(dir=dir,source=source))
-
-            # cycles kernel code
-            dir=os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts', 'addons','cycles', 'kernel')
-            source=os.listdir('intern/cycles/kernel')
-            if '__pycache__' in source: source.remove('__pycache__')
-            source.remove('CMakeLists.txt')
-            source.remove('SConscript')
-            source.remove('svm')
-            source.remove('closure')
-            source.remove('geom')
-            source.remove('shaders')
-            source.remove('osl')
-            source.remove('split')
-            source=['intern/cycles/kernel/'+s for s in source]
-            source.append('intern/cycles/util/util_atomic.h')
-            source.append('intern/cycles/util/util_color.h')
-            source.append('intern/cycles/util/util_half.h')
-            source.append('intern/cycles/util/util_math.h')
-            source.append('intern/cycles/util/util_math_fast.h')
-            source.append('intern/cycles/util/util_transform.h')
-            source.append('intern/cycles/util/util_types.h')
-            scriptinstall.append(env.Install(dir=dir,source=source))
-            # svm
-            dir=os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts', 'addons','cycles', 'kernel', 'svm')
-            source=os.listdir('intern/cycles/kernel/svm')
-            if '__pycache__' in source: source.remove('__pycache__')
-            source=['intern/cycles/kernel/svm/'+s for s in source]
-            scriptinstall.append(env.Install(dir=dir,source=source))
-            # closure
-            dir=os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts', 'addons','cycles', 'kernel', 'closure')
-            source=os.listdir('intern/cycles/kernel/closure')
-            if '__pycache__' in source: source.remove('__pycache__')
-            source=['intern/cycles/kernel/closure/'+s for s in source]
-            scriptinstall.append(env.Install(dir=dir,source=source))
-            # geom
-            dir=os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts', 'addons','cycles', 'kernel', 'geom')
-            source=os.listdir('intern/cycles/kernel/geom')
-            if '__pycache__' in source: source.remove('__pycache__')
-            source=['intern/cycles/kernel/geom/'+s for s in source]
-            scriptinstall.append(env.Install(dir=dir,source=source))
-            # split
-            dir=os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts', 'addons','cycles', 'kernel', 'split')
-            source=os.listdir('intern/cycles/kernel/split')
-            if '__pycache__' in source: source.remove('__pycache__')
-            source=['intern/cycles/kernel/split/'+s for s in source]
-            scriptinstall.append(env.Install(dir=dir,source=source))
-
-            # licenses
-            dir=os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts', 'addons','cycles', 'license')
-            source=os.listdir('intern/cycles/doc/license')
-            if '__pycache__' in source: source.remove('__pycache__')
-            source.remove('CMakeLists.txt')
-            source=['intern/cycles/doc/license/'+s for s in source]
-            scriptinstall.append(env.Install(dir=dir,source=source))
-
-    if env['WITH_BF_CYCLES']:
-        # cuda binaries
-        if env['WITH_BF_CYCLES_CUDA_BINARIES']:
-            dir=os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts', 'addons','cycles', 'lib')
-            for arch in env['BF_CYCLES_CUDA_BINARIES_ARCH']:
-                kernel_build_dir = os.path.join(B.root_build_dir, 'intern/cycles/kernel')
-                for suffix in ('', '_experimental'):
-                    cubin_file = os.path.join(kernel_build_dir, "kernel%s_%s.cubin" % (suffix, arch))
-                    cubininstall.append(env.Install(dir=dir,source=cubin_file))
-
-        # osl shaders
-        if env['WITH_BF_CYCLES_OSL']:
-            dir=os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts', 'addons','cycles', 'shader')
-
-            osl_source_dir = Dir('./intern/cycles/kernel/shaders').srcnode().path
-            oso_build_dir = os.path.join(B.root_build_dir, 'intern/cycles/kernel/shaders')
-
-            headers='node_color.h node_fresnel.h node_texture.h oslutil.h stdosl.h'.split()
-            source=['intern/cycles/kernel/shaders/'+s for s in headers]
-            scriptinstall.append(env.Install(dir=dir,source=source))
-
-            for f in os.listdir(osl_source_dir):
-                if f.endswith('.osl'):
-                    oso_file = os.path.join(oso_build_dir, f.replace('.osl', '.oso'))
-                    scriptinstall.append(env.Install(dir=dir,source=oso_file))
-
-    if env['WITH_BF_OCIO']:
-        colormanagement = os.path.join('release', 'datafiles', 'colormanagement')
-
-        for dp, dn, df in os.walk(colormanagement):
-            dir = os.path.join(env['BF_INSTALLDIR'], VERSION, 'datafiles')
-            dir += os.sep + os.path.basename(colormanagement) + dp[len(colormanagement):]
-
-            source = [os.path.join(dp, f) for f in df if not f.endswith(".pyc")]
-
-            # To ensure empty dirs are created too
-            if len(source) == 0:
-                env.Execute(Mkdir(dir))
-
-            scriptinstall.append(env.Install(dir=dir,source=source))
-
-    if env['WITH_BF_INTERNATIONAL']:
-        internationalpaths=['release' + os.sep + 'datafiles']
-
-        def check_path(path, member):
-            return (member in path.split(os.sep))
-
-        po_dir = os.path.join("release", "datafiles", "locale", "po")
-
-        # font files
-        for intpath in internationalpaths:
-            for dp, dn, df in os.walk(intpath):
-                if '.git' in df:
-                    df.remove('.git')
-
-                # we only care about release/datafiles/fonts, release/datafiles/locales
-                if check_path(dp, "fonts"):
-                    pass
-                else:
-                    continue
-
-                dir = os.path.join(env['BF_INSTALLDIR'], VERSION)
-                dir += os.sep + os.path.basename(intpath) + dp[len(intpath):]
-
-                source=[os.path.join(dp, f) for f in df if not f.endswith(".pyc")]
-                # To ensure empty dirs are created too
-                if len(source)==0:
-                    env.Execute(Mkdir(dir))
-                scriptinstall.append(env.Install(dir=dir,source=source))
-
-        # .mo files
-        for f in os.listdir(po_dir):
-            if not f.endswith(".po"):
-                continue
-
-            locale_name = os.path.splitext(f)[0]
-
-            mo_file = os.path.join(B.root_build_dir, "locale", locale_name + ".mo")
-
-            dir = os.path.join(env['BF_INSTALLDIR'], VERSION)
-            dir = os.path.join(dir, "datafiles", "locale", locale_name, "LC_MESSAGES")
-            scriptinstall.append(env.InstallAs(os.path.join(dir, "blender.mo"), mo_file))
-
-        # languages file
-        dir = os.path.join(env['BF_INSTALLDIR'], VERSION)
-        dir = os.path.join(dir, "datafiles", "locale")
-        languages_file = os.path.join("release", "datafiles", "locale", "languages")
-        scriptinstall.append(env.InstallAs(os.path.join(dir, "languages"), languages_file))
-
-#-- icons
-if env['OURPLATFORM']=='linux':
-    iconlist = []
-    icontargetlist = []
-
-    for tp, tn, tf in os.walk('release/freedesktop/icons'):
-        for f in tf:
-            iconlist.append(os.path.join(tp, f))
-            icontargetlist.append( os.path.join(*([env['BF_INSTALLDIR']] + tp.split(os.sep)[2:] + [f])) )
-
-    iconinstall = []
-    for targetdir,srcfile in zip(icontargetlist, iconlist):
-        td, tf = os.path.split(targetdir)
-        iconinstall.append(env.Install(dir=td, source=srcfile))
-
-    scriptinstall.append(env.Install(dir=env['BF_INSTALLDIR'], source='release/bin/blender-thumbnailer.py'))
-
-# dlls for linuxcross
-# TODO - add more libs, for now this lets blenderlite run
-if env['OURPLATFORM']=='linuxcross':
-    dir=env['BF_INSTALLDIR']
-    source = []
-
-    if env['WITH_BF_OPENMP']:
-        source += ['../lib/windows/pthreads/lib/pthreadGC2.dll']
-
-    scriptinstall.append(env.Install(dir=dir, source=source))
-
-textlist = []
-texttargetlist = []
-for tp, tn, tf in os.walk('release/text'):
-    tf.remove("readme.html")
-    for f in tf:
-        textlist.append(tp+os.sep+f)
-
-def readme_version_patch():
-    readme_src = "release/text/readme.html"
-    readme_dst = os.path.abspath(os.path.normpath(os.path.join(env['BF_BUILDDIR'], "readme.html")))
-
-    if not os.path.exists(readme_dst) or (os.path.getmtime(readme_dst) < os.path.getmtime(readme_src)):
-        f = open(readme_src, "r")
-        data = f.read()
-        f.close()
-
-        data = data.replace("BLENDER_VERSION", VERSION)
-        f = open(readme_dst, "w")
-        f.write(data)
-        f.close()
-
-    textlist.append(readme_dst)
-
-readme_version_patch()
-del readme_version_patch
-
-
-'''Command(
-    "release/text/readme.html"
-
-    )
-Command("file.out", "file.in", Copy(env['BF_INSTALLDIR'], "release/text/readme.html"))
-'''
-
-# Font licenses
-textlist.append('release/datafiles/LICENSE-bfont.ttf.txt')
-if env['WITH_BF_INTERNATIONAL']:
-    textlist += ['release/datafiles/LICENSE-droidsans.ttf.txt', 'release/datafiles/LICENSE-bmonofont-i18n.ttf.txt']
-
-textinstall = env.Install(dir=env['BF_INSTALLDIR'], source=textlist)
-
-if  env['OURPLATFORM']=='darwin':
-        allinstall = [blenderinstall, textinstall]
-elif env['OURPLATFORM']=='linux':
-        allinstall = [blenderinstall, dotblenderinstall, scriptinstall, textinstall, iconinstall, cubininstall]
-else:
-        allinstall = [blenderinstall, dotblenderinstall, scriptinstall, textinstall, cubininstall]
-
-if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
-    dllsources = []
-
-    # Used when linking to libtiff was dynamic
-    # keep it here until compilation on all platform would be ok
-    # dllsources += ['${BF_TIFF_LIBPATH}/${BF_TIFF_LIB}.dll']
-
-    if env['OURPLATFORM'] != 'linuxcross':
-        # pthreads library is already added
-        dllsources += ['${BF_PTHREADS_LIBPATH}/${BF_PTHREADS_LIB}.dll']
-
-    if env['WITH_BF_SDL']:
-        dllsources.append('${BF_SDL_LIBPATH}/SDL2.dll')
-
-    if env['WITH_BF_PYTHON']:
-        if env['BF_DEBUG']:
-            dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}_d.dll')
-            dllsources.append('${BF_PYTHON_LIBPATH}/sqlite3_d.dll')
-        else:
-            dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}.dll')
-            dllsources.append('${BF_PYTHON_LIBPATH}/sqlite3.dll')
-
-    if env['WITH_BF_ICONV']:
-        if env['OURPLATFORM'] == 'win64-vc':
-            pass # we link statically to iconv on win64
-        elif not env['OURPLATFORM'] in ('win32-mingw', 'linuxcross'):
-            #gettext for MinGW and cross-compilation is compiled staticly
-            dllsources += ['${BF_ICONV_LIBPATH}/iconv.dll']
-
-    if env['WITH_BF_OPENAL']:
-        dllsources.append('${LCGDIR}/openal/lib/OpenAL32.dll')
-
-    if env['WITH_BF_SNDFILE']:
-        dllsources.append('${LCGDIR}/sndfile/lib/libsndfile-1.dll')
-
-    if env['WITH_BF_FFMPEG']:
-        dllsources += env['BF_FFMPEG_DLL'].split()
-
-    # Since the thumb handler is loaded by Explorer, architecture is
-    # strict: the x86 build fails on x64 Windows. We need to ship
-    # both builds in x86 packages.
-    if B.bitness == 32:
-        dllsources.append('${LCGDIR}/thumbhandler/lib/BlendThumb.dll')
-    dllsources.append('${LCGDIR}/thumbhandler/lib/BlendThumb64.dll')
-
-    if env['WITH_BF_OCIO']:
-        if not env['OURPLATFORM'] in ('win32-mingw', 'linuxcross'):
-            dllsources.append('${LCGDIR}/opencolorio/bin/OpenColorIO.dll')
-
-        else:
-            dllsources.append('${LCGDIR}/opencolorio/bin/libOpenColorIO.dll')
-
-    dllsources.append('#source/icons/blender.exe.manifest')
-
-    windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources)
-    allinstall += windlls
-
-    # TODO(sergey): For unti we've got better way to deal with python binary
-    if env['WITH_BF_PYTHON']:
-        py_target = os.path.join(env['BF_INSTALLDIR'], VERSION, 'python', 'bin')
-        if env['BF_DEBUG']:
-            allinstall += env.Install(dir=py_target, source = ['${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}_d.dll'])
-        else:
-            allinstall += env.Install(dir=py_target, source = ['${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}.dll'])
-
-
-if env['OURPLATFORM'] == 'win64-mingw':
-    dllsources = []
-
-    if env['WITH_BF_PYTHON']:
-        if env['BF_DEBUG']:
-            dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}_d.dll')
-        else:
-            dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}.dll')
-
-    if env['WITH_BF_FFMPEG']:
-        dllsources += env['BF_FFMPEG_DLL'].split()
-
-    if env['WITH_BF_OPENAL']:
-        dllsources.append('${LCGDIR}/openal/lib/OpenAL32.dll')
-        dllsources.append('${LCGDIR}/openal/lib/wrap_oal.dll')
-
-    if env['WITH_BF_SNDFILE']:
-        dllsources.append('${LCGDIR}/sndfile/lib/libsndfile-1.dll')
-
-    if env['WITH_BF_SDL']:
-        dllsources.append('${LCGDIR}/sdl/lib/SDL.dll')
-
-    if(env['WITH_BF_OPENMP']):
-        dllsources.append('${LCGDIR}/binaries/libgomp-1.dll')
-
-    if env['WITH_BF_OCIO']:
-        dllsources.append('${LCGDIR}/opencolorio/bin/libOpenColorIO.dll')
-
-    dllsources.append('${LCGDIR}/thumbhandler/lib/BlendThumb64.dll')
-    dllsources.append('${LCGDIR}/binaries/libgcc_s_sjlj-1.dll')
-    dllsources.append('${LCGDIR}/binaries/libwinpthread-1.dll')
-    dllsources.append('${LCGDIR}/binaries/libstdc++-6.dll')
-    dllsources.append('#source/icons/blender.exe.manifest')
-
-    windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources)
-    allinstall += windlls
-
-installtarget = env.Alias('install', allinstall)
-bininstalltarget = env.Alias('install-bin', blenderinstall)
-
-nsisaction = env.Action(btools.NSIS_Installer, btools.NSIS_print)
-nsiscmd = env.Command('nsisinstaller', None, nsisaction)
-nsisalias = env.Alias('nsis', nsiscmd)
-
-if 'blender' in B.targets:
-    blenderexe= env.Alias('blender', B.program_list)
-    Depends(blenderexe,installtarget)
-
-if env['WITH_BF_PLAYER']:
-    blenderplayer = env.Alias('blenderplayer', B.program_list)
-    Depends(blenderplayer,installtarget)
-
-if not env['WITH_BF_GAMEENGINE']:
-    blendernogame = env.Alias('blendernogame', B.program_list)
-    Depends(blendernogame,installtarget)
-
-if 'blenderlite' in B.targets:
-    blenderlite = env.Alias('blenderlite', B.program_list)
-    Depends(blenderlite,installtarget)
-
-Depends(nsiscmd, allinstall)
-
-buildslave_action = env.Action(btools.buildslave, btools.buildslave_print)
-buildslave_cmd = env.Command('buildslave_exec', None, buildslave_action)
-buildslave_alias = env.Alias('buildslave', buildslave_cmd)
-
-Depends(buildslave_cmd, allinstall)
-
-cudakernels_action = env.Action(btools.cudakernels, btools.cudakernels_print)
-cudakernels_cmd = env.Command('cudakernels_exec', None, cudakernels_action)
-cudakernels_alias = env.Alias('cudakernels', cudakernels_cmd)
-
-cudakernel_dir = os.path.join(os.path.abspath(os.path.normpath(B.root_build_dir)), 'intern/cycles/kernel')
-cuda_kernels = []
-
-for x in env['BF_CYCLES_CUDA_BINARIES_ARCH']:
-    cubin = os.path.join(cudakernel_dir, 'kernel_' + x + '.cubin')
-    cuda_kernels.append(cubin)
-
-Depends(cudakernels_cmd, cuda_kernels)
-Depends(cudakernels_cmd, cubininstall)
-
-Default(B.program_list)
-
-if not env['WITHOUT_BF_INSTALL']:
-        Default(installtarget)
-
index e98a84f..b0c99f9 100755 (executable)
@@ -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" ####
index 1f82f24..26b5716 100644 (file)
@@ -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))
index 4ba15c7..12b7e66 100644 (file)
@@ -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 (file)
index 9f652b7..0000000
+++ /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 (file)
index ba53f55..0000000
+++ /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 (file)
index 34073c1..0000000
+++ /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 (file)
index e69de29..0000000
diff --git a/build_files/scons/config/darwin-config.py b/build_files/scons/config/darwin-config.py
deleted file mode 100644 (file)
index 1ded9db..0000000
+++ /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 (file)
index 1990d6e..0000000
+++ /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 (file)
index bb28dea..0000000
+++ /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 (file)
index 07d0dda..0000000
+++ /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 (file)
index f5659a9..0000000
+++ /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 (file)
index 3b45515..0000000
+++ /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 (file)
index d44c5ca..0000000
+++ /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 (file)
index e69de29..0000000
diff --git a/build_files/scons/tools/bcolors.py b/build_files/scons/tools/bcolors.py
deleted file mode 100644 (file)
index b01bb78..0000000
+++ /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 (file)
index 0b85940..0000000
+++ /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 (file)
index f97fdf3..0000000
+++ /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 (file)
index 68e8c4b..0000000
+++ /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')
diff --git a/doc/build_systems/scons-dev.txt b/doc/build_systems/scons-dev.txt
deleted file mode 100644 (file)
index 9ca072c..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-
-    Internals of Blenders SCons scripts
-    ===================================
-
-    Scope
-    ------
-    This document describes the architecture of the SCons scripts for
-    Blender. An overview of available functionality and how to modify,
-    extend and maintain the system.
-
-    Audience
-    --------
-    This document is for developers who need to modify the system,
-    ie. add or remove new libraries, add new arguments for SCons, etc.
-
-    Files and their meaning
-    -----------------------
-
-    The main entry point for the build system is the SConstruct-file in
-    $BLENDERHOME. This file creates the first BlenderEnvironment to work
-    with, reads in options, and sets up some directory structures. Further
-    it defines some targets.
-
-    Platform-specific configurations are in $BLENDERHOME/config. The
-    filenames have the form (platform)-config.py, where platform one of:
-
-        * darwin
-        * linux
-        * win32-mingw
-        * win32-vc
-
-    The user can override options by creating a file
-    $BLENDERHOME/user-config.py. It can have any option from
-    (platform)-config.py. Options in this file will override the platform
-    defaults.
-
-    Much of the actual functionality can be found in the python scripts
-    in the directory $BLENDERHOME/build_files/scons/tools, with
-    Blender.py defining the bulk of the functionality. btools.py has some
-    helper functions, and bcolors.py is for the terminal
-    colors. mstoolkit.py and crossmingw.py are modules which set up SCons
-    for the MS VC++ 2003 toolkit and the cross-compile toolset for
-    compiling Windows binaries on Linux respectively. Note: the
-    cross-compile doesn't work yet for Blender, but is added in
-    preparation for having it work in the distant future.
-
-    BlenderEnvironment
-    ------------------
-
-    The module Blender.py implements a BlenderEnvironment class, derived
-    from the SConsEnvironment of SCons. This is done to wrap some often
-    used functionality. The BlenderEnvironment offers two important
-    wrappers: BlenderProg() and BlenderLib(). The first one is used to
-    specify a binary to be built, the second one is used to specify what
-    static library is built from given sources.
-
-    Build a static library called "somelib". The system handles library
-    pre- and suffixes automatically, you don't need to bother yourself
-    with these details:
-
-        env = BlenderEnvironment(ENV = os.environ) # create an environment
-        env.BlenderLib(libname="somelib", sources=['list.c','with.c','sources.c'],
-                        includes=['/list/with/include/paths', '.', '..'],
-                        defines=['LIST_WITH', 'CPP_DEFINES', 'TO_USE'],
-                        libtype=['blender', 'common'] # this is a list with libtypes. Normally you don't
-                                                      # need to specify this, but if you encounter linking
-                                                      # problems you may need this
-                        priority=[10, 20]             # Priorities, list as long as libtype, priority per type
-                        compileflags=['/O2']          # List of compile flags needed for this particular library.
-                                                      # used only in rare cases, like SOLID, qhull and Bullet
-                        )
-
-    There should be no need to ever add an extra BlenderProg to the
-    existing ones in SConstruct, see that file for its use, and Blender.py
-    for its implementation.
-
-    The new system works so that using these wrappers, has all libraries
-    (and programs) register with a central repository. This means that
-    adding a new library is as easy as just creating the new SConscript
-    and making sure that it gets called properly. Linking and such will
-    then be handled automatically.
-
-    If you want that adding new source files for a certain library
-    is handled automatically, you can use the Glob() function from
-    the BlenderEnvironment to create lists of needed files. See
-    $BLENDERHOME/source/blender/src/SConscript for an example. Keep in
-    mind that this will add any new file that complies to the rule given
-    to the Glob() function. There are a few (external) libraries with
-    which this can't be used, because it'd take files that shouldn't be
-    compiled, and create subsequentially problems during the linking stage
-    (like SOLID, qhull, Bullet).
-
-    Linking order and priorities
-    ----------------------------
-
-    As shown above, you can give a library a priority in a certain
-    group. If you need to make sure that a Blender library is linked
-    before or after another one, you can give it a priority. To debug
-    the priorities us BF_PRIORITYLIST=1 on the command-line while running
-    a build.
-
-    % scons BF_PRIORITYLIST=1
-
-    This will give a list with values suggested by the system. Make
-    changes to all SConscripts in question to reflect or change the
-    values given by this command. ALWAYS check this after adding a new
-    internal, external library or core library, and make sure there are
-    sane values. You can use large and negative numbers to test with,
-    but after you've got a working linking order, do change the system
-    to reflect BF_PRIORITYLIST values.
-
-    Also, if you find that a library needs to be given multiple times to
-    the linker, you can do that by giving a python list with the names
-    of the available library types. They are currently:
-
-        B.possible_types = ['core', 'common', 'blender', 'intern',
-                            'international', 'game', 'game2',
-                            'player', 'player2', 'system']
-
-    More groups can be added, but that should be carefully considered,
-    as it may lead to large-scale changes. The current amount of libraries
-    should suffice.
-
-    The central repository is utilised in the SConstruct in two
-    ways. Firstly, it is used to determine the order of all static
-    libraries to link into the main Blender executable. Secondly, it
-    is used to keep track of all built binaries and their location,
-    so that they can be properly copied to BF_INSTALLDIR.
-
-    The libraries can be fetched in their priority order with
-    create_blender_liblist from Blender.py, see the SConstruct on how
-    it is used.
-
-    The program repository is the global list program_list from
-    Blender.py. See SConstruct for its usage.
-
-
-    Adding a new option and libraries
-    ---------------------------------
-
-    Lets say we want to add WITH_BF_NEWLIB, which will
-    enable or disable a new feature library with sources in
-    $BLENDERHOME/source/blender/newlib. This 'newlib' needs external
-    headers from a 3rd party library '3rdparty'. For this we want to
-    add a set of options BF_3RDPARTY, BF_3RDPARTY_INC, BF_3RDPARTY_LIB,
-    BF_3RDPARTY_LIBPATH:
-
-        1) Add all mentiond options to all (platform)-config.py
-        files. WITH_BF_NEWLIB is a boolean option ('true', 'false'),
-        the rest are strings with paths and library names. See the
-        OpenEXR options for example.
-
-        2) Add all options to the argument checking function
-        validate_arguments() in btools.py. See again OpenEXR options
-        for example.
-
-        3) Add all options to the option reading function read_opts()
-        in btools.py. See again OpenEXR options for example. All default
-        values can be empty, as the actual default values are in the
-        (platform)-config.py files.
-
-        4) Add BF_3RDPARTY_LIB to the function setup_syslibs()
-        and BF_3RDPARTY_LIBPATH to the function setup_staticlibs()
-        in Blender.py
-
-    At this stage we have prepared all option setting and linking needs,
-    but we still need to add in the compiling of the 'newlib'.
-
-        5) Create a SConscript in $BLENDERHOME/source/blender/newlib. Look
-        at ie. $BLENDERHOME/source/blender/src/SConscript for
-        template. The new SConscript will register the new library
-        like so:
-
-            env.BlenderLib(libname='newlib', sources=sourcefiles, includes=incs) # the rest of the arguments get defaults = empty lists and values
-
-        6) Edit $BLENDERHOME/source/blender/SConscript with the following
-        addition:
-
-            if env['WITH_BF_NEWLIB'] == 1:
-                SConscript(['newlib/SConscript'])
-
-    After this you can see if this works by trying to build:
-
-            % scons WITH_BF_NEWLIB=1  # build with newlib
-            % scons WITH_BF_NEWLIB=0  # disable newlib
-
-    This is all what should be needed. Changing the library name doesn't
-    need changes elsewhere in the system, as it is handled automatically
-    with the central library repository.
-
-    Enjoy the new system!!
-
-    /Nathan Letwory (jesterKing)
diff --git a/doc/build_systems/scons.txt b/doc/build_systems/scons.txt
deleted file mode 100644 (file)
index e3438f1..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-
-    Blenders SCons build scripts
-    ============================
-
-    Introduction
-    ------------
-
-    Since the beginning of 2004 Blender has had the SCons system as a
-    build option. SCons is a Python-based, accurate build system. The
-    scripts that were implemented in the first iteration worked, but
-    the system grew quickly into such a state that maintaining it became
-    a nightmare, and adding new features was just horrible, leading to
-    many hacks without much sense in the overall structure.
-
-    The rewrite has been waiting for a long time. Jonathan Jacobs provided
-    a first overhaul of the scripts, which I used in the first phase of
-    the rewrite. To make the system as maintainable as possible I made
-    some radical changes, but thanks go to Jonathan for providing me
-    with the patch to get started.
-
-    This document describes the usage of the new SCons scripts. The
-    inner workings are described in scons-dev.txt.
-
-    Building Blender
-    ----------------
-
-    To build Blender with the SCons scripts you need a full Python
-    install, version 2.4 or later (http://www.python.org). We already provide
-    a scons-local installation, which can be found in the scons/ subdirectory.
-    This document uses the scons-local installation for its examples.
-
-    For build instructions, including dependencies, consult the appropriate
-    section for your platform at
-    http://wiki.blender.org/index.php/Dev:Doc/Building_Blender. Note that for
-    windows many of these dependencies already come in the lib/windows module
-    from CVS.
-
-    In the base directory of the sources (from now on called $BLENDERHOME)
-    you'll see a file named SConstruct. This is the entry point for the
-    SCons build system. In a terminal, change to this directory. To just
-    build, start the SCons entry script on Windows (will be used for the remainder
-    of this document):
-
-        % python scons\scons.py
-
-    On a Unix-compatible system it would be
-
-        % python ./scons/scons.py
-
-    This will start the build process with default values. Depending
-    on your platform you may see color in your output (non-Windows
-    machines). In the the beginning an overview of targets and arguments
-    from the command-line is given, then all libraries and binaries to
-    build are configured.
-
-    The build uses BF_BUILDDIR to build into and BF_INSTALLDIR to finally copy
-    all needed files to get a proper setup. The BF_DOCDIR is used to generate
-    Blender Python documentation files to. These variables have default values
-    for every platform in
-    $BLENDERHOME/build_files/scons/config/(platform)-config.py. See the next
-    section of this document for how to customize these paths. After the build
-    successfully completes, you can find everything you need in BF_INSTALLDIR.
-
-    If you want to create the installer package of Blender on Windows you'll
-    need to install nullsoft scriptable install system from http://nsis.sf.net.
-    As an extra dependency, you need the MoreInfo plugin too. The creation of
-    the installer is tied into the build process and can be triggered with:
-
-        % python scons\scons.py nsis
-
-
-    Configuring the build
-    ---------------------
-
-    The default values for your platform can be found in the directory
-    $BLENDERHOME/build_files/scons/config. Your platform specific defaults are
-    in (platform)-config.py, where platform is one of:
-
-        - linux, for machines running Linux
-        - win32-vc, for Windows machines, compiling with a Microsoft compiler
-        - win32-mingw, for Windows machines, compiling with the MingW compiler
-        - darwin, for OS X machines
-        (TBD: add cygwin, solaris and freebsd support)
-
-    These files you will normally not change. If you need to override a
-    default value, make a file called $BLENDERHOME/user-config.py, and copy
-    settings from the build_files/scons/config/(platform)-config.py that you
-    want to change. Don't copy the entire file (unless explicitly stated in
-    the configuration file), because you may not get updated options you don't
-    change yourself, which may result in build errors. You should NEVER have
-    to modify $BLENDERHOME/build_files/scons/config/(platform)-config.py.
-
-    You can use BF_CONFIG argument to override the default user-config.py
-    check. This is just like the user-config.py, but just with another name:
-
-        % python scons\scons.py BF_CONFIG=myownsettings
-
-    If you want to quickly test a new setting, you can give the option
-    also on the command-line:
-
-        % python scons\scons.py BF_BUILDDIR=../mybuilddir WITH_BF_OPENEXR=0
-
-    This command sets the build directory to BF_BUILDDIR and disables
-    OpenEXR support.
-
-    If you need to know what can be set through the command-line, run
-    scons with -h:
-
-        % python scons\scons.py -h
-
-    This command will print a long list with settable options and what
-    every option means. Many of the default values will be empty, and
-    from a fresh checkout without a user-config.py the actual values
-    are the defaults as per $BLENDERHOME/config/(platform)-config.py
-    (unless you have overridden any of them in your
-    $BLENDERHOME/user-config.py).
-
-    Configuring the output
-    ----------------------
-
-    This rewrite features a cleaner output during the build process. If
-    you need to see the full command-line for compiles, then you can
-    change that behaviour. Also the use of colors can be changed:
-
-        % python scons\scons.py BF_FANCY=0
-
-    This will disable the use of colors.
-
-        % python scons\scons.py BF_QUIET=0
-
-    This will give the old, noisy output. Every command-line per
-    compile is printed out in its full glory. This is very useful when
-    debugging problems with compiling, because you can see what the
-    included paths are, what defines are given on the command-line,
-    what compiler switches are used, etc.
-
-    Compiling Only Some Libraries
-    -----------------------------
-    
-    Our implementation now has support for specifying a list of libraries that are
-    exclusively compiled, ignoring all other libraries.  This is invoked 
-    with the BF_QUICK arguments; for example:
-    
-        % python scons\scons.py BF_QUICK=src,bf_blenkernel
-    
-    Note that this not the same as passing a list of folders as in the 
-    makefile's "quicky" command.  In Scons, all of Blender's code modules
-    are in their own static library; this corresponds to one-lib-per-folder 
-    in some cases (especially in blender/source/blender).
-    
-    To obtain a list of the libraries, simple fire up scons and CTRL-C out once 
-    it finishes configuring (and printing to the console) the library list.
-    
-    Compiling Libraries With Debug Profiling
-    ----------------------------------------
-    
-    Scons has support for specifying a list of libraries that are compiled
-    with debug profiling enabled.  This is implemented in two commands:
-    BF_QUICKDEBUG which is a command-line argument and BF_DEBUG_LIBS, which goes
-    in your user-config.py
-    
-    BF_QUICKDEBUG is similar to BF_QUICK:
-    
-        % python scons\scons.py BF_QUICKDEBUG=src,bf_blenkernel,some-other-lib
-    
-    To use BF_DEBUG_LIBS, put something like the following in you user-config.py:
-    
-        BF_DEBUG_LIBS = ['bf_blenlib', 'src', 'some_lib']
-        
-    For instructions on how to find the names of the libraries (folders) you 
-    wish to use, see the above section.  Note that the command BF_DEBUG 
-    (see below) will override these settings and compile ALL of Blender with
-    debug symbols.  Also note that BF_QUICKDEBUG and BF_DEBUG_LIBS are combined;
-    for example, setting BF_QUICKDEBUG won't overwrite the contents of BF_DEBUG_LIBS.
-
-    Supported toolset
-    -----------------
-
-    WINDOWS
-
-        * msvc, this is a full install of Microsoft Visual C++. You'll
-        likely have the .NET Framework SDK, Platform SDK and DX9 SDK
-        installed * mstoolkit, this is the free MS VC++ 2003 Toolkit. You
-        need to verify you have also the SDKs installed as mentioned
-        for msvc.  * mingw, this is a minimal MingW install. TBD: write
-        proper instructions on getting needed packages.
-
-    On Windows with all of the three toolset installed you need to
-    specify what toolset to use
-
-        % python scons\scons.py BF_TOOLSET=msvc
-        % python scons\scons.py BF_TOOLSET=mingw
-
-    LINUX and OS X
-
-    Currently only the default toolsets are supported for these platforms,
-    so nothing special needs to be told to SCons when building. The
-    defaults should work fine in most cases.
-
-    Examples
-    --------
-
-    Build Blender with the defaults:
-
-        % python scons\scons.py
-
-    Build Blender, but disable OpenEXR support:
-
-        % python scons\scons.py WITH_BF_OPENEXR=0
-
-    Build Blender, enable debug symbols:
-
-        % python scons\scons.py BF_DEBUG=1
-
-    Build Blender, install to different directory:
-
-        % python scons\scons.py BF_INSTALLDIR=../myown/installdir
-
-    Build Blender in ../myown/builddir and install to ../myown/installdir:
-
-        % python scons\scons.py BF_BUILDDIR=../myown/builddir BF_INSTALLDIR=../myown/installdir
-
-    Clean BF_BUILDDIR:
-
-        % python scons\scons.py clean
-
-    /Nathan Letwory (jesterKing)
diff --git a/extern/SConscript b/extern/SConscript
deleted file mode 100644 (file)
index a5d8c1f..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/python
-
-Import('env')
-
-if env['WITH_BF_GLEW_ES']:
-    SConscript(['glew-es/SConscript'])
-else:
-    SConscript(['glew/SConscript'])
-
-SConscript(['rangetree/SConscript'])
-SConscript(['wcwidth/SConscript'])
-SConscript(['libmv/SConscript'])
-
-if env['WITH_BF_GAMEENGINE']:
-    SConscript(['recastnavigation/SConscript'])
-
-# now only available in a branch
-'''
-if env['WITH_BF_ELTOPO']:
-    SConscript(['eltopo/SConscript'])
-'''
-
-if env['WITH_BF_BULLET']:
-    SConscript(['bullet2/src/SConscript'])
-
-if env['WITH_BF_COMPOSITOR'] or env['WITH_BF_CYCLES'] or env['WITH_BF_OPENSUBDIV']:
-    SConscript (['clew/SConscript'])
-    SConscript (['cuew/SConscript'])
-
-if env['WITH_BF_OPENJPEG'] and env['BF_OPENJPEG_LIB'] == '':
-    SConscript(['libopenjpeg/SConscript'])
-
-if env['WITH_BF_REDCODE'] and env['BF_REDCODE_LIB'] == '':
-    SConscript(['libredcode/SConscript'])
-
-if env['WITH_BF_BINRELOC']:
-    SConscript(['binreloc/SConscript']);
-
-if env['WITH_BF_LZO']:
-    SConscript(['lzo/SConscript'])
-
-if env['WITH_BF_LZMA']:
-    SConscript(['lzma/SConscript'])
-
-if env['WITH_BF_BOOLEAN']:
-    SConscript(['carve/SConscript'])
-
-if env['WITH_GHOST_XDND']:
-    # FreeBSD doesn't seems to support XDND protocol
-    if env['OURPLATFORM'] in ('linux', 'openbsd3', 'sunos5', 'aix4', 'aix5'):
-        SConscript(['xdnd/SConscript'])
-
-if env['WITH_BF_SDL'] and env['WITH_BF_SDL_DYNLOAD']:
-    SConscript(['sdlew/SConscript'])
diff --git a/extern/binreloc/SConscript b/extern/binreloc/SConscript
deleted file mode 100644 (file)
index 331b70a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/python
-import sys
-import os
-
-Import('env')
-defs = 'ENABLE_BINRELOC'
-cflags = []
-
-sources = ['binreloc.c']
-incs = 'include'
-
-env.BlenderLib ( 'extern_binreloc', sources, Split(incs), Split(defs), libtype=['extern','player'], priority=[36,225], compileflags = cflags)
-
diff --git a/extern/bullet2/src/SConscript b/extern/bullet2/src/SConscript
deleted file mode 100644 (file)
index 20a87d5..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/python
-import sys
-import os
-
-Import('env')
-
-defs = ''
-cflags = []
-
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-    defs += ' WIN32 NDEBUG _WINDOWS'
-    #cflags += ['/MT', '/W3', '/GX', '/O2', '/Op']
-    cflags += ['/MT', '/W3', '/GX', '/Og', '/Ot', '/Ob1', '/Op', '/G6', '/O3', '/EHcs']
-elif env['OURPLATFORM'] in ('win32-mingw', 'linuxcross', 'win64-mingw'):
-    defs += ' NDEBUG'
-    cflags += ['-O2']
-elif env['OURPLATFORM'] in ('linux', 'freebsd4', 'freebsd5'):
-    defs += ' NDEBUG'
-    cflags += ['-O2']
-elif sys.platform=='darwin':
-    defs += ' NDEBUG'
-    cflags += ['-O3','-fPIC']
-
-bullet2_src = env.Glob("LinearMath/*.cpp")
-bullet2_src += env.Glob("BulletCollision/BroadphaseCollision/*.cpp")
-bullet2_src += env.Glob("BulletCollision/CollisionDispatch/*.cpp")
-bullet2_src += env.Glob("BulletCollision/Gimpact/*.cpp")
-bullet2_src += env.Glob("BulletCollision/CollisionShapes/*.cpp")
-bullet2_src += env.Glob("BulletCollision/NarrowPhaseCollision/*.cpp")
-bullet2_src += env.Glob("BulletDynamics/Vehicle/*.cpp")
-bullet2_src += env.Glob("BulletDynamics/ConstraintSolver/*.cpp")
-bullet2_src += env.Glob("BulletDynamics/Dynamics/*.cpp")
-bullet2_src += env.Glob("BulletDynamics/Character/*.cpp")
-bullet2_src += env.Glob("BulletDynamics/Featherstone/*.cpp")
-bullet2_src += env.Glob("BulletDynamics/MLCPSolvers/*.cpp")
-bullet2_src += env.Glob("BulletSoftBody/*.cpp")
-
-incs = '. BulletCollision BulletDynamics LinearMath BulletSoftBody'
-
-env.BlenderLib ( libname = 'extern_bullet2', sources=bullet2_src, includes=Split(incs), defines=Split(defs), libtype=['extern','player'], priority=[20,137], compileflags=cflags )
diff --git a/extern/carve/SConscript b/extern/carve/SConscript
deleted file mode 100644 (file)
index e08e75e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/python
-
-# NOTE: This file is automatically generated by bundle.sh script
-#       If you're doing changes in this file, please update template
-#       in that script too
-
-Import ('env')
-
-sources = env.Glob('lib/*.cpp')
-sources += env.Glob('*.cc')
-
-defs = []
-incs = ['include']
-
-if env['WITH_BF_BOOST']:
-    if env['OURPLATFORM'] not in ('win32-vc', 'win64-vc'):
-        # Boost is setting as preferred collections library in the Carve code when using MSVC compiler
-        if env['OURPLATFORM'] not in ('win32-mingw', 'win64-mingw'):
-            defs.append('HAVE_BOOST_UNORDERED_COLLECTIONS')
-
-    defs.append('CARVE_SYSTEM_BOOST')
-    defs.append('HAVE_BOOST_LIBRARY')
-    incs.append(env['BF_BOOST_INC'])
-
-env.BlenderLib ('extern_carve', Split(sources), incs, defs, libtype=['extern'], priority=[40] )
index dec902e..00de08e 100755 (executable)
@@ -103,29 +103,3 @@ endif()
 
 blender_add_lib(extern_carve "\${SRC}" "\${INC}" "\${INC_SYS}")
 EOF
-
-cat > SConscript << EOF
-# NOTE: This file is automatically generated by bundle.sh script
-#       If you're doing changes in this file, please update template
-#       in that script too
-
-Import ('env')
-
-sources = env.Glob('lib/*.cpp')
-sources += env.Glob('*.cc')
-
-defs = []
-incs = ['include']
-
-if env['WITH_BF_BOOST']:
-    if env['OURPLATFORM'] not in ('win32-vc', 'win64-vc'):
-        # Boost is setting as preferred collections library in the Carve code when using MSVC compiler
-        if env['OURPLATFORM'] not in ('win32-mingw', 'win64-mingw'):
-            defs.append('HAVE_BOOST_UNORDERED_COLLECTIONS')
-
-    defs.append('CARVE_SYSTEM_BOOST')
-    defs.append('HAVE_BOOST_LIBRARY')
-    incs.append(env['BF_BOOST_INC'])
-
-env.BlenderLib ('extern_carve', Split(sources), incs, defs, libtype=['extern'], priority=[40] )
-EOF
diff --git a/extern/clew/SConscript b/extern/clew/SConscript
deleted file mode 100644 (file)
index 14a03c7..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2006, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Nathan Letwory.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-Import ('env')
-
-sources = env.Glob('src/clew.c')
-
-incs = 'include'
-defs = ['CL_USE_DEPRECATED_OPENCL_1_1_APIS']
-
-env.BlenderLib ('extern_clew', sources, Split(incs), defines=defs, libtype=['system'], priority = [999])
diff --git a/extern/cuew/SConscript b/extern/cuew/SConscript
deleted file mode 100644 (file)
index 9c12c71..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2006, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Nathan Letwory.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-Import ('env')
-
-sources = env.Glob('src/cuew.c')
-
-incs = 'include'
-defs = []
-
-env.BlenderLib ('extern_cuew', sources, Split(incs), defines=defs, libtype=['system'], priority = [0])
diff --git a/extern/glew-es/SConscript b/extern/glew-es/SConscript
deleted file mode 100644 (file)
index 7552ce8..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/python
-import sys
-import os
-
-Import('env')
-
-sources = ['src/glew.c']
-
-defs = []
-defs += env['BF_GL_DEFINITIONS']
-
-if env['WITH_BF_GLEW_MX']:
-    defs += ['GLEW_MX']
-incs = ['include']
-
-env.BlenderLib ( 'extern_glew_es', sources, incs, defs, libtype=['extern','player'], priority=[50,230] )
diff --git a/extern/glew/SConscript b/extern/glew/SConscript
deleted file mode 100644 (file)
index a968738..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/python
-import sys
-import os
-
-Import('env')
-
-sources = ['src/glew.c']
-
-defs = []
-defs += env['BF_GL_DEFINITIONS']
-
-if env['WITH_BF_GLEW_MX']:
-    defs += ['GLEW_MX']
-
-incs = ['include']
-
-env.BlenderLib ( 'extern_glew', sources, incs, defs, libtype=['extern','player'], priority=[50,230] )
diff --git a/extern/libmv/SConscript b/extern/libmv/SConscript
deleted file mode 100644 (file)
index c177f74..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# NOTE: This file is automatically generated by bundle.sh script
-#       If you're doing changes in this file, please update template
-#       in that script too
-
-import sys
-import os
-
-Import('env')
-
-defs = []
-incs = '.'
-
-if env['WITH_BF_LIBMV'] or (env['WITH_BF_CYCLES'] and env['WITH_BF_CYCLES_LOGGING']):
-    defs.append('GOOGLE_GLOG_DLL_DECL=')
-    defs.append('WITH_LIBMV_GUARDED_ALLOC')
-    defs.append('LIBMV_NO_FAST_DETECTOR')
-
-    incs += ' ../Eigen3 third_party/gflags third_party/gflags/gflags third_party/glog/src third_party/ceres/include third_party/ceres/config ../../intern/guardedalloc'
-    incs += ' ' + env['BF_PNG_INC']
-    incs += ' ' + env['BF_ZLIB_INC']
-
-    if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
-        incs += ' ./third_party/glog/src/windows ./third_party/glog/src/windows/glog'
-        if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-            incs += ' ./third_party/msinttypes'
-    else:
-        incs += ' ./third_party/glog/src'
-
-if env['WITH_BF_LIBMV']:
-    if not env['WITH_SHARED_PTR_SUPPORT']:
-        print("-- Unable to find shared_ptr which is required for compilation.")
-        exit(1)
-
-    if env['SHARED_PTR_HEADER'] == 'tr1/memory':
-        defs.append('CERES_TR1_MEMORY_HEADER')
-    if env['SHARED_PTR_NAMESPACE'] == 'std::tr1':
-        defs.append('CERES_TR1_SHARED_PTR')
-
-    src = env.Glob('intern/*.cc')
-    src.remove('intern' + os.sep + 'stub.cc')
-    src += env.Glob('libmv/autotrack/*.cc')
-    src += env.Glob('libmv/base/*.cc')
-    src += env.Glob('libmv/image/*.cc')
-    src += env.Glob('libmv/multiview/*.cc')
-    src += env.Glob('libmv/numeric/*.cc')
-    src += env.Glob('libmv/simple_pipeline/*.cc')
-    src += env.Glob('libmv/tracking/*.cc')
-else:
-    src = env.Glob("intern/stub.cc")
-
-src = [src for src in src if src.find('_test.cc') == -1]
-
-env.BlenderLib(libname = 'extern_libmv', sources=src, includes=Split(incs), defines=defs, libtype=['extern', 'player'], priority=[20,137])
-
-if env['WITH_BF_LIBMV'] or (env['WITH_BF_CYCLES'] and env['WITH_BF_CYCLES_LOGGING']):
-    glog_src = []
-    glog_src += env.Glob("third_party/gflags/*.cc")
-    if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
-        glog_src += ['./third_party/glog/src/logging.cc', './third_party/glog/src/raw_logging.cc', './third_party/glog/src/utilities.cc', './third_party/glog/src/vlog_is_on.cc']
-        glog_src += ['./third_party/glog/src/windows/port.cc']
-    else:
-        glog_src.remove('third_party/gflags/windows_port.cc')
-        glog_src += env.Glob("third_party/glog/src/*.cc")
-
-    env.BlenderLib(libname = 'extern_glog', sources=glog_src, includes=Split(incs), defines=defs, libtype=['extern', 'player'], priority=[20,137])
-
-if env['WITH_BF_LIBMV']:
-    SConscript(['third_party/SConscript'])
index ac41900..e9fb33e 100755 (executable)
@@ -18,7 +18,7 @@ git --git-dir $tmp/libmv/.git --work-tree $tmp/libmv log -n 50 > ChangeLog
 
 find libmv -type f -not -iwholename '*.svn*' -exec rm -rf {} \;
 find third_party -type f -not -iwholename '*.svn*' -not -iwholename '*third_party/ceres*' \
-    -not -iwholename '*third_party/SConscript*' -not -iwholename '*third_party/CMakeLists.txt*' \
+    -not -iwholename '*third_party/CMakeLists.txt*' \
     -exec rm -rf {} \;
 
 cat "files.txt" | while read f; do
@@ -277,68 +277,3 @@ ${third_glog_headers}
        blender_add_lib(extern_glog "\${GLOG_SRC}" "\${INC}" "\${INC_SYS}")
 endif()
 EOF
-
-cat > SConscript << EOF
-# NOTE: This file is automatically generated by bundle.sh script
-#       If you're doing changes in this file, please update template
-#       in that script too
-
-import sys
-import os
-
-Import('env')
-
-defs = []
-incs = '.'
-
-if env['WITH_BF_LIBMV'] or (env['WITH_BF_CYCLES'] and env['WITH_BF_CYCLES_LOGGING']):
-    defs.append('GOOGLE_GLOG_DLL_DECL=')
-    defs.append('WITH_LIBMV_GUARDED_ALLOC')
-    defs.append('LIBMV_NO_FAST_DETECTOR')
-
-    incs += ' ../Eigen3 third_party/gflags third_party/gflags/gflags third_party/glog/src third_party/ceres/include third_party/ceres/config ../../intern/guardedalloc'
-    incs += ' ' + env['BF_PNG_INC']
-    incs += ' ' + env['BF_ZLIB_INC']
-
-    if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
-        incs += ' ./third_party/glog/src/windows ./third_party/glog/src/windows/glog'
-        if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-            incs += ' ./third_party/msinttypes'
-    else:
-        incs += ' ./third_party/glog/src'
-
-if env['WITH_BF_LIBMV']:
-    if not env['WITH_SHARED_PTR_SUPPORT']:
-        print("-- Unable to find shared_ptr which is required for compilation.")
-        exit(1)
-
-    if env['SHARED_PTR_HEADER'] == 'tr1/memory':
-        defs.append('CERES_TR1_MEMORY_HEADER')
-    if env['SHARED_PTR_NAMESPACE'] == 'std::tr1':
-        defs.append('CERES_TR1_SHARED_PTR')
-
-    src = env.Glob('intern/*.cc')
-    src.remove('intern' + os.sep + 'stub.cc')
-$src
-else:
-    src = env.Glob("intern/stub.cc")
-
-src = [src for src in src if src.find('_test.cc') == -1]
-
-env.BlenderLib(libname = 'extern_libmv', sources=src, includes=Split(incs), defines=defs, libtype=['extern', 'player'], priority=[20,137])
-
-if env['WITH_BF_LIBMV'] or (env['WITH_BF_CYCLES'] and env['WITH_BF_CYCLES_LOGGING']):
-    glog_src = []
-    glog_src += env.Glob("third_party/gflags/*.cc")
-    if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
-        glog_src += ['./third_party/glog/src/logging.cc', './third_party/glog/src/raw_logging.cc', './third_party/glog/src/utilities.cc', './third_party/glog/src/vlog_is_on.cc']
-        glog_src += ['./third_party/glog/src/windows/port.cc']
-    else:
-        glog_src.remove('third_party/gflags/windows_port.cc')
-        glog_src += env.Glob("third_party/glog/src/*.cc")
-
-    env.BlenderLib(libname = 'extern_glog', sources=glog_src, includes=Split(incs), defines=defs, libtype=['extern', 'player'], priority=[20,137])
-
-if env['WITH_BF_LIBMV']:
-    SConscript(['third_party/SConscript'])
-EOF
diff --git a/extern/libmv/third_party/SConscript b/extern/libmv/third_party/SConscript
deleted file mode 100644 (file)
index b05692e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/python
-
-SConscript(['ceres/SConscript'])
diff --git a/extern/libmv/third_party/ceres/SConscript b/extern/libmv/third_party/ceres/SConscript
deleted file mode 100644 (file)
index 7b46083..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/env python
-
-# NOTE: This file is automatically generated by bundle.sh script
-#       If you're doing changes in this file, please update template
-#       in that script too
-
-import sys
-import os
-
-Import('env')
-
-src = []
-defs = []
-
-src += env.Glob('internal/ceres/*.cc')
-if env['WITH_BF_LIBMV_SCHUR_SPECIALIZATIONS']:
-    src += env.Glob('internal/ceres/generated/*.cc')
-else:
-    src += env.Glob('internal/ceres/generated/schur_eliminator_d_d_d.cc')
-    src += env.Glob('internal/ceres/generated/partitioned_matrix_view_d_d_d.cc')
-    defs.append('CERES_RESTRICT_SCHUR_SPECIALIZATION')
-
-defs.append('CERES_HAVE_PTHREAD')
-defs.append('CERES_NO_SUITESPARSE')
-defs.append('CERES_NO_CXSPARSE')
-defs.append('CERES_NO_LAPACK')
-defs.append('CERES_HAVE_RWLOCK')
-
-if env['WITH_BF_OPENMP']:
-    defs.append('CERES_USE_OPENMP')
-
-if env['WITH_UNORDERED_MAP_SUPPORT']:
-    if env['UNORDERED_MAP_HEADER'] == 'unordered_map':
-        if env['UNORDERED_MAP_NAMESPACE'] == 'std':
-            defs.append('CERES_STD_UNORDERED_MAP')
-        elif env['UNORDERED_MAP_NAMESPACE'] == 'std::tr1':
-            defs.append('CERES_STD_UNORDERED_MAP_IN_TR1_NAMESPACE')
-    elif env['UNORDERED_MAP_NAMESPACE'] == 'std::tr1':
-        defs.append('CERES_TR1_UNORDERED_MAP')
-else:
-    print("-- Replacing unordered_map/set with map/set (warning: slower!)")
-    defs.append('CERES_NO_UNORDERED_MAP')
-
-if not env['WITH_SHARED_PTR_SUPPORT']:
-    print("-- Unable to find shared_ptr which is required for compilation.")
-    exit(1)
-
-if env['SHARED_PTR_HEADER'] == 'tr1/memory':
-    defs.append('CERES_TR1_MEMORY_HEADER')
-if env['SHARED_PTR_NAMESPACE'] == 'std::tr1':
-    defs.append('CERES_TR1_SHARED_PTR')
-
-incs = '. ../../ ../../../Eigen3 ./include ./internal ../gflags ./config'
-
-if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
-    if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-        incs += ' ../msinttypes'
-
-    incs += ' ../glog/src/windows'
-else:
-    incs += ' ../glog/src'
-
-env.BlenderLib ( libname = 'extern_ceres', sources=src, includes=Split(incs), defines=defs, libtype=['extern', 'player'], priority=[20,137])
index 0418356..85da4f2 100755 (executable)
@@ -199,69 +199,3 @@ endif()
 
 blender_add_lib(extern_ceres "\${SRC}" "\${INC}" "\${INC_SYS}")
 EOF
-
-cat > SConscript << EOF
-#!/usr/bin/env python
-
-# NOTE: This file is automatically generated by bundle.sh script
-#       If you're doing changes in this file, please update template
-#       in that script too
-
-import sys
-import os
-
-Import('env')
-
-src = []
-defs = []
-
-$src
-if env['WITH_BF_LIBMV_SCHUR_SPECIALIZATIONS']:
-    src += env.Glob('internal/ceres/generated/*.cc')
-else:
-    src += env.Glob('internal/ceres/generated/schur_eliminator_d_d_d.cc')
-    src += env.Glob('internal/ceres/generated/partitioned_matrix_view_d_d_d.cc')
-    defs.append('CERES_RESTRICT_SCHUR_SPECIALIZATION')
-
-defs.append('CERES_HAVE_PTHREAD')
-defs.append('CERES_NO_SUITESPARSE')
-defs.append('CERES_NO_CXSPARSE')
-defs.append('CERES_NO_LAPACK')
-defs.append('CERES_HAVE_RWLOCK')
-
-if env['WITH_BF_OPENMP']:
-    defs.append('CERES_USE_OPENMP')
-
-if env['WITH_UNORDERED_MAP_SUPPORT']:
-    if env['UNORDERED_MAP_HEADER'] == 'unordered_map':
-        if env['UNORDERED_MAP_NAMESPACE'] == 'std':
-            defs.append('CERES_STD_UNORDERED_MAP')
-        elif env['UNORDERED_MAP_NAMESPACE'] == 'std::tr1':
-            defs.append('CERES_STD_UNORDERED_MAP_IN_TR1_NAMESPACE')
-    elif env['UNORDERED_MAP_NAMESPACE'] == 'std::tr1':
-        defs.append('CERES_TR1_UNORDERED_MAP')
-else:
-    print("-- Replacing unordered_map/set with map/set (warning: slower!)")
-    defs.append('CERES_NO_UNORDERED_MAP')
-
-if not env['WITH_SHARED_PTR_SUPPORT']:
-    print("-- Unable to find shared_ptr which is required for compilation.")
-    exit(1)
-
-if env['SHARED_PTR_HEADER'] == 'tr1/memory':
-    defs.append('CERES_TR1_MEMORY_HEADER')
-if env['SHARED_PTR_NAMESPACE'] == 'std::tr1':
-    defs.append('CERES_TR1_SHARED_PTR')
-
-incs = '. ../../ ../../../Eigen3 ./include ./internal ../gflags ./config'
-
-if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
-    if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-        incs += ' ../msinttypes'
-
-    incs += ' ../glog/src/windows'
-else:
-    incs += ' ../glog/src'
-
-env.BlenderLib ( libname = 'extern_ceres', sources=src, includes=Split(incs), defines=defs, libtype=['extern', 'player'], priority=[20,137])
-EOF
diff --git a/extern/libopenjpeg/SConscript b/extern/libopenjpeg/SConscript
deleted file mode 100644 (file)
index 178875d..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/python
-
-import sys
-
-Import('env')
-
-sources = env.Glob('*.c')
-
-incs = '.'
-flags = []
-defs = []
-
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-    flags = []
-    defs.append('OPJ_STATIC')
-elif env['OURPLATFORM'] == 'darwin':
-    flags = ['-Wall', '-O3', '-ffast-math', '-std=c99'] + env['CCFLAGS'] # to supply SDK_FLAGS here
-else:
-    flags = ['-Wall', '-O3', '-ffast-math', '-std=c99']
-
-oj_env = env.Clone()
-if not env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-    oj_env.Replace(CCFLAGS = '')
-    oj_env.Replace(BF_DEBUG_FLAGS = '')
-
-oj_env.BlenderLib ( libname='extern_openjpeg', 
-                    sources=sources, includes=Split(incs),
-                    defines=defs,
-                    libtype=['extern','player'],
-                    priority=[10,185], compileflags = flags)
diff --git a/extern/libredcode/SConscript b/extern/libredcode/SConscript
deleted file mode 100644 (file)
index 3fb78db..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/python
-
-import sys
-import os
-import shutil
-
-Import('env')
-
-sources = env.Glob('*.c')
-incs = '. ../libopenjpeg'
-
-env.BlenderLib ( libname='extern_redcode', 
-                 sources=sources, includes=Split(incs),
-                 defines=[],
-                 libtype=['core','intern'],
-                 priority=[5, 5], compileflags = [])
diff --git a/extern/lzma/SConscript b/extern/lzma/SConscript
deleted file mode 100644 (file)
index d0cfed8..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/python
-Import ('env')
-
-sources = env.Glob('./*.c')
-
-defs = ''
-incs = ' . ' 
-
-env.BlenderLib ('extern_lzma', sources, Split(incs), Split(defs), libtype=['intern'], priority=[40] )
diff --git a/extern/lzo/SConscript b/extern/lzo/SConscript
deleted file mode 100644 (file)
index a87034d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/python
-Import ('env')
-
-sources = env.Glob('minilzo/*.c')
-
-defs = ''
-incs = ' include ' 
-
-env.BlenderLib ('extern_minilzo', sources, Split(incs), Split(defs), libtype=['intern'], priority=[40] )
diff --git a/extern/rangetree/SConscript b/extern/rangetree/SConscript
deleted file mode 100644 (file)
index 787decd..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-2#!/usr/bin/python
-Import ('env')
-
-sources = env.Glob('*.cc')
-
-incs = '.'
-defs = ''
-
-env.BlenderLib ('extern_rangetree', sources, Split(incs), Split(defs), libtype=['extern'], priority=[100] )
diff --git a/extern/recastnavigation/SConscript b/extern/recastnavigation/SConscript
deleted file mode 100644 (file)
index 2c15e51..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/python
-
-Import('env')
-
-sources = env.Glob('Recast/Source/*.cpp') + env.Glob('Detour/Source/*.cpp')
-sources += ['recast-capi.cpp']
-
-incs = 'Recast/Include Detour/Include'
-
-env.BlenderLib ( 'extern_recastnavigation', sources, Split(incs), [],
-                 libtype=['extern','player'],
-                 priority=[10,185])
diff --git a/extern/sdlew/SConscript b/extern/sdlew/SConscript
deleted file mode 100644 (file)
index 287f9c0..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2014, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Sergey Sharybin.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-Import ('env')
-
-sources = env.Glob('src/sdlew.c')
-
-incs = 'include'
-defs = []
-
-env.BlenderLib ('extern_sdlew', sources, Split(incs), defines=defs, libtype=['extern'], priority = [999])
diff --git a/extern/wcwidth/SConscript b/extern/wcwidth/SConscript
deleted file mode 100644 (file)
index 14fdaf3..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/python
-
-Import('env')
-
-sources = env.Glob('*.c')
-
-incs = '.'
-
-env.BlenderLib ( 'extern_wcwidth', sources, Split(incs), [], libtype=['extern','player'], priority=[10, 185])
diff --git a/extern/xdnd/SConscript b/extern/xdnd/SConscript
deleted file mode 100644 (file)
index 6f1fe72..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/python
-
-Import('env')
-
-defs = ['HAVE_SYS_TIME_H']
-sources = env.Glob('*.c')
-
-incs = '.'
-
-env.BlenderLib ( 'extern_xdnd', sources, Split(incs), defs, libtype=['extern','player'], priority=[10, 185])
diff --git a/intern/SConscript b/intern/SConscript
deleted file mode 100644 (file)
index 7362421..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2006, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Nathan Letwory.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-Import ('env')
-
-SConscript(['string/SConscript',
-            'ghost/SConscript',
-            'glew-mx/SConscript',
-            'guardedalloc/SConscript',
-            'moto/SConscript',
-            'memutil/SConscript/',
-            'iksolver/SConscript',
-            'itasc/SConscript',
-            'eigen/SConscript',
-            'opencolorio/SConscript',
-            'mikktspace/SConscript',
-            'smoke/SConscript',
-            'raskter/SConscript'])
-
-# currently only contains headers
-# SConscript('container/SConscript')
-
-if env['WITH_BF_AUDASPACE']:
-    SConscript(['audaspace/SConscript'])
-
-if env ['WITH_BF_REMESH']:
-    SConscript(['dualcon/SConscript'])
-
-if env['WITH_BF_FLUID']:
-    SConscript(['elbeem/SConscript'])
-
-if env['WITH_BF_CYCLES']:
-    SConscript(['cycles/SConscript'])
-
-if env['WITH_BF_INTERNATIONAL']:
-    SConscript(['locale/SConscript'])
-
-if env['WITH_BF_BULLET']:
-    SConscript (['rigidbody/SConscript'])
-
-if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-mingw', 'linuxcross', 'win64-vc'):
-    SConscript(['utfconv/SConscript'])
-
-if env['WITH_BF_OPENSUBDIV']:
-    SConscript (['opensubdiv/SConscript'])
diff --git a/intern/audaspace/SConscript b/intern/audaspace/SConscript
deleted file mode 100644 (file)
index 8dfaa86..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/usr/bin/env python
-#
-# ***** BEGIN LGPL LICENSE BLOCK *****
-#
-# Copyright 2009 Jrg Hermann Mller
-#
-# This file is part of AudaSpace.
-#
-# AudaSpace is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# AudaSpace is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with AudaSpace.  If not, see <http://www.gnu.org/licenses/>.
-#
-# ***** END LGPL LICENSE BLOCK *****
-
-from os import path
-Import ('env')
-
-sources = env.Glob('intern/*.cpp') + env.Glob('FX/*.cpp')
-
-# AUD_PyInit is for external audaspace only
-sources.remove(path.join('intern', 'AUD_PyInit.cpp'))
-
-
-incs = '. intern FX ' + env['BF_PTHREADS_INC'] + ' ' + env['BF_BOOST_INC']
-defs = []
-
-if env['WITH_BF_FFMPEG']:
-    sources += env.Glob('ffmpeg/*.cpp')
-    incs += ' ffmpeg  #/intern/ffmpeg ' + env['BF_FFMPEG_INC']
-    defs.append('WITH_FFMPEG')
-
-if env['WITH_BF_SDL']:
-    sources += env.Glob('SDL/*.cpp')
-    incs += ' SDL ' + env['BF_SDL_INC']
-    defs.append('WITH_SDL')
-
-if env['WITH_BF_OPENAL']:
-    sources += env.Glob('OpenAL/*.cpp')
-    incs += ' OpenAL ' + env['BF_OPENAL_INC']
-    defs.append('WITH_OPENAL')
-
-if env['WITH_BF_JACK']:
-    sources += env.Glob('jack/*.cpp')
-    incs += ' jack ' + env['BF_JACK_INC']
-    defs.append('WITH_JACK')
-    if env['WITH_BF_JACK_DYNLOAD']:
-        defs.append('WITH_JACK_DYNLOAD')
-
-if env['WITH_BF_SNDFILE']:
-    sources += env.Glob('sndfile/*.cpp')
-    incs += ' sndfile ' + env['BF_SNDFILE_INC']
-    defs.append('WITH_SNDFILE')
-
-#if env['WITH_BF_FFTW3']:
-#    sources += env.Glob('fftw/*.cpp')
-#    incs += ' fftw ' + env['BF_FFTW3_INC']
-#    defs.append('WITH_FFTW3')
-
-if env['WITH_BF_PYTHON']:
-    sources += env.Glob('Python/*.cpp')
-    incs += ' Python ' + env['BF_PYTHON_INC']
-    defs.append('WITH_PYTHON')
-
-if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
-    incs += ' ' + env['BF_PTHREADS_INC']
-
-env.BlenderLib ('bf_intern_audaspace', sources, Split(incs), defs, libtype=['intern','player'], priority = [25,215] )
diff --git a/intern/container/SConscript b/intern/container/SConscript
deleted file mode 100644 (file)
index 1f94315..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/env python
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2006, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Nathan Letwory.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-Import ('env')
-
-sources = env.Glob('intern/*.cpp')
-incs = '. #intern/guardedalloc'
-
-env.BlenderLib ('bf_intern_ctr', sources, Split(incs) , [], libtype='intern', priority = 10 )
index c252a61..3df9a67 100644 (file)
@@ -11,7 +11,7 @@ endif()
 include(cmake/external_libs.cmake)
 
 # Build Flags
-# todo: refactor this code to match scons
+# todo: this code could be refactored a bit to avoid duplication
 # note: CXX_HAS_SSE is needed in case passing SSE flags fails altogether (gcc-arm)
 
 if(WITH_CYCLES_WERROR)
diff --git a/intern/cycles/SConscript b/intern/cycles/SConscript
deleted file mode 100644 (file)
index 99df8c2..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-#!/usr/bin/env python
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2011, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Nathan Letwory.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-from os import path
-Import('env')
-
-cycles = env.Clone()
-
-cycles.Depends('../../source/blender/makesrna/intern/RNA_blender_cpp.h', 'makesrna')
-
-sources = cycles.Glob('bvh/*.cpp') + cycles.Glob('device/*.cpp') + cycles.Glob('kernel/*.cpp') + cycles.Glob('render/*.cpp') + cycles.Glob('subd/*.cpp') + cycles.Glob('util/*.cpp') + cycles.Glob('blender/*.cpp')
-
-sources.append(path.join('kernel', 'kernels', 'cpu', 'kernel.cpp'))
-sources.remove(path.join('util', 'util_view.cpp'))
-
-incs = [] 
-defs = []
-cxxflags = Split(env['CXXFLAGS'])
-
-defs += env['BF_GL_DEFINITIONS']
-
-if env['WITH_UNORDERED_MAP_SUPPORT']:
-    if env['UNORDERED_MAP_HEADER'] == 'unordered_map':
-        if env['UNORDERED_MAP_NAMESPACE'] == 'std':
-            defs.append('CYCLES_STD_UNORDERED_MAP')
-        elif env['UNORDERED_MAP_NAMESPACE'] == 'std::tr1':
-            defs.append('CYCLES_STD_UNORDERED_MAP_IN_TR1_NAMESPACE')
-    elif env['UNORDERED_MAP_NAMESPACE'] == 'std::tr1':
-        defs.append('CYCLES_TR1_UNORDERED_MAP')
-else:
-    print("-- Replacing unordered_map/set with map/set (warning: slower!)")
-    defs.append('CYCLES_NO_UNORDERED_MAP')
-
-defs.append('CCL_NAMESPACE_BEGIN=namespace ccl {')
-defs.append('CCL_NAMESPACE_END=}')
-
-defs.append('WITH_OPENCL')
-defs.append('WITH_MULTI')
-defs.append('WITH_CUDA')
-
-if env['WITH_BF_CYCLES_OSL']:
-    defs.append('WITH_OSL')
-    defs.append('OSL_STATIC_LIBRARY')
-    incs.append(cycles['BF_OSL_INC'])
-
-if env['WITH_BF_CYCLES_DEBUG']:
-    defs.append('WITH_CYCLES_DEBUG')
-
-if env['WITH_BF_CYCLES_LOGGING']:
-    defs.append('WITH_CYCLES_LOGGING')
-    defs.append('GOOGLE_GLOG_DLL_DECL=')
-    defs.append('CYCLES_GFLAGS_NAMESPACE=gflags')
-    if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
-        incs.append('#extern/libmv/third_party/glog/src/windows')
-        incs.append('#extern/libmv/third_party/gflags')
-    else:
-        incs.append('#extern/libmv/third_party/glog/src')
-        incs.append('#extern/libmv/third_party/gflags')
-
-incs.extend('. bvh render device kernel kernel/osl kernel/svm util subd'.split())
-incs.extend('#intern/guardedalloc #source/blender/makesrna #source/blender/makesdna #source/blender/blenlib'.split())
-incs.extend('#source/blender/blenloader ../../source/blender/makesrna/intern'.split())
-
-incs.append(env['BF_GLEW_INC'])
-incs.append('#/intern/glew-mx')
-incs.append('#/intern/atomic')
-incs.append('#intern/mikktspace')
-incs.extend('#extern/glew/include #extern/clew/include #extern/cuew/include #intern/mikktspace'.split())
-
-incs.append(cycles['BF_OIIO_INC'])
-incs.append(cycles['BF_BOOST_INC'])
-incs.append(cycles['BF_OPENEXR_INC'].split())
-incs.extend(cycles['BF_PYTHON_INC'].split())
-
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-    cxxflags.append('-D_CRT_SECURE_NO_WARNINGS /fp:fast /EHsc'.split())
-else:
-    cxxflags.append('-ffast-math'.split())
-
-# Warnings
-# XXX Not supported by gcc < 4.9, since we do not have any 'supported flags' test as in cmake,
-#     simpler to comment for now.
-#if env['C_COMPILER_ID'] == 'gcc':
-#    cxxflags.append(['-Werror=float-conversion'])
-
-if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
-    incs.append(env['BF_PTHREADS_INC'])
-
-# optimized kernel. we compile the kernel multiple times with different
-# optimization flags, at runtime it will choose the optimal kernel
-kernel_flags = {}
-
-if env['OURPLATFORM'] == 'win32-vc':
-    # there is no /arch:SSE3, but intrinsics are available anyway
-    kernel_flags['sse2'] = '/arch:SSE /arch:SSE2 -D_CRT_SECURE_NO_WARNINGS /fp:fast /Ox /GS-'
-    kernel_flags['sse3'] = kernel_flags['sse2']
-
-elif env['OURPLATFORM'] == 'win64-vc':
-    # /arch:AVX only available from visual studio 2012
-    kernel_flags['sse2'] = '-D_CRT_SECURE_NO_WARNINGS /fp:fast /Ox /GS-'
-    kernel_flags['sse3'] = kernel_flags['sse2']
-
-    if env['MSVC_VERSION'] >= '12.0':
-        kernel_flags['sse41'] = kernel_flags['sse3']
-        kernel_flags['avx'] = kernel_flags['sse41'] + ' /arch:AVX'
-        kernel_flags['avx2'] = kernel_flags['sse41'] + ' /arch:AVX /arch:AVX2'
-else:
-    # -mavx only available with relatively new gcc/clang
-    kernel_flags['sse2'] = '-ffast-math -msse -msse2 -mfpmath=sse'
-    kernel_flags['sse3'] = kernel_flags['sse2'] + ' -msse3 -mssse3'
-    kernel_flags['sse41'] = kernel_flags['sse3'] + ' -msse4.1'
-
-    if (env['C_COMPILER_ID'] == 'gcc' and env['CCVERSION'] >= '4.6') or (env['C_COMPILER_ID'] == 'clang' and env['CCVERSION'] >= '3.1'):
-        kernel_flags['avx'] = kernel_flags['sse41'] + ' -mavx'
-        kernel_flags['avx2'] = kernel_flags['avx'] + ' -mavx2 -mfma -mlzcnt -mbmi -mbmi2 -mf16c'
-
-for kernel_type in kernel_flags.keys():
-    defs.append('WITH_KERNEL_' + kernel_type.upper())
-
-for kernel_type in kernel_flags.keys():
-    kernel_source = path.join('kernel', 'kernels', 'cpu', 'kernel_' + kernel_type + '.cpp')
-    kernel_cxxflags = Split(env['CXXFLAGS'])
-    kernel_cxxflags.append(kernel_flags[kernel_type].split())
-    kernel_defs = defs[:]
-    kernel_env = cycles.Clone()
-
-    if env['OURPLATFORM'] == 'darwin' and env['C_COMPILER_ID'] == 'gcc' and  env['CCVERSION'] >= '4.6':
-        # use Apple assembler for avx , gnu-compilers do not support it ( gnu gcc-4.6 or higher case )
-        kernel_env.BlenderLib('bf_intern_cycles_' + kernel_type, [kernel_source], incs, kernel_defs,
-            libtype=['intern'], priority=[10], cxx_compileflags=kernel_cxxflags,
-            cc_compilerchange='/usr/bin/clang', cxx_compilerchange='/usr/bin/clang++')
-    else:
-        kernel_env.BlenderLib('bf_intern_cycles_' + kernel_type, [kernel_source], incs, kernel_defs,
-            libtype=['intern'], priority=[10], cxx_compileflags=kernel_cxxflags)
-
-cycles.BlenderLib('bf_intern_cycles', sources, incs, defs, libtype=['intern'], priority=[0], cxx_compileflags=cxxflags)
-
-# OSL shaders
-if env['WITH_BF_CYCLES_OSL']:
-    oso_files = SConscript(['kernel/shaders/SConscript'])
-    cycles.Depends("kernel/osl/osl_shader.o", oso_files)
-
-    SConscript(['kernel/osl/SConscript'])
-
-# cuda kernel binaries
-if env['WITH_BF_CYCLES_CUDA_BINARIES']:
-    kernel_binaries = SConscript(['kernel/SConscript'])
-    cycles.Depends("device/device_cuda.o", kernel_binaries)
-
diff --git a/intern/cycles/kernel/SConscript b/intern/cycles/kernel/SConscript
deleted file mode 100644 (file)
index e8d5101..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/usr/bin/env python
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2011, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Nathan Letwory.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-import re
-import subprocess
-import sys
-import os
-import Blender as B
-import btools
-
-def normpath(path):
-    return os.path.abspath(os.path.normpath(path))
-
-Import ('env')
-
-kernel_binaries = []
-
-#Bitness
-if B.bitness == 32:
-    bits = 32
-else:
-    bits = 64
-
-if env['WITH_BF_CYCLES_CUDA_BINARIES']:
-    kernel = env.Clone()
-
-    # cuda info
-    nvcc = env['BF_CYCLES_CUDA_NVCC']
-    cuda_archs = env['BF_CYCLES_CUDA_BINARIES_ARCH']
-
-    # build directory
-    root_build_dir = normpath(env['BF_BUILDDIR'])
-    build_dir = os.path.join(root_build_dir, 'intern/cycles/kernel')
-
-    # source directories and files
-    kernel_file_rel = os.path.join("kernels", "cuda", "kernel.cu")
-    source_dir = Dir('.').srcnode().path
-    kernel_file = os.path.join(source_dir, kernel_file_rel)
-    util_dir = os.path.join(source_dir, "../util")
-    svm_dir = os.path.join(source_dir, "../svm")
-    geom_dir = os.path.join(source_dir, "../geom")
-    closure_dir = os.path.join(source_dir, "../closure")
-
-    # get CUDA version
-    output = btools.get_command_output([nvcc, "--version"])
-    cuda_major_minor = re.findall(r'release (\d+).(\d+)', output)[0]
-    cuda_version = int(cuda_major_minor[0])*10 + int(cuda_major_minor[1])
-
-    if cuda_version != 65:
-        print("CUDA version %d.%d detected, build may succeed but only CUDA 6.5 is officially supported." % (cuda_version/10, cuda_version%10))
-
-    # nvcc flags
-    nvcc_flags = "-m%s" % (bits)
-    nvcc_flags += " --cubin --ptxas-options=\"-v\" --use_fast_math"
-    nvcc_flags += " -D__KERNEL_CUDA_VERSION__=%d" % (cuda_version)
-    nvcc_flags += " -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DNVCC"
-    nvcc_flags += " -I \"%s\" -I \"%s\" -I \"%s\" -I \"%s\"" % (util_dir, svm_dir, geom_dir, closure_dir)
-
-    if env['WITH_BF_CYCLES_DEBUG']:
-        nvcc_flags += " -D__KERNEL_DEBUG__"
-
-    # dependencies
-    dependencies = [kernel_file_rel] + kernel.Glob('*.h') + kernel.Glob('../util/*.h') + kernel.Glob('svm/*.h') + kernel.Glob('geom/*.h') + kernel.Glob('closure/*.h')
-    last_cubin_file = None
-
-    configs = (("kernel_%s.cubin", ''),
-               ("kernel_experimental_%s.cubin", ' -D__KERNEL_EXPERIMENTAL__'))
-
-    # add command for each cuda architecture
-    for arch in cuda_archs:
-        for config in configs:
-            # TODO(sergey): Use dict instead ocouple in order to increase readability?
-            name = config[0]
-            extra_flags = config[1]
-
-            cubin_file = os.path.join(build_dir, name % arch)
-            current_flags = nvcc_flags + extra_flags
-
-            if env['BF_CYCLES_CUDA_ENV']:
-                MS_SDK = "C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin\\SetEnv.cmd"
-                command = "\"%s\" & \"%s\" -arch=%s %s \"%s\" -o \"%s\"" % (MS_SDK, nvcc, arch, current_flags, kernel_file, cubin_file)
-            else:
-                command = "\"%s\" -arch=%s %s \"%s\" -o \"%s\"" % (nvcc, arch, current_flags, kernel_file, cubin_file)
-
-            kernel.Command(cubin_file, kernel_file_rel, command)
-            kernel.Depends(cubin_file, dependencies)
-
-            kernel_binaries.append(cubin_file)
-
-            if not env['WITH_BF_CYCLES_CUDA_THREADED_COMPILE']:
-                # trick to compile one kernel at a time to reduce memory usage
-                if last_cubin_file:
-                    kernel.Depends(cubin_file, last_cubin_file)
-                last_cubin_file = cubin_file
-
-Return('kernel_binaries')
-
index bc754f6..a4e43b1 100644 (file)
 #  include "kernel.h"
 #  define KERNEL_ARCH cpu_avx
 #  include "kernel_cpu_impl.h"
-#else  /* WITH_CYCLES_OPTIMIZED_KERNEL_AVX */
-
-/* needed for some linkers in combination with scons making empty compilation unit in a library */
-void __dummy_function_cycles_avx(void);
-void __dummy_function_cycles_avx(void) {}
 
 #endif  /* WITH_CYCLES_OPTIMIZED_KERNEL_AVX */
index ce4a044..fd6c753 100644 (file)
 #  include "kernel.h"
 #  define KERNEL_ARCH cpu_avx2
 #  include "kernel_cpu_impl.h"
-#else  /* WITH_CYCLES_OPTIMIZED_KERNEL_AVX2 */
-
-/* needed for some linkers in combination with scons making empty compilation unit in a library */
-void __dummy_function_cycles_avx2(void);
-void __dummy_function_cycles_avx2(void) {}
 
 #endif  /* WITH_CYCLES_OPTIMIZED_KERNEL_AVX2 */
index 3142f1d..7e843dc 100644 (file)
 #  include "kernel.h"
 #  define KERNEL_ARCH cpu_sse2
 #  include "kernel_cpu_impl.h"
-#else  /* WITH_CYCLES_OPTIMIZED_KERNEL_SSE2 */
-
-/* needed for some linkers in combination with scons making empty compilation unit in a library */
-void __dummy_function_cycles_sse2(void);
-void __dummy_function_cycles_sse2(void) {}
 
 #endif  /* WITH_CYCLES_OPTIMIZED_KERNEL_SSE2 */
index 93ee7d1..cc5656e 100644 (file)
 #  include "kernel.h"
 #  define KERNEL_ARCH cpu_sse3
 #  include "kernel_cpu_impl.h"
-#else  /* WITH_CYCLES_OPTIMIZED_KERNEL_SSE3 */
-
-/* needed for some linkers in combination with scons making empty compilation unit in a library */
-void __dummy_function_cycles_sse3(void);
-void __dummy_function_cycles_sse3(void) {}
 
 #endif  /* WITH_CYCLES_OPTIMIZED_KERNEL_SSE3 */
index c3ace9e..252e168 100644 (file)
 #  include "kernel.h"
 #  define KERNEL_ARCH cpu_sse41
 #  include "kernel_cpu_impl.h"
-#else  /* WITH_CYCLES_OPTIMIZED_KERNEL_SSE41 */
-
-/* needed for some linkers in combination with scons making empty compilation unit in a library */
-void __dummy_function_cycles_sse41(void);
-void __dummy_function_cycles_sse41(void) {}
 
 #endif  /* WITH_CYCLES_OPTIMIZED_KERNEL_SSE41 */
diff --git a/intern/cycles/kernel/osl/SConscript b/intern/cycles/kernel/osl/SConscript
deleted file mode 100644 (file)
index 74ba5e1..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/usr/bin/env python
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2011, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Nathan Letwory.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-Import('env')
-
-defs = []
-incs = []
-cxxflags = Split(env['CXXFLAGS'])
-
-sources = env.Glob('*.cpp')
-
-incs.extend('. .. ../svm ../../render ../../util ../../device'.split())
-incs.append(env['BF_OIIO_INC'])
-incs.append(env['BF_BOOST_INC'])
-incs.append(env['BF_OSL_INC'])
-incs.append(env['BF_OPENEXR_INC'].split())
-incs.append('#/intern/atomic')
-
-defs.append('CCL_NAMESPACE_BEGIN=namespace ccl {')
-defs.append('CCL_NAMESPACE_END=}')
-defs.append('WITH_OSL')
-
-if env['WITH_UNORDERED_MAP_SUPPORT']:
-    if env['UNORDERED_MAP_HEADER'] == 'unordered_map':
-        if env['UNORDERED_MAP_NAMESPACE'] == 'std':
-            defs.append('CYCLES_STD_UNORDERED_MAP')
-        elif env['UNORDERED_MAP_NAMESPACE'] == 'std::tr1':
-            defs.append('CYCLES_STD_UNORDERED_MAP_IN_TR1_NAMESPACE')
-    elif env['UNORDERED_MAP_NAMESPACE'] == 'std::tr1':
-        defs.append('CYCLES_TR1_UNORDERED_MAP')
-else:
-    print("-- Replacing unordered_map/set with map/set (warning: slower!)")
-    defs.append('CYCLES_NO_UNORDERED_MAP')
-
-if env['WITH_BF_CYCLES_DEBUG']:
-    defs.append('WITH_CYCLES_DEBUG')
-
-if env['WITH_BF_CYCLES_LOGGING']:
-    defs.append('WITH_CYCLES_LOGGING')
-    defs.append('GOOGLE_GLOG_DLL_DECL=')
-    defs.append('CYCLES_GFLAGS_NAMESPACE=gflags')
-    if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
-        incs.append('#extern/libmv/third_party/glog/src/windows')
-        incs.append('#extern/libmv/third_party/gflags')
-    else:
-        incs.append('#extern/libmv/third_party/glog/src')
-        incs.append('#extern/libmv/third_party/gflags')
-
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-    cxxflags.append('-DBOOST_NO_RTTI -DBOOST_NO_TYPEID /fp:fast'.split())
-    incs.append(env['BF_PTHREADS_INC'])
-    defs.append('OSL_STATIC_LIBRARY')
-else:
-    cxxflags.append('-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID -ffast-math'.split())
-
-env.BlenderLib ('cycles_kernel_osl', sources, incs, defs, libtype=['intern'], priority=[10], cxx_compileflags=cxxflags)
diff --git a/intern/cycles/kernel/shaders/SConscript b/intern/cycles/kernel/shaders/SConscript
deleted file mode 100644 (file)
index 8bc1c22..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/env python
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2011, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Nathan Letwory.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-import sys
-import os
-import Blender as B
-
-def normpath(path):
-    return os.path.abspath(os.path.normpath(path))
-
-Import ('env')
-
-oso_files = []
-
-if env['WITH_BF_CYCLES_OSL']:
-    shaders = env.Clone()
-
-    # osl compiler
-    osl_compiler = File(env.subst(env['BF_OSL_COMPILER'])).abspath
-
-    # build directory
-    root_build_dir = normpath(env['BF_BUILDDIR'])
-    build_dir = os.path.join(root_build_dir, 'intern/cycles/kernel/shaders')
-
-    # source directories and files
-    source_dir = Dir('.').srcnode().path
-
-    # dependencies
-    dependencies = shaders.Glob('*.h')
-
-    for f in os.listdir(source_dir):
-        if f.endswith('.osl'):
-            osl_file = os.path.join(source_dir, f)
-            oso_file = os.path.join(build_dir, f.replace('.osl', '.oso'))
-
-            command = "\"%s\" -q -O2 -I\"%s\" -o \"%s\" \"%s\"" % (osl_compiler, source_dir, oso_file, osl_file)
-
-            shaders.Command(oso_file, f, command)
-            shaders.Depends(oso_file, [f] + dependencies)
-
-            oso_files.append(oso_file)
-
-
-Return('oso_files')
diff --git a/intern/dualcon/SConscript b/intern/dualcon/SConscript
deleted file mode 100644 (file)
index 34df21a..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE