From 5de0d90074c53bfd10443d4f39f9fcc4448cee28 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Mon, 18 Dec 2006 13:14:48 +0000 Subject: [PATCH] Merge [SVN r36449] --- Jamfile.v2 | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/Jamfile.v2 b/Jamfile.v2 index 0f7b1f31ad..39ed72ebae 100644 --- a/Jamfile.v2 +++ b/Jamfile.v2 @@ -127,6 +127,26 @@ else ; } + +rule handle-static-runtime ( properties * ) +{ + # This property combination is dangerous. + # Ideally, we'd add constraint to default build, + # so that user can build with property combination + # by hand. But we don't have any 'constraint' mechanism + # for default-build, so disable such builds in requirements. + + # For CW, static runtime is needed so that + # std::locale works. + if shared in $(properties) + && static in $(properties) + && ! ( cw in $(properties) ) + { + return no ; + } +} + + project boost : requirements . # disable auto-linking for all targets here, @@ -135,12 +155,7 @@ project boost # Used to encode variant in target name. See the # 'tag' rule below. @$(__name__).tag - # This property combination is dangerous. - # Ideally, we'd add constraint to default build, - # so that user can build with property combination - # by hand. But we don't have any 'constraint' mechanism - # for default-build, so disable such builds in requirements. - shared,static:no + @handle-static-runtime : usage-requirements . : build-dir bin.v2