SCons updates
authorMichel Selten <michel@mselten.demon.nl>
Sun, 29 Feb 2004 21:40:48 +0000 (21:40 +0000)
committerMichel Selten <michel@mselten.demon.nl>
Sun, 29 Feb 2004 21:40:48 +0000 (21:40 +0000)
* Blender static now links. By default this option is disabled on all
  platforms. Simply set the option in config.opts to 'true'.
* Added the following flags to config.opts:
  - HOST_CC.    This is the C compiler for the host platform. This value is the
                same as TARGET_CC when not cross compiling.
  - HOST_CXX.   This is the C++ compiler for the host platform. This value is
                the same as TARGET_CXX when not cross compiling.
  - TARGET_CC.  This is the C compiler for the target platform.
  - TARGET_CXX. This is the C++ compiler for the target platform.
  - TARGET_AR.  This is the linker command for linking libraries.
  - PATH        This is the standard search path
  All SConscript files have been updated to reflect these changes. Now it's
  possible to change only the root SConstruct file, and all compiler specific
  variables are passed automatically to all SConscript files. Of course, this
  does not apply to makesdna because there the host and target platform is
  different from all other libraries.
  To pass a variable that applies to all platforms, all we now have to do is
  set the correct value in library_env

Note: as usual, to get the latest options in the config.opts file, first
      remove your version.

52 files changed:
SConstruct
intern/SoundSystem/SConscript
intern/bmfont/SConscript
intern/bsp/SConscript
intern/container/SConscript
intern/decimation/SConscript
intern/ghost/SConscript
intern/guardedalloc/SConscript
intern/iksolver/SConscript
intern/memutil/SConscript
intern/moto/SConscript
intern/string/SConscript
source/blender/avi/SConscript
source/blender/blenkernel/SConscript
source/blender/blenlib/SConscript
source/blender/blenloader/SConscript
source/blender/blenpluginapi/SConscript
source/blender/deflate/SConscript
source/blender/ftfont/SConscript
source/blender/imbuf/SConscript
source/blender/img/SConscript
source/blender/inflate/SConscript
source/blender/makesdna/SConscript
source/blender/makesdna/intern/SConscript
source/blender/python/SConscript
source/blender/quicktime/SConscript
source/blender/radiosity/SConscript
source/blender/readblenfile/SConscript
source/blender/readstreamglue/SConscript
source/blender/render/SConscript
source/blender/renderconverter/SConscript
source/blender/src/SConscript
source/blender/writeblenfile/SConscript
source/blender/writestreamglue/SConscript
source/blender/yafray/SConscript
source/creator/SConscript
source/gameengine/BlenderRoutines/SConscript
source/gameengine/Converter/SConscript
source/gameengine/Expressions/SConscript
source/gameengine/GameLogic/SConscript
source/gameengine/Ketsji/KXNetwork/SConscript
source/gameengine/Ketsji/SConscript
source/gameengine/Network/LoopBackNetwork/SConscript
source/gameengine/Network/SConscript
source/gameengine/Physics/BlOde/SConscript
source/gameengine/Physics/Dummy/SConscript
source/gameengine/Physics/Sumo/SConscript
source/gameengine/Physics/common/SConscript
source/gameengine/Rasterizer/RAS_OpenGLRasterizer/SConscript
source/gameengine/Rasterizer/SConscript
source/gameengine/SceneGraph/SConscript
source/kernel/SConscript

index ae2242e..e29f642 100644 (file)
@@ -217,8 +217,6 @@ elif sys.platform == 'cygwin':
     sdl_libpath = sdl_env.Dictionary()['LIBPATH']
     sdl_lib = sdl_env.Dictionary()['LIBS']
     #sdl_cflags = '-DWIN32'
-    # We need to force the Cygwin environment to use the g++ linker.
-    link_env.Replace (CC='g++')
     # Python variables.
     python_include = sysconfig.get_python_inc ()
     python_libpath = sysconfig.get_python_lib (0, 1) + '/config'
@@ -521,6 +519,7 @@ if os.path.exists (config_file):
     print "Using config file: " + config_file
 else:
     print "Creating new config file: " + config_file
+    env_dict = env.Dictionary()
     config=open (config_file, 'w')
     config.write ("# Configuration file containing user definable options.\n")
     config.write ("VERSION = '2.32-cvs'\n")
