[ODE] Autotools support

J. Perkins starkos at gmail.com
Wed Mar 15 11:37:24 MST 2006


As I mentioned, I am working on a new set of project files for Visual
Studio 6-2005. I am using Premake (http://premake.sourceforge.net/) to
autogenerate them and things look pretty good. There are a few
potential incompatibilities with the autotools scripts that I wanted
to raise before I checked anything in.

We had a conversation a week or so ago about getting rid of the .def
files and using header symbols to export symbols from the Windows DLL.
This will make it easier for end users who want to alter the build:
they can just redefine a symbol. I have defined a new symbol "ODE_API"
and prepended it to every public ODE function. The config.h generated
by the autotools script must also define this symbol or the build will
break. I think it is safe to simply define the symbol with no value,
but if you want to copy my whole block, I am doing this:

  #if defined(WIN32)
    #if defined(ODE_BUILDING_DLL)
      #define ODE_API __declspec(dllexport)
    #else
      #define ODE_API __declspec(dllimport)
    #endif
  #else
    #define ODE_API
  #endif

That's the big issue. A more minor issue is the choice of default
options for ./configure. I went out and ran a google search for
projects that use ODE. The most common configuration I found, by far,
is single precision, with trimesh support, built as a DLL. I think
this should be the default for any ODE build scripts. Currently, it
looks like ./configure uses single-precision, but builds as a static
library and leaves out the trimesh support. Should we change that?

Thoughts?

Jason



More information about the ODE mailing list