File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -128,6 +128,19 @@ fn main() {
128128 // of llvm-config, not the target that we're attempting to link.
129129 let mut cmd = Command :: new ( & llvm_config) ;
130130 cmd. arg ( "--libs" ) ;
131+
132+ // Force static linking with "--link-static" if available.
133+ let mut version_cmd = Command :: new ( & llvm_config) ;
134+ version_cmd. arg ( "--version" ) ;
135+ let version_output = output ( & mut version_cmd) ;
136+ let mut parts = version_output. split ( '.' ) ;
137+ if let ( Some ( major) , Some ( minor) ) = ( parts. next ( ) . and_then ( |s| s. parse :: < u32 > ( ) . ok ( ) ) ,
138+ parts. next ( ) . and_then ( |s| s. parse :: < u32 > ( ) . ok ( ) ) ) {
139+ if major > 3 || ( major == 3 && minor >= 8 ) {
140+ cmd. arg ( "--link-static" ) ;
141+ }
142+ }
143+
131144 if !is_crossed {
132145 cmd. arg ( "--system-libs" ) ;
133146 }
You can’t perform that action at this time.
0 commit comments