5 # const char **azCompileOpt[]
7 # declaration used in src/ctime.c, run this script.
10 # All Boolean compile time options.
14 SQLITE_4_BYTE_ALIGNED_MALLOC
16 SQLITE_ALLOW_COVERING_INDEX_SCAN
17 SQLITE_ALLOW_URI_AUTHORITY
18 SQLITE_BUG_COMPATIBLE_20160819
19 SQLITE_CASE_SENSITIVE_LIKE
23 SQLITE_DEFAULT_AUTOMATIC_INDEX
24 SQLITE_DEFAULT_AUTOVACUUM
25 SQLITE_DEFAULT_CKPTFULLFSYNC
26 SQLITE_DEFAULT_FOREIGN_KEYS
27 SQLITE_DEFAULT_LOCKING_MODE
28 SQLITE_DEFAULT_MEMSTATUS
29 SQLITE_DEFAULT_RECURSIVE_TRIGGERS
30 SQLITE_DEFAULT_SYNCHRONOUS
31 SQLITE_DEFAULT_WAL_SYNCHRONOUS
32 SQLITE_DIRECT_OVERFLOW_READ
33 SQLITE_DISABLE_DIRSYNC
34 SQLITE_DISABLE_FTS3_UNICODE
35 SQLITE_DISABLE_FTS4_DEFERRED
36 SQLITE_DISABLE_INTRINSIC
38 SQLITE_DISABLE_PAGECACHE_OVERFLOW_STATS
39 SQLITE_DISABLE_SKIPAHEAD_DISTINCT
40 SQLITE_ENABLE_8_3_NAMES
41 SQLITE_ENABLE_API_ARMOR
42 SQLITE_ENABLE_ATOMIC_WRITE
44 SQLITE_ENABLE_COLUMN_METADATA
45 SQLITE_ENABLE_COLUMN_USED_MASK
46 SQLITE_ENABLE_COSTMULT
47 SQLITE_ENABLE_CURSOR_HINTS
48 SQLITE_ENABLE_DBSTAT_VTAB
49 SQLITE_ENABLE_EXPENSIVE_ASSERT
53 SQLITE_ENABLE_FTS3_PARENTHESIS
54 SQLITE_ENABLE_FTS3_TOKENIZER
57 SQLITE_ENABLE_HIDDEN_COLUMNS
61 SQLITE_ENABLE_LOAD_EXTENSION
62 SQLITE_ENABLE_LOCKING_STYLE
63 SQLITE_ENABLE_MEMORY_MANAGEMENT
66 SQLITE_ENABLE_MULTIPLEX
67 SQLITE_ENABLE_NULL_TRIM
68 SQLITE_ENABLE_OVERSIZE_CELL_CHECK
69 SQLITE_ENABLE_PREUPDATE_HOOK
72 SQLITE_ENABLE_SELECTTRACE
74 SQLITE_ENABLE_SNAPSHOT
76 SQLITE_ENABLE_STMT_SCANSTATUS
77 SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
78 SQLITE_ENABLE_UNLOCK_NOTIFY
79 SQLITE_ENABLE_UPDATE_DELETE_LIMIT
80 SQLITE_ENABLE_URI_00_ERROR
81 SQLITE_ENABLE_VFSTRACE
82 SQLITE_ENABLE_WHERETRACE
84 SQLITE_EXPLAIN_ESTIMATED_ROWS
85 SQLITE_EXTRA_IFNULLROW
86 SQLITE_FTS5_ENABLE_TEST_MI
87 SQLITE_FTS5_NO_WITHOUT_ROWID
89 SQLITE_HOMEGROWN_RECURSIVE_MUTEX
90 SQLITE_IGNORE_AFP_LOCK_ERRORS
91 SQLITE_IGNORE_FLOCK_LOCK_ERRORS
94 SQLITE_LIKE_DOESNT_MATCH_BLOBS
96 SQLITE_LOG_CACHE_SPILL
98 SQLITE_MIXED_ENDIAN_64BIT_FLOAT
103 SQLITE_MUTEX_PTHREADS
108 SQLITE_OMIT_ALTERTABLE
111 SQLITE_OMIT_AUTHORIZATION
112 SQLITE_OMIT_AUTOINCREMENT
114 SQLITE_OMIT_AUTOMATIC_INDEX
115 SQLITE_OMIT_AUTORESET
116 SQLITE_OMIT_AUTOVACUUM
117 SQLITE_OMIT_BETWEEN_OPTIMIZATION
118 SQLITE_OMIT_BLOB_LITERAL
119 SQLITE_OMIT_BTREECOUNT
123 SQLITE_OMIT_COMPOUND_SELECT
124 SQLITE_OMIT_CONFLICT_CLAUSE
126 SQLITE_OMIT_DATETIME_FUNCS
128 SQLITE_OMIT_DEPRECATED
131 SQLITE_OMIT_FLAG_PRAGMAS
132 SQLITE_OMIT_FLOATING_POINT
133 SQLITE_OMIT_FOREIGN_KEY
134 SQLITE_OMIT_GET_TABLE
135 SQLITE_OMIT_HEX_INTEGER
137 SQLITE_OMIT_INTEGRITY_CHECK
138 SQLITE_OMIT_LIKE_OPTIMIZATION
139 SQLITE_OMIT_LOAD_EXTENSION
140 SQLITE_OMIT_LOCALTIME
141 SQLITE_OMIT_LOOKASIDE
143 SQLITE_OMIT_OR_OPTIMIZATION
144 SQLITE_OMIT_PAGER_PRAGMAS
145 SQLITE_OMIT_PARSER_TRACE
148 SQLITE_OMIT_PROGRESS_CALLBACK
149 SQLITE_OMIT_QUICKBALANCE
151 SQLITE_OMIT_SCHEMA_PRAGMAS
152 SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS
153 SQLITE_OMIT_SHARED_CACHE
154 SQLITE_OMIT_SHUTDOWN_DIRECTORIES
156 SQLITE_OMIT_TCL_VARIABLE
158 SQLITE_OMIT_TEST_CONTROL
161 SQLITE_OMIT_TRUNCATE_OPTIMIZATION
165 SQLITE_OMIT_VIRTUALTABLE
169 SQLITE_PCACHE_SEPARATE_HEADER
170 SQLITE_PERFORMANCE_TRACE
171 SQLITE_POWERSAFE_OVERWRITE
172 SQLITE_PREFER_PROXY_LOCKING
174 SQLITE_REVERSE_UNORDERED_SELECTS
175 SQLITE_RTREE_INT_ONLY
179 SQLITE_SUBSTR_COMPATIBILITY
183 SQLITE_UNLINK_AFTER_CLOSE
186 SQLITE_USE_FCNTL_TRACE
187 SQLITE_USER_AUTHENTICATION
194 # All compile time options for which the assigned value is other than boolean.
198 SQLITE_DEFAULT_CACHE_SIZE
199 SQLITE_DEFAULT_FILE_FORMAT
200 SQLITE_DEFAULT_FILE_PERMISSIONS
201 SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT
202 SQLITE_DEFAULT_LOCKING_MODE
203 SQLITE_DEFAULT_LOOKASIDE
204 SQLITE_DEFAULT_MMAP_SIZE
205 SQLITE_DEFAULT_PAGE_SIZE
206 SQLITE_DEFAULT_PCACHE_INITSZ
207 SQLITE_DEFAULT_PROXYDIR_PERMISSIONS
208 SQLITE_DEFAULT_ROWEST
209 SQLITE_DEFAULT_SECTOR_SIZE
210 SQLITE_DEFAULT_SYNCHRONOUS
211 SQLITE_DEFAULT_WAL_AUTOCHECKPOINT
212 SQLITE_DEFAULT_WAL_SYNCHRONOUS
213 SQLITE_DEFAULT_WORKER_THREADS
214 SQLITE_ENABLE_8_3_NAMES
215 SQLITE_ENABLE_LOCKING_STYLE
217 SQLITE_EXTRA_SHUTDOWN
218 SQLITE_FTS3_MAX_EXPR_DEPTH
219 SQLITE_INTEGRITY_CHECK_ERROR_MAX
220 SQLITE_MALLOC_SOFT_LIMIT
223 SQLITE_MAX_COMPOUND_SELECT
224 SQLITE_MAX_DEFAULT_PAGE_SIZE
225 SQLITE_MAX_EXPR_DEPTH
226 SQLITE_MAX_FUNCTION_ARG
228 SQLITE_MAX_LIKE_PATTERN_LENGTH
231 SQLITE_MAX_MMAP_SIZE_
232 SQLITE_MAX_PAGE_COUNT
234 SQLITE_MAX_SCHEMA_RETRY
235 SQLITE_MAX_SQL_LENGTH
236 SQLITE_MAX_TRIGGER_DEPTH
237 SQLITE_MAX_VARIABLE_NUMBER
239 SQLITE_MAX_WORKER_THREADS
242 SQLITE_STMTJRNL_SPILL
246 # Options that require custom code.
248 set options(ENABLE_STAT3
) {
249 #if defined(SQLITE_ENABLE_STAT4)
251 #elif defined(SQLITE_ENABLE_STAT3)
255 set options(COMPILER
) {
256 #if defined(__clang__) && defined(__clang_major__)
257 "COMPILER=clang-" CTIMEOPT_VAL
(__clang_major__
) "."
258 CTIMEOPT_VAL
(__clang_minor__
) "."
259 CTIMEOPT_VAL
(__clang_patchlevel__
),
260 #elif defined(_MSC_VER)
261 "COMPILER=msvc-" CTIMEOPT_VAL
(_MSC_VER
),
262 #elif defined(__GNUC__) && defined(__VERSION__)
263 "COMPILER=gcc-" __VERSION__
,
266 set options(HAVE_ISNAN
) {
267 #if HAVE_ISNAN || SQLITE_HAVE_ISNAN
271 set options(THREADSAFE
) {
272 #if defined(SQLITE_THREADSAFE)
273 "THREADSAFE=" CTIMEOPT_VAL
(SQLITE_THREADSAFE
),
274 #elif defined(THREADSAFE)
275 "THREADSAFE=" CTIMEOPT_VAL
(THREADSAFE
),
281 proc trim_name
{in
} {
283 if {[string range
$in 0 6]=="SQLITE_"} {
284 set ret
[string range
$in 7 end
]
289 foreach b
$boolean_options {
290 set name
[trim_name
$b]
291 set options($name) [subst {
298 foreach v
$value_options {
299 set name
[trim_name
$v]
300 set options($name) [subst {
302 "$name=" CTIMEOPT_VAL
($v),
307 foreach o
[lsort [array names
options]] {
308 puts [string trim
$options($o)]