1
0
Fork
You've already forked neostrap
0
A fork of ZilchOS's "bootstrap-from-tcc", CLang boostrapper
  • Shell 52.8%
  • C 35%
  • Makefile 12.2%
2026年06月16日 22:59:31 +02:00
helpers remove alot of nix crud 2026年06月16日 22:24:25 +02:00
recipes delete everything below 2b3-gnumake.sh 2026年06月16日 22:25:13 +02:00
.gitignore helpers/maint/build-custom-stage5: add 2023年10月10日 13:24:11 +02:00
build.sh build.sh: fixup all-at-once builds 2022年01月06日 18:36:04 +01:00
download.sh download.sh: support parsing of #local/url/sha256 as well 2023年10月08日 13:16:14 +02:00
LICENSE initial commit 2021年10月19日 11:05:36 +02:00
Makefile remove even more nix crud 2026年06月16日 22:28:37 +02:00
README.md Update README.md 2026年06月16日 22:59:31 +02:00
seed.sh remove alot of nix crud 2026年06月16日 22:24:25 +02:00

neostrap

bootstrap a full clang toolchain from a single 400KB tcc binary. no nix, no bullshit, no 300MB seed pile.

fork of bootstrap-from-tcc with the nix cancer surgically removed.

what it does

tcc seed (400KB) 
 → protomusl + stable tcc
 → binutils + gcc4
 → gcc10
 → clang (intermediate)
 → musl + clang (self-hosted) + busybox + gnumake

you get a fully self-hosted clang toolchain linked against musl. the entire compiler ascension takes 4-8 hours depending on your hardware. touch grass.

requirements

  • a statically linked tcc binary at ./tcc-seed
  • linux x86_64
  • ~8GB free for the build tmpfs
  • patience

usage

./build.sh

or if you want incremental builds for debugging:

make all-pkgs
make all-tests

why

because you don't know what's in your compiler. every toolchain you've ever used was built by a compiler that was built by a compiler that was built by a compiler. neostrap lets you verify the whole chain from a 400KB seed you can actually audit.

or you just want a musl-linked clang and don't trust prebuilts. both valid.

differences from upstream

  • nix completely removed, pure sh
  • stops at stage 2b (clang + musl + busybox + gnumake)
  • no ISO generation, no rebootstrap, no stage 3/4/5 nix infra
  • used by Static Linux as the reference bootstrap

getting tcc-seed

you need to supply it yourself. grab a statically linked tcc from your distro or build one. yes this is intentional. no we're not holding your hand.

license

MIT (upstream), modifications same.