@@ -9,19 +9,17 @@ let package = Package(
9
9
] ,
10
10
products: [
11
11
. library( name: " SQLiteNIO " , targets: [ " SQLiteNIO " ] ) ,
12
+ // This target is only used to add our vendor prefix and is added and removed automatically.
13
+ // See: scripts/vendor-sqlite3.swift
14
+ /* VENDOR_START
15
+ .library(name: "CSQLite", type: .static, targets: ["CSQLite"]),
16
+ VENDOR_END */
12
17
] ,
13
18
dependencies: [
14
19
. package ( url: " https://github.com/apple/swift-nio.git " , from: " 2.42.0 " ) ,
15
20
. package ( url: " https://github.com/apple/swift-log.git " , from: " 1.0.0 " ) ,
16
21
] ,
17
22
targets: [
18
- . systemLibrary(
19
- name: " CSQLite " ,
20
- providers: [
21
- . apt( [ " libsqlite3-dev " ] ) ,
22
- . brew( [ " sqlite3 " ] )
23
- ]
24
- ) ,
25
23
. target( name: " SQLiteNIO " , dependencies: [
26
24
. target( name: " CSQLite " ) ,
27
25
. product( name: " Logging " , package : " swift-log " ) ,
@@ -30,3 +28,61 @@ let package = Package(
30
28
. testTarget( name: " SQLiteNIOTests " , dependencies: [ " SQLiteNIO " ] ) ,
31
29
]
32
30
)
31
+
32
+ // Derived from sqlite3 version 3.37.2 2022-01-06 13:25:41 872ba256cbf61d9290b571c0e6d82a20c224ca3ad82971edc46b29818d5dalt1
33
+ // compiled with gcc-11.3.0
34
+ // on platform Ubuntu 22.04.1 LTS (Jammy Jellyfish)
35
+ var cSQLiteSettings : [ CSetting ] = [
36
+ . define( " SQLITE_ENABLE_COLUMN_METADATA " ) ,
37
+ . define( " SQLITE_ENABLE_DBSTAT_VTAB " ) ,
38
+ . define( " SQLITE_ENABLE_FTS3 " ) ,
39
+ . define( " SQLITE_ENABLE_FTS3_PARENTHESIS " ) ,
40
+ . define( " SQLITE_ENABLE_FTS3_TOKENIZER " ) ,
41
+ . define( " SQLITE_ENABLE_FTS4 " ) ,
42
+ . define( " SQLITE_ENABLE_FTS5 " ) ,
43
+ . define( " SQLITE_ENABLE_JSON1 " ) ,
44
+ . define( " SQLITE_ENABLE_PREUPDATE_HOOK " ) ,
45
+ . define( " SQLITE_ENABLE_RTREE " ) ,
46
+ . define( " SQLITE_ENABLE_SESSION " ) ,
47
+ . define( " SQLITE_ENABLE_STMTVTAB " ) ,
48
+ . define( " SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION " ) ,
49
+ . define( " SQLITE_ENABLE_UNLOCK_NOTIFY " ) ,
50
+ . define( " SQLITE_ENABLE_UPDATE_DELETE_LIMIT " ) ,
51
+ . define( " SQLITE_HAVE_ISNAN " ) ,
52
+ . define( " SQLITE_LIKE_DOESNT_MATCH_BLOBS " ) ,
53
+ . define( " SQLITE_MUTEX_PTHREADS " ) ,
54
+ . define( " SQLITE_OMIT_LOAD_EXTENSION " ) ,
55
+ . define( " SQLITE_OMIT_LOOKASIDE " ) ,
56
+ . define( " SQLITE_SECURE_DELETE " ) ,
57
+ . define( " SQLITE_SYSTEM_MALLOC " ) ,
58
+ . define( " SQLITE_USE_URI " ) ,
59
+ ]
60
+
61
+ #if os(macOS)
62
+ // Derived from sqlite3 version 3.37.0 2021-12-09 01:34:53 9ff244ce0739f8ee52a3e9671adb4ee54c83c640b02e3f9d185fd2f9a179aapl
63
+ // compiled with clang-13.1.6
64
+ // on platform macOS 12.6 (21G115)
65
+ cSQLiteSettings. append ( contentsOf: [
66
+ . define( " SQLITE_DEFAULT_CACHE_SIZE " , to: " 2000 " ) ,
67
+ . define( " SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT " , to: " 32768 " ) ,
68
+ . define( " SQLITE_DEFAULT_LOOKASIDE " , to: " 1200,102 " ) ,
69
+ . define( " SQLITE_DEFAULT_MEMSTATUS " , to: " 0 " ) ,
70
+ . define( " SQLITE_DEFAULT_MMAP_SIZE " , to: " 0 " ) ,
71
+ . define( " SQLITE_DEFAULT_PAGE_SIZE " , to: " 4096 " ) ,
72
+ . define( " SQLITE_DEFAULT_PCACHE_INITSZ " , to: " 20 " ) ,
73
+ . define( " SQLITE_DEFAULT_SYNCHRONOUS " , to: " 2 " ) ,
74
+ . define( " SQLITE_DEFAULT_WAL_AUTOCHECKPOINT " , to: " 1000 " ) ,
75
+ . define( " SQLITE_DEFAULT_WAL_SYNCHRONOUS " , to: " 1 " ) ,
76
+ . define( " SQLITE_DEFAULT_WORKER_THREADS " , to: " 0 " ) ,
77
+ . define( " SQLITE_ENABLE_LOCKING_STYLE " , to: " 1 " ) ,
78
+ . define( " SQLITE_MAX_MMAP_SIZE " , to: " 1073741824 " ) ,
79
+ ] )
80
+ #endif
81
+
82
+ package . targets. append (
83
+ . target(
84
+ name: " CSQLite " ,
85
+ dependencies: [ ] ,
86
+ cSettings: cSQLiteSettings
87
+ )
88
+ )
0 commit comments