Boost logo

Boost-Build :

From: Rene Rivera (grafik666_at_[hidden])
Date: 2002-06-20 20:22:09


[2002-06-21] op_jared_oberhaus wrote:

Wow! Long email from you ;-) I'll try and point you in the right
direction...

To answer some general questions...
* You can get a Win32 binary from the www.boost.org website. Look in the
"Building" page near the bottom.
* If you are using Perforce Jamfiles invoke with "jam", otherwise if you
are using Boost.Build invoke with "bjam".
* Yes it's being used for large projects. Mine is about 10,000 total
targets, with about 20 EXEs, 10 DLLs, 15-20 LIBs. My minimal build is 7700
targets and growing, only debug code.

Now the detailed questions...

>1. I can't figure out how I should get started.

I had the same problem first time ;-)

>2. I can't find any good examples to write Jamfile's, either with
>standard Perforce Jam and especially not with Boost.Build.

We've been trying to improve the documentation issues with Boost.Jam but
alas we are all very busy. I'll try include some of my own project files
here so you can get some ideas.

>Building a library (the one thing I can see Boost does)
----(snip)
OPENCLSRC = $(OPENCL)/OpenCL-dist/src ;

lib opencl
:
<template>t-thot-base
$(OPENCLSRC)/adler32.cpp
$(OPENCLSRC)/md4.cpp
$(OPENCLSRC)/md5.cpp
:
:
<suppress>true
;
----(snip)
>Building a dll and linking in other libraries
>Building an exe and linking in other libraries
----(full)
subproject utilities/dll_test ;

dll test
:
TestImp.cpp
ThingImp.cpp
<lib>../../boost
<lib>../../libraries
:
:
thot-debug
;

exe test_dll
:
test_dll.cpp
<dll>test
:
:
thot-debug
;

stage bin-stage
:
<dll>test
<exe>test_dll
:
:
thot-debug
<suppress>true
;
----(full)
>Building multiple exe's and running unit tests with them

I don't use the unit test rules.

>When I try something like this in my Jamfile:
>
>dll mydll
> : <lib>../otherlib/compiledlib
> : blahblah
> : blahblah
>
>It cannot find the actual compiled "compiledlib" that's a target
>in "../otherlib/Jamfile". The exact same variants are being built
>when running the Jamfile for the dll and compiling "compiledlib". It
>claims it's looking in "../otherlib/compiledlib/....." when it
>really should be looking in "../otherlib/bin/compiledlib/....". And
>when I copy the entire directory so there is the correct path, it
>looks for "../otherlib/bin/compiledlib/...../compiledlib" and
>totally ignores the
>file "../otherlib/bin/compiledlib/...../compiledlib.lib" which is
>the file I want to link with!

Some specifics from you here would be helpfull. Could you provide the
Jamfiles and some of the actuall output from the build?

>The claim that Jam/FTJam is easy to use is irrelevant, because they
>are useless without large and complex rule files. That is why I
>turned to Boost.build, but as you can see I'm having trouble
>figuring out how to get it to work...

Agreed, same reasons I use Boost.Build instead of Perforce-Jam, and why I've
contributed as much as I can to it ;-)

-- grafik - Don't Assume Anything
-- rrivera_at_[hidden] - grafik_at_[hidden]
-- 102708583_at_icq - Grafik666_at_AIM - Grafik_at_[hidden]

 


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