fn add_all_files()

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());
    }