diff --git a/packages/react-native-nitro-sqlite/RNNitroSQLite.podspec b/packages/react-native-nitro-sqlite/RNNitroSQLite.podspec index 93065ff2..61906122 100644 --- a/packages/react-native-nitro-sqlite/RNNitroSQLite.podspec +++ b/packages/react-native-nitro-sqlite/RNNitroSQLite.podspec @@ -2,6 +2,9 @@ require "json" package = JSON.parse(File.read(File.join(__dir__, "package.json"))) folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1' +log_message = lambda do |message| + puts "\e[34m#{message}\e[0m" +end # TODO: Should be customizable in package.json. # Used to create comparable benchmark results @@ -30,6 +33,16 @@ Pod::Spec.new do |s| "cpp/**/*.{h,hpp,c,cpp}" ] + optimizedCflags = '$(inherited) -DSQLITE_DQS=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1 -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_OMIT_DEPRECATED=1 -DSQLITE_OMIT_PROGRESS_CALLBACK=1 -DSQLITE_OMIT_SHARED_CACHE=1 -DSQLITE_USE_ALLOCA=1' + + if performance_mode == 1 + log_message.call("Thread unsafe (1) performance mode enabled. Use only transactions! 🚀🚀") + other_cflags = optimizedCflags + ' -DSQLITE_THREADSAFE=0 ' + elsif performance_mode == 2 + log_message.call("Thread safe (2) performance mode enabled 🚀") + other_cflags = optimizedCflags + ' -DSQLITE_THREADSAFE=1 ' + end + s.pod_target_xcconfig = { :GCC_PREPROCESSOR_DEFINITIONS => "HAVE_FULLFSYNC=1", :WARNING_CFLAGS => "-Wno-shorten-64-to-32 -Wno-comma -Wno-unreachable-code -Wno-conditional-uninitialized -Wno-deprecated-declarations", @@ -39,6 +52,7 @@ Pod::Spec.new do |s| "HEADER_SEARCH_PATHS" => "\"${PODS_ROOT}/RCT-Folly\"" + (nitro_sqlite_vec ? " \"#{nitro_sqlite_vec_cpp}\"" : ""), "GCC_PREPROCESSOR_DEFINITIONS" => "$(inherited) FOLLY_NO_CONFIG FOLLY_CFG_NO_COROUTINES" + (nitro_sqlite_vec ? " NITRO_SQLITE_VEC=1" : ""), "OTHER_CPLUSPLUSFLAGS" => folly_compiler_flags, + "OTHER_CFLAGS" => other_cflags, } load 'nitrogen/generated/ios/RNNitroSQLite+autolinking.rb' @@ -46,18 +60,6 @@ Pod::Spec.new do |s| install_modules_dependencies(s) - optimizedCflags = '$(inherited) -DSQLITE_DQS=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1 -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_OMIT_DEPRECATED=1 -DSQLITE_OMIT_PROGRESS_CALLBACK=1 -DSQLITE_OMIT_SHARED_CACHE=1 -DSQLITE_USE_ALLOCA=1' - - if performance_mode == '1' then - log_message.call("Thread unsafe (1) performance mode enabled. Use only transactions! 🚀🚀") - xcconfig[:OTHER_CFLAGS] = optimizedCflags + ' -DSQLITE_THREADSAFE=0 ' - end - - if performance_mode == '2' then - log_message.call("Thread safe (2) performance mode enabled 🚀") - xcconfig[:OTHER_CFLAGS] = optimizedCflags + ' -DSQLITE_THREADSAFE=1 ' - end - if ENV['NITRO_SQLITE_USE_PHONE_VERSION'] == '1' then s.exclude_files = "cpp/sqlite/sqlite3.c", "cpp/sqlite/sqlite3.h" s.library = "sqlite3"