-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.rs
37 lines (35 loc) · 1.11 KB
/
build.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use cc::Build;
fn main() {
println!("cargo:rerun-if-changed=./linear-malloc.c");
println!("cargo:rerun-if-changed=./slab-malloc.c");
println!("cargo:rerun-if-changed=./linear-malloc.h");
println!("cargo:rerun-if-changed=./slab-malloc.h");
println!("cargo:rerun-if-changed=./utils.h");
println!("cargo:rerun-if-changed=./c-list.h");
let mut build = Build::new();
if cfg!(feature = "test-support") {
build.flag("-DFM_TEST_SUPPORT").flag("-DFM_GUARDS");
}
if cfg!(feature = "manual-init") {
build.flag("-DFM_MANUAL_INIT");
}
build
.file("./linear-malloc.c")
.file("./slab-malloc.c")
.include(".")
.static_flag(true)
.flag("-O3")
.flag("-g")
.flag("-std=c99")
.flag("-nostdlib")
.flag("-Wall")
.flag("-Werror")
.flag("-Wextra")
.flag("-fno-builtin-printf")
.flag("-fno-builtin-memcmp")
.flag("-fdata-sections")
.flag("-ffunction-sections")
.flag("-DFM_MEMORY_SIZE=655360")
.flag("-DFM_DEBUG(...)=")
.compile("fixed-malloc");
}