#!/usr/bin/python Import ('env') if env['OURPLATFORM'] in ('win32-vc', 'win64-vc', 'win32-mingw'): # FIXME: need to set the appropriate flags for msvc, otherwise we get warnings if env['WITH_BF_RAYOPTIMIZATION']: cflags = env['CCFLAGS'] + ['/arch:SSE'] else: cflags = env['CCFLAGS'] cxxflags = [] if env['OURPLATFORM'] == 'darwin': if env['MACOSX_ARCHITECTURE'] in ('i386', 'x86_64') and env['WITH_BF_RAYOPTIMIZATION']: cflags = env['CFLAGS'] + ['-mfpmath=sse'] cxxflags = env['CXXFLAGS'] + ['-mfpmath=sse'] else: cflags = env['CFLAGS'] cxxflags = env['CXXFLAGS'] sources = env.Glob('intern/source/*.c') raysources = env.Glob('intern/raytrace/*.cpp') incs = 'intern/include #/intern/guardedalloc ../blenlib ../makesdna ../makesrna' incs += ' extern/include ../blenkernel ../radiosity/extern/include ../imbuf' incs += ' ../include ../blenloader ../../../intern/smoke/extern' defs = [] if env['WITH_BF_QUICKTIME']: defs.append('WITH_QUICKTIME') incs += ' ../quicktime ' + env['BF_QUICKTIME_INC'] if env['WITH_BF_OPENEXR']: defs.append('WITH_OPENEXR') if env['OURPLATFORM'] == 'linux2': # SSE is NOT safe all the time on linux, plus that ignores users compile flags and therefore no no # cflags = ['-O2','-msse2','-mfpmath=sse', '-pthread'] # cxxflags = ['-O2','-msse2','-mfpmath=sse', '-pthread'] if env['WITH_BF_RAYOPTIMIZATION']: cflags = env['CCFLAGS'] + ['-O2','-msse2','-mfpmath=sse', '-pthread'] cxxflags = env['CXXFLAGS'] + ['-O2','-msse2','-mfpmath=sse', '-pthread'] else: cflags = env['CCFLAGS'] cxxflags = env['CXXFLAGS'] incs += ' ../../../extern/binreloc/include' if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'): incs += ' ' + env['BF_PTHREADS_INC'] if env['WITH_BF_RAYOPTIMIZATION']: defs.append('__SSE__') env.BlenderLib ( libname = 'bf_render', sources = sources, includes = Split(incs), defines=defs, libtype='core', priority=145, compileflags=cflags ) env.BlenderLib ( libname = 'bf_render_raytrace', sources = raysources, includes = Split(incs), defines=defs, libtype='core', priority=145, compileflags=cflags, cxx_compileflags=cxxflags )