|
|
@@ -43,15 +43,14 @@
|
|
|
# of the libraries. Note, that which variants get
|
|
|
# built depends on what each library supports.
|
|
|
#
|
|
|
-# minimal (default) - Builds the single
|
|
|
-# "release" version of the libraries. This
|
|
|
-# release corresponds to specifying:
|
|
|
-# "release <threading>multi <link>shared
|
|
|
-# <link>static <runtime-link>shared" as the
|
|
|
-# Boost.Build variant to build.
|
|
|
+# minimal (default) - Builds a minimal set of
|
|
|
+# variants. On Windows, these are static
|
|
|
+# multithreaded libraries in debug and release
|
|
|
+# modes, using shared runtime. On Linux, these
|
|
|
+# are static and shared multithreaded libraries
|
|
|
+# in release mode.
|
|
|
#
|
|
|
-# complete - Attempts to build all possible
|
|
|
-# variations.
|
|
|
+# complete - Build all possible variations.
|
|
|
#
|
|
|
# --build-dir=DIR Build in this location instead of building
|
|
|
# within the distribution tree. Recommended!
|
|
|
@@ -278,7 +277,21 @@ rule libraries-to-install ( existing-libraries * )
|
|
|
|
|
|
# What kind of layout are we doing?
|
|
|
layout = [ MATCH "^--layout=(.*)" : [ modules.peek : ARGV ] ] ;
|
|
|
-layout ?= versioned ;
|
|
|
+# On Windows, we used versioned layout by default in order to
|
|
|
+# be compatible with autolink. On other systems, we use system
|
|
|
+# layout which is what every other program uses. Note that windows
|
|
|
+# check is static, and won't
|
|
|
+if ! $(layout)
|
|
|
+{
|
|
|
+ if [ modules.peek : NT ]
|
|
|
+ {
|
|
|
+ layout = versioned ;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ layout = system ;
|
|
|
+ }
|
|
|
+}
|
|
|
layout-$(layout) = true ;
|
|
|
|
|
|
|
|
|
@@ -641,12 +654,6 @@ Use 'bjam install --prefix=<path>' if you wish to install headers and
|
|
|
libraries to a different location and remove the source tree.\n\n"
|
|
|
;
|
|
|
|
|
|
-
|
|
|
-# Just build the libraries, don't install them anywhere. This is what happens
|
|
|
-# with just "bjam --v2".
|
|
|
-alias build_all : libs/$(libraries)/build ;
|
|
|
-
|
|
|
-
|
|
|
# This rule should be called from libraries' Jamfiles and will create two
|
|
|
# targets, "install" and "stage", that will install or stage that library. The
|
|
|
# --prefix option is respected, but --with and --without options, naturally, are
|