os

An operating system
git clone https://erai.gay/code/os/
Log | Files | Refs | README | LICENSE

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