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

Added quotes to command-line elements thanks to Ben Hutchings

<ben.hutchings-at-businesswebsoftware.com>

Also eliminated separate targets for "always run" tests in favor of a
--python-test-all argument.  Should result in way less bjam
processing.


[SVN r18625]
This commit is contained in:
Dave Abrahams
2003-05-31 13:48:14 +00:00
parent 0c3459d60a
commit 67f0d4a02e
2 changed files with 30 additions and 64 deletions

View File

@@ -358,8 +358,9 @@ rule extension ( name : sources + : requirements * : default-BUILD * )
# boost-python-runtest target : python-script sources : requirements : local-build : args
#
# declare two python module tests: $(<).test which builds when out-of-date, and
# $(<).run which builds unconditionally.
# declare a python module test $(<).test which builds when out-of-date
#
# pass --python-test-all on the command-line to force rebuilding
rule boost-python-runtest (
target : python-script sources + : requirements * : local-build * : args * )
{
@@ -371,8 +372,7 @@ rule boost-python-runtest (
local gPYTHON_TEST_ARGS = $(args) $(PYTHON_TEST_ARGS) ;
# declare the two subsidiary tests.
declare-local-target $(<) : $(>) : $(BOOST_PYTHON_V2_PROPERTIES) : $(4) : PYTHON_TEST ;
declare-local-target $(<) : $(>) : $(PYTHON_PROPERTIES) : $(4) <suppress>true : PYTHON_RUNTEST ;
declare-local-target $(<) : $(>) : $(BOOST_PYTHON_PROPERTIES) : $(4) : PYTHON_TEST ;
}
rule boost-python-test ( name : sources + : requirements * : default-BUILD * )
@@ -380,9 +380,7 @@ rule boost-python-test ( name : sources + : requirements * : default-BUILD * )
extension $(name) : $(sources) : $(requirements) <suppress>true : $(4) ;
}
# special rules for two new target types: PYTHON_TEST and PYTHON_RUNTEST.
# These are identical except that PYTHON_TEST runs the test when out-of-date, and
# PYTHON_RUNTEST runs the test unconditionally. These are used by boost-python-runtest.
# special rules for a new target type PYTHON_TEST used by boost-python-runtest.
SUFPYTHON_TEST = .test ;
gGENERATOR_FUNCTION(PYTHON_TEST) = python-test-target ;
rule python-test-target ( test-target : sources + )
@@ -391,7 +389,12 @@ rule python-test-target ( test-target : sources + )
Clean clean : $(test-target) ; # remove the test-target as part of any clean operation
type-DEPENDS test : $(test-target) ;
MakeLocate $(test-target) : $(LOCATE_TARGET) ;
MakeLocate $(test-target) : $(LOCATE_TARGET) ;
if --python-test-all in $(ARGV)
{
ALWAYS $(test-target) ;
NOTFILE $(test-target) ;
}
}
if $(UNIX)
@@ -409,37 +412,17 @@ PYTHON_SHELL_LIBPATH ?= $(gSHELL_LIBPATH) ;
actions python-test-target bind PYTHON
{
$(SHELL_SET)PATH=$(run.path)$(gAPPEND_PATH)
$(SHELL_SET)PATH="$(run.path)"$(gAPPEND_PATH)
$(SHELL_EXPORT)PATH
$(SHELL_SET)$(PYTHON_SHELL_LIBPATH)=$(run.library_path)$(gAPPEND_LD_LIBRARY_PATH)
$(SHELL_SET)$(PYTHON_SHELL_LIBPATH)="$(run.library_path)"$(gAPPEND_LD_LIBRARY_PATH)
$(SHELL_EXPORT)$(PYTHON_SHELL_LIBPATH)
$(SHELL_SET)PYTHONPATH=$(PYTHONPATH)
$(SHELL_EXPORT)PYTHONPATH
$(PYTHON_LAUNCH) $(PYTHON) $(PYTHON_ARGS) "$(>)" $(ARGS)
}
SUFPYTHON_RUNTEST = .run ;
gGENERATOR_FUNCTION(PYTHON_RUNTEST) = python-runtest-target ;
rule python-runtest-target ( test-target : sources + )
{
type-DEPENDS runtest : $(test-target) ;
python-runtest-aux $(test-target) : $(sources) ;
NOTFILE $(test-target) ;
ALWAYS $(test-target) ;
}
actions python-runtest-target bind PYTHON
{
$(SHELL_SET)PATH=$(run.path)$(gAPPEND_PATH)
$(SHELL_EXPORT)PATH
$(SHELL_SET)$(PYTHON_SHELL_LIBPATH)=$(run.library_path)$(gAPPEND_LD_LIBRARY_PATH)
$(SHELL_EXPORT)$(PYTHON_SHELL_LIBPATH)
$(SHELL_SET)PYTHONPATH=$(PYTHONPATH)
$(SHELL_EXPORT)PYTHONPATH
$(PYTHON_LAUNCH) $(PYTHON) $(PYTHON_ARGS) "$(>)" $(ARGS)
"$(PYTHON_LAUNCH)" "$(PYTHON)" "$(PYTHON_ARGS)" "$(>)" "$(ARGS)"
}
# This is the rule that actually causes the test to run. It is used by
# bothe python-test-target and python-runtest-target.
# python-test-target
rule python-runtest-aux ( target : sources + )
{
DEPENDS $(target) : $(>) ;

View File

@@ -358,8 +358,9 @@ rule extension ( name : sources + : requirements * : default-BUILD * )
# boost-python-runtest target : python-script sources : requirements : local-build : args
#
# declare two python module tests: $(<).test which builds when out-of-date, and
# $(<).run which builds unconditionally.
# declare a python module test $(<).test which builds when out-of-date
#
# pass --python-test-all on the command-line to force rebuilding
rule boost-python-runtest (
target : python-script sources + : requirements * : local-build * : args * )
{
@@ -371,8 +372,7 @@ rule boost-python-runtest (
local gPYTHON_TEST_ARGS = $(args) $(PYTHON_TEST_ARGS) ;
# declare the two subsidiary tests.
declare-local-target $(<) : $(>) : $(BOOST_PYTHON_V2_PROPERTIES) : $(4) : PYTHON_TEST ;
declare-local-target $(<) : $(>) : $(PYTHON_PROPERTIES) : $(4) <suppress>true : PYTHON_RUNTEST ;
declare-local-target $(<) : $(>) : $(BOOST_PYTHON_PROPERTIES) : $(4) : PYTHON_TEST ;
}
rule boost-python-test ( name : sources + : requirements * : default-BUILD * )
@@ -380,9 +380,7 @@ rule boost-python-test ( name : sources + : requirements * : default-BUILD * )
extension $(name) : $(sources) : $(requirements) <suppress>true : $(4) ;
}
# special rules for two new target types: PYTHON_TEST and PYTHON_RUNTEST.
# These are identical except that PYTHON_TEST runs the test when out-of-date, and
# PYTHON_RUNTEST runs the test unconditionally. These are used by boost-python-runtest.
# special rules for a new target type PYTHON_TEST used by boost-python-runtest.
SUFPYTHON_TEST = .test ;
gGENERATOR_FUNCTION(PYTHON_TEST) = python-test-target ;
rule python-test-target ( test-target : sources + )
@@ -391,7 +389,12 @@ rule python-test-target ( test-target : sources + )
Clean clean : $(test-target) ; # remove the test-target as part of any clean operation
type-DEPENDS test : $(test-target) ;
MakeLocate $(test-target) : $(LOCATE_TARGET) ;
MakeLocate $(test-target) : $(LOCATE_TARGET) ;
if --python-test-all in $(ARGV)
{
ALWAYS $(test-target) ;
NOTFILE $(test-target) ;
}
}
if $(UNIX)
@@ -409,37 +412,17 @@ PYTHON_SHELL_LIBPATH ?= $(gSHELL_LIBPATH) ;
actions python-test-target bind PYTHON
{
$(SHELL_SET)PATH=$(run.path)$(gAPPEND_PATH)
$(SHELL_SET)PATH="$(run.path)"$(gAPPEND_PATH)
$(SHELL_EXPORT)PATH
$(SHELL_SET)$(PYTHON_SHELL_LIBPATH)=$(run.library_path)$(gAPPEND_LD_LIBRARY_PATH)
$(SHELL_SET)$(PYTHON_SHELL_LIBPATH)="$(run.library_path)"$(gAPPEND_LD_LIBRARY_PATH)
$(SHELL_EXPORT)$(PYTHON_SHELL_LIBPATH)
$(SHELL_SET)PYTHONPATH=$(PYTHONPATH)
$(SHELL_EXPORT)PYTHONPATH
$(PYTHON_LAUNCH) $(PYTHON) $(PYTHON_ARGS) "$(>)" $(ARGS)
}
SUFPYTHON_RUNTEST = .run ;
gGENERATOR_FUNCTION(PYTHON_RUNTEST) = python-runtest-target ;
rule python-runtest-target ( test-target : sources + )
{
type-DEPENDS runtest : $(test-target) ;
python-runtest-aux $(test-target) : $(sources) ;
NOTFILE $(test-target) ;
ALWAYS $(test-target) ;
}
actions python-runtest-target bind PYTHON
{
$(SHELL_SET)PATH=$(run.path)$(gAPPEND_PATH)
$(SHELL_EXPORT)PATH
$(SHELL_SET)$(PYTHON_SHELL_LIBPATH)=$(run.library_path)$(gAPPEND_LD_LIBRARY_PATH)
$(SHELL_EXPORT)$(PYTHON_SHELL_LIBPATH)
$(SHELL_SET)PYTHONPATH=$(PYTHONPATH)
$(SHELL_EXPORT)PYTHONPATH
$(PYTHON_LAUNCH) $(PYTHON) $(PYTHON_ARGS) "$(>)" $(ARGS)
"$(PYTHON_LAUNCH)" "$(PYTHON)" "$(PYTHON_ARGS)" "$(>)" "$(ARGS)"
}
# This is the rule that actually causes the test to run. It is used by
# bothe python-test-target and python-runtest-target.
# python-test-target
rule python-runtest-aux ( target : sources + )
{
DEPENDS $(target) : $(>) ;