SCons updates

* Game engine can now be build on Linux. By default this feature is disabled.
  The reason is that you need to have a precompiled version of the ode library
  for your gcc version.
  To enable ode support you need to do the following:
  - compile ode.
  - set BUILD_GAMEENGINE = 'true' in the config.opts file.
  - set USE_PHYSICS='ode' in the config.opts file.
  - set the ODE_INCLUDE and ODE_LIBPATH to valid locations.

* Linking order has changed for the game engine
  There are cyclic dependencies between libraries. On linux we have to do some
  duplicate linking. I looked at the order of linking in source/Makefile, and
  did some clean up.
This commit is contained in:
Michel Selten
2004-02-22 19:01:12 +00:00
parent 2cc629eaa7
commit e1ab3cf480
3 changed files with 18 additions and 15 deletions

View File

@@ -64,9 +64,9 @@ if sys.platform == 'linux2':
qhull_libpath = [] # TODO
qhull_include = ['#extern/qhull/include']
# ODE library information
ode_lib = [] # TODO
ode_libpath = [] # TODO
ode_include = ['#extern/ode/dist/include/ode']
ode_lib = ['ode']
ode_libpath = ['#../lib/linux-glibc2.2.5-i386/ode/lib']
ode_include = ['#../lib/linux-glibc2.2.5-i386/ode/include']
# Python library information
python_lib = ['python%d.%d' % sys.version_info[0:2]]
python_libpath = [sysconfig.get_python_lib (0, 1) + '/config']
@@ -693,19 +693,22 @@ if user_options_dict['USE_INTERNATIONAL'] == 1:
if user_options_dict['USE_QUICKTIME'] == 1:
link_env.Append (LIBS=['blender_quicktime'])
if user_options_dict['BUILD_GAMEENGINE'] == 1:
link_env.Append (LIBS=['blender_expressions',
'KX_blenderhook',
link_env.Append (LIBS=['KX_blenderhook',
'KX_converter',
'KX_ketsji',
'KX_network',
'NG_loopbacknetwork',
'NG_network',
'PHY_Physics',
'PHY_Dummy',
'PHY_Physics',
'KX_ketsji',
'SCA_GameLogic',
'RAS_rasterizer',
'RAS_OpenGLRasterizer',
'SG_SceneGraph'])
'blender_expressions',
'SG_SceneGraph',
'blender_MT',
'KX_blenderhook',
'KX_network',
'blender_kernel',
'NG_network',
'NG_loopbacknetwork'])
if user_options_dict['USE_PHYSICS'] == 'solid':
link_env.Append (LIBS=['PHY_Sumo'])
link_env.Append (LIBS=user_options_dict['SOLID_LIBRARY'])
@@ -713,7 +716,8 @@ if user_options_dict['BUILD_GAMEENGINE'] == 1:
link_env.Append (LIBS=user_options_dict['QHULL_LIBRARY'])
link_env.Append (LIBPATH=user_options_dict['QHULL_LIBPATH'])
else:
link_env.Append (LIBS=['PHY_Ode'])
link_env.Append (LIBS=['PHY_Ode',
'PHY_Physics'])
link_env.Append (LIBS=user_options_dict['ODE_LIBRARY'])
link_env.Append (LIBPATH=user_options_dict['ODE_LIBPATH'])

View File

@@ -15,6 +15,6 @@ source_files = ['OdePhysicsController.cpp',
phy_ode_env.Append (CPPPATH=['.',
'../common',
])
phy_ode_env.Append (CPPPATH=['ODE_INCLUDE'])
phy_ode_env.Append (CPPPATH=user_options_dict['ODE_INCLUDE'])
phy_ode_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/PHY_Ode', source=source_files)

View File

@@ -16,6 +16,5 @@ SConscript(['BlenderRoutines/SConscript',
if user_options_dict['USE_PHYSICS'] == 'solid':
SConscript(['Physics/Sumo/SConscript'])
if user_options_dict['USE_PHYSICS'] == 'ode':
elif user_options_dict['USE_PHYSICS'] == 'ode':
SConscript(['Physics/BlOde/SConscript'])