8000 Merge https://github.com/sqlcipher/sqlcipher · devstator82/sqlcipher@84bd2a2 · GitHub
[go: up one dir, main page]

Skip to content

Commit 84bd2a2

Browse files
committed
2 parents c4c379c + 885ffa9 commit 84bd2a2

File tree

536 files changed

+76016
-12358
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

536 files changed

+76016
-12358
lines changed

LICENSE

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Copyright (c) 2008, ZETETIC LLC
2+
All rights reserved.
3+
4+
Redistribution and use in source and binary forms, with or without
5+
modification, are permitted provided that the following conditions are met:
6+
* Redistributions of source code must retain the above copyright
7+
notice, this list of conditions and the following disclaimer.
8+
* Redistributions in binary form must reproduce the above copyright
9+
notice, this list of conditions and the following disclaimer in the
10+
documentation and/or other materials provided with the distribution.
11+
* Neither the name of the ZETETIC LLC nor the
12+
names of its contributors may be used to endorse or promote products
13+
derived from this software without specific prior written permission.
14+
15+
THIS SOFTWARE IS PROVIDED BY ZETETIC LLC ''AS IS'' AND ANY
16+
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18+
DISCLAIMED. IN NO EVENT SHALL ZETETIC LLC BE LIABLE FOR ANY
19+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Makefile.in

Lines changed: 62 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ 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 10000
# Define this for the autoconf-based build, so that the code knows it can
3333
# include the generated config.h
3434
#
35-
TCC += -D_HAVE_SQLITE_CONFIG_H
35+
TCC += -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite
3636

3737
# Define -DNDEBUG to compile without debugging (i.e., for production usage)
3838
# Omitting the define will cause extra debugging code to be inserted and
@@ -60,10 +60,6 @@ LIBREADLINE = @TARGET_READLINE_LIBS@
6060
#
6161
TCC += -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
#
6965
TLIBS = @LIBS@
@@ -138,11 +134,13 @@ LTLINK_EXTRAS += $(GCOV_LDFLAGS$(USE_GCOV))
138134

139135
# BEGIN CRYPTO
140136
CRYPTOLIBOBJ = \
141-
crypto.lo
137+
crypto.lo \
138+
crypto_impl.lo
142139

143140
CRYPTOSRC = \
144141
$(TOP)/src/crypto.h \
145-
$(TOP)/src/crypto.c
142+
$(TOP)/src/crypto.c \
143+
$(TOP)/src/crypto_impl.c
146144

147145
# END CRYPTO
148146

@@ -177,8 +175,9 @@ USE_AMALGAMATION = @USE_AMALGAMATION@
177175
#
178176
LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
179177
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 \
182181
fts3_snippet.lo fts3_tokenizer.lo fts3_tokenizer1.lo fts3_write.lo \
183182
func.lo global.lo hash.lo \
184183
icu.lo insert.lo journal.lo legacy.lo loadext.lo \
@@ -190,8 +189,8 @@ LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
190189
random.lo resolve.lo rowset.lo rtree.lo select.lo status.lo \
191190
table.lo tokenize.lo trigger.lo \
192191
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)
195194

