[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26526] trunk/blender: this restores building on mingw with Collada support, also it restores cross compiling, thanks to Sergey Sharybin for the patch.
Tom Musgrove
LetterRip at gmail.com
Mon Feb 1 19:39:41 CET 2010
Revision: 26526
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26526
Author: letterrip
Date: 2010-02-01 19:39:41 +0100 (Mon, 01 Feb 2010)
Log Message:
-----------
this restores building on mingw with Collada support, also it restores cross compiling, thanks to Sergey Sharybin for the patch. Note that the icons for linux cross might not be committed here, if not i'll add them in another commit
Modified Paths:
--------------
trunk/blender/SConstruct
trunk/blender/config/linuxcross-config.py
trunk/blender/config/win32-mingw-config.py
trunk/blender/extern/ffmpeg/SConscript
trunk/blender/extern/x264/SConscript
trunk/blender/intern/elbeem/SConscript
trunk/blender/intern/smoke/SConscript
trunk/blender/source/SConscript
trunk/blender/source/blender/blenfont/SConscript
trunk/blender/source/blender/blenlib/SConscript
trunk/blender/source/blender/makesdna/intern/SConscript
trunk/blender/source/blender/render/SConscript
trunk/blender/source/icons/SConscript
trunk/blender/tools/Blender.py
trunk/blender/tools/btools.py
trunk/blender/tools/crossmingw.py
Modified: trunk/blender/SConstruct
===================================================================
--- trunk/blender/SConstruct 2010-02-01 18:38:33 UTC (rev 26525)
+++ trunk/blender/SConstruct 2010-02-01 18:39:41 UTC (rev 26526)
@@ -169,8 +169,10 @@
env.Tool('crossmingw', ['tools'])
# todo: determine proper libs/includes etc.
# Needed for gui programs, console programs should do without it
- env.Append(LINKFLAGS=['-mwindows'])
+ # Now we don't need this option to have console window
+ # env.Append(LINKFLAGS=['-mwindows'])
+
userconfig = B.arguments.get('BF_CONFIG', 'user-config.py')
# first read platform config. B.arguments will override
optfiles = [configfile]
@@ -524,7 +526,11 @@
# TODO - add more libs, for now this lets blenderlite run
if env['OURPLATFORM']=='linuxcross':
dir=env['BF_INSTALLDIR']
- source = ['../lib/windows/pthreads/lib/pthreadGC2.dll']
+ source = []
+
+ if env['WITH_BF_OPENMP']:
+ source += ['../lib/windows/pthreads/lib/pthreadGC2.dll']
+
scriptinstall.append(env.Install(dir=dir, source=source))
#-- plugins
@@ -577,49 +583,66 @@
else:
allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall]
-if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc'):
+if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
dllsources = []
- if env['OURPLATFORM'] != 'win64-vc':
- if env['OURPLATFORM'] != 'win32-mingw':
- # For MinGW static linking will be used
- dllsources += ['${LCGDIR}/gettext/lib/gnu_gettext.dll']
-
- dllsources += ['${BF_PNG_LIBPATH}/libpng.dll',
- '${BF_ZLIB_LIBPATH}/zlib.dll',
- '${BF_TIFF_LIBPATH}/${BF_TIFF_LIB}.dll']
- dllsources += ['${BF_PTHREADS_LIBPATH}/${BF_PTHREADS_LIB}.dll']
+ if not env['OURPLATFORM'] in ('win32-mingw', 'win64-vc', 'linuxcross'):
+ # For MinGW and linuxcross static linking will be used
+ dllsources += ['${LCGDIR}/gettext/lib/gnu_gettext.dll']
+
+ dllsources += ['${BF_PNG_LIBPATH}/libpng.dll',
+ '${BF_ZLIB_LIBPATH}/zlib.dll',
+ '${BF_TIFF_LIBPATH}/${BF_TIFF_LIB}.dll']
+
+ if env['OURPLATFORM'] != 'linuxcross':
+ # pthreads library is already added
+ dllsources += ['${BF_PTHREADS_LIBPATH}/${BF_PTHREADS_LIB}.dll']
+
if env['WITH_BF_SDL']:
if env['OURPLATFORM'] == 'win64-vc':
pass # we link statically already to SDL on win64
else:
dllsources.append('${BF_SDL_LIBPATH}/SDL.dll')
+
if env['WITH_BF_PYTHON']:
if env['BF_DEBUG']:
dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}_d.dll')
else:
dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}.dll')
+
if env['WITH_BF_ICONV']:
if env['OURPLATFORM'] == 'win64-vc':
pass # we link statically to iconv on win64
- elif env['OURPLATFORM'] != 'win32-mingw':
- #gettext for MinGW is compiled staticly
+ elif not env['OURPLATFORM'] in ('win32-mingw', 'linuxcross'):
+ #gettext for MinGW and cross-compilation is compiled staticly
dllsources += ['${BF_ICONV_LIBPATH}/iconv.dll']
+
if env['WITH_BF_OPENAL']:
dllsources.append('${LCGDIR}/openal/lib/OpenAL32.dll')
dllsources.append('${LCGDIR}/openal/lib/wrap_oal.dll')
+
if env['WITH_BF_SNDFILE']:
dllsources.append('${LCGDIR}/sndfile/lib/libsndfile-1.dll')
+
if env['WITH_BF_FFMPEG']:
- dllsources += ['${LCGDIR}/ffmpeg/lib/avcodec-52.dll',
- '${LCGDIR}/ffmpeg/lib/avformat-52.dll',
- '${LCGDIR}/ffmpeg/lib/avdevice-52.dll',
- '${LCGDIR}/ffmpeg/lib/avutil-50.dll',
- '${LCGDIR}/ffmpeg/lib/swscale-0.dll',
- '${LCGDIR}/ffmpeg/lib/libfaac-0.dll',
- '${LCGDIR}/ffmpeg/lib/libfaad-2.dll',
- '${LCGDIR}/ffmpeg/lib/libmp3lame-0.dll',
- '${LCGDIR}/ffmpeg/lib/libx264-67.dll']
+ dllsources += ['${BF_FFMPEG_LIBPATH}/avcodec-52.dll',
+ '${BF_FFMPEG_LIBPATH}/avformat-52.dll',
+ '${BF_FFMPEG_LIBPATH}/avdevice-52.dll',
+ '${BF_FFMPEG_LIBPATH}/avutil-50.dll',
+ '${BF_FFMPEG_LIBPATH}/swscale-0.dll']
+
+ if env['OURPLATFORM'] != 'linuxcross':
+ #
+ # TODO: Does it mean we haven't got support of this codecs if
+ # we're using cross-compilation?
+ # Or in case of native compilation this libraries are
+ # unneccessary to?
+ #
+ dllsources += ['${LCGDIR}/ffmpeg/lib/libfaac-0.dll',
+ '${LCGDIR}/ffmpeg/lib/libfaad-2.dll',
+ '${LCGDIR}/ffmpeg/lib/libmp3lame-0.dll',
+ '${LCGDIR}/ffmpeg/lib/libx264-67.dll']
+
if env['WITH_BF_JACK']:
dllsources += ['${LCGDIR}/jack/lib/libjack.dll']
windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources)
Modified: trunk/blender/config/linuxcross-config.py
===================================================================
--- trunk/blender/config/linuxcross-config.py 2010-02-01 18:38:33 UTC (rev 26525)
+++ trunk/blender/config/linuxcross-config.py 2010-02-01 18:39:41 UTC (rev 26526)
@@ -5,14 +5,15 @@
BF_PYTHON_VERSION = '3.1'
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = 'python'
-BF_PYTHON_LIB = 'python25'
+BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}mw'
+BF_PYTHON_DLL = 'python31'
BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
WITH_BF_OPENAL = True
WITH_BF_STATICOPENAL = False
BF_OPENAL = LIBDIR + '/openal'
BF_OPENAL_INC = '${BF_OPENAL}/include'
-BF_OPENAL_LIB = 'openal_static'
+BF_OPENAL_LIB = 'OpenAL32 wrap_oal'
BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
# Warning, this static lib configuration is untested! users of this OS please confirm.
BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
@@ -33,6 +34,18 @@
BF_SDL_LIB = 'SDL'
BF_SDL_LIBPATH = '${BF_SDL}/lib'
+WITH_BF_JACK = False
+BF_JACK = LIBDIR + '/jack'
+BF_JACK_INC = '${BF_JACK}/include'
+BF_JACK_LIB = 'jack'
+BF_JACK_LIBPATH = '${BF_JACK}/lib'
+
+WITH_BF_SNDFILE = False
+BF_SNDFILE = LIBDIR + '/sndfile'
+BF_SNDFILE_INC = '${BF_SNDFILE}/include'
+BF_SNDFILE_LIB = 'sndfile-1'
+BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
+
BF_PTHREADS = LIBDIR + '/pthreads'
BF_PTHREADS_INC = '${BF_PTHREADS}/include'
BF_PTHREADS_LIB = 'pthreadGC2'
@@ -61,8 +74,11 @@
BF_PNG_LIB = 'png'
BF_PNG_LIBPATH = '${BF_PNG}/lib'
+WITH_BF_TIFF = True
BF_TIFF = LIBDIR + '/tiff'
BF_TIFF_INC = '${BF_TIFF}/include'
+BF_TIFF_LIB = 'libtiff'
+BF_TIFF_LIBPATH = '${BF_TIFF}/lib'
WITH_BF_ZLIB = True
BF_ZLIB = LIBDIR + '/zlib'
@@ -72,12 +88,12 @@
WITH_BF_INTERNATIONAL = True
-BF_GETTEXT = LIBDIR + '/gettext'
+BF_GETTEXT = LIBDIR + '/gcc/gettext'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
-BF_GETTEXT_LIB = 'gnu_gettext'
+BF_GETTEXT_LIB = 'intl'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
-WITH_BF_GAMEENGINE = False
+WITH_BF_GAMEENGINE = True
WITH_BF_PLAYER = False
WITH_BF_BULLET = True
@@ -89,6 +105,7 @@
BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
# enable freetype2 support for text objects
+BF_WITH_FREETYPE = True
BF_FREETYPE = LIBDIR + '/gcc/freetype'
BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype'
@@ -99,11 +116,35 @@
BF_QUICKTIME_INC = '${BF_QUICKTIME}/include'
WITH_BF_ICONV = False
-BF_ICONV = LIBDIR + "/iconv"
+BF_ICONV = LIBDIR + "/gcc/iconv"
BF_ICONV_INC = '${BF_ICONV}/include'
BF_ICONV_LIB = 'iconv'
BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
+WITH_BF_BINRELOC = False
+
+# enable ffmpeg support
+WITH_BF_FFMPEG = True # -DWITH_FFMPEG
+BF_FFMPEG = LIBDIR + '/ffmpeg'
+BF_FFMPEG_LIB = 'avformat-52 avcodec-52 avdevice-52 avutil-50 swscale-0'
+BF_FFMPEG_INC = '${BF_FFMPEG}/include'
+BF_FFMPEG_LIBPATH = '${BF_FFMPEG}/lib'
+
+WITH_BF_OPENJPEG = True
+BF_OPENJPEG = '#extern/libopenjpeg'
+BF_OPENJPEG_LIB = ''
+BF_OPENJPEG_INC = '${BF_OPENJPEG}'
+BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
+
+WITH_BF_FFTW3 = False
+BF_FFTW3 = LIBDIR + '/gcc/fftw3'
+BF_FFTW3_INC = '${BF_FFTW3}/include'
+BF_FFTW3_LIB = 'fftw3'
+BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
+
+WITH_BF_REDCODE = False
+BF_REDCODE_INC = '#extern'
+
# Mesa Libs should go here if your using them as well....
WITH_BF_STATICOPENGL = False
BF_OPENGL = 'C:\\MingW'
@@ -114,24 +155,42 @@
'${BF_OPENGL}/lib/libXmu.a', '${BF_OPENGL}/lib/libXext.a',
'${BF_OPENGL}/lib/libX11.a', '${BF_OPENGL}/lib/libXi.a' ]
+WITH_BF_OPENMP = True
+BF_OPENMP = LIBDIR + '/gcc/gomp'
+BF_OPENMP_INC = '${BF_OPENMP}/include'
+BF_OPENMP_LIBPATH = '${BF_OPENMP}/lib'
+
+WITH_BF_COLLADA = False
+BF_COLLADA = '#source/blender/collada'
+BF_COLLADA_INC = '${BF_COLLADA}'
+BF_COLLADA_LIB = 'bf_collada'
+
+BF_OPENCOLLADA = LIBDIR + '/gcc/opencollada'
+BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
+BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver expat pcre buffer ftoa'
+BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib ${BF_ICONV_LIBPATH}'
+
+#Ray trace optimization
+WITH_BF_RAYOPTIMIZATION = False
+BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse']
+
CC = 'i586-mingw32msvc-gcc'
CXX = 'i586-mingw32msvc-g++'
CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
CPPFLAGS = ['-DWIN32', '-DFREE_WINDOWS']
-CXXFLAGS = ['-pipe', '-mwindows', '-funsigned-char', '-fno-strict-aliasing' ]
+CXXFLAGS = ['-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
REL_CFLAGS = [ '-O2' ]
REL_CCFLAGS = [ '-O2' ]
C_WARN = [ '-Wall' , '-Wno-char-subscripts', '-Wdeclaration-after-statement' ]
CC_WARN = [ '-Wall' ]
+LLIBS = [ '-ldxguid', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++', '-luuid', '-lole32'] #'-lutil', '-lc', '-lm', '-ldl', '-lpthread' ]
-LLIBS = [ '-ldxguid', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz'] #'-lutil', '-lc', '-lm', '-ldl', '-lpthread' ]
-
BF_DEBUG = False
-BF_DEBUG_CCFLAGS= []
+BF_DEBUG_CCFLAGS = ['-g']
BF_PROFILE = False
BF_PROFILE_CCFLAGS = ['-pg','-g']
Modified: trunk/blender/config/win32-mingw-config.py
===================================================================
--- trunk/blender/config/win32-mingw-config.py 2010-02-01 18:38:33 UTC (rev 26525)
+++ trunk/blender/config/win32-mingw-config.py 2010-02-01 18:39:41 UTC (rev 26526)
@@ -90,6 +90,12 @@
BF_GETTEXT_LIB = 'intl'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
+WITH_BF_OPENJPEG = True
+BF_OPENJPEG = '#extern/libopenjpeg'
+BF_OPENJPEG_LIB = ''
+BF_OPENJPEG_INC = '${BF_OPENJPEG}'
+BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
+
WITH_BF_FFTW3 = False
BF_FFTW3 = LIBDIR + '/gcc/fftw3'
BF_FFTW3_INC = '${BF_FFTW3}/include'
@@ -123,6 +129,9 @@
BF_ICONV_LIB = 'iconv'
BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
+WITH_BF_REDCODE = False
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list