| 1 | As of version 0.6, ODE has two new build systems, one for Visual Studio |
|---|
| 2 | and another for just about everything else. |
|---|
| 3 | |
|---|
| 4 | 1. Building with Visual Studio |
|---|
| 5 | 2. Building with Autotools (Linux, OS X, etc.) |
|---|
| 6 | 3. Building with Code::Blocks |
|---|
| 7 | 4. Building with Something Else |
|---|
| 8 | |
|---|
| 9 | |
|---|
| 10 | 1. BUILDING WITH VISUAL STUDIO (2002 and up) |
|---|
| 11 | |
|---|
| 12 | If you downloaded the source code from Subversion you must first copy |
|---|
| 13 | the file build/config-default.h to include/ode/config.h. If you |
|---|
| 14 | downloaded a source code package from SourceForge this has already |
|---|
| 15 | been done for you. |
|---|
| 16 | |
|---|
| 17 | The directory ode/build contains project files for all supported versions |
|---|
| 18 | of Visual Studio. Open the appropriate solution for your version, build, |
|---|
| 19 | and go! |
|---|
| 20 | |
|---|
| 21 | Single-precision math is used by default. If you would like to switch to |
|---|
| 22 | doubles instead, edit ode/include/ode/config.h and replace |
|---|
| 23 | |
|---|
| 24 | #define dSINGLE 1 |
|---|
| 25 | |
|---|
| 26 | with the line |
|---|
| 27 | |
|---|
| 28 | #define dDOUBLE 1 |
|---|
| 29 | |
|---|
| 30 | and the rebuild everything. |
|---|
| 31 | |
|---|
| 32 | Note that Visual Studio 6 is no longer supported; please upgrade to |
|---|
| 33 | Visual Studio 2005 C++ Express (it's free!). |
|---|
| 34 | |
|---|
| 35 | |
|---|
| 36 | 2. BUILDING WITH AUTOTOOLS (Linux, OS X, etc.) |
|---|
| 37 | |
|---|
| 38 | If you downloaded the source code from Subversion you must bootstrap the |
|---|
| 39 | process by running the command: |
|---|
| 40 | |
|---|
| 41 | $ sh autogen.sh |
|---|
| 42 | |
|---|
| 43 | If you downloaded a source code package from SourceForge this has |
|---|
| 44 | already been done for you. You may see some "underquoted definition" |
|---|
| 45 | warnings depending on your platform, these are (for now) harmless |
|---|
| 46 | warnings regarding scripts from other m4 installed packages. |
|---|
| 47 | |
|---|
| 48 | Run the configure script to autodetect your build environment. |
|---|
| 49 | |
|---|
| 50 | $ ./configure |
|---|
| 51 | |
|---|
| 52 | By default this will build ODE as a static library with single-precision |
|---|
| 53 | math, trimesh support, and debug symbols enabled. You can modify these |
|---|
| 54 | defaults by passing additional parameters to configure. For a full list |
|---|
| 55 | of available options, type |
|---|
| 56 | |
|---|
| 57 | $ ./configure --help |
|---|
| 58 | |
|---|
| 59 | Some of the more popular options are |
|---|
| 60 | |
|---|
| 61 | --enable-double-precision enable double-precision math |
|---|
| 62 | --with-trimesh=none disables the trimesh support |
|---|
| 63 | --with-trimesh=opcode use OPCODE for trimesh code |
|---|
| 64 | --with-trimesh=gimpact use GIMPACT for trimesh code |
|---|
| 65 | |
|---|
| 66 | --enable-release builds an optimized library |
|---|
| 67 | --enabled-shared builds a shared library |
|---|
| 68 | |
|---|
| 69 | Once configure has run successfully, build and install ODE: |
|---|
| 70 | |
|---|
| 71 | $ make |
|---|
| 72 | $ make install |
|---|
| 73 | |
|---|
| 74 | The latter command will also create an `ode-config` script which you can |
|---|
| 75 | use to pass cflags and ldflags to your projects. run `ode-config` from a |
|---|
| 76 | command prompt to find out how it works. |
|---|
| 77 | |
|---|
| 78 | In addition the option `--with-arch=` allows the user to pass the -march |
|---|
| 79 | flag to GCC, in order to tune the library for a particular architecture. |
|---|
| 80 | The arguments for --with-arch are listed on this page for -mtune: |
|---|
| 81 | |
|---|
| 82 | http://gcc.gnu.org/onlinedocs/gcc-3.4.1/gcc/i386-and-x86-64-Options.html#i386%20and%20x86-64%20Options |
|---|
| 83 | |
|---|
| 84 | Note that the link points to posible values for Intel processors, but |
|---|
| 85 | other processors are also supported, check the page for your particular |
|---|
| 86 | processor to see what parameters can be passed to -march in your case. |
|---|
| 87 | |
|---|
| 88 | |
|---|
| 89 | 3. Building with Code::Blocks |
|---|
| 90 | |
|---|
| 91 | Because Code::Blocks supports so many different platforms, we do not |
|---|
| 92 | provide workspaces. Instead, use Premake (http://www.premake.sourceforge.net/) |
|---|
| 93 | to create a workspace tailored for your platform and project. |
|---|
| 94 | |
|---|
| 95 | Download Premake and place it on your system path (or anywhere convenient). |
|---|
| 96 | Then create a workspace like so: |
|---|
| 97 | |
|---|
| 98 | $ cd ode/build |
|---|
| 99 | $ premake --with-tests --target cb-gcc |
|---|
| 100 | |
|---|
| 101 | To see a complete list of options: |
|---|
| 102 | |
|---|
| 103 | $ cd ode/build |
|---|
| 104 | $ premake --help |
|---|
| 105 | |
|---|
| 106 | |
|---|
| 107 | 4. Building with Something Else |
|---|
| 108 | |
|---|
| 109 | ODE uses the Premake tool to provide support for several different toolsets. |
|---|
| 110 | Premake adds support for new toolsets on a regular basis, so yours might be |
|---|
| 111 | supported. Check the Premake website at http://premake.sourceforge.net/, |
|---|
| 112 | and then follow the directions for Code::Blocks above, substituting your |
|---|
| 113 | toolset target in place of `cb-gcc`. |
|---|
| 114 | |
|---|
| 115 | |
|---|
| 116 | |
|---|
| 117 | |
|---|
| 118 | |
|---|