Skip to content

Commit 9ed72eb

Browse files
committed
Merge upstream SQLite 3.45.1
This merges the version-3.45.1 tag from upstream SQLite git repository to libSQL with the following conflicts resolved: Conflicts: README.md ext/jni/src/org/sqlite/jni/capi/ConfigSqllogCallback.java libsql-sqlite3/configure libsql-sqlite3/doc/jsonb.md libsql-sqlite3/ext/fts5/test/fts5faultH.test libsql-sqlite3/ext/fts5/test/fts5origintext.test libsql-sqlite3/ext/fts5/test/fts5origintext2.test libsql-sqlite3/ext/fts5/test/fts5origintext3.test libsql-sqlite3/ext/fts5/test/fts5origintext4.test libsql-sqlite3/ext/fts5/test/fts5origintext5.test libsql-sqlite3/ext/fts5/test/fts5secure8.test libsql-sqlite3/ext/fts5/test/fts5tokenizer2.test libsql-sqlite3/ext/fts5/test/fts5trigram2.test libsql-sqlite3/ext/jni/src/org/sqlite/jni/annotation/Experimental.java libsql-sqlite3/ext/jni/src/org/sqlite/jni/capi/ConfigSqlLogCallback.java libsql-sqlite3/ext/jni/src/org/sqlite/jni/capi/ConfigSqllogCallback.java libsql-sqlite3/ext/jni/src/org/sqlite/jni/wrapper1/WindowFunction.java libsql-sqlite3/ext/wasm/GNUmakefile libsql-sqlite3/ext/wasm/batch-runner-sahpool.html libsql-sqlite3/ext/wasm/batch-runner-sahpool.js libsql-sqlite3/src/pager.c libsql-sqlite3/src/shell.c.in libsql-sqlite3/src/sqliteInt.h libsql-sqlite3/src/wal.c libsql-sqlite3/test/fts3integrity.test libsql-sqlite3/test/json/jsonb-q1.txt libsql-sqlite3/test/json106.test libsql-sqlite3/test/json107.test libsql-sqlite3/test/jsonb01.test libsql-sqlite3/test/mmapcorrupt.test libsql-sqlite3/test/releasetest_data.tcl libsql-sqlite3/test/shell9.test libsql-sqlite3/test/wapp.tcl libsql-sqlite3/test/wapptest.tcl
2 parents bc00d3e + 189e44d commit 9ed72eb

File tree

190 files changed

+17984
-5473
lines changed

Some content is hidden

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

190 files changed

+17984
-5473
lines changed

libsql-sqlite3/Makefile.in

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -493,6 +493,7 @@ TESTSRC += \
493493
$(TOP)/ext/misc/percentile.c \
494494
$(TOP)/ext/misc/prefixes.c \
495495
$(TOP)/ext/misc/qpvtab.c \
496+
$(TOP)/ext/misc/randomjson.c \
496497
$(TOP)/ext/misc/regexp.c \
497498
$(TOP)/ext/misc/remember.c \
498499
$(TOP)/ext/misc/series.c \
@@ -649,6 +650,7 @@ SHELL_OPT += -DSQLITE_ENABLE_DBPAGE_VTAB
649650
SHELL_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB
650651
SHELL_OPT += -DSQLITE_ENABLE_BYTECODE_VTAB
651652
SHELL_OPT += -DSQLITE_ENABLE_OFFSET_SQL_FUNC
653+
SHELL_OPT += -DSQLITE_STRICT_SUBTYPE=1
652654
FUZZERSHELL_OPT =
653655
FUZZCHECK_OPT += -I$(TOP)/test
654656
FUZZCHECK_OPT += -I$(TOP)/ext/recover
@@ -679,14 +681,17 @@ FUZZCHECK_OPT += \
679681
-DSQLITE_MAX_MMAP_SIZE=0 \
680682
-DSQLITE_OMIT_LOAD_EXTENSION \
681683
-DSQLITE_PRINTF_PRECISION_LIMIT=1000 \
682-
-DSQLITE_PRIVATE=""
684+
-DSQLITE_PRIVATE="" \
685+
-DSQLITE_STRICT_SUBTYPE=1 \
686+
-DSQLITE_STATIC_RANDOMJSON
683687

