1717
1818MIN_IOS_VERSION=13.0
1919
20+ function verify_framework() {
21+ local framework_path=$1
22+ echo " Verifying $framework_path "
23+
24+ # Check minimum OS version
25+ MIN_OS_VERSION=$( otool -l " $framework_path " | grep " minos" )
26+ CHECK_VERSION=$MIN_IOS_VERSION
27+ # NOTE: arm64 simulator minos is 14.0
28+ if [[ " $framework_path " == * " arm64_simulator" * ]]; then
29+ CHECK_VERSION=14.0
30+ fi
31+ if [[ " $MIN_OS_VERSION " != * " $CHECK_VERSION " * ]]; then
32+ echo " Error: $platform framework is not $CHECK_VERSION ($framework_path )"
33+ exit 1
34+ fi
35+ }
36+
2037IOS_SDK_PATH=$( xcrun --sdk iphoneos --show-sdk-path)
2138IOS_SIMULATOR_SDK_PATH=$( xcrun --sdk iphonesimulator --show-sdk-path)
2239
@@ -51,7 +68,7 @@ function build_ios_x86_64() {
5168
5269function build_ios_arm64_simulator() {
5370 $CC_ios_arm64 $CFLAGS $IOS_CFLAGS $IOS_ARM64_SIM_FLAGS -isysroot $IOS_SIMULATOR_SDK_PATH -c sqlite-vec.c -o $OUT_DIR_ios_arm64_simulator /sqlite-vec.o
54- $CC_ios_arm64 -dynamiclib -o $OUT_DIR_ios_arm64_simulator /sqlitevec $OUT_DIR_ios_arm64_simulator /sqlite-vec.o -isysroot $IOS_SIMULATOR_SDK_PATH
71+ $CC_ios_arm64 $IOS_ARM64_SIM_FLAGS -dynamiclib -o $OUT_DIR_ios_arm64_simulator /sqlitevec $OUT_DIR_ios_arm64_simulator /sqlite-vec.o -isysroot $IOS_SIMULATOR_SDK_PATH
5572}
5673
5774build_ios_arm64
@@ -67,14 +84,17 @@ install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.x
6784cp ./ios/sim_fat/sqlitevec ../../ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/
6885install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/sqlitevec
6986
87+ verify_framework ./ios/arm64/sqlitevec
88+ verify_framework ./ios/x86_64/sqlitevec
89+ verify_framework ./ios/arm64_simulator/sqlitevec
90+
7091TVOS_SDK_PATH=$( xcrun --sdk appletvos --show-sdk-path)
7192TVOS_SIMULATOR_SDK_PATH=$( xcrun --sdk appletvsimulator --show-sdk-path)
7293
7394CC_tvos_arm64=$( xcrun --sdk appletvos --find clang)
7495CC_tvos_x86_64=$( xcrun --sdk appletvsimulator --find clang)
7596
7697TVOS_CFLAGS=" -Ivendor/ -I./ -O3 -fembed-bitcode -fPIC"
77- TVOS_LDFLAGS=" -Wl"
7898TVOS_ARM64_FLAGS=" -target arm64-apple-tvos$MIN_IOS_VERSION -mappletvos-version-min=$MIN_IOS_VERSION "
7999TVOS_ARM64_SIM_FLAGS=" -target arm64-apple-tvos-simulator$MIN_IOS_VERSION -mappletvsimulator-version-min=$MIN_IOS_VERSION "
80100TVOS_X86_64_FLAGS=" -target x86_64-apple-tvos-simulator$MIN_IOS_VERSION -mappletvsimulator-version-min=$MIN_IOS_VERSION "
@@ -89,7 +109,7 @@ mkdir -p $OUT_DIR_tvos_arm64_simulator
89109
90110function build_tvos_arm64() {
91111 $CC_tvos_arm64 $CFLAGS $TVOS_CFLAGS $TVOS_ARM64_FLAGS -isysroot $TVOS_SDK_PATH -c sqlite-vec.c -o $OUT_DIR_tvos_arm64 /sqlite-vec.o
92- $CC_tvos_arm64 -dynamiclib -o $OUT_DIR_tvos_arm64 /sqlitevec $OUT_DIR_tvos_arm64 /sqlite-vec.o -isysroot $TVOS_SDK_PATH $TVOS_LDFLAGS
112+ $CC_tvos_arm64 $TVOS_ARM64_FLAGS -dynamiclib -o $OUT_DIR_tvos_arm64 /sqlitevec $OUT_DIR_tvos_arm64 /sqlite-vec.o -isysroot $TVOS_SDK_PATH
93113}
94114
95115function build_tvos_x86_64() {
@@ -99,7 +119,7 @@ function build_tvos_x86_64() {
99119
100120function build_tvos_arm64_simulator() {
101121 $CC_tvos_arm64 $CFLAGS $TVOS_CFLAGS $TVOS_ARM64_SIM_FLAGS -isysroot $TVOS_SIMULATOR_SDK_PATH -c sqlite-vec.c -o $OUT_DIR_tvos_arm64_simulator /sqlite-vec.o
102- $CC_tvos_arm64 -dynamiclib -o $OUT_DIR_tvos_arm64_simulator /sqlitevec $OUT_DIR_tvos_arm64_simulator /sqlite-vec.o -isysroot $TVOS_SIMULATOR_SDK_PATH
122+ $CC_tvos_arm64 $TVOS_ARM64_SIM_FLAGS -dynamiclib -o $OUT_DIR_tvos_arm64_simulator /sqlitevec $OUT_DIR_tvos_arm64_simulator /sqlite-vec.o -isysroot $TVOS_SIMULATOR_SDK_PATH
103123}
104124
105125build_tvos_arm64
@@ -115,6 +135,10 @@ install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.x
115135cp ./tvos/sim_fat/sqlitevec ../../ios/sqlitevec.xcframework/tvos-arm64_x86_64-simulator/sqlitevec.framework/
116136install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.xcframework/tvos-arm64_x86_64-simulator/sqlitevec.framework/sqlitevec
117137
138+ verify_framework ./tvos/arm64/sqlitevec
139+ verify_framework ./tvos/x86_64/sqlitevec
140+ verify_framework ./tvos/arm64_simulator/sqlitevec
141+
118142cd ..
119143function download_sqlite_vec_android() {
120144 local abi=$1
0 commit comments