Generate self-hosted with installed compiler #56

Closed
davidgmbb wants to merge 1 commits from generate-self-hosted-with-installed into main
4 changed files with 70 additions and 6 deletions

View File

@ -17,7 +17,7 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ ubuntu-latest ] os: [ ubuntu-latest ]
BIRTH_CMAKE_BUILD_TYPE: [ Debug, Release-assertions, Release ] BIRTH_CMAKE_BUILD_TYPES: [ Debug, Release-assertions, Release ]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -25,7 +25,7 @@ jobs:
shell: bash shell: bash
env: env:
BB_CI: 1 BB_CI: 1
CMAKE_BUILD_TYPE: ${{matrix.BIRTH_CMAKE_BUILD_TYPE}} CMAKE_BUILD_TYPE: ${{matrix.BIRTH_CMAKE_BUILD_TYPES}}
CLANG_PATH: clang-19 CLANG_PATH: clang-19
CLANGXX_PATH: clang++-19 CLANGXX_PATH: clang++-19
run: | run: |

View File

@ -12,7 +12,7 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ ubuntu-latest ] os: [ ubuntu-latest ]
BIRTH_CMAKE_BUILD_TYPE: [ Release-assertions, Release ] BIRTH_CMAKE_BUILD_TYPES: [ Release-assertions, Release ]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -20,11 +20,10 @@ jobs:
shell: bash shell: bash
env: env:
BB_CI: 1 BB_CI: 1
CMAKE_BUILD_TYPE: ${{matrix.BIRTH_CMAKE_BUILD_TYPE}} CMAKE_BUILD_TYPE: ${{matrix.BIRTH_CMAKE_BUILD_TYPES}}
CLANG_PATH: clang-19 CLANG_PATH: clang-19
CLANGXX_PATH: clang++-19 CLANGXX_PATH: clang++-19
run: | run: |
set -eux set -eux
./generate.sh ./generate.sh
./build.sh ci/reproduce.sh
./build/bb test

11
self_hosted_build.sh Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -eu
if [[ -z "${BOOTSTRAP_COMPILER:-}" ]]; then
BOOTSTRAP_COMPILER=$HOME/bloat-buster-artifacts/releases/main/compiler_generic
fi
if [[ -z "${CMAKE_PREFIX_PATH:-}" ]]; then
CMAKE_PREFIX_PATH=$HOME/dev/llvm/install/llvm_20.1.7_x86_64-linux-Release
fi
$BOOTSTRAP_COMPILER compile src/compiler.bbb

54
self_hosted_generate.sh Executable file
View File

@ -0,0 +1,54 @@
#!/usr/bin/env bash
set -eux
if [[ -z "${LLVM_VERSION:-}" ]]; then
LLVM_VERSION=20.1.7
fi
if [[ -z "${BB_CI:-}" ]]; then
BB_CI=0
fi
if [[ -z "${CMAKE_BUILD_TYPE:-}" ]]; then
CMAKE_BUILD_TYPE=Debug
LLVM_CMAKE_BUILD_TYPE=Release
else
LLVM_CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE
fi
BIRTH_NATIVE_OS_STRING=$OSTYPE
case "$BIRTH_NATIVE_OS_STRING" in
darwin*) BIRTH_OS="macos";;
linux*) BIRTH_OS="linux";;
msys*) BIRTH_OS="windows";;
*) exit 1
esac
BIRTH_NATIVE_ARCH_STRING="$(uname -m)"
case "$BIRTH_NATIVE_ARCH_STRING" in
x86_64) BIRTH_ARCH="x86_64";;
arm64) BIRTH_ARCH="aarch64";;
*) exit 1
esac
if [[ -z "${CMAKE_PREFIX_PATH:-}" ]]; then
CMAKE_PREFIX_PATH=$HOME/dev/llvm/install/llvm_${LLVM_VERSION}_${BIRTH_ARCH}-${BIRTH_OS}-${LLVM_CMAKE_BUILD_TYPE}
fi
if [[ -z "${CLANG_PATH:-}" ]]; then
CLANG_PATH=clang
CLANGXX_PATH=clang++
fi
OPT_ARGS=""
case "${CMAKE_BUILD_TYPE%%-*}" in
Debug) OPT_ARGS="-O0 -g";;
Release*) OPT_ARGS="-O3";;
*) exit 1;;
esac
mkdir -p self-hosted-bb-cache
$CLANG_PATH -c tests/c_abi.c -o self-hosted-bb-cache/c_abi.o $OPT_ARGS -std=gnu2x