Skip to content

Commit de510f0

Browse files
committed
build-llvm: Enable building LLDB
1 parent 0d08c6a commit de510f0

File tree

2 files changed

+22
-5
lines changed

2 files changed

+22
-5
lines changed

build-llvm.sh

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,13 @@ if [ -n "$HOST" ]; then
8989
CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_C_COMPILER=$HOST-gcc"
9090
CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_CXX_COMPILER=$HOST-g++"
9191
CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_RC_COMPILER=$HOST-windres"
92-
CMAKEFLAGS="$CMAKEFLAGS -DCROSS_TOOLCHAIN_FLAGS_NATIVE="
92+
CMAKEFLAGS="$CMAKEFLAGS -DCROSS_TOOLCHAIN_FLAGS_NATIVE=-DLLDB_DISABLE_LIBEDIT=ON;-DLLDB_DISABLE_PYTHON=ON;-DLLDB_DISABLE_CURSES=ON"
9393

9494
native=$(find_native_tools)
9595
if [ -n "$native" ]; then
9696
CMAKEFLAGS="$CMAKEFLAGS -DLLVM_TABLEGEN=$native/llvm-tblgen"
9797
CMAKEFLAGS="$CMAKEFLAGS -DCLANG_TABLEGEN=$native/clang-tblgen"
98+
CMAKEFLAGS="$CMAKEFLAGS -DLLDB_TABLEGEN=$native/lldb-tblgen"
9899
CMAKEFLAGS="$CMAKEFLAGS -DLLVM_CONFIG_PATH=$native/llvm-config"
99100
fi
100101
CROSS_ROOT=$(cd $(dirname $(which $HOST-gcc))/../$HOST && pwd)
@@ -133,7 +134,7 @@ MINGW*)
133134
# path names are included, in assert messages), allowing ccache to speed
134135
# up compilation.
135136
cd tools
136-
for p in clang lld; do
137+
for p in clang lld lldb; do
137138
if [ ! -e $p ]; then
138139
ln -s ../../$p .
139140
fi
@@ -144,16 +145,22 @@ esac
144145

145146
mkdir -p $BUILDDIR
146147
cd $BUILDDIR
148+
# Building LLDB for macOS fails unless building libc++ is enabled at the
149+
# same time, or unless the LLDB tests are disabled.
147150
cmake \
148151
${CMAKE_GENERATOR+-G} "$CMAKE_GENERATOR" \
149152
-DCMAKE_INSTALL_PREFIX="$PREFIX" \
150153
-DCMAKE_BUILD_TYPE=Release \
151154
-DLLVM_ENABLE_ASSERTIONS=$ASSERTS \
152-
${EXPLICIT_PROJECTS+-DLLVM_ENABLE_PROJECTS="clang;lld"} \
155+
${EXPLICIT_PROJECTS+-DLLVM_ENABLE_PROJECTS="clang;lld;lldb"} \
153156
-DLLVM_TARGETS_TO_BUILD="ARM;AArch64;X86" \
154157
-DLLVM_INSTALL_TOOLCHAIN_ONLY=$TOOLCHAIN_ONLY \
155158
-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" \
156159
${HOST+-DLLVM_HOST_TRIPLE=$HOST} \
160+
-DLLDB_DISABLE_LIBEDIT=ON \
161+
-DLLDB_DISABLE_PYTHON=ON \
162+
-DLLDB_DISABLE_CURSES=ON \
163+
-DLLDB_INCLUDE_TESTS=OFF \
157164
$CMAKEFLAGS \
158165
..
159166

strip-llvm.sh

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ MINGW*)
3838
esac
3939

4040
cd bin
41-
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
41+
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
4242
basename=$i
4343
if [ -n "$EXEEXT" ]; then
4444
# 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
7474
rm $i
7575
fi
7676
;;
77+
lldb|lldb-server)
78+
;;
7779
*)
7880
if [ -f $i ]; then
7981
rm $i
@@ -106,5 +108,13 @@ cd include
106108
rm -rf clang clang-c lld llvm llvm-c
107109
cd ..
108110
cd lib
109-
rm -rf lib*.a *.so* *.dylib* cmake
111+
for i in lib*.a *.so* *.dylib* cmake; do
112+
case $i in
113+
liblldb*)
114+
;;
115+
*)
116+
rm -rf $i
117+
;;
118+
esac
119+
done
110120
cd ..

0 commit comments

Comments
 (0)