[Bf-committers] Working Mingw32 compile patch.

Kenney Phillis Jr dandel at gmail.com
Wed Jun 8 11:59:08 CEST 2005


to start off with, this patch should not break any of the microsoft 
compiles, but it does require some extra though.

now before you even run the scons compiler you need to reimport the 
Quicktime libraries for use in mingw... use the follow commands.

reimp 3DViewer.lib
reimp QD3D.lib
reimp QD3DCustomElements.lib
reimp qtmlClient.lib
reimp QTSClient.lib
reimp QTVR.lib
reimp Rave.lib

note: if it doesn't work, double check your path to make sure the bin 
for your mingw install is set.


now from here, it's just what you would normally do, after the patch is 
applied... run scons, and it will compile.

note: it's statically linked, so you need to copy the dll files to the 
blender.exe directory.
-------------- next part --------------
? TEstX
? cvsdif.bat
? mypatch.dif
? mypatch.patch
? mypatchb.dif
? dlltool/python23.dll.def
? obj/windows
? source/creator/winbuildinfo.h
? tools/__init__.pyc
? tools/scons/__init__.pyc
? tools/scons/bs/__init__.pyc
? tools/scons/bs/bs_arc.pyc
? tools/scons/bs/bs_bincopy.pyc
? tools/scons/bs/bs_clean.pyc
? tools/scons/bs/bs_config.pyc
? tools/scons/bs/bs_default.pyc
? tools/scons/bs/bs_dirs.pyc
? tools/scons/bs/bs_globals.pyc
? tools/scons/bs/bs_libs.pyc
? tools/scons/bs/bs_nsis.pyc
Index: SConstruct
===================================================================
RCS file: /cvsroot/bf-blender/blender/SConstruct,v
retrieving revision 1.106
diff -b -B -u -r1.106 SConstruct
--- SConstruct	29 May 2005 19:14:21 -0000	1.106
+++ SConstruct	8 Jun 2005 09:46:36 -0000
@@ -334,10 +334,34 @@
 	use_sumo = 'true'
 	use_ode = 'false'
 	use_buildinfo = 'true'
-	build_blender_dynamic = 'true'
-	build_blender_static = 'false'
 	build_blender_player = 'true'
 	build_blender_plugin = 'false'
+    if env.subst('$CC') == 'gcc' :
+        use_international = 'false'
+        use_quicktime = 'true'
+        build_blender_player = 'false'
+        build_blender_dynamic = 'false'
+        build_blender_static = 'true'
+        release_flags = ['-O2']
+        debug_flags = ['-O2', '-g']
+        extra_flags = ['-pipe', '-funsigned-char']
+        cxxflags = []
+        warn_flags = ['-Wall', '-W']
+        window_system = 'WIN32'
+        extra_includes = []
+        defines = [ 'WIN32', 'FREE_WINDOWS']
+        platform_libs = ['netapi32', 'opengl32', 'glu32', 'winmm', 'mingw32', 'msvcrt']
+        platform_libpath = []
+        platform_linkflags = ['-mwindows', '-mconsole']
+        extra_includes = []
+        png_lib = ['libpng']
+        z_lib = ['libz']
+    elif (env.subst('$CC') == 'msvc') | (env.subst('$CC') == 'cl') :
+
+        png_lib = ['libpng_st']
+        z_lib = ['libz_st']
+        build_blender_dynamic = 'true'
+        build_blender_static = 'false'
 	release_flags = ['/Og', '/Ot', '/Ob1', '/Op', '/G6']
 	debug_flags = ['/Zi', '/Fr${TARGET.base}.sbr']
 	extra_flags = ['/EHsc', '/J', '/W3', '/Gd', '/MT']
