Skip to content

Commit ea70e99

Browse files
committed
Build sqlitevec.framework for tvOS
1 parent 2f0eb7e commit ea70e99

File tree

7 files changed

+125
-1
lines changed

7 files changed

+125
-1
lines changed

Diff for: ios/sqlitevec.xcframework/Info.plist

+27
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,33 @@
3131
<key>SupportedPlatformVariant</key>
3232
<string>simulator</string>
3333
</dict>
34+
<dict>
35+
<key>LibraryIdentifier</key>
36+
<string>tvos-arm64</string>
37+
<key>LibraryPath</key>
38+
<string>sqlitevec.framework</string>
39+
<key>SupportedArchitectures</key>
40+
<array>
41+
<string>arm64</string>
42+
</array>
43+
<key>SupportedPlatform</key>
44+
<string>tvos</string>
45+
</dict>
46+
<dict>
47+
<key>LibraryIdentifier</key>
48+
<string>tvos-arm64_x86_64-simulator</string>
49+
<key>LibraryPath</key>
50+
<string>sqlitevec.framework</string>
51+
<key>SupportedArchitectures</key>
52+
<array>
53+
<string>arm64</string>
54+
<string>x86_64</string>
55+
</array>
56+
<key>SupportedPlatform</key>
57+
<string>tvos</string>
58+
<key>SupportedPlatformVariant</key>
59+
<string>simulator</string>
60+
</dict>
3461
</array>
3562
<key>CFBundlePackageType</key>
3663
<string>XFWK</string>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>en</string>
7+
<key>CFBundleExecutable</key>
8+
<string>sqlitevec</string>
9+
<key>CFBundleIdentifier</key>
10+
<string>com.ospfranco.sqlitevec</string>
11+
<key>CFBundleInfoDictionaryVersion</key>
12+
<string>6.0</string>
13+
<key>CFBundlePackageType</key>
14+
<string>FMWK</string>
15+
<key>CFBundleSignature</key>
16+
<string>????</string>
17+
<key>CFBundleVersion</key>
18+
<string>1.0.0</string>
19+
<key>CFBundleShortVersionString</key>
20+
<string>1.0.0</string>
21+
<key>MinimumOSVersion</key>
22+
<string>13.0</string>
23+
</dict>
24+
</plist>
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>en</string>
7+
<key>CFBundleExecutable</key>
8+
<string>sqlitevec</string>
9+
<key>CFBundleIdentifier</key>
10+
<string>com.ospfranco.sqlitevec</string>
11+
<key>CFBundleInfoDictionaryVersion</key>
12+
<string>6.0</string>
13+
<key>CFBundlePackageType</key>
14+
<string>FMWK</string>
15+
<key>CFBundleSignature</key>
16+
<string>????</string>
17+
<key>CFBundleVersion</key>
18+
<string>1.0.0</string>
19+
<key>CFBundleShortVersionString</key>
20+
<string>1.0.0</string>
21+
<key>MinimumOSVersion</key>
22+
<string>13.0</string>
23+
</dict>
24+
</plist>
Binary file not shown.

Diff for: op-sqlite.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ Pod::Spec.new do |s|
7171
s.license = package["license"]
7272
s.authors = package["author"]
7373

74-
s.platforms = { :ios => "13.0", :osx => "10.15", :visionos => "1.0" }
74+
s.platforms = { :ios => "13.0", :tvos => "13.0", :osx => "10.15", :visionos => "1.0" }
7575
s.source = { :git => "https://github.com/op-engineering/op-sqlite.git", :tag => "#{s.version}" }
7676

7777
# Base source files

Diff for: scripts/build-sqlite-vec.sh

+49
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,55 @@ install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.x
6767
cp ./ios/sim_fat/sqlitevec ../../ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/
6868
install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/sqlitevec
6969

70+
TVOS_SDK_PATH=$(xcrun --sdk appletvos --show-sdk-path)
71+
TVOS_SIMULATOR_SDK_PATH=$(xcrun --sdk appletvsimulator --show-sdk-path)
72+
73+
CC_tvos_arm64=$(xcrun --sdk appletvos --find clang)
74+
CC_tvos_x86_64=$(xcrun --sdk appletvsimulator --find clang)
75+
76+
TVOS_CFLAGS="-Ivendor/ -I./ -O3 -fembed-bitcode -fPIC"
77+
TVOS_LDFLAGS="-Wl"
78+
TVOS_ARM64_FLAGS="-target arm64-apple-tvos$MIN_IOS_VERSION -mappletvos-version-min=$MIN_IOS_VERSION"
79+
TVOS_ARM64_SIM_FLAGS="-target arm64-apple-tvos-simulator$MIN_IOS_VERSION -mappletvsimulator-version-min=$MIN_IOS_VERSION"
80+
TVOS_X86_64_FLAGS="-target x86_64-apple-tvos-simulator$MIN_IOS_VERSION -mappletvsimulator-version-min=$MIN_IOS_VERSION"
81+
82+
OUT_DIR_tvos_arm64=tvos/arm64
83+
OUT_DIR_tvos_x86_64=tvos/x86_64
84+
OUT_DIR_tvos_arm64_simulator=tvos/arm64_simulator
85+
86+
mkdir -p $OUT_DIR_tvos_arm64
87+
mkdir -p $OUT_DIR_tvos_x86_64
88+
mkdir -p $OUT_DIR_tvos_arm64_simulator
89+
90+
function build_tvos_arm64() {
91+
$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
93+
}
94+
95+
function build_tvos_x86_64() {
96+
$CC_tvos_x86_64 $CFLAGS $TVOS_CFLAGS $TVOS_X86_64_FLAGS -isysroot $TVOS_SIMULATOR_SDK_PATH -c sqlite-vec.c -o $OUT_DIR_tvos_x86_64/sqlite-vec.o
97+
$CC_tvos_x86_64 $TVOS_X86_64_FLAGS -dynamiclib -o $OUT_DIR_tvos_x86_64/sqlitevec $OUT_DIR_tvos_x86_64/sqlite-vec.o -isysroot $TVOS_SIMULATOR_SDK_PATH
98+
}
99+
100+
function build_tvos_arm64_simulator() {
101+
$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
103+
}
104+
105+
build_tvos_arm64
106+
build_tvos_x86_64
107+
build_tvos_arm64_simulator
108+
109+
mkdir -p tvos/sim_fat/
110+
lipo -create ./tvos/x86_64/sqlitevec ./tvos/arm64_simulator/sqlitevec -output tvos/sim_fat/sqlitevec
111+
112+
cp ./tvos/arm64/sqlitevec ../../ios/sqlitevec.xcframework/tvos-arm64/sqlitevec.framework/
113+
install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.xcframework/tvos-arm64/sqlitevec.framework/sqlitevec
114+
115+
cp ./tvos/sim_fat/sqlitevec ../../ios/sqlitevec.xcframework/tvos-arm64_x86_64-simulator/sqlitevec.framework/
116+
install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.xcframework/tvos-arm64_x86_64-simulator/sqlitevec.framework/sqlitevec
117+
118+
cd ..
70119
function download_sqlite_vec_android() {
71120
local abi=$1
72121
local arch=$2

0 commit comments

Comments
 (0)