684688
FUZZCHECK_SRC += $(TOP)/test/fuzzcheck.c
685689
FUZZCHECK_SRC += $(TOP)/test/ossfuzz.c
686690
FUZZCHECK_SRC += $(TOP)/test/fuzzinvariants.c
687691
FUZZCHECK_SRC += $(TOP)/ext/recover/dbdata.c
688692
FUZZCHECK_SRC += $(TOP)/ext/recover/sqlite3recover.c
689693
FUZZCHECK_SRC += $(TOP)/test/vt02.c
694+
FUZZCHECK_SRC += $(TOP)/ext/misc/randomjson.c
690695
DBFUZZ_OPT =
691696
ST_OPT = -DSQLITE_OS_KV_OPTIONAL
692697

@@ -769,6 +774,21 @@ fuzzcheck-asan$(TEXE): $(FUZZCHECK_SRC) sqlite3.c sqlite3.h $(FUZZCHECK_DEP)
769774
fuzzcheck-ubsan$(TEXE): $(FUZZCHECK_SRC) sqlite3.c sqlite3.h $(FUZZCHECK_DEP)
770775
$(LTLINK) -o $@ -fsanitize=undefined $(FUZZCHECK_OPT) $(FUZZCHECK_SRC) sqlite3.c $(TLIBS)
771776

777+
# Usage: FUZZDB=filename make run-fuzzcheck
778+
#
779+
# Where filename is a fuzzcheck database, this target builds and runs
780+
# fuzzcheck, fuzzcheck-asan, and fuzzcheck-ubsan on that database.
781+
#
782+
# FUZZDB can be a glob pattern of two or more databases. Example:
783+
#
784+
# FUZZDB=test/fuzzdata*.db make run-fuzzcheck
785+
#
786+
run-fuzzcheck: fuzzcheck$(TEXE) fuzzcheck-asan$(TEXE) fuzzcheck-ubsan$(TEXE)
787+
@if test "$(FUZZDB)" = ""; then echo 'ERROR: No FUZZDB specified. Rerun with FUZZDB=filename'; exit 1; fi
788+
./fuzzcheck$(TEXE) --spinner $(FUZZDB)
789+
./fuzzcheck-asan$(TEXE) --spinner $(FUZZDB)
790+
./fuzzcheck-ubsan$(TEXE) --spinner $(FUZZDB)
791+
772792
ossshell$(TEXE): $(TOP)/test/ossfuzz.c $(TOP)/test/ossshell.c sqlite3.c sqlite3.h
773793
$(LTLINK) -o $@ $(FUZZCHECK_OPT) $(TOP)/test/ossshell.c \
774794
$(TOP)/test/ossfuzz.c sqlite3.c $(TLIBS) $(OPT_STATIC_LIBLIBSQL_WASM)
@@ -1223,19 +1243,21 @@ keywordhash.h: $(TOP)/tool/mkkeywordhash.c
12231243
# Source files that go into making shell.c
12241244
SHELL_SRC = \
12251245
$(TOP)/src/shell.c.in \
1226-
$(TOP)/ext/misc/appendvfs.c \
1246+
$(TOP)/ext/consio/console_io.c \
1247+
$(TOP)/ext/consio/console_io.h \
1248+
$(TOP)/ext/misc/appendvfs.c \
12271249
$(TOP)/ext/misc/completion.c \
1228-
$(TOP)/ext/misc/decimal.c \
1229-
$(TOP)/ext/misc/basexx.c \
1230-
$(TOP)/ext/misc/base64.c \
1231-
$(TOP)/ext/misc/base85.c \
1250+
$(TOP)/ext/misc/decimal.c \
1251+
$(TOP)/ext/misc/basexx.c \
1252+
$(TOP)/ext/misc/base64.c \
1253+
$(TOP)/ext/misc/base85.c \
12321254
$(TOP)/ext/misc/fileio.c \
1233-
$(TOP)/ext/misc/ieee754.c \
1234-
$(TOP)/ext/misc/regexp.c \
1235-
$(TOP)/ext/misc/series.c \
1255+
$(TOP)/ext/misc/ieee754.c \
1256+
$(TOP)/ext/misc/regexp.c \
1257+
$(TOP)/ext/misc/series.c \
12361258
$(TOP)/ext/misc/shathree.c \
12371259
$(TOP)/ext/misc/sqlar.c \
1238-
$(TOP)/ext/misc/uint.c \
1260+
$(TOP)/ext/misc/uint.c \
12391261
$(TOP)/ext/expert/sqlite3expert.c \
12401262
$(TOP)/ext/expert/sqlite3expert.h \
12411263
$(TOP)/ext/misc/zipfile.c \
@@ -1244,7 +1266,7 @@ SHELL_SRC = \
12441266
$(TOP)/ext/recover/dbdata.c \
12451267
$(TOP)/ext/recover/sqlite3recover.c \
12461268
$(TOP)/ext/recover/sqlite3recover.h \
1247-
$(TOP)/src/test_windirent.c
1269+
$(TOP)/src/test_windirent.c
12481270

