119 lines
3.9 KiB
Plaintext
119 lines
3.9 KiB
Plaintext
As of version 0.6, ODE has two new build systems, one for Visual Studio
|
|
and another for just about everything else.
|
|
|
|
1. Building with Visual Studio
|
|
2. Building with Autotools (Linux, OS X, etc.)
|
|
3. Building with Code::Blocks
|
|
4. Building with Something Else
|
|
|
|
|
|
1. BUILDING WITH VISUAL STUDIO (2002 and up)
|
|
|
|
If you downloaded the source code from Subversion you must first copy
|
|
the file build/config-default.h to include/ode/config.h. If you
|
|
downloaded a source code package from SourceForge this has already
|
|
been done for you.
|
|
|
|
The directory ode/build contains project files for all supported versions
|
|
of Visual Studio. Open the appropriate solution for your version, build,
|
|
and go!
|
|
|
|
Single-precision math is used by default. If you would like to switch to
|
|
doubles instead, edit ode/include/ode/config.h and replace
|
|
|
|
#define dSINGLE 1
|
|
|
|
with the line
|
|
|
|
#define dDOUBLE 1
|
|
|
|
and the rebuild everything.
|
|
|
|
Note that Visual Studio 6 is no longer supported; please upgrade to
|
|
Visual Studio 2005 C++ Express (it's free!).
|
|
|
|
|
|
2. BUILDING WITH AUTOTOOLS (Linux, OS X, etc.)
|
|
|
|
If you downloaded the source code from Subversion you must bootstrap the
|
|
process by running the command:
|
|
|
|
$ sh autogen.sh
|
|
|
|
If you downloaded a source code package from SourceForge this has
|
|
already been done for you. You may see some "underquoted definition"
|
|
warnings depending on your platform, these are (for now) harmless
|
|
warnings regarding scripts from other m4 installed packages.
|
|
|
|
Run the configure script to autodetect your build environment.
|
|
|
|
$ ./configure
|
|
|
|
By default this will build ODE as a static library with single-precision
|
|
math, trimesh support, and debug symbols enabled. You can modify these
|
|
defaults by passing additional parameters to configure. For a full list
|
|
of available options, type
|
|
|
|
$ ./configure --help
|
|
|
|
Some of the more popular options are
|
|
|
|
--enable-double-precision enable double-precision math
|
|
--with-trimesh=none disables the trimesh support
|
|
--with-trimesh=opcode use OPCODE for trimesh code
|
|
--with-trimesh=gimpact use GIMPACT for trimesh code
|
|
|
|
--enable-release builds an optimized library
|
|
--enabled-shared builds a shared library
|
|
|
|
Once configure has run successfully, build and install ODE:
|
|
|
|
$ make
|
|
$ make install
|
|
|
|
The latter command will also create an `ode-config` script which you can
|
|
use to pass cflags and ldflags to your projects. run `ode-config` from a
|
|
command prompt to find out how it works.
|
|
|
|
In addition the option `--with-arch=` allows the user to pass the -march
|
|
flag to GCC, in order to tune the library for a particular architecture.
|
|
The arguments for --with-arch are listed on this page for -mtune:
|
|
|
|
http://gcc.gnu.org/onlinedocs/gcc-3.4.1/gcc/i386-and-x86-64-Options.html#i386%20and%20x86-64%20Options
|
|
|
|
Note that the link points to posible values for Intel processors, but
|
|
other processors are also supported, check the page for your particular
|
|
processor to see what parameters can be passed to -march in your case.
|
|
|
|
|
|
3. Building with Code::Blocks
|
|
|
|
Because Code::Blocks supports so many different platforms, we do not
|
|
provide workspaces. Instead, use Premake (http://www.premake.sourceforge.net/)
|
|
to create a workspace tailored for your platform and project.
|
|
|
|
Download Premake and place it on your system path (or anywhere convenient).
|
|
Then create a workspace like so:
|
|
|
|
$ cd ode/build
|
|
$ premake --with-tests --target cb-gcc
|
|
|
|
To see a complete list of options:
|
|
|
|
$ cd ode/build
|
|
$ premake --help
|
|
|
|
|
|
4. Building with Something Else
|
|
|
|
ODE uses the Premake tool to provide support for several different toolsets.
|
|
Premake adds support for new toolsets on a regular basis, so yours might be
|
|
supported. Check the Premake website at http://premake.sourceforge.net/,
|
|
and then follow the directions for Code::Blocks above, substituting your
|
|
toolset target in place of `cb-gcc`.
|
|
|
|
|
|
|
|
|
|
|