Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-11-02 02:31:46


Hi Jim.
> I've been looking for a build system to use with a couple of projects where
> I'm taking over maintenance and development. Currently both are seriously
> lacking in a build system - there's a few inadequate makefiles and manual
> intervention is necessary. A nice opportunity to investigate alternatives.
>
> I'm trying out Boost.Build v2, m10. I'd appreciate a pointer on a specific
> problem.
>
> A couple of subprojects have database access programs written in Informix
> ESQL/C. This is C with extensions, compiled using an Informix utility that
> mimics the C compiler command line - it actually preprocesses the source to
> plain C, compiles it with the platform C compiler, and at link time adds in
> various libraries depending on the C compiler options. I have extracted the
> list of libraries added and tried to replicate the utility behaviour by
> copying the qt example, but I'm not happy with this - the library set
> changes with platforms (and I need to support AIX and Linux, minimum) and
> I'm having to reverse engineer existing third-party tool internal
> behaviour. So, how can I change the name of the C/C++ compiler command -
> i.e. I want to change the compiler command from, say, gcc to c4gl, for
> compiling and linking for any subproject using the Informix stuff - but
> while keeping the underlying toolset behavior?

The simplest approach that comes to mind is:

using gcc : 3.3 ; # use regular gcc
using gcc : c4gl : /usr/bin/c4gl_compiler ;

Now, a project which uses Informix would use:

project : requirements <toolset>gcc-c4gl ;

and all files there will be compiled with your tool.

The syntax of toolset initialisation is documented at

http://boost.org/boost-build2/doc/html/bbv2/advanced.html#bbv2.advanced.configuration

and the "project" syntax at:

http://boost.org/boost-build2/doc/html/bbv2/advanced/jamfiles.html#bbv2.advanced.projects

HTH,
Volodya

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk