File tree Expand file tree Collapse file tree 3 files changed +14
-1
lines changed Expand file tree Collapse file tree 3 files changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -50,6 +50,7 @@ pub struct Config {
5050 // llvm codegen options
5151 pub llvm_assertions : bool ,
5252 pub llvm_optimize : bool ,
53+ pub llvm_release_debuginfo : bool ,
5354 pub llvm_version_check : bool ,
5455 pub llvm_static_stdcpp : bool ,
5556
@@ -137,6 +138,7 @@ struct Llvm {
137138 ninja : Option < bool > ,
138139 assertions : Option < bool > ,
139140 optimize : Option < bool > ,
141+ release_debuginfo : Option < bool > ,
140142 version_check : Option < bool > ,
141143 static_libstdcpp : Option < bool > ,
142144}
@@ -243,6 +245,7 @@ impl Config {
243245 set ( & mut config. ninja , llvm. ninja ) ;
244246 set ( & mut config. llvm_assertions , llvm. assertions ) ;
245247 set ( & mut config. llvm_optimize , llvm. optimize ) ;
248+ set ( & mut config. llvm_release_debuginfo , llvm. release_debuginfo ) ;
246249 set ( & mut config. llvm_version_check , llvm. version_check ) ;
247250 set ( & mut config. llvm_static_stdcpp , llvm. static_libstdcpp ) ;
248251 }
Original file line number Diff line number Diff line change 1717# Indicates whether the LLVM build is a Release or Debug build
1818# optimize = true
1919
20+ # Indicates whether an LLVM Release build should include debug info
21+ # release-debuginfo = false
22+
2023# Indicates whether the LLVM assertions are enabled or not
2124# assertions = false
2225
Original file line number Diff line number Diff line change @@ -67,10 +67,17 @@ pub fn llvm(build: &Build, target: &str) {
6767 if build. config . ninja {
6868 cfg. generator ( "Ninja" ) ;
6969 }
70+
71+ let profile = match ( build. config . llvm_optimize , build. config . llvm_release_debuginfo ) {
72+ ( false , _) => "Debug" ,
73+ ( true , false ) => "Release" ,
74+ ( true , true ) => "RelWithDebInfo" ,
75+ } ;
76+
7077 cfg. target ( target)
7178 . host ( & build. config . build )
7279 . out_dir ( & dst)
73- . profile ( if build . config . llvm_optimize { "Release" } else { "Debug" } )
80+ . profile ( profile )
7481 . define ( "LLVM_ENABLE_ASSERTIONS" , assertions)
7582 . define ( "LLVM_TARGETS_TO_BUILD" , "X86;ARM;AArch64;Mips;PowerPC;SystemZ;JSBackend" )
7683 . define ( "LLVM_INCLUDE_EXAMPLES" , "OFF" )
You can’t perform that action at this time.
0 commit comments