@@ -349,10 +373,9 @@
 	warn_flags = []
 	platform_libs = [ 'qtmlClient', 'soundsystem',
 					 'ws2_32', 'dxguid', 'vfw32', 'winmm',
-					 'iconv', 'kernel32', 'user32', 'gdi32',
+                         'iconv', 'kernel32', 'user32', 'gdi32','libc',
 					 'winspool', 'comdlg32', 'advapi32', 'shell32',
-					 'ole32', 'oleaut32', 'uuid', 'odbc32', 'odbccp32',
-					 'libcmt', 'libc']
+                         'ole32', 'oleaut32', 'uuid', 'odbc32', 'odbccp32']
 	platform_libpath = ['#../lib/windows/iconv/lib',
 						'#../lib/windows/QTDevWin/Libraries']
 	platform_linkflags = [
@@ -373,11 +396,9 @@
 	if use_quicktime == 'true':
 		extra_includes += ['#../lib/windows/QTDevWin/CIncludes']
 	# z library information
-	z_lib = ['libz_st']
 	z_libpath = ['#../lib/windows/zlib/lib']
 	z_include = ['#../lib/windows/zlib/include']
 	# png library information
-	png_lib = ['libpng_st']
 	png_libpath = ['#../lib/windows/png/lib']
 	png_include = ['#../lib/windows/png/include']
 	# jpeg library information
@@ -1080,6 +1101,10 @@
 		dy_blender.Append (CPPPATH=user_options_dict['OPENGL_INCLUDE'])
 		d_obj = buildinfo(dy_blender, "dynamic")
 		if sys.platform == 'win32':
+			if env.subst('$CC') == 'gcc' :
+				dy_blender.Replace (CC='g++')
+				dy_blender.Program (target='blender', source=d_obj)
+			else:
 			dy_blender.Program (target='blender',
 						source=d_obj + ['source/icons/winblender.res'])
 		else:
@@ -1128,6 +1153,10 @@
 		player_blender.Append (CPPPATH=user_options_dict['OPENGL_INCLUDE'])
 		d_obj = buildinfo(player_blender, "player")
 		if sys.platform == 'win32':
+			if env.subst('$CC') == 'gcc' :
+				player_blender.Replace (CC='g++')
+				player_blender.Program (target='blender', source=d_obj)
+			else:
 			player_blender.Program (target='blenderplayer',
 						source=d_obj + ['source/icons/winblender.res'])
 		else:
@@ -1136,6 +1165,7 @@
 			player_blender.Program (target='blenderplayer', source=d_obj)
 		if sys.platform=='win32':
 			if user_options_dict['BUILD_BINARY']=='debug':
+				print 'blah'
 				browser = Environment(ENV = os.environ)
 				browser_tmp = bs_globals.root_build_dir+'bscmake.tmp'
 				browser.Command ('blenderplayer.bsc', 'blenderplayer$PROGSUFFIX',
Index: extern/bFTGL/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/extern/bFTGL/SConscript,v
retrieving revision 1.1
diff -b -B -u -r1.1 SConscript
--- extern/bFTGL/SConscript	6 May 2005 13:37:18 -0000	1.1
+++ extern/bFTGL/SConscript	8 Jun 2005 09:16:26 -0000
@@ -12,6 +12,9 @@
 if sys.platform=='linux2' or sys.platform=='linux-i386':
 	ftgl_env.Append (CCFLAGS = ['-O2', '-ansi'])
 elif sys.platform=='win32':
+    if Environment().subst('$LINK')== 'g++':
+        ftgl_env.Append (CCFLAGS = cflags)
+    else:
 	ftgl_env.Append (CCFLAGS = ['/O2'])
 elif sys.platform=='sunos':
 	ftgl_env.Append (CCFLAGS = ['Xc', '-v', '-fast'])
Index: extern/qhull/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/extern/qhull/SConscript,v
retrieving revision 1.8
diff -b -B -u -r1.8 SConscript
--- extern/qhull/SConscript	6 May 2005 13:37:17 -0000	1.8
+++ extern/qhull/SConscript	8 Jun 2005 09:13:33 -0000
@@ -10,7 +10,10 @@
 Import ('user_options_dict')
 if sys.platform=='linux2' or sys.platform=='linux-i386':
 	qhull_env.Append (CCFLAGS = ['-O2', '-ansi'])
-elif sys.platform=='win32':
+elif (sys.platform=='win32'):
+    if Environment().subst('$LINK')== 'g++':
+        qhull_env.Append (CCFLAGS = cflags)
+    else:
 	qhull_env.Append (CCFLAGS = ['/O2'])
 elif sys.platform=='sunos':
 	qhull_env.Append (CCFLAGS = ['Xc', '-v', '-fast'])
Index: extern/solid/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/extern/solid/SConscript,v
retrieving revision 1.9
diff -b -B -u -r1.9 SConscript
--- extern/solid/SConscript	6 May 2005 13:37:18 -0000	1.9
+++ extern/solid/SConscript	8 Jun 2005 03:01:31 -0000
@@ -16,6 +16,9 @@
 
 if sys.platform=='win32':
 	defines += ['WIN32','NDEBUG', '_WINDOWS', '_LIB']
+	if ( Environment().subst('$CC') == 'gcc'):
+		cflags += ['-O2']
+	else:
 	#cflags += ['/MT', '/W3', '/GX', '/O2', '/Op']
 	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':
Index: source/gameengine/BlenderRoutines/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/gameengine/BlenderRoutines/SConscript,v
retrieving revision 1.8
diff -b -B -u -r1.8 SConscript
--- source/gameengine/BlenderRoutines/SConscript	5 Apr 2005 15:06:41 -0000	1.8
+++ source/gameengine/BlenderRoutines/SConscript	8 Jun 2005 03:13:54 -0000
@@ -47,7 +47,7 @@
 kx_blenderhook_env.Append (CPPPATH = user_options_dict['SOLID_INCLUDE'])
 kx_blenderhook_env.Append (CPPPATH = user_options_dict['OPENGL_INCLUDE'])
 
-if sys.platform=='win32':
+if (sys.platform=='win32') & ( Environment().subst('$CC') != 'gcc'):
     kx_blenderhook_env.Append (CXXFLAGS = ['/GR'])
 
 kx_blenderhook_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/KX_blenderhook', source=source_files)
Index: source/gameengine/GamePlayer/common/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/gameengine/GamePlayer/common/SConscript,v
retrieving revision 1.6
diff -b -B -u -r1.6 SConscript
--- source/gameengine/GamePlayer/common/SConscript	14 Mar 2005 14:56:40 -0000	1.6
+++ source/gameengine/GamePlayer/common/SConscript	8 Jun 2005 03:14:35 -0000
@@ -67,7 +67,7 @@
 gp_common_env.Append (CPPPATH = user_options_dict['PNG_INCLUDE'])
 gp_common_env.Append (CPPPATH = user_options_dict['Z_INCLUDE'])
 
-if sys.platform=='win32':
+if (sys.platform=='win32') & ( Environment().subst('$CC') != 'gcc'):
     gp_common_env.Append (CXXFLAGS = ['/GR'])
 
 gp_common_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/GPC_common', source=source_files)
Index: source/gameengine/GamePlayer/ghost/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/gameengine/GamePlayer/ghost/SConscript,v
retrieving revision 1.3
diff -b -B -u -r1.3 SConscript
--- source/gameengine/GamePlayer/ghost/SConscript	4 Jun 2004 12:58:45 -0000	1.3
+++ source/gameengine/GamePlayer/ghost/SConscript	8 Jun 2005 03:14:32 -0000
@@ -46,7 +46,7 @@
 gp_ghost_env.Append (CPPPATH = user_options_dict['PYTHON_INCLUDE'])
 gp_ghost_env.Append (CPPPATH = user_options_dict['SOLID_INCLUDE'])
 
-if sys.platform=='win32':
+if (sys.platform=='win32') & ( Environment().subst('$CC') != 'gcc'):
     gp_ghost_env.Append (CXXFLAGS = ['/GR'])
 
 gp_ghost_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/GPG_ghost', source=source_files)
\ No newline at end of file
Index: source/gameengine/Ketsji/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/gameengine/Ketsji/SConscript,v
retrieving revision 1.12
diff -b -B -u -r1.12 SConscript
--- source/gameengine/Ketsji/SConscript	23 Apr 2005 11:36:44 -0000	1.12
+++ source/gameengine/Ketsji/SConscript	8 Jun 2005 03:15:27 -0000
@@ -107,7 +107,7 @@
                               '#source/blender/blenloader'
                              ])
 
