Boost logo

Boost-Build :

From: Artem Alimarine (artem_at_[hidden])
Date: 2006-08-29 10:11:05


> I would like to implement support for intemediate files. The other one that
> comes to mind is pre-processed output.

Yes, the perprocessed output is important too. I cannot imagine how to
use the Boost Preprocessor library without having a look at the
preprocessor output. The build system should provide a way to generate
such output.

> My aim is to make it possible to
> use Boost.Wave as your designated preprocessor and feed that to an
> msvc, Borland or other C++ compiler backend.
>
> At the moment, BBv2 assumes:
>
> CPP --> OBJ
>
> where it needs to be:
>
> CPP --> PP --> ASM --> OBJ
>
> such that by default the preprocessor (PP) and assembly (ASM) outputs
> are collapsed. In your situation, you would pass something like:

I agree, there should exist rules for ASM and PP targets. However, I do
not think it is a good idea to implement the CPP->OBJ rule as a
combination of CPP->PP, PP->ASM, ASM->OBJ rules. It is normally more
efficient to use the compiler to directly perform CPP->OBJ.

>
> <assembly>generate
>
> and you will get an assembly file (.S for gcc; .asm for Windows tools) as
> part of your output.

Yes, this is good enough for my case. However, a solution with
intermediate targets is more flexible as it allows to alter the
preprocessor or, in general, insert or replace a tools anywhere in the
CPP --> PP --> ASM --> OBJ sequence. Another application of this would
be a preprocessed assembler input.

> At this stage, this is one of the high-level aims that I am thinking about
> when we decide where to go with BBv3/BBpy. I have created a wiki page
> that outlines these (the "evolution" page).

Artem


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