diff options
Diffstat (limited to 'ACE/ace/config-android.h')
-rw-r--r-- | ACE/ace/config-android.h | 118 |
1 files changed, 31 insertions, 87 deletions
diff --git a/ACE/ace/config-android.h b/ACE/ace/config-android.h index d3d89f39d5b..ea367836baf 100644 --- a/ACE/ace/config-android.h +++ b/ACE/ace/config-android.h @@ -10,13 +10,8 @@ // There is a large number of combinations of these two that can lead to // problems. -// Location of the __ANDROID_API__ define -// #include $NDK_ROOT/sysroot/usr/include/android/api-level.h -#include "android/api-level.h" - -#if !defined (__ANDROID_API__) -# error __ANDROID_API__ must be defined -#endif +#include <android/ndk-version.h> +#include <android/api-level.h> #define ACE_ANDROID #define ACE_PLATFORM_CONFIG config-android.h @@ -26,94 +21,40 @@ /* * Android NDK Revision Macros * - * Revsions Scheme Work Like This: - * Revision | __NDK_MAJOR__ | __NDK_MINOR__ - * r16 | 16 | 0 - * r16b | 16 | 1 - * r16c | 16 | 2 + * Revisions Scheme Work Like This: + * Revision | __NDK_MAJOR__ | __NDK_MINOR__ | __NDK__BETA__ + * r16 | 16 | 0 | 0 + * r16b | 16 | 1 | 0 + * r16c | 16 | 2 | 0 + * r22-beta1| 22 | 0 | 1 * - * After r16, NDK version macros are defined in android/ndk-version.h Before - * that they must be defined in platform_macros.GNU before the include of - * platform_android.GNU. + * __NDK_BETA__ is starts at 1 and increments until release when it is 0. */ -#define ACE_ANDROID_NDK_AT_LEAST(MAJ, MIN) \ - (__NDK_MAJOR__ > (MAJ) || (__NDK_MAJOR__ == (MAJ) && __NDK_MINOR__ >= (MIN))) - -#define ACE_ANDROID_NDK_EXACTLY(MAJ, MIN) \ - (__NDK_MAJOR__ == (MAJ) && __NDK_MINOR__ == (MIN)) - -#define ACE_ANDROID_NDK_LESS_THAN(MAJ, MIN) \ - (__NDK_MAJOR__ < (MAJ) || (__NDK_MAJOR__ == (MAJ) && __NDK_MINOR__ < (MIN))) - -#ifdef ACE_ANDROID_NDK_HAS_NDK_VERSION_H -# include "android/ndk-version.h" -#else -# ifndef __NDK_MAJOR__ -# error ndk-version.h is missing, __NDK_MAJOR__ for Android NDK must be defined! -# endif -# ifndef __NDK_MINOR__ -# error ndk-version.h is missing, __NDK_MINOR__ for Android NDK must be defined! -# endif -#endif +#define ACE_ANDROID_NDK_AT_LEAST(MAJ, MIN, BET) (\ + (__NDK_MAJOR__ > (MAJ)) || \ + (__NDK_MAJOR__ == (MAJ) && __NDK_MINOR__ >= (MIN)) || \ + (__NDK_MAJOR__ == (MAJ) && __NDK_MINOR__ == (MIN) && \ + (__NDK_BETA__ == 0 || __NDK_BETA__ >= (BET)) \ + ) \ +) -// ucontext.h and clock_settime() were added in r10c -#if ACE_ANDROID_NDK_AT_LEAST(10, 2) -# define ACE_HAS_UCONTEXT_T -# define ACE_HAS_CLOCK_SETTIME -#else -# define ACE_LACKS_UCONTEXT_H -#endif +#define ACE_ANDROID_NDK_EXACTLY(MAJ, MIN, BET) \ + (__NDK_MAJOR__ == (MAJ) && __NDK_MINOR__ == (MIN) && __NDK_BETA__ == (BETA)) -// NDK has these by r12b -#if ACE_ANDROID_NDK_LESS_THAN(12, 1) -# define ACE_LACKS_GETHOSTENT -# define ACE_LACKS_LOCALECONV -# define ACE_LACKS_WCHAR_STD_NAMESPACE -// Used in tests/Sequence_Unit_Tests/string_sequence_tester.hpp -# define TAO_LACKS_WCHAR_CXX_STDLIB -#endif +#define ACE_ANDROID_NDK_LESS_THAN(MAJ, MIN, BET) \ + !ACE_ANDROID_NDK_AT_LEAST((MAJ), (MIN), (BET)) -#if ACE_ANDROID_NDK_LESS_THAN(12, 1) || __ANDROID_API__ < 18 +#if __ANDROID_API__ < 18 # define ACE_LACKS_LOG2 #endif -#if ACE_ANDROID_NDK_LESS_THAN(12, 1) || __ANDROID_API__ < 21 +#if __ANDROID_API__ < 21 # define ACE_LACKS_SEARCH_H # define ACE_LACKS_SYS_SEM_H # define ACE_LACKS_SEMBUF_T # define ACE_LACKS_SYS_MSG_H # define ACE_LACKS_SYS_SHM_H # define ACE_LACKS_SYSV_SHMEM -#else -# define ACE_HAS_SEMUN -#endif - -#if ACE_ANDROID_NDK_LESS_THAN(15, 0) && __ANDROID_API__ < 21 -// NOTE: The && is correct, SYS_GETTID is present in API 16 in r15 onwards -# ifdef ACE_HAS_GETTID -# undef ACE_HAS_GETTID -# endif -#endif - -// NDK has telldir() and seekdir() by 15c -#if ACE_ANDROID_NDK_LESS_THAN(15, 2) || __ANDROID_API__ < 23 -# define ACE_LACKS_TELLDIR -# define ACE_LACKS_SEEKDIR -#endif - -// strbuf was added by r16 -#if ACE_ANDROID_NDK_LESS_THAN(16, 0) -# ifdef ACE_HAS_STRBUF_T -# undef ACE_HAS_STRBUF_T -# endif -#endif - -// fd_mask was added in r17c -#if ACE_ANDROID_NDK_LESS_THAN(17, 2) -# define ACE_LACKS_FD_MASK -#endif - -#if __ANDROID_API__ < 21 # define ACE_LACKS_RAND_R # define ACE_LACKS_WCSTOLL # define ACE_LACKS_WCSTOULL @@ -121,13 +62,16 @@ # ifdef ACE_HAS_EVENT_POLL # undef ACE_HAS_EVENT_POLL # endif +#else +# define ACE_HAS_SEMUN #endif -#if ACE_ANDROID_NDK_LESS_THAN(15, 0) -# define ACE_LACKS_STRUCT_IF_NAMEINDEX +#if __ANDROID_API__ < 23 +# define ACE_LACKS_TELLDIR +# define ACE_LACKS_SEEKDIR #endif -#if ACE_ANDROID_NDK_LESS_THAN(15, 0) || __ANDROID_API__ < 24 +#if __ANDROID_API__ < 24 # define ACE_LACKS_IF_NAMEINDEX #endif @@ -137,9 +81,9 @@ # define ACE_LACKS_ENDHOSTENT #endif -#if !defined(ACE_HAS_GLIBC_2_2_3) && (ACE_ANDROID_NDK_AT_LEAST(15, 0) || __ANDROID_API__ >= 21) -# define ACE_HAS_CPU_SET_T -#endif +#define ACE_HAS_UCONTEXT_T +#define ACE_HAS_CLOCK_SETTIME +#define ACE_HAS_CPU_SET_T // system errorno is a volatile int #define ACE_HAS_VOLATILE_ERRNO |