|
|
@@ -228,46 +228,9 @@ rule python-tag ( name : type ? : property-set )
|
|
|
#
|
|
|
# - 'stage-proper' that puts all libraries in stage/lib
|
|
|
# - 'install-proper' that install libraries and headers to system location
|
|
|
-# - 'stage-unversioned' that creates links to libraries without boost version
|
|
|
-# in name
|
|
|
-# - 'install-unversioned' which creates unversioned linked to installed
|
|
|
-# libraries.
|
|
|
#
|
|
|
################################################################################
|
|
|
|
|
|
-# Worker function suitable to the 'generate' metatarget. Creates a link to
|
|
|
-# 'source', striping any version number information from the name.
|
|
|
-rule make-unversioned-links ( project name ? : property-set : sources * )
|
|
|
-{
|
|
|
- local filter ;
|
|
|
- if [ modules.peek : NT ]
|
|
|
- {
|
|
|
- filter = "(.*[.]lib)" ;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- filter =
|
|
|
- "(.*[.]so)[.0-9]*"
|
|
|
- "(.*[.]dylib)"
|
|
|
- "(.*[.]a)" ;
|
|
|
- }
|
|
|
-
|
|
|
- local result ;
|
|
|
- for local s in $(sources)
|
|
|
- {
|
|
|
- local m = [ MATCH "^(.*)-[0-9_]+$(filter)$" : [ $(s).name ] ] ;
|
|
|
- if $(m)
|
|
|
- {
|
|
|
- local ea = [ $(s).action ] ;
|
|
|
- local ep = [ $(ea).properties ] ;
|
|
|
- local a = [ new non-scanning-action $(s) : symlink.ln : $(ep) ] ;
|
|
|
- result += [ new file-target $(m:J=) exact : [ $(s).type ] :
|
|
|
- $(project) : $(a) ] ;
|
|
|
- }
|
|
|
- }
|
|
|
- return $(result) ;
|
|
|
-}
|
|
|
-
|
|
|
rule filtered-target ( name : message + : sources + : requirements * )
|
|
|
{
|
|
|
message $(name)-message : warning\: $(message) ;
|
|
|
@@ -381,33 +344,6 @@ rule declare_install_and_stage_proper_targets ( libraries * : headers * : modula
|
|
|
<install-no-version-symlinks>on
|
|
|
;
|
|
|
$(p).mark-target-as-explicit stage-proper ;
|
|
|
-
|
|
|
- # Commented out as it does not seem to work. Whoever wrote this originally,
|
|
|
- # left some typos in the code, but when that got corrected and the code got
|
|
|
- # enabled - it started reporting ambiguous/duplicate target Boost Build
|
|
|
- # errors. Anyone requiring unversioned staged libraries needs to correct
|
|
|
- # those errors before reenabling this code. For more detailed information
|
|
|
- # see the related Boost library development mailing list thread at
|
|
|
- # 'http://lists.boost.org/Archives/boost/2012/06/194312.php'.
|
|
|
- # (06.07.2012.) (Jurko)
|
|
|
- #~ if $(layout-versioned) && ( [ modules.peek : NT ] || [ modules.peek : UNIX ] )
|
|
|
- #~ {
|
|
|
- #~ generate stage-unversioned : stage-proper :
|
|
|
- #~ <generating-rule>@boostcpp.make-unversioned-links ;
|
|
|
- #~ $(p).mark-target-as-explicit stage-unversioned ;
|
|
|
- #~
|
|
|
- #~ generate install-unversioned : install-proper :
|
|
|
- #~ <generating-rule>@boostcpp.make-unversioned-links ;
|
|
|
- #~ $(p).mark-target-as-explicit install-unversioned ;
|
|
|
- #~ }
|
|
|
- #~ else
|
|
|
- {
|
|
|
- # Create do-nothing aliases.
|
|
|
- alias stage-unversioned ;
|
|
|
- $(p).mark-target-as-explicit stage-unversioned ;
|
|
|
- alias install-unversioned ;
|
|
|
- $(p).mark-target-as-explicit install-unversioned ;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -558,11 +494,11 @@ rule declare_top_level_targets ( libraries * : headers * : modular-headers * )
|
|
|
|
|
|
targets.create-metatarget top-level-target : [ project.current ]
|
|
|
: install
|
|
|
- : install-$(modular-headers)-headers install-proper install-unversioned
|
|
|
+ : install-$(modular-headers)-headers install-proper
|
|
|
;
|
|
|
targets.create-metatarget top-level-target : [ project.current ]
|
|
|
: stage
|
|
|
- : stage-proper stage-unversioned headers
|
|
|
+ : stage-proper headers
|
|
|
;
|
|
|
|
|
|
p = [ project.current ] ;
|