12491271
shell.c: $(SHELL_SRC) $(TOP)/tool/mkshellc.tcl has_tclsh84
12501272
$(TCLSH_CMD) $(TOP)/tool/mkshellc.tcl >shell.c
@@ -1365,6 +1387,8 @@ TESTFIXTURE_FLAGS += -DSQLITE_ENABLE_STMTVTAB
13651387
TESTFIXTURE_FLAGS += -DSQLITE_ENABLE_DBPAGE_VTAB
13661388
TESTFIXTURE_FLAGS += -DSQLITE_ENABLE_BYTECODE_VTAB
13671389
TESTFIXTURE_FLAGS += -DSQLITE_CKSUMVFS_STATIC
1390+
TESTFIXTURE_FLAGS += -DSQLITE_STATIC_RANDOMJSON
1391+
TESTFIXTURE_FLAGS += -DSQLITE_STRICT_SUBTYPE=1
13681392

13691393
TESTFIXTURE_SRC0 = $(TESTSRC2) libsqlite3.la
13701394
TESTFIXTURE_SRC1 = sqlite3.c

libsql-sqlite3/Makefile.msc

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1586,6 +1586,7 @@ TESTEXT = \
15861586
$(TOP)\ext\misc\percentile.c \
15871587
$(TOP)\ext\misc\prefixes.c \
15881588
$(TOP)\ext\misc\qpvtab.c \
1589+
$(TOP)\ext\misc\randomjson.c \
15891590
$(TOP)\ext\misc\regexp.c \
15901591
$(TOP)\ext\misc\remember.c \
15911592
$(TOP)\ext\misc\series.c \
@@ -1694,6 +1695,7 @@ SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1
16941695
SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_OFFSET_SQL_FUNC=1
16951696
SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION=1
16961697
SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_STMT_SCANSTATUS=1
1698+
SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_STRICT_SUBTYPE=1
16971699
!ENDIF
16981700

16991701
# <<mark>>
@@ -1730,6 +1732,8 @@ FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_MAX_MMAP_SIZE=0
17301732
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_OMIT_LOAD_EXTENSION
17311733
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_PRINTF_PRECISION_LIMIT=1000
17321734
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_PRIVATE=""
1735+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_STRICT_SUBTYPE=1
1736+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_STATIC_RANDOMJSON
17331737

17341738
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_MAX_MEMORY=50000000
17351739
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_PRINTF_PRECISION_LIMIT=1000
@@ -1746,6 +1750,7 @@ FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\test\fuzzinvariants.c
17461750
FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\test\vt02.c
17471751
FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\recover\dbdata.c
17481752
FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\recover\sqlite3recover.c
1753+
FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\randomjson.c
17491754

17501755
OSSSHELL_SRC = $(TOP)\test\ossshell.c $(TOP)\test\ossfuzz.c
17511756
DBFUZZ_COMPILE_OPTS = -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
@@ -1825,8 +1830,8 @@ $(SQLITE3EXE): shell.c $(SHELL_CORE_DEP) $(LIBRESOBJS) $(SHELL_CORE_SRC) $(SQLIT
18251830
/link $(SQLITE3EXEPDB) $(LDFLAGS) $(LTLINKOPTS) $(SHELL_LINK_OPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LIBREADLINE) $(LTLIBS) $(TLIBS)
18261831

18271832
# <<mark>>
1828-
sqldiff.exe: $(TOP)\tool\sqldiff.c $(SQLITE3C) $(SQLITE3H) $(LIBRESOBJS)
1829-
$(LTLINK) $(NO_WARN) $(TOP)\tool\sqldiff.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) $(LIBRESOBJS)
1833+
sqldiff.exe: $(TOP)\tool\sqldiff.c $(TOP)\ext\consio\console_io.h $(TOP)\ext\consio\console_io.c $(SQLITE3C) $(SQLITE3H) $(LIBRESOBJS)
1834+
$(LTLINK) $(NO_WARN) -I$(TOP)\ext\consio $(TOP)\tool\sqldiff.c $(TOP)\ext\consio\console_io.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) $(LIBRESOBJS)
18301835

