1/* DO NOT EDIT!
2** This file is automatically generated by the script in the canonical
3** SQLite source tree at tool/mkctimec.tcl.
4**
5** To modify this header, edit any of the various lists in that script
6** which specify categories of generated conditionals in this file.
7*/
8
9/*
10** 2010 February 23
11**
12** The author disclaims copyright to this source code. In place of
13** a legal notice, here is a blessing:
14**
15** May you do good and not evil.
16** May you find forgiveness for yourself and forgive others.
17** May you share freely, never taking more than you give.
18**
19*************************************************************************
20**
21** This file implements routines used to report what compile-time options
22** SQLite was built with.
23*/
24#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS /* IMP: R-16824-07538 */
25
26/*
27** Include the configuration header output by 'configure' if we're using the
28** autoconf-based build
29*/
30#if defined(_HAVE_SQLITE_CONFIG_H) && !defined(SQLITECONFIG_H)
31#include "sqlite_cfg.h"
32#define SQLITECONFIG_H 1
33#endif
34
35/* These macros are provided to "stringify" the value of the define
36** for those options in which the value is meaningful. */
37#define CTIMEOPT_VAL_(opt) #opt
38#define CTIMEOPT_VAL(opt) CTIMEOPT_VAL_(opt)
39
40/* Like CTIMEOPT_VAL, but especially for SQLITE_DEFAULT_LOOKASIDE. This
41** option requires a separate macro because legal values contain a single
42** comma. e.g. (-DSQLITE_DEFAULT_LOOKASIDE="100,100") */
43#define CTIMEOPT_VAL2_(opt1,opt2) #opt1 "," #opt2
44#define CTIMEOPT_VAL2(opt) CTIMEOPT_VAL2_(opt)
45#include "sqliteInt.h"
46
47/*
48** An array of names of all compile-time options. This array should
49** be sorted A-Z.
50**
51** This array looks large, but in a typical installation actually uses
52** only a handful of compile-time options, so most times this array is usually
53** rather short and uses little memory space.
54*/
55static const char * const sqlite3azCompileOpt[] = {
56
57#ifdef SQLITE_32BIT_ROWID
58 "32BIT_ROWID",
59#endif
60#ifdef SQLITE_4_BYTE_ALIGNED_MALLOC
61 "4_BYTE_ALIGNED_MALLOC",
62#endif
63#ifdef SQLITE_64BIT_STATS
64 "64BIT_STATS",
65#endif
66#ifdef SQLITE_ALLOW_COVERING_INDEX_SCAN
67# if SQLITE_ALLOW_COVERING_INDEX_SCAN != 1
68 "ALLOW_COVERING_INDEX_SCAN=" CTIMEOPT_VAL(SQLITE_ALLOW_COVERING_INDEX_SCAN),
69# endif
70#endif
71#ifdef SQLITE_ALLOW_URI_AUTHORITY
72 "ALLOW_URI_AUTHORITY",
73#endif
74#ifdef SQLITE_ATOMIC_INTRINSICS
75 "ATOMIC_INTRINSICS=" CTIMEOPT_VAL(SQLITE_ATOMIC_INTRINSICS),
76#endif
77#ifdef SQLITE_BITMASK_TYPE
78 "BITMASK_TYPE=" CTIMEOPT_VAL(SQLITE_BITMASK_TYPE),
79#endif
80#ifdef SQLITE_BUG_COMPATIBLE_20160819
81 "BUG_COMPATIBLE_20160819",
82#endif
83#ifdef SQLITE_CASE_SENSITIVE_LIKE
84 "CASE_SENSITIVE_LIKE",
85#endif
86#ifdef SQLITE_CHECK_PAGES
87 "CHECK_PAGES",
88#endif
89#if defined(__clang__) && defined(__clang_major__)
90 "COMPILER=clang-" CTIMEOPT_VAL(__clang_major__) "."
91 CTIMEOPT_VAL(__clang_minor__) "."
92 CTIMEOPT_VAL(__clang_patchlevel__),
93#elif defined(_MSC_VER)
94 "COMPILER=msvc-" CTIMEOPT_VAL(_MSC_VER),
95#elif defined(__GNUC__) && defined(__VERSION__)
96 "COMPILER=gcc-" __VERSION__,
97#endif
98#ifdef SQLITE_COVERAGE_TEST
99 "COVERAGE_TEST",
100#endif
101#ifdef SQLITE_DEBUG
102 "DEBUG",
103#endif
104#ifdef SQLITE_DEFAULT_AUTOMATIC_INDEX
105 "DEFAULT_AUTOMATIC_INDEX",
106#endif
107#ifdef SQLITE_DEFAULT_AUTOVACUUM
108 "DEFAULT_AUTOVACUUM",
109#endif
110#ifdef SQLITE_DEFAULT_CACHE_SIZE
111 "DEFAULT_CACHE_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_CACHE_SIZE),
112#endif
113#ifdef SQLITE_DEFAULT_CKPTFULLFSYNC
114 "DEFAULT_CKPTFULLFSYNC",
115#endif
116#ifdef SQLITE_DEFAULT_FILE_FORMAT
117 "DEFAULT_FILE_FORMAT=" CTIMEOPT_VAL(SQLITE_DEFAULT_FILE_FORMAT),
118#endif
119#ifdef SQLITE_DEFAULT_FILE_PERMISSIONS
120 "DEFAULT_FILE_PERMISSIONS=" CTIMEOPT_VAL(SQLITE_DEFAULT_FILE_PERMISSIONS),
121#endif
122#ifdef SQLITE_DEFAULT_FOREIGN_KEYS
123 "DEFAULT_FOREIGN_KEYS",
124#endif
125#ifdef SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT
126 "DEFAULT_JOURNAL_SIZE_LIMIT=" CTIMEOPT_VAL(SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT),
127#endif
128#ifdef SQLITE_DEFAULT_LOCKING_MODE
129 "DEFAULT_LOCKING_MODE=" CTIMEOPT_VAL(SQLITE_DEFAULT_LOCKING_MODE),
130#endif
131#ifdef SQLITE_DEFAULT_LOOKASIDE
132 "DEFAULT_LOOKASIDE=" CTIMEOPT_VAL2(SQLITE_DEFAULT_LOOKASIDE),
133#endif
134#ifdef SQLITE_DEFAULT_MEMSTATUS
135# if SQLITE_DEFAULT_MEMSTATUS != 1
136 "DEFAULT_MEMSTATUS=" CTIMEOPT_VAL(SQLITE_DEFAULT_MEMSTATUS),
137# endif
138#endif
139#ifdef SQLITE_DEFAULT_MMAP_SIZE
140 "DEFAULT_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_MMAP_SIZE),
141#endif
142#ifdef SQLITE_DEFAULT_PAGE_SIZE
143 "DEFAULT_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_PAGE_SIZE),
144#endif
145#ifdef SQLITE_DEFAULT_PCACHE_INITSZ
146 "DEFAULT_PCACHE_INITSZ=" CTIMEOPT_VAL(SQLITE_DEFAULT_PCACHE_INITSZ),
147#endif
148#ifdef SQLITE_DEFAULT_PROXYDIR_PERMISSIONS
149 "DEFAULT_PROXYDIR_PERMISSIONS=" CTIMEOPT_VAL(SQLITE_DEFAULT_PROXYDIR_PERMISSIONS),
150#endif
151#ifdef SQLITE_DEFAULT_RECURSIVE_TRIGGERS
152 "DEFAULT_RECURSIVE_TRIGGERS",
153#endif
154#ifdef SQLITE_DEFAULT_ROWEST
155 "DEFAULT_ROWEST=" CTIMEOPT_VAL(SQLITE_DEFAULT_ROWEST),
156#endif
157#ifdef SQLITE_DEFAULT_SECTOR_SIZE
158 "DEFAULT_SECTOR_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_SECTOR_SIZE),
159#endif
160#ifdef SQLITE_DEFAULT_SYNCHRONOUS
161 "DEFAULT_SYNCHRONOUS=" CTIMEOPT_VAL(SQLITE_DEFAULT_SYNCHRONOUS),
162#endif
163#ifdef SQLITE_DEFAULT_WAL_AUTOCHECKPOINT
164 "DEFAULT_WAL_AUTOCHECKPOINT=" CTIMEOPT_VAL(SQLITE_DEFAULT_WAL_AUTOCHECKPOINT),
165#endif
166#ifdef SQLITE_DEFAULT_WAL_SYNCHRONOUS
167 "DEFAULT_WAL_SYNCHRONOUS=" CTIMEOPT_VAL(SQLITE_DEFAULT_WAL_SYNCHRONOUS),
168#endif
169#ifdef SQLITE_DEFAULT_WORKER_THREADS
170 "DEFAULT_WORKER_THREADS=" CTIMEOPT_VAL(SQLITE_DEFAULT_WORKER_THREADS),
171#endif
172#ifdef SQLITE_DIRECT_OVERFLOW_READ
173 "DIRECT_OVERFLOW_READ",
174#endif
175#ifdef SQLITE_DISABLE_DIRSYNC
176 "DISABLE_DIRSYNC",
177#endif
178#ifdef SQLITE_DISABLE_FTS3_UNICODE
179 "DISABLE_FTS3_UNICODE",
180#endif
181#ifdef SQLITE_DISABLE_FTS4_DEFERRED
182 "DISABLE_FTS4_DEFERRED",
183#endif
184#ifdef SQLITE_DISABLE_INTRINSIC
185 "DISABLE_INTRINSIC",
186#endif
187#ifdef SQLITE_DISABLE_LFS
188 "DISABLE_LFS",
189#endif
190#ifdef SQLITE_DISABLE_PAGECACHE_OVERFLOW_STATS
191 "DISABLE_PAGECACHE_OVERFLOW_STATS",
192#endif
193#ifdef SQLITE_DISABLE_SKIPAHEAD_DISTINCT
194 "DISABLE_SKIPAHEAD_DISTINCT",
195#endif
196#ifdef SQLITE_DQS
197 "DQS=" CTIMEOPT_VAL(SQLITE_DQS),
198#endif
199#ifdef SQLITE_ENABLE_8_3_NAMES
200 "ENABLE_8_3_NAMES=" CTIMEOPT_VAL(SQLITE_ENABLE_8_3_NAMES),
201#endif
202#ifdef SQLITE_ENABLE_API_ARMOR
203 "ENABLE_API_ARMOR",
204#endif
205#ifdef SQLITE_ENABLE_ATOMIC_WRITE
206 "ENABLE_ATOMIC_WRITE",
207#endif
208#ifdef SQLITE_ENABLE_BATCH_ATOMIC_WRITE
209 "ENABLE_BATCH_ATOMIC_WRITE",
210#endif
211#ifdef SQLITE_ENABLE_BYTECODE_VTAB
212 "ENABLE_BYTECODE_VTAB",
213#endif
214#ifdef SQLITE_ENABLE_CEROD
215 "ENABLE_CEROD=" CTIMEOPT_VAL(SQLITE_ENABLE_CEROD),
216#endif
217#ifdef SQLITE_ENABLE_COLUMN_METADATA
218 "ENABLE_COLUMN_METADATA",
219#endif
220#ifdef SQLITE_ENABLE_COLUMN_USED_MASK
221 "ENABLE_COLUMN_USED_MASK",
222#endif
223#ifdef SQLITE_ENABLE_COSTMULT
224 "ENABLE_COSTMULT",
225#endif
226#ifdef SQLITE_ENABLE_CURSOR_HINTS
227 "ENABLE_CURSOR_HINTS",
228#endif
229#ifdef SQLITE_ENABLE_DBPAGE_VTAB
230 "ENABLE_DBPAGE_VTAB",
231#endif
232#ifdef SQLITE_ENABLE_DBSTAT_VTAB
233 "ENABLE_DBSTAT_VTAB",
234#endif
235#ifdef SQLITE_ENABLE_EXPENSIVE_ASSERT
236 "ENABLE_EXPENSIVE_ASSERT",
237#endif
238#ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS
239 "ENABLE_EXPLAIN_COMMENTS",
240#endif
241#ifdef SQLITE_ENABLE_FTS3
242 "ENABLE_FTS3",
243#endif
244#ifdef SQLITE_ENABLE_FTS3_PARENTHESIS
245 "ENABLE_FTS3_PARENTHESIS",
246#endif
247#ifdef SQLITE_ENABLE_FTS3_TOKENIZER
248 "ENABLE_FTS3_TOKENIZER",
249#endif
250#ifdef SQLITE_ENABLE_FTS4
251 "ENABLE_FTS4",
252#endif
253#ifdef SQLITE_ENABLE_FTS5
254 "ENABLE_FTS5",
255#endif
256#ifdef SQLITE_ENABLE_GEOPOLY
257 "ENABLE_GEOPOLY",
258#endif
259#ifdef SQLITE_ENABLE_HIDDEN_COLUMNS
260 "ENABLE_HIDDEN_COLUMNS",
261#endif
262#ifdef SQLITE_ENABLE_ICU
263 "ENABLE_ICU",
264#endif
265#ifdef SQLITE_ENABLE_IOTRACE
266 "ENABLE_IOTRACE",
267#endif
268#ifdef SQLITE_ENABLE_LOAD_EXTENSION
269 "ENABLE_LOAD_EXTENSION",
270#endif
271#ifdef SQLITE_ENABLE_LOCKING_STYLE
272 "ENABLE_LOCKING_STYLE=" CTIMEOPT_VAL(SQLITE_ENABLE_LOCKING_STYLE),
273#endif
274#ifdef SQLITE_ENABLE_MATH_FUNCTIONS
275 "ENABLE_MATH_FUNCTIONS",
276#endif
277#ifdef SQLITE_ENABLE_MEMORY_MANAGEMENT
278 "ENABLE_MEMORY_MANAGEMENT",
279#endif
280#ifdef SQLITE_ENABLE_MEMSYS3
281 "ENABLE_MEMSYS3",
282#endif
283#ifdef SQLITE_ENABLE_MEMSYS5
284 "ENABLE_MEMSYS5",
285#endif
286#ifdef SQLITE_ENABLE_MULTIPLEX
287 "ENABLE_MULTIPLEX",
288#endif
289#ifdef SQLITE_ENABLE_NORMALIZE
290 "ENABLE_NORMALIZE",
291#endif
292#ifdef SQLITE_ENABLE_NULL_TRIM
293 "ENABLE_NULL_TRIM",
294#endif
295#ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC
296 "ENABLE_OFFSET_SQL_FUNC",
297#endif
298#ifdef SQLITE_ENABLE_OVERSIZE_CELL_CHECK
299 "ENABLE_OVERSIZE_CELL_CHECK",
300#endif
301#ifdef SQLITE_ENABLE_PREUPDATE_HOOK
302 "ENABLE_PREUPDATE_HOOK",
303#endif
304#ifdef SQLITE_ENABLE_QPSG
305 "ENABLE_QPSG",
306#endif
307#ifdef SQLITE_ENABLE_RBU
308 "ENABLE_RBU",
309#endif
310#ifdef SQLITE_ENABLE_RTREE
311 "ENABLE_RTREE",
312#endif
313#ifdef SQLITE_ENABLE_SESSION
314 "ENABLE_SESSION",
315#endif
316#ifdef SQLITE_ENABLE_SNAPSHOT
317 "ENABLE_SNAPSHOT",
318#endif
319#ifdef SQLITE_ENABLE_SORTER_REFERENCES
320 "ENABLE_SORTER_REFERENCES",
321#endif
322#ifdef SQLITE_ENABLE_SQLLOG
323 "ENABLE_SQLLOG",
324#endif
325#ifdef SQLITE_ENABLE_STAT4
326 "ENABLE_STAT4",
327#endif
328#ifdef SQLITE_ENABLE_STMTVTAB
329 "ENABLE_STMTVTAB",
330#endif
331#ifdef SQLITE_ENABLE_STMT_SCANSTATUS
332 "ENABLE_STMT_SCANSTATUS",
333#endif
334#ifdef SQLITE_ENABLE_TREETRACE
335 "ENABLE_TREETRACE",
336#endif
337#ifdef SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
338 "ENABLE_UNKNOWN_SQL_FUNCTION",
339#endif
340#ifdef SQLITE_ENABLE_UNLOCK_NOTIFY
341 "ENABLE_UNLOCK_NOTIFY",
342#endif
343#ifdef SQLITE_ENABLE_UPDATE_DELETE_LIMIT
344 "ENABLE_UPDATE_DELETE_LIMIT",
345#endif
346#ifdef SQLITE_ENABLE_URI_00_ERROR
347 "ENABLE_URI_00_ERROR",
348#endif
349#ifdef SQLITE_ENABLE_VFSTRACE
350 "ENABLE_VFSTRACE",
351#endif
352#ifdef SQLITE_ENABLE_WHERETRACE
353 "ENABLE_WHERETRACE",
354#endif
355#ifdef SQLITE_ENABLE_ZIPVFS
356 "ENABLE_ZIPVFS",
357#endif
358#ifdef SQLITE_EXPLAIN_ESTIMATED_ROWS
359 "EXPLAIN_ESTIMATED_ROWS",
360#endif
361#ifdef SQLITE_EXTRA_IFNULLROW
362 "EXTRA_IFNULLROW",
363#endif
364#ifdef SQLITE_EXTRA_INIT
365 "EXTRA_INIT=" CTIMEOPT_VAL(SQLITE_EXTRA_INIT),
366#endif
367#ifdef SQLITE_EXTRA_SHUTDOWN
368 "EXTRA_SHUTDOWN=" CTIMEOPT_VAL(SQLITE_EXTRA_SHUTDOWN),
369#endif
370#ifdef SQLITE_FTS3_MAX_EXPR_DEPTH
371 "FTS3_MAX_EXPR_DEPTH=" CTIMEOPT_VAL(SQLITE_FTS3_MAX_EXPR_DEPTH),
372#endif
373#ifdef SQLITE_FTS5_ENABLE_TEST_MI
374 "FTS5_ENABLE_TEST_MI",
375#endif
376#ifdef SQLITE_FTS5_NO_WITHOUT_ROWID
377 "FTS5_NO_WITHOUT_ROWID",
378#endif
379#if HAVE_ISNAN || SQLITE_HAVE_ISNAN
380 "HAVE_ISNAN",
381#endif
382#ifdef SQLITE_HOMEGROWN_RECURSIVE_MUTEX
383# if SQLITE_HOMEGROWN_RECURSIVE_MUTEX != 1
384 "HOMEGROWN_RECURSIVE_MUTEX=" CTIMEOPT_VAL(SQLITE_HOMEGROWN_RECURSIVE_MUTEX),
385# endif
386#endif
387#ifdef SQLITE_IGNORE_AFP_LOCK_ERRORS
388 "IGNORE_AFP_LOCK_ERRORS",
389#endif
390#ifdef SQLITE_IGNORE_FLOCK_LOCK_ERRORS
391 "IGNORE_FLOCK_LOCK_ERRORS",
392#endif
393#ifdef SQLITE_INLINE_MEMCPY
394 "INLINE_MEMCPY",
395#endif
396#ifdef SQLITE_INT64_TYPE
397 "INT64_TYPE",
398#endif
399#ifdef SQLITE_INTEGRITY_CHECK_ERROR_MAX
400 "INTEGRITY_CHECK_ERROR_MAX=" CTIMEOPT_VAL(SQLITE_INTEGRITY_CHECK_ERROR_MAX),
401#endif
402#ifdef SQLITE_LIKE_DOESNT_MATCH_BLOBS
403 "LIKE_DOESNT_MATCH_BLOBS",
404#endif
405#ifdef SQLITE_LOCK_TRACE
406 "LOCK_TRACE",
407#endif
408#ifdef SQLITE_LOG_CACHE_SPILL
409 "LOG_CACHE_SPILL",
410#endif
411#ifdef SQLITE_MALLOC_SOFT_LIMIT
412 "MALLOC_SOFT_LIMIT=" CTIMEOPT_VAL(SQLITE_MALLOC_SOFT_LIMIT),
413#endif
414#ifdef SQLITE_MAX_ATTACHED
415 "MAX_ATTACHED=" CTIMEOPT_VAL(SQLITE_MAX_ATTACHED),
416#endif
417#ifdef SQLITE_MAX_COLUMN
418 "MAX_COLUMN=" CTIMEOPT_VAL(SQLITE_MAX_COLUMN),
419#endif
420#ifdef SQLITE_MAX_COMPOUND_SELECT
421 "MAX_COMPOUND_SELECT=" CTIMEOPT_VAL(SQLITE_MAX_COMPOUND_SELECT),
422#endif
423#ifdef SQLITE_MAX_DEFAULT_PAGE_SIZE
424 "MAX_DEFAULT_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_DEFAULT_PAGE_SIZE),
425#endif
426#ifdef SQLITE_MAX_EXPR_DEPTH
427 "MAX_EXPR_DEPTH=" CTIMEOPT_VAL(SQLITE_MAX_EXPR_DEPTH),
428#endif
429#ifdef SQLITE_MAX_FUNCTION_ARG
430 "MAX_FUNCTION_ARG=" CTIMEOPT_VAL(SQLITE_MAX_FUNCTION_ARG),
431#endif
432#ifdef SQLITE_MAX_LENGTH
433 "MAX_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_LENGTH),
434#endif
435#ifdef SQLITE_MAX_LIKE_PATTERN_LENGTH
436 "MAX_LIKE_PATTERN_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_LIKE_PATTERN_LENGTH),
437#endif
438#ifdef SQLITE_MAX_MEMORY
439 "MAX_MEMORY=" CTIMEOPT_VAL(SQLITE_MAX_MEMORY),
440#endif
441#ifdef SQLITE_MAX_MMAP_SIZE
442 "MAX_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE),
443#endif
444#ifdef SQLITE_MAX_MMAP_SIZE_
445 "MAX_MMAP_SIZE_=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE_),
446#endif
447#ifdef SQLITE_MAX_PAGE_COUNT
448 "MAX_PAGE_COUNT=" CTIMEOPT_VAL(SQLITE_MAX_PAGE_COUNT),
449#endif
450#ifdef SQLITE_MAX_PAGE_SIZE
451 "MAX_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_PAGE_SIZE),
452#endif
453#ifdef SQLITE_MAX_SCHEMA_RETRY
454 "MAX_SCHEMA_RETRY=" CTIMEOPT_VAL(SQLITE_MAX_SCHEMA_RETRY),
455#endif
456#ifdef SQLITE_MAX_SQL_LENGTH
457 "MAX_SQL_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_SQL_LENGTH),
458#endif
459#ifdef SQLITE_MAX_TRIGGER_DEPTH
460 "MAX_TRIGGER_DEPTH=" CTIMEOPT_VAL(SQLITE_MAX_TRIGGER_DEPTH),
461#endif
462#ifdef SQLITE_MAX_VARIABLE_NUMBER
463 "MAX_VARIABLE_NUMBER=" CTIMEOPT_VAL(SQLITE_MAX_VARIABLE_NUMBER),
464#endif
465#ifdef SQLITE_MAX_VDBE_OP
466 "MAX_VDBE_OP=" CTIMEOPT_VAL(SQLITE_MAX_VDBE_OP),
467#endif
468#ifdef SQLITE_MAX_WORKER_THREADS
469 "MAX_WORKER_THREADS=" CTIMEOPT_VAL(SQLITE_MAX_WORKER_THREADS),
470#endif
471#ifdef SQLITE_MEMDEBUG
472 "MEMDEBUG",
473#endif
474#ifdef SQLITE_MIXED_ENDIAN_64BIT_FLOAT
475 "MIXED_ENDIAN_64BIT_FLOAT",
476#endif
477#ifdef SQLITE_MMAP_READWRITE
478 "MMAP_READWRITE",
479#endif
480#ifdef SQLITE_MUTEX_NOOP
481 "MUTEX_NOOP",
482#endif
483#ifdef SQLITE_MUTEX_OMIT
484 "MUTEX_OMIT",
485#endif
486#ifdef SQLITE_MUTEX_PTHREADS
487 "MUTEX_PTHREADS",
488#endif
489#ifdef SQLITE_MUTEX_W32
490 "MUTEX_W32",
491#endif
492#ifdef SQLITE_NEED_ERR_NAME
493 "NEED_ERR_NAME",
494#endif
495#ifdef SQLITE_NO_SYNC
496 "NO_SYNC",
497#endif
498#ifdef SQLITE_OMIT_ALTERTABLE
499 "OMIT_ALTERTABLE",
500#endif
501#ifdef SQLITE_OMIT_ANALYZE
502 "OMIT_ANALYZE",
503#endif
504#ifdef SQLITE_OMIT_ATTACH
505 "OMIT_ATTACH",
506#endif
507#ifdef SQLITE_OMIT_AUTHORIZATION
508 "OMIT_AUTHORIZATION",
509#endif
510#ifdef SQLITE_OMIT_AUTOINCREMENT
511 "OMIT_AUTOINCREMENT",
512#endif
513#ifdef SQLITE_OMIT_AUTOINIT
514 "OMIT_AUTOINIT",
515#endif
516#ifdef SQLITE_OMIT_AUTOMATIC_INDEX
517 "OMIT_AUTOMATIC_INDEX",
518#endif
519#ifdef SQLITE_OMIT_AUTORESET
520 "OMIT_AUTORESET",
521#endif
522#ifdef SQLITE_OMIT_AUTOVACUUM
523 "OMIT_AUTOVACUUM",
524#endif
525#ifdef SQLITE_OMIT_BETWEEN_OPTIMIZATION
526 "OMIT_BETWEEN_OPTIMIZATION",
527#endif
528#ifdef SQLITE_OMIT_BLOB_LITERAL
529 "OMIT_BLOB_LITERAL",
530#endif
531#ifdef SQLITE_OMIT_CAST
532 "OMIT_CAST",
533#endif
534#ifdef SQLITE_OMIT_CHECK
535 "OMIT_CHECK",
536#endif
537#ifdef SQLITE_OMIT_COMPLETE
538 "OMIT_COMPLETE",
539#endif
540#ifdef SQLITE_OMIT_COMPOUND_SELECT
541 "OMIT_COMPOUND_SELECT",
542#endif
543#ifdef SQLITE_OMIT_CONFLICT_CLAUSE
544 "OMIT_CONFLICT_CLAUSE",
545#endif
546#ifdef SQLITE_OMIT_CTE
547 "OMIT_CTE",
548#endif
549#if defined(SQLITE_OMIT_DATETIME_FUNCS) || defined(SQLITE_OMIT_FLOATING_POINT)
550 "OMIT_DATETIME_FUNCS",
551#endif
552#ifdef SQLITE_OMIT_DECLTYPE
553 "OMIT_DECLTYPE",
554#endif
555#ifdef SQLITE_OMIT_DEPRECATED
556 "OMIT_DEPRECATED",
557#endif
558#ifdef SQLITE_OMIT_DESERIALIZE
559 "OMIT_DESERIALIZE",
560#endif
561#ifdef SQLITE_OMIT_DISKIO
562 "OMIT_DISKIO",
563#endif
564#ifdef SQLITE_OMIT_EXPLAIN
565 "OMIT_EXPLAIN",
566#endif
567#ifdef SQLITE_OMIT_FLAG_PRAGMAS
568 "OMIT_FLAG_PRAGMAS",
569#endif
570#ifdef SQLITE_OMIT_FLOATING_POINT
571 "OMIT_FLOATING_POINT",
572#endif
573#ifdef SQLITE_OMIT_FOREIGN_KEY
574 "OMIT_FOREIGN_KEY",
575#endif
576#ifdef SQLITE_OMIT_GET_TABLE
577 "OMIT_GET_TABLE",
578#endif
579#ifdef SQLITE_OMIT_HEX_INTEGER
580 "OMIT_HEX_INTEGER",
581#endif
582#ifdef SQLITE_OMIT_INCRBLOB
583 "OMIT_INCRBLOB",
584#endif
585#ifdef SQLITE_OMIT_INTEGRITY_CHECK
586 "OMIT_INTEGRITY_CHECK",
587#endif
588#ifdef SQLITE_OMIT_INTROSPECTION_PRAGMAS
589 "OMIT_INTROSPECTION_PRAGMAS",
590#endif
591#ifdef SQLITE_OMIT_JSON
592 "OMIT_JSON",
593#endif
594#ifdef SQLITE_OMIT_LIKE_OPTIMIZATION
595 "OMIT_LIKE_OPTIMIZATION",
596#endif
597#ifdef SQLITE_OMIT_LOAD_EXTENSION
598 "OMIT_LOAD_EXTENSION",
599#endif
600#ifdef SQLITE_OMIT_LOCALTIME
601 "OMIT_LOCALTIME",
602#endif
603#ifdef SQLITE_OMIT_LOOKASIDE
604 "OMIT_LOOKASIDE",
605#endif
606#ifdef SQLITE_OMIT_MEMORYDB
607 "OMIT_MEMORYDB",
608#endif
609#ifdef SQLITE_OMIT_OR_OPTIMIZATION
610 "OMIT_OR_OPTIMIZATION",
611#endif
612#ifdef SQLITE_OMIT_PAGER_PRAGMAS
613 "OMIT_PAGER_PRAGMAS",
614#endif
615#ifdef SQLITE_OMIT_PARSER_TRACE
616 "OMIT_PARSER_TRACE",
617#endif
618#ifdef SQLITE_OMIT_POPEN
619 "OMIT_POPEN",
620#endif
621#ifdef SQLITE_OMIT_PRAGMA
622 "OMIT_PRAGMA",
623#endif
624#ifdef SQLITE_OMIT_PROGRESS_CALLBACK
625 "OMIT_PROGRESS_CALLBACK",
626#endif
627#ifdef SQLITE_OMIT_QUICKBALANCE
628 "OMIT_QUICKBALANCE",
629#endif
630#ifdef SQLITE_OMIT_REINDEX
631 "OMIT_REINDEX",
632#endif
633#ifdef SQLITE_OMIT_SCHEMA_PRAGMAS
634 "OMIT_SCHEMA_PRAGMAS",
635#endif
636#ifdef SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS
637 "OMIT_SCHEMA_VERSION_PRAGMAS",
638#endif
639#ifdef SQLITE_OMIT_SHARED_CACHE
640 "OMIT_SHARED_CACHE",
641#endif
642#ifdef SQLITE_OMIT_SHUTDOWN_DIRECTORIES
643 "OMIT_SHUTDOWN_DIRECTORIES",
644#endif
645#ifdef SQLITE_OMIT_SUBQUERY
646 "OMIT_SUBQUERY",
647#endif
648#ifdef SQLITE_OMIT_TCL_VARIABLE
649 "OMIT_TCL_VARIABLE",
650#endif
651#ifdef SQLITE_OMIT_TEMPDB
652 "OMIT_TEMPDB",
653#endif
654#ifdef SQLITE_OMIT_TEST_CONTROL
655 "OMIT_TEST_CONTROL",
656#endif
657#ifdef SQLITE_OMIT_TRACE
658# if SQLITE_OMIT_TRACE != 1
659 "OMIT_TRACE=" CTIMEOPT_VAL(SQLITE_OMIT_TRACE),
660# endif
661#endif
662#ifdef SQLITE_OMIT_TRIGGER
663 "OMIT_TRIGGER",
664#endif
665#ifdef SQLITE_OMIT_TRUNCATE_OPTIMIZATION
666 "OMIT_TRUNCATE_OPTIMIZATION",
667#endif
668#ifdef SQLITE_OMIT_UTF16
669 "OMIT_UTF16",
670#endif
671#ifdef SQLITE_OMIT_VACUUM
672 "OMIT_VACUUM",
673#endif
674#ifdef SQLITE_OMIT_VIEW
675 "OMIT_VIEW",
676#endif
677#ifdef SQLITE_OMIT_VIRTUALTABLE
678 "OMIT_VIRTUALTABLE",
679#endif
680#ifdef SQLITE_OMIT_WAL
681 "OMIT_WAL",
682#endif
683#ifdef SQLITE_OMIT_WSD
684 "OMIT_WSD",
685#endif
686#ifdef SQLITE_OMIT_XFER_OPT
687 "OMIT_XFER_OPT",
688#endif
689#ifdef SQLITE_PERFORMANCE_TRACE
690 "PERFORMANCE_TRACE",
691#endif
692#ifdef SQLITE_POWERSAFE_OVERWRITE
693# if SQLITE_POWERSAFE_OVERWRITE != 1
694 "POWERSAFE_OVERWRITE=" CTIMEOPT_VAL(SQLITE_POWERSAFE_OVERWRITE),
695# endif
696#endif
697#ifdef SQLITE_PREFER_PROXY_LOCKING
698 "PREFER_PROXY_LOCKING",
699#endif
700#ifdef SQLITE_PROXY_DEBUG
701 "PROXY_DEBUG",
702#endif
703#ifdef SQLITE_REVERSE_UNORDERED_SELECTS
704 "REVERSE_UNORDERED_SELECTS",
705#endif
706#ifdef SQLITE_RTREE_INT_ONLY
707 "RTREE_INT_ONLY",
708#endif
709#ifdef SQLITE_SECURE_DELETE
710 "SECURE_DELETE",
711#endif
712#ifdef SQLITE_SMALL_STACK
713 "SMALL_STACK",
714#endif
715#ifdef SQLITE_SORTER_PMASZ
716 "SORTER_PMASZ=" CTIMEOPT_VAL(SQLITE_SORTER_PMASZ),
717#endif
718#ifdef SQLITE_SOUNDEX
719 "SOUNDEX",
720#endif
721#ifdef SQLITE_STAT4_SAMPLES
722 "STAT4_SAMPLES=" CTIMEOPT_VAL(SQLITE_STAT4_SAMPLES),
723#endif
724#ifdef SQLITE_STMTJRNL_SPILL
725 "STMTJRNL_SPILL=" CTIMEOPT_VAL(SQLITE_STMTJRNL_SPILL),
726#endif
727#ifdef SQLITE_SUBSTR_COMPATIBILITY
728 "SUBSTR_COMPATIBILITY",
729#endif
730#if (!defined(SQLITE_WIN32_MALLOC) \
731 && !defined(SQLITE_ZERO_MALLOC) \
732 && !defined(SQLITE_MEMDEBUG) \
733 ) || defined(SQLITE_SYSTEM_MALLOC)
734 "SYSTEM_MALLOC",
735#endif
736#ifdef SQLITE_TCL
737 "TCL",
738#endif
739#ifdef SQLITE_TEMP_STORE
740 "TEMP_STORE=" CTIMEOPT_VAL(SQLITE_TEMP_STORE),
741#endif
742#ifdef SQLITE_TEST
743 "TEST",
744#endif
745#if defined(SQLITE_THREADSAFE)
746 "THREADSAFE=" CTIMEOPT_VAL(SQLITE_THREADSAFE),
747#elif defined(THREADSAFE)
748 "THREADSAFE=" CTIMEOPT_VAL(THREADSAFE),
749#else
750 "THREADSAFE=1",
751#endif
752#ifdef SQLITE_UNLINK_AFTER_CLOSE
753 "UNLINK_AFTER_CLOSE",
754#endif
755#ifdef SQLITE_UNTESTABLE
756 "UNTESTABLE",
757#endif
758#ifdef SQLITE_USER_AUTHENTICATION
759 "USER_AUTHENTICATION",
760#endif
761#ifdef SQLITE_USE_ALLOCA
762 "USE_ALLOCA",
763#endif
764#ifdef SQLITE_USE_FCNTL_TRACE
765 "USE_FCNTL_TRACE",
766#endif
767#ifdef SQLITE_USE_URI
768 "USE_URI",
769#endif
770#ifdef SQLITE_VDBE_COVERAGE
771 "VDBE_COVERAGE",
772#endif
773#ifdef SQLITE_WIN32_MALLOC
774 "WIN32_MALLOC",
775#endif
776#ifdef SQLITE_ZERO_MALLOC
777 "ZERO_MALLOC",
778#endif
779
780} ;
781
782const char **sqlite3CompileOptions(int *pnOpt){
783 *pnOpt = sizeof(sqlite3azCompileOpt) / sizeof(sqlite3azCompileOpt[0]);
784 return (const char**)sqlite3azCompileOpt;
785}
786
787#endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */
788