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. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to