18311836
dbhash.exe: $(TOP)\tool\dbhash.c $(SQLITE3C) $(SQLITE3H)
18321837
$(LTLINK) $(NO_WARN) $(TOP)\tool\dbhash.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
@@ -2263,6 +2268,8 @@ keywordhash.h: $(TOP)\tool\mkkeywordhash.c mkkeywordhash.exe
22632268
# Source files that go into making shell.c
22642269
SHELL_SRC = \
22652270
$(TOP)\src\shell.c.in \
2271+
$(TOP)\ext\consio\console_io.c \
2272+
$(TOP)\ext\consio\console_io.h \
22662273
$(TOP)\ext\misc\appendvfs.c \
22672274
$(TOP)\ext\misc\completion.c \
22682275
$(TOP)\ext\misc\base64.c \
@@ -2433,6 +2440,8 @@ TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_DBPAGE_VTAB=1
24332440
TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_BYTECODE_VTAB=1
24342441
TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_CKSUMVFS_STATIC=1
24352442
TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) $(TEST_CCONV_OPTS)
2443+
TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_STATIC_RANDOMJSON
2444+
TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_STRICT_SUBTYPE=1
24362445

24372446
TESTFIXTURE_SRC0 = $(TESTEXT) $(TESTSRC2)
24382447
TESTFIXTURE_SRC1 = $(TESTEXT) $(SQLITE3C)
@@ -2543,7 +2552,7 @@ smoketest: $(TESTPROGS)
25432552
shelltest: $(TESTPROGS)
25442553
.\testfixture.exe $(TOP)\test\permutations.test shell
25452554

2546-
sqlite3_analyzer.c: $(SQLITE3C) $(SQLITE3H) $(TOP)\src\tclsqlite.c $(TOP)\tool\spaceanal.tcl $(TOP)\tool\mkccode.tcl $(TOP)\tool\sqlite3_analyzer.c.in $(SQLITE_TCL_DEP)
2555+
sqlite3_analyzer.c: $(SQLITE3C) $(SQLITE3H) $(TOP)\src\tclsqlite.c $(TOP)\tool\spaceanal.tcl $(TOP)\tool\mkccode.tcl $(TOP)\tool\sqlite3_analyzer.c.in $(TOP)\ext\consio\console_io.h $(TOP)\ext\consio\console_io.c $(SQLITE_TCL_DEP)
25472556
$(TCLSH_CMD) $(TOP)\tool\mkccode.tcl $(TOP)\tool\sqlite3_analyzer.c.in > $@
25482557

25492558
sqlite3_analyzer.exe: sqlite3_analyzer.c $(LIBRESOBJS)

libsql-sqlite3/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.44.0
1+
3.45.1

libsql-sqlite3/autoconf/Makefile.msc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -990,6 +990,7 @@ SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1
990990
SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_OFFSET_SQL_FUNC=1
991991
SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION=1
992992
SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_STMT_SCANSTATUS=1
993+
SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_STRICT_SUBTYPE=1
993994
!ENDIF
994995

995996

libsql-sqlite3/autoconf/tea/configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ dnl to configure the system for the local environment.
1919
# so that we create the export library with the dll.
2020
#-----------------------------------------------------------------------
2121

22-
AC_INIT([sqlite],[3.44.0])
22+
AC_INIT([sqlite],[3.45.1])
2323

2424
#--------------------------------------------------------------------
2525
# Call TEA_INIT as the first TEA_ macro to set up initial vars.

libsql-sqlite3/configure

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.71 for sqlite 3.44.0.
3+
# Generated by GNU Autoconf 2.69 for sqlite 3.45.1.
44
#
55
#
66
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -757,8 +757,8 @@ MAKEFLAGS=
757757
# Identity of this package.
758758
PACKAGE_NAME='sqlite'
759759
PACKAGE_TARNAME='sqlite'
760-
PACKAGE_VERSION='3.44.0'
761-
PACKAGE_STRING='sqlite 3.44.0'
760+
PACKAGE_VERSION='3.45.1'
761+
PACKAGE_STRING='sqlite 3.45.1'
762762
PACKAGE_BUGREPORT=''
763763
PACKAGE_URL=''
764764

