Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2002-11-06 17:26:45



Rene Rivera <grafik666_at_[hidden]> writes:

>>> * build.sh; Bootstrap build on Unix type SH shell, supports:
>>>
>>> - Detection of: GCC tools - tested on Linux; MacOSX Drawin GCC tools
> -
>>> tested; Intel Linux - untested; VisualAge C/C++ - untested.
>>> - Bootstraps jam, mkjambase, and the gramar.
>>
>>Nice, though I worry about bootstraping the grammar...
>
> It only bootstraps jambase or the grammar when they dont already exist. So
> in the normal distribution that won't happen. To get it to bootstrap that
> one would have to delete the files.

Oh, brilliant! I like that.

>>Maybe it would be best to disable building the grammar unless you
>>supply explicit flags. We might want to distinguish between developers
>>and build-to-install people.
>
> The building is a bit smarter than the current Jamfile, and only builds when
> the source is out of date (something that should also not happen in the
> regular user distribution). But I can certainly add a flag for this. How
> about a "--build-grammar" ?

Maybe it would be a good idea to force it in situations when you
ordinarily wouldn't, e.g. on Windows. Otherwise I like your idea of
only rebuilding it when it's outdated, and think it should be enough.

>>> The scripts are targeted mostly at enduser building, and as such us
>>> developers have to do the extra typing. Users just do either
>>> "./build.sh" or ".\build.bat".
>>
>>OK. What's the extra typing look like?
>
> Developers would have to use bjam for building, and the command would be
> like:
>
> ./bin.linuxx86/bjam -f build.jam -sBOOST_JAM_TOOLSET=gcc [ "dist",
> options, whatever else we think of ]

The thing I worry about there is that bjam won't be able to replace
itself.

And why would developers _have_ to use anything different from normal
users?

>>> The one thing I could not keep compatible in the still present
>>> Jamfile was the RPM building. This is because the command to build
>>> b/jam is embedded in the boost-jam.spec. So to build RPMs you must
>>> use these new scripts. If we can't live with this I can try and make
>>> changes to "Jamfile" to get that working.
>>
>>I'm not sure I understand what the consequences of this are.
>
> Simple... we can't use the current Jamfile to build the RPMs. To allow that
> I'd have to make changes to build.jam, Jamfile, and boost-jam.spec.

Yes, but do we want to use the current Jamfile to build RPMs? I don't
know how to evaluate that.

-- 
David Abrahams
dave_at_[hidden] * http://www.boost-consulting.com

 

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