From a035bb74fb7caa80e16387de56fcee5f0718485d Mon Sep 17 00:00:00 2001 From: "K. Noel Belcourt" Date: Wed, 6 Aug 2014 10:00:28 -0600 Subject: [PATCH 1/4] Revert to Cray only compile options, removed others. --- src/tools/cray.jam | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/tools/cray.jam b/src/tools/cray.jam index 1fa1ddc01..a64f1080a 100644 --- a/src/tools/cray.jam +++ b/src/tools/cray.jam @@ -69,14 +69,11 @@ flags cray.compile DEFINES ; flags cray.compile INCLUDES ; flags cray.link OPTIONS ; -# 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 shared : -dynamic ; flags cray.compile OPTIONS static : -static ; -# flags cray.link OPTIONS static : -static ; -# flags cray.link OPTIONS shared ; -flags cray.link OPTIONS 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 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 static : -static ; +flags cray.link OPTIONS shared ; flags cray.link LOPTIONS shared : -dynamic ; flags cray.link LIBPATH ; From 1b7ca464ae2108dac827e2aa9be38c576a161c52 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Tue, 12 Aug 2014 11:41:04 +0400 Subject: [PATCH 2/4] Improve error reporting for bad target references. --- src/build/targets.jam | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/build/targets.jam b/src/build/targets.jam index 3bd39a30e..44c8fc9e4 100644 --- a/src/build/targets.jam +++ b/src/build/targets.jam @@ -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]) { From 24471d57436d42e5da02c2ee080eae9bd1087d2b Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Thu, 31 Jul 2014 16:46:33 -0500 Subject: [PATCH 3/4] Fixed compatibility issues for 64-bit AIX --- src/tools/gcc.jam | 8 ++++++-- src/tools/gcc.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/tools/gcc.jam b/src/tools/gcc.jam index 599e20ff7..ce9be9d6d 100644 --- a/src/tools/gcc.jam +++ b/src/tools/gcc.jam @@ -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 64/aix : "-X 64" ; +toolset.flags gcc AROPTIONS 64/aix : "-X64" ; diff --git a/src/tools/gcc.py b/src/tools/gcc.py index c2f3b0206..3be35aeca 100644 --- a/src/tools/gcc.py +++ b/src/tools/gcc.py @@ -830,4 +830,4 @@ cpu_flags('gcc', 'OPTIONS', 'power', 'rs64a', ['-mcpu=rs64']) # AIX variant of RS/6000 & PowerPC flags('gcc', 'OPTIONS', ['power/32/aix'], ['-maix32']) flags('gcc', 'OPTIONS', ['power/64/aix'], ['-maix64']) -flags('gcc', 'AROPTIONS', ['power/64/aix'], ['-X 64']) +flags('gcc', 'AROPTIONS', ['power/64/aix'], ['-X64']) From 2d6b5bbc64b5fd49657255a357f41953842c1122 Mon Sep 17 00:00:00 2001 From: Aaron Boman Date: Mon, 21 Jul 2014 17:18:54 -0500 Subject: [PATCH 4/4] Support additional modules with options documentation. --- src/options/help.jam | 10 ++++++++++ src/util/doc.jam | 29 ++++++++++++++++++----------- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/options/help.jam b/src/options/help.jam index b507e1edd..abab3770e 100755 --- a/src/options/help.jam +++ b/src/options/help.jam @@ -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 : diff --git a/src/util/doc.jam b/src/util/doc.jam index 801aff4eb..702cab4b5 100644 --- a/src/util/doc.jam +++ b/src/util/doc.jam @@ -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-