From 6e931d3e7bc4364146df4ba07978dba214220028 Mon Sep 17 00:00:00 2001 From: dignifiedquire Date: Sun, 28 Apr 2019 21:41:08 +0300 Subject: [PATCH] more fixes for android builds --- build.rs | 34 ++++++++++++++++++++++------------ deltachat-ffi/src/lib.rs | 8 +++----- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/build.rs b/build.rs index 5679ed63a..ecbc8e299 100644 --- a/build.rs +++ b/build.rs @@ -34,7 +34,8 @@ fn main() { add_search_path("./include/include"); add_search_path("./include/libs"); - if std::env::var("TARGET").unwrap().contains("-apple") { + let target = std::env::var("TARGET").unwrap(); + if target.contains("-apple") || target.contains("-darwin") { link_static("etpan"); link_dylib("iconv"); @@ -45,16 +46,26 @@ fn main() { link_dylib("sasl2"); link_dylib("z"); link_dylib("pthread"); - link_dylib("tools"); - } else if std::env::var("TARGET").unwrap().contains("-android") { - add_search_path("./include/libs/arm64-v8a"); - add_search_path("./include/cyrus-sasl-android-4/libs/arm64-v8a"); + } else if target.contains("-android") { add_search_path("./include/cyrus-sasl-android-4/include"); - add_search_path("./include/openssl-android-3/libs/arm64-v8a"); add_search_path("./include/openssl-android-3/include"); - add_search_path("./include/iconv-android-1/libs/arm64-v8a"); add_search_path("./include/iconv-android-1/include"); + let arch = if target.contains("x86") { + "x86" + } else if target.contains("64") { + "arm64-v8a" + } else if target.contains("v7") { + "armeabi-v7a" + } else { + "armeabi" + }; + + add_search_path(&format!("./include/libs/{}", arch)); + add_search_path(&format!("./include/iconv-android-1/libs/{}", arch)); + add_search_path(&format!("./include/openssl-android-3/libs/{}", arch)); + add_search_path(&format!("./include/cyrus-sasl-android-4/libs/{}", arch)); + // dependencies for libetpan link_static("crypto"); link_static("sasl2"); @@ -64,16 +75,15 @@ fn main() { // libetpan iteself link_static("etpan"); - - // local tools - link_static("tools"); - } else if std::env::var("TARGET").unwrap().contains("-linux") { + } else if target.contains("-linux") { link_dylib("etpan"); link_dylib("sasl2"); link_dylib("z"); link_dylib("pthread"); - link_dylib("tools"); } else { panic!("unsupported target"); } + + // local tools + link_static("tools"); } diff --git a/deltachat-ffi/src/lib.rs b/deltachat-ffi/src/lib.rs index 9d0895b0a..19d547439 100644 --- a/deltachat-ffi/src/lib.rs +++ b/deltachat-ffi/src/lib.rs @@ -973,19 +973,17 @@ pub unsafe extern "C" fn dc_msg_get_state(msg: *mut dc_msg::dc_msg_t) -> libc::c } #[no_mangle] -pub unsafe extern "C" fn dc_msg_get_timestamp(msg: *mut dc_msg::dc_msg_t) -> libc::int64_t { +pub unsafe extern "C" fn dc_msg_get_timestamp(msg: *mut dc_msg::dc_msg_t) -> libc::time_t { dc_msg::dc_msg_get_timestamp(msg) } #[no_mangle] -pub unsafe extern "C" fn dc_msg_get_received_timestamp( - msg: *mut dc_msg::dc_msg_t, -) -> libc::int64_t { +pub unsafe extern "C" fn dc_msg_get_received_timestamp(msg: *mut dc_msg::dc_msg_t) -> libc::time_t { dc_msg::dc_msg_get_received_timestamp(msg) } #[no_mangle] -pub unsafe extern "C" fn dc_msg_get_sort_timestamp(msg: *mut dc_msg::dc_msg_t) -> libc::int64_t { +pub unsafe extern "C" fn dc_msg_get_sort_timestamp(msg: *mut dc_msg::dc_msg_t) -> libc::time_t { dc_msg::dc_msg_get_sort_timestamp(msg) }