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
-
+project test : requirements . /boost//headers ;''') -->