emerald-gcc/README.md

51 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Emerald GCC
[![Drone CI](https://img.shields.io/drone/build/perosar/emerald-gcc?logo=drone&logoColor=blue&server=https%3A%2F%2Fdrone.tildegit.org)](https://drone.envs.netg/perosar/emerald-gcc)
## About
A toolchain to cross compile to Android. This outputs executables that link against Android's libc(bionic).
This is a personal project.
## Why
Androids 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
- Get tarball from latest [gitea release](https://tildegit.org/perosar/emerald-gcc/releases)
- Extract
```bash
$ tar -xJf file.tar.xz
```
- Modify PATH
```bash
$ export PATH="$(pwd)/aarch64-linux-android-emerald/bin:$PATH"
```
- Test
```bash
$ 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
- Patches from [its-pointless](https://github.com/its-pointless)
- Patches from [Android GCC 4.9](https://android.googlesource.com/toolchain/gcc)
- Sysroot from [NDK](https://github.com/android/ndk)
- Align fix script from [termux-ndk](https://github.com/Lzhiyong/termux-ndk/blob/master/patches/align_fix.py)
- Wiki pages from [Termux](https://github.com/termux)