diff options
author | Rene Rivera <grafikrobot@gmail.com> | 2015-08-05 10:20:35 -0500 |
---|---|---|
committer | Rene Rivera <grafikrobot@gmail.com> | 2015-08-05 10:20:35 -0500 |
commit | 51e693134f5c354f2694fe89d14421c85bfacf31 (patch) | |
tree | 172b3073b9a46cb6448e55c9a43291c15d67d1df | |
parent | c3864a80359bbdfc359193fe09f9c6c96a26692d (diff) | |
download | boost-51e693134f5c354f2694fe89d14421c85bfacf31.tar.gz |
Merge outstanding develop changes (as appropriate).
-rw-r--r-- | Jamroot | 32 | ||||
-rw-r--r-- | boostcpp.jam | 47 | ||||
-rw-r--r-- | bootstrap.bat | 4 | ||||
-rwxr-xr-x | bootstrap.sh | 24 | ||||
-rw-r--r-- | doc/src/boost.xml | 1 | ||||
-rw-r--r-- | libs/maintainers.txt | 2 | ||||
-rw-r--r-- | status/Jamfile.v2 | 1 | ||||
-rw-r--r-- | status/explicit-failures-markup.xml | 41 | ||||
-rw-r--r-- | tools/Jamfile.v2 | 2 |
9 files changed, 122 insertions, 32 deletions
@@ -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 |