forked from bartvdbraak/blender
3bb82a27fc
* This commit is all of the rewrite work done on the SCons system. For documentation see doc/blender-scons.txt and doc/blender-scons-dev.txt. Also http://mediawiki.blender.org/index.php/BlenderDev/SconsRefactoring contains valuable information, along with what still needs to be done. - linux, os x and windows compile now. - files are compiled to BF_INSTALLDIR (see config/(platform)-config.py) - NOTE: Jean-Luc P will commit sometime during the weekend proper appit() for OS X. For now, copy the resulting binary to an existing .app bundle. - features: - cleaner structure for better maintenance - cleaner output during compile - better handling of build options - general overall speed increase - see the wiki for more info Cygwin, FreeBSD and Solaris systems still need work. For these systems: 1) copy a config/(platform)-config.py to ie. config/cygwin-config.py 2) set the proper defaults for your platform 3) mail me at jesterking at letwory dot net with you configuration. if you need any modifications to the system, do send a patch, too. I'll be giving first-aid today and tomorrow, after that it'll be all regular development work :) /Nathan
108 lines
5.3 KiB
Python
108 lines
5.3 KiB
Python
#!/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']
|
|
if 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']
|
|
|
|
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/CollisionDispatcher.cpp',
|
|
'Bullet/BroadphaseCollision/SimpleBroadphase.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',
|
|
|
|
'BulletDynamics/CollisionDispatch/ConvexConcaveCollisionAlgorithm.cpp',
|
|
'BulletDynamics/CollisionDispatch/ConvexConvexAlgorithm.cpp',
|
|
'BulletDynamics/CollisionDispatch/EmptyCollisionAlgorithm.cpp',
|
|
'BulletDynamics/CollisionDispatch/ManifoldResult.cpp',
|
|
'BulletDynamics/CollisionDispatch/ToiContactDispatcher.cpp',
|
|
'BulletDynamics/CollisionDispatch/UnionFind.cpp',
|
|
|
|
'BulletDynamics/ConstraintSolver/ContactConstraint.cpp',
|
|
'BulletDynamics/ConstraintSolver/OdeConstraintSolver.cpp',
|
|
'BulletDynamics/ConstraintSolver/Point2PointConstraint.cpp',
|
|
'BulletDynamics/ConstraintSolver/SimpleConstraintSolver.cpp',
|
|
'BulletDynamics/ConstraintSolver/Solve2LinearConstraint.cpp',
|
|
'BulletDynamics/ConstraintSolver/SorLcp.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', priority=20, compileflags=cflags )
|