196195
# Object files for the amalgamation.
197196
#
@@ -288,6 +287,7 @@ SRC = \
288287
$(TOP)/src/vdbeaux.c \
289288
$(TOP)/src/vdbeblob.c \
290289
$(TOP)/src/vdbemem.c \
290+
$(TOP)/src/vdbesort.c \
291291
$(TOP)/src/vdbetrace.c \
292292
$(TOP)/src/vdbeInt.h \
293293
$(TOP)/src/vtab.c \
@@ -320,6 +320,7 @@ SRC += \
320320
$(TOP)/ext/fts3/fts3.c \
321321
$(TOP)/ext/fts3/fts3.h \
322322
$(TOP)/ext/fts3/fts3Int.h \
323+
$(TOP)/ext/fts3/fts3_aux.c \
323324
$(TOP)/ext/fts3/fts3_expr.c \
324325
$(TOP)/ext/fts3/fts3_hash.c \
325326
$(TOP)/ext/fts3/fts3_hash.h \
@@ -369,22 +370,31 @@ TESTSRC = \
369370
$(TOP)/src/test_demovfs.c \
370371
$(TOP)/src/test_devsym.c \
371372
$(TOP)/src/test_func.c \
373+
$(TOP)/src/test_fuzzer.c \
372374
$(TOP)/src/test_hexio.c \
373375
$(TOP)/src/test_init.c \
374376
$(TOP)/src/test_intarray.c \
375377
$(TOP)/src/test_journal.c \
376378
$(TOP)/src/test_malloc.c \
379+
$(TOP)/src/test_multiplex.c \
377380
$(TOP)/src/test_mutex.c \
378381
$(TOP)/src/test_onefile.c \
379382
$(TOP)/src/test_osinst.c \
380383
$(TOP)/src/test_pcache.c \
384+
$(TOP)/src/test_quota.c \
385+
$(TOP)/src/test_rtree.c \
381386
$(TOP)/src/test_schema.c \
382387
$(TOP)/src/test_server.c \
388+
$(TOP)/src/test_superlock.c \
389+
$(TOP)/src/test_syscall.c \
383390
$(TOP)/src/test_stat.c \
384391
$(TOP)/src/test_tclvar.c \
385392
$(TOP)/src/test_thread.c \
386393
$(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
388398

389399
# Source code to the library files needed by the test fixture
390400
#
@@ -424,7 +434,9 @@ TESTSRC2 = \
424434
$(TOP)/src/where.c \
425435
parse.c \
426436
$(TOP)/ext/fts3/fts3.c \
437+
$(TOP)/ext/fts3/fts3_aux.c \
427438
$(TOP)/ext/fts3/fts3_expr.c \
439+
$(TOP)/ext/fts3/fts3_term.c \
428440
$(TOP)/ext/fts3/fts3_tokenizer.c \
429441
$(TOP)/ext/fts3/fts3_write.c \
430442
$(TOP)/ext/async/sqlite3async.c
@@ -471,6 +483,8 @@ EXTHDR += \
471483
$(TOP)/ext/rtree/rtree.h
472484
EXTHDR += \
473485
$(TOP)/ext/icu/sqliteicu.h
486+
EXTHDR += \
487+
$(TOP)/ext/rtree/sqlite3rtree.h
474488

475489
# This is the default Makefile target. The objects listed here
476490
# 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
517531
sqlite3.c: .target_source $(TOP)/tool/mksqlite3c.tcl
518532
$(TCLSH_CMD) $(TOP)/tool/mksqlite3c.tcl
519533

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+
520543
# Rule to build the amalgamation
521544
#
522545
sqlite3.lo: sqlite3.c
@@ -543,6 +566,8 @@ opcodes.lo: opcodes.c
543566
# BEGIN CRYPTO
544567
crypto.lo: $(TOP)/src/crypto.c $(HDR)
545568
$(LTCOMPILE) -c $(TOP)/src/crypto.c
569+
crypto_impl.lo: $(TOP)/src/crypto_impl.c $(HDR)
570+
$(LTCOMPILE) -c $(TOP)/src/crypto_impl.c
546571
# END CRYPTO
547572

548573
# Rules to build individual *.o files from files in the src directory.
@@ -742,6 +767,9 @@ vdbeblob.lo: $(TOP)/src/vdbeblob.c $(HDR)
742767
vdbemem.lo: $(TOP)/src/vdbemem.c $(HDR)
743768
$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/vdbemem.c
744769

770+
vdbesort.lo: $(TOP)/src/vdbesort.c $(HDR)
771+
$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/vdbesort.c
772+
745773
vdbetrace.lo: $(TOP)/src/vdbetrace.c $(HDR)
746774
$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/vdbetrace.c
747775

@@ -773,7 +801,7 @@ tclsqlite3$(TEXE): tclsqlite-shell.lo libsqlite3.la
773801
# Rules to build opcodes.c and opcodes.h
774802
#
775803
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
777805

778806
opcodes.h: parse.h $(TOP)/src/vdbe.c $(TOP)/mkopcodeh.awk
779807
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
790818
$(NAWK) -f $(TOP)/addopcodes.awk parse.h.temp >parse.h
791819

792820
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
794822

795823
keywordhash.h: $(TOP)/tool/mkkeywordhash.c
796824
$(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)
824852
fts3.lo: $(TOP)/ext/fts3/fts3.c $(HDR) $(EXTHDR)
825853
$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3.c
826854

855+
fts3_aux.lo: $(TOP)/ext/fts3/fts3_aux.c $(HDR) $(EXTHDR)
856+
$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_aux.c
857+
827858
fts3_expr.lo: $(TOP)/ext/fts3/fts3_expr.c $(HDR) $(EXTHDR)
828859
$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_expr.c
829860

@@ -833,12 +864,12 @@ fts3_hash.lo: $(TOP)/ext/fts3/fts3_hash.c $(HDR) $(EXTHDR)
833864
fts3_icu.lo: $(TOP)/ext/fts3/fts3_icu.c $(HDR) $(EXTHDR)
834865
$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_icu.c
835866

836-
fts3_snippet.lo: $(TOP)/ext/fts3/fts3_snippet.c $(HDR) $(EXTHDR)
837-
$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_snippet.c
838-
839867
fts3_porter.lo: $(TOP)/ext/fts3/fts3_porter.c $(HDR) $(EXTHDR)
840868
$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_porter.c
841869

870+
fts3_snippet.lo: $(TOP)/ext/fts3/fts3_snippet.c $(HDR) $(EXTHDR)
871+
$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_snippet.c
872+
842873
fts3_tokenizer.lo: $(TOP)/ext/fts3/fts3_tokenizer.c $(HDR) $(EXTHDR)
843874
$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer.c
844875

@@ -861,6 +892,7 @@ rtree.lo: $(TOP)/ext/rtree/rtree.c $(HDR) $(EXTHDR)
861892
#
862893
TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
863894
TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
895+
TESTFIXTURE_FLAGS += -DBUILD_sqlite
864896

865897
TESTFIXTURE_SRC0 = $(TESTSRC2) libsqlite3.la
866898
TESTFIXTURE_SRC1 = sqlite3.c
@@ -880,18 +912,16 @@ soaktest: testfixture$(TEXE) sqlite3$(TEXE)
880912
test: testfixture$(TEXE) sqlite3$(TEXE)
881913
./testfixture$(TEXE) $(TOP)/test/veryquick.test
882914

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; }" >> $@
894922

923+
sqlite3_analyzer$(TEXE): sqlite3_analyzer.c
924+
$(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS)
895925

896926
# Standard install and cleanup targets
897927
#
@@ -925,9 +955,11 @@ clean:
925955
rm -f $(PUBLISH)
926956
rm -f *.da *.bb *.bbg gmon.out
927957
rm -rf tsrc .target_source
958+
rm -f tclsqlite3$(TEXE)
928959
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
930961
rm -f sqlite3.c
962+
rm -f sqlite3_analyzer$(TEXE) sqlite3_analyzer.c
931963

932964
distclean: clean
933965
rm -f config.log config.status libtool Makefile sqlite3.pc

0 commit comments

Comments
 (0)
0