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 )