Skip to content

Commit

Permalink
configure.ac: Make it possible to build on Android Termux
Browse files Browse the repository at this point in the history
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: termux/termux-packages#6176
  • Loading branch information
mame committed Dec 24, 2020
1 parent 81562f9 commit c64a067
Showing 1 changed file with 4 additions and 11 deletions.
15 changes: 4 additions & 11 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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'])
Expand Down

0 comments on commit c64a067

Please sign in to comment.