From 9416cd3d62f15f5d59f3bff94299f690e69a230d Mon Sep 17 00:00:00 2001 From: Yves Fischer Date: Sun, 4 Sep 2016 00:05:26 +0200 Subject: switch to using tiny_http civet fails on FreeBSD because the mongoose Makefile requires gmake. --- rust/build.rs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'rust/build.rs') 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"); +} -- cgit v1.2.1