userspace
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* tcc — Tiny C Compiler. The fast, tiny, self-hosting C compiler.
|
||||
*
|
||||
* Built with the stable 0.9.27 release plus the glibc-2.34 patch
|
||||
* (bcheck.c's __malloc_hook was removed from glibc; the bounds checker
|
||||
* is disabled on glibc >= 2.34, where the API no longer exists).
|
||||
* The patch lives in the repo: patches/tcc-0.9.27-glibc-2.34.patch.
|
||||
*
|
||||
* The check phase verifies self-hosting: tcc compiles its own compiler
|
||||
* and the result runs.
|
||||
*/
|
||||
package "tcc" {
|
||||
const version = "0.9.27"
|
||||
const source = "https://download.savannah.nongnu.org/releases/tinycc/tcc-${version}.tar.bz2"
|
||||
sha256 = "de23af78fca90ce32dff2dd45b3432b2334740bb9bb7b05bf60fdbfc396ceb9c"
|
||||
license = "LGPL-2.1-or-later"
|
||||
|
||||
provides = ["tcc", "cc"]
|
||||
|
||||
depends = [
|
||||
{ name = "make" },
|
||||
]
|
||||
|
||||
prepare {
|
||||
curl -L -O ${source}
|
||||
echo "de23af78fca90ce32dff2dd45b3432b2334740bb9bb7b05bf60fdbfc396ceb9c tcc-${version}.tar.bz2" | sha256sum -c -
|
||||
tar xf tcc-${version}.tar.bz2 --strip-components=1
|
||||
curl -L -O https://files.spectoria.dev/kappa-packages/patches/tcc-0.9.27-glibc-2.34.patch
|
||||
echo "d5c2b6865cd4f80c646ffc85a0fe53e15e3a1877e0a8d29556d01742e5094d6e tcc-0.9.27-glibc-2.34.patch" | sha256sum -c -
|
||||
patch -p1 < tcc-0.9.27-glibc-2.34.patch
|
||||
}
|
||||
|
||||
build {
|
||||
./configure --prefix=${prefix}
|
||||
make -j${jobs}
|
||||
}
|
||||
|
||||
check {
|
||||
./tcc -o tcc-selfhost tcc.c -I. -DONE_SOURCE -lm -ldl
|
||||
./tcc-selfhost -v
|
||||
}
|
||||
|
||||
install {
|
||||
make DESTDIR=${destdir} install
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user