Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r53015 - trunk
From: ghost_at_[hidden]
Date: 2009-05-15 01:23:56


Author: vladimir_prus
Date: 2009-05-15 01:23:56 EDT (Fri, 15 May 2009)
New Revision: 53015
URL: http://svn.boost.org/trac/boost/changeset/53015

Log:
Implement the 'tagged' layout.

Text files modified:
   trunk/Jamroot | 104 ++++++++++++++++++++-------------------
   1 files changed, 53 insertions(+), 51 deletions(-)

Modified: trunk/Jamroot
==============================================================================
--- trunk/Jamroot (original)
+++ trunk/Jamroot 2009-05-15 01:23:56 EDT (Fri, 15 May 2009)
@@ -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 @@
 {
     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) ;
+ }
 }
 
 


Boost-Commit 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