Boost logo

Boost-Build :

From: Ilya Sokolov (fal_delivery_at_[hidden])
Date: 2006-05-05 06:16:51


Emil Dotchevski wrote:
> Going through the boost-build documentation didn't help so I decided
to look
> at some jamfile.v2 files in boost. I'm puzzled by the content of jamfile.v2
> for boost.thread:
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> import os ;
>
> if [ os.name ] = NT
> {
> reqts = <link>shared:<define>BOOST_THREAD_BUILD_DLL=1 ;
> }
> else
> {
> # Declare the uses system library
> lib pthread : : <name>pthread ;
> usage = <library>pthread ;
> }
>
> project boost/thread
> : source-location ../src
> : usage-requirements $(usage)
> : requirements $(reqts) <threading>multi
> : default-build <threading>multi
> ;
>
> CPP_SOURCES = condition mutex recursive_mutex thread xtime once
> exceptions barrier tss tss_hooks tss_dll tss_pe ;
>
> lib boost_thread
> : $(CPP_SOURCES).cpp
> ;
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
> Ideally I want any of my projects that ends up linking boost_thread to have
> been built with <threading>multi without me having to specify it explicityl
> in my requirements. But it doesn't seem to work.

i dont know why

> project boost/thread
> : source-location ../src
> : usage-requirements $(usage)

is not

project boost/thread
      : source-location ../src
      : usage-requirements $(usage) <threading>multi

in boost/libs/thread/build/Jamfile.v2, it seems like an error. But you
can create an alias (see below) and use it your own code

alias boost-thread-multi
   : # source
     /boost/thread
   : # requirements
   : # usage-requirements
     <threading>multi
   ;


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