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