Created
January 29, 2023 17:12
-
-
Save rushiiMachine/1d9c0e587d6bbc3eb44afe8504b26cee to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
SDK_VERSION="14.5" | |
TARGET_IOS_VERSION="14" | |
LLVM_PATH="$HOME/opt/llvm-15.0.6" # only llvm 15 worked for me | |
cd "$(dirname "$0")/dobby" | |
rm -rf build || true | |
export PATH="$LLVM_PATH/bin:$THEOS/toolchain/linux/iphone/bin:$PATH" | |
# build(arch) | |
function build() { | |
local cmake_dir="./build/cmake-build-iphoneos-$1" | |
# hardcoded path is to fix clang not reading __config_site | |
local SHARED_FLAGS="\ | |
-isystem $LLVM_PATH/include/x86_64-unknown-linux-gnu/c++/v1/ \ | |
-target $1-apple-ios${TARGET_IOS_VERSION} \ | |
-D TARGET_OS_SIMULATOR=0 \ | |
" | |
cmake \ | |
-S . \ | |
-B $cmake_dir \ | |
-DCMAKE_SHARED_LINKER_FLAGS=" \ | |
-fuse-ld=$(which ld64.lld) \ | |
-Xlinker -arch -Xlinker $1 \ | |
-Xlinker -platform_version -Xlinker ios -Xlinker ${TARGET_IOS_VERSION} -Xlinker ${SDK_VERSION} \ | |
-Xlinker -dylib \ | |
-Xlinker -syslibroot -Xlinker $THEOS/sdks/iPhoneOS${SDK_VERSION}.sdk \ | |
" \ | |
-DCMAKE_C_COMPILER=clang \ | |
-DCMAKE_C_FLAGS="${SHARED_FLAGS}" \ | |
-DCMAKE_CXX_COMPILER=clang++ \ | |
-DCMAKE_CXX_FLAGS="${SHARED_FLAGS}" \ | |
-DCMAKE_SYSTEM_NAME=iOS \ | |
-DCMAKE_SYSTEM_PROCESSOR=$1 \ | |
-DCMAKE_OSX_ARCHITECTURES=$1 \ | |
-DCMAKE_OSX_DEPLOYMENT_TARGET="${TARGET_IOS_VERSION}" \ | |
-DCMAKE_OSX_SYSROOT=$THEOS/sdks/iPhoneOS${SDK_VERSION}.sdk \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DDOBBY_GENERATE_SHARED=ON | |
(cd $cmake_dir && gmake -j8 dobby) | |
} | |
build "arm64" | |
build "arm64e" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment