7
defs = 'USE_DOUBLES QHULL _LIB'
10
if env['OURPLATFORM']=='win32-vc':
11
defs += ' WIN32 NDEBUG _WINDOWS _LIB'
12
#cflags += ['/MT', '/W3', '/GX', '/O2', '/Op']
13
cflags += ['/MT', '/W3', '/GX', '/Og', '/Ot', '/Ob1', '/Op', '/G6']
14
elif env['OURPLATFORM']=='win32-mingw':
17
elif sys.platform=='linux2' or sys.platform=='linux-i386' or sys.platform=='freebsd4' or sys.platform=='freebsd5':
20
elif sys.platform=='darwin':
22
cflags += ['-O2','-pipe', '-fPIC', '-funsigned-char', '-ffast-math']
24
linearmath_src = env.Glob("LinearMath/*.cpp")
25
bulletdyn_src = ["BulletDynamics/ConstraintSolver/btContactConstraint.cpp",
26
"BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp",
27
"BulletDynamics/ConstraintSolver/btHingeConstraint.cpp",
28
"BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp",
29
"BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp",
30
"BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp",
31
"BulletDynamics/ConstraintSolver/btTypedConstraint.cpp",
32
"BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp",
33
"BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp",
34
"BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp",
35
"BulletDynamics/Dynamics/btRigidBody.cpp",
36
"BulletDynamics/Vehicle/btRaycastVehicle.cpp",
37
"BulletDynamics/Dynamics/Bullet-C-API.cpp",
38
"BulletDynamics/Vehicle/btWheelInfo.cpp"]
39
collision_src = ["BulletCollision/BroadphaseCollision/btAxisSweep3.cpp",
40
"BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp",
41
"BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp",
42
"BulletCollision/BroadphaseCollision/btDispatcher.cpp",
43
"BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp",
44
"BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp",
45
"BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp",
46
"BulletCollision/CollisionDispatch/btCollisionObject.cpp",
47
"BulletCollision/CollisionDispatch/btCollisionWorld.cpp",
48
"BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp",
49
"BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp",
50
"BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp",
51
"BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp",
52
"BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp",
53
"BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp",
54
"BulletCollision/CollisionDispatch/btManifoldResult.cpp",
55
"BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp",
56
"BulletCollision/CollisionDispatch/btUnionFind.cpp",
57
"BulletCollision/CollisionShapes/btBoxShape.cpp",
58
"BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp",
59
"BulletCollision/CollisionShapes/btCollisionShape.cpp",
60
"BulletCollision/CollisionShapes/btCompoundShape.cpp",
61
"BulletCollision/CollisionShapes/btConcaveShape.cpp",
62
"BulletCollision/CollisionShapes/btConeShape.cpp",
63
"BulletCollision/CollisionShapes/btConvexHullShape.cpp",
64
"BulletCollision/CollisionShapes/btConvexShape.cpp",
65
"BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp",
66
"BulletCollision/CollisionShapes/btCylinderShape.cpp",
67
"BulletCollision/CollisionShapes/btEmptyShape.cpp",
68
"BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp",
69
"BulletCollision/CollisionShapes/btMultiSphereShape.cpp",
70
"BulletCollision/CollisionShapes/btOptimizedBvh.cpp",
71
"BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp",
72
"BulletCollision/CollisionShapes/btTetrahedronShape.cpp",
73
"BulletCollision/CollisionShapes/btSphereShape.cpp",
74
"BulletCollision/CollisionShapes/btStaticPlaneShape.cpp",
75
"BulletCollision/CollisionShapes/btStridingMeshInterface.cpp",
76
"BulletCollision/CollisionShapes/btTriangleCallback.cpp",
77
"BulletCollision/CollisionShapes/btTriangleBuffer.cpp",
78
"BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp",
79
"BulletCollision/CollisionShapes/btTriangleMesh.cpp",
80
"BulletCollision/CollisionShapes/btTriangleMeshShape.cpp",
81
"BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp",
82
"BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp",
83
"BulletCollision/NarrowPhaseCollision/btGjkEpa.cpp",
84
"BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp",
85
"BulletCollision/NarrowPhaseCollision/btConvexCast.cpp",
86
"BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp",
87
"BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp",
88
"BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp",
89
"BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp",
90
"BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp",
91
"BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp",
92
"BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp"]
94
incs = '. BulletCollision BulletDynamics LinearMath'
96
env.BlenderLib ( libname = 'extern_bullet2linmath', sources=linearmath_src, includes=Split(incs), defines=Split(defs), libtype=['game2', 'player'], priority=[20, 170], compileflags=cflags )
97
env.BlenderLib ( libname = 'extern_bullet2dynamics', sources=bulletdyn_src, includes=Split(incs), defines=Split(defs), libtype=['game2', 'player'], priority=[19, 169], compileflags=cflags )
98
env.BlenderLib ( libname = 'extern_bullet2collision', sources=collision_src, includes=Split(incs), defines=Split(defs), libtype=['game2', 'player'], priority=[20, 170], compileflags=cflags )