Last active
September 22, 2020 20:19
-
-
Save menangen/95a3ce32fdf0e26d0d764bdca3b5a473 to your computer and use it in GitHub Desktop.
Ninja musl LLVM build
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
lcc = llc | |
ld = ld.lld | |
src=.. | |
SYS = /root/src/musl/root | |
GCCPATH = /usr/lib64/gcc/x86_64-slackware-linux/9.3.0 | |
llcflags = -march=x86-64 -relocation-model=pic -filetype=obj | |
ldflags = -s $SYS/lib/crt1.o -static -nostdlib --lto-O3 -sysroot $SYS -L $SYS/lib -L $GCCPATH | |
ldlibflags = -lgcc -lc -lm -ldl -lpthread | |
clangflags=-static -emit-llvm -std=c11 -nodefaultlibs --sysroot $SYS -isystem $SYS/include -funsigned-char -flto | |
cvariables=-D_GNU_SOURCE -DCONFIG_VERSION=\"2020-09-06\" -DCONFIG_BIGNUM | |
rule lcc | |
command = $lcc $llcflags $in -o $out | |
rule link | |
command = $ld $ldflags $ldlibflags $in -o $out | |
rule cc | |
command = clang $clangflags $cvariables -c $in -o $out | |
rule llink | |
command = llvm-link -v -o $out $in | |
rule exe | |
command = clang -lm -ldl -pthread $in libquickjs.llvm.o -o $out | |
build quickjs.bc: cc $src/quickjs.c | |
build quickjs-libc.bc: cc $src/quickjs-libc.c | |
build cutils.bc: cc $src/cutils.c | |
build libregexp.bc: cc $src/libregexp.c | |
build libunicode.bc: cc $src/libunicode.c | |
build libbf.bc: cc $src/libbf.c | |
build libquickjs.bc: llink quickjs.bc quickjs-libc.bc cutils.bc libregexp.bc libunicode.bc libbf.bc | |
build libquickjs.llvm.o: lcc libquickjs.bc | |
build main.bc: cc ../main.c | |
build main.o: lcc main.bc | |
build main: link main.o libquickjs.llvm.o |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment