@@ -234,6 +234,15 @@ OSTRACE = 0
234234DEBUG = 0
235235!ENDIF
236236
237+ # <<mark>>
238+ # Disable use of the --linemacros argument to the mksqlite3c.tcl tool, which
239+ # is used to build the amalgamation.
240+ #
241+ !IFNDEF NO_LINEMACROS
242+ NO_LINEMACROS = 0
243+ !ENDIF
244+ # <</mark>>
245+
237246# Enable use of available compiler optimizations? Normally, this should be
238247# non-zero. Setting this to zero, thus disabling all compiler optimizations,
239248# can be useful for testing.
@@ -357,6 +366,7 @@ OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_JSON1=1
357366OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_STMTVTAB=1
358367OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DBPAGE_VTAB=1
359368OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DBSTAT_VTAB=1
369+ OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_BYTECODE_VTAB=1
360370OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DESERIALIZE=1
361371!ENDIF
362372OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_COLUMN_METADATA=1
@@ -775,7 +785,7 @@ MKSQLITE3C_TOOL = $(TOP)\tool\mksqlite3c.tcl
775785!ENDIF
776786
777787!IFNDEF MKSQLITE3C_ARGS
778- !IF $(DEBUG)>1
788+ !IF $(DEBUG)>1 && $(NO_LINEMACROS)==0
779789MKSQLITE3C_ARGS = --linemacros
780790!ELSE
781791MKSQLITE3C_ARGS =
@@ -1246,7 +1256,8 @@ LIBOBJS0 = vdbe.lo parse.lo alter.lo analyze.lo attach.lo auth.lo \
12461256 table.lo threads.lo tokenize.lo treeview.lo trigger.lo \
12471257 update.lo upsert.lo util.lo vacuum.lo \
12481258 vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
1249- vdbetrace.lo wal.lo walker.lo where.lo wherecode.lo whereexpr.lo \
1259+ vdbetrace.lo vdbevtab.lo wal.lo walker.lo where.lo wherecode.lo \
1260+ whereexpr.lo \
12501261 window.lo utf.lo vtab.lo
12511262# <</mark>>
12521263
@@ -1361,6 +1372,7 @@ SRC01 = \
13611372 $(TOP)\src\vdbemem.c \
13621373 $(TOP)\src\vdbesort.c \
13631374 $(TOP)\src\vdbetrace.c \
1375+ $(TOP)\src\vdbevtab.c \
13641376 $(TOP)\src\vtab.c \
13651377 $(TOP)\src\wal.c \
13661378 $(TOP)\src\walker.c \
@@ -1491,7 +1503,7 @@ SRC12 =
14911503
14921504# All source code files.
14931505#
1494- SRC = $(SRC00) $(SRC01) $(SRC03) $(SRC04) $(SRC05) $(SRC06) $(SRC07) $(SRC08) $(SRC09) $(SRC10) $(SRC11)
1506+ SRC = $(SRC00) $(SRC01) $(SRC03) $(SRC04) $(SRC05) $(SRC06) $(SRC07) $(SRC08) $(SRC09) $(SRC10) $(SRC11) $(SRC12)
14951507
14961508# Source code to the test files.
14971509#
@@ -1556,6 +1568,7 @@ TESTEXT = \
15561568 $(TOP)\ext\misc\carray.c \
15571569 $(TOP)\ext\misc\closure.c \
15581570 $(TOP)\ext\misc\csv.c \
1571+ $(TOP)\ext\misc\decimal.c \
15591572 $(TOP)\ext\misc\eval.c \
15601573 $(TOP)\ext\misc\explain.c \
15611574 $(TOP)\ext\misc\fileio.c \
@@ -1692,6 +1705,7 @@ FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_FTS4
16921705FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_RTREE
16931706FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_GEOPOLY
16941707FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DBSTAT_VTAB
1708+ FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_BYTECODE_VTAB
16951709
16961710FUZZCHECK_SRC = $(TOP)\test\fuzzcheck.c $(TOP)\test\ossfuzz.c
16971711OSSSHELL_SRC = $(TOP)\test\ossshell.c $(TOP)\test\ossfuzz.c
@@ -1841,15 +1855,16 @@ mptest: mptester.exe
18411855 for %i in ($(SRC11)) do copy /Y %i tsrc
18421856 for %i in ($(SRC12)) do copy /Y %i tsrc
18431857 copy /Y fts5.c tsrc
1858+ copy /B tsrc\fts5.c +,,
18441859 copy /Y fts5.h tsrc
1860+ copy /B tsrc\fts5.h +,,
18451861 del /Q tsrc\sqlite.h.in tsrc\parse.y 2>NUL
18461862 $(TCLSH_CMD) $(TOP)\tool\vdbe-compress.tcl $(OPTS) < tsrc\vdbe.c > vdbe.new
18471863 move vdbe.new tsrc\vdbe.c
18481864 echo > .target_source
18491865
1850- sqlite3.c: .target_source sqlite3ext.h $(MKSQLITE3C_TOOL)
1866+ sqlite3.c: .target_source sqlite3ext.h sqlite3session.h $(MKSQLITE3C_TOOL)
18511867 $(TCLSH_CMD) $(MKSQLITE3C_TOOL) $(MKSQLITE3C_ARGS)
1852- copy $(TOP)\ext\session\sqlite3session.h .
18531868
18541869sqlite3-all.c: sqlite3.c $(TOP)\tool\split-sqlite3c.tcl
18551870 $(TCLSH_CMD) $(TOP)\tool\split-sqlite3c.tcl
@@ -1864,7 +1879,8 @@ sqlite3.lo: $(SQLITE3C)
18641879# Rules to build the LEMON compiler generator
18651880#
18661881lempar.c: $(TOP)\tool\lempar.c
1867- copy $(TOP)\tool\lempar.c .
1882+ copy /Y $(TOP)\tool\lempar.c .
1883+ copy /B lempar.c +,,
18681884
18691885lemon.exe: $(TOP)\tool\lemon.c lempar.c
18701886 $(BCC) $(NO_WARN) -Daccess=_access \
@@ -2117,6 +2133,9 @@ vdbesort.lo: $(TOP)\src\vdbesort.c $(HDR)
21172133vdbetrace.lo: $(TOP)\src\vdbetrace.c $(HDR)
21182134 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbetrace.c
21192135
2136+ vdbevtab.lo: $(TOP)\src\vdbevtab.c $(HDR)
2137+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbevtab.c
2138+
21202139vtab.lo: $(TOP)\src\vtab.c $(HDR)
21212140 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vtab.c
21222141
@@ -2161,7 +2180,8 @@ parse.h: parse.c
21612180
21622181parse.c: $(TOP)\src\parse.y lemon.exe
21632182 del /Q parse.y parse.h parse.h.temp 2>NUL
2164- copy $(TOP)\src\parse.y .
2183+ copy /Y $(TOP)\src\parse.y .
2184+ copy /B parse.y +,,
21652185 .\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) $(OPTS) -S parse.y
21662186
21672187$(SQLITE3H): $(TOP)\src\sqlite.h.in $(TOP)\manifest mksourceid.exe $(TOP)\VERSION
@@ -2174,8 +2194,13 @@ sqlite3ext.h: .target_source
21742194 copy /Y sqlite3ext.h tsrc\sqlite3ext.h
21752195!ELSE
21762196 copy /Y tsrc\sqlite3ext.h sqlite3ext.h
2197+ copy /B sqlite3ext.h +,,
21772198!ENDIF
21782199
2200+ sqlite3session.h: $(TOP)\ext\session\sqlite3session.h
2201+ copy /Y $(TOP)\ext\session\sqlite3session.h .
2202+ copy /B sqlite3session.h +,,
2203+
21792204mkkeywordhash.exe: $(TOP)\tool\mkkeywordhash.c
21802205 $(BCC) $(NO_WARN) -Fe$@ $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) $(OPTS) \
21812206 $(TOP)\tool\mkkeywordhash.c /link $(LDFLAGS) $(NLTLINKOPTS) $(NLTLIBPATHS)
@@ -2187,9 +2212,12 @@ keywordhash.h: $(TOP)\tool\mkkeywordhash.c mkkeywordhash.exe
21872212SHELL_SRC = \
21882213 $(TOP)\src\shell.c.in \
21892214 $(TOP)\ext\misc\appendvfs.c \
2190- $(TOP)\ext\misc\shathree.c \
2191- $(TOP)\ext\misc\fileio.c \
21922215 $(TOP)\ext\misc\completion.c \
2216+ $(TOP)\ext\misc\decimal.c \
2217+ $(TOP)\ext\misc\fileio.c \
2218+ $(TOP)\ext\misc\ieee754.c \
2219+ $(TOP)\ext\misc\shathree.c \
2220+ $(TOP)\ext\misc\uint.c \
21932221 $(TOP)\ext\expert\sqlite3expert.c \
21942222 $(TOP)\ext\expert\sqlite3expert.h \
21952223 $(TOP)\ext\misc\memtrace.c \
@@ -2320,19 +2348,22 @@ LSM1_SRC = \
23202348 $(TOP)\ext\lsm1\lsm_win32.c
23212349
23222350fts5parse.c: $(TOP)\ext\fts5\fts5parse.y lemon.exe
2323- copy $(TOP)\ext\fts5\fts5parse.y .
2351+ copy /Y $(TOP)\ext\fts5\fts5parse.y .
2352+ copy /B fts5parse.y +,,
23242353 del /Q fts5parse.h 2>NUL
23252354 .\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) $(OPTS) -S fts5parse.y
23262355
23272356fts5parse.h: fts5parse.c
23282357
23292358fts5.c: $(FTS5_SRC)
23302359 $(TCLSH_CMD) $(TOP)\ext\fts5\tool\mkfts5c.tcl
2331- copy $(TOP)\ext\fts5\fts5.h .
2360+ copy /Y $(TOP)\ext\fts5\fts5.h .
2361+ copy /B fts5.h +,,
23322362
23332363lsm1.c: $(LSM1_SRC)
23342364 $(TCLSH_CMD) $(TOP)\ext\lsm1\tool\mklsm1c.tcl
2335- copy $(TOP)\ext\lsm1\lsm.h .
2365+ copy /Y $(TOP)\ext\lsm1\lsm.h .
2366+ copy /B lsm.h +,,
23362367
23372368fts5.lo: fts5.c $(HDR) $(EXTHDR)
23382369 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c fts5.c
@@ -2360,6 +2391,7 @@ TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_SERIES_CONSTRAINT_VERIFY=1
23602391TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_DEFAULT_PAGE_SIZE=1024
23612392TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_STMTVTAB=1
23622393TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_DBPAGE_VTAB=1
2394+ TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_BYTECODE_VTAB=1
23632395TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_JSON1=1
23642396TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_DESERIALIZE=1
23652397TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) $(TEST_CCONV_OPTS)
@@ -2442,6 +2474,9 @@ smoketest: $(TESTPROGS)
24422474 @set PATH=$(LIBTCLPATH);$(PATH)
24432475 .\testfixture.exe $(TOP)\test\main.test $(TESTOPTS)
24442476
2477+ shelltest: $(TESTPROGS)
2478+ .\testfixture.exe $(TOP)\test\permutations.test shell
2479+
24452480sqlite3_analyzer.c: $(SQLITE3C) $(SQLITE3H) $(TOP)\src\tclsqlite.c $(TOP)\tool\spaceanal.tcl $(TOP)\tool\mkccode.tcl $(TOP)\tool\sqlite3_analyzer.c.in $(SQLITE_TCL_DEP)
24462481 $(TCLSH_CMD) $(TOP)\tool\mkccode.tcl $(TOP)\tool\sqlite3_analyzer.c.in > $@
24472482
0 commit comments