aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
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 /configure.ac
parent81562f943e4f33fbfd00fdfd115890ba0b76916c (diff)
downloadruby-c64a067d0569a0aa20ff325c800c1cd74977313c.tar.gz
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
Diffstat (limited to 'configure.ac')
-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'])