1 # Run this TCL script in order to build using MSVC multiple times
2 # with various compile-time options. Use this to verify that the various
3 # compile-time options all work with MSVC.
6 SQLITE_ALLOW_ROWID_IN_VIEW
\
7 SQLITE_ENABLE_COLUMN_METADATA
\
8 SQLITE_ENABLE_EXPENSIVE_ASSERT
\
9 SQLITE_ENABLE_IOTRACE
\
10 SQLITE_ENABLE_MEMORY_MANAGEMENT
\
11 SQLITE_ENABLE_MEMSYS3
\
12 SQLITE_ENABLE_MEMSYS5
\
13 SQLITE_ENABLE_OVERSIZE_CELL_CHECK
\
14 SQLITE_ENABLE_UNLOCK_NOTIFY
\
15 SQLITE_ENABLE_UPDATE_DELETE_LIMIT
\
16 SQLITE_OMIT_ALTERTABLE-x
\
17 SQLITE_OMIT_ATTACH-x
\
18 SQLITE_OMIT_AUTHORIZATION
\
19 SQLITE_OMIT_AUTOINCREMENT
\
20 SQLITE_OMIT_AUTOINIT
\
21 SQLITE_OMIT_AUTOMATIC_INDEX
\
22 SQLITE_OMIT_AUTORESET
\
23 SQLITE_OMIT_AUTOVACUUM
\
24 SQLITE_OMIT_BETWEEN_OPTIMIZATION
\
25 SQLITE_OMIT_BLOB_LITERAL
\
26 SQLITE_OMIT_BTREECOUNT
\
27 SQLITE_OMIT_CASE_SENSITIVE_LIKE_PRAGMA
\
30 SQLITE_OMIT_COMPILEOPTION_DIAGS
\
31 SQLITE_OMIT_COMPLETE
\
32 SQLITE_OMIT_COMPOUND_SELECT
\
33 SQLITE_OMIT_CONFLICT_CLAUSE
\
35 SQLITE_OMIT_DATETIME_FUNCS
\
36 SQLITE_OMIT_DECLTYPE
\
37 SQLITE_OMIT_DEPRECATED
\
38 SQLITE_OMIT_DESERIALIZE
\
39 SQLITE_OMIT_DISKIO-x
\
40 SQLITE_OMIT_EXPLAIN-x
\
41 SQLITE_OMIT_FLAG_PRAGMAS
\
42 SQLITE_OMIT_FLOATING_POINT
\
43 SQLITE_OMIT_FOREIGN_KEY
\
44 SQLITE_OMIT_GENERATED_COLUMNS
\
45 SQLITE_OMIT_GET_TABLE
\
46 SQLITE_OMIT_HEX_INTEGER
\
47 SQLITE_OMIT_INCRBLOB-x
\
48 SQLITE_OMIT_INTEGRITY_CHECK
\
49 SQLITE_OMIT_INTROSPECTION_PRAGMAS
\
51 SQLITE_OMIT_LIKE_OPTIMIZATION
\
52 SQLITE_OMIT_LOAD_EXTENSION
\
53 SQLITE_OMIT_LOCALTIME
\
54 SQLITE_OMIT_LOOKASIDE
\
55 SQLITE_OMIT_MEMORYDB
\
56 SQLITE_OMIT_OR_OPTIMIZATION
\
57 SQLITE_OMIT_PAGER_PRAGMAS-x
\
58 SQLITE_OMIT_PARSER_TRACE
\
60 SQLITE_OMIT_PRAGMA-x
\
61 SQLITE_OMIT_PROGRESS_CALLBACK
\
62 SQLITE_OMIT_QUICKBALANCE
\
63 SQLITE_OMIT_RANDOMNESS
\
64 SQLITE_OMIT_REINDEX-x
\
65 SQLITE_OMIT_SCHEMA_PRAGMAS
\
66 SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS
\
67 SQLITE_OMIT_SHARED_CACHE
\
68 SQLITE_OMIT_SHUTDOWN_DIRECTORIES
\
69 SQLITE_OMIT_SUBQUERY-x
\
70 SQLITE_OMIT_TCL_VARIABLE
\
72 SQLITE_OMIT_TEST_CONTROL
\
75 SQLITE_OMIT_TRUNCATE_OPTIMIZATION
\
78 SQLITE_OMIT_VACUUM-x
\
80 SQLITE_OMIT_VIRTUALTABLE-x
\
82 SQLITE_OMIT_WINDOWFUNC-x
\
84 SQLITE_OMIT_XFER_OPT
\
86 set start
[lindex $argv 0]
87 foreach opt
$OPTIONS {
88 if {[regexp x
$opt]} continue
89 if {[string compare
$opt $start]<0} continue
91 set cmd
"nmake /f Makefile.msc USE_FULLWARN=0 OPTIMIZATIONS=0"
92 append cmd
" CCOPTS=-D$opt"
94 set res
[catch {eval exec $cmd} outtxt
]
95 if {[regexp {sqlite3.c.
\d
+.
: error} $outtxt]} {
96 puts "FAILED:\n$outtxt"