diff --git a/Jamroot b/Jamroot index fbe952a..d165325 100644 --- a/Jamroot +++ b/Jamroot @@ -128,6 +128,7 @@ import sequence ; import xsltproc ; import set ; import path ; +import link ; path-constant BOOST_ROOT : . ; constant BOOST_VERSION : 1.55.0 ; @@ -135,6 +136,26 @@ constant BOOST_JAMROOT_MODULE : $(__name__) ; boostcpp.set-version $(BOOST_VERSION) ; +BOOST_MODULARLAYOUT = [ path.glob . : .git/config ] ; +if $(BOOST_MODULARLAYOUT) +{ + local all-headers = + [ MATCH .*libs/(.*)/include/boost : [ glob libs/*/include/boost ] ] ; + + for dir in $(all-headers) + { + link-directory $(dir)-headers : libs/$(dir)/include/boost : . ; + } + + 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 : . ; + } +} + project boost : requirements . # Disable auto-linking for all targets here, primarily because it caused @@ -210,8 +231,10 @@ for local l in $(all-libraries) } } -alias headers : : : : . ; -explicit headers ; +if $(BOOST_MODULARLAYOUT) +{ + alias headers : $(all-headers)-headers numeric-$(numeric-headers)-headers : : : . ; +} # Make project ids of all libraries known. for local l in $(all-libraries) diff --git a/libs/geometry b/libs/geometry --- a/libs/geometry +++ b/libs/geometry @@ -1 +1 @@ -Subproject commit 38df1ebf9714c04f250f50dc699fe61f5f1b7e0b +Subproject commit 38df1ebf9714c04f250f50dc699fe61f5f1b7e0b-dirty diff --git a/libs/interprocess b/libs/interprocess --- a/libs/interprocess +++ b/libs/interprocess @@ -1 +1 @@ -Subproject commit b381c390b8dbab0879d9f1a29fd518676e66450e +Subproject commit b381c390b8dbab0879d9f1a29fd518676e66450e-dirty diff --git a/libs/intrusive b/libs/intrusive --- a/libs/intrusive +++ b/libs/intrusive @@ -1 +1 @@ -Subproject commit 089ffb56ac8336158382de472628c1d0682feb59 +Subproject commit 089ffb56ac8336158382de472628c1d0682feb59-dirty diff --git a/libs/math b/libs/math --- a/libs/math +++ b/libs/math @@ -1 +1 @@ -Subproject commit b4f7565779b9d5f013b2069bca3a9e2d139426e9 +Subproject commit b4f7565779b9d5f013b2069bca3a9e2d139426e9-dirty diff --git a/libs/multiprecision b/libs/multiprecision --- a/libs/multiprecision +++ b/libs/multiprecision @@ -1 +1 @@ -Subproject commit 1949f1948b01e3476387db7ab38bf4f702f98569 +Subproject commit 1949f1948b01e3476387db7ab38bf4f702f98569-dirty diff --git a/libs/numeric/odeint b/libs/numeric/odeint --- a/libs/numeric/odeint +++ b/libs/numeric/odeint @@ -1 +1 @@ -Subproject commit 97e4ec2a4c70b017bf9af65b84b8b78709aa36ba +Subproject commit 97e4ec2a4c70b017bf9af65b84b8b78709aa36ba-dirty diff --git a/libs/parameter b/libs/parameter --- a/libs/parameter +++ b/libs/parameter @@ -1 +1 @@ -Subproject commit 55a64553afa05ab8fa160cbf816c3ae7033d6f28 +Subproject commit 55a64553afa05ab8fa160cbf816c3ae7033d6f28-dirty diff --git a/libs/pool b/libs/pool --- a/libs/pool +++ b/libs/pool @@ -1 +1 @@ -Subproject commit 8ea9a1cecc07dba14af3440764c7c59670815efa +Subproject commit 8ea9a1cecc07dba14af3440764c7c59670815efa-dirty diff --git a/libs/proto b/libs/proto --- a/libs/proto +++ b/libs/proto @@ -1 +1 @@ -Subproject commit a5d79c95581642e691bef2c0abeb091736fe8276 +Subproject commit a5d79c95581642e691bef2c0abeb091736fe8276-dirty diff --git a/libs/ptr_container b/libs/ptr_container --- a/libs/ptr_container +++ b/libs/ptr_container @@ -1 +1 @@ -Subproject commit b080957c1247cea68af34b5d0887c36e15eabefb +Subproject commit b080957c1247cea68af34b5d0887c36e15eabefb-dirty diff --git a/libs/python b/libs/python --- a/libs/python +++ b/libs/python @@ -1 +1 @@ -Subproject commit 20272501098a508acea9556441b8b1da0e5c8013 +Subproject commit 20272501098a508acea9556441b8b1da0e5c8013-dirty diff --git a/libs/signals2 b/libs/signals2 --- a/libs/signals2 +++ b/libs/signals2 @@ -1 +1 @@ -Subproject commit 456016cca3c5e9b841c8442f572d191494241a95 +Subproject commit 456016cca3c5e9b841c8442f572d191494241a95-dirty diff --git a/libs/spirit b/libs/spirit --- a/libs/spirit +++ b/libs/spirit @@ -1 +1 @@ -Subproject commit a2b97bbfb4cf08416fb53fe50148e96967bf9e46 +Subproject commit a2b97bbfb4cf08416fb53fe50148e96967bf9e46-dirty diff --git a/libs/units b/libs/units --- a/libs/units +++ b/libs/units @@ -1 +1 @@ -Subproject commit d8ea7e20ca49a95218f75fb5dbfd8d303ac1821d +Subproject commit d8ea7e20ca49a95218f75fb5dbfd8d303ac1821d-dirty diff --git a/tools/build b/tools/build --- a/tools/build +++ b/tools/build @@ -1 +1 @@ -Subproject commit 985195441a6b769e4ebdeed9b1524d65acb4db2a +Subproject commit 985195441a6b769e4ebdeed9b1524d65acb4db2a-dirty diff --git a/tools/regression/build/Jamroot.jam b/tools/regression/build/Jamroot.jam index 398bee5..61eae71 100644 --- a/tools/regression/build/Jamroot.jam +++ b/tools/regression/build/Jamroot.jam @@ -37,7 +37,7 @@ obj tiny_xml : BOOST_ALL_NO_LIB=1 _CRT_SECURE_NO_WARNINGS - /boost//headers + /boost//headers : release ; @@ -51,7 +51,7 @@ exe process_jam_log : BOOST_ALL_NO_LIB=1 _CRT_SECURE_NO_WARNINGS - /boost//headers + /boost//headers : release ; @@ -64,7 +64,7 @@ exe compiler_status /boost/filesystem//boost_filesystem/static : BOOST_ALL_NO_LIB=1 - /boost//headers + /boost//headers : release ; @@ -77,7 +77,7 @@ exe library_status /boost/filesystem//boost_filesystem/static : BOOST_ALL_NO_LIB=1 - /boost//headers + /boost//headers : release ; @@ -94,7 +94,7 @@ exe boost_report /boost//iostreams/static : BOOST_ALL_NO_LIB=1 - /boost//headers + /boost//headers : release ; Entering 'libs/accumulators' Entering 'libs/algorithm' Entering 'libs/any' Entering 'libs/array' Entering 'libs/asio' Entering 'libs/assign' Entering 'libs/atomic' Entering 'libs/bimap' Entering 'libs/bind' Entering 'libs/chrono' Entering 'libs/circular_buffer' Entering 'libs/compatibility' Entering 'libs/compose' Entering 'libs/concept_check' Entering 'libs/config' Entering 'libs/container' Entering 'libs/context' Entering 'libs/conversion' Entering 'libs/coroutine' Entering 'libs/crc' Entering 'libs/date_time' Entering 'libs/detail' Entering 'libs/disjoint_sets' Entering 'libs/dynamic_bitset' Entering 'libs/exception' Entering 'libs/filesystem' Entering 'libs/flyweight' Entering 'libs/foreach' Entering 'libs/format' Entering 'libs/function' Entering 'libs/function_types' Entering 'libs/functional' Entering 'libs/fusion' Entering 'libs/geometry' diff --git a/index/example/Jamfile.v2 b/index/example/Jamfile.v2 index 065f49b..5cfa81a 100644 --- a/index/example/Jamfile.v2 +++ b/index/example/Jamfile.v2 @@ -18,7 +18,7 @@ import os ; project boost-geometry-index-example : requirements - /boost//headers + /boost//headers ; local GLUT_ROOT = [ os.environ GLUT_ROOT ] ; Entering 'libs/gil' Entering 'libs/graph' Entering 'libs/graph_parallel' Entering 'libs/heap' Entering 'libs/icl' Entering 'libs/integer' Entering 'libs/interprocess' Entering 'libs/intrusive' Entering 'libs/io' Entering 'libs/iostreams' Entering 'libs/iterator' Entering 'libs/lambda' Entering 'libs/local_function' Entering 'libs/locale' Entering 'libs/lockfree' Entering 'libs/log' Entering 'libs/logic' Entering 'libs/math' Entering 'libs/move' Entering 'libs/mpi' Entering 'libs/mpl' Entering 'libs/msm' Entering 'libs/multi_array' Entering 'libs/multi_index' Entering 'libs/multiprecision' Entering 'libs/numeric/conversion' Entering 'libs/numeric/interval' Entering 'libs/numeric/odeint' diff --git a/examples/vexcl/Jamfile.v2 b/examples/vexcl/Jamfile.v2 index a419266..3f12948 100644 --- a/examples/vexcl/Jamfile.v2 +++ b/examples/vexcl/Jamfile.v2 @@ -21,7 +21,7 @@ CUDA_INCLUDE = /usr/local/cuda/include ; lib opencl : : OpenCL ; project : requirements - /boost//headers + /boost//headers ../../../../.. $(VEXCL_INCLUDE) $(CUDA_INCLUDE) Entering 'libs/numeric/ublas' Entering 'libs/optional' Entering 'libs/parameter' diff --git a/doc/html/index.html b/doc/html/index.html index 49316d7..c9feec3 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -37,7 +37,7 @@ can be deduced from their types.

+project test : requirements . /boost//headers ;''') -->