From 1545ecaf4842ac35ffa2d77eac1243c58e7ea3ec Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Mon, 24 Apr 2006 14:00:53 +0000 Subject: [PATCH] Merge from trunk. [SVN r33793] --- src/build-system.jam | 13 +++++++++---- src/tools/cast.jam | 2 +- test/clean.py | 16 ++++++++++------ 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/build-system.jam b/src/build-system.jam index 5100dcd74..96ffbd5e1 100755 --- a/src/build-system.jam +++ b/src/build-system.jam @@ -386,10 +386,15 @@ else if $(clean) for local t in [ virtual-target.all-targets ] { local p = [ $(t).project ] ; - if $(t) in $(targets-to-clean) - || [ is-child [ $(p).project-module ] ] = true - { - to-clean += $(t) ; + + # Remove only derived targets. + if [ $(t).action ] + { + if $(t) in $(targets-to-clean) + || [ is-child [ $(p).project-module ] ] = true + { + to-clean += $(t) ; + } } } local to-clean-actual ; diff --git a/src/tools/cast.jam b/src/tools/cast.jam index cc21f7179..086d2f93c 100644 --- a/src/tools/cast.jam +++ b/src/tools/cast.jam @@ -72,7 +72,7 @@ rule cast ( name type : sources * : requirements * : default-build * if ! $(real-type) { errors.user-error "No type corresponds to main target rule nam '$(type)'" - : "Hint: try lowercase the name" ; + : "Hint: try lowercase name" ; } diff --git a/test/clean.py b/test/clean.py index dcd3b5ed5..043f53597 100644 --- a/test/clean.py +++ b/test/clean.py @@ -114,13 +114,17 @@ t.expect_nothing("sub2/bin/$toolset/debug/sub2.obj") t.expect_nothing("sub3/bin/$toolset/debug/sub3.obj") +# Regression test: sources of the 'cast' rule were mistakenly +# deleted. +t.rm(".") +t.write("Jamroot", """ +import cast ; +cast a cpp : a.h ; +""") +t.write("a.h", "") - - - - - - +t.run_build_system("--clean") +t.expect_nothing("a.h") t.cleanup()