Merged: olehe_derevenko#1917: Changed: Private definitions moved from public <ode...
[ode.git] / INSTALL.txt
blob8fcdd4544b9c2e2552181f016f638f7bd9a19be1
1 ODE has two new build systems, one for *nix systems and another for
2 just about everything else.
4 1. Building with Visual Studio
5 2. Building with Autotools (Linux, OS X, MSYS, etc.)
6 3. Building with Code::Blocks
7 4. Building with Something Else
12 1. BUILDING WITH VISUAL STUDIO (2002 and up)
13 ============================================
15  If you downloaded this source code from Subversion you must first use
16  the Premake build system to generate project files.
18  Open a command prompt and enter into the build directory. Then run the
19  premake4.exe program with the appropriate options to generate the
20  project files. For example, to generate a project for VS2008:
22    > premake4.exe --with-tests --with-demos vs2008
24  To see a complete list of options use:
26    > premake4.exe --help
28  Note that Visual Studio 6 is not supported and users are advised to upgrade
29  to at least Visual Studio 2005 Express (it's free!)
34 2. BUILDING WITH AUTOTOOLS (Linux, OS X, MSYS, etc.)
35 ====================================================
37 2.1 FROM SUBVERSION REPOSITORY
38 ------------------------------
40  If you downloaded the source code from Subversion you must bootstrap the
41  process by running the command:
43    $ ./bootstrap
45  For this command to work you need a set of tools typically available
46  on BSD and Linux distributions with development packages installed. OS X
47  users may need to manually install libtool, autoconf, automake,
48  pkg-config, and maybe some more.
50  If you downloaded a source code package from SourceForge this has 
51  already been done for you. You may see some "underquoted definition" 
52  warnings depending on your platform, these are (for now) harmless 
53  warnings regarding scripts from other m4 installed packages.
55 2.2 FROM A RELEASED TARBALL
56 ---------------------------
58  First extract the archive (e.g. tar xvfz <filename.tar.gz>) and enter
59  the created directory (ode-x.y).
61  Run the configure script to autodetect your build environment:
63    $ ./configure
64     
65  By default this will build ODE as a static library with single-precision
66  math, trimesh support with OPCODE, and debug symbols enabled. You can
67  modify these defaults by passing additional parameters to
68  configure. For a full list of available options, type:
70    $ ./configure --help
71    
72  Some of the more popular options are
74    --enable-double-precision    enable double-precision math
75    --with-trimesh=none          disables the trimesh support
76    --with-trimesh=opcode        use OPCODE for trimesh code
77    --with-trimesh=gimpact       use GIMPACT for trimesh code
79    --enabled-shared             builds a shared library
81  To pass specific flags for an optimized build, you must do so
82  in the CFLAGS and CXXFLAGS enviroment variables, or as arguments
83  to ./configure. For example if you are building for an athlon xp processor
84  and you want the compiler to use SSE instructions you can run configure as
85  follows:
87  $ ./configure CFLAGS="-msse -march=atlon-xp" CXXFLAGS="-msse -march=atlon-xp"
89  Note that you must set both CFLAGS and CXXFLAGS as ODE contains a mixture of
90  C and C++ files.
92  Once configure has run successfully, build and install ODE:
94    $ make
95    $ make install
97  The latter command will also create a pkg-config script that provides
98  compilation and linking flags for programs. The old stand-alone
99  "ode-config" script is also installed for compatibility.
104 3. BUILDING WITH Code::Blocks
105 =============================
107  Because Code::Blocks supports so many different platforms, we do not
108  provide workspaces. Instead, use Premake to create a workspace tailored
109  for your platform and project. Like so:
111    $ cd build
112    $ premake4 --with-tests --with-demos codeblocks
113    
114  To see a complete list of options:
116    $ cd build
117    $ premake4 --help
122 4. BUILDING WITH SOMETHING ELSE
123 ===============================
125  ODE uses the Premake tool to provide support for several different toolsets.
126  Premake adds support for new toolsets on a regular basis, so yours might be
127  supported. Check the Premake website at http://premake.sourceforge.net/, 
128  and then follow the directions for Code::Blocks above, substituting your
129  toolset target in place of `codeblocks`.