summaryrefslogtreecommitdiff
path: root/data/libtapi/make.sh
diff options
context:
space:
mode:
authorSam Bingner <sam@bingner.com>2018-09-06 17:18:18 -1000
committerSam Bingner <sam@bingner.com>2018-09-06 17:18:18 -1000
commita5b9a9f185079b06669c7069d983a580a7706ee0 (patch)
treeb31b330bb442612455c05d651f8cb9550cc75c4a /data/libtapi/make.sh
parentab6608efc368ddbecc8004f4e28517f5a7cc707c (diff)
Libtapi 1.3.0
Diffstat (limited to 'data/libtapi/make.sh')
-rw-r--r--data/libtapi/make.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/data/libtapi/make.sh b/data/libtapi/make.sh
new file mode 100644
index 000000000..ec4aa3547
--- /dev/null
+++ b/data/libtapi/make.sh
@@ -0,0 +1,36 @@
+pkg:setup
+mkdir native
+cd native
+MACOSX_DEPLOYMENT_TARGET=10.9 CC="$(xcrun -f clang) -stdlib=libc++" CXX="$(xcrun -f clang++) -stdlib=libc++" cmake -j16 -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_SYSTEM_NAME=Darwin -DUSE_NLS=0 -DWITH_DOC=0 -DLLVM_INCLUDE_TESTS=OFF ../src/apple-llvm/src
+make -j16 llvm-tblgen
+cd ..
+mkdir build
+cd build
+
+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
+
+unset MACOSX_DEPLOYMENT_TARGET
+cmake -j8 -DCMAKE_TOOLCHAIN_FILE=iphoneos_toolchain.cmake -DCMAKE_LOCALSTATEDIR="/private/var" -DCMAKE_INSTALL_NAME_DIR="/usr/lib" -DCMAKE_INSTALL_RPATH="/usr/" -DCMAKE_OSX_SYSROOT="${PKG_ROOT}" -DCMAKE_INSTALL_PREFIX="/usr/" -DCMAKE_SHARED_LINKER_FLAGS="-lresolv" -DCURRENT_VENDOR=debian -DUSE_NLS=0 -DWITH_DOC=0 -DLLVM_INCLUDE_TESTS=OFF -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_SYSTEM_NAME=Darwin -DLLVM_TABLEGEN="$(pwd)/../native/bin/llvm-tblgen" -DLLVM_DEFAULT_TARGET_TRIPLE="${PKG_TARG}" -DLLVM_TARGETS_TO_BUILD=AArch64 ../src/apple-llvm/src
+
+make -j16 libtapi
+make install-libtapi DESTDIR="${PKG_DEST}"
+pkg: mkdir -p /usr/include/tapi
+pkg: cp -va ../src/apple-llvm/src/projects/libtapi/include/tapi /usr/include
+pkg: cp -va projects/libtapi/include/tapi/Version.inc /usr/include/tapi
+cd ..