== SCons ==
authorNathan Letwory <nathan@letworyinteractive.com>
Tue, 1 Sep 2009 23:32:34 +0000 (23:32 +0000)
committerNathan Letwory <nathan@letworyinteractive.com>
Tue, 1 Sep 2009 23:32:34 +0000 (23:32 +0000)
* Add BGE_CXXFLAGS so we can get rid of hard-coded BGE compiler settings. This was only done for windows, but now linuxers and osxers should be able to set BGE-specific optimisation too. See the windows default configs for example.

17 files changed:
config/win32-vc-config.py
config/win64-vc-config.py
source/gameengine/BlenderRoutines/SConscript
source/gameengine/Converter/SConscript
source/gameengine/Expressions/SConscript
source/gameengine/GameLogic/SConscript
source/gameengine/GamePlayer/common/SConscript
source/gameengine/GamePlayer/ghost/SConscript
source/gameengine/Ketsji/KXNetwork/SConscript
source/gameengine/Ketsji/SConscript
source/gameengine/Physics/Bullet/SConscript
source/gameengine/Physics/common/SConscript
source/gameengine/Rasterizer/RAS_OpenGLRasterizer/SConscript
source/gameengine/Rasterizer/SConscript
source/gameengine/SceneGraph/SConscript
source/gameengine/VideoTexture/SConscript
tools/btools.py

index c50f41b..5c4342d 100644 (file)
@@ -149,6 +149,7 @@ CXX = 'cl.exe'
 
 CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
 CXXFLAGS = ['/EHsc']
+BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast']
 
 BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr']
 
index ed08e57..abc90c8 100644 (file)
@@ -163,6 +163,7 @@ CXX = 'cl.exe'
 CFLAGS = []
 CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
 CXXFLAGS = ['/EHsc']
+BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast']
 
 BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr']
 
index eb5f2a7..dc5a93a 100644 (file)
@@ -28,10 +28,4 @@ incs += ' ' + env['BF_PYTHON_INC']
 incs += ' ' + env['BF_BULLET_INC']
 incs += ' ' + env['BF_OPENGL_INC']
 
-cxxflags = []
-if env['OURPLATFORM'] in ('win32-vc','win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
-
-env.BlenderLib ( 'bf_bloutines', sources, Split(incs), defs, libtype=['core', 'player'], priority=[300, 45] , cxx_compileflags=cxxflags)
+env.BlenderLib ( 'bf_bloutines', sources, Split(incs), defs, libtype=['core', 'player'], priority=[300, 45] , cxx_compileflags=env['BGE_CXXFLAGS'])
index 7d31856..9164a9f 100644 (file)
@@ -23,4 +23,4 @@ incs += ' #source/blender/makesrna'
 incs += ' ' + env['BF_PYTHON_INC']
 incs += ' ' + env['BF_BULLET_INC']
 
-env.BlenderLib ( 'bf_converter', sources, Split(incs), defs, libtype=['core','player'], priority=[305,50] )
+env.BlenderLib ( 'bf_converter', sources, Split(incs), defs, libtype=['core','player'], priority=[305,50], cxx_compileflags=env['BGE_CXXFLAGS'])
index 69f87ff..dc9c184 100644 (file)
@@ -6,10 +6,4 @@ sources = env.Glob('*.cpp')
 incs ='. #source/kernel/gen_system #intern/string #intern/moto/include #source/gameengine/SceneGraph #source/blender/blenloader'
 incs += ' ' + env['BF_PYTHON_INC']
 
-cxxflags = []
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
-
-env.BlenderLib ( 'bf_expressions', sources, Split(incs), [], libtype=['core','player'], priority = [360,120], cxx_compileflags=cxxflags)
+env.BlenderLib ( 'bf_expressions', sources, Split(incs), [], libtype=['core','player'], priority = [360,120], cxx_compileflags=env['BGE_CXXFLAGS'])
index 837769e..f259a33 100644 (file)
@@ -17,12 +17,8 @@ if env['WITH_BF_SDL']:
 else:
        defs.append('DISABLE_SDL')
 
-cxxflags = []
 if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
        if env['BF_DEBUG']:
                defs.append('_DEBUG')
 
-env.BlenderLib ( 'bf_logic', sources, Split(incs), defs, libtype=['core','player'], priority=[330, 100], cxx_compileflags=cxxflags )
+env.BlenderLib ( 'bf_logic', sources, Split(incs), defs, libtype=['core','player'], priority=[330, 100], cxx_compileflags=env['BGE_CXXFLAGS'])
index 1942cde..3ac2576 100644 (file)
@@ -62,10 +62,4 @@ incs += Split(env['BF_PYTHON_INC'])
 incs += Split(env['BF_PNG_INC'])
 incs += Split(env['BF_ZLIB_INC'])
 
-cxxflags = []
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
-
-env.BlenderLib (libname='gp_common', sources=source_files, includes=incs, defines = [], libtype='player', priority=5, cxx_compileflags=cxxflags)
+env.BlenderLib (libname='gp_common', sources=source_files, includes=incs, defines = [], libtype='player', priority=5, cxx_compileflags=env['BGE_CXXFLAGS'])
index 83bc613..ce8b07b 100644 (file)
@@ -42,14 +42,8 @@ incs = ['.',
 
 incs += Split(env['BF_PYTHON_INC'])
 
-cxxflags = []
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
-
-defs = ''
+defs = []
 if env['WITH_BF_FFMPEG']:
-    defs += ' WITH_FFMPEG'
+    defs.append('WITH_FFMPEG')
 
-env.BlenderLib (libname='gp_ghost', sources=source_files, includes = incs, defines = Split(defs), libtype='player',priority=5, cxx_compileflags=cxxflags)
+env.BlenderLib (libname='gp_ghost', sources=source_files, includes = incs, defines = defs, libtype='player',priority=5, cxx_compileflags=env['BGE_CXXFLAGS'])
index e6584b5..ce4a29b 100644 (file)
@@ -9,11 +9,4 @@ incs += ' #source/gameengine/Network #source/gameengine/SceneGraph'
 
 incs += ' ' + env['BF_PYTHON_INC']
 
-cxxflags = []
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
-
-
-env.BlenderLib ( 'kx_network', Split(sources), Split(incs), defines=[],libtype=['core', 'player'], priority=[400, 145], cxx_compileflags=cxxflags )
+env.BlenderLib ( 'kx_network', Split(sources), Split(incs), defines=[],libtype=['core', 'player'], priority=[400, 145], cxx_compileflags=env['BGE_CXXFLAGS'])
index d3b67cf..ea9d32f 100644 (file)
@@ -29,12 +29,8 @@ if  env['WITH_BF_SDL']:
 else:
        defs.append('DISABLE_SDL')
        
-cxxflags = []
 if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
        if env['BF_DEBUG']:
                defs.append('_DEBUG') # for Python
 
-env.BlenderLib ( 'bf_ketsji', sources, Split(incs), defs, libtype=['core','player'], priority=[320, 60], cxx_compileflags = cxxflags )
+env.BlenderLib ( 'bf_ketsji', sources, Split(incs), defs, libtype=['core','player'], priority=[320, 60], cxx_compileflags=env['BGE_CXXFLAGS'])
index 44b7540..0b797c2 100644 (file)
@@ -21,10 +21,4 @@ incs += ' #intern/guardedalloc'
 incs += ' ' + env['BF_BULLET_INC']
 incs += ' ' + env['BF_PYTHON_INC']
 
-cxxflags = []
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
-
-env.BlenderLib ( 'bf_bullet', Split(sources), Split(incs), [], libtype=['core','player'], priority=[350,80], cxx_compileflags=cxxflags )
+env.BlenderLib ( 'bf_bullet', Split(sources), Split(incs), [], libtype=['core','player'], priority=[350,80], cxx_compileflags=env['BGE_CXXFLAGS'])
index 447b0ec..8b373ec 100644 (file)
@@ -5,10 +5,4 @@ sources = 'PHY_IMotionState.cpp PHY_IController.cpp PHY_IPhysicsController.cpp P
 
 incs = '. ../Dummy #intern/moto/include'
 
-cxxflags = []
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
-
-env.BlenderLib ( 'bf_common', Split(sources), Split(incs), [], libtype=['core','player'], priority=[360, 90], cxx_compileflags = cxxflags )
+env.BlenderLib ( 'bf_common', Split(sources), Split(incs), [], libtype=['core','player'], priority=[360, 90], cxx_compileflags=env['BGE_CXXFLAGS'])
index e206c90..963c661 100644 (file)
@@ -8,10 +8,4 @@ incs += ' #source/blender/gpu #extern/glew/include ' + env['BF_OPENGL_INC']
 incs += ' #source/blender/gameengine/Ketsji #source/gameengine/SceneGraph #source/blender/makesdna #source/blender/blenkernel'
 incs += ' #intern/guardedalloc #source/blender/blenlib'
 
-cxxflags = []
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
-
-env.BlenderLib ( 'bf_oglrasterizer', Split(sources), Split(incs), [], libtype=['core','player'], priority=[350, 115], cxx_compileflags = cxxflags )
+env.BlenderLib ( 'bf_oglrasterizer', Split(sources), Split(incs), [], libtype=['core','player'], priority=[350, 115], cxx_compileflags=env['BGE_CXXFLAGS'])
index 255131f..c2af14e 100644 (file)
@@ -7,10 +7,4 @@ sources = env.Glob('*.cpp')
 incs = '. #source/kernel/gen_system #intern/string #intern/moto/include #source/gameengine/BlenderRoutines #extern/glew/include #source/gameengine/Expressions #source/gameengine/SceneGraph #source/blender/blenkernel #source/blender/makesdna'
 incs += ' ' + env['BF_PYTHON_INC']
 
-cxxflags = []
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
-
-env.BlenderLib ( 'bf_rasterizer', sources, Split(incs), [], libtype=['core','player'], priority=[350,115], cxx_compileflags = cxxflags )
+env.BlenderLib ( 'bf_rasterizer', sources, Split(incs), [], libtype=['core','player'], priority=[350,115], cxx_compileflags=env['BGE_CXXFLAGS'])
index b3db501..8f433a2 100644 (file)
@@ -6,10 +6,4 @@ sources = env.Glob('*.cpp')
 
 incs = '. #intern/moto/include'
 
-cxxflags = []
-if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
-
-env.BlenderLib ( 'bf_scenegraph', sources, Split(incs), [], libtype=['core','player'], priority=[325,125], cxx_compileflags = cxxflags )
+env.BlenderLib ( 'bf_scenegraph', sources, Split(incs), [], libtype=['core','player'], priority=[325,125], cxx_compileflags=env['BGE_CXXFLAGS'])
index d6b78f6..583ccf2 100644 (file)
@@ -15,15 +15,10 @@ incs += ' #source/blender/gpu #source/kernel/gen_system #intern/string #intern/m
 incs += ' #intern/guardedalloc #extern/glew/include'
 
 defs = [] 
-cxxflags = []
 if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
        if env['BF_DEBUG']:
                defs.append('_DEBUG')
 
-
 incs += ' ' + env['BF_PYTHON_INC']
 #incs += ' ' + env['BF_OPENGL_INC']
 
@@ -32,4 +27,4 @@ if env['WITH_BF_FFMPEG']:
     incs += ' ' + env['BF_FFMPEG_INC'] + ' ' + env['BF_PTHREADS_INC']
     defs.append('__STDC_CONSTANT_MACROS')
 
-env.BlenderLib ( 'bf_videotex', sources, Split(incs), defs, libtype=['core','player'], priority=[300, 72], cxx_compileflags = cxxflags )
+env.BlenderLib ( 'bf_videotex', sources, Split(incs), defs, libtype=['core','player'], priority=[300, 72], cxx_compileflags=env['BGE_CXXFLAGS'])
index 1ae952a..580a457 100755 (executable)
@@ -77,6 +77,7 @@ def validate_arguments(args, bc):
                        'BF_OPENGL_LINKFLAGS',
                        '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',
@@ -333,6 +334,7 @@ def read_opts(cfg, args):
                ('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', ''),