147 lines
6.6 KiB
Diff
147 lines
6.6 KiB
Diff
From 5c77ecf330364ef1d85146428f769b87402cac57 Mon Sep 17 00:00:00 2001
|
|
From: vladimir_prus <vladimir_prus@b8fc166d-592f-0410-95f2-cb63ce0dd405>
|
|
Date: Fri, 15 May 2009 05:23:56 +0000
|
|
Subject: [PATCH] Implement the 'tagged' layout.
|
|
|
|
git-svn-id: http://svn.boost.org/svn/boost/trunk@53015 b8fc166d-592f-0410-95f2-cb63ce0dd405
|
|
---
|
|
Jamroot | 104 ++++++++++++++++++++++++++++++++-------------------------------
|
|
1 files changed, 53 insertions(+), 51 deletions(-)
|
|
|
|
diff --git a/Jamroot b/Jamroot
|
|
index 919ab01..ca61af1 100644
|
|
--- a/Jamroot
|
|
+++ b/Jamroot
|
|
@@ -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) ;
|
|
+ }
|
|
}
|
|
|
|
|
|
--
|
|
1.6.1
|
|
|