summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYusuke Endoh <mame@ruby-lang.org>2020-12-25 00:06:16 +0900
committerYusuke Endoh <mame@ruby-lang.org>2020-12-25 00:06:16 +0900
commitc64a067d0569a0aa20ff325c800c1cd74977313c (patch)
treece7acce5367205948b1eeef46f07086c9ccfd1c1
parent81562f943e4f33fbfd00fdfd115890ba0b76916c (diff)
configure.ac: Make it possible to build on Android Termux
The recent Termux's clang predefines `__ANDROID_API__` as a fixed number 24. However, when it is lower to the current device version, some functions that "configure" detemines available are not declared correctly in the header files. This change forces to overwrite the predefined `__ANDROID_API__` macro with the current device version. ref: https://github.com/termux/termux-packages/issues/6176
-rw-r--r--configure.ac15
1 files changed, 4 insertions, 11 deletions
diff --git a/configure.ac b/configure.ac
index c3157ff0fd..ebbe24a768 100644
--- a/configure.ac
+++ b/configure.ac
@@ -458,17 +458,10 @@ AC_TRY_COMPILE([
AC_MSG_RESULT(yes)
target_os=${target_os}-android
AC_MSG_CHECKING([for Android API version])
- AC_TRY_COMPILE([
- @%:@ifndef __ANDROID_API__
- @%:@error android
- @%:@endif
- ], [],
- [AC_MSG_RESULT(defined by the compiler)],
- [
- rb_android_api=`getprop ro.build.version.sdk`
- AC_MSG_RESULT($rb_android_api)
- RUBY_APPEND_OPTIONS(CPPFLAGS, -D__ANDROID_API__=$rb_android_api)
- ])
+ # hacky workaround: https://github.com/termux/termux-packages/issues/6176
+ rb_android_api=`getprop ro.build.version.sdk`
+ AC_MSG_RESULT($rb_android_api)
+ RUBY_APPEND_OPTIONS(CPPFLAGS, -D__ANDROID_API__=$rb_android_api -Wno-macro-redefined)
])
AC_SUBST(RM, ['rm -f'])