mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-31 22:47:51 +00:00
Merge pull request #4063 from dhewg/pull/llvm
llvm: fix cross compilation issues
This commit is contained in:
commit
7c551cbc12
@ -416,7 +416,7 @@ cpp = '$CXX'
|
|||||||
ar = '$AR'
|
ar = '$AR'
|
||||||
strip = '$STRIP'
|
strip = '$STRIP'
|
||||||
pkgconfig = '$PKG_CONFIG'
|
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'
|
libgcrypt-config = '$SYSROOT_PREFIX/usr/bin/libgcrypt-config'
|
||||||
|
|
||||||
[host_machine]
|
[host_machine]
|
||||||
@ -446,7 +446,7 @@ cpp = '$TARGET_CXX'
|
|||||||
ar = '$TARGET_AR'
|
ar = '$TARGET_AR'
|
||||||
strip = '$TARGET_STRIP'
|
strip = '$TARGET_STRIP'
|
||||||
pkgconfig = '$PKG_CONFIG'
|
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'
|
libgcrypt-config = '$SYSROOT_PREFIX/usr/bin/libgcrypt-config'
|
||||||
|
|
||||||
[host_machine]
|
[host_machine]
|
||||||
|
@ -53,7 +53,6 @@ fi
|
|||||||
|
|
||||||
if [ "${LLVM_SUPPORT}" = "yes" ]; then
|
if [ "${LLVM_SUPPORT}" = "yes" ]; then
|
||||||
PKG_DEPENDS_TARGET+=" elfutils llvm"
|
PKG_DEPENDS_TARGET+=" elfutils llvm"
|
||||||
export LLVM_CONFIG="${SYSROOT_PREFIX}/usr/bin/llvm-config-host"
|
|
||||||
PKG_MESON_OPTS_TARGET+=" -Dllvm=true"
|
PKG_MESON_OPTS_TARGET+=" -Dllvm=true"
|
||||||
else
|
else
|
||||||
PKG_MESON_OPTS_TARGET+=" -Dllvm=false"
|
PKG_MESON_OPTS_TARGET+=" -Dllvm=false"
|
||||||
|
@ -13,7 +13,8 @@ PKG_DEPENDS_HOST="toolchain:host"
|
|||||||
PKG_DEPENDS_TARGET="toolchain llvm:host zlib"
|
PKG_DEPENDS_TARGET="toolchain llvm:host zlib"
|
||||||
PKG_LONGDESC="Low-Level Virtual Machine (LLVM) is a compiler infrastructure."
|
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_TOOLS=OFF \
|
||||||
-DLLVM_BUILD_UTILS=OFF \
|
-DLLVM_BUILD_UTILS=OFF \
|
||||||
-DLLVM_BUILD_EXAMPLES=OFF \
|
-DLLVM_BUILD_EXAMPLES=OFF \
|
||||||
@ -21,10 +22,13 @@ PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \
|
|||||||
-DLLVM_BUILD_TESTS=OFF \
|
-DLLVM_BUILD_TESTS=OFF \
|
||||||
-DLLVM_INCLUDE_TESTS=OFF \
|
-DLLVM_INCLUDE_TESTS=OFF \
|
||||||
-DLLVM_INCLUDE_GO_TESTS=OFF \
|
-DLLVM_INCLUDE_GO_TESTS=OFF \
|
||||||
|
-DLLVM_BUILD_BENCHMARKS=OFF \
|
||||||
-DLLVM_BUILD_DOCS=OFF \
|
-DLLVM_BUILD_DOCS=OFF \
|
||||||
-DLLVM_INCLUDE_DOCS=OFF \
|
-DLLVM_INCLUDE_DOCS=OFF \
|
||||||
-DLLVM_ENABLE_DOXYGEN=OFF \
|
-DLLVM_ENABLE_DOXYGEN=OFF \
|
||||||
-DLLVM_ENABLE_SPHINX=OFF \
|
-DLLVM_ENABLE_SPHINX=OFF \
|
||||||
|
-DLLVM_ENABLE_OCAMLDOC=OFF \
|
||||||
|
-DLLVM_ENABLE_BINDINGS=OFF \
|
||||||
-DLLVM_TARGETS_TO_BUILD="AMDGPU" \
|
-DLLVM_TARGETS_TO_BUILD="AMDGPU" \
|
||||||
-DLLVM_ENABLE_TERMINFO=OFF \
|
-DLLVM_ENABLE_TERMINFO=OFF \
|
||||||
-DLLVM_ENABLE_ASSERTIONS=OFF \
|
-DLLVM_ENABLE_ASSERTIONS=OFF \
|
||||||
@ -35,14 +39,16 @@ PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \
|
|||||||
-DLLVM_OPTIMIZED_TABLEGEN=ON \
|
-DLLVM_OPTIMIZED_TABLEGEN=ON \
|
||||||
-DLLVM_APPEND_VC_REV=OFF \
|
-DLLVM_APPEND_VC_REV=OFF \
|
||||||
-DLLVM_ENABLE_RTTI=ON \
|
-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 \
|
pre_configure_host() {
|
||||||
-DCMAKE_INSTALL_RPATH=$TOOLCHAIN/lib"
|
CXXFLAGS+=" -DLLVM_CONFIG_EXEC_PREFIX=\\\"$SYSROOT_PREFIX/usr\\\""
|
||||||
|
PKG_CMAKE_OPTS_HOST="$PKG_CMAKE_OPTS_COMMON"
|
||||||
|
}
|
||||||
|
|
||||||
pre_configure_target() {
|
pre_configure_target() {
|
||||||
PKG_CMAKE_OPTS_TARGET="$PKG_CMAKE_OPTS_COMMON \
|
PKG_CMAKE_OPTS_TARGET="$PKG_CMAKE_OPTS_COMMON \
|
||||||
-DCMAKE_BUILD_TYPE=MinSizeRel \
|
|
||||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
||||||
-DLLVM_TARGET_ARCH="$TARGET_ARCH" \
|
-DLLVM_TARGET_ARCH="$TARGET_ARCH" \
|
||||||
@ -54,7 +60,8 @@ make_host() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
makeinstall_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
|
cp -a bin/llvm-tblgen $TOOLCHAIN/bin
|
||||||
}
|
}
|
||||||
|
|
||||||
|
13
packages/lang/llvm/patches/llvm-config.patch
Normal file
13
packages/lang/llvm/patches/llvm-config.patch
Normal 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)) {
|
47
packages/lang/llvm/patches/no-z3.patch
Normal file
47
packages/lang/llvm/patches/no-z3.patch
Normal 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)
|
Loading…
x
Reference in New Issue
Block a user