diff --git a/gcc-test/build.rs b/gcc-test/build.rs index 696ea12..95291bc 100644 --- a/gcc-test/build.rs +++ b/gcc-test/build.rs @@ -3,11 +3,14 @@ extern crate gcc; fn main() { gcc::Config::new() .file("src/foo.c") + .define("FOO", None) + .define("BAR", Some("1")) .compile("libfoo.a"); gcc::Config::new() .file("src/bar1.c") .file("src/bar2.c") + .include("src/include") .compile("libbar.a"); gcc::Config::new() diff --git a/gcc-test/src/bar1.c b/gcc-test/src/bar1.c index b2e30f9..605be33 100644 --- a/gcc-test/src/bar1.c +++ b/gcc-test/src/bar1.c @@ -1,4 +1,5 @@ #include +#include "foo.h" int32_t bar1() { return 5; diff --git a/gcc-test/src/foo.c b/gcc-test/src/foo.c index ee16f6f..541e62c 100644 --- a/gcc-test/src/foo.c +++ b/gcc-test/src/foo.c @@ -1,5 +1,9 @@ #include +#ifdef FOO +#if BAR == 1 int32_t foo() { return 4; } +#endif +#endif diff --git a/gcc-test/src/include/foo.h b/gcc-test/src/include/foo.h new file mode 100644 index 0000000..e69de29