From eb73025c635f4e940061239049ca4859c47525d1 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Tue, 21 Nov 2006 06:11:41 +0000 Subject: ==SCons== Enable Bullet2 for Scons. This should work for all platforms, but please, test, test, test, test, test (ad infinitum) --- config/darwin-config.py | 4 +- config/linux2-config.py | 4 +- config/linuxcross-config.py | 4 +- config/openbsd3-config.py | 4 +- config/sunos5-config.py | 4 +- config/win32-mingw-config.py | 4 +- config/win32-vc-config.py | 4 +- extern/SConscript | 2 +- extern/bullet2/src/SConscript | 95 +++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 110 insertions(+), 15 deletions(-) create mode 100644 extern/bullet2/src/SConscript diff --git a/config/darwin-config.py b/config/darwin-config.py index c2b68b12f83..ef64de1f6ec 100644 --- a/config/darwin-config.py +++ b/config/darwin-config.py @@ -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' diff --git a/config/linux2-config.py b/config/linux2-config.py index 4d2b9e9ca3a..6e9106f9ea3 100644 --- a/config/linux2-config.py +++ b/config/linux2-config.py @@ -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' diff --git a/config/linuxcross-config.py b/config/linuxcross-config.py index 468f4cfcc50..2f5789b441e 100644 --- a/config/linuxcross-config.py +++ b/config/linuxcross-config.py @@ -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' diff --git a/config/openbsd3-config.py b/config/openbsd3-config.py index 50a77dccc4d..8e4dc3e5312 100644 --- a/config/openbsd3-config.py +++ b/config/openbsd3-config.py @@ -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' diff --git a/config/sunos5-config.py b/config/sunos5-config.py index 4441d3c9a51..d4b99600b0e 100644 --- a/config/sunos5-config.py +++ b/config/sunos5-config.py @@ -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' diff --git a/config/win32-mingw-config.py b/config/win32-mingw-config.py index 62425c745cd..3682f1750bc 100644 --- a/config/win32-mingw-config.py +++ b/config/win32-mingw-config.py @@ -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' diff --git a/config/win32-vc-config.py b/config/win32-vc-config.py index 63964a3c5ed..d7ca9e05b5b 100644 --- a/config/win32-vc-config.py +++ b/config/win32-vc-config.py @@ -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' diff --git a/extern/SConscript b/extern/SConscript index 8dc03c2e260..0cdf9676862 100644 --- a/extern/SConscript +++ b/extern/SConscript @@ -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']) diff --git a/extern/bullet2/src/SConscript b/extern/bullet2/src/SConscript new file mode 100644 index 00000000000..0d313865f14 --- /dev/null +++ b/extern/bullet2/src/SConscript @@ -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 ) \ No newline at end of file -- cgit v1.2.3