Merge pull request #4063 from dhewg/pull/llvm

llvm: fix cross compilation issues
This commit is contained in:
MilhouseVH 2019-12-28 18:17:29 +00:00 committed by GitHub
commit 7c551cbc12
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 75 additions and 9 deletions

View File

@ -416,7 +416,7 @@ cpp = '$CXX'
ar = '$AR'
strip = '$STRIP'
pkgconfig = '$PKG_CONFIG'
llvm-config = '$SYSROOT_PREFIX/usr/bin/llvm-config-host'
llvm-config = '$TOOLCHAIN/bin/llvm-config-host'
libgcrypt-config = '$SYSROOT_PREFIX/usr/bin/libgcrypt-config'
[host_machine]
@ -446,7 +446,7 @@ cpp = '$TARGET_CXX'
ar = '$TARGET_AR'
strip = '$TARGET_STRIP'
pkgconfig = '$PKG_CONFIG'
llvm-config = '$SYSROOT_PREFIX/usr/bin/llvm-config-host'
llvm-config = '$TOOLCHAIN/bin/llvm-config-host'
libgcrypt-config = '$SYSROOT_PREFIX/usr/bin/libgcrypt-config'
[host_machine]

View File

@ -53,7 +53,6 @@ fi
if [ "${LLVM_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" elfutils llvm"
export LLVM_CONFIG="${SYSROOT_PREFIX}/usr/bin/llvm-config-host"
PKG_MESON_OPTS_TARGET+=" -Dllvm=true"
else
PKG_MESON_OPTS_TARGET+=" -Dllvm=false"

View File

@ -13,7 +13,8 @@ PKG_DEPENDS_HOST="toolchain:host"
PKG_DEPENDS_TARGET="toolchain llvm:host zlib"
PKG_LONGDESC="Low-Level Virtual Machine (LLVM) is a compiler infrastructure."
PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \
PKG_CMAKE_OPTS_COMMON="-DCMAKE_BUILD_TYPE=MinSizeRel \
-DLLVM_INCLUDE_TOOLS=ON \
-DLLVM_BUILD_TOOLS=OFF \
-DLLVM_BUILD_UTILS=OFF \
-DLLVM_BUILD_EXAMPLES=OFF \
@ -21,10 +22,13 @@ PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \
-DLLVM_BUILD_TESTS=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_GO_TESTS=OFF \
-DLLVM_BUILD_BENCHMARKS=OFF \
-DLLVM_BUILD_DOCS=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DLLVM_ENABLE_DOXYGEN=OFF \
-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 \
@ -35,14 +39,16 @@ PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \
-DLLVM_OPTIMIZED_TABLEGEN=ON \
-DLLVM_APPEND_VC_REV=OFF \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_UNWIND_TABLES=OFF"
-DLLVM_ENABLE_UNWIND_TABLES=OFF \
-DLLVM_ENABLE_Z3_SOLVER=OFF"
PKG_CMAKE_OPTS_HOST="$PKG_CMAKE_OPTS_COMMON \
-DCMAKE_INSTALL_RPATH=$TOOLCHAIN/lib"
pre_configure_host() {
CXXFLAGS+=" -DLLVM_CONFIG_EXEC_PREFIX=\\\"$SYSROOT_PREFIX/usr\\\""
PKG_CMAKE_OPTS_HOST="$PKG_CMAKE_OPTS_COMMON"
}
pre_configure_target() {
PKG_CMAKE_OPTS_TARGET="$PKG_CMAKE_OPTS_COMMON \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_C_FLAGS="$CFLAGS" \
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
-DLLVM_TARGET_ARCH="$TARGET_ARCH" \
@ -54,7 +60,8 @@ make_host() {
}
makeinstall_host() {
cp -a bin/llvm-config $SYSROOT_PREFIX/usr/bin/llvm-config-host
cp -a lib/libLLVM-*.so $TOOLCHAIN/lib
cp -a bin/llvm-config $TOOLCHAIN/bin/llvm-config-host
cp -a bin/llvm-tblgen $TOOLCHAIN/bin
}

View File

@ -0,0 +1,13 @@
--- a/tools/llvm-config/llvm-config.cpp 2019-12-15 20:54:21.898634608 +0100
+++ b/tools/llvm-config/llvm-config.cpp 2019-12-15 20:56:12.280223943 +0100
@@ -285,6 +285,10 @@
CurrentExecPrefix =
sys::path::parent_path(sys::path::parent_path(CurrentPath)).str();
+#ifdef LLVM_CONFIG_EXEC_PREFIX
+ CurrentExecPrefix = LLVM_CONFIG_EXEC_PREFIX;
+#endif
+
// Check to see if we are inside a development tree by comparing to possible
// locations (prefix style or CMake style).
if (sys::fs::equivalent(CurrentExecPrefix, LLVM_OBJ_ROOT)) {

View File

@ -0,0 +1,47 @@
Description:
Disable z3 to avoid pulling ocaml into main.
For some reason the cmake option LLVM_ENABLE_Z3_SOLVER was not taken into account
Author: Gianfranco Costamagna <locutusofborg@debian.org>
Last-Update: 2019-11-26
Index: llvm-toolchain-9-9.0.0/CMakeLists.txt
===================================================================
--- llvm-toolchain-9-9.0.0.orig/CMakeLists.txt
+++ llvm-toolchain-9-9.0.0/CMakeLists.txt
@@ -340,24 +340,22 @@
set(LLVM_Z3_INSTALL_DIR "" CACHE STRING "Install directory of the Z3 solver.")
-find_package(Z3 4.7.1)
-
-if (LLVM_Z3_INSTALL_DIR)
- if (NOT Z3_FOUND)
- message(FATAL_ERROR "Z3 >= 4.7.1 has not been found in LLVM_Z3_INSTALL_DIR: ${LLVM_Z3_INSTALL_DIR}.")
- endif()
-endif()
-
-set(LLVM_ENABLE_Z3_SOLVER_DEFAULT "${Z3_FOUND}")
-
option(LLVM_ENABLE_Z3_SOLVER
"Enable Support for the Z3 constraint solver in LLVM."
- ${LLVM_ENABLE_Z3_SOLVER_DEFAULT}
+ OFF
)
if (LLVM_ENABLE_Z3_SOLVER)
- if (NOT Z3_FOUND)
- message(FATAL_ERROR "LLVM_ENABLE_Z3_SOLVER cannot be enabled when Z3 is not available.")
+ find_package(Z3 4.7.1)
+
+ if (LLVM_Z3_INSTALL_DIR)
+ if (NOT Z3_FOUND)
+ message(FATAL_ERROR "Z3 >= 4.7.1 has not been found in LLVM_Z3_INSTALL_DIR: ${LLVM_Z3_INSTALL_DIR}.")
+ endif()
+ else()
+ if (NOT Z3_FOUND)
+ message(FATAL_ERROR "LLVM_ENABLE_Z3_SOLVER cannot be enabled when Z3 is not available.")
+ endif()
endif()
set(LLVM_WITH_Z3 1)