Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ var sourceFiles =
// excludes (the vendored xcframeworks, and cpp/sqlcipher, cpp/libsql,
// cpp/turso below) are reliable; those backend sources were relocated into
// their own subdirectories specifically so they can be excluded that way.
// `cpp/sqlite3.c`/`cpp/bridge.{c,cpp,hpp}` are the remaining individual-file
// `cpp/sqlite3.c`/`cpp/OPBridge.{cpp,hpp}` are the remaining individual-file
// exclusions (only reachable via the sqlcipher/turso/libsql/phone-version
// branches, not the default path) — flagged as a known residual risk in
// those configurations rather than moved, to keep this translation close to
Expand Down Expand Up @@ -237,14 +237,14 @@ if useSqlcipher {
excludedDirs.insert("cpp/libsql")
} else if useTurso {
print("[OP-SQLITE] using Turso SDK kit")
excludedSources.formUnion(["cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/bridge.hpp", "cpp/bridge.cpp"])
excludedSources.formUnion(["cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/OPBridge.hpp", "cpp/OPBridge.cpp"])
excludedDirs.formUnion(["cpp/sqlcipher", "cpp/libsql"])
} else if useLibsql {
print("[OP-SQLITE] ⚠️ Using libsql. If you have libsql questions please ask in the Turso Discord server.")
// cpp/bridge.cpp is the default (non-libsql) bridge; it and
// cpp/libsql/bridge.cpp both define opsqlite_get_db_path and friends —
// cpp/OPBridge.cpp is the default (non-libsql) bridge; it and
// cpp/libsql/OPLibsqlBridge.cpp both define opsqlite_get_db_path and friends —
// compiling both is a duplicate-symbol link error.
excludedSources.formUnion(["cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/bridge.cpp", "cpp/bridge.hpp"])
excludedSources.formUnion(["cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/OPBridge.cpp", "cpp/OPBridge.hpp"])
excludedDirs.insert("cpp/sqlcipher")
} else {
print("[OP-SQLITE] using pure SQLite")
Expand Down Expand Up @@ -443,7 +443,7 @@ let package = Package(
// constructed so everything left under `path` is exactly the wanted
// set, and the default auto-scan is the well-trodden SPM code path.
exclude: targetExcludes,
// cpp/bridge.cpp reaches SQLite via `#include <sqlite3.h>` (angle
// cpp/OPBridge.cpp reaches SQLite via `#include <sqlite3.h>` (angle
// form). cpp/sqlite3.h and cpp/sqlcipher/sqlite3.h are two different
// files with that same name; CocoaPods disambiguates via its header
// map, built fresh from source_files/exclude_files each `pod install`.
Expand All @@ -459,7 +459,7 @@ let package = Package(
// above, in case publicHeadersPath's implicit search isn't given
// priority over some other path on a future toolchain.
.headerSearchPath(useSqlcipher ? "cpp/sqlcipher" : "cpp"),
// cpp/libsql/bridge.hpp unconditionally `#include`s libsql.h (it's
// cpp/libsql/OPLibsqlBridge.hpp unconditionally `#include`s libsql.h (it's
// pulled in from always-compiled files like OPDatabase.hpp, not
// just the libsql backend), so libsql.h must resolve regardless of
// whether useLibsql links the actual xcframework binary. CocoaPods
Expand All @@ -470,7 +470,7 @@ let package = Package(
// still resolves via this search path regardless.
.headerSearchPath("ios/libsql_experimental.xcframework/ios-arm64/libsql_experimental.framework/Headers"),
]
// cpp/turso/turso_bridge.cpp includes <turso_sdk_kit/turso.h> —
// cpp/turso/OPTursoBridge.cpp includes <turso_sdk_kit/turso.h> —
// framework-style angle include. The xcframework ships no module
// map, so this only resolves via clang's plain framework-header
// lookup, added below via -F (headers are identical across arch
Expand Down
16 changes: 8 additions & 8 deletions android/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,17 @@ add_library(
${PACKAGE_NAME}
SHARED
../cpp/OPSqlite.cpp
../cpp/utils.cpp
../cpp/OPUtils.cpp
../cpp/OPThreadPool.cpp
../cpp/SmartHostObject.cpp
../cpp/PreparedStatementHostObject.cpp
../cpp/DumbHostObject.cpp
../cpp/OPSmartHostObject.cpp
../cpp/OPPreparedStatementHostObject.cpp
../cpp/OPDumbHostObject.cpp
../cpp/OPDatabase.cpp
cpp-adapter.cpp
)

if (USE_SQLCIPHER)
target_sources(${PACKAGE_NAME} PRIVATE ../cpp/sqlcipher/sqlite3.h ../cpp/sqlcipher/sqlite3.c ../cpp/bridge.cpp ../cpp/bridge.hpp)
target_sources(${PACKAGE_NAME} PRIVATE ../cpp/sqlcipher/sqlite3.h ../cpp/sqlcipher/sqlite3.c ../cpp/OPBridge.cpp ../cpp/OPBridge.hpp)

add_definitions(
-DOP_SQLITE_USE_SQLCIPHER=1
Expand All @@ -64,19 +64,19 @@ if (USE_SQLCIPHER)

find_package(openssl REQUIRED CONFIG)
elseif (USE_LIBSQL)
target_sources(${PACKAGE_NAME} PRIVATE ../cpp/libsql/bridge.cpp)
target_sources(${PACKAGE_NAME} PRIVATE ../cpp/libsql/OPLibsqlBridge.cpp)

add_definitions(
-DOP_SQLITE_USE_LIBSQL=1
)
elseif (USE_TURSO)
target_sources(${PACKAGE_NAME} PRIVATE ../cpp/turso/turso_bridge.cpp)
target_sources(${PACKAGE_NAME} PRIVATE ../cpp/turso/OPTursoBridge.cpp)

add_definitions(
-DOP_SQLITE_USE_TURSO=1
)
else()
target_sources(${PACKAGE_NAME} PRIVATE ../cpp/sqlite3.c ../cpp/bridge.cpp)
target_sources(${PACKAGE_NAME} PRIVATE ../cpp/sqlite3.c ../cpp/OPBridge.cpp)
endif()

if (USE_SQLITE_VEC)
Expand Down
2 changes: 1 addition & 1 deletion android/cpp-adapter.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include "OPSqlite.hpp"
#include "logs.h"
#include "OPLogs.h"
#include <ReactCommon/CallInvokerHolder.h>
#include <atomic>
#include <fbjni/fbjni.h>
Expand Down
10 changes: 5 additions & 5 deletions cpp/bridge.cpp → cpp/OPBridge.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
// Allows a clear defined boundary between the JSI and the SQLite operations
// so that threading operations are safe and contained within OPDatabase

#include "bridge.hpp"
#include "OPBridge.hpp"
#include "OPDatabase.hpp"
#include "DumbHostObject.hpp"
#include "SmartHostObject.hpp"
#include "logs.h"
#include "utils.hpp"
#include "OPDumbHostObject.hpp"
#include "OPSmartHostObject.hpp"
#include "OPLogs.h"
#include "OPUtils.hpp"
#include <filesystem>
#include <iostream>
#include <sqlite3.h>
Expand Down
8 changes: 4 additions & 4 deletions cpp/bridge.hpp → cpp/OPBridge.hpp
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#pragma once

#include "DumbHostObject.hpp"
#include "SmartHostObject.hpp"
#include "types.hpp"
#include "utils.hpp"
#include "OPDumbHostObject.hpp"
#include "OPSmartHostObject.hpp"
#include "OPTypes.hpp"
#include "OPUtils.hpp"
#ifdef __ANDROID__
#include "sqlite3.h"
#else
Expand Down
12 changes: 6 additions & 6 deletions cpp/OPDatabase.cpp
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#include "OPDatabase.hpp"
#include "PreparedStatementHostObject.hpp"
#include "OPPreparedStatementHostObject.hpp"
#if OP_SQLITE_USE_LIBSQL
#include "libsql/bridge.hpp"
#include "libsql/OPLibsqlBridge.hpp"
#else
#include "bridge.hpp"
#include "OPBridge.hpp"
#endif
#include "logs.h"
#include "macros.hpp"
#include "utils.hpp"
#include "OPLogs.h"
#include "OPMacros.hpp"
#include "OPUtils.hpp"
#include <functional>
#include <iostream>
#include <utility>
Expand Down
4 changes: 2 additions & 2 deletions cpp/OPDatabase.hpp
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#pragma once

#include "OPThreadPool.hpp"
#include "types.hpp"
#include "OPTypes.hpp"
#include <ReactCommon/CallInvoker.h>
#include <jsi/jsi.h>
#include <set>
#ifdef OP_SQLITE_USE_LIBSQL
#include "libsql/bridge.hpp"
#include "libsql/OPLibsqlBridge.hpp"
#else
#ifdef __ANDROID__
#include "sqlite3.h"
Expand Down
6 changes: 3 additions & 3 deletions cpp/DumbHostObject.cpp → cpp/OPDumbHostObject.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "DumbHostObject.hpp"
#include "SmartHostObject.hpp"
#include "utils.hpp"
#include "OPDumbHostObject.hpp"
#include "OPSmartHostObject.hpp"
#include "OPUtils.hpp"
#include <iostream>

namespace opsqlite {
Expand Down
4 changes: 2 additions & 2 deletions cpp/DumbHostObject.hpp → cpp/OPDumbHostObject.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include "SmartHostObject.hpp"
#include "types.hpp"
#include "OPSmartHostObject.hpp"
#include "OPTypes.hpp"
#include <any>
#include <jsi/jsi.h>
#include <stdio.h>
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#include "PreparedStatementHostObject.hpp"
#include "OPPreparedStatementHostObject.hpp"
#if OP_SQLITE_USE_LIBSQL
#include "libsql/bridge.hpp"
#include "libsql/OPLibsqlBridge.hpp"
#else
#include "bridge.hpp"
#include "OPBridge.hpp"
#endif
#include "macros.hpp"
#include "utils.hpp"
#include "OPMacros.hpp"
#include "OPUtils.hpp"

namespace opsqlite {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include <memory>
#ifdef OP_SQLITE_USE_LIBSQL
#include "libsql.h"
#include "libsql/bridge.hpp"
#include "libsql/OPLibsqlBridge.hpp"
#else
#ifdef __ANDROID__
#include "sqlite3.h"
Expand Down
4 changes: 2 additions & 2 deletions cpp/SmartHostObject.cpp → cpp/OPSmartHostObject.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include "SmartHostObject.hpp"
#include "utils.hpp"
#include "OPSmartHostObject.hpp"
#include "OPUtils.hpp"

namespace opsqlite {

Expand Down
2 changes: 1 addition & 1 deletion cpp/SmartHostObject.hpp → cpp/OPSmartHostObject.hpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "types.hpp"
#include "OPTypes.hpp"
#include <any>
#include <jsi/jsi.h>
#include <vector>
Expand Down
12 changes: 6 additions & 6 deletions cpp/OPSqlite.cpp
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
#include "OPSqlite.hpp"
#include "OPDatabase.hpp"
#include "DumbHostObject.hpp"
#include "OPDumbHostObject.hpp"
#include "OPThreadPool.hpp"
#ifdef OP_SQLITE_USE_LIBSQL
#include "libsql/bridge.hpp"
#include "libsql/OPLibsqlBridge.hpp"
#else
#include "bridge.hpp"
#include "OPBridge.hpp"
#endif
#include "logs.h"
#include "macros.hpp"
#include "utils.hpp"
#include "OPLogs.h"
#include "OPMacros.hpp"
#include "OPUtils.hpp"
#include <functional>
#include <iostream>
#include <string>
Expand Down
File renamed without changes.
10 changes: 5 additions & 5 deletions cpp/utils.cpp → cpp/OPUtils.cpp
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@

#include "utils.hpp"
#include "SmartHostObject.hpp"
#include "types.hpp"
#include "OPUtils.hpp"
#include "OPSmartHostObject.hpp"
#include "OPTypes.hpp"
#ifndef OP_SQLITE_USE_LIBSQL
#include "bridge.hpp"
#include "OPBridge.hpp"
#endif
#include "OPThreadPool.hpp"
#include "macros.hpp"
#include "OPMacros.hpp"
#include <fstream>
#include <sys/stat.h>
#include <utility>
Expand Down
6 changes: 3 additions & 3 deletions cpp/utils.hpp → cpp/OPUtils.hpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#pragma once

#include "DumbHostObject.hpp"
#include "SmartHostObject.hpp"
#include "types.hpp"
#include "OPDumbHostObject.hpp"
#include "OPSmartHostObject.hpp"
#include "OPTypes.hpp"
#include <jsi/jsi.h>
#ifdef __ANDROID__
#include "sqlite3.h"
Expand Down
10 changes: 5 additions & 5 deletions cpp/libsql/bridge.cpp → cpp/libsql/OPLibsqlBridge.cpp
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#include "bridge.hpp"
#include "DumbHostObject.hpp"
#include "SmartHostObject.hpp"
#include "OPLibsqlBridge.hpp"
#include "OPDumbHostObject.hpp"
#include "OPSmartHostObject.hpp"
#include "libsql.h"
#include "logs.h"
#include "utils.hpp"
#include "OPLogs.h"
#include "OPUtils.hpp"
#include <filesystem>
#include <iostream>
#include <unordered_map>
Expand Down
8 changes: 4 additions & 4 deletions cpp/libsql/bridge.hpp → cpp/libsql/OPLibsqlBridge.hpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#pragma once

#include "DumbHostObject.hpp"
#include "SmartHostObject.hpp"
#include "OPDumbHostObject.hpp"
#include "OPSmartHostObject.hpp"
#include "libsql.h"
#include "types.hpp"
#include "utils.hpp"
#include "OPTypes.hpp"
#include "OPUtils.hpp"
#include <vector>

#define LIBSQL_INT 1
Expand Down
8 changes: 4 additions & 4 deletions cpp/turso/turso_bridge.cpp → cpp/turso/OPTursoBridge.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#include "OPDatabase.hpp"
#include "DumbHostObject.hpp"
#include "SmartHostObject.hpp"
#include "bridge.hpp"
#include "utils.hpp"
#include "OPDumbHostObject.hpp"
#include "OPSmartHostObject.hpp"
#include "OPBridge.hpp"
#include "OPUtils.hpp"

#ifdef __APPLE__
extern "C" {
Expand Down
12 changes: 6 additions & 6 deletions op-sqlite.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@ Pod::Spec.new do |s|
source_files = Dir.glob("ios/**/*.{h,hpp,m,mm}") + Dir.glob("cpp/**/*.{hpp,h,cpp,c}")

# Backend bridges are selected explicitly by flags and should not be compiled by default.
source_files.reject! { |path| path == "cpp/turso/turso_bridge.cpp" } unless use_turso
source_files.reject! { |path| path == "cpp/turso/OPTursoBridge.cpp" } unless use_turso

# Strictly blocks all headers from being public
s.public_header_files = ["ios/OPSQLite.h", "cpp/sqlite3.h", "cpp/bridge.hpp"]
s.public_header_files = ["ios/OPSQLite.h", "cpp/sqlite3.h", "cpp/OPBridge.hpp"]

# Set the path to the `c_sources` directory based on environment
if is_user_app
Expand Down Expand Up @@ -144,18 +144,18 @@ Pod::Spec.new do |s|

if use_sqlcipher then
log_message.call("[OP-SQLITE] using SQLCipher")
exclude_files += ["cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/libsql/bridge.cpp", "cpp/libsql/bridge.hpp", "ios/libsql.xcframework/**/*", "ios/libsql_experimental.xcframework/**/*", "ios/turso_sdk_kit.xcframework/**/*"]
exclude_files += ["cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/libsql/OPLibsqlBridge.cpp", "cpp/libsql/OPLibsqlBridge.hpp", "ios/libsql.xcframework/**/*", "ios/libsql_experimental.xcframework/**/*", "ios/turso_sdk_kit.xcframework/**/*"]
xcconfig[:GCC_PREPROCESSOR_DEFINITIONS] += " OP_SQLITE_USE_SQLCIPHER=1 HAVE_FULLFSYNC=1 SQLITE_HAS_CODEC SQLITE_TEMP_STORE=3 SQLITE_EXTRA_INIT=sqlcipher_extra_init SQLITE_EXTRA_SHUTDOWN=sqlcipher_extra_shutdown"
s.dependency "OpenSSL-Universal"
elsif use_turso then
log_message.call("[OP-SQLITE] using Turso SDK kit")
exclude_files += ["cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/bridge.hpp", "cpp/bridge.cpp", "cpp/sqlcipher/sqlite3.c", "cpp/sqlcipher/sqlite3.h", "cpp/libsql/bridge.hpp", "cpp/libsql/bridge.cpp", "ios/libsql_experimental.xcframework/**/*"]
exclude_files += ["cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/OPBridge.hpp", "cpp/OPBridge.cpp", "cpp/sqlcipher/sqlite3.c", "cpp/sqlcipher/sqlite3.h", "cpp/libsql/OPLibsqlBridge.hpp", "cpp/libsql/OPLibsqlBridge.cpp", "ios/libsql_experimental.xcframework/**/*"]
elsif use_libsql then
log_message.call("[OP-SQLITE] ⚠️ Using libsql. If you have libsql questions please ask in the Turso Discord server.")
exclude_files += ["cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/sqlcipher/sqlite3.c", "cpp/sqlcipher/sqlite3.h", "cpp/bridge.h", "cpp/bridge.cpp", "ios/turso_sdk_kit.xcframework/**/*"]
exclude_files += ["cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/sqlcipher/sqlite3.c", "cpp/sqlcipher/sqlite3.h", "cpp/OPBridge.hpp", "cpp/OPBridge.cpp", "ios/turso_sdk_kit.xcframework/**/*"]
else
log_message.call("[OP-SQLITE] using pure SQLite")
exclude_files += ["cpp/sqlcipher/sqlite3.c", "cpp/sqlcipher/sqlite3.h", "cpp/libsql/bridge.c", "cpp/libsql/bridge.h", "cpp/libsql/bridge.cpp", "cpp/libsql/libsql.h", "ios/libsql_experimental.xcframework/**/*", "ios/turso_sdk_kit.xcframework/**/*"]
exclude_files += ["cpp/sqlcipher/sqlite3.c", "cpp/sqlcipher/sqlite3.h", "cpp/libsql/OPLibsqlBridge.hpp", "cpp/libsql/OPLibsqlBridge.cpp", "cpp/libsql/libsql.h", "ios/libsql_experimental.xcframework/**/*", "ios/turso_sdk_kit.xcframework/**/*"]
end

# Exclude xcframeworks that aren't being used
Expand Down
Loading