Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2006-08-29 06:52:49


Artem Alimarine wrote:

> Vladimir Prus wrote:
> > You can run "bjam -n" and then copy-paste the command line and add the needed
> > option.
>
> This indeed sound like a good alternative for a quick experiment with
> the switches.
>
> However, I'll need to do that from time to time, so I wanted to make a
> target in the jamfile for it.

It is not really a feasible solution if you need to do it every time you build the
project, or if you have an automated build.

> >>It would be nice to have a portable flag <asm-output>on or a special
> >>target type
> >> asm foo.asm : foo.cpp ;
> >
> > This is probably beyond the portable nature of Boost.Build, if you need
> > assembler output you are likely to know the right switches already ;-)
>
> I relealize that what I asked is not on the top10 of the new requested
> features ;-)

I would like to implement support for intemediate files. The other one that
comes to mind is pre-processed 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:

   <assembly>generate

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

> However, I do not agree that having a support for assembeler output
> contradicts with the portability of Boost.Build. Yes, assembler output
> is platform-specific, but so is object file or executable. All compilers
> I know can produce assembler. Actually, the difference in the formats
> and toolsets is one of the things that makes Boost.Build a very good
> tool, because it helps to abstract from the differences. In the light
> of this an assembler file is just another target that the user might
> want to build.

I agree and as I have said above, I want to generalize this. Note that
I don't yet know exactly how this would work, or even that I am close
to a solution, because I am not.

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).

- Reece
_________________________________________________________________
Be one of the first to try Windows Live Mail.
http://ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d


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