[Bf-committers] 2.36 status...

Jacques Beaurain jbeaurain at istop.com
Tue Dec 14 14:16:42 CET 2004


Hi,

Kester:

I did see the assert and  I also added some extra notes in the tracker 
about problems getting debug builds to work (that is why no one uses 
debug builds I guess). It seems some recent changes made this impossible 
(python linking errors).

Ton:

Other than that I have been playing around on getting scons to do proper 
debug and release optimized builds on windows (linking to debug CRT, 
doing runtime checks, full optimizations etc.) The SConstruct patch 
attached shows what I am trying at the moment. The problem is that 
solid's extern/solid/SConscript adds extra cflags that conflicts with 
the ones in SConstruct and stops the builds. There has also been other 
places that had /Ox flags appended (also see sconstruct.patch) and I 
also noticed misc. things .

Interestingly, my initial tests shows that renders with the internal 
renderer speeds up by about 10-20% (Using the free Visual Studio 2003 
toolkit with optimizing compiler) compared to the released 2.35a binary 
by using the compile flags above (the commented ones shows what I had to 
do to obtain a debug build by building release with debugging). I did 
not analyze many scenes with a lot of test runs yet though and would 
like to make sure I iron out all my build problems first and then obtain 
reliable extensive test results. It may even be a red herring bacause of 
changes between the 2.35a branch and now, so I guess I should set up a 
compile from CVS and just change the flags. More on this when I return 
from holidays on January, or the Windows guys can try the you can 
continue with what I have here and try it in the mean time.

I added notes to #1808 about helping out with the sound system. I have 
been looking for an area to contribute and believe I can be of some help 
here. Any direction and thoughts from people who started thinking in 
that direction about this would be helpful. When I get back I'll get my 
thought together and start a wiki or something for the design and 
todo's. Are Ogg Vorbis (codecs) support, separate cd & audio into 
different classes, and loop points with OpenAL the only issues? (besides 
stability)

Cheers,
Jacques

PS: does anyone else building on Windows have to change <iostream.h> to 
<iostream> all the time (see patch)?


-------------- next part --------------
Index: SConstruct
===================================================================
RCS file: /cvsroot/bf-blender/blender/SConstruct,v
retrieving revision 1.92
diff -u -r1.92 SConstruct
--- SConstruct	18 Nov 2004 15:39:05 -0000	1.92
+++ SConstruct	15 Nov 2004 02:16:47 -0000
@@ -330,35 +330,31 @@
 	build_blender_static = 'false'
 	build_blender_player = 'true'
 	build_blender_plugin = 'false'
-	release_flags = ['/Og', '/Ot', '/Ob1', '/Op', '/G6']
-	debug_flags = ['/Zi', '/Fr${TARGET.base}.sbr']
-	extra_flags = ['/EHsc', '/J', '/W3', '/Gd', '/MT']
+#	release_flags = ['/MT', '/ZI']
+	release_flags = ['/O2', '/Ob2', '/Ot', '/Oy', '/MT', '/ZI']
+	debug_flags = ['/ZI', '/Gy', '/Od', '/RTC1', '/MTd']
+	extra_flags = ['/EHsc', '/J', '/W3', '/Gd', '/GS']
 	cxxflags = []
 	defines = ['WIN32', '_CONSOLE']
 	defines += ['WITH_QUICKTIME']
 	defines += ['_LIB', 'USE_OPENAL']
 	defines += ['FTGL_LIBRARY_STATIC']
 	warn_flags = []
