Skip to content

Commit

Permalink
Use cflags/cxxflags instead of setting CMAKE defines directly
Browse files Browse the repository at this point in the history
  • Loading branch information
madsmtm committed Jan 27, 2025
1 parent 9d910bc commit d053536
Showing 1 changed file with 14 additions and 17 deletions.
31 changes: 14 additions & 17 deletions src/bootstrap/src/core/build_steps/llvm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -759,29 +759,26 @@ fn configure_cmake(
dbg!(&builder.default_cflags(target, CLang::Cxx));

cfg.build_arg("-j").build_arg(builder.jobs().to_string());
let mut cflags: OsString =
builder.extra_cflags(target, GitRepo::Llvm, CLang::C).join(" ").into();
if let Some(ref s) = builder.config.llvm_cflags {
cflags.push(" ");
cflags.push(s);

for flag in builder.extra_cflags(target, GitRepo::Llvm, CLang::C) {
cfg.cflag(&flag);
}
for flag in builder.extra_cflags(target, GitRepo::Llvm, CLang::Cxx) {
cfg.cxxflag(&flag);
}

if builder.config.llvm_clang_cl.is_some() {
cflags.push(format!(" --target={target}"));
if let Some(flags) = &builder.config.llvm_cflags {
cfg.cflag(flags);
}
dbg!(&cflags);
cfg.define("CMAKE_C_FLAGS", cflags);
let mut cxxflags: OsString =
builder.extra_cflags(target, GitRepo::Llvm, CLang::Cxx).join(" ").into();
if let Some(ref s) = builder.config.llvm_cxxflags {
cxxflags.push(" ");
cxxflags.push(s);
if let Some(flags) = &builder.config.llvm_cxxflags {
cfg.cxxflag(flags);
}

if builder.config.llvm_clang_cl.is_some() {
cxxflags.push(format!(" --target={target}"));
cfg.cflag(format!("--target={target}"));
cfg.cxxflag(format!("--target={target}"));
}
dbg!(&cxxflags);
cfg.define("CMAKE_CXX_FLAGS", cxxflags);

if let Some(ar) = builder.ar(target) {
if ar.is_absolute() {
// LLVM build breaks if `CMAKE_AR` is a relative path, for some reason it
Expand Down

0 comments on commit d053536

Please sign in to comment.