| extern crate cc; |
| |
| use std::env; |
| use std::process::Command; |
| use std::path::Path; |
| |
| fn main() { |
| if !Path::new("brotli/.git").exists() { |
| let _ = Command::new("git").args(&["submodule", "update", "--init"]) |
| .status(); |
| } |
| |
| let src = env::current_dir().unwrap(); |
| println!("cargo:include={}", src.join("brotli/include").display()); |
| |
| cc::Build::new() |
| .include("brotli/include") |
| .warnings(false) |
| .file("brotli/common/dictionary.c") |
| .file("brotli/dec/bit_reader.c") |
| .file("brotli/dec/decode.c") |
| .file("brotli/dec/huffman.c") |
| .file("brotli/dec/state.c") |
| .file("brotli/enc/backward_references.c") |
| .file("brotli/enc/backward_references_hq.c") |
| .file("brotli/enc/bit_cost.c") |
| .file("brotli/enc/block_splitter.c") |
| .file("brotli/enc/brotli_bit_stream.c") |
| .file("brotli/enc/cluster.c") |
| .file("brotli/enc/compress_fragment.c") |
| .file("brotli/enc/compress_fragment_two_pass.c") |
| .file("brotli/enc/dictionary_hash.c") |
| .file("brotli/enc/encode.c") |
| .file("brotli/enc/entropy_encode.c") |
| .file("brotli/enc/histogram.c") |
| .file("brotli/enc/literal_cost.c") |
| .file("brotli/enc/memory.c") |
| .file("brotli/enc/metablock.c") |
| .file("brotli/enc/static_dict.c") |
| .file("brotli/enc/utf8_util.c") |
| .compile("libbrotli.a"); |
| } |