@@ -31,7 +31,8 @@ BCC = @BUILD_CC@ @BUILD_CFLAGS@
31
31
#
32
32
CC = @CC@
33
33
CFLAGS = @CPPFLAGS@ @CFLAGS@
34
- TCC = $(CC ) $(CFLAGS ) -I. -I${TOP}/src -I${TOP}/ext/rtree -I${TOP}/ext/fts3
34
+ TCC = ${CC} ${CFLAGS} -I. -I${TOP}/src -I${TOP}/ext/rtree -I${TOP}/ext/icu
35
+ TCC += -I${TOP}/ext/fts3 -I${TOP}/ext/async -I${TOP}/ext/session
35
36
36
37
# Define this for the autoconf-based build, so that the code knows it can
37
38
# include the generated config.h
@@ -192,13 +193,14 @@ LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
192
193
fts3_unicode.lo fts3_unicode2.lo fts3_write.lo \
193
194
fts5.lo \
194
195
func.lo global.lo hash.lo \
195
- icu.lo insert.lo journal.lo json1.lo legacy.lo loadext.lo \
196
+ icu.lo insert.lo json1.lo legacy.lo loadext.lo \
196
197
main.lo malloc.lo mem0.lo mem1.lo mem2.lo mem3.lo mem5.lo \
197
198
memjournal.lo \
198
199
mutex.lo mutex_noop.lo mutex_unix.lo mutex_w32.lo \
199
200
notify.lo opcodes.lo os.lo os_unix.lo os_win.lo \
200
201
pager.lo parse.lo pcache.lo pcache1.lo pragma.lo prepare.lo printf.lo \
201
- random.lo resolve.lo rowset.lo rtree.lo select.lo sqlite3rbu.lo status.lo \
202
+ random.lo resolve.lo rowset.lo rtree.lo \
203
+ sqlite3session.lo select.lo sqlite3rbu.lo status.lo \
202
204
table.lo threads.lo tokenize.lo treeview.lo trigger.lo \
203
205
update.lo util.lo vacuum.lo \
204
206
vdbe.lo vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
@@ -244,7 +246,6 @@ SRC = \
244
246
$(TOP ) /src/hash.h \
245
247
$(TOP ) /src/hwtime.h \
246
248
$(TOP ) /src/insert.c \
247
- $(TOP ) /src/journal.c \
248
249
$(TOP ) /src/legacy.c \
249
250
$(TOP ) /src/loadext.c \
250
251
$(TOP ) /src/main.c \
@@ -362,14 +363,15 @@ SRC += \
362
363
SRC += \
363
364
$(TOP ) /ext/rtree/rtree.h \
364
365
$(TOP ) /ext/rtree/rtree.c
366
+ SRC += \
367
+ $(TOP ) /ext/session/sqlite3session.c \
368
+ $(TOP ) /ext/session/sqlite3session.h
365
369
SRC += \
366
370
$(TOP ) /ext/rbu/sqlite3rbu.h \
367
371
$(TOP ) /ext/rbu/sqlite3rbu.c
368
372
SRC += \
369
373
$(TOP ) /ext/misc/json1.c
370
374
371
-
372
-
373
375
# Generated source code files
374
376
#
375
377
SRC += \
@@ -396,9 +398,11 @@ TESTSRC = \
396
398
$(TOP ) /src/test_autoext.c \
397
399
$(TOP ) /src/test_async.c \
398
400
$(TOP ) /src/test_backup.c \
401
+ $(TOP ) /src/test_bestindex.c \
399
402
$(TOP ) /src/test_blob.c \
400
403
$(TOP ) /src/test_btree.c \
401
404
$(TOP ) /src/test_config.c \
405
+ $(TOP ) /src/test_delete.c \
402
406
$(TOP ) /src/test_demovfs.c \
403
407
$(TOP ) /src/test_devsym.c \
404
408
$(TOP ) /src/test_fs.c \
@@ -425,14 +429,17 @@ TESTSRC = \
425
429
$(TOP ) /src/test_windirent.c \
426
430
$(TOP ) /src/test_wsd.c \
427
431
$(TOP ) /ext/fts3/fts3_term.c \
428
- $(TOP ) /ext/fts3/fts3_test.c \
432
+ $(TOP ) /ext/fts3/fts3_test.c \
433
+ $(TOP ) /ext/session/test_session.c \
429
434
$(TOP ) /ext/rbu/test_rbu.c
430
435
431
436
# Statically linked extensions
432
437
#
433
438
TESTSRC += \
434
439
$(TOP ) /ext/misc/amatch.c \
440
+ $(TOP ) /ext/misc/carray.c \
435
441
$(TOP ) /ext/misc/closure.c \
442
+ $(TOP ) /ext/misc/csv.c \
436
443
$(TOP ) /ext/misc/eval.c \
437
444
$(TOP ) /ext/misc/fileio.c \
438
445
$(TOP ) /ext/misc/fuzzer.c \
@@ -494,7 +501,8 @@ TESTSRC2 = \
494
501
$(TOP ) /ext/fts3/fts3_term.c \
495
502
$(TOP ) /ext/fts3/fts3_tokenizer.c \
496
503
$(TOP ) /ext/fts3/fts3_write.c \
497
- $(TOP ) /ext/async/sqlite3async.c
504
+ $(TOP ) /ext/async/sqlite3async.c \
505
+ $(TOP ) /ext/session/sqlite3session.c
498
506
499
507
# Header files used by all library source files.
500
508
#
@@ -553,7 +561,8 @@ TESTPROGS = \
553
561
testfixture$(TEXE ) \
554
562
sqlite3$(TEXE ) \
555
563
sqlite3_analyzer$(TEXE ) \
556
- sqldiff$(TEXE )
564
+ sqldiff$(TEXE ) \
565
+ dbhash$(TEXE )
557
566
558
567
# Databases containing fuzzer test cases
559
568
#
@@ -570,7 +579,9 @@ TESTOPTS = --verbose=file --output=test-out.txt
570
579
# Extra compiler options for various shell tools
571
580
#
572
581
SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4
582
+ # SHELL_OPT += -DSQLITE_ENABLE_FTS5
573
583
SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
584
+ SHELL_OPT += -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
574
585
FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
575
586
FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5
576
587
@@ -586,11 +597,11 @@ sqlcipher.pc: $(TOP)/sqlcipher.pc.in
586
597
./config.status
587
598
588
599
libsqlcipher.la : $(LIBOBJ )
589
- $(LTLINK ) -o $@ $(LIBOBJ ) $(TLIBS ) \
600
+ $(LTLINK ) -no-undefined - o $@ $(LIBOBJ ) $(TLIBS ) \
590
601
${ALLOWRELEASE} -rpath " $( libdir) " -version-info " 8:6:8"
591
602
592
603
libtclsqlite3.la : tclsqlite.lo libsqlcipher.la
593
- $(LTLINK ) -o $@ tclsqlite.lo \
604
+ $(LTLINK ) -no-undefined - o $@ tclsqlite.lo \
594
605
libsqlcipher.la @TCL_STUB_LIB_SPEC@ $(TLIBS ) \
595
606
-rpath " $( TCLLIBDIR) " \
596
607
-version-info " 8:6:8" \
@@ -601,8 +612,15 @@ sqlcipher$(TEXE): $(TOP)/src/shell.c libsqlcipher.la sqlite3.h
601
612
-o $@ $(TOP ) /src/shell.c libsqlcipher.la \
602
613
$(LIBREADLINE ) $(TLIBS ) -rpath " $( libdir) "
603
614
604
- sqldiff$(TEXE ) : $(TOP ) /tool/sqldiff.c sqlite3.c sqlite3.h
605
- $(LTLINK ) -o $@ $(TOP ) /tool/sqldiff.c sqlite3.c $(TLIBS )
615
+ sqldiff$(TEXE ) : $(TOP ) /tool/sqldiff.c sqlite3.lo sqlite3.h
616
+ $(LTLINK ) -o $@ $(TOP ) /tool/sqldiff.c s
10000
qlite3.lo $(TLIBS )
617
+
618
+ dbhash$(TEXE ) : $(TOP ) /tool/dbhash.c sqlite3.lo sqlite3.h
619
+ $(LTLINK ) -o $@ $(TOP ) /tool/dbhash.c sqlite3.lo $(TLIBS )
620
+
621
+ scrub$(TEXE ) : $(TOP ) /ext/misc/scrub.c sqlite3.lo
622
+ $(LTLINK ) -o $@ -I. -DSCRUB_STANDALONE \
623
+ $(TOP ) /ext/misc/scrub.c sqlite3.lo $(TLIBS )
606
624
607
625
srcck1$(BEXE ) : $(TOP ) /tool/srcck1.c
608
626
$(BCC ) -o srcck1$(BEXE ) $(TOP ) /tool/srcck1.c
@@ -617,8 +635,8 @@ fuzzershell$(TEXE): $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
617
635
fuzzcheck$(TEXE ) : $(TOP ) /test/fuzzcheck.c sqlite3.c sqlite3.h
618
636
$(LTLINK ) -o $@ $(FUZZCHECK_OPT ) $(TOP ) /test/fuzzcheck.c sqlite3.c $(TLIBS )
619
637
620
- mptester$(TEXE ) : sqlite3.c $(TOP ) /mptest/mptest.c
621
- $(LTLINK ) -o $@ -I. $(TOP ) /mptest/mptest.c sqlite3.c \
638
+ mptester$(TEXE ) : sqlite3.lo $(TOP ) /mptest/mptest.c
639
+ $(LTLINK ) -o $@ -I. $(TOP ) /mptest/mptest.c sqlite3.lo \
622
640
$(TLIBS ) -rpath " $( libdir) "
623
641
624
642
MPTEST1 =./mptester$(TEXE ) mptest.db $(TOP ) /mptest/crash01.test --repeat 20
@@ -654,6 +672,7 @@ mptest: mptester$(TEXE)
654
672
sqlite3.c : .target_source $(TOP ) /tool/mksqlite3c.tcl
655
673
$(TCLSH_CMD ) $(TOP ) /tool/mksqlite3c.tcl
656
674
cp tsrc/shell.c tsrc/sqlite3ext.h .
675
+ cp $(TOP ) /ext/session/sqlite3session.h .
657
676
658
677
sqlite3ext.h : .target_source
659
678
cp tsrc/sqlite3ext.h .
@@ -771,9 +790,6 @@ hash.lo: $(TOP)/src/hash.c $(HDR)
771
790
insert.lo : $(TOP ) /src/insert.c $(HDR )
772
791
$(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/insert.c
773
792
774
- journal.lo : $(TOP ) /src/journal.c $(HDR )
775
- $(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/journal.c
776
-
777
793
legacy.lo : $(TOP ) /src/legacy.c $(HDR )
778
794
$(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/legacy.c
779
795
@@ -1033,6 +1049,9 @@ fts3_write.lo: $(TOP)/ext/fts3/fts3_write.c $(HDR) $(EXTHDR)
1033
1049
rtree.lo : $(TOP ) /ext/rtree/rtree.c $(HDR ) $(EXTHDR )
1034
1050
$(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/rtree/rtree.c
1035
1051
1052
+ sqlite3session.lo : $(TOP ) /ext/session/sqlite3session.c $(HDR ) $(EXTHDR )
1053
+ $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/session/sqlite3session.c
1054
+
1036
1055
json1.lo : $(TOP ) /ext/misc/json1.c
1037
1056
$(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/misc/json1.c
1038
1057
@@ -1058,7 +1077,7 @@ FTS5_SRC = \
1058
1077
fts5parse.c : $(TOP ) /ext/fts5/fts5parse.y lemon
1059
1078
cp $(TOP ) /ext/fts5/fts5parse.y .
1060
1079
rm -f fts5parse.h
1061
- ./lemon $(OPTS ) fts5parse.y
1080
+ ./lemon$( BEXE ) $(OPTS ) fts5parse.y
1062
1081
1063
1082
fts5parse.h : fts5parse.c
1064
1083
@@ -1083,6 +1102,8 @@ sqlite3rbu.lo: $(TOP)/ext/rbu/sqlite3rbu.c $(HDR) $(EXTHDR)
1083
1102
TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
1084
1103
TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
1085
1104
TESTFIXTURE_FLAGS += -DBUILD_sqlite
1105
+ TESTFIXTURE_FLAGS += -DSQLITE_SERIES_CONSTRAINT_VERIFY=1
1106
+ TESTFIXTURE_FLAGS += -DSQLITE_DEFAULT_PAGE_SIZE=1024
1086
1107
1087
1108
TESTFIXTURE_SRC0 = $(TESTSRC2 ) libsqlcipher.la
1088
1109
TESTFIXTURE_SRC1 = sqlite3.c
@@ -1163,14 +1184,17 @@ showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo
1163
1184
showwal$(TEXE ) : $(TOP ) /tool/showwal.c sqlite3.lo
1164
1185
$(LTLINK ) -o $@ $(TOP ) /tool/showwal.c sqlite3.lo $(TLIBS )
1165
1186
1187
+ changeset$(TEXE ) : $(TOP ) /ext/session/changeset.c sqlite3.lo
1188
+ $(LTLINK ) -o $@ $(TOP ) /ext/session/changeset.c sqlite3.lo $(TLIBS )
1189
+
1166
1190
rollback-test$(TEXE ) : $(TOP ) /tool/rollback-test.c sqlite3.lo
1167
1191
$(LTLINK ) -o $@ $(TOP ) /tool/rollback-test.c sqlite3.lo $(TLIBS )
1168
1192
1169
1193
LogEst$(TEXE ) : $(TOP ) /tool/logest.c sqlite3.h
1170
1194
$(LTLINK ) -I. -o $@ $(TOP ) /tool/logest.c
1171
1195
1172
- wordcount$(TEXE ) : $(TOP ) /test/wordcount.c sqlite3.c
1173
- $(LTLINK ) -o $@ $(TOP ) /test/wordcount.c sqlite3.c $(TLIBS )
1196
+ wordcount$(TEXE ) : $(TOP ) /test/wordcount.c sqlite3.lo
1197
+ $(LTLINK ) -o $@ $(TOP ) /test/wordcount.c sqlite3.lo $(TLIBS )
1174
1198
1175
1199
speedtest1$(TEXE ) : $(TOP ) /test/speedtest1.c sqlite3.lo
1176
1200
$(LTLINK ) -o $@ $(TOP ) /test/speedtest1.c sqlite3.lo $(TLIBS )
@@ -1185,8 +1209,9 @@ loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
1185
1209
# symbols that do not begin with "sqlite3_". It is run as part of the
1186
1210
# releasetest.tcl script.
1187
1211
#
1212
+ VALIDIDS =' sqlite3(changeset|changegroup|session)?_'
1188
1213
checksymbols : sqlite3.lo
1189
- nm -g --defined-only sqlite3.o | grep -v " sqlite3_ " ; test $$? -ne 0
1214
+ nm -g --defined-only sqlite3.lo | egrep -v $( VALIDIDS ) ; test $$? -ne 0
1190
1215
echo ' 0 errors out of 1 tests'
1191
1216
1192
1217
# Build the amalgamation-autoconf package. The amalamgation-tarball target builds
@@ -1249,13 +1274,12 @@ clean:
1249
1274
rm -f lemon$(BEXE ) lempar.c parse.* sqlite* .tar.gz
1250
1275
rm -f mkkeywordhash$(BEXE ) keywordhash.h
1251
1276
rm -f * .da * .bb * .bbg gmon.out
1252
- rm -rf quota2a quota2b quota2c
1253
1277
rm -rf tsrc .target_source
1254
1278
rm -f tclsqlcipher$(TEXE )
1255
1279
rm -f testfixture$(TEXE ) test.db
1256
1280
rm -f LogEst$(TEXE ) fts3view$(TEXE ) rollback-test$(TEXE ) showdb$(TEXE )
1257
1281
rm -f showjournal$(TEXE ) showstat4$(TEXE ) showwal$(TEXE ) speedtest1$(TEXE )
1258
- rm -f wordcount$(TEXE )
1282
+ rm -f wordcount$(TEXE ) changeset $( TEXE )
1259
1283
rm -f sqlite3.dll sqlite3.lib sqlite3.exp sqlite3.def
1260
1284
rm -f sqlite3.c
1261
1285
rm -f sqlite3rc.h
@@ -1268,6 +1292,7 @@ clean:
1268
1292
rm -f fuzzershell fuzzershell.exe
1269
1293
rm -f fuzzcheck fuzzcheck.exe
1270
1294
rm -f sqldiff sqldiff.exe
1295
+ rm -f dbhash dbhash.exe
1271
1296
rm -f fts5.* fts5parse.*
1272
1297
1273
1298
distclean : clean
0 commit comments