2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-16 01:12:13 +00:00

Allow path-properties to be specified as project-relative,

i.e. <include>@boost/foo/bar.

Modified python.jam to use <sysinclude>@boost instead of
<sysinclude>$(BOOST_ROOT), since BOOST_ROOT doesn't hold a reliable
value outside the Boost project.


[SVN r20930]
This commit is contained in:
Dave Abrahams
2003-11-24 02:50:28 +00:00
parent 80559fffd3
commit ade30d30d0
2 changed files with 20 additions and 12 deletions

View File

@@ -903,23 +903,31 @@ rule set-target-variables ( targets * )
# directory.
rule fixup-path-properties ( properties * : subproject-directory ? )
{
if $(subproject-directory)
local result ;
for local p in $(properties)
{
local result ;
for local p in $(properties)
if $(p:G) in $(gPATH_FEATURES)
{
if $(p:G) in $(gPATH_FEATURES)
# If the path property value is project-relative, re-root
# it appropriately for that project
local parse-project = [ MATCH ^@([^/$(SLASH)]+)[/$(SLASH)]?(.*) : $(p:G=) ] ;
if $(parse-project)
{
result += [ root-paths $(p) : $(subproject-directory) ] ;
local project = $(parse-project[1]) ;
local subproject = $(parse-project[2]) ;
p = [ root-paths $(subproject:G=$(p:G)) : $(gPROJECT($(project))) ] ;
}
else
else if $(subproject-directory) # re-root it relative to this directory
{
result += $(p) ;
p = [ root-paths $(p) : $(subproject-directory) ] ;
}
}
properties = $(result) ;
result += $(p) ;
}
return $(properties) ;
return $(result) ;
}
# remove-incompatible-builds requirements... : build-request... : target-name

View File

@@ -36,7 +36,7 @@ if $(PYTHON_WINDOWS)
PYTHON_PROPERTIES ?=
select-nt-python-includes
<runtime-link>dynamic
<sysinclude>$(BOOST_ROOT)
<sysinclude>@boost
<$(gcc-compilers)><*><define>USE_DL_IMPORT
;
@@ -267,7 +267,7 @@ rule select-nt-python-includes ( toolset variant : properties * )
}
PYTHON_PROPERTIES +=
<sysinclude>$(BOOST_ROOT)
<sysinclude>@boost
<stlport-iostream>on
select-python-library
;
@@ -276,7 +276,7 @@ BOOST_PYTHON_V2_PROPERTIES
= $(PYTHON_PROPERTIES)
<metrowerks><*><cxxflags>"-inline deferred"
<cwpro8><*><cxxflags>"-inline deferred" # added for internal testing purposes
<cxx><*><sysinclude>$(BOOST_ROOT)/boost/compatibility/cpp_c_headers
<cxx><*><sysinclude>@boost/boost/compatibility/cpp_c_headers
<define>BOOST_PYTHON_DYNAMIC_LIB
;