Skip to content

Commit 51e6931

Browse files
committed
Merge outstanding develop changes (as appropriate).
1 parent c3864a8 commit 51e6931

9 files changed

+122
-32
lines changed

Jamroot

+15-17
Original file line numberDiff line numberDiff line change
@@ -139,26 +139,17 @@ boostcpp.set-version $(BOOST_VERSION) ;
139139
use-project /boost/architecture : libs/config/checks/architecture ;
140140

141141
local all-headers =
142-
[ MATCH .*libs/(.*)/include/boost : [ glob libs/*/include/boost ] ] ;
142+
[ MATCH .*libs/(.*)/include/boost : [ glob libs/*/include/boost libs/*/*/include/boost ] ] ;
143143

144144
for dir in $(all-headers)
145145
{
146146
link-directory $(dir)-headers : libs/$(dir)/include/boost : <location>. ;
147147
explicit $(dir)-headers ;
148148
}
149149

150-
local numeric-headers =
151-
[ MATCH .*libs/numeric/(.*)/include/boost : [ glob libs/*/*/include/boost ] ] ;
152-
153-
for dir in $(numeric-headers)
154-
{
155-
link-directory numeric-$(dir)-headers : libs/numeric/$(dir)/include/boost : <location>. ;
156-
explicit numeric-$(dir)-headers ;
157-
}
158-
159150
if $(all-headers)
160151
{
161-
constant BOOST_MODULARLAYOUT : $(all-headers) $(numeric-headers) ;
152+
constant BOOST_MODULARLAYOUT : $(all-headers) ;
162153
}
163154

164155
project boost
@@ -173,9 +164,6 @@ project boost
173164
# Used to encode variant in target name. See the 'tag' rule below.
174165
<tag>@$(__name__).tag
175166
<conditional>@handle-static-runtime
176-
# The standard library Sun compilers use by default has no chance
177-
# of working with Boost. Override it.
178-
<toolset>sun:<stdlib>sun-stlport
179167
# Comeau does not support shared lib
180168
<toolset>como:<link>static
181169
<toolset>como-linux:<define>_GNU_SOURCE=1
@@ -243,7 +231,10 @@ for local l in $(all-libraries)
243231
}
244232
}
245233

246-
alias headers : $(all-headers)-headers numeric-$(numeric-headers)-headers : : : <include>. ;
234+
# Log has an additional target
235+
explicit-alias log_setup : libs/log/build//boost_log_setup ;
236+
237+
alias headers : $(all-headers)-headers : : : <include>. ;
247238
explicit headers ;
248239

249240
# Make project ids of all libraries known.
@@ -252,8 +243,15 @@ for local l in $(all-libraries)
252243
use-project /boost/$(l) : libs/$(l)/build ;
253244
}
254245

255-
use-project /boost/tools/inspect : tools/inspect/build ;
256-
use-project /boost/libs/wave/tool : libs/wave/tool/build ;
246+
if [ path.exists $(BOOST_ROOT)/tools/inspect ]
247+
{
248+
use-project /boost/tools/inspect : tools/inspect/build ;
249+
}
250+
251+
if [ path.exists $(BOOST_ROOT)/libs/wave/tool ]
252+
{
253+
use-project /boost/libs/wave/tool : libs/wave/tool/build ;
254+
}
257255

258256
# This rule should be called from libraries' Jamfiles and will create two
259257
# targets, "install" and "stage", that will install or stage that library. The

boostcpp.jam

+44-3
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,48 @@ rule make-unversioned-links ( project name ? : property-set : sources * )
210210
return $(result) ;
211211
}
212212

