diff options
author | Vladimir Prus <ghost@cs.msu.su> | 2009-05-15 05:30:38 +0000 |
---|---|---|
committer | Vladimir Prus <ghost@cs.msu.su> | 2009-05-15 05:30:38 +0000 |
commit | 799e03eb6bc3a4cce7d7349f99842dd2dc91b038 (patch) | |
tree | d62c5a619e81d81930b12cae7ac7c7519b3819c6 /Jamroot | |
parent | 3ce3e6071a9639d800ceff3b5a8406a47c724963 (diff) | |
download | boost-799e03eb6bc3a4cce7d7349f99842dd2dc91b038.tar.gz |
Merge: implement --layout=tagged.
[SVN r53016]
Diffstat (limited to 'Jamroot')
-rw-r--r-- | Jamroot | 104 |
1 files changed, 53 insertions, 51 deletions
@@ -64,21 +64,26 @@ # versions of Boost or multiple compilers can # be used on the same system. # -# versioned (default) - Names of boost -# binaries include the Boost version -# number and the name and version of the -# compiler. Boost headers are installed -# in a subdirectory of <HDRDIR> whose -# name contains the Boost version -# number. -# -# system - Binaries names do not include -# the Boost version number or the name -# and version number of the compiler. -# Boost headers are installed directly -# into <HDRDIR>. This option is -# intended for system integrators who -# are building distribution packages. +# versioned (default) - Names of boost binaries +# include the Boost version number, name and +# version of the compiler and encoded build +# properties. Boost headers are installed in a +# subdirectory of <HDRDIR> whose name contains +# the Boost version number. +# +# tagged -- Names of boost binaries include the +# encoded build properties such as variant and +# threading, but do not including compiler name +# and version, or Boost version. This option is +# useful if you build several variants of Boost, +# using the same compiler. +# +# system - Binaries names do not include the +# Boost version number or the name and version +# number of the compiler. Boost headers are +# installed directly into <HDRDIR>. This option +# is intended for system integrators who are +# building distribution packages. # # --buildid=ID Adds the specified ID to the name of built # libraries. The default is to not add anything. @@ -318,53 +323,50 @@ rule tag ( name : type ? : property-set ) { if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB { + local result ; if $(layout) = versioned { - local result = [ common.format-name + result = [ common.format-name <base> <toolset> <threading> <runtime> -$(BOOST_VERSION_TAG) -$(BUILD_ID) : $(name) : $(type) : $(property-set) ] ; - - # Optionally add version suffix. On NT, library with version suffix - # will not be recognized by linkers. On CYGWIN, we get strage - # duplicate symbol errors when library is generated with version - # suffix. On OSX, version suffix is not needed -- the linker expects - # the libFoo.1.2.3.dylib format. AIX linkers do not accept version - # suffixes either. Pgi compilers can not accept library with version - # suffix. - if $(type) = SHARED_LIB && - ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) && - ! ( [ $(property-set).get <toolset> ] in pgi ) ) - { - result = $(result).$(BOOST_VERSION) ; - } - - return $(result) ; + } + else if $(layout) = tagged + { + result = [ common.format-name + <base> <threading> <runtime> + -$(BUILD_ID) + : $(name) : $(type) : $(property-set) ] ; } - else + else if $(layout) = system { - local result = [ common.format-name + result = [ common.format-name <base> -$(BUILD_ID) : $(name) : $(type) : $(property-set) ] ; - - # Optionally add version suffix. On NT, library with version suffix - # will not be recognized by linkers. On CYGWIN, we get strage - # duplicate symbol errors when library is generated with version - # suffix. On OSX, version suffix is not needed -- the linker expects - # the libFoo.1.2.3.dylib format. AIX linkers do not accept version - # suffixes either. Pgi compilers can not accept library with version - # suffix. - if $(type) = SHARED_LIB && - ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) && - ! ( [ $(property-set).get <toolset> ] in pgi ) ) - { - result = $(result).$(BOOST_VERSION) ; - } - - return $(result) ; } - } + else + { + ECHO "error: invalid layout '$(layout)'" ; + EXIT ; + } + + # Optionally add version suffix. On NT, library with version suffix + # will not be recognized by linkers. On CYGWIN, we get strage + # duplicate symbol errors when library is generated with version + # suffix. On OSX, version suffix is not needed -- the linker expects + # the libFoo.1.2.3.dylib format. AIX linkers do not accept version + # suffixes either. Pgi compilers can not accept library with version + # suffix. + if $(type) = SHARED_LIB && + ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) && + ! ( [ $(property-set).get <toolset> ] in pgi ) ) + { + result = $(result).$(BOOST_VERSION) ; + } + + return $(result) ; + } } |