==SCons==

Enable Bullet2 for Scons. This should work for all platforms, but please, test, test,
 test, test, test (ad infinitum)
This commit is contained in:
Nathan Letwory
2006-11-21 06:11:41 +00:00
parent 6c5c74244a
commit eb73025c63
9 changed files with 110 additions and 15 deletions

View File

@@ -74,8 +74,8 @@ BF_ODE_INC = '${BF_ODE}/include'
BF_ODE_LIB = '${BF_ODE}/lib/libode.a'
WITH_BF_BULLET = 'true'
BF_BULLET = '#extern/bullet'
BF_BULLET_INC = '${BF_BULLET}/LinearMath ${BF_BULLET}/BulletDynamics ${BF_BULLET}/Bullet'
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
BF_SOLID = '#extern/solid'

View File

@@ -67,8 +67,8 @@ BF_ODE_INC = BF_ODE + '/include'
BF_ODE_LIB = BF_ODE + '/lib/libode.a'
WITH_BF_BULLET = 'true'
BF_BULLET = '#extern/bullet'
BF_BULLET_INC = '${BF_BULLET}/LinearMath ${BF_BULLET}/BulletDynamics ${BF_BULLET}/Bullet'
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
BF_SOLID = '#extern/solid'

View File

@@ -80,8 +80,8 @@ BF_ODE_INC = BF_ODE + '/include'
BF_ODE_LIB = BF_ODE + '/lib/libode.a'
WITH_BF_BULLET = 'true'
BF_BULLET = '#extern/bullet'
BF_BULLET_INC = '${BF_BULLET}/LinearMath ${BF_BULLET}/BulletDynamics ${BF_BULLET}/Bullet'
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
BF_SOLID = '#extern/solid'

View File

@@ -68,8 +68,8 @@ BF_ODE_INC = '${BF_ODE}/include'
BF_ODE_LIB = '${BF_ODE}/lib/libode.a'
WITH_BF_BULLET = 'true'
BF_BULLET = '#extern/bullet'
BF_BULLET_INC = '${BF_BULLET}/LinearMath ${BF_BULLET}/BulletDynamics ${BF_BULLET}/Bullet'
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
BF_SOLID = '#extern/solid'

View File

@@ -70,8 +70,8 @@ BF_ODE_INC = BF_ODE + '/include'
BF_ODE_LIB = BF_ODE + '/lib/libode.a'
WITH_BF_BULLET = 'true'
BF_BULLET = '#extern/bullet'
BF_BULLET_INC = '${BF_BULLET}/LinearMath ${BF_BULLET}/BulletDynamics ${BF_BULLET}/Bullet'
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
BF_SOLID = '#extern/solid'

View File

@@ -83,8 +83,8 @@ BF_ODE_INC = BF_ODE + '/include'
BF_ODE_LIB = BF_ODE + '/lib/libode.a'
WITH_BF_BULLET = 'true'
BF_BULLET = '#extern/bullet'
BF_BULLET_INC = '${BF_BULLET}/LinearMath ${BF_BULLET}/BulletDynamics ${BF_BULLET}/Bullet'
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
BF_SOLID = '#extern/solid'

View File

@@ -91,8 +91,8 @@ BF_ODE_INC = BF_ODE + '/include'
BF_ODE_LIB = BF_ODE + '/lib/libode.a'
WITH_BF_BULLET = 'true'
BF_BULLET = '#extern/bullet'
BF_BULLET_INC = '${BF_BULLET}/LinearMath ${BF_BULLET}/BulletDynamics ${BF_BULLET}/Bullet'
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
BF_SOLID = '#extern/solid'

2
extern/SConscript vendored
View File

@@ -6,7 +6,7 @@ if env['WITH_BF_GAMEENGINE']:
SConscript(['qhull/SConscript',
'solid/SConscript'])
if env['WITH_BF_BULLET']:
SConscript(['bullet/SConscript'])
SConscript(['bullet2/src/SConscript'])
if env['WITH_BF_INTERNATIONAL']:
SConscript(['bFTGL/SConscript'])

95
extern/bullet2/src/SConscript vendored Normal file
View File