213+
rule filtered-target ( name : message + : sources + : requirements * )
214+
{
215+
message $(name)-message : warning: $(message) ;
216+
alias $(name) : $(sources) : $(requirements) ;
217+
alias $(name) : $(name)-message ;
218+
219+
local p = [ project.current ] ;
220+
$(p).mark-target-as-explicit $(name) ;
221+
$(p).mark-target-as-explicit $(name)-message ;
222+
}
223+
213224
rule declare_install_and_stage_proper_targets ( libraries * : headers * )
214225
{
226+
local p = [ project.current ] ;
227+
for local l in $(libraries)
228+
{
229+
if $(l) = locale
230+
{
231+
filtered-target $(l)-for-install :
232+
Skipping Boost.Locale library with threading=single. :
233+
libs/$(l)/build : <threading>multi ;
234+
}
235+
else if $(l) = wave
236+
{
237+
filtered-target $(l)-for-install :
238+
Skipping Boost.Wave library with threading=single. :
239+
libs/$(l)/build : <threading>multi ;
240+
}
241+
else if $(l) = thread
242+
{
243+
filtered-target $(l)-for-install :
244+
Skipping Boost.Thread library with threading=single. :
245+
libs/$(l)/build : <threading>multi ;
246+
}
247+
else
248+
{
249+
alias $(l)-for-install : libs/$(l)/build ;
250+
$(p).mark-target-as-explicit $(l)-for-install ;
251+
}
252+
}
253+
local library-targets = $(libraries)-for-install ;
254+
215255
install-requirements = <install-source-root>$(BOOST_ROOT)/boost ;
216256

217257
if $(layout-versioned)
@@ -239,14 +279,14 @@ rule declare_install_and_stage_proper_targets ( libraries * : headers * )
239279
package.install install-proper
240280
: $(install-requirements) <install-no-version-symlinks>on
241281
:
242-
: libs/$(libraries)/build
282+
: $(libraries)-for-install
243283
: $(headers)
244284
;
245285
$(p).mark-target-as-explicit install-proper ;
246286

247287
# Install just library.
248288
install stage-proper
249-
: libs/$(libraries)/build
289+
: $(libraries)-for-install
250290
: <location>$(stage-locate)/lib
251291
<install-dependencies>on <install-type>LIB
252292
<install-no-version-symlinks>on
@@ -461,13 +501,14 @@ rule post-build ( ok ? )
461501
{
462502
if $(ok)
463503
{
504+
local include-path = [ path.native $(BOOST_ROOT) ] ;
464505
ECHO "
465506

466507
The Boost C++ Libraries were successfully built!
467508

468509
The following directory should be added to compiler include paths:
469510

470-
$(BOOST_ROOT)
511+
$(include-path)
471512

472513
The following directory should be added to linker library paths:
473514

bootstrap.bat

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ goto :bjam_failure
3232
:bjam_built
3333

3434
REM Ideally, we should obtain the toolset that build.bat has
35-
REM guessed. However, it uses setlocal at the start and does
35+
REM guessed. However, it uses setlocal at the start and does not
3636
REM export BOOST_JAM_TOOLSET, and I don't know how to do that
3737
REM properly. Default to msvc for now.
3838
set toolset=msvc
@@ -67,7 +67,7 @@ goto :end
6767

6868
ECHO.
6969
ECHO Failed to build Boost.Build engine.
70-
ECHO Please consult bootstrap.log for furter diagnostics.
70+
ECHO Please consult bootstrap.log for further diagnostics.
7171
ECHO.
7272
ECHO You can try to obtain a prebuilt binary from
7373
ECHO.

bootstrap.sh

+18-6
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@ PYTHON_VERSION=
2121
PYTHON_ROOT=
2222
ICU_ROOT=
2323

24+
# Handle case where builtin shell version of echo command doesn't
25+
# support -n. Use the installed echo executable if there is one
26+
# rather than builtin version to ensure -n is supported.
27+
ECHO=`which echo`
28+
if test "x$ECHO" = x; then
29+
ECHO=echo
30+
fi
31+
2432
# Internal flags
2533
flag_no_python=
2634
flag_icu=
@@ -213,7 +221,7 @@ rm -f config.log
213221

214222
# Build bjam
215223
if test "x$BJAM" = x; then
216-
echo -n "Building Boost.Build engine with toolset $TOOLSET... "
224+
$ECHO -n "Building Boost.Build engine with toolset $TOOLSET... "
217225
pwd=`pwd`
218226
(cd "$my_dir/tools/build/src/engine" && ./build.sh "$TOOLSET") > bootstrap.log 2>&1
219227
if [ $? -ne 0 ]; then
@@ -270,20 +278,20 @@ fi
270278

271279
if test "x$flag_no_python" = x; then
272280
if test "x$PYTHON_VERSION" = x; then
273-
echo -n "Detecting Python version... "
281+
$ECHO -n "Detecting Python version... "
274282
PYTHON_VERSION=`$PYTHON -c "import sys; print (\"%d.%d\" % (sys.version_info[0], sys.version_info[1]))"`
275283
echo $PYTHON_VERSION
276284
fi
277285

278286
if test "x$PYTHON_ROOT" = x; then
279-
echo -n "Detecting Python root... "
280-
PYTHON_ROOT=`$PYTHON -c "import sys; print sys.prefix"`
287+
$ECHO -n "Detecting Python root... "
288+
PYTHON_ROOT=`$PYTHON -c "import sys; print(sys.prefix)"`
281289
echo $PYTHON_ROOT
282290
fi
283291
fi
284292

285293
# Configure ICU
286-
echo -n "Unicode/ICU support for Boost.Regex?... "
294+
$ECHO -n "Unicode/ICU support for Boost.Regex?... "
287295
if test "x$flag_icu" != xno; then
288296
if test "x$ICU_ROOT" = x; then
289297
COMMON_ICU_PATHS="/usr /usr/local /sw"
@@ -345,7 +353,11 @@ if test "x$flag_no_python" = x; then
345353
cat >> project-config.jam <<EOF
346354
347355
# Python configuration
348-
using python : $PYTHON_VERSION : $PYTHON_ROOT ;
356+
import python ;
357+
if ! [ python.configured ]
358+
{
359+
using python : $PYTHON_VERSION : $PYTHON_ROOT ;
360+
}
349361
EOF
350362
fi
351363

doc/src/boost.xml

+1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
<xi:include href="lexical_cast.xml"/>
5757
<xi:include href="lockfree.xml"/>
5858
<xi:include href="move.xml"/>
59+
<xi:include href="../../libs/multi_array/doc/xml/bbref.xml"/>
5960
<xi:include href="mpi.xml"/>
6061
<xi:include href="../../libs/program_options/doc/program_options.xml"/>
6162
<xi:include href="property_tree.xml"/>

libs/maintainers.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ property_map Douglas Gregor <dgregor -at- cs.indiana.edu>
9494
property_tree Sebastian Redl <sebastian.redl -at- getdesigned.at>
9595
proto Eric Niebler <eric -at- boostpro.com>
9696
ptr_container Thorsten Ottosen <nesotto -at- cs.auc.dk>
97-
python Ralf Grosse-Kunstleve <rwgrosse-kunstleve -at- lbl.gov>, Ravi Rajagopal <lists_ravi -at- lavabit.com>
97+
python Stefan Seefeld <stefan -at- seefeld dot name>
9898
random Steven Watanabe <watanabesj -at- gmail.com>
9999
range Neil Groves <neilgroves -at- googlemail.com>, Nathan Ridge <zeratul976 -at- hotmail.com>
100100
ratio Vicente J. Botet Escriba <vicente.botet -at- wanadoo.fr>

status/Jamfile.v2

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ run-tests libs :
6363
circular_buffer/test # test-suite circular_buffer
6464
concept_check # test-suite concept_check
6565
config/test # test-suite config
66+
container/bench # test-suite container benchmarks
6667
container/example # test-suite container_example
6768
container/test # test-suite container_test
6869
context/test # test-suite context

status/explicit-failures-markup.xml

+39-2
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,6 @@
700700
<toolset name="msvc-10.0*"/>
701701
<toolset name="msvc-11.0*"/>
702702
<toolset name="msvc-12.0*"/>
703-
<toolset name="msvc-14.0*"/>
704703
<toolset name="msvc-7.1*"/>
705704
<toolset name="vacpp-10.1"/>
706705
<toolset name="qcc-4*"/>
@@ -716,8 +715,11 @@
716715
<mark-failure>
717716
<toolset name="vacpp-*"/>
718717
<toolset name="vacpp"/>
718+
<toolset name="msvc-8.0"/>
719+
<toolset name="msvc-9.0"/>
719720
<toolset name="msvc-9.0~stlport5.2"/>
720721
<toolset name="msvc-9.0~wm5~stlport5.2"/>
722+
<toolset name="msvc-10.0"/>
721723
<toolset name="intel-darwin-11.*"/>
722724
<toolset name="intel-darwin-12.0"/>
723725
<toolset name="qcc-4*"/>
@@ -2034,6 +2036,28 @@
20342036

20352037
<!-- geometry -->
20362038
<library name="geometry">
2039+
<test name="algorithms_*" category="Algorithms">
2040+
</test>
2041+
<test name="arithmetic_*" category="Arithmetic">
2042+
</test>
2043+
<test name="concepts_*" category="Concepts">
2044+
</test>
2045+
<test name="core_*" category="Core">
2046+
</test>
2047+
<test name="geometries_*" category="Geometries">
2048+
</test>
2049+
<test name="io_*" category="IO">
2050+
</test>
2051+
<test name="iterators_*" category="Iterators">
2052+
</test>
2053+
<test name="policies_*" category="Policies">
2054+
</test>
2055+
<test name="strategies_*" category="Strategies">
2056+
</test>
2057+
<test name="util_*" category="Util">
2058+
</test>
2059+
<test name="views_*" category="Views">
2060+
</test>
20372061
<mark-unusable>
20382062
<toolset name="borland-*"/>
20392063
<toolset name="sun-5.10"/>
@@ -3059,6 +3083,17 @@ for more information.
30593083
</pre>
30603084
</note>
30613085
</mark-expected-failures>
3086+
<mark-expected-failures>
3087+
<test name="optional_test_ref_convert_assign_const_int"/>
3088+
<toolset name="msvc-8.0"/>
3089+
<toolset name="msvc-9.0"/>
3090+
<toolset name="msvc-10.0"/>
3091+
<toolset name="msvc-11.0"/>
3092+
<toolset name="msvc-12.0"/>
3093+
<note author="Andrzej Krzemienski" id="optional-const-int-ref-assign-bug">
3094+
<p>This is a compiler bug: it sometimes creates an illegal temporary object.</p>
3095+
</note>
3096+
</mark-expected-failures>
30623097
<mark-expected-failures>
30633098
<test name="optional_test_ref"/>
30643099
<toolset name="msvc-6.5*"/>
@@ -5753,7 +5788,9 @@ This platform doesn't supports Boost.Container.
57535788
<toolset name="gcc-4.2*"/>
57545789
<toolset name="gcc-4.3*"/>
57555790
<toolset name="gcc-4.4*"/>
5756-
<toolset name="gcc-4.5*"/>
5791+
<!-- gcc-4.5+ is passing the test -->
5792+
<toolset name="intel-linux"/>
5793+
<toolset name="vacpp"/>
57575794
<toolset name="gcc-mingw-3.*"/>
57585795
<toolset name="gcc-mingw-4.0*"/>
57595796
<toolset name="gcc-mingw-4.1*"/>

tools/Jamfile.v2

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ TOOLS =
2121
bcp//bcp
2222
inspect/build//inspect
2323
quickbook//quickbook
24-
wave/build//wave
24+
/boost/libs/wave/tool//wave
2525
;
2626

2727
install dist-bin

0 commit comments

Comments
 (0)