Emerald is a toolchain to cross-compile to Android that links against Android's libc(bionic).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
PeroSar 15255af004
bin: add emerald-alignfix
5 days ago
bin bin: add emerald-alignfix 5 days ago
patches/gcc patches/gcc/12.1.0: remove useless patches 1 week ago
.drone.yml fix rust builds, add ldd 2 weeks ago
.gitignore Add gitignore 2 weeks ago
LICENSE Add LICENSE 2 weeks ago
README.md bin: add emerald-alignfix 5 days ago
common.sh common: Statically link libstdc++ 2 weeks ago
emerald-binutils.sh binutils: add 2.38 build script 2 weeks ago
emerald-gcc.sh gcc: enable fortran support 1 week ago
emerald-get-relver.sh drone: Add CI config 2 weeks ago
emerald-post-gcc-build.sh format shell scripts with shfmt 1 week ago
emerald-sysroot.sh gcc: add 11.3.0 build script 2 weeks ago

README.md

Emerald GCC

Drone CI

About

A toolchain to cross compile to Android. This outputs executables that link against Android's libc(bionic). This is a personal project.

Why

Android’s GCC was deprecated in favor of LLVM Clang and removed from Android in January 2020. Some projects still require GCC for building.

How to use

$ tar -xJf file.tar.xz
  • Modify PATH
$ export PATH="$(pwd)/aarch64-linux-android-emerald/bin:$PATH"
  • Test
$ aarch64-linux-android-gcc --version
$ aarch64-linux-android-gcc test.c -o test
  • Run on Android (e.g. with Termux)

Target

Compiled executables should run properly on Android 8 and above.

Credits