From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2004-09-14 01:18:00
David Abrahams wrote:
> Toon Knapen <toon.knapen_at_[hidden]> writes:
>>The problem is that my project actually uses a variable BLAS_LIBS and
>>BLAS_LIB_PATH to know where and which blas is installed on the local
>>machine. So the user needs to set these two variables in his
>>user-config.jam like this:
>>modules.poke : BLAS_LIBS : f77blas atlas ;
>>modules.poke : BLAS_LIB_PATH : /usr/local/lib ;
> That doesn't look right to me. I think blas should be a toolset.
I don't think I am following you here.
IIUC a toolset is a set of tools and settings(options) for those tools
such that these tools can be used to transform sources into executables.
Now the BLAS I want to link with is a 'prebuilt library'. And bjamv2 has
a nice way to deal with prebuilt libraries.
OTOH, we work on multiple platforms (and that's the reason we use bjam
because of uniformity on all platform) and the exact BLAS library does
not only depend on the platform (where platform is combination of
hardware and OS) but can be anything (in many cases there is a
vendor-optimised blas library, there is atlas, there is flame). Flame
for instance is only a partial implementation of BLAS so one could want
to link with flame and after that with atlas (to resolve all symbols not
resolved by flame).
So the prebuilt library I want to link with should be configured by the
Now you suggest to use a toolset for that: do you mean that I e.g.
should create a blas.jam which is an extension of gcc.jam ? But how
could my blas.jam know where to find my blas (/usr/lib, /usr/local/lib,
/opt/soft/lib,...)? Additionally the blas one uses is orthogonal to the
choice of compiler ? Next I'm not only linking with a prebuilt lib blas
but also lapack, slatec(Bessel functions), metis(graph partitioning),
mpi, SuperLU(LU solver), python, HDF, FlexLM and a few others.
I very much welcome any suggestion on how such a situation (with many
external libraries) should be treated. Thanks in advance.
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