[ODE] documentation initiative

Jon Watte hplus-ode at mindcontrol.org
Mon Apr 12 10:56:02 MST 2004


        --> can someone tell me if the C ABI is identical for all
            windows compilers (or can be made so with compiler flags).
            if not, what are the differences?

Yes, it is. The problem is that, on Windows, to link with a shared 
library, you have to link with a non-shared library, that under the 
hood will re-direct to the shared library on load. The object format 
of this non-shared library is NOT compiler independent.

> (2) an automatic build system is a must - nobody wants to run through 20
> compile cycles by hand every time something in CVS changes (remember
> that we have debug/release options, float/double options, so we must
> build for all option settings for all platforms). on sourceforge it is
> (i think) possible to run automatic builds for *nix environments, but
> not for windows. how can we auto-build windows libs without a dedicated
> windows machine? one answer is to build cross-platform using gcc on
> linux. but this wont please every windows user, see (1).

A workspace that contains all the build targets, build rules, and 
projects could do this, using the "Batch Build" command. Alas, the 
setting-up of these things means typing and clicking an awful lot in 
the MSDEV IDE, and all of those changes may or may not transfer from 
the most-common IDE (VC 6.0) to the most-new IDE (VC 7.1 == .NET 2003).

Microsoft really does make it as hard as possible to do things in a 
non-Microsoft way. The really horrible part of it is that their 
GUI tools don't really scale well; when you have tens of thousands of 
source files and many hundreds of dependent libraries, they just grind 
to a halt.

What we chose to do at work was write a perl script which will set up 
the project and workspace files for Windows, or the make files for 
UNIX. This means that you have to have Perl to set up our source tree, 
but you don't have to have anything else, at least.

There are also cross-platform build configurators available, open 
source; "cmake" is one of them that I've heard about.
http://www.cmake.org/HTML/Index.html

Cheers,

			/ h+




More information about the ODE mailing list