summaryrefslogtreecommitdiff
path: root/data/lldb/make.sh
diff options
context:
space:
mode:
Diffstat (limited to 'data/lldb/make.sh')
-rw-r--r--data/lldb/make.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/data/lldb/make.sh b/data/lldb/make.sh
new file mode 100644
index 000000000..c5bc810ae
--- /dev/null
+++ b/data/lldb/make.sh
@@ -0,0 +1,39 @@
+pkg:setup
+
+# http://releases.llvm.org/download.html
+cd tools
+tar xf ${PKG_DATA}/sources/cfe*
+tar xf ${PKG_DATA}/sources/lldb*
+mv cfe* clang
+mv lldb* lldb
+cd ..
+
+# Build for the host.
+mkdir host
+cd host
+cmake DCMAKE_BUILD_TYPE=RELEASE -DLLVM_INCLUDE_TESTS=OFF ..
+make -j16 llvm-tblgen clang-tblgen
+cd ..
+
+# Build for the target.
+mkdir target
+cd target
+
+cat > iphoneos_toolchain.cmake <<EOF
+set(CMAKE_SYSTEM_NAME Darwin) # Tell CMake we're cross-compiling
+set(CMAKE_CROSSCOMPILING true)
+#include(CMakeForceCompiler)
+# Prefix detection only works with compiler id "GNU"
+# CMake will look for prefixed g++, cpp, ld, etc. automatically
+set(CMAKE_SYSTEM_PROCESSOR aarch64)
+set(triple ${PKG_TARG})
+set(CMAKE_FIND_ROOT_PATH $(echo ${PKG_PATH} | sed -e s/:/' '/g))
+set(CMAKE_LIBRARY_PATH $(echo ${LIBRARY_PATH} | sed -e s/:/' '/g))
+set(CMAKE_INCLUDE_PATH $(echo ${INCLUDE_PATH} | sed -e s/:/' '/g))
+set(CMAKE_C_COMPILER ${PKG_TARG}-gcc)
+set(CMAKE_CXX_COMPILER ${PKG_TARG}-g++)
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+EOF
+