@@ -27,7 +27,7 @@ BCC = @BUILD_CC@ @BUILD_CFLAGS@
2727# will run on the target platform. (BCC and TCC are usually the
2828# same unless your are cross-compiling.)
2929#
30- TCC = @CC@ @CPPFLAGS@ @CFLAGS@ -I. -I${TOP}/src
30+ TCC = @CC@ @CPPFLAGS@ @CFLAGS@ -I. -I${TOP}/src -I${TOP}/ext/rtree
3131
3232# Define this for the autoconf-based build, so that the code knows it can
3333# include the generated config.h
@@ -60,10 +60,6 @@ LIBREADLINE = @TARGET_READLINE_LIBS@
6060#
6161TCC += -DSQLITE_THREADSAFE=@SQLITE_THREADSAFE@
6262
63- # Do threads override each others locks by default (1), or do we test (-1)
64- #
65- TCC += -DSQLITE_THREAD_OVERRIDE_LOCK=@THREADSOVERRIDELOCKS@
66-
6763# Any target libraries which libsqlite must be linked against
6864#
6965TLIBS = @LIBS@
@@ -177,8 +173,9 @@ USE_AMALGAMATION = @USE_AMALGAMATION@
177173#
178174LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
179175 backup.lo bitvec.lo btmutex.lo btree.lo build.lo \
180- callback.lo complete.lo ctime.lo date.lo delete.lo expr.lo fault.lo fkey.lo \
181- fts3.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo fts3_porter.lo \
176+ callback.lo complete.lo ctime.lo date.lo delete.lo \
177+ expr.lo fault.lo fkey.lo \
178+ fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo fts3_porter.lo \
182179 fts3_snippet.lo fts3_tokenizer.lo fts3_tokenizer1.lo fts3_write.lo \
183180 func.lo global.lo hash.lo \
184181 icu.lo insert.lo journal.lo legacy.lo loadext.lo \
@@ -190,8 +187,8 @@ LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
190187 random.lo resolve.lo rowset.lo rtree.lo select.lo status.lo \
191188 table.lo tokenize.lo trigger.lo \
192189 update.lo util.lo vacuum.lo \
193- vdbe.lo vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbetrace .lo \
194- wal.lo walker.lo where.lo utf.lo vtab.lo $(CRYPTOLIBOBJ )
190+ vdbe.lo vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort .lo \
191+ vdbetrace.lo wal.lo walker.lo where.lo utf.lo vtab.lo $(CRYPTOLIBOBJ )
195192
196193# Object files for the amalgamation.
197194#
@@ -288,6 +285,7 @@ SRC = \
288285 $(TOP ) /src/vdbeaux.c \
289286 $(TOP ) /src/vdbeblob.c \
290287 $(TOP ) /src/vdbemem.c \
288+ $(TOP ) /src/vdbesort.c \
291289 $(TOP ) /src/vdbetrace.c \
292290 $(TOP ) /src/vdbeInt.h \
293291 $(TOP ) /src/vtab.c \
@@ -320,6 +318,7 @@ SRC += \
320318 $(TOP ) /ext/fts3/fts3.c \
321319 $(TOP ) /ext/fts3/fts3.h \
322320 $(TOP ) /ext/fts3/fts3Int.h \
321+ $(TOP ) /ext/fts3/fts3_aux.c \
323322 $(TOP ) /ext/fts3/fts3_expr.c \
324323 $(TOP ) /ext/fts3/fts3_hash.c \
325324 $(TOP ) /ext/fts3/fts3_hash.h \
@@ -369,22 +368,31 @@ TESTSRC = \
369368 $(TOP ) /src/test_demovfs.c \
370369 $(TOP ) /src/test_devsym.c \
371370 $(TOP ) /src/test_func.c \
371+ $(TOP ) /src/test_fuzzer.c \
372372 $(TOP ) /src/test_hexio.c \
373373 $(TOP ) /src/test_init.c \
374374 $(TOP ) /src/test_intarray.c \
375375 $(TOP ) /src/test_journal.c \
376376 $(TOP ) /src/test_malloc.c \
377+ $(TOP ) /src/test_multiplex.c \
377378 $(TOP ) /src/test_mutex.c \
378379 $(TOP ) /src/test_onefile.c \
379380 $(TOP ) /src/test_osinst.c \
380381 $(TOP ) /src/test_pcache.c \
382+ $(TOP ) /src/test_quota.c \
383+ $(TOP ) /src/test_rtree.c \
381384 $(TOP ) /src/test_schema.c \
382385 $(TOP ) /src/test_server.c \
386+ $(TOP ) /src/test_superlock.c \
387+ $(TOP ) /src/test_syscall.c \
383388 $(TOP ) /src/test_stat.c \
384389 $(TOP ) /src/test_tclvar.c \
385390 $(TOP ) /src/test_thread.c \
386391 $(TOP ) /src/test_vfs.c \
387- $(TOP ) /src/test_wsd.c
392+ $(TOP ) /src/test_wholenumber.c \
393+ $(TOP ) /src/test_wsd.c \
394+ $(TOP ) /ext/fts3/fts3_term.c \
395+ $(TOP ) /ext/fts3/fts3_test.c
388396
389397# Source code to the library files needed by the test fixture
390398#
@@ -424,7 +432,9 @@ TESTSRC2 = \
424432 $(TOP ) /src/where.c \
425433 parse.c \
426434 $(TOP ) /ext/fts3/fts3.c \
435+ $(TOP ) /ext/fts3/fts3_aux.c \
427436 $(TOP ) /ext/fts3/fts3_expr.c \
437+ $(TOP ) /ext/fts3/fts3_term.c \
428438 $(TOP ) /ext/fts3/fts3_tokenizer.c \
429439 $(TOP ) /ext/fts3/fts3_write.c \
430440 $(TOP ) /ext/async/sqlite3async.c
@@ -471,6 +481,8 @@ EXTHDR += \
471481 $(TOP ) /ext/rtree/rtree.h
472482EXTHDR += \
473483 $(TOP ) /ext/icu/sqliteicu.h
484+ EXTHDR += \
485+ $(TOP ) /ext/rtree/sqlite3rtree.h
474486
475487# This is the default Makefile target. The objects listed here
476488# are what get build when you type just "make" with no arguments.
@@ -517,6 +529,9 @@ sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la sqlite3.h
517529sqlite3.c : .target_source $(TOP ) /tool/mksqlite3c.tcl
518530 $(TCLSH_CMD ) $(TOP ) /tool/mksqlite3c.tcl
519531
532+ sqlite3-all.c : sqlite3.c $(TOP ) /tool/split-sqlite3c.tcl
533+ $(TCLSH_CMD ) $(TOP ) /tool/split-sqlite3c.tcl
534+
520535# Rule to build the amalgamation
521536#
522537sqlite3.lo : sqlite3.c
@@ -742,6 +757,9 @@ vdbeblob.lo: $(TOP)/src/vdbeblob.c $(HDR)
742757vdbemem.lo : $(TOP ) /src/vdbemem.c $(HDR )
743758 $(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/vdbemem.c
744759
760+ vdbesort.lo : $(TOP ) /src/vdbesort.c $(HDR )
761+ $(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/vdbesort.c
762+
745763vdbetrace.lo : $(TOP ) /src/vdbetrace.c $(HDR )
746764 $(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/vdbetrace.c
747765
@@ -773,7 +791,7 @@ tclsqlite3$(TEXE): tclsqlite-shell.lo libsqlite3.la
773791# Rules to build opcodes.c and opcodes.h
774792#
775793opcodes.c : opcodes.h $(TOP ) /mkopcodec.awk
776- sort -n -b -k 3 opcodes.h | $(NAWK ) -f $(TOP ) /mkopcodec.awk > opcodes.c
794+ $(NAWK ) -f $(TOP ) /mkopcodec.awk opcodes.h > opcodes.c
777795
778796opcodes.h : parse.h $(TOP ) /src/vdbe.c $(TOP ) /mkopcodeh.awk
779797 cat parse.h $(TOP ) /src/vdbe.c | $(NAWK ) -f $(TOP ) /mkopcodeh.awk > opcodes.h
@@ -790,7 +808,7 @@ parse.c: $(TOP)/src/parse.y lemon$(BEXE) $(TOP)/addopcodes.awk
790808 $(NAWK ) -f $(TOP ) /addopcodes.awk parse.h.temp > parse.h
791809
792810sqlite3.h : $(TOP ) /src/sqlite.h.in $(TOP ) /manifest.uuid $(TOP ) /VERSION
793- tclsh $(TOP ) /tool/mksqlite3h.tcl $(TOP ) > sqlite3.h
811+ $( TCLSH_CMD ) $(TOP ) /tool/mksqlite3h.tcl $(TOP ) > sqlite3.h
794812
795813keywordhash.h : $(TOP ) /tool/mkkeywordhash.c
796814 $(BCC ) -o mkkeywordhash$(BEXE ) $(OPT_FEATURE_FLAGS ) $(OPTS ) $(TOP ) /tool/mkkeywordhash.c
@@ -824,6 +842,9 @@ fts2_tokenizer1.lo: $(TOP)/ext/fts2/fts2_tokenizer1.c $(HDR) $(EXTHDR)
824842fts3.lo : $(TOP ) /ext/fts3/fts3.c $(HDR ) $(EXTHDR )
825843 $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3.c
826844
845+ fts3_aux.lo : $(TOP ) /ext/fts3/fts3_aux.c $(HDR ) $(EXTHDR )
846+ $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_aux.c
847+
827848fts3_expr.lo : $(TOP ) /ext/fts3/fts3_expr.c $(HDR ) $(EXTHDR )
828849 $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_expr.c
829850
@@ -833,12 +854,12 @@ fts3_hash.lo: $(TOP)/ext/fts3/fts3_hash.c $(HDR) $(EXTHDR)
833854fts3_icu.lo : $(TOP ) /ext/fts3/fts3_icu.c $(HDR ) $(EXTHDR )
834855 $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_icu.c
835856
836- fts3_snippet.lo : $(TOP ) /ext/fts3/fts3_snippet.c $(HDR ) $(EXTHDR )
837- $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_snippet.c
838-
839857fts3_porter.lo : $(TOP ) /ext/fts3/fts3_porter.c $(HDR ) $(EXTHDR )
840858 $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_porter.c
841859
860+ fts3_snippet.lo : $(TOP ) /ext/fts3/fts3_snippet.c $(HDR ) $(EXTHDR )
861+ $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_snippet.c
862+
842863fts3_tokenizer.lo : $(TOP ) /ext/fts3/fts3_tokenizer.c $(HDR ) $(EXTHDR )
843864 $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_tokenizer.c
844865
@@ -861,6 +882,7 @@ rtree.lo: $(TOP)/ext/rtree/rtree.c $(HDR) $(EXTHDR)
861882#
862883TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
863884TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
885+ TESTFIXTURE_FLAGS += -DBUILD_sqlite
864886
865887TESTFIXTURE_SRC0 = $(TESTSRC2 ) libsqlite3.la
866888TESTFIXTURE_SRC1 = sqlite3.c
@@ -880,18 +902,16 @@ soaktest: testfixture$(TEXE) sqlite3$(TEXE)
880902test : testfixture$(TEXE ) sqlite3$(TEXE )
881903 ./testfixture$(TEXE ) $(TOP ) /test/veryquick.test
882904
883- sqlite3_analyzer$(TEXE ) : $(TESTFIXTURE_SRC ) $(TOP ) /tool/spaceanal.tcl
884- sed \
885- -e ' /^#/d' \
886- -e ' s,\\,\\\\,g' \
887- -e ' s,",\\",g' \
888- -e ' s,^,",' \
889- -e ' s,$$,\\n",' \
890- $(TOP ) /tool/spaceanal.tcl > spaceanal_tcl.h
891- $(LTLINK ) -DTCLSH=2 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1 \
892- -DSQLITE_SERVER=1 -DSQLITE_PRIVATE=" " -DSQLITE_CORE \
893- $(TEMP_STORE ) -o $@ $(TESTFIXTURE_SRC ) $(LIBTCL ) $(TLIBS )
905+ sqlite3_analyzer.c : sqlite3.c $(TOP ) /src/test_stat.c $(TOP ) /src/tclsqlite.c $(TOP ) /tool/spaceanal.tcl
906+ echo " #define TCLSH 2" > $@
907+ cat sqlite3.c $(TOP ) /src/test_stat.c $(TOP ) /src/tclsqlite.c >> $@
908+ echo " static const char *tclsh_main_loop(void){" >> $@
909+ echo " static const char *zMainloop = " >> $@
910+ $(NAWK ) -f $(TOP ) /tool/tostr.awk $(TOP ) /tool/spaceanal.tcl >> $@
911+ echo " ; return zMainloop; }" >> $@
894912
913+ sqlite3_analyzer$(TEXE ) : sqlite3_analyzer.c
914+ $(LTLINK ) sqlite3_analyzer.c -o $@ $(LIBTCL ) $(TLIBS )
895915
896916# Standard install and cleanup targets
897917#
@@ -925,9 +945,11 @@ clean:
925945 rm -f $(PUBLISH )
926946 rm -f * .da * .bb * .bbg gmon.out
927947 rm -rf tsrc .target_source
948+ rm -f tclsqlite3$(TEXE )
928949 rm -f testfixture$(TEXE ) test.db
929- rm -f sqlite3.dll sqlite3.lib sqlite3.def
950+ rm -f sqlite3.dll sqlite3.lib sqlite3.exp sqlite3. def
930951 rm -f sqlite3.c
952+ rm -f sqlite3_analyzer$(TEXE ) sqlite3_analyzer.c
931953
932954distclean : clean
933955 rm -f config.log config.status libtool Makefile sqlite3.pc
0 commit comments