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

Because of NORMALIZE_PATH change we now require bjam 3.1.12.

[SVN r31182]
This commit is contained in:
Rene Rivera
2005-10-03 14:28:24 +00:00
parent 135cc00ef8
commit 8fe6c064cf

View File

@@ -6,11 +6,11 @@
# First of all, check the jam version
if $(JAM_VERSION:J="") < 030109
if $(JAM_VERSION:J="") < 030112
{
ECHO "error: Boost.Jam version 3.1.9 or later required" ;
ECHO "error: Boost.Jam version 3.1.12 or later required" ;
EXIT ;
}
}
local required-rules = GLOB-RECURSIVELY HAS_NATIVE_RULE ;
@@ -22,34 +22,34 @@ for local r in $(required-rules)
ECHO "error: you version of bjam is likely out of date" ;
ECHO "error: please get a fresh version from CVS." ;
EXIT ;
}
}
}
local native =
local native =
regex transform 2
;
while $(native)
{
if ! [ HAS_NATIVE_RULE $(native[1]) :
$(native[2]) :
$(native[3]) ]
$(native[3]) ]
{
ECHO "error: missing native rule '$(native[1]).$(native[2])'" ;
ECHO "error: or interface version of that rule is too low" ;
ECHO "error: your version of bjam is likely out of date" ;
ECHO "error: please get a fresh version from CVS." ;
EXIT ;
}
native = $(native[4-]) ;
}
ECHO "error: missing native rule '$(native[1]).$(native[2])'" ;
ECHO "error: or interface version of that rule is too low" ;
ECHO "error: your version of bjam is likely out of date" ;
ECHO "error: please get a fresh version from CVS." ;
EXIT ;
}
native = $(native[4-]) ;
}
# Check that the builtin .ENVIRON module is present. We don't have a
# builtin to check that a module is present, so we assume that the PATH
# environment variable is always set and verify that the .ENVIRON module
# has non-empty value of that variable.
module .ENVIRON
{
module .ENVIRON
{
local p = $(PATH) $(Path) $(path) ;
if ! $(p)
{
@@ -75,23 +75,23 @@ IMPORT modules : import : : import ;
# separation of different layers without changing all of our code
# to specify subdirectories in import statements or use an extra
# level of qualification on imported names.
local subdirs =
local subdirs =
kernel # only the most-intrinsic modules: modules, errors
util # low-level substrate: string/number handling, etc.
build # essential elements of the build system architecture
tools # toolsets for handling specific build jobs and targets.
new # until we get everything sorted out, there is
# still some code here
. # build-system.jam lives here
;
local whereami = [ NORMALIZE_PATH $(.bootstrap-file:DT) ] ;
BOOST_BUILD_PATH += $(whereami:D)/$(subdirs) ;
modules.poke .ENVIRON : BOOST_BUILD_PATH : $(BOOST_BUILD_PATH) ;
modules.poke .ENVIRON : BOOST_BUILD_PATH : $(BOOST_BUILD_PATH) ;
}
# Reload the modules, to clean up things. The modules module can tolerate
@@ -117,14 +117,14 @@ while $(args)
arg = [ MATCH ^--(.*) : $(args[1]) ] ;
}
args = $(args[2-]) ;
if $(arg)
{
local split = [ MATCH ^(([^-=]+)[^=]*)(=?)(.*)$ : $(arg) ] ;
local full-name = $(split[1]) ;
local prefix = $(split[2]) ;
local values ;
if $(split[3])
{
values = $(split[4]) ;
@@ -134,27 +134,27 @@ while $(args)
values += $(args[1]) ;
args = $(args[2-]) ;
}
# look in options subdirectories of BOOST_BUILD_PATH for modules
# matching the full option name and then its prefix.
local plugin-dir = options ;
local option-files = [
GLOB $(plugin-dir:D=$(BOOST_BUILD_PATH)) : $(full-name).jam $(prefix).jam
local option-files = [
GLOB $(plugin-dir:D=$(BOOST_BUILD_PATH)) : $(full-name).jam $(prefix).jam
] ;
if $(option-files)
{
# load the file into a module named for the option
local f = $(option-files[1]) ;
local module-name = --$(f:D=:S=) ;
modules.load $(module-name) : $(f:D=) : $(f:D) ;
# if there's a process rule, call it with the full option name
# and its value (if any). If there was no "=" in the option,
# the value will be empty.
if process in [ RULENAMES $(module-name) ]
{
dont-build +=
dont-build +=
[ modules.call-in $(module-name) : process --$(full-name) : $(values) ] ;
}
}
@@ -162,7 +162,7 @@ while $(args)
}
if ! $(dont-build)
{
{
# Allow users to override the build system file from the
# command-line (mostly for testing)
local build-system = [ MATCH --build-system=(.*) : $(ARGV) ] ;