@@ -540,6 +539,13 @@ else:
     config.write ("USE_OPENAL = %r\n"%(use_openal))
     config.write ("USE_FMOD = %r\n"%(use_fmod))
     config.write ("USE_QUICKTIME = %r\n"%(use_quicktime))
+    config.write ("\n# Compiler information.\n")
+    config.write ("HOST_CC = %r\n"%(env_dict['CC']))
+    config.write ("HOST_CXX = %r\n"%(env_dict['CXX']))
+    config.write ("TARGET_CC = %r\n"%(env_dict['CC']))
+    config.write ("TARGET_CXX = %r\n"%(env_dict['CXX']))
+    config.write ("TARGET_AR = %r\n"%(env_dict['AR']))
+    config.write ("PATH = %r\n"%(os.environ['PATH']))
     config.write ("\n# External library information.\n")
     config.write ("PYTHON_INCLUDE = %r\n"%(python_include))
     config.write ("PYTHON_LIBPATH = %r\n"%(python_libpath))
@@ -634,6 +640,12 @@ user_options.AddOptions (
         (BoolOption ('USE_QUICKTIME',
                      'Set to 1 to add support for QuickTime.',
                      'false')),
+        ('HOST_CC', 'C compiler for the host platfor. This is the same as target platform when not cross compiling.'),
+        ('HOST_CXX', 'C++ compiler for the host platform. This is the same as target platform when not cross compiling.'),
+        ('TARGET_CC', 'C compiler for the target platform.'),
+        ('TARGET_CXX', 'C++ compiler for the target platform.'),
+        ('TARGET_AR', 'Linker command for linking libraries.'),
+        ('PATH', 'Standard search path'),
         ('PYTHON_INCLUDE', 'Include directory for Python header files.'),
         ('PYTHON_LIBPATH', 'Library path where the Python lib is located.'),
         ('PYTHON_LIBRARY', 'Python library name.'),
@@ -700,19 +712,32 @@ else:
         #defines += ['_DEBUG'] specifying this makes msvc want to link to python22_d.lib??
         platform_linkflags += ['/DEBUG','/PDB:blender.pdb']
 
+#-----------------------------------------------------------------------------
+# Generic library generation environment. This one is the basis for each
+# library.
+#-----------------------------------------------------------------------------
+library_env = Environment ()
+library_env.Replace (CC = user_options_dict['TARGET_CC'])
+library_env.Replace (CXX = user_options_dict['TARGET_CXX'])
+library_env.Replace (PATH = user_options_dict['PATH'])
+library_env.Replace (AR = user_options_dict['TARGET_AR'])
+library_env.Append (CCFLAGS = cflags)
+library_env.Append (CXXFLAGS = cxxflags)
+library_env.Append (CPPDEFINES = defines)
+
 #-----------------------------------------------------------------------------
 # Settings to be exported to other SConscript files
 #-----------------------------------------------------------------------------
 
 Export ('cflags')
 Export ('defines')
-Export ('cxxflags')
 Export ('window_system')
 Export ('extra_includes')
 Export ('platform_libs')
 Export ('platform_libpath')
 Export ('platform_linkflags')
 Export ('user_options_dict')
+Export ('library_env')
 
 BuildDir (root_build_dir+'/intern', 'intern', duplicate=0)
 SConscript (root_build_dir+'intern/SConscript')
@@ -757,7 +782,13 @@ libraries = (['blender_creator',
 
 link_env.Append (LIBS=libraries)
 link_env.Append (LIBPATH=libpath)
-link_env.Append (CPPDEFINES=defines)
+link_env.Replace (CC = user_options_dict['TARGET_CC'])
+link_env.Replace (CXX = user_options_dict['TARGET_CXX'])
+link_env.Replace (PATH = user_options_dict['PATH'])
+link_env.Replace (AR = user_options_dict['TARGET_AR'])
+link_env.Append (CCFLAGS = cflags)
+link_env.Append (CXXFLAGS = cxxflags)
+link_env.Append (CPPDEFINES = defines)
 
 if user_options_dict['USE_INTERNATIONAL'] == 1:
     link_env.Append (LIBS=user_options_dict['FREETYPE_LIBRARY'])
@@ -837,7 +868,6 @@ if user_options_dict['BUILD_BLENDER_DYNAMIC'] == 1:
                                          'BUILD_TYPE=\'"dynamic"\'',
                                          'NAN_BUILDINFO',
                                          'BUILD_PLATFORM=\'"%s"\''%(sys.platform)])
-    dy_blender.Append (CCFLAGS=cflags)
     d_obj = [dy_blender.Object (root_build_dir+'source/creator/d_buildinfo',
                                 [root_build_dir+'source/creator/buildinfo.c'])]
     if sys.platform == 'win32':
@@ -847,13 +877,16 @@ if user_options_dict['BUILD_BLENDER_DYNAMIC'] == 1:
         dy_blender.Program (target='blender', source=d_obj)
 if user_options_dict['BUILD_BLENDER_STATIC'] == 1:
     st_blender = link_env.Copy ()
+    # The next line is to make sure that the LINKFLAGS are appended at the end
+    # of the link command. This 'trick' is needed because the GL and GLU static
+    # libraries need to be at the end of the command.
+    st_blender.Replace(LINKCOM="$LINK -o $TARGET $SOURCES $_LIBDIRFLAGS $_LIBFLAGS $LINKFLAGS")
     if user_options_dict['USE_BUILDINFO'] == 1:
         st_blender.Append (CPPDEFINES = ['BUILD_TIME=\'"%s"\''%(build_time),
                                          'BUILD_DATE=\'"%s"\''%(build_date),
                                          'BUILD_TYPE=\'"static"\'',
                                          'NAN_BUILDINFO',
                                          'BUILD_PLATFORM=\'"%s"\''%(sys.platform)])
-    st_blender.Append (CCFLAGS=cflags)
     st_blender.Append (LINKFLAGS=user_options_dict['OPENGL_STATIC'])
     s_obj = [st_blender.Object (root_build_dir+'source/creator/s_buildinfo',
                                 [root_build_dir+'source/creator/buildinfo.c'])]
index 89a0716..6da9be3 100644 (file)
@@ -1,17 +1,10 @@
-# TODO: Add the options for building with fmod and/or OpenAL
 import sys
 
-soundsys_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
 Import ('extra_includes')
+Import ('library_env')
 
-soundsys_env.Append (CCFLAGS = cflags)
-soundsys_env.Append (CXXFLAGS = cxxflags)
+soundsys_env = library_env.Copy ()
 
 source_files = ['dummy/SND_DummyDevice.cpp',
                 'intern/SND_AudioDevice.cpp',
@@ -39,7 +32,6 @@ if user_options_dict['USE_OPENAL'] == 1:
     soundsys_env.Append (CPPPATH=user_options_dict['OPENAL_INCLUDE'])
     if sys.platform=='win32':
         defines += ['_LIB']
-        soundsys_env.Append(CPPDEFINES = defines)
         
 if user_options_dict['USE_FMOD'] == 1:
     source_files += ['fmod/SND_FmodDevice.cpp']
index 5779fd2..c520776 100644 (file)
@@ -1,13 +1,7 @@
-bmfont_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-bmfont_env.Append (CCFLAGS = cflags)
-bmfont_env.Append (CXXFLAGS = cxxflags)
-bmfont_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+bmfont_env = library_env.Copy ()
 
 source_files = ['intern/BMF_Api.cpp',
                 'intern/BMF_BitmapFont.cpp',
index 975c9c9..dd21285 100644 (file)
@@ -1,13 +1,7 @@
-bsp_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-bsp_env.Append (CCFLAGS = cflags)
-bsp_env.Append (CXXFLAGS = cxxflags)
-bsp_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+bsp_env = library_env.Copy ()
 
 source_files = ['intern/BSP_CSGHelper.cpp',
                 'intern/BSP_CSGMesh.cpp',
index 6e03cc9..e7b8e09 100644 (file)
@@ -1,13 +1,7 @@
-cont_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-cont_env.Append (CCFLAGS = cflags)
-cont_env.Append (CXXFLAGS = cxxflags)
-cont_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+cont_env = library_env.Copy ()
 
 source_files = ['intern/CTR_List.cpp']
 
index 8bb7b98..b4b8fa0 100644 (file)
@@ -1,13 +1,7 @@
-dec_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-dec_env.Append (CCFLAGS = cflags)
-dec_env.Append (CXXFLAGS = cxxflags)
-dec_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+dec_env = library_env.Copy ()
 
 source_files = ['intern/LOD_EdgeCollapser.cpp',
                 'intern/LOD_ExternNormalEditor.cpp',
index 7dbcb27..6b58f05 100644 (file)
@@ -1,14 +1,8 @@
-ghost_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
+Import ('library_env')
 Import ('window_system')
-ghost_env.Append (CCFLAGS = cflags)
-ghost_env.Append (CXXFLAGS = cxxflags)
-ghost_env.Append (CPPDEFINES = defines)
+
+ghost_env = library_env.Copy ()
 
 source_files = ['intern/GHOST_Buttons.cpp',
                 'intern/GHOST_C-api.cpp',
index 21e2c8f..8fdcafb 100644 (file)
@@ -1,13 +1,7 @@
-guardal_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-guardal_env.Append (CCFLAGS = cflags)
-guardal_env.Append (CXXFLAGS = cxxflags)
-guardal_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+guardal_env = library_env.Copy ()
 
 source_files = ['intern/mallocn.c']
 
index 0121024..7a8b60b 100644 (file)
@@ -1,13 +1,7 @@
-iksolver_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-iksolver_env.Append (CCFLAGS = cflags)
-iksolver_env.Append (CXXFLAGS = cxxflags)
-iksolver_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+iksolver_env = library_env.Copy ()
 
 source_files = ['intern/IK_QChain.cpp',
                 'intern/IK_QJacobianSolver.cpp',
index 6bc45f6..bac0672 100644 (file)
@@ -1,13 +1,7 @@
-memutil_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-memutil_env.Append (CCFLAGS = cflags)
-memutil_env.Append (CXXFLAGS = cxxflags)
-memutil_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+memutil_env = library_env.Copy ()
 
 source_files = ['intern/MEM_RefCountedC-Api.cpp']
 
index cc74c94..502dd09 100644 (file)
@@ -1,13 +1,7 @@
-moto_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-moto_env.Append (CCFLAGS = cflags)
-moto_env.Append (CXXFLAGS = cxxflags)
-moto_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+moto_env = library_env.Copy ()
 
 source_files = ['intern/MT_CmMatrix4x4.cpp',
                 'intern/MT_Matrix3x3.cpp',
index 14304ec..8cceecc 100644 (file)
@@ -1,13 +1,7 @@
-string_env = Environment ()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-string_env.Append (CCFLAGS = cflags)
-string_env.Append (CXXFLAGS = cxxflags)
-string_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+string_env = library_env.Copy ()
 
 source_files = ['intern/STR_String.cpp']
 
index 752b647..0b5fce4 100644 (file)
@@ -1,14 +1,8 @@
-avi_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('extra_includes')
 Import ('user_options_dict')
-avi_env.Append (CCFLAGS = cflags)
-avi_env.Append (CXXFLAGS = cxxflags)
-avi_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+avi_env = library_env.Copy ()
 
 source_files = ['intern/avi.c',
                 'intern/avirgb.c',
index 4799806..35fb11d 100644 (file)
@@ -1,13 +1,7 @@
-blenkernel_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-blenkernel_env.Append (CCFLAGS = cflags)
-blenkernel_env.Append (CXXFLAGS = cxxflags)
-blenkernel_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+blenkernel_env = library_env.Copy ()
 
 source_files = ['intern/constraint.c',
                 'intern/group.c',
index bc36cd2..f26d7e8 100644 (file)
@@ -1,14 +1,8 @@
-blenlib_env = Environment ()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('extra_includes')
 Import ('user_options_dict')
-blenlib_env.Append (CCFLAGS = cflags)
-blenlib_env.Append (CXXFLAGS = cxxflags)
-blenlib_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+blenlib_env = library_env.Copy ()
 
 source_files = ['intern/BLI_dynstr.c',
                 'intern/BLI_ghash.c',
index fdaa06a..26796a8 100644 (file)
@@ -1,13 +1,7 @@
-blenloader_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-blenloader_env.Append (CCFLAGS = cflags)
-blenloader_env.Append (CXXFLAGS = cxxflags)
-blenloader_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+blenloader_env = library_env.Copy ()
 
 source_files = ['intern/genfile.c',
                 'intern/readblenentry.c',
index 91854db..2077f7a 100644 (file)
@@ -1,13 +1,7 @@
-blenplugin_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-blenplugin_env.Append (CCFLAGS = cflags)
-blenplugin_env.Append (CXXFLAGS = cxxflags)
-blenplugin_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+blenplugin_env = library_env.Copy ()
 
 source_files = ['intern/pluginapi.c']
 
index 06604f8..400c290 100644 (file)
@@ -1,14 +1,8 @@
-deflate_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('extra_includes')
 Import ('user_options_dict')
-deflate_env.Append (CCFLAGS = cflags)
-deflate_env.Append (CXXFLAGS = cxxflags)
-deflate_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+deflate_env = library_env.Copy ()
 
 source_files = ['intern/BLO_deflate.c']
 
index 8cfe422..bb73cc2 100644 (file)
@@ -1,9 +1,8 @@
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
 Import ('extra_includes')
-Import ('defines')
 Import ('user_options_dict')
+Import ('library_env')
+
+ftf_env = library_env.Copy ()
 
 source_files = ['intern/FTF_Api.cpp',
                 'intern/FTF_TTFont.cpp']
@@ -13,14 +12,10 @@ include_paths = ['.',
                  '../blenlib',
                  '../makesdna']
                  
-ftf_env = Environment()
 ftf_env.Append(CPPPATH = extra_includes)
 ftf_env.Append(CPPPATH = include_paths)
 ftf_env.Prepend (CPPPATH = user_options_dict['FTGL_INCLUDE'])
 ftf_env.Prepend (CPPPATH = user_options_dict['FREETYPE_INCLUDE'])
 ftf_env.Prepend (CPPPATH = user_options_dict['GETTEXT_INCLUDE'])
-ftf_env.Append(CCFLAGS = cflags)
-ftf_env.Append(CXXFLAGS = cxxflags)
-ftf_env.Append(CPPDEFINES = defines)
 ftf_env.Append(CPPDEFINES = 'FTGL_STATIC_LIBRARY')
 ftf_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/blender_FTF', source=source_files)
index d338738..60910aa 100644 (file)
@@ -1,14 +1,8 @@
-imbuf_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('extra_includes')
 Import ('user_options_dict')
-imbuf_env.Append (CCFLAGS = cflags)
-imbuf_env.Append (CXXFLAGS = cxxflags)
-imbuf_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+imbuf_env = library_env.Copy ()
 
 source_files = ['intern/allocimbuf.c',
                 'intern/amiga.c',
index 99f8d84..2ea4101 100644 (file)
@@ -1,13 +1,7 @@
-img_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-img_env.Append (CCFLAGS = cflags)
-img_env.Append (CXXFLAGS = cxxflags)
-img_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+img_env = library_env.Copy ()
 
 source_files = ['intern/IMG_Api.cpp',
                 'intern/IMG_BrushRGBA32.cpp',
index cca725d..54d2ae4 100644 (file)
@@ -1,15 +1,8 @@
-inflate_env = Environment ()
-# TODO: add the option to build with Quicktime
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('extra_includes')
 Import ('user_options_dict')
-inflate_env.Append (CCFLAGS = cflags)
-inflate_env.Append (CXXFLAGS = cxxflags)
-inflate_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+inflate_env = library_env.Copy ()
 
 source_files = ['intern/BLO_inflate.c']
 
index a73336c..793d36f 100644 (file)
@@ -1,13 +1,7 @@
-makesdna_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-makesdna_env.Append (CCFLAGS = cflags)
-makesdna_env.Append (CXXFLAGS = cxxflags)
-makesdna_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+makesdna_env = library_env.Copy ()
 
 objs = []
 
index 5924dcb..85f339b 100644 (file)
@@ -1,7 +1,6 @@
 import sys
 # Import the C flags set in the SConstruct file
 Import ('cflags')
-Import ('cxxflags')
 Import ('defines')
 Import ('platform_libs')
 Import ('platform_libpath')
@@ -29,8 +28,10 @@ makesdna_tool = Environment (CCFLAGS='-DBASE_HEADER="\\"source/blender/makesdna/
 makesdna_tool.Append (CPPPATH = ['#/intern/guardedalloc',
                                  '..'])
 
+makesdna_tool.Replace (CC = user_options_dict['HOST_CC'])
+makesdna_tool.Replace (PATH = user_options_dict['PATH'])
+
 makesdna_tool.Append (CCFLAGS = cflags)
-makesdna_tool.Append (CXXFLAGS = cxxflags)
 makesdna_tool.Append (CPPDEFINES = defines)
 makesdna_tool.Append (LINKFLAGS = platform_linkflags)
 makesdna_tool.Append (LIBPATH = '#'+user_options_dict['BUILD_DIR']+'/lib')
index d8780a4..21cc9d5 100644 (file)
@@ -1,14 +1,8 @@
-python_env = Environment ()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('extra_includes')
 Import ('user_options_dict')
-python_env.Append (CCFLAGS = cflags)
-python_env.Append (CXXFLAGS = cxxflags)
-python_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+python_env = library_env.Copy ()
 
 source_files = ['BPY_interface.c',
                 'BPY_menus.c',
@@ -45,8 +39,8 @@ source_files = ['BPY_interface.c',
                 'api2_2x/vector.c',
                 'api2_2x/constant.c',
                 'api2_2x/matrix.c',
-                   'api2_2x/euler.c',
-                   'api2_2x/quat.c',
+                'api2_2x/euler.c',
+                'api2_2x/quat.c',
                 'api2_2x/Mathutils.c',
                 'api2_2x/rgbTuple.c',
                 'api2_2x/gen_utils.c',
index 07c2239..5a37d18 100644 (file)
@@ -1,15 +1,10 @@
-quicktime_env = Environment ()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
 Import ('extra_includes')
-Import ('defines')
 Import ('user_options_dict')
-quicktime_env.Append (CCFLAGS = cflags)
-quicktime_env.Append (CXXFLAGS = cxxflags)
+Import ('library_env')
+
+quicktime_env = library_env.Copy ()
+
 quicktime_env.Append (CPPPATH = extra_includes)
-quicktime_env.Append (CPPDEFINES = defines)
 
 source_files = ['apple/quicktime_import.c',
                 'apple/quicktime_export.c']
index 512d7da..2e7be6a 100644 (file)
@@ -1,13 +1,7 @@
-rad_env = Environment ()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-rad_env.Append (CCFLAGS = cflags)
-rad_env.Append (CXXFLAGS = cxxflags)
-rad_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+rad_env = library_env.Copy ()
 
 source_files = ['intern/source/raddisplay.c',
                 'intern/source/radfactors.c',
index 4452b21..6967173 100644 (file)
@@ -1,13 +1,7 @@
-readblenfile_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-readblenfile_env.Append (CCFLAGS = cflags)
-readblenfile_env.Append (CXXFLAGS = cxxflags)
-readblenfile_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+readblenfile_env = library_env.Copy ()
 
 source_files = ['intern/BLO_readblenfile.c']
 
index a77806d..2a7484a 100644 (file)
@@ -1,14 +1,8 @@
-readstrgl_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('extra_includes')
 Import ('user_options_dict')
-readstrgl_env.Append (CCFLAGS = cflags)
-readstrgl_env.Append (CXXFLAGS = cxxflags)
-readstrgl_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+readstrgl_env = library_env.Copy ()
 
 source_files = ['intern/BLO_readStreamGlue.c',
                 'intern/BLO_readStreamGlueLoopBack.c']
index ea9d30a..5bce095 100644 (file)
@@ -1,13 +1,7 @@
-render_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-render_env.Append (CCFLAGS = cflags)
-render_env.Append (CXXFLAGS = cxxflags)
-render_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+render_env = library_env.Copy ()
 
 source_files = ['intern/source/RE_callbacks.c',
                 'intern/source/edgeRender.c',
index 1cd12c1..5ab99c0 100644 (file)
@@ -1,13 +1,7 @@
-renderconv_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-renderconv_env.Append (CCFLAGS = cflags)
-renderconv_env.Append (CXXFLAGS = cxxflags)
-renderconv_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+renderconv_env = library_env.Copy ()
 
 source_files = ['intern/convertBlenderScene.c']
 
index 4e43465..c558620 100644 (file)
@@ -1,15 +1,9 @@
-src_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('extra_includes')
 Import ('user_options_dict')
-src_env.Append (CCFLAGS = cflags)
+Import ('library_env')
+
+src_env = library_env.Copy ()
 src_env.Append (CCFLAGS = user_options_dict['SDL_CFLAGS'])
-src_env.Append (CXXFLAGS = cxxflags)
-src_env.Append (CPPDEFINES = defines)
 
 source_files = ['B.blend.c',
                 'Bfont.c',
index 6a30c7d..8e7efda 100644 (file)
@@ -1,14 +1,8 @@
-wrblenfile_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('extra_includes')
 Import ('user_options_dict')
-wrblenfile_env.Append (CCFLAGS = cflags)
-wrblenfile_env.Append (CXXFLAGS = cxxflags)
-wrblenfile_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+wrblenfile_env = library_env.Copy ()
 
 source_files = ['intern/BLO_writeblenfile.c']
 
index 0973f27..1a41ece 100644 (file)
@@ -1,14 +1,8 @@
-wrstrgl_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('extra_includes')
 Import ('user_options_dict')
-wrstrgl_env.Append (CCFLAGS = cflags)
-wrstrgl_env.Append (CXXFLAGS = cxxflags)
-wrstrgl_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+wrstrgl_env = library_env.Copy ()
 
 source_files = ['intern/BLO_dumpFromMemory.c',
                 'intern/BLO_getPubKey.c',
index 88cc6ff..ad0f4c6 100644 (file)
@@ -1,13 +1,7 @@
-yafray_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-yafray_env.Append (CCFLAGS = cflags)
-yafray_env.Append (CXXFLAGS = cxxflags)
-yafray_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+yafray_env = library_env.Copy ()
 
 source_files = ['intern/yafray_Render.cpp',
                 'intern/export_File.cpp',
index 6210f57..749fb6b 100644 (file)
@@ -1,12 +1,7 @@
-creator_env = Environment ()
-
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-creator_env.Append (CCFLAGS = cflags)
-creator_env.Append (CXXFLAGS = cxxflags)
-creator_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+creator_env = library_env.Copy ()
 
 source_files = ['creator.c']
 
index bd6e42d..594f516 100755 (executable)
@@ -1,13 +1,7 @@
-kx_blenderhook_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-kx_blenderhook_env.Append (CCFLAGS = cflags)
-kx_blenderhook_env.Append (CXXFLAGS = cxxflags)
-kx_blenderhook_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+kx_blenderhook_env = library_env.Copy ()
 
 source_files = ['KX_BlenderSystem.cpp',
                 'KX_BlenderRenderTools.cpp',
index 81968e1..a488ce8 100755 (executable)
@@ -1,13 +1,7 @@
-kx_converter_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-kx_converter_env.Append (CCFLAGS = cflags)
-kx_converter_env.Append (CXXFLAGS = cxxflags)
-kx_converter_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+kx_converter_env = library_env.Copy ()
 
 source_files = ['KX_IpoConvert.cpp',
                 'KX_ConvertSensors.cpp',
index 4ee0e32..a5d748e 100755 (executable)
@@ -1,13 +1,7 @@
-expressions_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-expressions_env.Append (CCFLAGS = cflags)
-expressions_env.Append (CXXFLAGS = cxxflags)
-expressions_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+expressions_env = library_env.Copy ()
 
 source_files = ['BoolValue.cpp',
                 'ConstExpr.cpp',
index 5659b51..3d086af 100755 (executable)
@@ -1,13 +1,7 @@
-sca_gamelogic_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-sca_gamelogic_env.Append (CCFLAGS = cflags)
-sca_gamelogic_env.Append (CXXFLAGS = cxxflags)
-sca_gamelogic_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+sca_gamelogic_env = library_env.Copy ()
 
 source_files = ['SCA_ANDController.cpp',
                 'SCA_AlwaysEventManager.cpp',
index 2f4be26..50d99d5 100755 (executable)
@@ -1,13 +1,7 @@
-kx_network_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-kx_network_env.Append (CCFLAGS = cflags)
-kx_network_env.Append (CXXFLAGS = cxxflags)
-kx_network_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+kx_network_env = library_env.Copy ()
 
 source_files = ['KX_NetworkEventManager.cpp',
                 'KX_NetworkMessageActuator.cpp',
index 489d112..fddf476 100644 (file)
@@ -1,13 +1,7 @@
-ketsji_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-ketsji_env.Append (CCFLAGS = cflags)
-ketsji_env.Append (CXXFLAGS = cxxflags)
-ketsji_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+ketsji_env = library_env.Copy ()
 
 source_files = ['KX_WorldIpoController.cpp',
                 'KX_WorldInfo.cpp',
index 6515790..2233a18 100755 (executable)
@@ -1,13 +1,7 @@
-ng_loopbacknetwork_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-ng_loopbacknetwork_env.Append (CCFLAGS = cflags)
-ng_loopbacknetwork_env.Append (CXXFLAGS = cxxflags)
-ng_loopbacknetwork_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+ng_loopbacknetwork_env = library_env.Copy ()
 
 source_files = ['NG_LoopBackNetworkDeviceInterface.cpp']
 
index 15c42ca..3b050bf 100755 (executable)
@@ -1,13 +1,7 @@
-ng_network_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-ng_network_env.Append (CCFLAGS = cflags)
-ng_network_env.Append (CXXFLAGS = cxxflags)
-ng_network_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+ng_network_env = library_env.Copy ()
 
 source_files = ['NG_NetworkMessage.cpp',
                 'NG_NetworkObject.cpp',
index 03be5c1..ff06d91 100755 (executable)
@@ -1,13 +1,7 @@
-phy_ode_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-phy_ode_env.Append (CCFLAGS = cflags)
-phy_ode_env.Append (CXXFLAGS = cxxflags)
-phy_ode_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+phy_ode_env = library_env.Copy ()
 
 source_files = ['OdePhysicsController.cpp',
                 'OdePhysicsEnvironment.cpp']
index 7d63491..80a1e78 100755 (executable)
@@ -1,13 +1,7 @@
-phy_dummy_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-phy_dummy_env.Append (CCFLAGS = cflags)
-phy_dummy_env.Append (CXXFLAGS = cxxflags)
-phy_dummy_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+phy_dummy_env = library_env.Copy ()
 
 source_files = ['DummyPhysicsEnvironment.cpp']
 
index 556b470..c58e98c 100755 (executable)
@@ -1,14 +1,7 @@
-phy_sumo_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
-Import ('solid_include')
 Import ('user_options_dict')
-phy_sumo_env.Append (CCFLAGS = cflags)
-phy_sumo_env.Append (CXXFLAGS = cxxflags)
-phy_sumo_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+phy_sumo_env = library_env.Copy ()
 
 source_files = ['SumoPhysicsController.cpp',
                 'SumoPhysicsEnvironment.cpp',
@@ -19,8 +12,9 @@ source_files = ['SumoPhysicsController.cpp',
 phy_sumo_env.Append (CPPPATH = ['.',
                                 '../common',
                                 'Fuzzics/include',
-                                solid_include,
                                 '#/intern/moto/include'
                                ])
 
+phy_sumo_env.Append (CPPPATH = user_options_dict['solid_include'])
+
 phy_sumo_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/PHY_Sumo', source=source_files)
index 016f06b..07a1cea 100755 (executable)
@@ -1,13 +1,7 @@
-phy_physics_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-phy_physics_env.Append (CCFLAGS = cflags)
-phy_physics_env.Append (CXXFLAGS = cxxflags)
-phy_physics_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+phy_physics_env = library_env.Copy ()
 
 source_files = ['PHY_IMotionState.cpp',
                 'PHY_IPhysicsController.cpp',
index 8874744..003ddbf 100755 (executable)
@@ -1,13 +1,7 @@
-ras_openglrasterizer_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-ras_openglrasterizer_env.Append (CCFLAGS = cflags)
-ras_openglrasterizer_env.Append (CXXFLAGS = cxxflags)
-ras_openglrasterizer_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+ras_openglrasterizer_env = library_env.Copy ()
 
 source_files = ['RAS_CheckVertexArrays.cpp',
                 'RAS_OpenGLRasterizer.cpp',
index b27992e..41cf80d 100755 (executable)
@@ -1,13 +1,7 @@
-ras_rasterizer_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-ras_rasterizer_env.Append (CCFLAGS = cflags)
-ras_rasterizer_env.Append (CXXFLAGS = cxxflags)
-ras_rasterizer_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+ras_rasterizer_env = library_env.Copy ()
 
 source_files = ['RAS_BucketManager.cpp',
                 'RAS_FramingManager.cpp',
index 4e98000..3782d60 100755 (executable)
@@ -1,13 +1,7 @@
-sg_scenegraph_env = Environment()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-sg_scenegraph_env.Append (CCFLAGS = cflags)
-sg_scenegraph_env.Append (CXXFLAGS = cxxflags)
-sg_scenegraph_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+sg_scenegraph_env = library_env.Copy ()
 
 source_files = ['SG_Controller.cpp',
                 'SG_IObject.cpp',
index 88e968b..d9d8f91 100644 (file)
@@ -1,13 +1,7 @@
-kernel_env = Environment ()
-
-# Import the C flags set in the SConstruct file
-Import ('cflags')
-Import ('cxxflags')
-Import ('defines')
 Import ('user_options_dict')
-kernel_env.Append (CCFLAGS = cflags)
-kernel_env.Append (CXXFLAGS = cxxflags)
-kernel_env.Append (CPPDEFINES = defines)
+Import ('library_env')
+
+kernel_env = library_env.Copy ()
 
 source_files = ['gen_messaging/intern/messaging.c',
                 'gen_system/GEN_HashedPtr.cpp',