|
Boost-Build : |
From: Jonathan Biggar (jon_at_[hidden])
Date: 2008-07-15 00:32:25
I got annoyed that running bjam --v2 install in a boost library build
directory doesn't work, so I decided to track down the problems and fix
them.
There were three issues:
1. The setting for <install-source-root> needed to be rooted at
BOOST_ROOT or the install process got very confused about where to
install things in some cases.
2. $(install-requirements) is calculated in Jamroot, but isn't
available when running from a subproject. I converted it into a project
constant BOOST_INSTALL_REQUIREMENTS, which is available in all subprojects.
3. I removed "<dependency>/boost//install-headers" from boost-install,
since running install in a subproject would fall over not being able to
find the "/boost" project. I tried a couple of ways to try and get that
project defined in the subproject (putting a use-project inside the
module part of the boost-install rule doesn't do the trick). Removing
the dependency means the boost headers don't get installed or updated if
you run install in a subproject.
Maybe someone else has an idea how to fix #3 better?
I've attached a patch.
-- Jon Biggar Floorboard Software jon_at_[hidden] jon_at_[hidden]
--- Jamroot.orig 2008-07-14 21:04:33.063171000 -0700
+++ Jamroot.new 2008-07-14 21:29:17.837692000 -0700
@@ -342,7 +342,7 @@
# Install to system location.
local install-requirements =
- <install-source-root>boost
+ <install-source-root>$(BOOST_ROOT)/boost
;
if $(layout-versioned)
{
@@ -361,6 +361,8 @@
install-requirements += <install-default-prefix>/usr/local ;
}
+constant BOOST_INSTALL_REQUIREMENTS : $(install-requirements) ;
+
local headers =
[ path.glob-tree boost : *.hpp *.ipp *.h *.inc : CVS ]
[ path.glob-tree boost/compatibility/cpp_c_headers : c* : CVS ]
@@ -479,11 +481,11 @@
rule boost-install ( libraries * )
{
package.install install
- : <dependency>/boost//install-headers $(install-requirements)
+ : $(BOOST_INSTALL_REQUIREMENTS)
: # No binaries
: $(libraries)
- : # No headers, it's handled by the dependency
- ;
+ : # No headers
+ ;
install stage : $(libraries) : <location>$(BOOST_STAGE_LOCATE) ;
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk