== 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 c50f41b6d4be74bde88d62aa704bff58b26e0a21..5c4342d4f304df5fcf23416ad0a9fe1a62c08b73 100644 (file)
@@ -149,6 +149,7 @@ CXX = 'cl.exe'
 
 CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
 CXXFLAGS = ['/EHsc']
 
 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']
 
 
 BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr']
 
index ed08e578df8a2212265902643bcc7a20ad398eda..abc90c84f334281d9ab7d2d49fce0c08872dd063 100644 (file)
@@ -163,6 +163,7 @@ CXX = 'cl.exe'
 CFLAGS = []
 CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
 CXXFLAGS = ['/EHsc']
 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']
 
 
 BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr']
 
index eb5f2a76e100a161fd2a7c2afb3c6d4d6b0e8e83..dc5a93a2e4816269d837075f8fe2c1c92bd3cc15 100644 (file)
@@ -28,10 +28,4 @@ incs += ' ' + env['BF_PYTHON_INC']
 incs += ' ' + env['BF_BULLET_INC']
 incs += ' ' + env['BF_OPENGL_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 7d3185605d59249dcc5f4c7a13b0c2b4f7d87adf..9164a9f6d78f3506d8b7d624c84ad23ccb7f1a2e 100644 (file)
@@ -23,4 +23,4 @@ incs += ' #source/blender/makesrna'
 incs += ' ' + env['BF_PYTHON_INC']
 incs += ' ' + env['BF_BULLET_INC']
 
 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 69f87ffbb90706eb5a19d9ace11c041b97b58f57..dc9c184fd8a4c75ae0e285ab9098819806e4a034 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']
 
 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 837769e5e7883e25e939422441877ec6ce74fe53..f259a338dc083e5312059d2ff90e34c133bf8546 100644 (file)
@@ -17,12 +17,8 @@ if env['WITH_BF_SDL']:
 else:
        defs.append('DISABLE_SDL')
 
 else:
        defs.append('DISABLE_SDL')
 
-cxxflags = []
 if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
 if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
        if env['BF_DEBUG']:
                defs.append('_DEBUG')
 
        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 1942cde2531a09476b02ec29e811d388f699c290..3ac2576b46d5b2b7abc49f153ea42ab814dbab25 100644 (file)
@@ -62,10 +62,4 @@ incs += Split(env['BF_PYTHON_INC'])
 incs += Split(env['BF_PNG_INC'])
 incs += Split(env['BF_ZLIB_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 83bc61381c06768ae714e528c4ece29b78d8ddfc..ce8b07b9393f7cf5e167e70e7efa65ecfc84117e 100644 (file)
@@ -42,14 +42,8 @@ incs = ['.',
 
 incs += Split(env['BF_PYTHON_INC'])
 
 
 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']:
 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 e6584b55ed24096ad94cc60852c65949ed6f5506..ce4a29b94921ff9575d887c6a4c6924beab5aaef 100644 (file)
@@ -9,11 +9,4 @@ incs += ' #source/gameengine/Network #source/gameengine/SceneGraph'
 
 incs += ' ' + env['BF_PYTHON_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 ( '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 d3b67cfdb118de79ea008f30c5d3cf51a04e1739..ea9d32fa0bf29d64a10484d4240622fbc3f729fa 100644 (file)
@@ -29,12 +29,8 @@ if  env['WITH_BF_SDL']:
 else:
        defs.append('DISABLE_SDL')
        
 else:
        defs.append('DISABLE_SDL')
        
-cxxflags = []
 if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
 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
 
        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 44b7540263050f09a8f3a9b485b7e3da44feb74b..0b797c2cb8be7d07a8ad369e3622fa680125bd62 100644 (file)
@@ -21,10 +21,4 @@ incs += ' #intern/guardedalloc'
 incs += ' ' + env['BF_BULLET_INC']
 incs += ' ' + env['BF_PYTHON_INC']
 
 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 447b0ec1bbb5a89c50130e171f5d41bb5ddc1109..8b373ec830cb3b75a69b516c83a3f8b479f4a6a7 100644 (file)
@@ -5,10 +5,4 @@ sources = 'PHY_IMotionState.cpp PHY_IController.cpp PHY_IPhysicsController.cpp P
 
 incs = '. ../Dummy #intern/moto/include'
 
 
 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 e206c90ea253ba2c4b81080b1856d8b8da5c42ec..963c6616b64b08061a3f8224f7372bc9871a07b1 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'
 
 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 255131f9a4495b4bc917070450371047cb6bff01..c2af14e8ce5e1d95e3bab297d7c286d93a6ed18f 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']
 
 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 b3db50117f175c5e119863ac1c4c3bcb02e014a3..8f433a21e4958f459cdcbbdd727a606fdce28ff9 100644 (file)
@@ -6,10 +6,4 @@ sources = env.Glob('*.cpp')
 
 incs = '. #intern/moto/include'
 
 
 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 d6b78f6d1a69183671cd5cb6418526f003c6c710..583ccf29dbd0359af77e88569b64c65df7925b39 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 = [] 
 incs += ' #intern/guardedalloc #extern/glew/include'
 
 defs = [] 
-cxxflags = []
 if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
 if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
-       cxxflags.append ('/GR')
-       cxxflags.append ('/O2')
-       cxxflags.append ('/EHsc')
        if env['BF_DEBUG']:
                defs.append('_DEBUG')
 
        if env['BF_DEBUG']:
                defs.append('_DEBUG')
 
-
 incs += ' ' + env['BF_PYTHON_INC']
 #incs += ' ' + env['BF_OPENGL_INC']
 
 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')
 
     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 1ae952adbc71d4cb242d47998a132eb1a8a9c12f..580a457e3a09cd7cdedbaf9b40722aac57331d39 100755 (executable)
@@ -77,6 +77,7 @@ def validate_arguments(args, bc):
                        'BF_OPENGL_LINKFLAGS',
                        'CFLAGS', 'CCFLAGS', 'CXXFLAGS', 'CPPFLAGS',
                        'REL_CFLAGS', 'REL_CCFLAGS', 'REL_CXXFLAGS',
                        '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',
                        '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', ''),
                ('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', ''),
                ('CPPFLAGS', 'Defines', ''),
                ('REL_CFLAGS', 'C only release flags', ''),
                ('REL_CCFLAGS', 'Generic C and C++ release flags', ''),