#!/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' or sys.platform=='openbsd3': defs += ' NDEBUG' cflags += ['-O2'] elif sys.platform=='darwin': defs += ' NDEBUG' cflags += ['-O2','-pipe', '-fPIC', '-funsigned-char', '-ffast-math', '-mpowerpc' , '-mtune=G4'] else: print "################################################" print print "Check if bullet builds on your platform correctly" print "Add your platform specific defines" print "and cflags / cxxflags to the" print "extern/bullet/SConscript file" #bullet_env.Append (CCFLAGS = cflags) #bullet_env.Append (CPPFLAGS = cxxflags) #bullet_env.Append (CPPDEFINES = defines) sources = [ 'Bullet/BroadphaseCollision/BroadphaseProxy.cpp', 'Bullet/BroadphaseCollision/CollisionAlgorithm.cpp', 'Bullet/BroadphaseCollision/Dispatcher.cpp', 'Bullet/BroadphaseCollision/SimpleBroadphase.cpp', 'Bullet/BroadphaseCollision/AxisSweep3.cpp', 'Bullet/CollisionShapes/BoxShape.cpp', 'Bullet/CollisionShapes/CollisionShape.cpp', 'Bullet/CollisionShapes/ConeShape.cpp', 'Bullet/CollisionShapes/ConvexHullShape.cpp', 'Bullet/CollisionShapes/ConvexShape.cpp', 'Bullet/CollisionShapes/CylinderShape.cpp', 'Bullet/CollisionShapes/MinkowskiSumShape.cpp', 'Bullet/CollisionShapes/MultiSphereShape.cpp', 'Bullet/CollisionShapes/PolyhedralConvexShape.cpp', 'Bullet/CollisionShapes/Simplex1to4Shape.cpp', 'Bullet/CollisionShapes/SphereShape.cpp', 'Bullet/CollisionShapes/StridingMeshInterface.cpp', 'Bullet/CollisionShapes/TriangleMesh.cpp', 'Bullet/CollisionShapes/TriangleMeshShape.cpp', 'Bullet/CollisionShapes/BvhTriangleMeshShape.cpp', 'Bullet/CollisionShapes/ConvexTriangleCallback.cpp', 'Bullet/CollisionShapes/EmptyShape.cpp', 'Bullet/CollisionShapes/OptimizedBvh.cpp', 'Bullet/CollisionShapes/TriangleCallback.cpp', 'Bullet/CollisionShapes/TriangleIndexVertexArray.cpp', 'Bullet/NarrowPhaseCollision/BU_AlgebraicPolynomialSolver.cpp', 'Bullet/NarrowPhaseCollision/BU_Collidable.cpp', 'Bullet/NarrowPhaseCollision/BU_CollisionPair.cpp', 'Bullet/NarrowPhaseCollision/BU_EdgeEdge.cpp', 'Bullet/NarrowPhaseCollision/BU_Screwing.cpp', 'Bullet/NarrowPhaseCollision/BU_VertexPoly.cpp', 'Bullet/NarrowPhaseCollision/ContinuousConvexCollision.cpp', 'Bullet/NarrowPhaseCollision/ConvexCast.cpp', 'Bullet/NarrowPhaseCollision/GjkConvexCast.cpp', 'Bullet/NarrowPhaseCollision/GjkPairDetector.cpp', 'Bullet/NarrowPhaseCollision/MinkowskiPenetrationDepthSolver.cpp', 'Bullet/NarrowPhaseCollision/PersistentManifold.cpp', 'Bullet/NarrowPhaseCollision/RaycastCallback.cpp', 'Bullet/NarrowPhaseCollision/SubSimplexConvexCast.cpp', 'Bullet/NarrowPhaseCollision/VoronoiSimplexSolver.cpp', 'Bullet/NarrowPhaseCollision/ManifoldContactAddResult.cpp', 'Bullet/CollisionDispatch/ConvexConcaveCollisionAlgorithm.cpp', 'Bullet/CollisionDispatch/ConvexConvexAlgorithm.cpp', 'Bullet/CollisionDispatch/EmptyCollisionAlgorithm.cpp', 'Bullet/CollisionDispatch/ManifoldResult.cpp', 'Bullet/CollisionDispatch/CollisionDispatcher.cpp', 'Bullet/CollisionDispatch/UnionFind.cpp', 'Bullet/CollisionDispatch/CollisionObject.cpp', 'Bullet/CollisionDispatch/CollisionWorld.cpp', 'BulletDynamics/Vehicle/RaycastVehicle.cpp', 'BulletDynamics/Vehicle/WheelInfo.cpp', 'BulletDynamics/ConstraintSolver/ContactConstraint.cpp', 'BulletDynamics/ConstraintSolver/OdeConstraintSolver.cpp', 'BulletDynamics/ConstraintSolver/Point2PointConstraint.cpp', 'BulletDynamics/ConstraintSolver/HingeConstraint.cpp', 'BulletDynamics/ConstraintSolver/SimpleConstraintSolver.cpp', 'BulletDynamics/ConstraintSolver/Solve2LinearConstraint.cpp', 'BulletDynamics/ConstraintSolver/SorLcp.cpp', 'BulletDynamics/ConstraintSolver/TypedConstraint.cpp', 'BulletDynamics/Dynamics/BU_Joint.cpp', 'BulletDynamics/Dynamics/ContactJoint.cpp', 'BulletDynamics/Dynamics/RigidBody.cpp'] #sources = env.Glob('Bullet/BroadPhaseCollision/*.cpp') #sources += env.Glob('Bullet/CollisionShapes/*.cpp') #sources += env.Glob('Bullet/NarrowPhaseCollision/*.cpp') #sources += env.Glob('BulletDynamics/CollisionDispatch/*.cpp') #sources += env.Glob('BulletDynamics/ConstraintSolver/*.cpp') #sources += env.Glob('BulletDynamics/Dynamics/*.cpp') incs = '. Bullet BulletDynamics LinearMath' env.BlenderLib ( libname = 'extern_bullet', sources=sources, includes=Split(incs), defines=Split(defs), libtype=['game2', 'player'], priority=[20, 170], compileflags=cflags )