1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
|
====================================================
Building and Installing Cal3D
====================================================
The Cal3D Team (February 22, 2003)
----------------------------------------------------
Table of Contents
- Win32 Installation
- Build System Dependencies
- Basic Installation
- Some Useful Configuration Options
- Configuration Examples
- Installation Locations
- Important Note for IRIX Users
----------------------------------------------------
--------------------
Win32 Installation
--------------------
Those wishing to build the Cal3D library on Win32 platforms can use
the included Visual Studio project files. Cal3D is known to work properly
with Visual Studio 6 and Visual Studio .NET.
-------------------------
Build System Dependencies
-------------------------
To configure and build the Cal3D library, you need the following tools:
GNU Autoconf 2.50 or newer
GNU Automake 1.9 or newer
The source packages can be found at:
ftp://ftp.gnu.org/gnu/autoconf
ftp://ftp.gnu.org/gnu/automake
------------------
Basic Installation
------------------
Cal3D uses GNU's autobuild tools in order to allow users to build
the library from source using the same methods on a wide variety of
platforms.
The simplest way to compile this package is:
1. In the top-level directory of the cal3d package, run `autoreconf --install --force'
to automatically generate the configuration scripting files.
2. Type `./configure' to configure the package for your system.
Running `configure' takes a while. While running, it prints some
messages telling which features it is checking for. See below for
more info on configuring Cal3D.
3. Type `make' to compile the package.
4. Type `make install' to install the library and header files into
the appropriate location.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'.
The `autoreconf' script will run the autotools for you and create
the configure script and Makefile.in files, which will be used during
the build process.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
---------------------------------
Some Useful Configuration Options
---------------------------------
When using the `configure' script, you might want to use some of the
optional flags to change various aspects of the build and installation.
Below are some of the most commonly-used options.
--prefix=<DIR> Sets the package to be installed in a particular
location. By default, Cal3D is installed to
/usr/local
--with-cxx=<COMPILER> Forces the use of a particular compiler. By default,
the CXX environment variable is used.
--enable-16bit-indices Tells Cal3D to use 16-bit unsigned short indices
instead of the default 32-bit integer. This could
result in a slight performance boost.
--enable-rtti Enables runtime type identification. By default,
it is disabled.
--enable-static Allow a static Cal3D library to be built. By
default, only the shared library is built.
--disable-shared Prevent the shared library from being built. By
default, it will be created.
To get a list of all configuration options that the script supports, type
`./configure --help'.
----------------------
Configuration Examples
----------------------
* Example: a RedHat 7.2 system with gcc3 support
./configure --with-cxx=g++3
* Example: a user performing a local installation
./configure --prefix=/home/users/jahare/software
* Example: an Irix user wanting to build only static libraries
./configure --with-cxx=CC --enable-static --disable-shared
* Example: a user integrating Cal3D with his own app that requires RTTI
./configure --prefix=/home/users/jahare/software --enable-rtti
----------------------
Installation Locations
----------------------
By default, `make install' will install the package's files in
`/usr/local/lib', `/usr/local/include', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-----------------------------
Important Note for IRIX Users
-----------------------------
Cal3D uses GNU libtool to build the programming library. Some versions
of libtool have a problem building dynamic libraries on Irix with the
CC compiler, due to the necessity of the -LANG:std flag. As a result,
you may experience runtime linking problems in your applications that
use Cal3D's shared library (libcal3d.so).
A solution to this problem is to build a static Cal3D library (libcal3d.a)
instead of a shared library. This can be accomplished by adding the flags
`--enable-static' and `--disable-shared' to your configure script. An
example configure command would then be:
./configure --with-cxx=CC --enable-static --disable-shared
This problem should NOT affect Irix developers using the gcc compiler.
|