aboutsummaryrefslogtreecommitdiff
path: root/bindings/rust/build.rs
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2023-09-28 03:44:06 +0200
committerThomas Voss <mail@thomasvoss.com> 2023-09-28 03:44:52 +0200
commit94b1b4ad12c8bb04fc9ff84b1b9c0a707ad675a6 (patch)
treef0e2bfad824935c2eb2e9fe22bec07164d038df2 /bindings/rust/build.rs
Genesis commit
Diffstat (limited to 'bindings/rust/build.rs')
-rw-r--r--bindings/rust/build.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/bindings/rust/build.rs b/bindings/rust/build.rs
new file mode 100644
index 0000000..c6061f0
--- /dev/null
+++ b/bindings/rust/build.rs
@@ -0,0 +1,40 @@
+fn main() {
+ let src_dir = std::path::Path::new("src");
+
+ let mut c_config = cc::Build::new();
+ c_config.include(&src_dir);
+ c_config
+ .flag_if_supported("-Wno-unused-parameter")
+ .flag_if_supported("-Wno-unused-but-set-variable")
+ .flag_if_supported("-Wno-trigraphs");
+ let parser_path = src_dir.join("parser.c");
+ c_config.file(&parser_path);
+
+ // If your language uses an external scanner written in C,
+ // then include this block of code:
+
+ /*
+ let scanner_path = src_dir.join("scanner.c");
+ c_config.file(&scanner_path);
+ println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap());
+ */
+
+ c_config.compile("parser");
+ println!("cargo:rerun-if-changed={}", parser_path.to_str().unwrap());
+
+ // If your language uses an external scanner written in C++,
+ // then include this block of code:
+
+ /*
+ let mut cpp_config = cc::Build::new();
+ cpp_config.cpp(true);
+ cpp_config.include(&src_dir);
+ cpp_config
+ .flag_if_supported("-Wno-unused-parameter")
+ .flag_if_supported("-Wno-unused-but-set-variable");
+ let scanner_path = src_dir.join("scanner.cc");
+ cpp_config.file(&scanner_path);
+ cpp_config.compile("scanner");
+ println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap());
+ */
+}