From acdc54282fc37124cbedbf61f4540a5c3f85a2f5 Mon Sep 17 00:00:00 2001 From: Dov Murik Date: Wed, 6 Mar 2024 14:32:47 -0500 Subject: [PATCH 1/6] CI: Add build-macos job --- .github/workflows/build-and-test.yml | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index fc1cc75..5ced777 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -12,7 +12,31 @@ jobs: runs-on: ubuntu-latest steps: - name: Install packages - run: sudo apt-get install -y libreadline-dev libgc-dev llvm clang lld + run: | + sudo apt-get update + sudo apt-get install -y libreadline-dev libgc-dev llvm clang + + - uses: actions/checkout@v4 + + - name: Build and bootstrap + run: ./bootstrap.sh + + - name: Test + run: ./runtests.sh + + - name: Perf + run: ./runperf.sh + + - name: Mal tests + run: ./run-mal-tests.sh + + build-macos: + runs-on: macos-14 + steps: + - name: Install packages + run: | + brew update + brew install readline bdw-gc llvm - uses: actions/checkout@v4 From 0e10c6ea094cbd4e5ffdad51b1a9b8ce26e6bee7 Mon Sep 17 00:00:00 2001 From: Dov Murik Date: Wed, 6 Mar 2024 14:46:26 -0500 Subject: [PATCH 2/6] CI: Add homebrew llvm to PATH --- .github/workflows/build-and-test.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 5ced777..375855b 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/checkout@v4 - name: Build and bootstrap - run: ./bootstrap.sh + run: /opt/homebrew/opt/llvm/bin ./bootstrap.sh - name: Test run: ./runtests.sh @@ -37,6 +37,7 @@ jobs: run: | brew update brew install readline bdw-gc llvm + echo 'export PATH="/opt/homebrew/opt/llvm/bin:$PATH"' >> $HOME/.bash_profile - uses: actions/checkout@v4 From 8bdbac1cb1e71ce84f551cb5d278cad0ad4b0f1f Mon Sep 17 00:00:00 2001 From: Dov Murik Date: Wed, 6 Mar 2024 14:56:47 -0500 Subject: [PATCH 3/6] CI: try with GITHUB_PATH --- .github/workflows/build-and-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 375855b..87d1a0f 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -37,7 +37,7 @@ jobs: run: | brew update brew install readline bdw-gc llvm - echo 'export PATH="/opt/homebrew/opt/llvm/bin:$PATH"' >> $HOME/.bash_profile + echo "/opt/homebrew/opt/llvm/bin" >> $GITHUB_PATH - uses: actions/checkout@v4 From 2c85644ec44fcc169ee2d8beb07485b97a0593ed Mon Sep 17 00:00:00 2001 From: Dov Murik Date: Wed, 6 Mar 2024 15:17:41 -0500 Subject: [PATCH 4/6] CI: Add LDFLAGS for llvm and libgc --- .github/workflows/build-and-test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 87d1a0f..a6f7710 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -32,6 +32,9 @@ jobs: build-macos: runs-on: macos-14 + env: + LDFLAGS: "-L/opt/homebrew/opt/llvm/lib -L/opt/homebrew/Cellar/bdw-gc/8.2.6/lib" + steps: - name: Install packages run: | From 9b8c09f1c8da2a73af3a2378d443f59bcfac09b2 Mon Sep 17 00:00:00 2001 From: Dov Murik Date: Wed, 6 Mar 2024 20:28:10 -0500 Subject: [PATCH 5/6] CI: debug macos libgc --- .github/workflows/build-and-test.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index a6f7710..030338c 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/checkout@v4 - name: Build and bootstrap - run: /opt/homebrew/opt/llvm/bin ./bootstrap.sh + run: ./bootstrap.sh - name: Test run: ./runtests.sh @@ -42,6 +42,9 @@ jobs: brew install readline bdw-gc llvm echo "/opt/homebrew/opt/llvm/bin" >> $GITHUB_PATH + - name: Find libgc + run: find /opt/homebrew/Cellar/bdw-gc -ls + - uses: actions/checkout@v4 - name: Build and bootstrap From 360ef25fea009ee43d2595ef9bb457e3a962ee6f Mon Sep 17 00:00:00 2001 From: Dov Murik Date: Thu, 7 Mar 2024 12:14:17 -0500 Subject: [PATCH 6/6] malc: Pass LDFLAGS to the linker --- malc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/malc b/malc index de0e04f..b7bd7d7 100755 --- a/malc +++ b/malc @@ -92,7 +92,7 @@ llc -filetype=obj "${outfile}.opt.ll" -o "${outfile}.o" # Link log "Linking executable file: ${outfile}" -clang -no-pie -g "${outfile}.o" -lgc -lreadline -lstdc++ -o "${outfile}" +clang -no-pie -g ${LDFLAGS:-} "${outfile}.o" -lgc -lreadline -lstdc++ -o "${outfile}" # Cleanup log "Cleaning up"