llvm: allow building host for other targets

This commit is contained in:
Lukas Rusak 2022-05-16 08:46:05 -07:00
parent 4ec7fb1638
commit 4035ee8c4a
No known key found for this signature in database
GPG Key ID: 8C310C807E7393A3

View File

@ -5,7 +5,6 @@
PKG_NAME="llvm"
PKG_VERSION="13.0.1"
PKG_SHA256="ec6b80d82c384acad2dc192903a6cf2cdbaffb889b84bfb98da9d71e630fc834"
PKG_ARCH="x86_64"
PKG_LICENSE="Apache-2.0"
PKG_SITE="http://llvm.org/"
PKG_URL="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PKG_VERSION}/llvm-${PKG_VERSION}.src.tar.xz"
@ -28,11 +27,10 @@ PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \
-DLLVM_ENABLE_SPHINX=OFF \
-DLLVM_ENABLE_OCAMLDOC=OFF \
-DLLVM_ENABLE_BINDINGS=OFF \
-DLLVM_TARGETS_TO_BUILD=AMDGPU \
-DLLVM_ENABLE_TERMINFO=OFF \
-DLLVM_ENABLE_ASSERTIONS=OFF \
-DLLVM_ENABLE_WERROR=OFF \
-DLLVM_ENABLE_ZLIB=ON \
-DLLVM_ENABLE_ZLIB=OFF \
-DLLVM_ENABLE_LIBXML2=OFF \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
@ -43,25 +41,39 @@ PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \
-DLLVM_ENABLE_Z3_SOLVER=OFF"
pre_configure_host() {
PKG_CMAKE_OPTS_HOST="${PKG_CMAKE_OPTS_COMMON}"
case "${TARGET_ARCH}" in
"arm")
LLVM_BUILD_TARGETS="X86\;ARM"
;;
"aarch64")
LLVM_BUILD_TARGETS="X86\;AArch64"
;;
"x86_64")
LLVM_BUILD_TARGETS="X86\;AMDGPU"
;;
esac
PKG_CMAKE_OPTS_HOST="${PKG_CMAKE_OPTS_COMMON} \
-DLLVM_TARGETS_TO_BUILD=${LLVM_BUILD_TARGETS}"
}
post_make_host() {
ninja ${NINJA_OPTS} llvm-config llvm-tblgen
}
post_makeinstall_host() {
mkdir -p ${TOOLCHAIN}/bin
cp -a bin/llvm-config ${TOOLCHAIN}/bin
cp -a bin/llvm-tblgen ${TOOLCHAIN}/bin
}
pre_configure_target() {
PKG_CMAKE_OPTS_TARGET="${PKG_CMAKE_OPTS_COMMON} \
-DLLVM_TARGETS_TO_BUILD=AMDGPU \
-DLLVM_TARGET_ARCH="${TARGET_ARCH}" \
-DLLVM_TABLEGEN=${TOOLCHAIN}/bin/llvm-tblgen"
}
make_host() {
ninja ${NINJA_OPTS} llvm-config llvm-tblgen
}
makeinstall_host() {
cp -a lib/libLLVM-*.so ${TOOLCHAIN}/lib
cp -a bin/llvm-config ${TOOLCHAIN}/bin/llvm-config
cp -a bin/llvm-tblgen ${TOOLCHAIN}/bin
}
post_makeinstall_target() {
mkdir -p ${SYSROOT_PREFIX}/usr/bin
cp -a ${TOOLCHAIN}/bin/llvm-config ${SYSROOT_PREFIX}/usr/bin