|
Boost : |
Subject: [boost] Help with adding BOOST_INCLUDE to Jamroot?
From: Peter Dimov (lists_at_[hidden])
Date: 2015-06-06 13:05:35
I'm trying to add a BOOST_INCLUDE variable to Jamroot, with an initial value
$(BOOST_ROOT):
path-constant BOOST_ROOT : . ;
+path-constant BOOST_INCLUDE : . ;
I then replaced the places where . is used directly as the include path (see
diff at end of mail.)
Now "b2 headers" works as expected, but when I remove boost/ and go into,
for instance, libs/smart_ptr/test and run b2, it doesn't recreate the header
links, whereas it did so before.
I've no idea why. Can anyone help?
diff --git a/Jamroot b/Jamroot
index eda4fb4..a999a57 100644
--- a/Jamroot
+++ b/Jamroot
@@ -131,6 +131,7 @@ import path ;
import link ;
path-constant BOOST_ROOT : . ;
+path-constant BOOST_INCLUDE : . ;
constant BOOST_VERSION : 1.59.0 ;
constant BOOST_JAMROOT_MODULE : $(__name__) ;
@@ -143,7 +144,7 @@ local all-headers =
for dir in $(all-headers)
{
- link-directory $(dir)-headers : libs/$(dir)/include/boost : <location>.
;
+ link-directory $(dir)-headers : libs/$(dir)/include/boost :
<location>$(BOOST_INCLUDE) ;
explicit $(dir)-headers ;
}
@@ -153,7 +154,7 @@ if $(all-headers)
}
project boost
- : requirements <include>.
+ : requirements <include>$(BOOST_INCLUDE)
[ boostcpp.architecture ]
[ boostcpp.address-model ]
@@ -169,7 +170,7 @@ project boost
<toolset>como-linux:<define>_GNU_SOURCE=1
# When building docs within Boost, we want the standard Boost style
<xsl:param>boost.defaults=Boost
- : usage-requirements <include>.
+ : usage-requirements <include>$(BOOST_INCLUDE)
: build-dir bin.v2
;
@@ -234,7 +235,7 @@ for local l in $(all-libraries)
# Log has an additional target
explicit-alias log_setup : libs/log/build//boost_log_setup ;
-alias headers : $(all-headers)-headers : : : <include>. ;
+alias headers : $(all-headers)-headers : : : <include>$(BOOST_INCLUDE) ;
explicit headers ;
# Make project ids of all libraries known.
@@ -281,9 +282,9 @@ rule boost-install ( libraries * )
headers =
# The .SUNWCCh files are present in tr1 include directory and have to
be
# installed (see
http://lists.boost.org/Archives/boost/2007/05/121430.php).
- [ path.glob-tree $(BOOST_ROOT)/boost : *.hpp *.ipp *.h *.inc *.SUNWCCh
: CVS .svn ]
- [ path.glob-tree $(BOOST_ROOT)/boost/compatibility/cpp_c_headers : c* :
CVS .svn ]
- [ path.glob boost/tr1/tr1 : * : bcc32 sun CVS .svn ]
+ [ path.glob-tree $(BOOST_INCLUDE)/boost : *.hpp *.ipp *.h *.inc
*.SUNWCCh : CVS .svn ]
+ [ path.glob-tree $(BOOST_INCLUDE)/boost/compatibility/cpp_c_headers :
c* : CVS .svn ]
+ [ path.glob $(BOOST_INCLUDE)/boost/tr1/tr1 : * : bcc32 sun CVS .svn ]
;
# Declare special top-level targets that build and install the desired
variants
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk