mirror of
https://github.com/boostorg/build.git
synced 2026-02-15 13:02:11 +00:00
----------------------------------------------------------------------
Modified Files:
allyourbase.jam build_system.htm new-split.jam
Tag: jam_src
jam_src/Jambase jam_src/compile.c jam_src/compile.h
jam_src/headers.c jam_src/jam.c jam_src/jam.h
jam_src/jambase.c jam_src/jamgram.c jam_src/jamgram.h
jam_src/jamgram.y jam_src/jamgram.yy jam_src/jamgramtab.h
jam_src/lists.c jam_src/lists.h jam_src/makedebugjam.bat
jam_src/modules.c jam_src/modules.h jam_src/newstr.c
jam_src/newstr.h jam_src/parse.c jam_src/parse.h
jam_src/rules.c jam_src/rules.h jam_src/search.c
jam_src/subst.c
No tag
test/check-jam-patches.jam
Added Files:
boost-build.jam
----------------------------------------------------------------------
allyourbase.jam
Fix the way new-split.jam is included, by using $(JAM_VERSION) to detect the
presence of new language features.
build_system.htm
Updated documentation to include core Jam extensions.
jam_src/Jambase
Updated so that the built-in Jambase can be completely overridden based on
JAMBASE, BOOST_ROOT, and BOOST_BUILD_PATH environment variables.
jam_src/compile.{c,h}
Added IMPORT and CALLER_MODULE rules, header legend for profile dump. Moved
regex_compile so it could be used by more functions.
jam_src/headers.c, jambase.c, jamgram.{c,y,yy}, search.c, subst.c
Adjusted for the addition of FRAMEs, which was needed for CALLER_MODULE.
jam_src/jam.c
added JAM_VERSION and started using FRAMEs.
jam_src/jam.h
swapped the -d argument numbers that were used by profiling and parse debugging.
jam_src/lists.{c,h}
Pulled stack frames out of LOL and put them where they belong, in the interpreter.
jam_src/modules.{c,h}
Use strncat instead of strncpy to get predictable behavior.
jam_src/parse.{c,h}, rules.{c,h}
Adjust for FRAMEs, and added a rulename field in the PARSE node to support
profiling with modules.
test/check-jam-patches.jam
Added tests for IMPORT and CALLER_MODULE
[SVN r11427]
This commit is contained in:
@@ -1382,8 +1382,9 @@ rule split-path
|
||||
|
||||
# The new jam executable has slightly different SUBST behavior which we need to
|
||||
# account for.
|
||||
if $(NEW_BOOST_JAM) {
|
||||
if $(JAM_VERSION[1]) >= 03 {
|
||||
|
||||
SEARCH on new-split.jam = $(BOOST_BUILD_PATH) ;
|
||||
include new-split.jam ; # this is temporary.
|
||||
|
||||
} else {
|
||||
|
||||
7
boost-build.jam
Normal file
7
boost-build.jam
Normal file
@@ -0,0 +1,7 @@
|
||||
# (C) Copyright David Abrahams 2001. Permission to copy, use, modify, sell and
|
||||
# distribute this software is granted provided this copyright notice appears in
|
||||
# all copies. This software is provided "as is" without express or implied
|
||||
# warranty, and with no claim as to its suitability for any purpose.
|
||||
|
||||
SEARCH on <jam-module>allyourbase.jam = $(BOOST_BUILD_PATH) ;
|
||||
include <jam-module>allyourbase.jam ;
|
||||
1485
build_system.htm
1485
build_system.htm
File diff suppressed because it is too large
Load Diff
@@ -99,11 +99,13 @@ rule identity ( list * )
|
||||
}
|
||||
|
||||
#
|
||||
# test modules
|
||||
# test module primitives
|
||||
#
|
||||
{
|
||||
local x = a b c d e ;
|
||||
local y = c d e ;
|
||||
local x = a b c d e f g h i j ;
|
||||
local y = $(x[3-]) ;
|
||||
|
||||
rule shift1 ( dummy ) { }
|
||||
|
||||
module my_module
|
||||
{
|
||||
@@ -149,7 +151,53 @@ rule identity ( list * )
|
||||
assert-equal $(x) : identity $(y) ;
|
||||
|
||||
# Prove that the module's rule is not exposed to the world at large without
|
||||
# qualification. This is expected to produce an "unknown rule" warning.
|
||||
shift1 ;
|
||||
# qualification
|
||||
shift1 nothing ;
|
||||
assert-equal $(x) : identity $(y) ;
|
||||
|
||||
IMPORT : my_module : shift1 shift2 : shifty ;
|
||||
|
||||
shifty ;
|
||||
y = $(y[2-]) ;
|
||||
assert-equal $(x) : identity $(y) ;
|
||||
|
||||
shift2 ;
|
||||
y = $(y[2-]) ;
|
||||
assert-equal $(x) : identity $(y) ;
|
||||
|
||||
|
||||
IMPORT : my_module ;
|
||||
|
||||
shift1 ;
|
||||
y = $(y[2-]) ;
|
||||
assert-equal $(x) : identity $(y) ;
|
||||
|
||||
shift2 ;
|
||||
y = $(y[2-]) ;
|
||||
assert-equal $(x) : identity $(y) ;
|
||||
}
|
||||
|
||||
#
|
||||
# test CALLER_MODULE
|
||||
#
|
||||
{
|
||||
module module1
|
||||
{
|
||||
rule f ( )
|
||||
{
|
||||
local m = [ CALLER_MODULE ] ;
|
||||
assert-equal : identity $(m) ;
|
||||
module2.f ;
|
||||
}
|
||||
|
||||
}
|
||||
module module2
|
||||
{
|
||||
rule f ( )
|
||||
{
|
||||
local m = [ CALLER_MODULE ] ;
|
||||
assert-equal module1 : identity $(m) ;
|
||||
}
|
||||
}
|
||||
module1.f ;
|
||||
}
|
||||
@@ -1382,8 +1382,9 @@ rule split-path
|
||||
|
||||
# The new jam executable has slightly different SUBST behavior which we need to
|
||||
# account for.
|
||||
if $(NEW_BOOST_JAM) {
|
||||
if $(JAM_VERSION[1]) >= 03 {
|
||||
|
||||
SEARCH on new-split.jam = $(BOOST_BUILD_PATH) ;
|
||||
include new-split.jam ; # this is temporary.
|
||||
|
||||
} else {
|
||||
|
||||
1485
v1/build_system.htm
1485
v1/build_system.htm
File diff suppressed because it is too large
Load Diff
7
v2/boost-build.jam
Normal file
7
v2/boost-build.jam
Normal file
@@ -0,0 +1,7 @@
|
||||
# (C) Copyright David Abrahams 2001. Permission to copy, use, modify, sell and
|
||||
# distribute this software is granted provided this copyright notice appears in
|
||||
# all copies. This software is provided "as is" without express or implied
|
||||
# warranty, and with no claim as to its suitability for any purpose.
|
||||
|
||||
SEARCH on <jam-module>allyourbase.jam = $(BOOST_BUILD_PATH) ;
|
||||
include <jam-module>allyourbase.jam ;
|
||||
@@ -99,11 +99,13 @@ rule identity ( list * )
|
||||
}
|
||||
|
||||
#
|
||||
# test modules
|
||||
# test module primitives
|
||||
#
|
||||
{
|
||||
local x = a b c d e ;
|
||||
local y = c d e ;
|
||||
local x = a b c d e f g h i j ;
|
||||
local y = $(x[3-]) ;
|
||||
|
||||
rule shift1 ( dummy ) { }
|
||||
|
||||
module my_module
|
||||
{
|
||||
@@ -149,7 +151,53 @@ rule identity ( list * )
|
||||
assert-equal $(x) : identity $(y) ;
|
||||
|
||||
# Prove that the module's rule is not exposed to the world at large without
|
||||
# qualification. This is expected to produce an "unknown rule" warning.
|
||||
shift1 ;
|
||||
# qualification
|
||||
shift1 nothing ;
|
||||
assert-equal $(x) : identity $(y) ;
|
||||
|
||||
IMPORT : my_module : shift1 shift2 : shifty ;
|
||||
|
||||
shifty ;
|
||||
y = $(y[2-]) ;
|
||||
assert-equal $(x) : identity $(y) ;
|
||||
|
||||
shift2 ;
|
||||
y = $(y[2-]) ;
|
||||
assert-equal $(x) : identity $(y) ;
|
||||
|
||||
|
||||
IMPORT : my_module ;
|
||||
|
||||
shift1 ;
|
||||
y = $(y[2-]) ;
|
||||
assert-equal $(x) : identity $(y) ;
|
||||
|
||||
shift2 ;
|
||||
y = $(y[2-]) ;
|
||||
assert-equal $(x) : identity $(y) ;
|
||||
}
|
||||
|
||||
#
|
||||
# test CALLER_MODULE
|
||||
#
|
||||
{
|
||||
module module1
|
||||
{
|
||||
rule f ( )
|
||||
{
|
||||
local m = [ CALLER_MODULE ] ;
|
||||
assert-equal : identity $(m) ;
|
||||
module2.f ;
|
||||
}
|
||||
|
||||
}
|
||||
module module2
|
||||
{
|
||||
rule f ( )
|
||||
{
|
||||
local m = [ CALLER_MODULE ] ;
|
||||
assert-equal module1 : identity $(m) ;
|
||||
}
|
||||
}
|
||||
module1.f ;
|
||||
}
|
||||
Reference in New Issue
Block a user