bootstrap.sh (622B)
1 #!/bin/sh 2 3 MACHINE="$(uname -m)" 4 BOOTSTRAP="cc0.c" 5 LIBS="bufio.om lib.om alloc.om syscall.om syscall.${MACHINE}.om" 6 SOURCES="cc1.om cc4.om type.om as.om decl.om node.om ir.om ircout.om rb.om table.om lexer.om lalr.om aarch64.om x86_64.om riscv64.om" 7 8 # Build the bootstrap compiler from c 9 [ cc0 -nt cc0.c ] || ${CC:-gcc} -std=c89 -O1 -g ${BOOTSTRAP} -o cc0 10 ./cc0 -m ${MACHINE} ${LIBS} ${SOURCES} -o cc1 -n cc1.lines 11 12 # Double check the bootstrap and self hosting compiler have the same output 13 ./cc1 ${LIBS} ${SOURCES} -C cc2.c -o cc2 -n cc2.lines 14 cmp cc1 cc2 || echo cc mismatch 15 cmp cc0.c cc2.c || echo bootstrap mismatch