#!/usr/bin/python import sys import os Import('env') defs = '' cflags = [] if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'): defs += ' WIN32 NDEBUG _WINDOWS' #cflags += ['/MT', '/W3', '/GX', '/O2', '/Op'] cflags += ['/MT', '/W3', '/GX', '/Og', '/Ot', '/Ob1', '/Op', '/G6', '/O3', '/EHcs'] elif env['OURPLATFORM'] in ('win32-mingw', 'linuxcross', 'win64-mingw'): defs += ' NDEBUG' cflags += ['-O2'] elif env['OURPLATFORM'] in ('linux', 'freebsd4', 'freebsd5'): defs += ' NDEBUG' cflags += ['-O2'] elif sys.platform=='darwin': defs += ' NDEBUG' bt_cc_flags = env['CCFLAGS'] + ['-O0', '-fPIC', '-msse','-msse2', '-msse3', '-mssse3', '-ffast-math'] bt_cxx_flags = env['CXXFLAGS'] + ['-O0', '-fPIC', '-msse','-msse2', '-msse3', '-mssse3', '-ffast-math'] bullet2_src = env.Glob("LinearMath/*.cpp") bullet2_src += env.Glob("BulletCollision/BroadphaseCollision/*.cpp") bullet2_src += env.Glob("BulletCollision/CollisionDispatch/*.cpp") bullet2_src += env.Glob("BulletCollision/Gimpact/*.cpp") bullet2_src += env.Glob("BulletCollision/CollisionShapes/*.cpp") bullet2_src += env.Glob("BulletCollision/NarrowPhaseCollision/*.cpp") bullet2_src += env.Glob("BulletDynamics/Vehicle/*.cpp") bullet2_src += env.Glob("BulletDynamics/ConstraintSolver/*.cpp") bullet2_src += env.Glob("BulletDynamics/Dynamics/*.cpp") bullet2_src += env.Glob("BulletDynamics/Character/*.cpp") bullet2_src += env.Glob("BulletDynamics/Featherstone/*.cpp") bullet2_src += env.Glob("BulletDynamics/MLCPSolvers/*.cpp") bullet2_src += env.Glob("BulletSoftBody/*.cpp") incs = '. BulletCollision BulletDynamics LinearMath BulletSoftBody' if sys.platform=='darwin': env.BlenderLib ( libname = 'extern_bullet2', sources=bullet2_src, includes=Split(incs), defines=Split(defs), libtype=['extern','player'], priority=[20,137], cc_compileflags=bt_cc_flags, cxx_compileflags=bt_cxx_flags ) else: env.BlenderLib ( libname = 'extern_bullet2', sources=bullet2_src, includes=Split(incs), defines=Split(defs), libtype=['extern','player'], priority=[20,137], compileflags=cflags )