forked from bartvdbraak/blender
d58a15c0a6
We need to register the exception handler slightly differently here, as well as adding DbgHelp as a library, but according to docs it should be supported in recent Windows editions (Win XP included even). We can try it first and revert if there are issues.
222 lines
6.8 KiB
Python
222 lines
6.8 KiB
Python
LCGDIR = '#../lib/mingw32'
|
|
LIBDIR = "${LCGDIR}"
|
|
|
|
BF_PYTHON = LIBDIR + '/python'
|
|
BF_PYTHON_VERSION = '3.4'
|
|
WITH_BF_STATICPYTHON = False
|
|
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
|
|
BF_PYTHON_BINARY = 'python'
|
|
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}mw'
|
|
BF_PYTHON_DLL = 'python${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}'
|
|
BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
|
|
BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/libpython${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}.a'
|
|
|
|
WITH_BF_OPENAL = True
|
|
BF_OPENAL = LIBDIR + '/openal'
|
|
BF_OPENAL_INC = '${BF_OPENAL}/include'
|
|
BF_OPENAL_LIB = 'wrap_oal'
|
|
BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
|
|
|
|
WITH_BF_FFMPEG = True
|
|
BF_FFMPEG_LIB = 'avformat-55 avcodec-55 avdevice-55 avutil-52 swscale-2'
|
|
BF_FFMPEG_LIBPATH = LIBDIR + '/ffmpeg/lib'
|
|
BF_FFMPEG_INC = LIBDIR + '/ffmpeg/include'
|
|
BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-55.dll ${BF_FFMPEG_LIBPATH}/avcodec-55.dll ${BF_FFMPEG_LIBPATH}/avdevice-55.dll ${BF_FFMPEG_LIBPATH}/avutil-52.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll'
|
|
|
|
WITH_BF_JACK = False
|
|
BF_JACK = LIBDIR + '/jack'
|
|
BF_JACK_INC = '${BF_JACK}/include'
|
|
BF_JACK_LIB = 'libjack'
|
|
BF_JACK_LIBPATH = '${BF_JACK}/lib'
|
|
|
|
WITH_BF_SNDFILE = False
|
|
BF_SNDFILE = LIBDIR + '/sndfile'
|
|
BF_SNDFILE_INC = '${BF_SNDFILE}/include'
|
|
BF_SNDFILE_LIB = 'libsndfile-1'
|
|
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
|
|
|
|
WITH_BF_SDL = True
|
|
BF_SDL = LIBDIR + '/sdl'
|
|
BF_SDL_INC = '${BF_SDL}/include'
|
|
BF_SDL_LIB = 'SDL'
|
|
BF_SDL_LIBPATH = '${BF_SDL}/lib'
|
|
|
|
BF_PTHREADS = LIBDIR + '/pthreads'
|
|
BF_PTHREADS_INC = '${BF_PTHREADS}/include'
|
|
BF_PTHREADS_LIB = 'pthreadGC2'
|
|
BF_PTHREADS_LIBPATH = '${BF_PTHREADS}/lib'
|
|
|
|
WITH_BF_OPENEXR = True
|
|
WITH_BF_STATICOPENEXR = False
|
|
BF_OPENEXR = LIBDIR + '/openexr'
|
|
BF_OPENEXR_INC = '${BF_OPENEXR}/include ${BF_OPENEXR}/include/OpenEXR'
|
|
BF_OPENEXR_LIB = 'Half IlmImf Imath IlmThread Iex'
|
|
BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
|
|
# Warning, this static lib configuration is untested! users of this OS please confirm.
|
|
BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
|
|
|
|
WITH_BF_DDS = True
|
|
|
|
WITH_BF_JPEG = True
|
|
BF_JPEG = LIBDIR + '/jpeg'
|
|
BF_JPEG_INC = '${BF_JPEG}/include'
|
|
BF_JPEG_LIB = 'liblibjpeg'
|
|
BF_JPEG_LIBPATH = '${BF_JPEG}/lib'
|
|
|
|
WITH_BF_PNG = True
|
|
BF_PNG = LIBDIR + '/png'
|
|
BF_PNG_INC = '${BF_PNG}/include'
|
|
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 = 'tiff'
|
|
BF_TIFF_LIBPATH = '${BF_TIFF}/lib'
|
|
|
|
WITH_BF_ZLIB = True
|
|
BF_ZLIB = LIBDIR + '/zlib'
|
|
BF_ZLIB_INC = '${BF_ZLIB}/include'
|
|
BF_ZLIB_LIB = 'z'
|
|
BF_ZLIB_LIBPATH = '${BF_ZLIB}/lib'
|
|
|
|
WITH_BF_INTERNATIONAL = True
|
|
|
|
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 = True
|
|
BF_FFTW3 = LIBDIR + '/fftw3'
|
|
BF_FFTW3_INC = '${BF_FFTW3}/include'
|
|
BF_FFTW3_LIB = 'fftw3'
|
|
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
|
|
|
|
WITH_BF_GAMEENGINE = True
|
|
WITH_BF_PLAYER = True
|
|
WITH_BF_OCEANSIM = True
|
|
|
|
WITH_BF_BULLET = True
|
|
BF_BULLET = '#extern/bullet2/src'
|
|
BF_BULLET_INC = '${BF_BULLET}'
|
|
BF_BULLET_LIB = 'extern_bullet'
|
|
|
|
BF_WINTAB = LIBDIR + '/wintab'
|
|
BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
|
|
|
|
BF_FREETYPE = LIBDIR + '/freetype'
|
|
BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
|
|
BF_FREETYPE_LIB = 'freetype'
|
|
BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib'
|
|
|
|
WITH_BF_ICONV = False
|
|
BF_ICONV = LIBDIR + "/iconv"
|
|
BF_ICONV_INC = '${BF_ICONV}/include'
|
|
BF_ICONV_LIB = 'iconv'
|
|
BF_ICONV_LIBPATH = '${BF_ICONV}/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'
|
|
BF_OPENGL_INC = '${BF_OPENGL}/include'
|
|
BF_OPENGL_LIBINC = '${BF_OPENGL}/lib'
|
|
BF_OPENGL_LIB = 'opengl32 glu32'
|
|
BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a',
|
|
'${BF_OPENGL}/lib/libXmu.a', '${BF_OPENGL}/lib/libXext.a',
|
|
'${BF_OPENGL}/lib/libX11.a', '${BF_OPENGL}/lib/libXi.a' ]
|
|
|
|
WITH_BF_COLLADA = True
|
|
BF_COLLADA = '#source/blender/collada'
|
|
BF_COLLADA_INC = '${BF_COLLADA}'
|
|
BF_COLLADA_LIB = 'bf_collada'
|
|
|
|
BF_OPENCOLLADA = LIBDIR + '/opencollada'
|
|
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include/opencollada'
|
|
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa xml'
|
|
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib/opencollada'
|
|
|
|
#Cycles
|
|
WITH_BF_CYCLES = True
|
|
WITH_BF_CYCLES_CUDA_BINARIES = False
|
|
BF_CYCLES_CUDA_NVCC = "" # Path to the NVIDIA CUDA compiler
|
|
BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50']
|
|
|
|
WITH_BF_OIIO = True
|
|
BF_OIIO = LIBDIR + '/openimageio'
|
|
BF_OIIO_INC = '${BF_OIIO}/include'
|
|
BF_OIIO_LIB = 'OpenImageIO'
|
|
BF_OIIO_LIBPATH = '${BF_OIIO}/lib'
|
|
|
|
WITH_BF_OCIO = True
|
|
BF_OCIO = LIBDIR + '/opencolorio'
|
|
BF_OCIO_INC = '${BF_OCIO}/include'
|
|
BF_OCIO_LIB = 'OpenColorIO'
|
|
BF_OCIO_LIBPATH = '${BF_OCIO}/lib'
|
|
|
|
WITH_BF_BOOST = True
|
|
BF_BOOST = LIBDIR + '/boost'
|
|
BF_BOOST_INC = '${BF_BOOST}/include'
|
|
BF_BOOST_LIB = 'boost_date_time-mgw46-mt-s-1_49 boost_filesystem-mgw46-mt-s-1_49 boost_regex-mgw46-mt-s-1_49 boost_system-mgw46-mt-s-1_49 boost_thread-mgw46-mt-s-1_49'
|
|
BF_BOOST_LIB_INTERNATIONAL = 'boost_locale-mgw46-mt-s-1_49'
|
|
BF_BOOST_LIBPATH = '${BF_BOOST}/lib'
|
|
|
|
#Ray trace optimization
|
|
WITH_BF_RAYOPTIMIZATION = True
|
|
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse']
|
|
|
|
WITH_BF_IME = True
|
|
|
|
WITH_BF_OPENMP = True
|
|
|
|
#CUDA
|
|
WITH_BF_CYCLES_CUDA_BINARIES = False
|
|
#BF_CYCLES_CUDA_NVCC = "" # Path to the nvidia compiler
|
|
BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50']
|
|
|
|
#Freestyle
|
|
WITH_BF_FREESTYLE = True
|
|
|
|
##
|
|
CC = 'gcc'
|
|
CXX = 'g++'
|
|
|
|
CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
|
|
CXXFLAGS = []
|
|
|
|
CPPFLAGS = ['-DWIN32', '-DFREE_WINDOWS', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_LARGEFILE64_SOURCE', '-DBOOST_ALL_NO_LIB', '-DBOOST_THREAD_USE_LIB', '-DGLEW_STATIC', '-DOPJ_STATIC']
|
|
REL_CFLAGS = []
|
|
REL_CXXFLAGS = []
|
|
REL_CCFLAGS = ['-O2']
|
|
|
|
C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement', '-Wstrict-prototypes']
|
|
|
|
CC_WARN = [ '-Wall' ]
|
|
|
|
LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++','-lole32','-luuid', '-lwsock32', '-lpsapi', '-ldbghelp']
|
|
|
|
if WITH_BF_IME:
|
|
LLIBS.append('-limm32')
|
|
|
|
PLATFORM_LINKFLAGS = ['-Xlinker', '--stack=2097152']
|
|
|
|
## DISABLED, causes linking errors!
|
|
## for re-distribution, so users dont need mingw installed
|
|
# PLATFORM_LINKFLAGS += ["-static-libgcc", "-static-libstdc++"]
|
|
|
|
BF_DEBUG = False
|
|
BF_DEBUG_CCFLAGS= ['-g']
|
|
|
|
BF_PROFILE_CCFLAGS = ['-pg', '-g']
|
|
BF_PROFILE_LINKFLAGS = ['-pg']
|
|
BF_PROFILE_FLAGS = BF_PROFILE_CCFLAGS
|
|
BF_PROFILE = False
|
|
|
|
BF_BUILDDIR = '..\\build\\win32-mingw'
|
|
BF_INSTALLDIR='..\\install\\win32-mingw'
|