@@ -27,12 +27,12 @@ BCC = @BUILD_CC@ @BUILD_CFLAGS@
27
27
# will run on the target platform. (BCC and TCC are usually the
28
28
# same unless your are cross-compiling.)
29
29
#
30
- TCC = @CC@ @CPPFLAGS@ @CFLAGS@ -I. -I${TOP}/src
30
+ TCC = @CC@ @CPPFLAGS@ @CFLAGS@ -I. -I${TOP}/src -I${TOP}/ext/rtree
31
31
32
32
10000
# Define this for the autoconf-based build, so that the code knows it can
33
33
# include the generated config.h
34
34
#
35
- TCC += -D_HAVE_SQLITE_CONFIG_H
35
+ TCC += -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite
36
36
37
37
# Define -DNDEBUG to compile without debugging (i.e., for production usage)
38
38
# Omitting the define will cause extra debugging code to be inserted and
@@ -60,10 +60,6 @@ LIBREADLINE = @TARGET_READLINE_LIBS@
60
60
#
61
61
TCC += -DSQLITE_THREADSAFE=@SQLITE_THREADSAFE@
62
62
63
- # Do threads override each others locks by default (1), or do we test (-1)
64
- #
65
- TCC += -DSQLITE_THREAD_OVERRIDE_LOCK=@THREADSOVERRIDELOCKS@
66
-
67
63
# Any target libraries which libsqlite must be linked against
68
64
#
69
65
TLIBS = @LIBS@
@@ -138,11 +134,13 @@ LTLINK_EXTRAS += $(GCOV_LDFLAGS$(USE_GCOV))
138
134
139
135
# BEGIN CRYPTO
140
136
CRYPTOLIBOBJ = \
141
- crypto.lo
137
+ crypto.lo \
138
+ crypto_impl.lo
142
139
143
140
CRYPTOSRC = \
144
141
$(TOP ) /src/crypto.h \
145
- $(TOP ) /src/crypto.c
142
+ $(TOP ) /src/crypto.c \
143
+ $(TOP ) /src/crypto_impl.c
146
144
147
145
# END CRYPTO
148
146
@@ -177,8 +175,9 @@ USE_AMALGAMATION = @USE_AMALGAMATION@
177
175
#
178
176
LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
179
177
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 \
178
+ callback.lo complete.lo ctime.lo date.lo delete.lo \
179
+ expr.lo fault.lo fkey.lo \
180
+ fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo fts3_porter.lo \
182
181
fts3_snippet.lo fts3_tokenizer.lo fts3_tokenizer1.lo fts3_write.lo \
183
182
func.lo global.lo hash.lo \
184
183
icu.lo insert.lo journal.lo legacy.lo loadext.lo \
@@ -190,8 +189,8 @@ LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
190
189
random.lo resolve.lo rowset.lo rtree.lo select.lo status.lo \
191
190
table.lo tokenize.lo trigger.lo \
192
191
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 )
192
+ vdbe.lo vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort .lo \
193
+ vdbetrace.lo wal.lo walker.lo where.lo utf.lo vtab.lo $(CRYPTOLIBOBJ )
195
194
196
195
# Object files for the amalgamation.
197
196
#
@@ -288,6 +287,7 @@ SRC = \
288
287
$(TOP ) /src/vdbeaux.c \
289
288
$(TOP ) /src/vdbeblob.c \
290
289
$(TOP ) /src/vdbemem.c \
290
+ $(TOP ) /src/vdbesort.c \
291
291
$(TOP ) /src/vdbetrace.c \
292
292
$(TOP ) /src/vdbeInt.h \
293
293
$(TOP ) /src/vtab.c \
@@ -320,6 +320,7 @@ SRC += \
320
320
$(TOP ) /ext/fts3/fts3.c \
321
321
$(TOP ) /ext/fts3/fts3.h \
322
322
$(TOP ) /ext/fts3/fts3Int.h \
323
+ $(TOP ) /ext/fts3/fts3_aux.c \
323
324
$(TOP ) /ext/fts3/fts3_expr.c \
324
325
$(TOP ) /ext/fts3/fts3_hash.c \
325
326
$(TOP ) /ext/fts3/fts3_hash.h \
@@ -369,22 +370,31 @@ TESTSRC = \
369
370
$(TOP ) /src/test_demovfs.c \
370
371
$(TOP ) /src/test_devsym.c \
371
372
$(TOP ) /src/test_func.c \
373
+ $(TOP ) /src/test_fuzzer.c \
372
374
$(TOP ) /src/test_hexio.c \
373
375
$(TOP ) /src/test_init.c \
374
376
$(TOP ) /src/test_intarray.c \
375
377
$(TOP ) /src/test_journal.c \
376
378
$(TOP ) /src/test_malloc.c \
379
+ $(TOP ) /src/test_multiplex.c \
377
380
$(TOP ) /src/test_mutex.c \
378
381
$(TOP ) /src/test_onefile.c \
379
382
$(TOP ) /src/test_osinst.c \
380
383
$(TOP ) /src/test_pcache.c \
384
+ $(TOP ) /src/test_quota.c \
385
+ $(TOP ) /src/test_rtree.c \
381
386
$(TOP ) /src/test_schema.c \
382
387
$(TOP ) /src/test_server.c \
388
+ $(TOP ) /src/test_superlock.c \
389
+ $(TOP ) /src/test_syscall.c \
383
390
$(TOP ) /src/test_stat.c \
384
391
$(TOP ) /src/test_tclvar.c \
385
392
$(TOP ) /src/test_thread.c \
386
393
$(TOP ) /src/test_vfs.c \
387
- $(TOP ) /src/test_wsd.c
394
+ $(TOP ) /src/test_wholenumber.c \
395
+ $(TOP ) /src/test_wsd.c \
396
+ $(TOP ) /ext/fts3/fts3_term.c \
397
+ $(TOP ) /ext/fts3/fts3_test.c
388
398
389
399
# Source code to the library files needed by the test fixture
390
400
#
@@ -424,7 +434,9 @@ TESTSRC2 = \
424
434
$(TOP ) /src/where.c \
425
435
parse.c \
426
436
$(TOP ) /ext/fts3/fts3.c \
437
+ $(TOP ) /ext/fts3/fts3_aux.c \
427
438
$(TOP ) /ext/fts3/fts3_expr.c \
439
+ $(TOP ) /ext/fts3/fts3_term.c \
428
440
$(TOP ) /ext/fts3/fts3_tokenizer.c \
429
441
$(TOP ) /ext/fts3/fts3_write.c \
430
442
$(TOP ) /ext/async/sqlite3async.c
@@ -471,6 +483,8 @@ EXTHDR += \
471
483
$(TOP ) /ext/rtree/rtree.h
472
484
EXTHDR += \
473
485
$(TOP ) /ext/icu/sqliteicu.h
486
+ EXTHDR += \
487
+ $(TOP ) /ext/rtree/sqlite3rtree.h
474
488
475
489
# This is the default Makefile target. The objects listed here
476
490
# are what get build when you type just "make" with no arguments.
@@ -517,6 +531,15 @@ sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la sqlite3.h
517
531
sqlite3.c : .target_source $(TOP ) /tool/mksqlite3c.tcl
518
532
$(TCLSH_CMD ) $(TOP ) /tool/mksqlite3c.tcl
519
533
534
+ tclsqlite3.c : sqlite3.c
535
+ echo ' #ifndef USE_SYSTEM_SQLITE' > tclsqlite3.c
536
+ cat sqlite3.c >> tclsqlite3.c
537
+ echo ' #endif /* USE_SYSTEM_SQLITE */' >> tclsqlite3.c
538
+ cat $(TOP ) /src/tclsqlite.c >> tclsqlite3.c
539
+
540
+ sqlite3-all.c : sqlite3.c $(TOP ) /tool/split-sqlite3c.tcl
541
+ $(TCLSH_CMD ) $(TOP ) /tool/split-sqlite3c.tcl
542
+
520
543
# Rule to build the amalgamation
521
544
#
522
545
sqlite3.lo : sqlite3.c
@@ -543,6 +566,8 @@ opcodes.lo: opcodes.c
543
566
# BEGIN CRYPTO
544
567
crypto.lo : $(TOP ) /src/crypto.c $(HDR )
545
568
$(LTCOMPILE ) -c $(TOP ) /src/crypto.c
569
+ crypto_impl.lo : $(TOP ) /src/crypto_impl.c $(HDR )
570
+ $(LTCOMPILE ) -c $(TOP ) /src/crypto_impl.c
546
571
# END CRYPTO
547
572
548
573
# Rules to build individual *.o files from files in the src directory.
@@ -742,6 +767,9 @@ vdbeblob.lo: $(TOP)/src/vdbeblob.c $(HDR)
742
767
vdbemem.lo : $(TOP ) /src/vdbemem.c $(HDR )
743
768
$(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/vdbemem.c
744
769
770
+ vdbesort.lo : $(TOP ) /src/vdbesort.c $(HDR )
771
+ $(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/vdbesort.c
772
+
745
773
vdbetrace.lo : $(TOP ) /src/vdbetrace.c $(HDR )
746
774
$(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/vdbetrace.c
747
775
@@ -773,7 +801,7 @@ tclsqlite3$(TEXE): tclsqlite-shell.lo libsqlite3.la
773
801
# Rules to build opcodes.c and opcodes.h
774
802
#
775
803
opcodes.c : opcodes.h $(TOP ) /mkopcodec.awk
776
- sort -n -b -k 3 opcodes.h | $(NAWK ) -f $(TOP ) /mkopcodec.awk > opcodes.c
804
+ $(NAWK ) -f $(TOP ) /mkopcodec.awk opcodes.h > opcodes.c
777
805
778
806
opcodes.h : parse.h $(TOP ) /src/vdbe.c $(TOP ) /mkopcodeh.awk
779
807
cat parse.h $(TOP ) /src/vdbe.c | $(NAWK ) -f $(TOP ) /mkopcodeh.awk > opcodes.h
@@ -790,7 +818,7 @@ parse.c: $(TOP)/src/parse.y lemon$(BEXE) $(TOP)/addopcodes.awk
790
818
$(NAWK ) -f $(TOP ) /addopcodes.awk parse.h.temp > parse.h
791
819
792
820
sqlite3.h : $(TOP ) /src/sqlite.h.in $(TOP ) /manifest.uuid $(TOP ) /VERSION
793
- tclsh $(TOP ) /tool/mksqlite3h.tcl $(TOP ) > sqlite3.h
821
+ $( TCLSH_CMD ) $(TOP ) /tool/mksqlite3h.tcl $(TOP ) > sqlite3.h
794
822
795
823
keywordhash.h : $(TOP ) /tool/mkkeywordhash.c
796
824
$(BCC ) -o mkkeywordhash$(BEXE ) $(OPT_FEATURE_FLAGS ) $(OPTS ) $(TOP ) /tool/mkkeywordhash.c
@@ -824,6 +852,9 @@ fts2_tokenizer1.lo: $(TOP)/ext/fts2/fts2_
F438
tokenizer1.c $(HDR) $(EXTHDR)
824
852
fts3.lo : $(TOP ) /ext/fts3/fts3.c $(HDR ) $(EXTHDR )
825
853
$(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3.c
826
854
855
+ fts3_aux.lo : $(TOP ) /ext/fts3/fts3_aux.c $(HDR ) $(EXTHDR )
856
+ $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_aux.c
857
+
827
858
fts3_expr.lo : $(TOP ) /ext/fts3/fts3_expr.c $(HDR ) $(EXTHDR )
828
859
$(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_expr.c
829
860
@@ -833,12 +864,12 @@ fts3_hash.lo: $(TOP)/ext/fts3/fts3_hash.c $(HDR) $(EXTHDR)
833
864
fts3_icu.lo : $(TOP ) /ext/fts3/fts3_icu.c $(HDR ) $(EXTHDR )
834
865
$(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_icu.c
835
866
836
- fts3_snippet.lo : $(TOP ) /ext/fts3/fts3_snippet.c $(HDR ) $(EXTHDR )
837
- $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_snippet.c
838
-
839
867
fts3_porter.lo : $(TOP ) /ext/fts3/fts3_porter.c $(HDR ) $(EXTHDR )
840
868
$(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_porter.c
841
869
870
+ fts3_snippet.lo : $(TOP ) /ext/fts3/fts3_snippet.c $(HDR ) $(EXTHDR )
871
+ $(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_snippet.c
872
+
842
873
fts3_tokenizer.lo : $(TOP ) /ext/fts3/fts3_tokenizer.c $(HDR ) $(EXTHDR )
843
874
$(LTCOMPILE ) -DSQLITE_CORE -c $(TOP ) /ext/fts3/fts3_tokenizer.c
844
875
@@ -861,6 +892,7 @@ rtree.lo: $(TOP)/ext/rtree/rtree.c $(HDR) $(EXTHDR)
861
892
#
862
893
TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
863
894
TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
895
+ TESTFIXTURE_FLAGS += -DBUILD_sqlite
864
896
865
897
TESTFIXTURE_SRC0 = $(TESTSRC2 ) libsqlite3.la
866
898
TESTFIXTURE_SRC1 = sqlite3.c
@@ -880,18 +912,16 @@ soaktest: testfixture$(TEXE) sqlite3$(TEXE)
880
912
test : testfixture$(TEXE ) sqlite3$(TEXE )
881
913
./testfixture$(TEXE ) $(TOP ) /test/veryquick.test
882
914
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 )
915
+ sqlite3_analyzer.c : sqlite3.c $(TOP ) /src/test_stat.c $(TOP ) /src/tclsqlite.c $(TOP ) /tool/spaceanal.tcl
916
+ echo " #define TCLSH 2" > $@
917
+ cat sqlite3.c $(TOP ) /src/test_stat.c $(TOP ) /src/tclsqlite.c >> $@
918
+ echo " static const char *tclsh_main_loop(void){" >> $@
919
+ echo " static const char *zMainloop = " >> $@
920
+ $(NAWK ) -f $(TOP ) /tool/tostr.awk $(TOP ) /tool/spaceanal.tcl >> $@
921
+ echo " ; return zMainloop; }" >> $@
894
922
923
+ sqlite3_analyzer$(TEXE ) : sqlite3_analyzer.c
924
+ $(LTLINK ) sqlite3_analyzer.c -o $@ $(LIBTCL ) $(TLIBS )
895
925
896
926
# Standard install and cleanup targets
897
927
#
@@ -925,9 +955,11 @@ clean:
925
955
rm -f $(PUBLISH )
926
956
rm -f * .da * .bb * .bbg gmon.out
927
957
rm -rf tsrc .target_source
958
+ rm -f tclsqlite3$(TEXE )
928
959
rm -f testfixture$(TEXE ) test.db
929
- rm -f sqlite3.dll sqlite3.lib sqlite3.def
960
+ rm -f sqlite3.dll sqlite3.lib sqlite3.exp sqlite3. def
930
961
rm -f sqlite3.c
962
+ rm -f sqlite3_analyzer$(TEXE ) sqlite3_analyzer.c
931
963
932
964
distclean : clean
933
965
rm -f config.log config.status libtool Makefile sqlite3.pc
0 commit comments