-	platform_libs = [ 'qtmlClient', 'soundsystem',
-					 'ws2_32', 'dxguid', 'vfw32', 'winmm',
-					 'iconv', 'kernel32', 'user32', 'gdi32',
-					 'winspool', 'comdlg32', 'advapi32', 'shell32',
-					 'ole32', 'oleaut32', 'uuid', 'odbc32', 'odbccp32',
-					 'libcmt', 'libc']
+	platform_libs =	[ 'qtmlClient', 'soundsystem',
+			'ws2_32', 'dxguid', 'vfw32', 'winmm',
+			'iconv', 'kernel32', 'user32', 'gdi32',
+			'winspool', 'comdlg32', 'advapi32', 'shell32',
+			'ole32', 'oleaut32', 'uuid', 'odbc32', 'odbccp32']
 	platform_libpath = ['#../lib/windows/iconv/lib',
 						'#../lib/windows/QTDevWin/Libraries']
-	platform_linkflags = [
-						'/SUBSYSTEM:CONSOLE',
+	platform_linkflags = [			'/SUBSYSTEM:CONSOLE',
 						'/MACHINE:IX86',
 						'/ENTRY:mainCRTStartup',
 						'/INCREMENTAL:NO',
-						'/NODEFAULTLIB:"msvcprt.lib"',
 						'/NODEFAULTLIB:"glut32.lib"',
+						'/NODEFAULTLIB:"libc.lib"',
 						'/NODEFAULTLIB:"libcd.lib"',
-						#'/NODEFAULTLIB:"libc.lib"',
-						'/NODEFAULTLIB:"libcpd.lib"',
-						'/NODEFAULTLIB:"libcp.lib"',
-						'/NODEFAULTLIB:"libcmtd.lib"',
 						]
 	window_system = 'WIN32'
 	extra_includes = []
@@ -982,8 +978,9 @@
 	defines += ['NDEBUG']
 else:
 	cflags = extra_flags + debug_flags + warn_flags
-	if sys.platform == 'win32':
-		platform_linkflags = ['/DEBUG','/PDB:blender.pdb'] + platform_linkflags
+
+if sys.platform == 'win32':
+	platform_linkflags = ['/DEBUG','/PDB:blender.pdb'] + platform_linkflags
 
 defines += user_options_dict['DEFINES']
 cflags += user_options_dict['CCFLAGS']
@@ -1154,7 +1151,7 @@
 		if user_options_dict['BUILD_BLENDER_PLAYER'] == 1:
 			env.Depends(wininst_target, playername)
 		env.Depends(wininst_target, appname)
-	
+
 	if user_options_dict['BUILD_BLENDER_PLAYER'] == 1:
 		env.Depends(release_target, playername)
 		env.Depends(default_target, playername)
Index: extern/solid/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/extern/solid/SConscript,v
retrieving revision 1.8
diff -u -r1.8 SConscript
--- extern/solid/SConscript	14 Nov 2004 14:38:03 -0000	1.8
+++ extern/solid/SConscript	10 Dec 2004 23:58:01 -0000
@@ -15,7 +15,7 @@
 if sys.platform=='win32':
 	defines += ['WIN32','NDEBUG', '_WINDOWS', '_LIB']
 	#cflags += ['/MT', '/W3', '/GX', '/O2', '/Op']
-	cflags += ['/MT', '/W3', '/GX', '/Og', '/Ot', '/Ob1', '/Op', '/G6']
+	#cflags += ['/MT', '/W3', '/GX', '/Og', '/Ot', '/Ob1', '/Op', '/G6']
 elif sys.platform=='linux2' or sys.platform=='linux-i386' or sys.platform=='freebsd4' or sys.platform=='freebsd5':
 	defines += ['NDEBUG']
 	cflags += ['-O2']
Index: source/gameengine/GameLogic/SCA_IInputDevice.cpp
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/gameengine/GameLogic/SCA_IInputDevice.cpp,v
retrieving revision 1.6
diff -u -r1.6 SCA_IInputDevice.cpp
--- source/gameengine/GameLogic/SCA_IInputDevice.cpp	16 Oct 2004 18:13:00 -0000	1.6
+++ source/gameengine/GameLogic/SCA_IInputDevice.cpp	15 Nov 2004 00:00:03 -0000
@@ -29,7 +29,7 @@
  * ***** END GPL/BL DUAL LICENSE BLOCK *****
  */
 
-#include <iostream.h>
+#include <iostream>
 #include <assert.h>
 #include "SCA_IInputDevice.h"
 
Index: source/gameengine/GameLogic/SCA_KeyboardManager.cpp
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/gameengine/GameLogic/SCA_KeyboardManager.cpp,v
retrieving revision 1.5
diff -u -r1.5 SCA_KeyboardManager.cpp
--- source/gameengine/GameLogic/SCA_KeyboardManager.cpp	16 Oct 2004 11:41:48 -0000	1.5
+++ source/gameengine/GameLogic/SCA_KeyboardManager.cpp	15 Nov 2004 00:02:19 -0000
@@ -32,7 +32,7 @@
  * ***** END GPL/BL DUAL LICENSE BLOCK *****
  */
 
-#include <iostream.h>
+#include <iostream>
 #include "BoolValue.h"
 #include "SCA_KeyboardManager.h"
 #include "SCA_KeyboardSensor.h"
Index: source/gameengine/GamePlayer/common/GPC_KeyboardDevice.cpp
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/gameengine/GamePlayer/common/GPC_KeyboardDevice.cpp,v
retrieving revision 1.6
diff -u -r1.6 GPC_KeyboardDevice.cpp
--- source/gameengine/GamePlayer/common/GPC_KeyboardDevice.cpp	10 Nov 2004 15:04:13 -0000	1.6
+++ source/gameengine/GamePlayer/common/GPC_KeyboardDevice.cpp	11 Dec 2004 13:44:05 -0000
@@ -30,7 +30,7 @@
  * ***** END GPL/BL DUAL LICENSE BLOCK *****
  */
 
-#include <iostream.h>
+#include <iostream>
 #include "GPC_KeyboardDevice.h"
 
 #ifdef HAVE_CONFIG_H
Index: source/gameengine/Ketsji/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/gameengine/Ketsji/SConscript,v
retrieving revision 1.8
diff -u -r1.8 SConscript
--- source/gameengine/Ketsji/SConscript	16 May 2004 13:07:15 -0000	1.8
+++ source/gameengine/Ketsji/SConscript	15 Nov 2004 00:19:28 -0000
@@ -106,7 +106,6 @@
 
 if sys.platform == 'win32':
 	ketsji_env.Append (CXXFLAGS = ['/GR'])
-	ketsji_env.Append ( CCFLAGS =['/Ox'])
 ketsji_env.Append (CPPPATH = user_options_dict['PYTHON_INCLUDE'])
 
 ketsji_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/KX_ketsji', source=source_files)
Index: source/gameengine/Physics/Sumo/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/gameengine/Physics/Sumo/SConscript,v
retrieving revision 1.7
diff -u -r1.7 SConscript
--- source/gameengine/Physics/Sumo/SConscript	22 Nov 2004 10:19:19 -0000	1.7
+++ source/gameengine/Physics/Sumo/SConscript	15 Nov 2004 00:23:30 -0000
@@ -23,6 +23,5 @@
 
 if sys.platform=='win32':
 	phy_sumo_env.Append (CXXFLAGS = ['/GR'])
-	phy_sumo_env.Append ( CCFLAGS =['/O1'])
 
 phy_sumo_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/PHY_Sumo', source=source_files)
Index: source/gameengine/Rasterizer/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/gameengine/Rasterizer/SConscript,v
retrieving revision 1.6
diff -u -r1.6 SConscript
--- source/gameengine/Rasterizer/SConscript	16 May 2004 13:07:16 -0000	1.6
+++ source/gameengine/Rasterizer/SConscript	15 Nov 2004 00:22:07 -0000
@@ -21,7 +21,4 @@
                                     '#intern/moto/include'
                                    ])
 
-if sys.platform=='win32':
-	ras_rasterizer_env.Append ( CCFLAGS =['/Ox'])
-
 ras_rasterizer_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/RAS_rasterizer', source=source_files)


More information about the Bf-committers mailing list