@@ -358,14 +358,21 @@ fn configure_cmake(builder: &Builder,
358358 }
359359
360360 cfg. build_arg ( "-j" ) . build_arg ( builder. jobs ( ) . to_string ( ) ) ;
361- cfg. define ( "CMAKE_C_FLAGS" , builder. cflags ( target, GitRepo :: Llvm ) . join ( " " ) ) ;
361+ let mut cflags = builder. cflags ( target, GitRepo :: Llvm ) . join ( " " ) ;
362+ if let Some ( ref s) = builder. config . llvm_cxxflags {
363+ cflags. push_str ( & format ! ( " {}" , s) ) ;
364+ }
365+ cfg. define ( "CMAKE_C_FLAGS" , cflags) ;
362366 let mut cxxflags = builder. cflags ( target, GitRepo :: Llvm ) . join ( " " ) ;
363367 if builder. config . llvm_static_stdcpp &&
364368 !target. contains ( "windows" ) &&
365369 !target. contains ( "netbsd" )
366370 {
367371 cxxflags. push_str ( " -static-libstdc++" ) ;
368372 }
373+ if let Some ( ref s) = builder. config . llvm_cxxflags {
374+ cxxflags. push_str ( & format ! ( " {}" , s) ) ;
375+ }
369376 cfg. define ( "CMAKE_CXX_FLAGS" , cxxflags) ;
370377 if let Some ( ar) = builder. ar ( target) {
371378 if ar. is_absolute ( ) {
@@ -383,6 +390,12 @@ fn configure_cmake(builder: &Builder,
383390 }
384391 }
385392
393+ if let Some ( ref s) = builder. config . llvm_ldflags {
394+ cfg. define ( "CMAKE_SHARED_LINKER_FLAGS" , s) ;
395+ cfg. define ( "CMAKE_MODULE_LINKER_FLAGS" , s) ;
396+ cfg. define ( "CMAKE_EXE_LINKER_FLAGS" , s) ;
397+ }
398+
386399 if env:: var_os ( "SCCACHE_ERROR_LOG" ) . is_some ( ) {
387400 cfg. env ( "RUST_LOG" , "sccache=warn" ) ;
388401 }
0 commit comments