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 <neiviv-ui@protonmail.com>
Reviewed-on: https://gitea.planet-casio.com/Lephenixnoir/sh-elf-binutils/pulls/1
Co-Authored-By: Neiviv-ui <neiviv-ui@protonmail.com>
Co-Committed-By: Neiviv-ui <neiviv-ui@protonmail.com>
This commit is contained in:
Neiviv-ui 2021-06-23 22:21:30 +02:00 committed by Lephenixnoir
parent d65c82fdf4
commit 0456a420af
1 changed files with 20 additions and 2 deletions

View File

@ -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 <stdio.h>
# 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