From: David Abrahams (dave_at_[hidden])
Date: 2005-09-23 16:21:59
Caleb Epstein <caleb.epstein_at_[hidden]> writes:
> On 9/22/05, David Abrahams <dave_at_[hidden]> wrote:
>> > I should mention that c:\boost is an installed copy of boost, not a
>> > full source tree. That is, I downloaded the source and ran 'bjam
>> > install'. So it has an include directory and a lib directory but no
>> > sources other than the headers in include.
>> Oh, well, that's dumb. We should fix that.
> This is one of the major mind-bogglers I have encountered when
> trying to use Boost Build. You can't use it with an installed Boost
> directory, only with the unpacked source distribution.
No, that's certainly not true. You can use its library files directly
and add its include directory to the #include path. Or, in your
Jamfile, you can create prebuilt targets corresponding to the
libraries, and you can even add usage requirements to these targets
that, e.g., relieve the need to explicitly specify #include paths.
However, those target definitions should in fact be present in a
Jamfile created by the install process. That basic idea was first
proposed by Ullrich Koethe long ago
> That doesn't seem like the best idea to me, especially since the
> layout of the bin[.v2] directory doesn't take into account
> architecture-specifics (e.g. I have
> $BOOST_ROOT/bin.v2/libs/test/build/gcc; are those from gcc-on-Linux
> or gcc-on-Solaris?)
Hmm, that's a different problem. I do agree we should address it.
> What I would expect would be that "bjam install" would install all of the
> Boost headers, compiled libraries, the Boost Build plumbing,
What plumbing did you have in mind?
> and any Jamfiles[.v2] necessary to link with those compiled
> libraries. These Jamfiles might necessarily be different than the
> ones used to build the library in the first place. They should only
> provide information about the required compiler flags for building
> code that links with the library, and the necessary library names to
> link. There should be no information about how to build the library
> itself, since the sources aren't available.
It sounds like you're describing Ullrich's idea. Care to implement
-- Dave Abrahams Boost Consulting 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