-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsqlite3mc.podspec
More file actions
164 lines (136 loc) · 6.67 KB
/
sqlite3mc.podspec
File metadata and controls
164 lines (136 loc) · 6.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
#
# Be sure to run `pod lib lint Sqlite3MC.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
#
Pod::Spec.new do |s|
s.name = 'sqlite3mc'
s.version = '0.1.0'
s.summary = 'A short description of sqlite3mc.'
# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!
s.description = <<-DESC
TODO: Add long description of the pod here.
DESC
s.homepage = 'https://github.com/thinkassembly/sqlite3mc.git'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
s.license = 'asdlfkjalsdkfj '
s.author = { 'nullrocket' => 'douglas.b.hill@gmail.com' }
s.source = { :git => "https://github.com/thinkassembly/sqlite3mc.git" }
s.prepare_command = <<-CMD
ls
mkdir -p sys
touch ./sys/random.h
CMD
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
s.requires_arc = false
s.default_subspecs = 'common'
s.subspec 'common' do |ss|
ss.source_files = "sqlite*.{h,c}"
ss.public_header_files = "sqlite3.h,sqlite3ext.h"
ss.osx.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DHAVE_USLEEP=1 -maes -isystem=./ -Wno-strict-prototypes -Wno-shorten-64-to-32 -Wno-ambiguous-macro -Wno-unused-variable -Wno-comma -Wno-unreachable-code -Wno-unused-function',
"HEADER_SEARCH_PATHS" => "$(PODS_ROOT)/sqlite3mc" }
# Disable OS X / AFP locking code on mobile platforms (iOS, tvOS, watchOS)
sqlite_xcconfig_ios = { 'OTHER_CFLAGS' => '$(inherited) -DHAVE_USLEEP=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -maes -isystem=./ -Wno-strict-prototypes -Wno-shorten-64-to-32 -Wno-ambiguous-macro -Wno-unused-variable', "HEADER_SEARCH_PATHS" => "$(PODS_ROOT)/sqlite3mc"
}
ss.ios.pod_target_xcconfig = sqlite_xcconfig_ios
ss.tvos.pod_target_xcconfig = sqlite_xcconfig_ios
ss.watchos.pod_target_xcconfig = sqlite_xcconfig_ios
end
# Detect misuse of SQLite API
s.subspec 'api_armor' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_ENABLE_API_ARMOR=1' }
end
# API for column meta-data access
s.subspec 'coldata' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_ENABLE_COLUMN_METADATA=1' }
end
# FTS4 full-text-search
s.subspec 'fts' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1' }
end
# FTS5 full-text-search
s.subspec 'fts5' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_ENABLE_FTS5=1' }
end
# Geopoly extension
s.subspec 'geopoly' do |ss|
ss.dependency 'sqlite3mc/common'
ss.dependency 'sqlite3mc/rtree'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_ENABLE_GEOPOLY=1' }
end
# JSON1 extension for managing JSON content (Built-in since 3.38.0)
s.subspec 'json1' do |ss|
ss.dependency 'sqlite3mc/common'
end
# Recommended defaults for increased performance and reduced memory usage
s.subspec 'perf' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1 -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_OMIT_DECLTYPE=1 -DSQLITE_OMIT_DEPRECATED=1 -DSQLITE_OMIT_PROGRESS_CALLBACK=1 -DSQLITE_OMIT_SHARED_CACHE=1 -DSQLITE_USE_ALLOCA=1' }
end
# Recommended defaults for increased performance and reduced memory usage (Threadsafe and with shared-cache mode)
s.subspec 'perf-threadsafe' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(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_DECLTYPE=1 -DSQLITE_OMIT_DEPRECATED=1 -DSQLITE_OMIT_PROGRESS_CALLBACK=1 -DSQLITE_USE_ALLOCA=1' }
end
# Resumable Bulk Update
s.subspec 'rbu' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_ENABLE_RBU=1' }
end
# R*Tree index for range queries
s.subspec 'rtree' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_ENABLE_RTREE=1' }
end
# Session extension: Record and package changes to rowid tables into files that can be applied to other DBs
s.subspec 'session' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_ENABLE_PREUPDATE_HOOK=1 -DSQLITE_ENABLE_SESSION=1' }
end
# Interface for historical database snapshots
s.subspec 'snapshot' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_ENABLE_SNAPSHOT=1' }
end
# Soundex phonetic string encoding function
s.subspec 'soundex' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_SOUNDEX=1' }
end
# Enhanced ANALYZE and query planner (Deprecated!)
s.subspec 'stat3' do |ss|
# The legacy option SQLITE_ENABLE_STAT3 is a no-op since version 3.30.0
# We therefore depend on the replacement SQLITE_ENABLE_STAT4
ss.dependency 'sqlite3mc/stat4'
end
# Enhanced ANALYZE and query planner: Collects histogram data for all columns of each index
s.subspec 'stat4' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_ENABLE_STAT4=1' }
end
# Build unicode61 FTS tokenizer (Deprecated! The tokenizer is built by default)
s.subspec 'unicode61' do |ss|
ss.dependency 'sqlite3mc/common'
ss.dependency 'sqlite3mc/fts'
end
# API to register unlock-notification callbacks
s.subspec 'unlock_notify' do |ss|
ss.dependency 'sqlite3mc/common'
ss.pod_target_xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_ENABLE_UNLOCK_NOTIFY=1' }
end
# The spellfix1 module not part of the default amalgation
# s.subspec 'spellfix1' do |ss|
# ss.dependency 'sqlite3mc/common'
# ss.source_files = "#{archive_name}/ext/misc/spellfix.c"
# end
end