omittest-msvc.tcl 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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.
  4. #
  5. set OPTIONS [list \
  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 \
  28. SQLITE_OMIT_CAST \
  29. SQLITE_OMIT_CHECK \
  30. SQLITE_OMIT_COMPILEOPTION_DIAGS \
  31. SQLITE_OMIT_COMPLETE \
  32. SQLITE_OMIT_COMPOUND_SELECT \
  33. SQLITE_OMIT_CONFLICT_CLAUSE \
  34. SQLITE_OMIT_CTE \
  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 \
  50. SQLITE_OMIT_JSON \
  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 \
  59. SQLITE_OMIT_POPEN \
  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 \
  71. SQLITE_OMIT_TEMPDB \
  72. SQLITE_OMIT_TEST_CONTROL \
  73. SQLITE_OMIT_TRACE \
  74. SQLITE_OMIT_TRIGGER \
  75. SQLITE_OMIT_TRUNCATE_OPTIMIZATION \
  76. SQLITE_OMIT_UPSERT \
  77. SQLITE_OMIT_UTF16 \
  78. SQLITE_OMIT_VACUUM-x \
  79. SQLITE_OMIT_VIEW-x \
  80. SQLITE_OMIT_VIRTUALTABLE-x \
  81. SQLITE_OMIT_WAL \
  82. SQLITE_OMIT_WINDOWFUNC-x \
  83. SQLITE_OMIT_WSD \
  84. SQLITE_OMIT_XFER_OPT \
  85. ]
  86. set start [lindex $argv 0]
  87. foreach opt $OPTIONS {
  88. if {[regexp x $opt]} continue
  89. if {[string compare $opt $start]<0} continue
  90. exec fossil clean -x
  91. set cmd "nmake /f Makefile.msc USE_FULLWARN=0 OPTIMIZATIONS=0"
  92. append cmd " CCOPTS=-D$opt"
  93. puts $cmd
  94. set res [catch {eval exec $cmd} outtxt]
  95. if {[regexp {sqlite3.c.\d+.: error} $outtxt]} {
  96. puts "FAILED:\n$outtxt"
  97. exit
  98. }
  99. }