-if sys.platform == 'win32':
+if (sys.platform=='win32') & ( Environment().subst('$CC') != 'gcc'):
 	ketsji_env.Append (CXXFLAGS = ['/GR'])
 	ketsji_env.Append ( CCFLAGS =['/Ox'])
 ketsji_env.Append (CPPPATH = user_options_dict['PYTHON_INCLUDE'])
Index: source/gameengine/Physics/Sumo/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/gameengine/Physics/Sumo/SConscript,v
retrieving revision 1.8
diff -b -B -u -r1.8 SConscript
--- source/gameengine/Physics/Sumo/SConscript	26 Mar 2005 13:41:15 -0000	1.8
+++ source/gameengine/Physics/Sumo/SConscript	8 Jun 2005 03:14:39 -0000
@@ -22,7 +22,7 @@
 
 phy_sumo_env.Append (CPPPATH = user_options_dict['SOLID_INCLUDE'])
 
-if sys.platform=='win32':
+if (sys.platform=='win32') & ( Environment().subst('$CC') != 'gcc'):
 	phy_sumo_env.Append (CXXFLAGS = ['/GR'])
 	phy_sumo_env.Append ( CCFLAGS =['/O1'])
 
Index: source/gameengine/Rasterizer/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/gameengine/Rasterizer/SConscript,v
retrieving revision 1.6
diff -b -B -u -r1.6 SConscript
--- source/gameengine/Rasterizer/SConscript	16 May 2004 13:07:16 -0000	1.6
+++ source/gameengine/Rasterizer/SConscript	8 Jun 2005 09:03:11 -0000
@@ -21,7 +21,7 @@
                                     '#intern/moto/include'
                                    ])
 
-if sys.platform=='win32':
+if (sys.platform=='win32') & ( Environment().subst('$Cxx') != 'g++') & ( Environment().subst('$CC') != 'gcc'):
 	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