@@ -1512,7 +1512,7 @@ if test "$ac_init_help" = "long"; then
15121512
# Omit some internal or obsolete options to make the list less imposing.
15131513
# This message is too long to be a string in the A/UX 3.1 sh.
15141514
cat <<_ACEOF
1515-
\`configure' configures sqlite 3.44.0 to adapt to many kinds of systems.
1515+
\`configure' configures sqlite 3.45.1 to adapt to many kinds of systems.
15161516
15171517
Usage: $0 [OPTION]... [VAR=VALUE]...
15181518
@@ -1578,7 +1578,7 @@ fi
15781578

15791579
if test -n "$ac_init_help"; then
15801580
case $ac_init_help in
1581-
short | recursive ) echo "Configuration of sqlite 3.44.0:";;
1581+
short | recursive ) echo "Configuration of sqlite 3.45.1:";;
15821582
esac
15831583
cat <<\_ACEOF
15841584
@@ -1716,8 +1716,8 @@ fi
17161716
test -n "$ac_init_help" && exit $ac_status
17171717
if $ac_init_version; then
17181718
cat <<\_ACEOF
1719-
sqlite configure 3.44.0
1720-
generated by GNU Autoconf 2.71
1719+
sqlite configure 3.45.1
1720+
generated by GNU Autoconf 2.69
17211721
17221722
Copyright (C) 2021 Free Software Foundation, Inc.
17231723
This configure script is free software; the Free Software Foundation
@@ -1991,8 +1991,8 @@ cat >config.log <<_ACEOF
19911991
This file contains any messages produced by compilers while
19921992
running configure, to aid debugging if configure makes a mistake.
19931993
1994-
It was created by sqlite $as_me 3.44.0, which was
1995-
generated by GNU Autoconf 2.71. Invocation command line was
1994+
It was created by sqlite $as_me 3.45.1, which was
1995+
generated by GNU Autoconf 2.69. Invocation command line was
19961996
19971997
$ $0$ac_configure_args_raw
19981998
@@ -13212,8 +13212,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
1321213212
# report actual input values of CONFIG_FILES etc. instead of their
1321313213
# values after options handling.
1321413214
ac_log="
13215-
This file was extended by sqlite $as_me 3.44.0, which was
13216-
generated by GNU Autoconf 2.71. Invocation command line was
13215+
This file was extended by sqlite $as_me 3.45.1, which was
13216+
generated by GNU Autoconf 2.69. Invocation command line was
1321713217
1321813218
CONFIG_FILES = $CONFIG_FILES
1321913219
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -13280,8 +13280,8 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
1328013280
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1328113281
ac_cs_config='$ac_cs_config_escaped'
1328213282
ac_cs_version="\\
13283-
sqlite config.status 3.44.0
13284-
configured by $0, generated by GNU Autoconf 2.71,
13283+
sqlite config.status 3.45.1
13284+
configured by $0, generated by GNU Autoconf 2.69,
1328513285
with options \\"\$ac_cs_config\\"
1328613286
1328713287
Copyright (C) 2021 Free Software Foundation, Inc.

libsql-sqlite3/configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
# you don't need (for example BLT) by erasing or commenting out
7575
# the corresponding code.
7676
#
77-
AC_INIT([sqlite],[m4_esyscmd(cat VERSION | tr -d '\n')])
77+
AC_INIT([sqlite],m4_esyscmd(cat VERSION | tr -d '\n'))
7878

7979
dnl Make sure the local VERSION file matches this configure script
8080
sqlite_version_sanity_check=`cat $srcdir/VERSION | tr -d '\n'`

libsql-sqlite3/doc/compile-for-windows.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Notes On Compiling SQLite On Windows 11
22

33
Here are step-by-step instructions on how to build SQLite from
4-
canonical source on a new Windows 11 PC, as of 2023-08-16:
4+
canonical source on a new Windows 11 PC, as of 2023-11-01:
55

66
1. Install Microsoft Visual Studio. The free "community edition"
77
will work fine. Do a standard install for C++ development.
@@ -84,6 +84,18 @@ following minor changes:
8484
<li> `set PATH=c:\tcl32\bin;%PATH%`
8585
</ul>
8686

87+
## Building a DLL
88+
89+
The command the developers use for building the deliverable DLL on the
90+
[download page](https://sqlite.org/download.html) is as follows:
91+
92+
> ~~~~
93+
nmake /f Makefile.msc sqlite3.dll USE_NATIVE_LIBPATHS=1 "OPTS=-DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_ENABLE_SESSION=1 -DSQLITE_ENABLE_PREUPDATE_HOOK=1 -DSQLITE_ENABLE_SERIALIZE=1 -DSQLITE_ENABLE_MATH_FUNCTIONS=1"
94+
~~~~
95+
96+
That command generates both the sqlite3.dll and sqlite3.def files. The same
97+
command works for both 32-bit and 64-bit builds.
98+
8799
## Statically Linking The TCL Library
88100

89101
Some utility programs associated with SQLite need to be linked

0 commit comments

Comments
 (0)