blender/extern/bullet/SConscript
Nathan Letwory 3bb82a27fc == SCons ==
* 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
2006-02-04 14:15:10 +00:00

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 )