Boost logo

Boost :

From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2001-11-02 10:27:42

Jeremy Siek wrote:

> david.> My problem so far is that I don't have a clear picture of what people
> david.> want/need to do with prebuilt libraries in a cross-platform build system.
> david.> Let's discuss it. Once I understand it, getting you what you want should be
> david.> trivial.


> david.> What is the analogue for non-unix systems? My impression is that only unix
> david.> does the lib + name + .a trick. Is there any point in worrying about the
> david.> non-uniformity? Perhaps the libraries are always named differently on
> david.> different platforms anyway?
> I guess by "portably" I meant all unix systems :) I haven't a clue as to
> how to make that kind of thing work for windows :(
> BTW, jam doesn't necessarily have to do all the work. I don't mind
> specifying different things on different platforms, as long as there's a
> way to do it.

To link `portably` with external libraries I have added a section to the
Jamrules of my project where the user can specify the paths and names to
all external libraries (remark that all variables I use or in my
project's namespace (called FEMTown) to avoid clashes ):

# begin project specific Jamrules

#path to Boost
FEMTOWN_BOOST_INC_PATH = /usr/local/boost ;

# path to BLAS
FEMTOWN_BLAS_LIBS = f77blas atlas g2c ;

# path to SuperLU

FEMTOWN_BOXPRO_LIBS = actran inputoutput box basic ;

# all together

#end project specific Jamrules

When linking an executable I just write something like

#begin excerpt from Jamfile
exe femtown$(SUFEXE)
#end excerp from Jamfile

This works great and seems to be easy on the users (they just have to
customise the Jamrules and it works out of the box). I mainly work on
Linux/gcc but have done something similar for another project (with Jam
before Boost.Build was this mature) and that works on 5 Unix platforms
and Windows.


Boost list run by bdawes at, gregod at, cpdaniel at, john at