build-llvm: Enable building LLDB

This commit is contained in:
Martin Storsjö committed 2019-12-28 13:59:42 +02:00
1 parent 0d08c6ab18
commit de510f07b5
2 files changed
+22 -5

No files matched your search

+10 -3
View File
@@ -89,12 +89,13 @@ if [ -n "$HOST" ]; then
CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_C_COMPILER=$HOST-gcc" CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_C_COMPILER=$HOST-gcc"
CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_CXX_COMPILER=$HOST-g++" CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_CXX_COMPILER=$HOST-g++"
CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_RC_COMPILER=$HOST-windres" CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_RC_COMPILER=$HOST-windres"
CMAKEFLAGS="$CMAKEFLAGS -DCROSS_TOOLCHAIN_FLAGS_NATIVE=" CMAKEFLAGS="$CMAKEFLAGS -DCROSS_TOOLCHAIN_FLAGS_NATIVE=-DLLDB_DISABLE_LIBEDIT=ON;-DLLDB_DISABLE_PYTHON=ON;-DLLDB_DISABLE_CURSES=ON"
native=$(find_native_tools) native=$(find_native_tools)
if [ -n "$native" ]; then if [ -n "$native" ]; then
CMAKEFLAGS="$CMAKEFLAGS -DLLVM_TABLEGEN=$native/llvm-tblgen" CMAKEFLAGS="$CMAKEFLAGS -DLLVM_TABLEGEN=$native/llvm-tblgen"
CMAKEFLAGS="$CMAKEFLAGS -DCLANG_TABLEGEN=$native/clang-tblgen" CMAKEFLAGS="$CMAKEFLAGS -DCLANG_TABLEGEN=$native/clang-tblgen"
CMAKEFLAGS="$CMAKEFLAGS -DLLDB_TABLEGEN=$native/lldb-tblgen"
CMAKEFLAGS="$CMAKEFLAGS -DLLVM_CONFIG_PATH=$native/llvm-config" CMAKEFLAGS="$CMAKEFLAGS -DLLVM_CONFIG_PATH=$native/llvm-config"
fi fi
CROSS_ROOT=$(cd $(dirname $(which $HOST-gcc))/../$HOST && pwd) CROSS_ROOT=$(cd $(dirname $(which $HOST-gcc))/../$HOST && pwd)
@@ -133,7 +134,7 @@ MINGW*)
# path names are included, in assert messages), allowing ccache to speed # path names are included, in assert messages), allowing ccache to speed
# up compilation. # up compilation.
cd tools cd tools
for p in clang lld; do for p in clang lld lldb; do
if [ ! -e $p ]; then if [ ! -e $p ]; then
ln -s ../../$p . ln -s ../../$p .
fi fi
@@ -144,16 +145,22 @@ esac
mkdir -p $BUILDDIR mkdir -p $BUILDDIR
cd $BUILDDIR cd $BUILDDIR
# Building LLDB for macOS fails unless building libc++ is enabled at the
# same time, or unless the LLDB tests are disabled.
cmake \ cmake \
${CMAKE_GENERATOR+-G} "$CMAKE_GENERATOR" \ ${CMAKE_GENERATOR+-G} "$CMAKE_GENERATOR" \
-DCMAKE_INSTALL_PREFIX="$PREFIX" \ -DCMAKE_INSTALL_PREFIX="$PREFIX" \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=$ASSERTS \ -DLLVM_ENABLE_ASSERTIONS=$ASSERTS \
${EXPLICIT_PROJECTS+-DLLVM_ENABLE_PROJECTS="clang;lld"} \ ${EXPLICIT_PROJECTS+-DLLVM_ENABLE_PROJECTS="clang;lld;lldb"} \
-DLLVM_TARGETS_TO_BUILD="ARM;AArch64;X86" \ -DLLVM_TARGETS_TO_BUILD="ARM;AArch64;X86" \
-DLLVM_INSTALL_TOOLCHAIN_ONLY=$TOOLCHAIN_ONLY \ -DLLVM_INSTALL_TOOLCHAIN_ONLY=$TOOLCHAIN_ONLY \
-DLLVM_TOOLCHAIN_TOOLS="llvm-ar;llvm-ranlib;llvm-objdump;llvm-rc;llvm-cvtres;llvm-nm;llvm-strings;llvm-readobj;llvm-dlltool;llvm-pdbutil;llvm-objcopy;llvm-strip;llvm-cov;llvm-profdata;llvm-addr2line;llvm-symbolizer" \ -DLLVM_TOOLCHAIN_TOOLS="llvm-ar;llvm-ranlib;llvm-objdump;llvm-rc;llvm-cvtres;llvm-nm;llvm-strings;llvm-readobj;llvm-dlltool;llvm-pdbutil;llvm-objcopy;llvm-strip;llvm-cov;llvm-profdata;llvm-addr2line;llvm-symbolizer" \
${HOST+-DLLVM_HOST_TRIPLE=$HOST} \ ${HOST+-DLLVM_HOST_TRIPLE=$HOST} \
-DLLDB_DISABLE_LIBEDIT=ON \
-DLLDB_DISABLE_PYTHON=ON \
-DLLDB_DISABLE_CURSES=ON \
-DLLDB_INCLUDE_TESTS=OFF \
$CMAKEFLAGS \ $CMAKEFLAGS \
.. ..
+12 -2
View File
@@ -38,7 +38,7 @@ MINGW*)
esac esac
cd bin cd bin
for i in bugpoint c-index-test clang-* diagtool dsymutil git-clang-format hmaptool ld64.lld llc lli llvm-* obj2yaml opt sancov sanstats scan-build scan-view verify-uselistorder wasm-ld yaml2obj libclang.dll LTO.dll *Remarks.dll *.bat; do for i in bugpoint c-index-test clang-* diagtool dsymutil git-clang-format hmaptool ld64.lld llc lldb-* lli llvm-* obj2yaml opt sancov sanstats scan-build scan-view verify-uselistorder wasm-ld yaml2obj libclang.dll LTO.dll *Remarks.dll *.bat; do
basename=$i basename=$i
if [ -n "$EXEEXT" ]; then if [ -n "$EXEEXT" ]; then
# Some in the list are expanded globs, some are plain names we list. # Some in the list are expanded globs, some are plain names we list.
@@ -74,6 +74,8 @@ for i in bugpoint c-index-test clang-* diagtool dsymutil git-clang-format hmapto
rm $i rm $i
fi fi
;; ;;
lldb|lldb-server)
;;
*) *)
if [ -f $i ]; then if [ -f $i ]; then
rm $i rm $i
@@ -106,5 +108,13 @@ cd include
rm -rf clang clang-c lld llvm llvm-c rm -rf clang clang-c lld llvm llvm-c
cd .. cd ..
cd lib cd lib
rm -rf lib*.a *.so* *.dylib* cmake for i in lib*.a *.so* *.dylib* cmake; do
case $i in
liblldb*)
;;
*)
rm -rf $i
;;
esac
done
cd .. cd ..