Просмотр исходного кода

Add support for --layout option.

[SVN r24428]
Rene Rivera 22 лет назад
Родитель
Сommit
efbbf56d92
1 измененных файлов с 35 добавлено и 2 удалено
  1. 35 2
      Jamfile

+ 35 - 2
Jamfile

@@ -13,20 +13,44 @@ Usage:
 
 Options:
     --help                  This message.
+    
     -sTOOLS=<toolsets>      Indicates the tools to build with.
+    
+    --layout=<layout>       Determines what kind of build layout to use. This
+                            allows one to control the naming of the resulting
+                            libraries, and the locations of the installed
+                            files. Default is "versioned". Possible values:
+                            
+                                versioned - Uses the Boost standard names
+                                which include version number for Boost the
+                                release and version and name of the
+                                compiler as part of the library names. Also
+                                installs the includes to a versioned
+                                sub-directory.
+                                
+                                system - Builds an install without the
+                                Boost standard names, and does not install
+                                includes to a versioned sub-directory. This
+                                is intended for system integrators to build
+                                for packaging of distributions.
 
 Locations:
     --prefix=PREFIX         Install architecture independent files here.
                             Default; C:\\Boost on Win32
                             Default; /usr/local on Unix. Linux, etc.
+                            
     --exec-prefix=EPREFIX   Install architecture dependent files here.
                             Default; PREFIX
+                            
     --libdir=DIR            Install libraries here.
                             Default; EPREFIX/lib
+                            
     --includedir=DIR        Install source headers here.
                             Default; PREFIX/include
+                            
     --builddir=DIR          Build in this location instead of building
                             within the distribution tree. Recomended!
+                            
     --stagedir=DIR          When staging only, stage to the location.
                             Default; ./stage
 
@@ -34,14 +58,17 @@ Features:
     --with-<library>        Build, stage, or install the specified <library>
                             If used, teh default becomes to only build
                             indicated libraries.
+                            
     --without-<library>     Do not build, stage, or install the specified
                             <library>. By default all libraries attempt to build.
+                            
     --with-python-root[=PYTHON_ROOT]
                             Build Boost.Python libraries with the Python
                             devel packages located at PYTHON_ROOT.
                             Default PYTHON_ROOT; C:\\tools\\python on Win32.
                             Default PYTHON_ROOT; /usr/local on Unix, Linux, etc.
                             Default PYTHON_ROOT; /usr on Cygwin.
+                            
     --with-pydebug          Build Boost.Python libraries using the
                             Python debug runtime.
 " ;
@@ -65,6 +92,11 @@ if stage in $(ARGV)
     with-install = ;
 }
 
+# what kind of layout are we doing?
+local layout = [ MATCH "^--layout=(.*)" : $(ARGV) ] ;
+layout ?= versioned ;
+layout-$(layout) = true ;
+
 # possible stage only location
 local stage-locate = [ MATCH "^--stagedir=(.*)" : $(ARGV) ] ;
 stage-locate ?= stage ;
@@ -138,6 +170,7 @@ local lib-sources = [ install-sources lib ] ;
 if $(lib-sources)
 {
     local gNOWARN_INCOMPATIBLE_BUILDS = TRUE ;
+    local gUNVERSIONED_VARIANT_TAG = [ cond $(layout-system) : TRUE ] ;
     
     local lib-build =
         debug release
@@ -161,7 +194,7 @@ if $(lib-sources)
                 $(lib-build)
                 [ unless $(with-install) $(with-stage) : <suppress>true ]
         ] ;
-    if ! $(gIN_LIB_INCLUDE)
+    if ! $(gIN_LIB_INCLUDE) && $(layout-versioned)
     {
         local unversioned-files ;
         if $(with-install) || $(with-stage)
@@ -203,7 +236,7 @@ if $(lib-sources)
     }
 }
 
-stage $(include-locate:D=)/boost-$(version-tag)
+stage [ cond $(layout-versioned) : $(include-locate:D=)/boost-$(version-tag) : $(include-locate:D=) ]
     :
         [ glob-tree $(BOOST_ROOT)/boost/compatibility/cpp_c_headers : c* ]
         [ glob-tree $(BOOST_ROOT)/boost : *.hpp *.ipp *.h *.inc ]

粤ICP备19079148号