Boost logo

Boost-Build :

From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2004-12-03 06:58:56


Vladimir Prus wrote:
> On Wednesday 01 December 2004 14:50, Toon Knapen wrote:

> - take the 'convert.jam' file from the attached archive, add "import convert ;
> " somewhere in your project and then use:
>
> lib your_lib : objects ;
> convert objects obj : a.cpp b.cpp ;

So this works great. One last problem (I hope it's the last;-) is that
the fake_mpi or real_mpi is not propagated to exe targets that use the
library that is compiled with <parallelism>fake or <parallelism>mpi.

Just try 'bjam link=static test_seq' in attached project
 --------------070804000909060005050706 Content-Type: application/octet-stream;
name="bjam_test.tgz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="bjam_test.tgz"

[Attachment content not displayed.] --------------070804000909060005050706 Content-Type: text/plain;
name="user-config.jam"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="user-config.jam"

# Use the gcc compiler by default.
# Multiple compilers can be used and thus several 'using' statements
# may be added to user-config.jam. In this case all 'used' compilers
# will be used to build the requested targets unless a specific compiler
# is specified on the command-line
using gcc ;
using gfortran ;

# Create a local variable that contains all the
# following macro-definition that will be passed to the compiler
MPI_DEFINES = USE_STDARG HAVE_STDLIB_H=1 HAVE_STRING_H=1 HAVE_UNISTD_H=1 HAVE_STDARG_H=1 USE_STDARG=1 MALLOC_RET_VOID=1 ;

# some boiler-plate so that all targets specified in this file
# can be reference from anywhere using the syntax /user-config//<some target>
import project ;
project.initialize $(__name__) ;
project user-config ;

# Define a target that specifies the header-only MPI project.
# This is a header-only project because the corresponding sources
# can be the real or the fake-mpi lib.
alias mpiheaders
: # sources
: # requirements
: # default-build
: <define>$(MPI_DEFINES)
<include>/usr/local/mpich-1.2.5.2/include
;

# Define the real-mpi library target
lib libmpi
: # sources
mpiheaders
: # requirements
<file>/usr/local/mpich-1.2.5.2/lib/libmpich.a
: # default-build
: # usage-requirements
<use>/user-config//mpiheaders
;

lib libf2c
: # sources
: # requirements
<name>g2c
: # default-build
: # usage-requirements
;

lib libatlas
: # sources
: # requirement
<file>/usr/local/lib/libatlas.a
: # default-build
: # usage-requirement
;

lib libf77atlas
: # sources
/user-config//libatlas # dependent on atlas kernel
: # requirement
<file>/usr/local/lib/libf77blas.a
: # default-build
: # usage-requirement
;

lib libcatlas
: # sources
/user-config//libatlas # dependent on atlas kernel
: # requirement
<file>/usr/local/lib/libcblas.a
: # default-build
: # usage-requirement
;

# Define the BLAS library target
alias libblas
: # sources
/user-config//libf77atlas
: # requirements
: # default-build
: # usage-requirements
;

# Define the netlib LAPACK library
lib liblapack_netlib
: # sources
/user-config//libf2c
: # requirements
<file>/usr/lib/liblapack.a
: # default-build
: # usage-requirements
;

# Define the LAPACK library target
lib liblapack_atlas
: # sources
/user-config//libcatlas
/user-config//liblapack_netlib # dep to make sure lapack-atlas before lapack-netlib on link-line
: # requirements
<file>/usr/local/lib/liblapack_atlas.a
: # default-build
: # usage-requirements
;

alias liblapack
: # sources
/user-config//liblapack_atlas
/user-config//liblapack_netlib
: # requirements
: # default-build
: # usage-requirements
;

lib libslatec : : <file>/usr/local/lib/libslatec.a ;

# Define the SuperLU library target
lib libsuperlu
: # sources
: # req
<file>/usr/local/SuperLU_3.0/libsuperlu_linux.a
: # default-build
: # usage-req
<include>/usr/local/SuperLU_3.0
;

# Define the METIS library target
lib libmetis
: # sources
: # req
<file>/usr/local/metis-4.0/libmetis.a
: # default-build
: # usage-req
<include>/usr/local/metis-4.0/Lib
;

lib libhmlib
:
: <file>/home/tk/cvstop/hypermesh/lib/linux/libhmlib.a
:
: <include>/home/tk/cvstop/hypermesh/include/linux
;

lib libhmreslib
: /user-config//libhmlib
: <file>/home/tk/cvstop/hypermesh/lib/linux/libhmreslib.a
:
: <include>/home/tk/cvstop/hypermesh/include/linux
;

lib libhmmodlib
: /user-config//libhmreslib
: <file>/home/tk/cvstop/hypermesh/lib/linux/libhmmodlib.a
:
: <include>/home/tk/cvstop/hypermesh/include/linux
;

lib libpython
:
: <file>/usr/local/python-2.3.4/lib/python2.3/config/libpython2.3.a
:
: <include>/usr/local/python-2.3.4/include/python2.3
;

lib libz : : <file>/usr/lib/libz.a ;
lib libjpeg : /user-config//libz : <file>/usr/lib/libjpeg.a ;
lib libdf : /user-config//libjpeg : <file>/usr/local/lib/libdf.a ;
lib libmfhdf : /user-config//libdf : <file>/usr/local/lib/libmfhdf.a ;

alias libhdf
: /user-config//libmfhdf
:
:
: <include>/usr/local/include
;

lib libflexlm_new
:
: <file>/usr/local/flexlm/v9.2/i86_r6-icc/liblm_new.a
;

lib libflexlmgr
: /user-config//libflexlm_new
: <file>/usr/local/flexlm/v9.2/i86_r6-icc/liblmgr.a
;

alias libflexlm
: /user-config//libflexlmgr
:
:
: <include>/usr/local/flexlm/v9.2/machind
;

 --------------070804000909060005050706--


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