@@ -30,7 +30,8 @@ BCC = @BUILD_CC@ @BUILD_CFLAGS@
3030#
3131CC = @CC@
3232CFLAGS = @CPPFLAGS@ @CFLAGS@
33- TCC = $(CC ) $(CFLAGS ) -I. -I${TOP}/src -I${TOP}/ext/rtree -I${TOP}/ext/fts3
33+ TCC = ${CC} ${CFLAGS} -I. -I${TOP}/src -I${TOP}/ext/rtree -I${TOP}/ext/icu
34+ TCC += -I${TOP}/ext/fts3 -I${TOP}/ext/async -I${TOP}/ext/session
3435
3536# Define this for the autoconf-based build, so that the code knows it can
3637# include the generated config.h
@@ -173,13 +174,14 @@ LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
173174 fts3_unicode.lo fts3_unicode2.lo fts3_write.lo \
174175 fts5.lo \
175176 func.lo global.lo hash.lo \
176- icu.lo insert.lo journal.lo json1.lo legacy.lo loadext.lo \
177+ icu.lo insert.lo json1.lo legacy.lo loadext.lo \
177178 main.lo malloc.lo mem0.lo mem1.lo mem2.lo mem3.lo mem5.lo \
178179 memjournal.lo \
179180 mutex.lo mutex_noop.lo mutex_unix.lo mutex_w32.lo \
180181 notify.lo opcodes.lo os.lo os_unix.lo os_win.lo \
181182 pager.lo parse.lo pcache.lo pcache1.lo pragma.lo prepare.lo printf.lo \
182- random.lo resolve.lo rowset.lo rtree.lo select.lo sqlite3rbu.lo status.lo \
183+ random.lo resolve.lo rowset.lo rtree.lo \
184+ sqlite3session.lo select.lo sqlite3rbu.lo status.lo \
183185 table.lo threads.lo tokenize.lo treeview.lo trigger.lo \
184186 update.lo util.lo vacuum.lo \
185187 vdbe.lo vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
@@ -224,7 +226,6 @@ SRC = \
224226 $(TOP ) /src/hash.h \
225227 $(TOP ) /src/hwtime.h \
226228 $(TOP ) /src/insert.c \
227- $(TOP ) /src/journal.c \
228229 $(TOP ) /src/legacy.c \
229230 $(TOP ) /src/loadext.c \
230231 $(TOP ) /src/main.c \
@@ -342,14 +343,15 @@ SRC += \
342343SRC += \
343344 $(TOP ) /ext/rtree/rtree.h \
344345 $(TOP ) /ext/rtree/rtree.c
346+ SRC += \
347+ $(TOP ) /ext/session/sqlite3session.c \
348+ $(TOP ) /ext/session/sqlite3session.h
345349SRC += \
346350 $(TOP ) /ext/rbu/sqlite3rbu.h \
347351 $(TOP ) /ext/rbu/sqlite3rbu.c
348352SRC += \
349353 $(TOP ) /ext/misc/json1.c
350354
351-
352-
353355# Generated source code files
354356#
355357SRC += \
@@ -376,9 +378,11 @@ TESTSRC = \
376378 $(TOP ) /src/test_autoext.c \
377379 $(TOP ) /src/test_async.c \
378380 $(TOP ) /src/test_backup.c \
381+ $(TOP ) /src/test_bestindex.c \
379382 $(TOP ) /src/test_blob.c \
380383 $(TOP ) /src/test_btree.c \
381384 $(TOP ) /src/test_config.c \
385+ $(TOP ) /src/test_delete.c \
382386 $(TOP ) /src/test_demovfs.c \
383387 $(TOP ) /src/test_devsym.c \
384388 $(TOP ) /src/test_fs.c \
@@ -405,14 +409,17 @@ TESTSRC = \
405409 $(TOP ) /src/test_windirent.c \
406410 $(TOP ) /src/test_wsd.c \
407411 $(TOP ) /ext/fts3/fts3_term.c \
408- $(TOP ) /ext/fts3/fts3_test.c \
412+ $(TOP ) /ext/fts3/fts3_test.c \
413+ $(TOP ) /ext/session/test_session.c \
409414 $(TOP ) /ext/rbu/test_rbu.c
410415
411416# Statically linked extensions
412417#
413418TESTSRC += \
414419 $(TOP ) /ext/misc/amatch.c \
420+ $(TOP ) /ext/misc/carray.c \
415421 $(TOP ) /ext/misc/closure.c \
422+ $(TOP ) /ext/misc/csv.c \
416423 $(TOP ) /ext/misc/eval.c \
417424 $(TOP ) /ext/misc/fileio.c \
418425 $(TOP ) /ext/misc/fuzzer.c \
@@ -474,7 +481,8 @@ TESTSRC2 = \
474481 $(TOP ) /ext/fts3/fts3_term.c \
475482 $(TOP ) /ext/fts3/fts3_tokenizer.c \
476483 $(TOP ) /ext/fts3/fts3_write.c \
477- $(TOP ) /ext/async/sqlite3async.c
484+ $(TOP ) /ext/async/sqlite3async.c \
485+ $(TOP ) /ext/session/sqlite3session.c
478486
479487# Header files used by all library source files.
480488#
@@ -533,7 +541,8 @@ TESTPROGS = \
533541 testfixture$(TEXE ) \
534542 sqlite3$(TEXE ) \
535543 sqlite3_analyzer$(TEXE ) \
536- sqldiff$(TEXE )
544+ sqldiff$(TEXE ) \
545+ dbhash$(TEXE )
537546
538547# Databases containing fuzzer test cases
539548#
@@ -550,7 +559,9 @@ TESTOPTS = --verbose=file --output=test-out.txt
550559# Extra compiler options for various shell tools
551560#
552561SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4
562+ # SHELL_OPT += -DSQLITE_ENABLE_FTS5
553563SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
564+ SHELL_OPT += -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
554565FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
555566FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5
556567
@@ -581,8 +592,15 @@ sqlite3$(TEXE): $(TOP)/src/shell.c sqlite3.c
581592 $(TOP ) /src/shell.c sqlite3.c \
582593 $(LIBREADLINE ) $(TLIBS ) -rpath " $( libdir) "
583594
584- sqldiff$(TEXE ) : $(TOP ) /tool/sqldiff.c sqlite3.c sqlite3.h
585- $(LTLINK ) -o $@ $(TOP ) /tool/sqldiff.c sqlite3.c $(TLIBS )
595+ sqldiff$(TEXE ) : $(TOP ) /tool/sqldiff.c sqlite3.lo sqlite3.h
596+ $(LTLINK ) -o $@ $(TOP ) /tool/sqldiff.c sqlite3.lo $(TLIBS )
597+
598+ dbhash$(TEXE ) : $(TOP ) /tool/dbhash.c sqlite3.lo sqlite3.h
599+ $(LTLINK ) -o $@ $(TOP ) /tool/dbhash.c sqlite3.lo $(TLIBS )
600+
601+ scrub$(TEXE ) : $(TOP ) /ext/misc/scrub.c sqlite3.lo
602+ $(LTLINK ) -o $@ -I. -DSCRUB_STANDALONE \
603+ $(TOP ) /ext/misc/scrub.c sqlite3.lo $(TLIBS )
586604
587605srcck1$(BEXE ) : $(TOP ) /tool/srcck1.c
588606 $(BCC ) -o srcck1$(BEXE ) $(TOP ) /tool/srcck1.c
@@ -597,8 +615,8 @@ fuzzershell$(TEXE): $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
597615fuzzcheck$(TEXE ) : $(TOP ) /test/fuzzcheck.c sqlite3.c sqlite3.h
598616 $(LTLINK ) -o $@ $(FUZZCHECK_OPT ) $(TOP ) /test/fuzzcheck.c sqlite3.c $(TLIBS )
599617
600- mptester$(TEXE ) : sqlite3.c $(TOP ) /mptest/mptest.c
601- $(LTLINK ) -o $@ -I. $(TOP ) /mptest/mptest.c sqlite3.c \
618+ mptester$(TEXE ) : sqlite3.lo $(TOP ) /mptest/mptest.c
619+ $(LTLINK ) -o $@ -I. $(TOP ) /mptest/mptest.c sqlite3.lo \
602620 $(TLIBS ) -rpath " $( libdir) "
603621
604622MPTEST1 =./mptester$(TEXE ) mptest.db $(TOP ) /mptest/crash01.test --repeat 20
@@ -634,6 +652,7 @@ mptest: mptester$(TEXE)
634652sqlite3.c : .target_source $(TOP ) /tool/mksqlite3c.tcl
635653 $(TCLSH_CMD ) $(TOP ) /tool/mksqlite3c.tcl
636654 cp tsrc/shell.c tsrc/sqlite3ext.h .
655+ cp $(TOP ) /ext/session/sqlite3session.h .
637656
638657sqlite3ext.h : .target_source
639658 cp tsrc/sqlite3ext.h .
@@ -738,9 +757,6 @@ hash.lo: $(TOP)/src/hash.c $(HDR)
738757insert.lo : $(TOP ) /src/insert.c $(HDR )
739758 $(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/insert.c
740759
741- journal.lo : $(TOP ) /src/journal.c $(HDR )
742- $(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/journal.c
743-
744760legacy.lo : $(TOP ) /src/legacy.c $(HDR )
745761 $(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/legacy.c
746762
@@ -1000,6 +1016,9 @@ fts3_write.lo: $(TOP)/ext/fts3/fts3_write.c $(HDR) $(EXTHDR)
10001016rtree.lo : $(TOP ) /ext/rtree/rtree.c $(HDR ) $(EXTHDR )
10011017 $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/rtree/rtree.c
10021018
1019+ sqlite3session.lo : $(TOP ) /ext/session/sqlite3session.c $(HDR ) $(EXTHDR )
1020+ $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/session/sqlite3session.c
1021+
10031022json1.lo : $(TOP ) /ext/misc/json1.c
10041023 $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/misc/json1.c
10051024
@@ -1025,7 +1044,7 @@ FTS5_SRC = \
10251044fts5parse.c : $(TOP ) /ext/fts5/fts5parse.y lemon
10261045 cp $(TOP ) /ext/fts5/fts5parse.y .
10271046 rm -f fts5parse.h
1028- ./lemon $(OPTS ) fts5parse.y
1047+ ./lemon$( BEXE ) $(OPTS ) fts5parse.y
10291048
10301049fts5parse.h : fts5parse.c
10311050
@@ -1050,6 +1069,8 @@ sqlite3rbu.lo: $(TOP)/ext/rbu/sqlite3rbu.c $(HDR) $(EXTHDR)
10501069TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
10511070TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
10521071TESTFIXTURE_FLAGS += -DBUILD_sqlite
1072+ TESTFIXTURE_FLAGS += -DSQLITE_SERIES_CONSTRAINT_VERIFY=1
1073+ TESTFIXTURE_FLAGS += -DSQLITE_DEFAULT_PAGE_SIZE=1024
10531074
10541075TESTFIXTURE_SRC0 = $(TESTSRC2 ) libsqlite3.la
10551076TESTFIXTURE_SRC1 = sqlite3.c
@@ -1130,14 +1151,17 @@ showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo
11301151showwal$(TEXE ) : $(TOP ) /tool/showwal.c sqlite3.lo
11311152 $(LTLINK ) -o $@ $(TOP ) /tool/showwal.c sqlite3.lo $(TLIBS )
11321153
1154+ changeset$(TEXE ) : $(TOP ) /ext/session/changeset.c sqlite3.lo
1155+ $(LTLINK ) -o $@ $(TOP ) /ext/session/changeset.c sqlite3.lo $(TLIBS )
1156+
11331157rollback-test$(TEXE ) : $(TOP ) /tool/rollback-test.c sqlite3.lo
11341158 $(LTLINK ) -o $@ $(TOP ) /tool/rollback-test.c sqlite3.lo $(TLIBS )
11351159
11361160LogEst$(TEXE ) : $(TOP ) /tool/logest.c sqlite3.h
11371161 $(LTLINK ) -I. -o $@ $(TOP ) /tool/logest.c
11381162
1139- wordcount$(TEXE ) : $(TOP ) /test/wordcount.c sqlite3.c
1140- $(LTLINK ) -o $@ $(TOP ) /test/wordcount.c sqlite3.c $(TLIBS )
1163+ wordcount$(TEXE ) : $(TOP ) /test/wordcount.c sqlite3.lo
1164+ $(LTLINK ) -o $@ $(TOP ) /test/wordcount.c sqlite3.lo $(TLIBS )
11411165
11421166speedtest1$(TEXE ) : $(TOP ) /test/speedtest1.c sqlite3.lo
11431167 $(LTLINK ) -o $@ $(TOP ) /test/speedtest1.c sqlite3.lo $(TLIBS )
@@ -1152,8 +1176,9 @@ loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
11521176# symbols that do not begin with "sqlite3_". It is run as part of the
11531177# releasetest.tcl script.
11541178#
1179+ VALIDIDS =' sqlite3(changeset|changegroup|session)?_'
11551180checksymbols : sqlite3.lo
1156- nm -g --defined-only sqlite3.o | grep -v " sqlite3_ " ; test $$? -ne 0
1181+ nm -g --defined-only sqlite3.lo | egrep -v $( VALIDIDS ) ; test $$? -ne 0
11571182 echo ' 0 errors out of 1 tests'
11581183
11591184# Build the amalgamation-autoconf package. The amalamgation-tarball target builds
@@ -1216,13 +1241,12 @@ clean:
12161241 rm -f lemon$(BEXE ) lempar.c parse.* sqlite* .tar.gz
12171242 rm -f mkkeywordhash$(BEXE ) keywordhash.h
12181243 rm -f * .da * .bb * .bbg gmon.out
1219- rm -rf quota2a quota2b quota2c
12201244 rm -rf tsrc .target_source
12211245 rm -f tclsqlite3$(TEXE )
12221246 rm -f testfixture$(TEXE ) test.db
12231247 rm -f LogEst$(TEXE ) fts3view$(TEXE ) rollback-test$(TEXE ) showdb$(TEXE )
12241248 rm -f showjournal$(TEXE ) showstat4$(TEXE ) showwal$(TEXE ) speedtest1$(TEXE )
1225- rm -f wordcount$(TEXE )
1249+ rm -f wordcount$(TEXE ) changeset $( TEXE )
12261250 rm -f sqlite3.dll sqlite3.lib sqlite3.exp sqlite3.def
12271251 rm -f sqlite3.c
12281252 rm -f sqlite3rc.h
@@ -1235,6 +1259,7 @@ clean:
12351259 rm -f fuzzershell fuzzershell.exe
12361260 rm -f fuzzcheck fuzzcheck.exe
12371261 rm -f sqldiff sqldiff.exe
1262+ rm -f dbhash dbhash.exe
12381263 rm -f fts5.* fts5parse.*
12391264
12401265distclean : clean
0 commit comments