[ODE] documentation initiative

J. Perkins jason at sim8.com
Tue Apr 13 16:41:06 MST 2004


Megan Fox wrote:
> Both revisions of its buildsys (as well as the buildsys for Nebula 1)
> operate through TCL, and generate all necessary workspaces for all platforms
> when the TCL is run, using current sources and easy-to-update .bld spec
> files for the various component packages that make up the library.
> 
> Something like this has the advantage of easy cross-platform maintenance,
> since you only modify the one set of bld files, and it removes the need for
> specific linux/windows/etc maintainers beyond someone to fix the bugs in the
> build system as they crop up.  

At Megan's suggestion, I took a couple of hours earlier today and threw
together some scripts for premake (http://premake.sourceforge.net/). I
have packaged them up as a contrib for ODE, you can find them here:

   http://premake.sf.net/wiki/pmwiki.php/Main/OpenDE

You can use this contrib instead of the documented build process. I've
included instructions (see README.txt) but in a nutshell: install
premake (one file, ~200K), unpack this contrib into your ode/contrib
directory, cd into it, then run:

    premake --target T

Where "T" is one of vs6 (VS6), vs7 (VS7/2002), vs2003 (VS2003), or gnu
(GNU makefile, includes Cygwin). Defaults to double precision, trimesh
enabled, but you can override with some switches:

    premake [--use-single] [--no-trimesh] --target T

I've tested it on Windows and Linux, but only on Intel. The scripts
should run on other platforms, but the provided config.h will probably
need to be changed to support different compilers, byte ordering, etc. I
can probably make some of that automatic by adding it to premake (I
happen to know the author ;) if people will let me know what needs to be
changed.

A couple of points:

* It generates static libraries. I will add support for shared libraries
when I get more time.

* I'm using a "unified" config.h, as some people have requested on the
list. I'll let you decide if that is good or bad.

* Gcc seems unable to build the trimesh code. I need to investigate further.

* The sample programs will not work if built with Cygwin, they complain
about "missing accelerators". I don't know how to build resources in
Cygwin. I'm going to bring this issue up in a separate post though.

I think that's it. If you give this a try, let me know how it works for
you. I will be looking to improve on it and could really use some feedback.

Jason






More information about the ODE mailing list