Vladimir Prus 19 лет назад
Родитель
Сommit
5de0d90074
1 измененных файлов с 21 добавлено и 6 удалено
  1. 21 6
      Jamfile.v2

+ 21 - 6
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 <link>shared in $(properties)
+      && <runtime-link>static in $(properties)
+        && ! ( <toolset>cw in $(properties) )    
+    {
+        return <build>no ;
+    }
+}
+
+
 project boost
     : requirements <include>.
       # 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.
       <tag>@$(__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.
-      <link>shared,<runtime-link>static:<build>no
+      <conditional>@handle-static-runtime
             
     : usage-requirements <include>.
     : build-dir bin.v2

粤ICP备19079148号