lldb: update from 9.0.1 to 10.0.0
This commit is contained in:
parent
fe6b72da02
commit
5be5f78362
@ -1,16 +0,0 @@
|
|||||||
--- cmake/modules/LLDBStandalone.cmake.orig 2019-10-28 03:16:27.880770642 +0000
|
|
||||||
+++ ./cmake/modules/LLDBStandalone.cmake 2019-10-28 03:16:53.936718250 +0000
|
|
||||||
@@ -32,12 +32,7 @@
|
|
||||||
set(LLVM_DEFAULT_EXTERNAL_LIT ${lit_full_path} CACHE PATH "Path to llvm-lit")
|
|
||||||
|
|
||||||
if(CMAKE_CROSSCOMPILING)
|
|
||||||
- set(LLVM_NATIVE_BUILD "${LLVM_BINARY_DIR}/NATIVE")
|
|
||||||
- if (NOT EXISTS "${LLVM_NATIVE_BUILD}")
|
|
||||||
- message(FATAL_ERROR
|
|
||||||
- "Attempting to cross-compile LLDB standalone but no native LLVM build
|
|
||||||
- found. Please cross-compile LLVM as well.")
|
|
||||||
- endif()
|
|
||||||
+ set(LLVM_NATIVE_BUILD "${LLVM_BINARY_DIR}/")
|
|
||||||
|
|
||||||
if (CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
|
|
||||||
set(HOST_EXECUTABLE_SUFFIX ".exe")
|
|
@ -1,39 +1,59 @@
|
|||||||
TERMUX_PKG_HOMEPAGE=https://lldb.llvm.org
|
TERMUX_PKG_HOMEPAGE=https://lldb.llvm.org
|
||||||
TERMUX_PKG_DESCRIPTION="LLVM based debugger"
|
TERMUX_PKG_DESCRIPTION="LLVM based debugger"
|
||||||
TERMUX_PKG_LICENSE="NCSA"
|
TERMUX_PKG_LICENSE="NCSA"
|
||||||
TERMUX_PKG_VERSION=9.0.1
|
TERMUX_PKG_VERSION=10.0.0
|
||||||
TERMUX_PKG_SRCURL=https://github.com/llvm/llvm-project/releases/download/llvmorg-$TERMUX_PKG_VERSION/lldb-$TERMUX_PKG_VERSION.src.tar.xz
|
TERMUX_PKG_SRCURL=(https://github.com/llvm/llvm-project/releases/download/llvmorg-$TERMUX_PKG_VERSION/lldb-$TERMUX_PKG_VERSION.src.tar.xz
|
||||||
TERMUX_PKG_SHA256=8a7b9fd795c31a3e3cba6ce1377a2ae5c67376d92888702ce27e26f0971beb09
|
https://github.com/llvm/llvm-project/releases/download/llvmorg-$TERMUX_PKG_VERSION/llvm-$TERMUX_PKG_VERSION.src.tar.xz)
|
||||||
|
TERMUX_PKG_SHA256=(dd1ffcb42ed033f5167089ec4c6ebe84fbca1db4a9eaebf5c614af09d89eb135
|
||||||
|
df83a44b3a9a71029049ec101fb0077ecbbdf5fe41e395215025779099a98fdf)
|
||||||
TERMUX_PKG_DEPENDS="libc++, libedit, libllvm, libxml2, ncurses-ui-libs"
|
TERMUX_PKG_DEPENDS="libc++, libedit, libllvm, libxml2, ncurses-ui-libs"
|
||||||
TERMUX_PKG_BUILD_DEPENDS="libllvm-static"
|
TERMUX_PKG_BUILD_DEPENDS="libllvm-static"
|
||||||
TERMUX_PKG_BREAKS="lldb-dev, lldb-static"
|
TERMUX_PKG_BREAKS="lldb-dev, lldb-static"
|
||||||
TERMUX_PKG_REPLACES="lldb-dev, lldb-static"
|
TERMUX_PKG_REPLACES="lldb-dev, lldb-static"
|
||||||
|
TERMUX_PKG_HOSTBUILD=true
|
||||||
TERMUX_PKG_HAS_DEBUG=false
|
TERMUX_PKG_HAS_DEBUG=false
|
||||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||||
-DLLDB_DISABLE_CURSES=0
|
-DLLDB_TABLEGEN=$TERMUX_PKG_HOSTBUILD_DIR/bin/lldb-tblgen
|
||||||
-DLLDB_DISABLE_LIBEDIT=0
|
-DLLVM_ENABLE_SPHINX=ON
|
||||||
-DLLDB_DISABLE_PYTHON=1
|
|
||||||
-DLLVM_CONFIG=$TERMUX_PREFIX/bin/llvm-config
|
|
||||||
-DLLVM_ENABLE_TERMINFO=1
|
-DLLVM_ENABLE_TERMINFO=1
|
||||||
-DLLVM_LINK_LLVM_DYLIB=ON
|
-DLLVM_LINK_LLVM_DYLIB=ON
|
||||||
-DLLVM_DIR=$TERMUX_PREFIX/lib/cmake/llvm
|
-DLLVM_DIR=$TERMUX_PREFIX/lib/cmake/llvm
|
||||||
-DClang_DIR=$TERMUX_PREFIX/lib/cmake/clang
|
-DLLVM_TABLEGEN=$TERMUX_PKG_HOSTBUILD_DIR/llvm/bin/llvm-tblgen
|
||||||
-DLLVM_NATIVE_BUILD=$TERMUX_PREFIX/bin
|
|
||||||
"
|
"
|
||||||
|
|
||||||
|
termux_step_host_build() {
|
||||||
|
termux_setup_cmake
|
||||||
|
termux_setup_ninja
|
||||||
|
|
||||||
|
mkdir llvm
|
||||||
|
cd llvm
|
||||||
|
|
||||||
|
cmake -G Ninja $TERMUX_PKG_SRCDIR/llvm-${TERMUX_PKG_VERSION}.src
|
||||||
|
ninja -j $TERMUX_MAKE_PROCESSES llvm-tblgen
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
cmake -G Ninja $TERMUX_PKG_SRCDIR -DLLDB_INCLUDE_TESTS=OFF \
|
||||||
|
-DLLVM_DIR=$TERMUX_PKG_HOSTBUILD_DIR/llvm/lib/cmake/llvm
|
||||||
|
ninja -j $TERMUX_MAKE_PROCESSES lldb-tblgen
|
||||||
|
}
|
||||||
|
|
||||||
termux_step_pre_configure() {
|
termux_step_pre_configure() {
|
||||||
cd $TERMUX_PKG_TMPDIR
|
# This will be there if libllvm was built from scratch, but not if the pre-built
|
||||||
termux_download https://its-pointless.github.io/tblgen-llvm-lldb-9.0.1.tar.xz tblgen-llvm-lldb-9.0.1.tar.xz \
|
# package was extracted. Not really needed but the stupid clang CMake config makes
|
||||||
9cfd0aa3d9988e66838d4390ea9b2f701d1d8c87c44e226e10b8afd42c004622
|
# sure it's there.
|
||||||
tar xvf tblgen-llvm-lldb-9.0.1.tar.xz
|
if [ ! -f "$TERMUX_PREFIX/bin/clang-import-test" ]; then
|
||||||
mv llvm-tblgen $TERMUX_PREFIX/bin
|
touch $TERMUX_PREFIX/bin/clang-import-test
|
||||||
PATH=$PATH:$TERMUX_PKG_TMPDIR
|
touch $TERMUX_PKG_BUILDDIR/rm-fake-ci-test
|
||||||
if [ $TERMUX_ARCH = "x86_64" ]; then
|
|
||||||
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu/
|
|
||||||
fi
|
fi
|
||||||
touch $TERMUX_PREFIX/bin/clang-import-test
|
}
|
||||||
|
|
||||||
|
termux_step_make() {
|
||||||
|
ninja -w dupbuild=warn -j $TERMUX_MAKE_PROCESSES all docs-lldb-man
|
||||||
}
|
}
|
||||||
|
|
||||||
termux_step_post_make_install() {
|
termux_step_post_make_install() {
|
||||||
cp $TERMUX_PKG_SRCDIR/docs/lldb.1 $TERMUX_PREFIX/share/man/man1
|
cp $TERMUX_PKG_BUILDDIR/docs/man/lldb.1 $TERMUX_PREFIX/share/man/man1
|
||||||
rm -f $TERMUX_PREFIX/bin/llvm-tblgen $TERMUX_PREFIX/bin/clang-import-test
|
if [ -f "$TERMUX_PKG_BUILDDIR/rm-fake-ci-test" ]; then
|
||||||
|
rm $TERMUX_PREFIX/bin/clang-import-test
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
52
packages/lldb/lldb-tblgen-native.patch.beforehostbuild
Normal file
52
packages/lldb/lldb-tblgen-native.patch.beforehostbuild
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 26cefbf3758b..78cd146aee7e 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -103,7 +103,9 @@ endif()
|
||||||
|
# TableGen
|
||||||
|
add_subdirectory(utils/TableGen)
|
||||||
|
|
||||||
|
+if(CMAKE_CROSSCOMPILING)
|
||||||
|
add_subdirectory(source)
|
||||||
|
+endif()
|
||||||
|
add_subdirectory(tools)
|
||||||
|
add_subdirectory(docs)
|
||||||
|
|
||||||
|
diff --git a/cmake/modules/LLDBStandalone.cmake b/cmake/modules/LLDBStandalone.cmake
|
||||||
|
index 1079a1636fa7..1049303b1242 100644
|
||||||
|
--- a/cmake/modules/LLDBStandalone.cmake
|
||||||
|
+++ b/cmake/modules/LLDBStandalone.cmake
|
||||||
|
@@ -1,7 +1,9 @@
|
||||||
|
option(LLVM_INSTALL_TOOLCHAIN_ONLY "Only include toolchain files in the 'install' target." OFF)
|
||||||
|
|
||||||
|
find_package(LLVM REQUIRED CONFIG HINTS ${LLVM_DIR} NO_CMAKE_FIND_ROOT_PATH)
|
||||||
|
-find_package(Clang REQUIRED CONFIG HINTS ${Clang_DIR} ${LLVM_DIR}/../clang NO_CMAKE_FIND_ROOT_PATH)
|
||||||
|
+if(CMAKE_CROSSCOMPILING)
|
||||||
|
+ find_package(Clang REQUIRED CONFIG HINTS ${Clang_DIR} ${LLVM_DIR}/../clang NO_CMAKE_FIND_ROOT_PATH)
|
||||||
|
+endif()
|
||||||
|
|
||||||
|
# We set LLVM_CMAKE_PATH so that GetSVN.cmake is found correctly when building SVNVersion.inc
|
||||||
|
set(LLVM_CMAKE_PATH ${LLVM_CMAKE_DIR} CACHE PATH "Path to LLVM CMake modules")
|
||||||
|
@@ -87,14 +90,22 @@
|
||||||
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+if(CMAKE_CROSSCOMPILING)
|
||||||
|
set_target_properties(clang-tablegen-targets PROPERTIES FOLDER "lldb misc")
|
||||||
|
+endif()
|
||||||
|
set_target_properties(intrinsics_gen PROPERTIES FOLDER "lldb misc")
|
||||||
|
|
||||||
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
|
+if(CMAKE_CROSSCOMPILING)
|
||||||
|
include_directories(
|
||||||
|
"${CMAKE_BINARY_DIR}/include"
|
||||||
|
"${LLVM_INCLUDE_DIRS}"
|
||||||
|
"${CLANG_INCLUDE_DIRS}")
|
||||||
|
+else()
|
||||||
|
+include_directories(
|
||||||
|
+ "${CMAKE_BINARY_DIR}/include"
|
||||||
|
+ "${LLVM_INCLUDE_DIRS}")
|
||||||
|
+endif()
|
||||||
|
|
||||||
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||||
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX})
|
Loading…
Reference in New Issue
Block a user