Skip to content

Commit f47955d

Browse files
authored
Merge pull request #244 from mybigday/vec-minos-fix
Fix sqlitevec min version for iOS simulator and tvOS targets
2 parents 87d59cd + ab198fa commit f47955d

File tree

4 files changed

+28
-4
lines changed

4 files changed

+28
-4
lines changed
Binary file not shown.
Binary file not shown.

scripts/build-sqlite-vec.sh

+28-4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,23 @@ fi
1717

1818
MIN_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+
2037
IOS_SDK_PATH=$(xcrun --sdk iphoneos --show-sdk-path)
2138
IOS_SIMULATOR_SDK_PATH=$(xcrun --sdk iphonesimulator --show-sdk-path)
2239

@@ -51,7 +68,7 @@ function build_ios_x86_64() {
5168

5269
function 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

5774
build_ios_arm64
@@ -67,14 +84,17 @@ install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.x
6784
cp ./ios/sim_fat/sqlitevec ../../ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/
6885
install_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+
7091
TVOS_SDK_PATH=$(xcrun --sdk appletvos --show-sdk-path)
7192
TVOS_SIMULATOR_SDK_PATH=$(xcrun --sdk appletvsimulator --show-sdk-path)
7293

7394
CC_tvos_arm64=$(xcrun --sdk appletvos --find clang)
7495
CC_tvos_x86_64=$(xcrun --sdk appletvsimulator --find clang)
7596

7697
TVOS_CFLAGS="-Ivendor/ -I./ -O3 -fembed-bitcode -fPIC"
77-
TVOS_LDFLAGS="-Wl"
7898
TVOS_ARM64_FLAGS="-target arm64-apple-tvos$MIN_IOS_VERSION -mappletvos-version-min=$MIN_IOS_VERSION"
7999
TVOS_ARM64_SIM_FLAGS="-target arm64-apple-tvos-simulator$MIN_IOS_VERSION -mappletvsimulator-version-min=$MIN_IOS_VERSION"
80100
TVOS_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

90110
function 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

95115
function build_tvos_x86_64() {
@@ -99,7 +119,7 @@ function build_tvos_x86_64() {
99119

100120
function 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

105125
build_tvos_arm64
@@ -115,6 +135,10 @@ install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.x
115135
cp ./tvos/sim_fat/sqlitevec ../../ios/sqlitevec.xcframework/tvos-arm64_x86_64-simulator/sqlitevec.framework/
116136
install_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+
118142
cd ..
119143
function download_sqlite_vec_android() {
120144
local abi=$1

0 commit comments

Comments
 (0)