
* add preliminary support for building Blender on 64bit Windows with _msvc_. The SConstruct should automatically detect if you are on a 64bit Windows and if you have that 64bit build is assumed. If you're not, 32bit build is assumed. NOTE: this is still very much wip, so your mileage may vary. Do please report on b25 taskforce ML in case of trouble. NOTE2: many of the libs are being linked in statically NOTE3: hopefully I didn't break anything for other build platforms (mingw, linux, osx). NOTE4: comes after NOTE3
46 lines
2.8 KiB
Python
46 lines
2.8 KiB
Python
#!/usr/bin/python
|
|
import sys
|
|
import os
|
|
|
|
Import('env')
|
|
|
|
defs = 'USE_DOUBLES QHULL _LIB'
|
|
cflags = []
|
|
|
|
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
|
|
defs += ' WIN32 NDEBUG _WINDOWS _LIB'
|
|
#cflags += ['/MT', '/W3', '/GX', '/O2', '/Op']
|
|
cflags += ['/MT', '/W3', '/GX', '/Og', '/Ot', '/Ob1', '/Op', '/G6']
|
|
elif env['OURPLATFORM']=='win32-mingw':
|
|
defs += ' NDEBUG'
|
|
cflags += ['-O2']
|
|
elif sys.platform=='linux2' or sys.platform=='linux-i386' or sys.platform=='freebsd4' or sys.platform=='freebsd5':
|
|
defs += ' NDEBUG'
|
|
cflags += ['-O2']
|
|
elif sys.platform=='darwin':
|
|
defs += ' NDEBUG'
|
|
cflags += ['-O2','-pipe', '-fPIC', '-funsigned-char', '-ffast-math']
|
|
|
|
linearmath_src = env.Glob("LinearMath/*.cpp")
|
|
|
|
bulletdyn_src = env.Glob("BulletDynamics/Vehicle/*.cpp") + env.Glob("BulletDynamics/ConstraintSolver/*.cpp") + env.Glob("BulletDynamics/Dynamics/*.cpp")
|
|
|
|
collision_broadphase_src = env.Glob("BulletCollision/BroadphaseCollision/*.cpp")
|
|
collision_dispatch_src = env.Glob("BulletCollision/CollisionDispatch/*.cpp")
|
|
collision_gimpact_src = env.Glob("BulletCollision/Gimpact/*.cpp")
|
|
collision_shapes_src = env.Glob("BulletCollision/CollisionShapes/*.cpp")
|
|
collision_narrowphase_src = env.Glob("BulletCollision/NarrowPhaseCollision/*.cpp")
|
|
|
|
softbody_src = env.Glob("BulletSoftBody/*.cpp")
|
|
|
|
incs = '. BulletCollision BulletDynamics LinearMath BulletSoftBody'
|
|
|
|
env.BlenderLib ( libname = 'extern_bullet2linmath', sources=linearmath_src, includes=Split(incs), defines=Split(defs), libtype=['extern'], priority=[20], compileflags=cflags )
|
|
env.BlenderLib ( libname = 'extern_bullet2dynamics', sources=bulletdyn_src, includes=Split(incs), defines=Split(defs), libtype=['extern'], priority=[19], compileflags=cflags )
|
|
env.BlenderLib ( libname = 'extern_bullet2collision_broadphase', sources=collision_broadphase_src, includes=Split(incs), defines=Split(defs), libtype=['extern'], priority=[25], compileflags=cflags )
|
|
env.BlenderLib ( libname = 'extern_bullet2collision_dispatch', sources=collision_dispatch_src, includes=Split(incs), defines=Split(defs), libtype=['extern'], priority=[20], compileflags=cflags )
|
|
env.BlenderLib ( libname = 'extern_bullet2collision_gimpact', sources=collision_gimpact_src, includes=Split(incs), defines=Split(defs), libtype=['extern'], priority=[20], compileflags=cflags )
|
|
env.BlenderLib ( libname = 'extern_bullet2collision_shapes', sources=collision_shapes_src, includes=Split(incs), defines=Split(defs), libtype=['extern'], priority=[20], compileflags=cflags )
|
|
env.BlenderLib ( libname = 'extern_bullet2collision_narrowphase', sources=collision_narrowphase_src, includes=Split(incs), defines=Split(defs), libtype=['extern'], priority=[20], compileflags=cflags )
|
|
env.BlenderLib ( libname = 'extern_bullet2softbody', sources=softbody_src, includes=Split(incs), defines=Split(defs), libtype=['extern'], priority=[18], compileflags=cflags )
|