summaryrefslogtreecommitdiff
path: root/Jamroot
diff options
context:
space:
mode:
Diffstat (limited to 'Jamroot')
-rw-r--r--Jamroot19
1 files changed, 8 insertions, 11 deletions
diff --git a/Jamroot b/Jamroot
index 37e20d30e3..de966a8fa6 100644
--- a/Jamroot
+++ b/Jamroot
@@ -213,18 +213,15 @@ rule handle-static-runtime ( properties * )
# dangerous on Windows. Therefore, we disallow it. This might be drastic,
# but it was disabled for a while without anybody complaining.
- # For CW, static runtime is needed so that std::locale works.
- if <link>shared in $(properties) && <runtime-link>static in $(properties) &&
- ! ( <toolset>cw in $(properties) )
- {
- if ! $(.shared-static-warning-emitted)
- {
- ECHO "warning: skipping configuration link=shared, runtime-link=static" ;
- ECHO "warning: this combination is either impossible or too dangerous" ;
- ECHO "warning: to be of any use" ;
- .shared-static-warning-emitted = 1 ;
- }
+ local argv = [ modules.peek : ARGV ] ;
+ if <link>shared in $(properties)
+ && <runtime-link>static in $(properties)
+ # For CW, static runtime is needed so that std::locale works.
+ && ! ( <toolset>cw in $(properties) )
+ && ! --allow-shared-static in $(argv)
+ {
+ boostcpp.emit-shared-static-warning ;
return <build>no ;
}
}