34 lines
1.0 KiB
Bash
Executable File
34 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
# Build the pinned LLVM 23.1.5 fork from a clean clone and the committed
|
|
# patch series. Intended for CI and for verifying that patches/llvm is the
|
|
# complete fork delta.
|
|
set -eu
|
|
ROOT=$(cd "$(dirname "$0")/.." && pwd)
|
|
cd "$ROOT"
|
|
mkdir -p build
|
|
SRC=${LLVM_SRC:-build/llvm-clean}
|
|
BUILD=${LLVM_BUILD:-build/llvm-clean-build}
|
|
TAG=llvmorg-23.1.5
|
|
|
|
if [ ! -d "$SRC/.git" ]; then
|
|
git clone --depth 1 --branch "$TAG" \
|
|
https://github.com/llvm/llvm-project.git "$SRC"
|
|
fi
|
|
git -C "$SRC" checkout --detach "$TAG"
|
|
git -C "$SRC" reset --hard
|
|
git -C "$SRC" clean -fdx
|
|
|
|
PATCHROOT=$(pwd)/patches/llvm
|
|
for p in "$PATCHROOT"/*.patch; do
|
|
[ -e "$p" ] || continue
|
|
git -C "$SRC" apply "$p"
|
|
done
|
|
|
|
cmake -S "$SRC/llvm" -B "$BUILD" -G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON \
|
|
-DLLVM_ENABLE_PROJECTS=clang \
|
|
-DLLVM_TARGETS_TO_BUILD="X86;TMS34010" \
|
|
-DLLVM_INCLUDE_TESTS=ON -DLLVM_INCLUDE_EXAMPLES=OFF \
|
|
-DLLVM_INCLUDE_BENCHMARKS=OFF
|
|
ninja -C "$BUILD" clang opt llvm-config FileCheck count not
|