aboutsummaryrefslogtreecommitdiff
path: root/meta/bootstrap.sh
blob: bc8b4376f5a1f7b839d020667a61a78ed7a3208c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh

# Bootstrap the initial compiler, and verify that it works.

set -e

case "$(uname -s)" in
   Darwin)
        cp bootstrap/macos.nasm bootstrap/cup.nasm
        ;;
   Linux)
        cp bootstrap/linux.nasm bootstrap/cup.nasm
        ;;
esac

echo "[+] Compiling the bootstrap compiler..."
make bootstrap/cup.out
mkdir -p build

echo "[+] Creating build/cup.out with bootstrap compiler..."
./bootstrap/cup.out compiler/main.cup -o build/cup.nasm
make build/cup.out
rm -f bootstrap/cup.nasm

echo "[+] Bootstrap complete!"