37 lines
872 B
Bash
Executable File
37 lines
872 B
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
source_dir=$2
|
|
|
|
src=$source_dir/llvm-project-${Y_PORT_VERSION}.src
|
|
build_dir=${Y_WORKSPACE_ROOT}/userspace/target/ports/meta-llvm
|
|
|
|
mkdir -p $build_dir
|
|
cd $build_dir
|
|
|
|
# Configure
|
|
if command -v ccache >/dev/null; then
|
|
EXTRA_OPTS="-DLLVM_CCACHE_BUILD=true"
|
|
fi
|
|
|
|
if [ ! -f build.ninja ]; then
|
|
cmake \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_C_COMPILER=/usr/bin/clang \
|
|
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ \
|
|
-DBUILD_SHARED_LIBS=false \
|
|
-DLLVM_ENABLE_PROJECTS="clang;lld;compiler-rt" \
|
|
-DLLVM_INCLUDE_BENCHMARKS=false \
|
|
-DLLVM_INCLUDE_TESTS=false \
|
|
-DLLVM_USE_LINKER=lld \
|
|
-DLLVM_BUILD_TOOLS=true \
|
|
-DLLVM_TARGETS_TO_BUILD="X86;AArch64;RISCV" \
|
|
-DCMAKE_INSTALL_PREFIX=$Y_HOST_PREFIX \
|
|
$EXTRA_OPTS \
|
|
-GNinja \
|
|
$src/llvm
|
|
fi
|
|
|
|
cmake --build . -j
|