summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRene Rivera <grafikrobot@gmail.com>2015-08-05 10:20:35 -0500
committerRene Rivera <grafikrobot@gmail.com>2015-08-05 10:20:35 -0500
commit51e693134f5c354f2694fe89d14421c85bfacf31 (patch)
tree172b3073b9a46cb6448e55c9a43291c15d67d1df
parentc3864a80359bbdfc359193fe09f9c6c96a26692d (diff)
downloadboost-51e693134f5c354f2694fe89d14421c85bfacf31.tar.gz
Merge outstanding develop changes (as appropriate).
-rw-r--r--Jamroot32
-rw-r--r--boostcpp.jam47
-rw-r--r--bootstrap.bat4
-rwxr-xr-xbootstrap.sh24
-rw-r--r--doc/src/boost.xml1
-rw-r--r--libs/maintainers.txt2
-rw-r--r--status/Jamfile.v21
-rw-r--r--status/explicit-failures-markup.xml41
-rw-r--r--tools/Jamfile.v22
9 files changed, 122 insertions, 32 deletions
diff --git a/Jamroot b/Jamroot
index 53a0205b71..eda4fb437c 100644
--- a/Jamroot
+++ b/Jamroot
@@ -139,7 +139,7 @@ boostcpp.set-version $(BOOST_VERSION) ;
use-project /boost/architecture : libs/config/checks/architecture ;
local all-headers =
- [ MATCH .*libs/(.*)/include/boost : [ glob libs/*/include/boost ] ] ;
+ [ MATCH .*libs/(.*)/include/boost : [ glob libs/*/include/boost libs/*/*/include/boost ] ] ;
for dir in $(all-headers)
{
@@ -147,18 +147,9 @@ for dir in $(all-headers)
explicit $(dir)-headers ;
}
-local numeric-headers =
- [ MATCH .*libs/numeric/(.*)/include/boost : [ glob libs/*/*/include/boost ] ] ;
-
-for dir in $(numeric-headers)
-{
- link-directory numeric-$(dir)-headers : libs/numeric/$(dir)/include/boost : <location>. ;
- explicit numeric-$(dir)-headers ;
-}
-
if $(all-headers)
{
- constant BOOST_MODULARLAYOUT : $(all-headers) $(numeric-headers) ;
+ constant BOOST_MODULARLAYOUT : $(all-headers) ;
}
project boost
@@ -173,9 +164,6 @@ project boost
# Used to encode variant in target name. See the 'tag' rule below.
<tag>@$(__name__).tag
<conditional>@handle-static-runtime
- # The standard library Sun compilers use by default has no chance
- # of working with Boost. Override it.
- <toolset>sun:<stdlib>sun-stlport
# Comeau does not support shared lib
<toolset>como:<link>static
<toolset>como-linux:<define>_GNU_SOURCE=1
@@ -243,7 +231,10 @@ for local l in $(all-libraries)
}
}
-alias headers : $(all-headers)-headers numeric-$(numeric-headers)-headers : : : <include>. ;
+# Log has an additional target
+explicit-alias log_setup : libs/log/build//boost_log_setup ;
+
+alias headers : $(all-headers)-headers : : : <include>. ;
explicit headers ;
# Make project ids of all libraries known.
@@ -252,8 +243,15 @@ for local l in $(all-libraries)
use-project /boost/$(l) : libs/$(l)/build ;
}
-use-project /boost/tools/inspect : tools/inspect/build ;
-use-project /boost/libs/wave/tool : libs/wave/tool/build ;
+if [ path.exists $(BOOST_ROOT)/tools/inspect ]
+{
+ use-project /boost/tools/inspect : tools/inspect/build ;
+}
+
+if [ path.exists $(BOOST_ROOT)/libs/wave/tool ]
+{
+ use-project /boost/libs/wave/tool : libs/wave/tool/build ;
+}
# This rule should be called from libraries' Jamfiles and will create two
# targets, "install" and "stage", that will install or stage that library. The
diff --git a/boostcpp.jam b/boostcpp.jam
index a964caf417..f45d12ef2f 100644
--- a/boostcpp.jam
+++ b/boostcpp.jam
@@ -210,8 +210,48 @@ rule make-unversioned-links ( project name ? : property-set : sources * )
return $(result) ;
}
+rule filtered-target ( name : message + : sources + : requirements * )
+{
+ message $(name)-message : warning: $(message) ;
+ alias $(name) : $(sources) : $(requirements) ;
+ alias $(name) : $(name)-message ;
+
+ local p = [ project.current ] ;
+ $(p).mark-target-as-explicit $(name) ;
+ $(p).mark-target-as-explicit $(name)-message ;
+}
+
rule declare_install_and_stage_proper_targets ( libraries * : headers * )
{
+ local p = [ project.current ] ;
+ for local l in $(libraries)
+ {
+ if $(l) = locale
+ {
+ filtered-target $(l)-for-install :
+ Skipping Boost.Locale library with threading=single. :
+ libs/$(l)/build : <threading>multi ;
+ }
+ else if $(l) = wave
+ {
+ filtered-target $(l)-for-install :
+ Skipping Boost.Wave library with threading=single. :
+ libs/$(l)/build : <threading>multi ;
+ }
+ else if $(l) = thread
+ {
+ filtered-target $(l)-for-install :
+ Skipping Boost.Thread library with threading=single. :
+ libs/$(l)/build : <threading>multi ;
+ }
+ else
+ {
+ alias $(l)-for-install : libs/$(l)/build ;
+ $(p).mark-target-as-explicit $(l)-for-install ;
+ }
+ }
+ local library-targets = $(libraries)-for-install ;
+
install-requirements = <install-source-root>$(BOOST_ROOT)/boost ;
if $(layout-versioned)
@@ -239,14 +279,14 @@ rule declare_install_and_stage_proper_targets ( libraries * : headers * )
package.install install-proper
: $(install-requirements) <install-no-version-symlinks>on
:
- : libs/$(libraries)/build
+ : $(libraries)-for-install
: $(headers)
;
$(p).mark-target-as-explicit install-proper ;
# Install just library.
install stage-proper
- : libs/$(libraries)/build
+ : $(libraries)-for-install
: <location>$(stage-locate)/lib
<install-dependencies>on <install-type>LIB
<install-no-version-symlinks>on
@@ -461,13 +501,14 @@ rule post-build ( ok ? )
{
if $(ok)
{
+ local include-path = [ path.native $(BOOST_ROOT) ] ;
ECHO "
The Boost C++ Libraries were successfully built!
The following directory should be added to compiler include paths:
- $(BOOST_ROOT)
+ $(include-path)
The following directory should be added to linker library paths:
diff --git a/bootstrap.bat b/bootstrap.bat
index a32076d610..2995907f62 100644
--- a/bootstrap.bat
+++ b/bootstrap.bat
@@ -32,7 +32,7 @@ goto :bjam_failure
:bjam_built
REM Ideally, we should obtain the toolset that build.bat has
-REM guessed. However, it uses setlocal at the start and does
+REM guessed. However, it uses setlocal at the start and does not
REM export BOOST_JAM_TOOLSET, and I don't know how to do that
REM properly. Default to msvc for now.
set toolset=msvc
@@ -67,7 +67,7 @@ goto :end
ECHO.
ECHO Failed to build Boost.Build engine.
-ECHO Please consult bootstrap.log for furter diagnostics.
+ECHO Please consult bootstrap.log for further diagnostics.
ECHO.
ECHO You can try to obtain a prebuilt binary from
ECHO.
diff --git a/bootstrap.sh b/bootstrap.sh
index 98cf88bc1c..9e61569e2e 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -21,6 +21,14 @@ PYTHON_VERSION=
PYTHON_ROOT=
ICU_ROOT=
+# Handle case where builtin shell version of echo command doesn't
+# support -n. Use the installed echo executable if there is one
+# rather than builtin version to ensure -n is supported.
+ECHO=`which echo`
+if test "x$ECHO" = x; then
+ ECHO=echo
+fi
+
# Internal flags
flag_no_python=
flag_icu=
@@ -213,7 +221,7 @@ rm -f config.log
# Build bjam
if test "x$BJAM" = x; then
- echo -n "Building Boost.Build engine with toolset $TOOLSET... "
+ $ECHO -n "Building Boost.Build engine with toolset $TOOLSET... "
pwd=`pwd`
(cd "$my_dir/tools/build/src/engine" && ./build.sh "$TOOLSET") > bootstrap.log 2>&1
if [ $? -ne 0 ]; then
@@ -270,20 +278,20 @@ fi
if test "x$flag_no_python" = x; then
if test "x$PYTHON_VERSION" = x; then
- echo -n "Detecting Python version... "
+ $ECHO -n "Detecting Python version... "
PYTHON_VERSION=`$PYTHON -c "import sys; print (\"%d.%d\" % (sys.version_info[0], sys.version_info[1]))"`
echo $PYTHON_VERSION
fi
if test "x$PYTHON_ROOT" = x; then
- echo -n "Detecting Python root... "
- PYTHON_ROOT=`$PYTHON -c "import sys; print sys.prefix"`
+ $ECHO -n "Detecting Python root... "
+ PYTHON_ROOT=`$PYTHON -c "import sys; print(sys.prefix)"`
echo $PYTHON_ROOT
fi
fi
# Configure ICU
-echo -n "Unicode/ICU support for Boost.Regex?... "
+$ECHO -n "Unicode/ICU support for Boost.Regex?... "
if test "x$flag_icu" != xno; then
if test "x$ICU_ROOT" = x; then
COMMON_ICU_PATHS="/usr /usr/local /sw"
@@ -345,7 +353,11 @@ if test "x$flag_no_python" = x; then
cat >> project-config.jam <<EOF
# Python configuration
-using python : $PYTHON_VERSION : $PYTHON_ROOT ;
+import python ;
+if ! [ python.configured ]
+{
+ using python : $PYTHON_VERSION : $PYTHON_ROOT ;
+}
EOF
fi
diff --git a/doc/src/boost.xml b/doc/src/boost.xml
index effced045a..9474ac1362 100644
--- a/doc/src/boost.xml
+++ b/doc/src/boost.xml
@@ -56,6 +56,7 @@
<xi:include href="lexical_cast.xml"/>
<xi:include href="lockfree.xml"/>
<xi:include href="move.xml"/>
+ <xi:include href="../../libs/multi_array/doc/xml/bbref.xml"/>
<xi:include href="mpi.xml"/>
<xi:include href="../../libs/program_options/doc/program_options.xml"/>
<xi:include href="property_tree.xml"/>
diff --git a/libs/maintainers.txt b/libs/maintainers.txt
index a1068b9ec6..7f7b3d86af 100644
--- a/libs/maintainers.txt
+++ b/libs/maintainers.txt
@@ -94,7 +94,7 @@ property_map Douglas Gregor <dgregor -at- cs.indiana.edu>
property_tree Sebastian Redl <sebastian.redl -at- getdesigned.at>
proto Eric Niebler <eric -at- boostpro.com>
ptr_container Thorsten Ottosen <nesotto -at- cs.auc.dk>
-python Ralf Grosse-Kunstleve <rwgrosse-kunstleve -at- lbl.gov>, Ravi Rajagopal <lists_ravi -at- lavabit.com>
+python Stefan Seefeld <stefan -at- seefeld dot name>
random Steven Watanabe <watanabesj -at- gmail.com>
range Neil Groves <neilgroves -at- googlemail.com>, Nathan Ridge <zeratul976 -at- hotmail.com>
ratio Vicente J. Botet Escriba <vicente.botet -at- wanadoo.fr>
diff --git a/status/Jamfile.v2 b/status/Jamfile.v2
index 3060accb31..949b6d3323 100644
--- a/status/Jamfile.v2
+++ b/status/Jamfile.v2
@@ -63,6 +63,7 @@ run-tests libs :
circular_buffer/test # test-suite circular_buffer
concept_check # test-suite concept_check
config/test # test-suite config
+ container/bench # test-suite container benchmarks
container/example # test-suite container_example
container/test # test-suite container_test
context/test # test-suite context
diff --git a/status/explicit-failures-markup.xml b/status/explicit-failures-markup.xml
index 3fa5892e1c..6fcb5505e7 100644
--- a/status/explicit-failures-markup.xml
+++ b/status/explicit-failures-markup.xml
@@ -700,7 +700,6 @@
<toolset name="msvc-10.0*"/>
<toolset name="msvc-11.0*"/>
<toolset name="msvc-12.0*"/>
- <toolset name="msvc-14.0*"/>
<toolset name="msvc-7.1*"/>
<toolset name="vacpp-10.1"/>
<toolset name="qcc-4*"/>
@@ -716,8 +715,11 @@
<mark-failure>
<toolset name="vacpp-*"/>
<toolset name="vacpp"/>
+ <toolset name="msvc-8.0"/>
+ <toolset name="msvc-9.0"/>
<toolset name="msvc-9.0~stlport5.2"/>
<toolset name="msvc-9.0~wm5~stlport5.2"/>
+ <toolset name="msvc-10.0"/>
<toolset name="intel-darwin-11.*"/>
<toolset name="intel-darwin-12.0"/>
<toolset name="qcc-4*"/>
@@ -2034,6 +2036,28 @@
<!-- geometry -->
<library name="geometry">
+ <test name="algorithms_*" category="Algorithms">
+ </test>
+ <test name="arithmetic_*" category="Arithmetic">
+ </test>
+ <test name="concepts_*" category="Concepts">
+ </test>
+ <test name="core_*" category="Core">
+ </test>
+ <test name="geometries_*" category="Geometries">
+ </test>
+ <test name="io_*" category="IO">
+ </test>
+ <test name="iterators_*" category="Iterators">
+ </test>
+ <test name="policies_*" category="Policies">
+ </test>
+ <test name="strategies_*" category="Strategies">
+ </test>
+ <test name="util_*" category="Util">
+ </test>
+ <test name="views_*" category="Views">
+ </test>
<mark-unusable>
<toolset name="borland-*"/>
<toolset name="sun-5.10"/>
@@ -3060,6 +3084,17 @@ for more information.
</note>
</mark-expected-failures>
<mark-expected-failures>
+ <test name="optional_test_ref_convert_assign_const_int"/>
+ <toolset name="msvc-8.0"/>
+ <toolset name="msvc-9.0"/>
+ <toolset name="msvc-10.0"/>
+ <toolset name="msvc-11.0"/>
+ <toolset name="msvc-12.0"/>
+ <note author="Andrzej Krzemienski" id="optional-const-int-ref-assign-bug">
+ <p>This is a compiler bug: it sometimes creates an illegal temporary object.</p>
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
<test name="optional_test_ref"/>
<toolset name="msvc-6.5*"/>
<toolset name="msvc-7.0"/>
@@ -5753,7 +5788,9 @@ This platform doesn't supports Boost.Container.
<toolset name="gcc-4.2*"/>
<toolset name="gcc-4.3*"/>
<toolset name="gcc-4.4*"/>
- <toolset name="gcc-4.5*"/>
+ <!-- gcc-4.5+ is passing the test -->
+ <toolset name="intel-linux"/>
+ <toolset name="vacpp"/>
<toolset name="gcc-mingw-3.*"/>
<toolset name="gcc-mingw-4.0*"/>
<toolset name="gcc-mingw-4.1*"/>
diff --git a/tools/Jamfile.v2 b/tools/Jamfile.v2
index d69756e701..e1391c7686 100644
--- a/tools/Jamfile.v2
+++ b/tools/Jamfile.v2
@@ -21,7 +21,7 @@ TOOLS =
bcp//bcp
inspect/build//inspect
quickbook//quickbook
- wave/build//wave
+ /boost/libs/wave/tool//wave
;
install dist-bin