From d2dc2ec215baa3dee09195c3d396784901581089 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Sat, 11 Apr 2009 13:56:02 +0000 Subject: [PATCH] Disallow link=shared + runtime-link=shared clearly. Previously, we'd skip build with such combination, without much of an explanation. Now, a clear error is emitted. [SVN r52330] --- Jamroot | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Jamroot b/Jamroot index 68e5f3c200..b51233f39a 100644 --- a/Jamroot +++ b/Jamroot @@ -151,16 +151,18 @@ if ! ( $(build-type) in minimal complete ) rule handle-static-runtime ( properties * ) { - # This property combination is dangerous. Ideally, we would add a constraint - # to default build, so that user can build this property combination only if - # requested directly. But we do not have any 'constraint' system for - # default-build, so we disable such builds in requirements. + # Using static runtime with shared libraries is impossible on Linux, + # and dangerous on Windows. Therefore, we disallow it. This might + # be drastic, but it was disabled for a while with nobody complaining. # For CW, static runtime is needed so that std::locale works. if shared in $(properties) && static in $(properties) && ! ( cw in $(properties) ) { - return no ; + ECHO "error: link=static together with runtime=link is not allowed" ; + ECHO "error: such property combination is either impossible " ; + ECHO "error: or too dangerious to be of any use" ; + EXIT ; } }