@@ -67,6 +67,55 @@ install_name_tool -id @rpath/sqlitevec.framework/sqlitevec ../../ios/sqlitevec.x
6767cp ./ios/sim_fat/sqlitevec ../../ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/
6868install_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 ..
70119function download_sqlite_vec_android() {
71120 local abi=$1
72121 local arch=$2
0 commit comments