From: Tobias Brunner Date: Tue, 26 Jan 2016 16:23:02 +0000 (+0100) Subject: android: Enable build against API level 21 X-Git-Tag: 5.4.1dr1~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=17e36cd48cbb7a17c7ea0ee48cbf87d30da103ba;p=thirdparty%2Fstrongswan.git android: Enable build against API level 21 While building against this level in general would break our app on older systems, the NDK will automatically use this level for 64-bit ABI builds (which are not supported in older levels). So to build against 64-bit ABIs we have to support this API level. --- diff --git a/Android.mk b/Android.mk index f17289ea05..840cc14cfd 100644 --- a/Android.mk +++ b/Android.mk @@ -61,7 +61,6 @@ strongswan_CFLAGS := \ -DHAVE_ALLOCA \ -DHAVE_CLOCK_GETTIME \ -DHAVE_DLADDR \ - -DHAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC \ -DHAVE_PRCTL \ -DHAVE_LINUX_UDP_H \ -DHAVE_STRUCT_SADB_X_POLICY_SADB_X_POLICY_PRIORITY \ diff --git a/src/frontends/android/app/src/main/jni/Android.mk b/src/frontends/android/app/src/main/jni/Android.mk index b295320f4d..39620aa420 100644 --- a/src/frontends/android/app/src/main/jni/Android.mk +++ b/src/frontends/android/app/src/main/jni/Android.mk @@ -39,7 +39,6 @@ strongswan_CFLAGS := \ -DHAVE_ALLOCA \ -DHAVE_CLOCK_GETTIME \ -DHAVE_DLADDR \ - -DHAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC \ -DHAVE_PRCTL \ -DHAVE_LINUX_UDP_H \ -DHAVE_STRUCT_SADB_X_POLICY_SADB_X_POLICY_PRIORITY \ diff --git a/src/libstrongswan/utils/compat/android.h b/src/libstrongswan/utils/compat/android.h index b3ea9c4757..6edd3effb5 100644 --- a/src/libstrongswan/utils/compat/android.h +++ b/src/libstrongswan/utils/compat/android.h @@ -21,6 +21,8 @@ #ifndef ANDROID_H_ #define ANDROID_H_ +#include + /* stuff defined in AndroidConfig.h, which is included using the -include * command-line option, thus cannot be undefined using -U CFLAGS options. * the reason we have to undefine these flags in the first place, is that @@ -28,4 +30,19 @@ * actually defined. */ #undef HAVE_BACKTRACE +/* API level 21 changed quite a few things, we define some stuff here and not + * via CFLAGS in Android.mk files as it is easier to compare versions */ +#if __ANDROID_API__ >= 21 + +#define HAVE_PTHREAD_CONDATTR_INIT 1 +#define HAVE_CONDATTR_CLOCK_MONOTONIC 1 + +#define HAVE_SYS_CAPABILITY_H 1 + +#else /* __ANDROID_API__ */ + +#define HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC 1 + +#endif /* __ANDROID_API__ */ + #endif /** ANDROID_H_ @}*/