summaryrefslogtreecommitdiff
path: root/rust/build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/build.rs')
-rw-r--r--rust/build.rs21
1 files changed, 18 insertions, 3 deletions
diff --git a/rust/build.rs b/rust/build.rs
index 3e9c14f..10c0d21 100644
--- a/rust/build.rs
+++ b/rust/build.rs
@@ -1,6 +1,21 @@
extern crate gcc;
+use std::env;
+
fn main() {
- gcc::compile_library("libsendxmpp.a", &["clib/sendxmpp.c"]);
- println!("cargo:rustc-link-lib=strophe")
-} \ No newline at end of file
+ let target = env::var("TARGET").unwrap();
+ println!("cargo:rustc-link-lib=strophe");
+
+ let mut config = gcc::Config::new();
+ config.file("clib/sendxmpp.c");
+ if target.contains("freebsd") {
+ println!("cargo:rustc-link-search=native=/usr/local/lib");
+ config.include("/usr/local/include");
+ } else if target.contains("linux") {
+ // ok pass
+ } else {
+ println!("Unknown OS, need to adapt build.rs");
+ std::process::exit(1);
+ }
+ config.compile("libsendxmpp.a");
+}