17
17
18
18
MIN_IOS_VERSION=13.0
19
19
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
+
20
37
IOS_SDK_PATH=$( xcrun --sdk iphoneos --show-sdk-path)
21
38
IOS_SIMULATOR_SDK_PATH=$( xcrun --sdk iphonesimulator --show-sdk-path)
22
39
@@ -51,7 +68,7 @@ function build_ios_x86_64() {
51
68
52
69
function build_ios_arm64_simulator() {
53
70
$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
55
72
}
56
73
57
74
build_ios_arm64
@@ -67,14 +84,17 @@ install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.x
67
84
cp ./ios/sim_fat/sqlitevec ../../ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/
68
85
install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/sqlitevec
69
86
87
+ verify_framework ./ios/arm64/sqlitevec
88
+ verify_framework ./ios/x86_64/sqlitevec
89
+ verify_framework ./ios/arm64_simulator/sqlitevec
90
+
70
91
TVOS_SDK_PATH=$( xcrun --sdk appletvos --show-sdk-path)
71
92
TVOS_SIMULATOR_SDK_PATH=$( xcrun --sdk appletvsimulator --show-sdk-path)
72
93
73
94
CC_tvos_arm64=$( xcrun --sdk appletvos --find clang)
74
95
CC_tvos_x86_64=$( xcrun --sdk appletvsimulator --find clang)
75
96
76
97
TVOS_CFLAGS=" -Ivendor/ -I./ -O3 -fembed-bitcode -fPIC"
77
- TVOS_LDFLAGS=" -Wl"
78
98
TVOS_ARM64_FLAGS=" -target arm64-apple-tvos$MIN_IOS_VERSION -mappletvos-version-min=$MIN_IOS_VERSION "
79
99
TVOS_ARM64_SIM_FLAGS=" -target arm64-apple-tvos-simulator$MIN_IOS_VERSION -mappletvsimulator-version-min=$MIN_IOS_VERSION "
80
100
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
89
109
90
110
function build_tvos_arm64() {
91
111
$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
93
113
}
94
114
95
115
function build_tvos_x86_64() {
@@ -99,7 +119,7 @@ function build_tvos_x86_64() {
99
119
100
120
function build_tvos_arm64_simulator() {
101
121
$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
103
123
}
104
124
105
125
build_tvos_arm64
@@ -115,6 +135,10 @@ install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.x
115
135
cp ./tvos/sim_fat/sqlitevec ../../ios/sqlitevec.xcframework/tvos-arm64_x86_64-simulator/sqlitevec.framework/
116
136
install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.xcframework/tvos-arm64_x86_64-simulator/sqlitevec.framework/sqlitevec
117
137
138
+ verify_framework ./tvos/arm64/sqlitevec
139
+ verify_framework ./tvos/x86_64/sqlitevec
140
+ verify_framework ./tvos/arm64_simulator/sqlitevec
141
+
118
142
cd ..
119
143
function download_sqlite_vec_android() {
120
144
local abi=$1
0 commit comments