in aws-lc-sys/builder/cc_builder.rs [344:373]
fn add_all_files(&self, lib: &Library, cc_build: &mut cc::Build) {
use core::str::FromStr;
// s2n_bignum is compiled separately due to needing extra flags
let mut s2n_bignum_builder = cc_build.clone();
s2n_bignum_builder.flag(format!(
"--include={}",
self.manifest_dir
.join("generated-include")
.join("openssl")
.join("boringssl_prefix_symbols_asm.h")
.display()
));
s2n_bignum_builder.define("S2N_BN_HIDE_SYMBOLS", "1");
for source in lib.sources {
let source_path = self.manifest_dir.join("aws-lc").join(source);
let is_s2n_bignum = std::path::Path::new(source).starts_with("third_party/s2n-bignum");
if is_s2n_bignum {
s2n_bignum_builder.file(source_path);
} else {
cc_build.file(source_path);
}
}
let object_files = s2n_bignum_builder.compile_intermediates();
for object in object_files {
cc_build.object(object);
}
cc_build.file(PathBuf::from_str("rust_wrapper.c").unwrap());
}