000001 /*
000002 ** 2010 February 23
000003 **
000004 ** The author disclaims copyright to this source code. In place of
000005 ** a legal notice, here is a blessing:
000006 **
000007 ** May you do good and not evil.
000008 ** May you find forgiveness for yourself and forgive others.
000009 ** May you share freely, never taking more than you give.
000010 **
000011 *************************************************************************
000012 **
000013 ** This file implements routines used to report what compile-time options
000014 ** SQLite was built with.
000015 */
000016
000017 #ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS /* IMP: R-16824-07538 */
000018
000019 /*
000020 ** Include the configuration header output by 'configure' if we're using the
000021 ** autoconf-based build
000022 */
000023 #if defined(_HAVE_SQLITE_CONFIG_H) && !defined(SQLITECONFIG_H)
000024 #include "config.h"
000025 #define SQLITECONFIG_H 1
000026 #endif
000027
000028 /* These macros are provided to "stringify" the value of the define
000029 ** for those options in which the value is meaningful. */
000030 #define CTIMEOPT_VAL_(opt) #opt
000031 #define CTIMEOPT_VAL(opt) CTIMEOPT_VAL_(opt)
000032
000033 /* Like CTIMEOPT_VAL, but especially for SQLITE_DEFAULT_LOOKASIDE. This
000034 ** option requires a separate macro because legal values contain a single
000035 ** comma. e.g. (-DSQLITE_DEFAULT_LOOKASIDE="100,100") */
000036 #define CTIMEOPT_VAL2_(opt1,opt2) #opt1 "," #opt2
000037 #define CTIMEOPT_VAL2(opt) CTIMEOPT_VAL2_(opt)
000038
000039 /*
000040 ** An array of names of all compile-time options. This array should
000041 ** be sorted A-Z.
000042 **
000043 ** This array looks large, but in a typical installation actually uses
000044 ** only a handful of compile-time options, so most times this array is usually
000045 ** rather short and uses little memory space.
000046 */
000047 static const char * const sqlite3azCompileOpt[] = {
000048
000049 /*
000050 ** BEGIN CODE GENERATED BY tool/mkctime.tcl
000051 */
000052 #if SQLITE_32BIT_ROWID
000053 "32BIT_ROWID",
000054 #endif
000055 #if SQLITE_4_BYTE_ALIGNED_MALLOC
000056 "4_BYTE_ALIGNED_MALLOC",
000057 #endif
000058 #if SQLITE_64BIT_STATS
000059 "64BIT_STATS",
000060 #endif
000061 #if SQLITE_ALLOW_COVERING_INDEX_SCAN
000062 "ALLOW_COVERING_INDEX_SCAN",
000063 #endif
000064 #if SQLITE_ALLOW_URI_AUTHORITY
000065 "ALLOW_URI_AUTHORITY",
000066 #endif
000067 #ifdef SQLITE_BITMASK_TYPE
000068 "BITMASK_TYPE=" CTIMEOPT_VAL(SQLITE_BITMASK_TYPE),
000069 #endif
000070 #if SQLITE_BUG_COMPATIBLE_20160819
000071 "BUG_COMPATIBLE_20160819",
000072 #endif
000073 #if SQLITE_CASE_SENSITIVE_LIKE
000074 "CASE_SENSITIVE_LIKE",
000075 #endif
000076 #if SQLITE_CHECK_PAGES
000077 "CHECK_PAGES",
000078 #endif
000079 #if defined(__clang__) && defined(__clang_major__)
000080 "COMPILER=clang-" CTIMEOPT_VAL(__clang_major__) "."
000081 CTIMEOPT_VAL(__clang_minor__) "."
000082 CTIMEOPT_VAL(__clang_patchlevel__),
000083 #elif defined(_MSC_VER)
000084 "COMPILER=msvc-" CTIMEOPT_VAL(_MSC_VER),
000085 #elif defined(__GNUC__) && defined(__VERSION__)
000086 "COMPILER=gcc-" __VERSION__,
000087 #endif
000088 #if SQLITE_COVERAGE_TEST
000089 "COVERAGE_TEST",
000090 #endif
000091 #if SQLITE_DEBUG
000092 "DEBUG",
000093 #endif
000094 #if SQLITE_DEFAULT_AUTOMATIC_INDEX
000095 "DEFAULT_AUTOMATIC_INDEX",
000096 #endif
000097 #if SQLITE_DEFAULT_AUTOVACUUM
000098 "DEFAULT_AUTOVACUUM",
000099 #endif
000100 #ifdef SQLITE_DEFAULT_CACHE_SIZE
000101 "DEFAULT_CACHE_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_CACHE_SIZE),
000102 #endif
000103 #if SQLITE_DEFAULT_CKPTFULLFSYNC
000104 "DEFAULT_CKPTFULLFSYNC",
000105 #endif
000106 #ifdef SQLITE_DEFAULT_FILE_FORMAT
000107 "DEFAULT_FILE_FORMAT=" CTIMEOPT_VAL(SQLITE_DEFAULT_FILE_FORMAT),
000108 #endif
000109 #ifdef SQLITE_DEFAULT_FILE_PERMISSIONS
000110 "DEFAULT_FILE_PERMISSIONS=" CTIMEOPT_VAL(SQLITE_DEFAULT_FILE_PERMISSIONS),
000111 #endif
000112 #if SQLITE_DEFAULT_FOREIGN_KEYS
000113 "DEFAULT_FOREIGN_KEYS",
000114 #endif
000115 #ifdef SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT
000116 "DEFAULT_JOURNAL_SIZE_LIMIT=" CTIMEOPT_VAL(SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT),
000117 #endif
000118 #ifdef SQLITE_DEFAULT_LOCKING_MODE
000119 "DEFAULT_LOCKING_MODE=" CTIMEOPT_VAL(SQLITE_DEFAULT_LOCKING_MODE),
000120 #endif
000121 #ifdef SQLITE_DEFAULT_LOOKASIDE
000122 "DEFAULT_LOOKASIDE=" CTIMEOPT_VAL2(SQLITE_DEFAULT_LOOKASIDE),
000123 #endif
000124 #if SQLITE_DEFAULT_MEMSTATUS
000125 "DEFAULT_MEMSTATUS",
000126 #endif
000127 #ifdef SQLITE_DEFAULT_MMAP_SIZE
000128 "DEFAULT_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_MMAP_SIZE),
000129 #endif
000130 #ifdef SQLITE_DEFAULT_PAGE_SIZE
000131 "DEFAULT_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_PAGE_SIZE),
000132 #endif
000133 #ifdef SQLITE_DEFAULT_PCACHE_INITSZ
000134 "DEFAULT_PCACHE_INITSZ=" CTIMEOPT_VAL(SQLITE_DEFAULT_PCACHE_INITSZ),
000135 #endif
000136 #ifdef SQLITE_DEFAULT_PROXYDIR_PERMISSIONS
000137 "DEFAULT_PROXYDIR_PERMISSIONS=" CTIMEOPT_VAL(SQLITE_DEFAULT_PROXYDIR_PERMISSIONS),
000138 #endif
000139 #if SQLITE_DEFAULT_RECURSIVE_TRIGGERS
000140 "DEFAULT_RECURSIVE_TRIGGERS",
000141 #endif
000142 #ifdef SQLITE_DEFAULT_ROWEST
000143 "DEFAULT_ROWEST=" CTIMEOPT_VAL(SQLITE_DEFAULT_ROWEST),
000144 #endif
000145 #ifdef SQLITE_DEFAULT_SECTOR_SIZE
000146 "DEFAULT_SECTOR_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_SECTOR_SIZE),
000147 #endif
000148 #ifdef SQLITE_DEFAULT_SYNCHRONOUS
000149 "DEFAULT_SYNCHRONOUS=" CTIMEOPT_VAL(SQLITE_DEFAULT_SYNCHRONOUS),
000150 #endif
000151 #ifdef SQLITE_DEFAULT_WAL_AUTOCHECKPOINT
000152 "DEFAULT_WAL_AUTOCHECKPOINT=" CTIMEOPT_VAL(SQLITE_DEFAULT_WAL_AUTOCHECKPOINT),
000153 #endif
000154 #ifdef SQLITE_DEFAULT_WAL_SYNCHRONOUS
000155 "DEFAULT_WAL_SYNCHRONOUS=" CTIMEOPT_VAL(SQLITE_DEFAULT_WAL_SYNCHRONOUS),
000156 #endif
000157 #ifdef SQLITE_DEFAULT_WORKER_THREADS
000158 "DEFAULT_WORKER_THREADS=" CTIMEOPT_VAL(SQLITE_DEFAULT_WORKER_THREADS),
000159 #endif
000160 #if SQLITE_DIRECT_OVERFLOW_READ
000161 "DIRECT_OVERFLOW_READ",
000162 #endif
000163 #if SQLITE_DISABLE_DIRSYNC
000164 "DISABLE_DIRSYNC",
000165 #endif
000166 #if SQLITE_DISABLE_FTS3_UNICODE
000167 "DISABLE_FTS3_UNICODE",
000168 #endif
000169 #if SQLITE_DISABLE_FTS4_DEFERRED
000170 "DISABLE_FTS4_DEFERRED",
000171 #endif
000172 #if SQLITE_DISABLE_INTRINSIC
000173 "DISABLE_INTRINSIC",
000174 #endif
000175 #if SQLITE_DISABLE_LFS
000176 "DISABLE_LFS",
000177 #endif
000178 #if SQLITE_DISABLE_PAGECACHE_OVERFLOW_STATS
000179 "DISABLE_PAGECACHE_OVERFLOW_STATS",
000180 #endif
000181 #if SQLITE_DISABLE_SKIPAHEAD_DISTINCT
000182 "DISABLE_SKIPAHEAD_DISTINCT",
000183 #endif
000184 #ifdef SQLITE_ENABLE_8_3_NAMES
000185 "ENABLE_8_3_NAMES=" CTIMEOPT_VAL(SQLITE_ENABLE_8_3_NAMES),
000186 #endif
000187 #if SQLITE_ENABLE_API_ARMOR
000188 "ENABLE_API_ARMOR",
000189 #endif
000190 #if SQLITE_ENABLE_ATOMIC_WRITE
000191 "ENABLE_ATOMIC_WRITE",
000192 #endif
000193 #if SQLITE_ENABLE_BATCH_ATOMIC_WRITE
000194 "ENABLE_BATCH_ATOMIC_WRITE",
000195 #endif
000196 #if SQLITE_ENABLE_CEROD
000197 "ENABLE_CEROD=" CTIMEOPT_VAL(SQLITE_ENABLE_CEROD),
000198 #endif
000199 #if SQLITE_ENABLE_COLUMN_METADATA
000200 "ENABLE_COLUMN_METADATA",
000201 #endif
000202 #if SQLITE_ENABLE_COLUMN_USED_MASK
000203 "ENABLE_COLUMN_USED_MASK",
000204 #endif
000205 #if SQLITE_ENABLE_COSTMULT
000206 "ENABLE_COSTMULT",
000207 #endif
000208 #if SQLITE_ENABLE_CURSOR_HINTS
000209 "ENABLE_CURSOR_HINTS",
000210 #endif
000211 #if SQLITE_ENABLE_DBSTAT_VTAB
000212 "ENABLE_DBSTAT_VTAB",
000213 #endif
000214 #if SQLITE_ENABLE_EXPENSIVE_ASSERT
000215 "ENABLE_EXPENSIVE_ASSERT",
000216 #endif
000217 #if SQLITE_ENABLE_FTS1
000218 "ENABLE_FTS1",
000219 #endif
000220 #if SQLITE_ENABLE_FTS2
000221 "ENABLE_FTS2",
000222 #endif
000223 #if SQLITE_ENABLE_FTS3
000224 "ENABLE_FTS3",
000225 #endif
000226 #if SQLITE_ENABLE_FTS3_PARENTHESIS
000227 "ENABLE_FTS3_PARENTHESIS",
000228 #endif
000229 #if SQLITE_ENABLE_FTS3_TOKENIZER
000230 "ENABLE_FTS3_TOKENIZER",
000231 #endif
000232 #if SQLITE_ENABLE_FTS4
000233 "ENABLE_FTS4",
000234 #endif
000235 #if SQLITE_ENABLE_FTS5
000236 "ENABLE_FTS5",
000237 #endif
000238 #if SQLITE_ENABLE_GEOPOLY
000239 "ENABLE_GEOPOLY",
000240 #endif
000241 #if SQLITE_ENABLE_HIDDEN_COLUMNS
000242 "ENABLE_HIDDEN_COLUMNS",
000243 #endif
000244 #if SQLITE_ENABLE_ICU
000245 "ENABLE_ICU",
000246 #endif
000247 #if SQLITE_ENABLE_IOTRACE
000248 "ENABLE_IOTRACE",
000249 #endif
000250 #if SQLITE_ENABLE_JSON1
000251 "ENABLE_JSON1",
000252 #endif
000253 #if SQLITE_ENABLE_LOAD_EXTENSION
000254 "ENABLE_LOAD_EXTENSION",
000255 #endif
000256 #ifdef SQLITE_ENABLE_LOCKING_STYLE
000257 "ENABLE_LOCKING_STYLE=" CTIMEOPT_VAL(SQLITE_ENABLE_LOCKING_STYLE),
000258 #endif
000259 #if SQLITE_ENABLE_MEMORY_MANAGEMENT
000260 "ENABLE_MEMORY_MANAGEMENT",
000261 #endif
000262 #if SQLITE_ENABLE_MEMSYS3
000263 "ENABLE_MEMSYS3",
000264 #endif
000265 #if SQLITE_ENABLE_MEMSYS5
000266 "ENABLE_MEMSYS5",
000267 #endif
000268 #if SQLITE_ENABLE_MULTIPLEX
000269 "ENABLE_MULTIPLEX",
000270 #endif
000271 #if SQLITE_ENABLE_NORMALIZE
000272 "ENABLE_NORMALIZE",
000273 #endif
000274 #if SQLITE_ENABLE_NULL_TRIM
000275 "ENABLE_NULL_TRIM",
000276 #endif
000277 #if SQLITE_ENABLE_OVERSIZE_CELL_CHECK
000278 "ENABLE_OVERSIZE_CELL_CHECK",
000279 #endif
000280 #if SQLITE_ENABLE_PREUPDATE_HOOK
000281 "ENABLE_PREUPDATE_HOOK",
000282 #endif
000283 #if SQLITE_ENABLE_QPSG
000284 "ENABLE_QPSG",
000285 #endif
000286 #if SQLITE_ENABLE_RBU
000287 "ENABLE_RBU",
000288 #endif
000289 #if SQLITE_ENABLE_RTREE
000290 "ENABLE_RTREE",
000291 #endif
000292 #if SQLITE_ENABLE_SELECTTRACE
000293 "ENABLE_SELECTTRACE",
000294 #endif
000295 #if SQLITE_ENABLE_SESSION
000296 "ENABLE_SESSION",
000297 #endif
000298 #if SQLITE_ENABLE_SNAPSHOT
000299 "ENABLE_SNAPSHOT",
000300 #endif
000301 #if SQLITE_ENABLE_SORTER_REFERENCES
000302 "ENABLE_SORTER_REFERENCES",
000303 #endif
000304 #if SQLITE_ENABLE_SQLLOG
000305 "ENABLE_SQLLOG",
000306 #endif
000307 #if defined(SQLITE_ENABLE_STAT4)
000308 "ENABLE_STAT4",
000309 #endif
000310 #if SQLITE_ENABLE_STMTVTAB
000311 "ENABLE_STMTVTAB",
000312 #endif
000313 #if SQLITE_ENABLE_STMT_SCANSTATUS
000314 "ENABLE_STMT_SCANSTATUS",
000315 #endif
000316 #if SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
000317 "ENABLE_UNKNOWN_SQL_FUNCTION",
000318 #endif
000319 #if SQLITE_ENABLE_UNLOCK_NOTIFY
000320 "ENABLE_UNLOCK_NOTIFY",
000321 #endif
000322 #if SQLITE_ENABLE_UPDATE_DELETE_LIMIT
000323 "ENABLE_UPDATE_DELETE_LIMIT",
000324 #endif
000325 #if SQLITE_ENABLE_URI_00_ERROR
000326 "ENABLE_URI_00_ERROR",
000327 #endif
000328 #if SQLITE_ENABLE_VFSTRACE
000329 "ENABLE_VFSTRACE",
000330 #endif
000331 #if SQLITE_ENABLE_WHERETRACE
000332 "ENABLE_WHERETRACE",
000333 #endif
000334 #if SQLITE_ENABLE_ZIPVFS
000335 "ENABLE_ZIPVFS",
000336 #endif
000337 #if SQLITE_EXPLAIN_ESTIMATED_ROWS
000338 "EXPLAIN_ESTIMATED_ROWS",
000339 #endif
000340 #if SQLITE_EXTRA_IFNULLROW
000341 "EXTRA_IFNULLROW",
000342 #endif
000343 #ifdef SQLITE_EXTRA_INIT
000344 "EXTRA_INIT=" CTIMEOPT_VAL(SQLITE_EXTRA_INIT),
000345 #endif
000346 #ifdef SQLITE_EXTRA_SHUTDOWN
000347 "EXTRA_SHUTDOWN=" CTIMEOPT_VAL(SQLITE_EXTRA_SHUTDOWN),
000348 #endif
000349 #ifdef SQLITE_FTS3_MAX_EXPR_DEPTH
000350 "FTS3_MAX_EXPR_DEPTH=" CTIMEOPT_VAL(SQLITE_FTS3_MAX_EXPR_DEPTH),
000351 #endif
000352 #if SQLITE_FTS5_ENABLE_TEST_MI
000353 "FTS5_ENABLE_TEST_MI",
000354 #endif
000355 #if SQLITE_FTS5_NO_WITHOUT_ROWID
000356 "FTS5_NO_WITHOUT_ROWID",
000357 #endif
000358 #if SQLITE_HAS_CODEC
000359 "HAS_CODEC",
000360 #endif
000361 #if HAVE_ISNAN || SQLITE_HAVE_ISNAN
000362 "HAVE_ISNAN",
000363 #endif
000364 #if SQLITE_HOMEGROWN_RECURSIVE_MUTEX
000365 "HOMEGROWN_RECURSIVE_MUTEX",
000366 #endif
000367 #if SQLITE_IGNORE_AFP_LOCK_ERRORS
000368 "IGNORE_AFP_LOCK_ERRORS",
000369 #endif
000370 #if SQLITE_IGNORE_FLOCK_LOCK_ERRORS
000371 "IGNORE_FLOCK_LOCK_ERRORS",
000372 #endif
000373 #if SQLITE_INLINE_MEMCPY
000374 "INLINE_MEMCPY",
000375 #endif
000376 #if SQLITE_INT64_TYPE
000377 "INT64_TYPE",
000378 #endif
000379 #ifdef SQLITE_INTEGRITY_CHECK_ERROR_MAX
000380 "INTEGRITY_CHECK_ERROR_MAX=" CTIMEOPT_VAL(SQLITE_INTEGRITY_CHECK_ERROR_MAX),
000381 #endif
000382 #if SQLITE_LIKE_DOESNT_MATCH_BLOBS
000383 "LIKE_DOESNT_MATCH_BLOBS",
000384 #endif
000385 #if SQLITE_LOCK_TRACE
000386 "LOCK_TRACE",
000387 #endif
000388 #if SQLITE_LOG_CACHE_SPILL
000389 "LOG_CACHE_SPILL",
000390 #endif
000391 #ifdef SQLITE_MALLOC_SOFT_LIMIT
000392 "MALLOC_SOFT_LIMIT=" CTIMEOPT_VAL(SQLITE_MALLOC_SOFT_LIMIT),
000393 #endif
000394 #ifdef SQLITE_MAX_ATTACHED
000395 "MAX_ATTACHED=" CTIMEOPT_VAL(SQLITE_MAX_ATTACHED),
000396 #endif
000397 #ifdef SQLITE_MAX_COLUMN
000398 "MAX_COLUMN=" CTIMEOPT_VAL(SQLITE_MAX_COLUMN),
000399 #endif
000400 #ifdef SQLITE_MAX_COMPOUND_SELECT
000401 "MAX_COMPOUND_SELECT=" CTIMEOPT_VAL(SQLITE_MAX_COMPOUND_SELECT),
000402 #endif
000403 #ifdef SQLITE_MAX_DEFAULT_PAGE_SIZE
000404 "MAX_DEFAULT_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_DEFAULT_PAGE_SIZE),
000405 #endif
000406 #ifdef SQLITE_MAX_EXPR_DEPTH
000407 "MAX_EXPR_DEPTH=" CTIMEOPT_VAL(SQLITE_MAX_EXPR_DEPTH),
000408 #endif
000409 #ifdef SQLITE_MAX_FUNCTION_ARG
000410 "MAX_FUNCTION_ARG=" CTIMEOPT_VAL(SQLITE_MAX_FUNCTION_ARG),
000411 #endif
000412 #ifdef SQLITE_MAX_LENGTH
000413 "MAX_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_LENGTH),
000414 #endif
000415 #ifdef SQLITE_MAX_LIKE_PATTERN_LENGTH
000416 "MAX_LIKE_PATTERN_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_LIKE_PATTERN_LENGTH),
000417 #endif
000418 #ifdef SQLITE_MAX_MEMORY
000419 "MAX_MEMORY=" CTIMEOPT_VAL(SQLITE_MAX_MEMORY),
000420 #endif
000421 #ifdef SQLITE_MAX_MMAP_SIZE
000422 "MAX_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE),
000423 #endif
000424 #ifdef SQLITE_MAX_MMAP_SIZE_
000425 "MAX_MMAP_SIZE_=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE_),
000426 #endif
000427 #ifdef SQLITE_MAX_PAGE_COUNT
000428 "MAX_PAGE_COUNT=" CTIMEOPT_VAL(SQLITE_MAX_PAGE_COUNT),
000429 #endif
000430 #ifdef SQLITE_MAX_PAGE_SIZE
000431 "MAX_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_PAGE_SIZE),
000432 #endif
000433 #ifdef SQLITE_MAX_SCHEMA_RETRY
000434 "MAX_SCHEMA_RETRY=" CTIMEOPT_VAL(SQLITE_MAX_SCHEMA_RETRY),
000435 #endif
000436 #ifdef SQLITE_MAX_SQL_LENGTH
000437 "MAX_SQL_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_SQL_LENGTH),
000438 #endif
000439 #ifdef SQLITE_MAX_TRIGGER_DEPTH
000440 "MAX_TRIGGER_DEPTH=" CTIMEOPT_VAL(SQLITE_MAX_TRIGGER_DEPTH),
000441 #endif
000442 #ifdef SQLITE_MAX_VARIABLE_NUMBER
000443 "MAX_VARIABLE_NUMBER=" CTIMEOPT_VAL(SQLITE_MAX_VARIABLE_NUMBER),
000444 #endif
000445 #ifdef SQLITE_MAX_VDBE_OP
000446 "MAX_VDBE_OP=" CTIMEOPT_VAL(SQLITE_MAX_VDBE_OP),
000447 #endif
000448 #ifdef SQLITE_MAX_WORKER_THREADS
000449 "MAX_WORKER_THREADS=" CTIMEOPT_VAL(SQLITE_MAX_WORKER_THREADS),
000450 #endif
000451 #if SQLITE_MEMDEBUG
000452 "MEMDEBUG",
000453 #endif
000454 #if SQLITE_MIXED_ENDIAN_64BIT_FLOAT
000455 "MIXED_ENDIAN_64BIT_FLOAT",
000456 #endif
000457 #if SQLITE_MMAP_READWRITE
000458 "MMAP_READWRITE",
000459 #endif
000460 #if SQLITE_MUTEX_NOOP
000461 "MUTEX_NOOP",
000462 #endif
000463 #if SQLITE_MUTEX_NREF
000464 "MUTEX_NREF",
000465 #endif
000466 #if SQLITE_MUTEX_OMIT
000467 "MUTEX_OMIT",
000468 #endif
000469 #if SQLITE_MUTEX_PTHREADS
000470 "MUTEX_PTHREADS",
000471 #endif
000472 #if SQLITE_MUTEX_W32
000473 "MUTEX_W32",
000474 #endif
000475 #if SQLITE_NEED_ERR_NAME
000476 "NEED_ERR_NAME",
000477 #endif
000478 #if SQLITE_NOINLINE
000479 "NOINLINE",
000480 #endif
000481 #if SQLITE_NO_SYNC
000482 "NO_SYNC",
000483 #endif
000484 #if SQLITE_OMIT_ALTERTABLE
000485 "OMIT_ALTERTABLE",
000486 #endif
000487 #if SQLITE_OMIT_ANALYZE
000488 "OMIT_ANALYZE",
000489 #endif
000490 #if SQLITE_OMIT_ATTACH
000491 "OMIT_ATTACH",
000492 #endif
000493 #if SQLITE_OMIT_AUTHORIZATION
000494 "OMIT_AUTHORIZATION",
000495 #endif
000496 #if SQLITE_OMIT_AUTOINCREMENT
000497 "OMIT_AUTOINCREMENT",
000498 #endif
000499 #if SQLITE_OMIT_AUTOINIT
000500 "OMIT_AUTOINIT",
000501 #endif
000502 #if SQLITE_OMIT_AUTOMATIC_INDEX
000503 "OMIT_AUTOMATIC_INDEX",
000504 #endif
000505 #if SQLITE_OMIT_AUTORESET
000506 "OMIT_AUTORESET",
000507 #endif
000508 #if SQLITE_OMIT_AUTOVACUUM
000509 "OMIT_AUTOVACUUM",
000510 #endif
000511 #if SQLITE_OMIT_BETWEEN_OPTIMIZATION
000512 "OMIT_BETWEEN_OPTIMIZATION",
000513 #endif
000514 #if SQLITE_OMIT_BLOB_LITERAL
000515 "OMIT_BLOB_LITERAL",
000516 #endif
000517 #if SQLITE_OMIT_BTREECOUNT
000518 "OMIT_BTREECOUNT",
000519 #endif
000520 #if SQLITE_OMIT_CAST
000521 "OMIT_CAST",
000522 #endif
000523 #if SQLITE_OMIT_CHECK
000524 "OMIT_CHECK",
000525 #endif
000526 #if SQLITE_OMIT_COMPLETE
000527 "OMIT_COMPLETE",
000528 #endif
000529 #if SQLITE_OMIT_COMPOUND_SELECT
000530 "OMIT_COMPOUND_SELECT",
000531 #endif
000532 #if SQLITE_OMIT_CONFLICT_CLAUSE
000533 "OMIT_CONFLICT_CLAUSE",
000534 #endif
000535 #if SQLITE_OMIT_CTE
000536 "OMIT_CTE",
000537 #endif
000538 #if SQLITE_OMIT_DATETIME_FUNCS
000539 "OMIT_DATETIME_FUNCS",
000540 #endif
000541 #if SQLITE_OMIT_DECLTYPE
000542 "OMIT_DECLTYPE",
000543 #endif
000544 #if SQLITE_OMIT_DEPRECATED
000545 "OMIT_DEPRECATED",
000546 #endif
000547 #if SQLITE_OMIT_DISKIO
000548 "OMIT_DISKIO",
000549 #endif
000550 #if SQLITE_OMIT_EXPLAIN
000551 "OMIT_EXPLAIN",
000552 #endif
000553 #if SQLITE_OMIT_FLAG_PRAGMAS
000554 "OMIT_FLAG_PRAGMAS",
000555 #endif
000556 #if SQLITE_OMIT_FLOATING_POINT
000557 "OMIT_FLOATING_POINT",
000558 #endif
000559 #if SQLITE_OMIT_FOREIGN_KEY
000560 "OMIT_FOREIGN_KEY",
000561 #endif
000562 #if SQLITE_OMIT_GET_TABLE
000563 "OMIT_GET_TABLE",
000564 #endif
000565 #if SQLITE_OMIT_HEX_INTEGER
000566 "OMIT_HEX_INTEGER",
000567 #endif
000568 #if SQLITE_OMIT_INCRBLOB
000569 "OMIT_INCRBLOB",
000570 #endif
000571 #if SQLITE_OMIT_INTEGRITY_CHECK
000572 "OMIT_INTEGRITY_CHECK",
000573 #endif
000574 #if SQLITE_OMIT_LIKE_OPTIMIZATION
000575 "OMIT_LIKE_OPTIMIZATION",
000576 #endif
000577 #if SQLITE_OMIT_LOAD_EXTENSION
000578 "OMIT_LOAD_EXTENSION",
000579 #endif
000580 #if SQLITE_OMIT_LOCALTIME
000581 "OMIT_LOCALTIME",
000582 #endif
000583 #if SQLITE_OMIT_LOOKASIDE
000584 "OMIT_LOOKASIDE",
000585 #endif
000586 #if SQLITE_OMIT_MEMORYDB
000587 "OMIT_MEMORYDB",
000588 #endif
000589 #if SQLITE_OMIT_OR_OPTIMIZATION
000590 "OMIT_OR_OPTIMIZATION",
000591 #endif
000592 #if SQLITE_OMIT_PAGER_PRAGMAS
000593 "OMIT_PAGER_PRAGMAS",
000594 #endif
000595 #if SQLITE_OMIT_PARSER_TRACE
000596 "OMIT_PARSER_TRACE",
000597 #endif
000598 #if SQLITE_OMIT_POPEN
000599 "OMIT_POPEN",
000600 #endif
000601 #if SQLITE_OMIT_PRAGMA
000602 "OMIT_PRAGMA",
000603 #endif
000604 #if SQLITE_OMIT_PROGRESS_CALLBACK
000605 "OMIT_PROGRESS_CALLBACK",
000606 #endif
000607 #if SQLITE_OMIT_QUICKBALANCE
000608 "OMIT_QUICKBALANCE",
000609 #endif
000610 #if SQLITE_OMIT_REINDEX
000611 "OMIT_REINDEX",
000612 #endif
000613 #if SQLITE_OMIT_SCHEMA_PRAGMAS
000614 "OMIT_SCHEMA_PRAGMAS",
000615 #endif
000616 #if SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS
000617 "OMIT_SCHEMA_VERSION_PRAGMAS",
000618 #endif
000619 #if SQLITE_OMIT_SHARED_CACHE
000620 "OMIT_SHARED_CACHE",
000621 #endif
000622 #if SQLITE_OMIT_SHUTDOWN_DIRECTORIES
000623 "OMIT_SHUTDOWN_DIRECTORIES",
000624 #endif
000625 #if SQLITE_OMIT_SUBQUERY
000626 "OMIT_SUBQUERY",
000627 #endif
000628 #if SQLITE_OMIT_TCL_VARIABLE
000629 "OMIT_TCL_VARIABLE",
000630 #endif
000631 #if SQLITE_OMIT_TEMPDB
000632 "OMIT_TEMPDB",
000633 #endif
000634 #if SQLITE_OMIT_TEST_CONTROL
000635 "OMIT_TEST_CONTROL",
000636 #endif
000637 #if SQLITE_OMIT_TRACE
000638 "OMIT_TRACE",
000639 #endif
000640 #if SQLITE_OMIT_TRIGGER
000641 "OMIT_TRIGGER",
000642 #endif
000643 #if SQLITE_OMIT_TRUNCATE_OPTIMIZATION
000644 "OMIT_TRUNCATE_OPTIMIZATION",
000645 #endif
000646 #if SQLITE_OMIT_UTF16
000647 "OMIT_UTF16",
000648 #endif
000649 #if SQLITE_OMIT_VACUUM
000650 "OMIT_VACUUM",
000651 #endif
000652 #if SQLITE_OMIT_VIEW
000653 "OMIT_VIEW",
000654 #endif
000655 #if SQLITE_OMIT_VIRTUALTABLE
000656 "OMIT_VIRTUALTABLE",
000657 #endif
000658 #if SQLITE_OMIT_WAL
000659 "OMIT_WAL",
000660 #endif
000661 #if SQLITE_OMIT_WSD
000662 "OMIT_WSD",
000663 #endif
000664 #if SQLITE_OMIT_XFER_OPT
000665 "OMIT_XFER_OPT",
000666 #endif
000667 #if SQLITE_PCACHE_SEPARATE_HEADER
000668 "PCACHE_SEPARATE_HEADER",
000669 #endif
000670 #if SQLITE_PERFORMANCE_TRACE
000671 "PERFORMANCE_TRACE",
000672 #endif
000673 #if SQLITE_POWERSAFE_OVERWRITE
000674 "POWERSAFE_OVERWRITE",
000675 #endif
000676 #if SQLITE_PREFER_PROXY_LOCKING
000677 "PREFER_PROXY_LOCKING",
000678 #endif
000679 #if SQLITE_PROXY_DEBUG
000680 "PROXY_DEBUG",
000681 #endif
000682 #if SQLITE_REVERSE_UNORDERED_SELECTS
000683 "REVERSE_UNORDERED_SELECTS",
000684 #endif
000685 #if SQLITE_RTREE_INT_ONLY
000686 "RTREE_INT_ONLY",
000687 #endif
000688 #if SQLITE_SECURE_DELETE
000689 "SECURE_DELETE",
000690 #endif
000691 #if SQLITE_SMALL_STACK
000692 "SMALL_STACK",
000693 #endif
000694 #ifdef SQLITE_SORTER_PMASZ
000695 "SORTER_PMASZ=" CTIMEOPT_VAL(SQLITE_SORTER_PMASZ),
000696 #endif
000697 #if SQLITE_SOUNDEX
000698 "SOUNDEX",
000699 #endif
000700 #ifdef SQLITE_STAT4_SAMPLES
000701 "STAT4_SAMPLES=" CTIMEOPT_VAL(SQLITE_STAT4_SAMPLES),
000702 #endif
000703 #ifdef SQLITE_STMTJRNL_SPILL
000704 "STMTJRNL_SPILL=" CTIMEOPT_VAL(SQLITE_STMTJRNL_SPILL),
000705 #endif
000706 #if SQLITE_SUBSTR_COMPATIBILITY
000707 "SUBSTR_COMPATIBILITY",
000708 #endif
000709 #if SQLITE_SYSTEM_MALLOC
000710 "SYSTEM_MALLOC",
000711 #endif
000712 #if SQLITE_TCL
000713 "TCL",
000714 #endif
000715 #ifdef SQLITE_TEMP_STORE
000716 "TEMP_STORE=" CTIMEOPT_VAL(SQLITE_TEMP_STORE),
000717 #endif
000718 #if SQLITE_TEST
000719 "TEST",
000720 #endif
000721 #if defined(SQLITE_THREADSAFE)
000722 "THREADSAFE=" CTIMEOPT_VAL(SQLITE_THREADSAFE),
000723 #elif defined(THREADSAFE)
000724 "THREADSAFE=" CTIMEOPT_VAL(THREADSAFE),
000725 #else
000726 "THREADSAFE=1",
000727 #endif
000728 #if SQLITE_UNLINK_AFTER_CLOSE
000729 "UNLINK_AFTER_CLOSE",
000730 #endif
000731 #if SQLITE_UNTESTABLE
000732 "UNTESTABLE",
000733 #endif
000734 #if SQLITE_USER_AUTHENTICATION
000735 "USER_AUTHENTICATION",
000736 #endif
000737 #if SQLITE_USE_ALLOCA
000738 "USE_ALLOCA",
000739 #endif
000740 #if SQLITE_USE_FCNTL_TRACE
000741 "USE_FCNTL_TRACE",
000742 #endif
000743 #if SQLITE_USE_URI
000744 "USE_URI",
000745 #endif
000746 #if SQLITE_VDBE_COVERAGE
000747 "VDBE_COVERAGE",
000748 #endif
000749 #if SQLITE_WIN32_MALLOC
000750 "WIN32_MALLOC",
000751 #endif
000752 #if SQLITE_ZERO_MALLOC
000753 "ZERO_MALLOC",
000754 #endif
000755 /*
000756 ** END CODE GENERATED BY tool/mkctime.tcl
000757 */
000758 };
000759
000760 const char **sqlite3CompileOptions(int *pnOpt){
000761 *pnOpt = sizeof(sqlite3azCompileOpt) / sizeof(sqlite3azCompileOpt[0]);
000762 return (const char**)sqlite3azCompileOpt;
000763 }
000764
000765 #endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */