diff --git a/configure.sh b/configure.sh index cbae75f..687dbb3 100755 --- a/configure.sh +++ b/configure.sh @@ -115,6 +115,21 @@ mkdir build PREFIX="$(pwd)" cd build +# Since the __ANDROID_API__ flag is hardcoded as 24 in clang, and +# doesn't prototype some functions when this flag is too low, fixes it's +# version by checking system's properties so as to prevent from missing prototypes +# of existing functions such as fgets_unlocked (only if API >= 28) +# See the following issues : +# * https://github.com/termux/termux-packages/issues/6176 +# * https://github.com/termux/termux-packages/issues/2469 + +if command -v termux-setup-storage >/dev/null 2>&1; then + extra_args="CFLAGS=-D__ANDROID_API__=`getprop ro.build.version.sdk` CXXFLAGS=-D__ANDROID_API__=`getprop ro.build.version.sdk`" +else + extra_args= +fi + + echo "$TAG Configuring binutils..." run_quietly giteapc-configure.log \ -../binutils-$VERSION/configure --prefix="$PREFIX" --target=sh3eb-elf --with-multilib-list=m3,m4-nofpu --program-prefix=sh-elf- --enable-libssp --enable-lto +../binutils-$VERSION/configure --prefix="$PREFIX" --target=sh3eb-elf --with-multilib-list=m3,m4-nofpu --program-prefix=sh-elf- --enable-libssp --enable-lto $extra_args