@@ -0,0 +1,95 @@
#!/usr/bin/python
import sys
import os
Import('env')
defs = 'USE_DOUBLES QHULL _LIB'
cflags = []
if env['OURPLATFORM']=='win32-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', '-mpowerpc' , '-mtune=G4']
linearmath_src = env.Glob("LinearMath/*.cpp")
bulletdyn_src = ["BulletDynamics/ConstraintSolver/btContactConstraint.cpp",
"BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp",
"BulletDynamics/ConstraintSolver/btHingeConstraint.cpp",
"BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp",
"BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp",
"BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp",
"BulletDynamics/ConstraintSolver/btTypedConstraint.cpp",
"BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp",
"BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp",
"BulletDynamics/Dynamics/btRigidBody.cpp",
"BulletDynamics/Vehicle/btRaycastVehicle.cpp",
"BulletDynamics/Vehicle/btWheelInfo.cpp"]
collision_src = ["BulletCollision/BroadphaseCollision/btAxisSweep3.cpp",
"BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp",
"BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp",
"BulletCollision/BroadphaseCollision/btDispatcher.cpp",
"BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp",
"BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp",
"BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp",
"BulletCollision/CollisionDispatch/btCollisionObject.cpp",
"BulletCollision/CollisionDispatch/btCollisionWorld.cpp",
"BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp",
"BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp",
"BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp",
"BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp",
"BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp",
"BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp",
"BulletCollision/CollisionDispatch/btManifoldResult.cpp",
"BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp",
"BulletCollision/CollisionDispatch/btUnionFind.cpp",
"BulletCollision/CollisionShapes/btBoxShape.cpp",
"BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp",
"BulletCollision/CollisionShapes/btCollisionShape.cpp",
"BulletCollision/CollisionShapes/btCompoundShape.cpp",
"BulletCollision/CollisionShapes/btConcaveShape.cpp",
"BulletCollision/CollisionShapes/btConeShape.cpp",
"BulletCollision/CollisionShapes/btConvexHullShape.cpp",
"BulletCollision/CollisionShapes/btConvexShape.cpp",
"BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp",
"BulletCollision/CollisionShapes/btCylinderShape.cpp",
"BulletCollision/CollisionShapes/btEmptyShape.cpp",
"BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp",
"BulletCollision/CollisionShapes/btMultiSphereShape.cpp",
"BulletCollision/CollisionShapes/btOptimizedBvh.cpp",
"BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp",
"BulletCollision/CollisionShapes/btTetrahedronShape.cpp",
"BulletCollision/CollisionShapes/btSphereShape.cpp",
"BulletCollision/CollisionShapes/btStaticPlaneShape.cpp",
"BulletCollision/CollisionShapes/btStridingMeshInterface.cpp",
"BulletCollision/CollisionShapes/btTriangleCallback.cpp",
"BulletCollision/CollisionShapes/btTriangleBuffer.cpp",
"BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp",
"BulletCollision/CollisionShapes/btTriangleMesh.cpp",
"BulletCollision/CollisionShapes/btTriangleMeshShape.cpp",
"BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp",
"BulletCollision/NarrowPhaseCollision/btGjkEpa.cpp",
"BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp",
"BulletCollision/NarrowPhaseCollision/btConvexCast.cpp",
"BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp",
"BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp",
"BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp",
"BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp",
"BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp",
"BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp",
"BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp"]
incs = '. BulletCollision BulletDynamics LinearMath'
env.BlenderLib ( libname = 'extern_bullet2linmath', sources=linearmath_src, includes=Split(incs), defines=Split(defs), libtype=['game2', 'player'], priority=[20, 170], compileflags=cflags )
env.BlenderLib ( libname = 'extern_bullet2dynamics', sources=bulletdyn_src, includes=Split(incs), defines=Split(defs), libtype=['game2', 'player'], priority=[20, 170], compileflags=cflags )
env.BlenderLib ( libname = 'extern_bullet2collision', sources=collision_src, includes=Split(incs), defines=Split(defs), libtype=['game2', 'player'], priority=[20, 170], compileflags=cflags )