Android NDK with custom LLVM built using various libc's, supporting multiple architectures and platforms.
  • Shell 54%
  • C 40.8%
  • Dockerfile 4.5%
  • Assembly 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Claude ecd4f55a6a
assemble: don't let a missing runtime dir abort replace_toolchain_libs
Each NDK has only one of lib64/clang and lib/clang, so ls exits 2 for the
other pattern. Under pipefail that status survived head and set -e
killed the script without a message, right after the bin/ loop.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MCyV7EimgX4XWdbGRYbiKK
2026-10-29 19:26:45 +00:00
.github ci: add sparc64 targets to the linux and bsd workflows 2026-10-20 13:06:10 +03:00
config add x32 and macOS support (#22) 2026-06-04 11:29:44 +03:00
docker macOS arm64e: compile with clang 21 for the pointer authentication ABI 2026-10-29 10:40:14 +00:00
patches Build GNU binutils for r20-r23 hosts 2026-10-28 15:10:59 +00:00
scripts assemble: don't let a missing runtime dir abort replace_toolchain_libs 2026-10-29 19:26:45 +00:00
sources toolbox: build the NDK's own cmp/echo from AOSP, Windows only 2026-09-11 12:50:01 +03:00
.gitattributes Update .gitattributes 2026-09-07 01:37:54 +03:00
LICENSE Update LICENSE 2026-02-20 10:32:33 +03:00
README.md Update README.md 2026-10-22 15:14:41 +03:00

Android NDK Custom

Android NDK Custom is a custom-built Android NDK that replaces the default toolchain with a rebuilt LLVM and related binaries.

It integrates alternative libc implementations like musl (via Zig), Bionic (from the official Android NDK), llvm-mingw and the macOS SDK (via osxcross) to provide a more flexible and portable build environment.

This project is inspired by Zongou’s build system.


🚀 Features

  • Custom LLVM build sourced from official Google repositories.
  • Built using various toolchain's libc.
  • Additional Tools Built:
    • Shaderc
    • Python
    • Make
    • Yasm

🧭 Architecture & Platform Support

🔹 Zig-based Environment

Platforms

  • Linux
  • Android
  • NetBSD
  • FreeBSD
  • OpenBSD

Architectures

  • X86 Family: x86, x86_64, x32
  • ARM Family: arm, armeb, aarch64, aarch64_be
  • RISC-V: riscv32, riscv64
  • PowerPC: powerpc, powerpc64, powerpc64le
  • MIPS: mips, mipsel, mips64, mips64el
  • Thumb: thumb, thumbeb
  • Other: loongarch64, s390x, sparc64 ,hexagon

🔹 Native Environment

Platforms

  • Windows
  • macOS
  • Android

Architectures

  • x86, x86_64
  • aarch64
  • armv7 (Android and Windows only)
  • arm64ec (Windows-only)
  • arm64e, x86_64h (macOS-only)

🧰 Usage

This custom NDK works as a drop-in replacement for the standard Android NDK.
Simply extract the archive and use it in your build setup just as you would with the official version.


⚖️ License

This project is licensed under the MIT License.
See the LICENSE file for more details.


💬 Contributing

Feel free to open pull requests or issues if you have any contributions or feedback!