From 0456a420afb40526bf6e524bb500497b6ea3ba60 Mon Sep 17 00:00:00 2001 From: Neiviv-ui Date: Wed, 23 Jun 2021 22:21:30 +0200 Subject: [PATCH] Android support through termux app (#1) added some dependancies Added -g and -O2 flags fixes __ANDROID_API__ flag add termux dependencies in configure.sh Co-authored-by: neiviv-ui Reviewed-on: https://gitea.planet-casio.com/Lephenixnoir/sh-elf-binutils/pulls/1 Co-Authored-By: Neiviv-ui Co-Committed-By: Neiviv-ui --- configure.sh | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/configure.sh b/configure.sh index a902631..d604e75 100755 --- a/configure.sh +++ b/configure.sh @@ -35,8 +35,12 @@ if [[ ! -z "$ACCEPT_ANY" ]]; then fi # Check dependencies for binutils and GCC - -if command -v apt >/dev/null 2>&1; then +if command -v pkg >/dev/null 2>&1; then + deps="libmpfr libmpc libgmp libpng flex clang git texinfo libisl bison xz-utils" + pm=pkg + pm_has="dpkg -s" + pm_install="pkg install" +elif command -v apt >/dev/null 2>&1; then deps="libmpfr-dev libmpc-dev libgmp-dev libpng-dev libppl-dev flex g++ git texinfo xz-utils" pm=apt pm_has="dpkg -s" @@ -112,5 +116,19 @@ PREFIX="$(pwd)" cd build echo "$TAG Configuring binutils..." + +if command -v termux-setup-storage >/dev/null 2>&1; then + # 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 + + export CFLAGS="-D__ANDROID_API__=$(getprop ro.build.version.sdk) -g -O2" \ + CXXFLAGS="-D__ANDROID_API__=$(getprop ro.build.version.sdk) -g -O2" +fi + 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