Skip to content

Commit

Permalink
Build with prebuilt and stock clang compilers.
Browse files Browse the repository at this point in the history
  • Loading branch information
afd committed Oct 11, 2022
1 parent 00f153e commit d2e7872
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 9 deletions.
9 changes: 8 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,20 @@ jobs:
os:
- windows-latest
- macOS-latest
- ubuntu-22.04
config:
- Release
include:
- os: ubuntu-22.04
config: Release
build_with_prebuilt_clang: 0
- os: ubuntu-22.04
config: Release
build_with_prebuilt_clang: 1
runs-on: ${{ matrix.os }}
env:
OS: ${{ matrix.os }}
CONFIG: ${{ matrix.config }}
BUILD_WITH_PREBUILT_CLANG: ${{ matrix.build_with_prebuilt_clang }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
steps:

Expand Down
30 changes: 22 additions & 8 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,16 @@ case "$(uname)" in
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
df -h

mkdir -p "${HOME}/clang+llvm"
pushd "${HOME}/clang+llvm"
# Install pre-built clang.
curl -fsSL -o clang+llvm.zip "https://github.com/mc-imperial/build-clang/releases/download/bootstrap-llvmorg-14.0.6/build-clang-llvmorg-14.0.6-${BUILD_PLATFORM}_Release.zip"
unzip clang+llvm.zip
popd
export PATH="${HOME}/clang+llvm/bin:$PATH"
if [ "${BUILD_WITH_PREBUILT_CLANG}" == 1 ]
then
mkdir -p "${HOME}/clang+llvm"
pushd "${HOME}/clang+llvm"
# Install pre-built clang.
curl -fsSL -o clang+llvm.zip "https://github.com/mc-imperial/build-clang/releases/download/bootstrap-llvmorg-14.0.6/build-clang-llvmorg-14.0.6-${BUILD_PLATFORM}_Release.zip"
unzip clang+llvm.zip
popd
export PATH="${HOME}/clang+llvm/bin:$PATH"
fi
export CC=clang
export CXX=clang++
which "${CC}"
Expand Down Expand Up @@ -96,7 +99,18 @@ BUILD_DIR="b_${CONFIG}"
mkdir "${BUILD_DIR}"

case "$(uname)" in
"Linux"|"Darwin")
"Linux")
if [ "${BUILD_WITH_PREBUILT_CLANG}" == 0 ]
then
INSTALL_DIR="${INSTALL_DIR}-stock-clang"
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" -S llvm -B "${BUILD_DIR}" -DLLVM_ENABLE_PROJECTS="clang"
else
INSTALL_DIR="${INSTALL_DIR}-prebuilt-clang"
cmake -G Ninja -C clang/cmake/caches/Fuchsia.cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" -S llvm -B "${BUILD_DIR}"
fi
;;

"Darwin")
cmake -G Ninja -C clang/cmake/caches/Fuchsia.cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" -S llvm -B "${BUILD_DIR}"
;;

Expand Down

0 comments on commit d2e7872

Please sign in to comment.