| Move some code to libsqlite3.so to avoid duplication. |
| Link executables against libsqlite3.so. |
| Increase timeout for fuzzcheck. |
| Fix building with dlopen() not available. |
| |
| --- /Makefile.in |
| +++ /Makefile.in |
| @@ -311,6 +311,9 @@ |
| # Source code for extensions |
| # |
| SRC += \ |
| + $(TOP)/ext/expert/sqlite3expert.c \ |
| + $(TOP)/ext/expert/sqlite3expert.h |
| +SRC += \ |
| $(TOP)/ext/fts1/fts1.c \ |
| $(TOP)/ext/fts1/fts1.h \ |
| $(TOP)/ext/fts1/fts1_hash.c \ |
| @@ -363,8 +366,12 @@ |
| $(TOP)/ext/rbu/sqlite3rbu.h \ |
| $(TOP)/ext/rbu/sqlite3rbu.c |
| SRC += \ |
| + $(TOP)/ext/misc/appendvfs.c \ |
| + $(TOP)/ext/misc/dbdata.c \ |
| $(TOP)/ext/misc/json1.c \ |
| - $(TOP)/ext/misc/stmt.c |
| + $(TOP)/ext/misc/sqlar.c \ |
| + $(TOP)/ext/misc/stmt.c \ |
| + $(TOP)/ext/misc/zipfile.c |
| |
| # Generated source code files |
| # |
| @@ -435,7 +442,6 @@ |
| # Statically linked extensions |
| # |
| TESTSRC += \ |
| - $(TOP)/ext/expert/sqlite3expert.c \ |
| $(TOP)/ext/expert/test_expert.c \ |
| $(TOP)/ext/misc/amatch.c \ |
| $(TOP)/ext/misc/carray.c \ |
| @@ -461,7 +467,6 @@ |
| $(TOP)/ext/misc/totype.c \ |
| $(TOP)/ext/misc/unionvtab.c \ |
| $(TOP)/ext/misc/wholenumber.c \ |
| - $(TOP)/ext/misc/zipfile.c \ |
| $(TOP)/ext/userauth/userauth.c |
| |
| # Source code to the library files needed by the test fixture |
| @@ -639,25 +644,25 @@ |
| |
| libtclsqlite3.la: tclsqlite.lo libsqlite3.la |
| $(LTLINK) -no-undefined -o $@ tclsqlite.lo \ |
| - libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \ |
| + libsqlite3.la @TCL_STUB_LIB_SPEC@ \ |
| -rpath "$(TCLLIBDIR)" \ |
| -version-info "8:6:8" \ |
| -avoid-version |
| |
| -sqlite3$(TEXE): shell.c sqlite3.c |
| - $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \ |
| - shell.c sqlite3.c \ |
| - $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)" |
| +sqlite3$(TEXE): shell.c libsqlite3.la |
| + $(LTLINK) $(READLINE_FLAGS) -o $@ \ |
| + shell.c libsqlite3.la \ |
| + $(LIBREADLINE) |
| |
| -sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.lo sqlite3.h |
| - $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.lo $(TLIBS) |
| +sqldiff$(TEXE): $(TOP)/tool/sqldiff.c libsqlite3.la |
| + $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c libsqlite3.la |
| |
| -dbhash$(TEXE): $(TOP)/tool/dbhash.c sqlite3.lo sqlite3.h |
| - $(LTLINK) -o $@ $(TOP)/tool/dbhash.c sqlite3.lo $(TLIBS) |
| +dbhash$(TEXE): $(TOP)/tool/dbhash.c libsqlite3.la |
| + $(LTLINK) -o $@ $(TOP)/tool/dbhash.c libsqlite3.la |
| |
| -scrub$(TEXE): $(TOP)/ext/misc/scrub.c sqlite3.lo |
| +scrub$(TEXE): $(TOP)/ext/misc/scrub.c libsqlite3.la |
| $(LTLINK) -o $@ -I. -DSCRUB_STANDALONE \ |
| - $(TOP)/ext/misc/scrub.c sqlite3.lo $(TLIBS) |
| + $(TOP)/ext/misc/scrub.c libsqlite3.la |
| |
| srcck1$(BEXE): $(TOP)/tool/srcck1.c |
| $(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c |
| @@ -767,7 +772,7 @@ |
| # Rule to build the amalgamation |
| # |
| sqlite3.lo: sqlite3.c |
| - $(LTCOMPILE) $(TEMP_STORE) -c sqlite3.c |
| + $(LTCOMPILE) $(SHELL_OPT) $(TEMP_STORE) -c sqlite3.c |
| |
| # Rules to build the LEMON compiler generator |
| # |
| @@ -1064,14 +1069,9 @@ |
| # Source files that go into making shell.c |
| SHELL_SRC = \ |
| $(TOP)/src/shell.c.in \ |
| - $(TOP)/ext/misc/appendvfs.c \ |
| $(TOP)/ext/misc/shathree.c \ |
| $(TOP)/ext/misc/fileio.c \ |
| $(TOP)/ext/misc/completion.c \ |
| - $(TOP)/ext/misc/sqlar.c \ |
| - $(TOP)/ext/expert/sqlite3expert.c \ |
| - $(TOP)/ext/expert/sqlite3expert.h \ |
| - $(TOP)/ext/misc/zipfile.c \ |
| $(TOP)/ext/misc/memtrace.c \ |
| $(TOP)/src/test_windirent.c |
| |
| @@ -1239,11 +1239,11 @@ |
| |
| # Fuzz testing |
| fuzztest: fuzzcheck$(TEXE) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db |
| - ./fuzzcheck$(TEXE) $(FUZZDATA) |
| + ./fuzzcheck$(TEXE) --timeout 3600 $(FUZZDATA) |
| ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db |
| |
| valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db |
| - valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA) |
| + valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 3600 $(FUZZDATA) |
| valgrind ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db |
| |
| # The veryquick.test TCL tests. |
| @@ -1274,24 +1274,23 @@ |
| smoketest: $(TESTPROGS) fuzzcheck$(TEXE) |
| ./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS) |
| |
| -sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in |
| +sqlite3_analyzer.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in |
| $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in >sqlite3_analyzer.c |
| |
| -sqlite3_analyzer$(TEXE): sqlite3_analyzer.c |
| - $(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS) |
| +sqlite3_analyzer$(TEXE): sqlite3_analyzer.c libsqlite3.la |
| + $(LTLINK) sqlite3_analyzer.c -o $@ libsqlite3.la $(LIBTCL) |
| |
| -sqltclsh.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl $(TOP)/ext/misc/appendvfs.c $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in |
| +sqltclsh.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in |
| $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in >sqltclsh.c |
| |
| -sqltclsh$(TEXE): sqltclsh.c |
| - $(LTLINK) sqltclsh.c -o $@ $(LIBTCL) $(TLIBS) |
| +sqltclsh$(TEXE): sqltclsh.c libsqlite3.la |
| + $(LTLINK) sqltclsh.c -o $@ libsqlite3.la $(LIBTCL) |
| |
| -sqlite3_expert$(TEXE): $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/sqlite3expert.c $(TOP)/ext/expert/expert.c sqlite3.c |
| - $(LTLINK) $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/sqlite3expert.c $(TOP)/ext/expert/expert.c sqlite3.c -o sqlite3_expert $(TLIBS) |
| +sqlite3_expert$(TEXE): $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/expert.c libsqlite3.la |
| + $(LTLINK) $(TOP)/ext/expert/expert.c -o sqlite3_expert libsqlite3.la |
| |
| CHECKER_DEPS =\ |
| $(TOP)/tool/mkccode.tcl \ |
| - sqlite3.c \ |
| $(TOP)/src/tclsqlite.c \ |
| $(TOP)/ext/repair/sqlite3_checker.tcl \ |
| $(TOP)/ext/repair/checkindex.c \ |
| @@ -1302,36 +1301,36 @@ |
| sqlite3_checker.c: $(CHECKER_DEPS) |
| $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/ext/repair/sqlite3_checker.c.in >$@ |
| |
| -sqlite3_checker$(TEXE): sqlite3_checker.c |
| - $(LTLINK) sqlite3_checker.c -o $@ $(LIBTCL) $(TLIBS) |
| +sqlite3_checker$(TEXE): sqlite3_checker.c libsqlite3.la |
| + $(LTLINK) sqlite3_checker.c -o $@ libsqlite3.la $(LIBTCL) |
| |
| -dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c sqlite3.lo |
| +dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c libsqlite3.la |
| $(LTLINK) -DDBDUMP_STANDALONE -o $@ \ |
| - $(TOP)/ext/misc/dbdump.c sqlite3.lo $(TLIBS) |
| + $(TOP)/ext/misc/dbdump.c libsqlite3.la |
| |
| -dbtotxt$(TEXE): $(TOP)/tool/dbtotxt.c |
| - $(LTLINK)-o $@ $(TOP)/tool/dbtotxt.c |
| +dbtotxt$(TEXE): $(TOP)/tool/dbtotxt.c |
| + $(LTLINK) -o $@ $(TOP)/tool/dbtotxt.c |
| |
| -showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo |
| - $(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS) |
| +showdb$(TEXE): $(TOP)/tool/showdb.c libsqlite3.la |
| + $(LTLINK) -o $@ $(TOP)/tool/showdb.c libsqlite3.la |
| |
| -showstat4$(TEXE): $(TOP)/tool/showstat4.c sqlite3.lo |
| - $(LTLINK) -o $@ $(TOP)/tool/showstat4.c sqlite3.lo $(TLIBS) |
| +showstat4$(TEXE): $(TOP)/tool/showstat4.c libsqlite3.la |
| + $(LTLINK) -o $@ $(TOP)/tool/showstat4.c libsqlite3.la |
| |
| -showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo |
| - $(LTLINK) -o $@ $(TOP)/tool/showjournal.c sqlite3.lo $(TLIBS) |
| +showjournal$(TEXE): $(TOP)/tool/showjournal.c |
| + $(LTLINK) -o $@ $(TOP)/tool/showjournal.c |
| |
| -showwal$(TEXE): $(TOP)/tool/showwal.c sqlite3.lo |
| - $(LTLINK) -o $@ $(TOP)/tool/showwal.c sqlite3.lo $(TLIBS) |
| +showwal$(TEXE): $(TOP)/tool/showwal.c |
| + $(LTLINK) -o $@ $(TOP)/tool/showwal.c |
| |
| showshm$(TEXE): $(TOP)/tool/showshm.c |
| $(LTLINK) -o $@ $(TOP)/tool/showshm.c |
| |
| -index_usage$(TEXE): $(TOP)/tool/index_usage.c sqlite3.lo |
| - $(LTLINK) $(SHELL_OPT) -o $@ $(TOP)/tool/index_usage.c sqlite3.lo $(TLIBS) |
| +index_usage$(TEXE): $(TOP)/tool/index_usage.c libsqlite3.la |
| + $(LTLINK) -o $@ $(TOP)/tool/index_usage.c libsqlite3.la |
| |
| -changeset$(TEXE): $(TOP)/ext/session/changeset.c sqlite3.lo |
| - $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c sqlite3.lo $(TLIBS) |
| +changeset$(TEXE): $(TOP)/ext/session/changeset.c libsqlite3.la |
| + $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c libsqlite3.la |
| |
| changesetfuzz$(TEXE): $(TOP)/ext/session/changesetfuzz.c sqlite3.lo |
| $(LTLINK) -o $@ $(TOP)/ext/session/changesetfuzz.c sqlite3.lo $(TLIBS) |
| @@ -1356,11 +1355,11 @@ |
| kvtest$(TEXE): $(TOP)/test/kvtest.c sqlite3.c |
| $(LTLINK) $(KV_OPT) -o $@ $(TOP)/test/kvtest.c sqlite3.c $(TLIBS) |
| |
| -rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo |
| - $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS) |
| +rbu$(EXE): $(TOP)/ext/rbu/rbu.c libsqlite3.la |
| + $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c libsqlite3.la |
| |
| -loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la |
| - $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS) |
| +loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la |
| + $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ |
| |
| # This target will fail if the SQLite amalgamation contains any exported |
| # symbols that do not begin with "sqlite3_". It is run as part of the |
| --- /configure.ac |
| +++ /configure.ac |
| @@ -587,6 +587,9 @@ |
| if test "${enable_load_extension}" = "yes" ; then |
| OPT_FEATURE_FLAGS="" |
| AC_SEARCH_LIBS(dlopen, dl) |
| + if test "${ac_cv_search_dlopen}" = "no" ; then |
| + OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" |
| + fi |
| else |
| OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" |
| fi |
| --- /ext/misc/sqlar.c |
| +++ /ext/misc/sqlar.c |
| @@ -14,6 +14,8 @@ |
| ** for working with sqlar archives and used by the shell tool's built-in |
| ** sqlar support. |
| */ |
| +#ifdef SQLITE_HAVE_ZLIB |
| + |
| #include "sqlite3ext.h" |
| SQLITE_EXTENSION_INIT1 |
| #include <zlib.h> |
| @@ -121,3 +123,5 @@ |
| } |
| return rc; |
| } |
| + |
| +#endif /* SQLITE_HAVE_ZLIB */ |
| --- /ext/misc/zipfile.c |
| +++ /ext/misc/zipfile.c |
| @@ -24,6 +24,8 @@ |
| ** * No support for zip64 extensions |
| ** * Only the "inflate/deflate" (zlib) compression method is supported |
| */ |
| +#ifdef SQLITE_HAVE_ZLIB |
| + |
| #include "sqlite3ext.h" |
| SQLITE_EXTENSION_INIT1 |
| #include <stdio.h> |
| @@ -2186,3 +2188,5 @@ |
| (void)pzErrMsg; /* Unused parameter */ |
| return zipfileRegister(db); |
| } |
| + |
| +#endif /* SQLITE_HAVE_ZLIB */ |
| --- /ext/repair/sqlite3_checker.c.in |
| +++ /ext/repair/sqlite3_checker.c.in |
| @@ -2,6 +2,7 @@ |
| ** Read an SQLite database file and analyze its space utilization. Generate |
| ** text on standard output. |
| */ |
| +#define SQLITE_CORE 1 |
| #define TCLSH_INIT_PROC sqlite3_checker_init_proc |
| #define SQLITE_ENABLE_DBPAGE_VTAB 1 |
| #define SQLITE_ENABLE_JSON1 1 |
| @@ -14,7 +15,7 @@ |
| #define SQLITE_OMIT_SHARED_CACHE 1 |
| #define SQLITE_DEFAULT_MEMSTATUS 0 |
| #define SQLITE_MAX_EXPR_DEPTH 0 |
| -INCLUDE sqlite3.c |
| +#include "sqlite3.h" |
| INCLUDE $ROOT/src/tclsqlite.c |
| INCLUDE $ROOT/ext/misc/btreeinfo.c |
| INCLUDE $ROOT/ext/repair/checkindex.c |
| --- /src/shell.c.in |
| +++ /src/shell.c.in |
| @@ -61,6 +61,7 @@ |
| #include <stdio.h> |
| #include <assert.h> |
| #include "sqlite3.h" |
| +#include "ext/expert/sqlite3expert.h" |
| typedef sqlite3_int64 i64; |
| typedef sqlite3_uint64 u64; |
| typedef unsigned char u8; |
| @@ -127,6 +128,10 @@ |
| # define SHELL_USE_LOCAL_GETLINE 1 |
| #endif |
| |
| +#ifdef SQLITE_HAVE_ZLIB |
| +#include <zlib.h> |
| +#endif |
| + |
| |
| #if defined(_WIN32) || defined(WIN32) |
| # include <io.h> |
| @@ -939,18 +944,7 @@ |
| INCLUDE ../ext/misc/shathree.c |
| INCLUDE ../ext/misc/fileio.c |
| INCLUDE ../ext/misc/completion.c |
| -INCLUDE ../ext/misc/appendvfs.c |
| INCLUDE ../ext/misc/memtrace.c |
| -#ifdef SQLITE_HAVE_ZLIB |
| -INCLUDE ../ext/misc/zipfile.c |
| -INCLUDE ../ext/misc/sqlar.c |
| -#endif |
| -INCLUDE ../ext/expert/sqlite3expert.h |
| -INCLUDE ../ext/expert/sqlite3expert.c |
| - |
| -#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB) |
| -INCLUDE ../ext/misc/dbdata.c |
| -#endif |
| |
| #if defined(SQLITE_ENABLE_SESSION) |
| /* |
| @@ -4173,10 +4167,13 @@ |
| sqlite3_shathree_init(p->db, 0, 0); |
| sqlite3_completion_init(p->db, 0, 0); |
| #if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB) |
| + extern int sqlite3_dbdata_init(sqlite3 *, char **, const sqlite3_api_routines *); |
| sqlite3_dbdata_init(p->db, 0, 0); |
| #endif |
| #ifdef SQLITE_HAVE_ZLIB |
| + extern int sqlite3_zipfile_init(sqlite3 *, char **, const sqlite3_api_routines *); |
| sqlite3_zipfile_init(p->db, 0, 0); |
| + extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *); |
| sqlite3_sqlar_init(p->db, 0, 0); |
| #endif |
| sqlite3_create_function(p->db, "shell_add_schema", 3, SQLITE_UTF8, 0, |
| @@ -6176,6 +6173,7 @@ |
| goto end_ar_command; |
| } |
| sqlite3_fileio_init(cmd.db, 0, 0); |
| + extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *); |
| sqlite3_sqlar_init(cmd.db, 0, 0); |
| sqlite3_create_function(cmd.db, "shell_putsnl", 1, SQLITE_UTF8, cmd.p, |
| shellPutsFunc, 0, 0); |
| @@ -10354,6 +10352,7 @@ |
| #endif |
| } |
| data.out = stdout; |
| + extern int sqlite3_appendvfs_init(sqlite3 *, char **, const sqlite3_api_routines *); |
| sqlite3_appendvfs_init(0,0,0); |
| |
| /* Go ahead and open the database file if it already exists. If the |
| --- /test/sessionfuzz.c |
| +++ /test/sessionfuzz.c |
| @@ -700,42 +700,6 @@ |
| #include <assert.h> |
| #include "zlib.h" |
| |
| -/* |
| -** Implementation of the "sqlar_uncompress(X,SZ)" SQL function |
| -** |
| -** Parameter SZ is interpreted as an integer. If it is less than or |
| -** equal to zero, then this function returns a copy of X. Or, if |
| -** SZ is equal to the size of X when interpreted as a blob, also |
| -** return a copy of X. Otherwise, decompress blob X using zlib |
| -** utility function uncompress() and return the results (another |
| -** blob). |
| -*/ |
| -static void sqlarUncompressFunc( |
| - sqlite3_context *context, |
| - int argc, |
| - sqlite3_value **argv |
| -){ |
| - uLong nData; |
| - uLongf sz; |
| - |
| - assert( argc==2 ); |
| - sz = sqlite3_value_int(argv[1]); |
| - |
| - if( sz<=0 || sz==(nData = sqlite3_value_bytes(argv[0])) ){ |
| - sqlite3_result_value(context, argv[0]); |
| - }else{ |
| - const Bytef *pData= sqlite3_value_blob(argv[0]); |
| - Bytef *pOut = sqlite3_malloc(sz); |
| - if( Z_OK!=uncompress(pOut, &sz, pData, nData) ){ |
| - sqlite3_result_error(context, "error in uncompress()", -1); |
| - }else{ |
| - sqlite3_result_blob(context, pOut, sz, SQLITE_TRANSIENT); |
| - } |
| - sqlite3_free(pOut); |
| - } |
| -} |
| - |
| - |
| /* Run a chunk of SQL. If any errors happen, print an error message |
| ** and exit. |
| */ |
| --- /tool/mksqlite3c.tcl |
| +++ /tool/mksqlite3c.tcl |
| @@ -117,6 +117,7 @@ |
| rtree.h |
| sqlite3session.h |
| sqlite3.h |
| + sqlite3expert.h |
| sqlite3ext.h |
| sqlite3rbu.h |
| sqliteicu.h |
| @@ -403,6 +404,11 @@ |
| sqlite3session.c |
| fts5.c |
| stmt.c |
| + appendvfs.c |
| + dbdata.c |
| + sqlar.c |
| + sqlite3expert.c |
| + zipfile.c |
| } { |
| copy_file tsrc/$file |
| } |
| --- /tool/sqlite3_analyzer.c.in |
| +++ /tool/sqlite3_analyzer.c.in |
| @@ -14,9 +14,6 @@ |
| #define SQLITE_DEFAULT_MEMSTATUS 0 |
| #define SQLITE_MAX_EXPR_DEPTH 0 |
| #define SQLITE_OMIT_LOAD_EXTENSION 1 |
| -#ifndef USE_EXTERNAL_SQLITE |
| -INCLUDE sqlite3.c |
| -#endif |
| INCLUDE $ROOT/src/tclsqlite.c |
| |
| const char *sqlite3_analyzer_init_proc(Tcl_Interp *interp){ |
| --- /tool/sqltclsh.c.in |
| +++ /tool/sqltclsh.c.in |
| @@ -27,19 +27,17 @@ |
| #define SQLITE_OMIT_SHARED_CACHE 1 |
| #define SQLITE_DEFAULT_MEMSTATUS 0 |
| #define SQLITE_MAX_EXPR_DEPTH 0 |
| -INCLUDE sqlite3.c |
| -INCLUDE $ROOT/ext/misc/appendvfs.c |
| -#ifdef SQLITE_HAVE_ZLIB |
| -INCLUDE $ROOT/ext/misc/zipfile.c |
| -INCLUDE $ROOT/ext/misc/sqlar.c |
| -#endif |
| +#include "sqlite3.h" |
| INCLUDE $ROOT/src/tclsqlite.c |
| |
| const char *sqlite3_tclapp_init_proc(Tcl_Interp *interp){ |
| (void)interp; |
| + extern int sqlite3_appendvfs_init(sqlite3 *,char **, const sqlite3_api_routines *); |
| sqlite3_appendvfs_init(0,0,0); |
| #ifdef SQLITE_HAVE_ZLIB |
| + extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *); |
| sqlite3_auto_extension((void(*)(void))sqlite3_sqlar_init); |
| + extern int sqlite3_zipfile_init(sqlite3 *, char **, const sqlite3_api_routines *); |
| sqlite3_auto_extension((void(*)(void))sqlite3_zipfile_init); |
| #endif |
| |