2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-15 00:52:16 +00:00

Merge branch 'develop' of https://github.com/boostorg/build into develop

This commit is contained in:
Edward Diener
2014-08-18 20:06:45 -04:00
6 changed files with 43 additions and 21 deletions

View File

@@ -394,7 +394,7 @@ class project-target : abstract-target
if ! [ path.is-rooted $(project-part) ]
{
local rooted = [ path.root $(project-part) / ] ;
if [ project.is-registered-id $(rooted) ]
if $(rooted) && [ project.is-registered-id $(rooted) ]
{
extra-error-message += - possibly missing a leading
slash ('/') character. ;
@@ -830,6 +830,10 @@ rule resolve-reference ( target-reference : project )
# Separate target name from properties override.
local split = [ MATCH "^([^<]*)(/(<.*))?$" : $(target-reference) ] ;
local id = $(split[1]) ;
if ! $(split) || ! $(id)
{
error "Malformed target reference $(target-reference)" ;
}
local sproperties = ;
if $(split[3])
{

View File

@@ -88,6 +88,16 @@ rule process (
case --help-options :
print-help-usage ;
local BOOST_BUILD_PATH = [ modules.peek : BOOST_BUILD_PATH ] ;
local plugin-dir = options ;
local option-files = [ GLOB $(plugin-dir:D=$(BOOST_BUILD_PATH)) : *.jam ] ;
if $(option-files)
{
for local file in $(option-files)
{
do-scan $(file) : print-help-options ;
}
}
did-help = true ;
case --help :

View File

@@ -69,14 +69,11 @@ flags cray.compile DEFINES <define> ;
flags cray.compile INCLUDES <include> ;
flags cray.link OPTIONS <linkflags> ;
# flags cray.compile OPTIONS : -hgnu -fPIC -h system_alloc -h tolerant -h ipa0 ;
flags cray.compile OPTIONS : -march=bdver1 -mfpmath=sse -mfma4 -mavx -funroll-all-loops -mprefer-avx128 -fprefetch-loop-arrays --param prefetch-latency=300 -minline-all-stringops -ffast-math -fno-finite-math-only ;
flags cray.compile OPTIONS : -hgnu -fPIC -h system_alloc -h tolerant -h ipa0 ;
flags cray.compile OPTIONS <link>shared : -dynamic ;
flags cray.compile OPTIONS <link>static : -static ;
# flags cray.link OPTIONS <link>static : -static ;
# flags cray.link OPTIONS <link>shared ;
flags cray.link OPTIONS <link>static : -static -march=bdver1 -mfpmath=sse -mfma4 -mavx -funroll-all-loops -mprefer-avx128 -fprefetch-loop-arrays --param prefetch-latency=300 -minline-all-stringops -ffast-math -fno-finite-math-only -Xlinker --allow-multiple-definition ;
flags cray.link OPTIONS <link>shared : -march=bdver1 -mfpmath=sse -mfma4 -mavx -funroll-all-loops -mprefer-avx128 -fprefetch-loop-arrays --param prefetch-latency=300 -minline-all-stringops -ffast-math -fno-finite-math-only -Xlinker --allow-multiple-definition ;
flags cray.link OPTIONS <link>static : -static ;
flags cray.link OPTIONS <link>shared ;
flags cray.link LOPTIONS <link>shared : -dynamic ;
flags cray.link LIBPATH <library-path> ;

View File

@@ -790,12 +790,16 @@ rule init-link-flags ( toolset linker condition )
# searched during load-time. Note that the AIX linker does not have an
# -soname equivalent, this is as close as it gets.
#
# The -bbigtoc option instrcuts the linker to create a TOC bigger than 64k.
# This is neccesary for some submodules such as math, but it does make running
# the tests a tad slower.
#
# The above options are definately for AIX 5.x, and most likely also for
# AIX 4.x and AIX 6.x. For details about the AIX linker see:
# http://download.boulder.ibm.com/ibmdl/pub/software/dw/aix/es-aix_ll.pdf
#
toolset.flags $(toolset).link OPTIONS : -Wl,-brtl -Wl,-bnoipath
toolset.flags $(toolset).link OPTIONS : -Wl,-brtl -Wl,-bnoipath -Wl,-bbigtoc
: unchecked ;
case darwin :
@@ -1182,4 +1186,4 @@ cpu-flags gcc OPTIONS : power : rios2 : -mcpu=rios2 ;
cpu-flags gcc OPTIONS : power : rsc : -mcpu=rsc ;
cpu-flags gcc OPTIONS : power : rs64a : -mcpu=rs64 ;
# AIX variant of RS/6000 & PowerPC
toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X 64" ;
toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X64" ;

View File

@@ -830,4 +830,4 @@ cpu_flags('gcc', 'OPTIONS', 'power', 'rs64a', ['-mcpu=rs64'])
# AIX variant of RS/6000 & PowerPC
flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>32/<target-os>aix'], ['-maix32'])
flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>64/<target-os>aix'], ['-maix64'])
flags('gcc', 'AROPTIONS', ['<architecture>power/<address-model>64/<target-os>aix'], ['-X 64'])
flags('gcc', 'AROPTIONS', ['<architecture>power/<address-model>64/<target-os>aix'], ['-X64'])

View File

@@ -45,6 +45,12 @@ help-output-file = help ;
#
.option.debug ?= ;
# These are all the options available for enabling or disabling to control the
# help system in various ways. Options can be enabled or disabled with
# '--help-enable-<option>', and '--help-disable-<option>' respectively.
#
.option-description = Help Options ;
# Enable or disable a documentation option.
#
local rule set-option (
@@ -358,31 +364,32 @@ local rule print-help-usage ( )
print.list-end ;
}
# Generates description of options controlling the help system. This
# automatically reads the options as all variables in the doc module of the form
# ".option.*".
# automatically reads the options as all variables in the module given
# with the name `module-name` of the form ".option.*".
#
local rule print-help-options (
module-name # The doc module.
module-name
)
{
print.section "Help Options"
These are all the options available for enabling or disabling to control
the help system in various ways. Options can be enabled or disabled with
'"--help-enable-<option>"', and "'--help-disable-<option>'"
respectively.
;
local options-to-list = [ MATCH ^[.]option[.](.*) : $($(module-name).variables) ] ;
if $(options-to-list)
{
local option-title = $($(module-name)..option-description.initial) ;
if ! $(option-title) || $(option-title) = "(empty)"
{
option-title = "$(module-name) Options" ;
}
local option-description = $(option-title)
$($(module-name)..option-description.docs) ;
print.section $(option-description) ;
print.list-start ;
for local option in [ sequence.insertion-sort $(options-to-list) ]
{
local def = disabled ;
if $($(module-name)..option.$(option).default) != "(empty)"
{
def = enabled ;
def = $($(module-name)..option.$(option).default) ;
}
print.list-item $(option): $($(module-name)..option.$(option).docs)
Default is $(def). ;