1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

Improvements to TCL9 support. Fixes to the Makefiles so that the "install"

targets are consistent and so that they work better with TCL9.

FossilOrigin-Name: bcfae7183e92ce37717852bae5b1dd526903fa8429fb6f738c2147d4e5231642
This commit is contained in:
drh
2024-10-10 10:47:37 +00:00
11 changed files with 87 additions and 62 deletions

View File

@ -1587,10 +1587,10 @@ lib_install: libsqlite3.la
$(INSTALL) -d $(DESTDIR)$(libdir) $(INSTALL) -d $(DESTDIR)$(libdir)
$(LTINSTALL) libsqlite3.la $(DESTDIR)$(libdir) $(LTINSTALL) libsqlite3.la $(DESTDIR)$(libdir)
# Use $(tcl_install_$(HAVE_TCL)) to resolve to either tcl_install or # Use $(tcl_install_$(HAVE_TCL)) to resolve to either tclextension-install or
# an empty value. # an empty value.
tcl_install_0 = tcl_install_0 =
tcl_install_1 = tcl_install tcl_install_1 = tclextension-install
install: sqlite3$(TEXE) lib_install sqlite3.h sqlite3.pc $(tcl_install_$(HAVE_TCL)) install: sqlite3$(TEXE) lib_install sqlite3.h sqlite3.pc $(tcl_install_$(HAVE_TCL))
$(INSTALL) -d $(DESTDIR)$(bindir) $(INSTALL) -d $(DESTDIR)$(bindir)
@ -1601,27 +1601,18 @@ install: sqlite3$(TEXE) lib_install sqlite3.h sqlite3.pc $(tcl_install_$(HAVE_TC
$(INSTALL) -d $(DESTDIR)$(pkgconfigdir) $(INSTALL) -d $(DESTDIR)$(pkgconfigdir)
$(INSTALL) -m 0644 sqlite3.pc $(DESTDIR)$(pkgconfigdir) $(INSTALL) -m 0644 sqlite3.pc $(DESTDIR)$(pkgconfigdir)
pkgIndex.tcl:
echo 'package ifneeded sqlite3 $(RELEASE) [list load [file join $$dir libtclsqlite3[info sharedlibextension]] sqlite3]' > $@
tcl_install: lib_install libtclsqlite3.la pkgIndex.tcl
$(INSTALL) -d $(DESTDIR)$(TCLLIBDIR)
$(LTINSTALL) libtclsqlite3.la $(DESTDIR)$(TCLLIBDIR)
rm -f $(DESTDIR)$(TCLLIBDIR)/libtclsqlite3.la $(DESTDIR)$(TCLLIBDIR)/libtclsqlite3.a
$(INSTALL) -m 0644 pkgIndex.tcl $(DESTDIR)$(TCLLIBDIR)
# Build the SQLite TCL extension in a way that make it compatible # Build the SQLite TCL extension in a way that make it compatible
# with whatever version of TCL is running as $TCLSH_CMD, possibly defined # with whatever version of TCL is running as $TCLSH_CMD, possibly defined
# by --with-tclsh= # by --with-tclsh=
# #
tclextension: tclsqlite3.c tclextension: tclsqlite3.c
$(TCLSH_CMD) $(TOP)/tool/buildtclext.tcl --build-only --cc $(CC) $(CFLAGS) $(OPT_FEATURE_FLAGS) $(OPTS) $(TCLSH_CMD) $(TOP)/tool/buildtclext.tcl --build-only --cc "$(CC)" $(CFLAGS) $(OPT_FEATURE_FLAGS) $(OPTS)
# Install the SQLite TCL extension in a way that is appropriate for $TCLSH_CMD # Install the SQLite TCL extension in a way that is appropriate for $TCLSH_CMD
# to find it. # to find it.
# #
tclextension-install: tclsqlite3.c tclextension-install: tclsqlite3.c
$(TCLSH_CMD) $(TOP)/tool/buildtclext.tcl --cc $(CC) $(CFLAGS) $(OPT_FEATURE_FLAGS) $(OPTS) $(TCLSH_CMD) $(TOP)/tool/buildtclext.tcl --cc "$(CC)" $(CFLAGS) $(OPT_FEATURE_FLAGS) $(OPTS)
# Install the SQLite TCL extension that is used by $TCLSH_CMD # Install the SQLite TCL extension that is used by $TCLSH_CMD
# #

View File

@ -929,10 +929,6 @@ TCC = $(TCC) /fsanitize=address
# prior to running nmake in order to match the actual installed location and # prior to running nmake in order to match the actual installed location and
# version on this machine. # version on this machine.
# #
!IFNDEF TCLVERSION
TCLVERSION = 86
!ENDIF
!IFNDEF TCLSUFFIX !IFNDEF TCLSUFFIX
TCLSUFFIX = TCLSUFFIX =
!ENDIF !ENDIF
@ -941,6 +937,19 @@ TCLSUFFIX =
TCLDIR = C:\Tcl TCLDIR = C:\Tcl
!ENDIF !ENDIF
!IFNDEF TCLVERSION
!IF EXISTS("$(TCLDIR)\lib\tcl90$(TCLSUFFIX).lib")
TCLVERSION = 90
!ELSEIF EXISTS("$(TCLDIR)\lib\tcl86$(TCLSUFFIX).lib")
TCLVERSION = 86
!ELSEIF EXISTS("$(TCLDIR)\lib\tcl86t.lib")
TCLSUFFIX = t
TCLVERSION = 86
!ELSE
TCLVERSION = 90
!ENDIF
!ENDIF
!IFNDEF TCLINCDIR !IFNDEF TCLINCDIR
TCLINCDIR = $(TCLDIR)\include TCLINCDIR = $(TCLDIR)\include
!ENDIF !ENDIF
@ -953,9 +962,17 @@ TCLLIBDIR = $(TCLDIR)\lib
LIBTCL = tcl$(TCLVERSION)$(TCLSUFFIX).lib LIBTCL = tcl$(TCLVERSION)$(TCLSUFFIX).lib
!ENDIF !ENDIF
!IFNDEF TCLLIBS
TCLLIBS = /NODEFAULTLIB:libucrt.lib netapi32.lib user32.lib ucrt.lib
!ENDIF
!IFNDEF LIBTCLSTUB !IFNDEF LIBTCLSTUB
!IF EXISTS("$(TCLLIBDIR)\tclstub$(TCLSUFFIX).lib")
LIBTCLSTUB = tclstub$(TCLSUFFIX).lib
!ELSE
LIBTCLSTUB = tclstub$(TCLVERSION)$(TCLSUFFIX).lib LIBTCLSTUB = tclstub$(TCLVERSION)$(TCLSUFFIX).lib
!ENDIF !ENDIF
!ENDIF
!IFNDEF LIBTCLPATH !IFNDEF LIBTCLPATH
LIBTCLPATH = $(TCLDIR)\bin LIBTCLPATH = $(TCLDIR)\bin
@ -1013,10 +1030,18 @@ LIBICU = icuuc.lib icuin.lib
# specific Tcl shell to use. # specific Tcl shell to use.
# #
!IFNDEF TCLSH_CMD !IFNDEF TCLSH_CMD
!IF $(USE_TCLSH_IN_PATH)!=0 || !EXIST("$(TCLDIR)\bin\tclsh.exe") !IF EXISTS("$(TCLDIR)\bin\tclsh$(TCLVERSION).exe")
TCLSH_CMD = tclsh TCLSH_CMD = $(TCLDIR)\bin\tclsh$(TCLVERSION).exe
!ELSE !ELSEIF EXISTS("$(TCLDIR)\bin\tclsh90.exe")
TCLSH_CMD = $(TCLDIR)\bin\tclsh90.exe
!ELSEIF EXISTS("$(TCLDIR)\bin\tclsh86.exe")
TCLSH_CMD = $(TCLDIR)\bin\tclsh86.exe
!ELSEIF EXISTS("$(TCLDIR)\bin\tclsh86t.exe")
TCLSH_CMD = $(TCLDIR)\bin\tclsh86t.exe
!ELSEIF EXISTS("$(TCLDIR)\bin\tclsh.exe")
TCLSH_CMD = $(TCLDIR)\bin\tclsh.exe TCLSH_CMD = $(TCLDIR)\bin\tclsh.exe
!ELSE
TCLSH_CMD = tclsh
!ENDIF !ENDIF
!ENDIF !ENDIF
# <</mark>> # <</mark>>
@ -1824,7 +1849,7 @@ tclsqlite3.def: tclsqlite.lo
pkgIndex.tcl: $(TOP)\VERSION pkgIndex.tcl: $(TOP)\VERSION
for /F %%V in ('type "$(TOP)\VERSION"') do ( \ for /F %%V in ('type "$(TOP)\VERSION"') do ( \
echo package ifneeded sqlite3 @version@ [list load [file join $$dir $(SQLITE3TCLDLL)] sqlite3] \ echo package ifneeded sqlite3 @version@ [list load [file join $$dir $(SQLITE3TCLDLL)] Sqlite3] \
| $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact @version@ %%V > pkgIndex.tcl \ | $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact @version@ %%V > pkgIndex.tcl \
) )
@ -2746,6 +2771,16 @@ THREADTEST3_SRC = \
threadtest3.exe: $(THREADTEST3_SRC) $(TOP)\src\test_multiplex.c $(SQLITE3C) $(SQLITE3H) threadtest3.exe: $(THREADTEST3_SRC) $(TOP)\src\test_multiplex.c $(SQLITE3C) $(SQLITE3H)
$(LTLINK) $(NO_WARN) $(TOP)\test\threadtest3.c $(TOP)\src\test_multiplex.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) $(LTLINK) $(NO_WARN) $(TOP)\test\threadtest3.c $(TOP)\src\test_multiplex.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
# Display key variables that control which version of TCL is to be used.
#
tcl-env:
@echo TCLDIR = $(TCLDIR)
@echo TCLVERSION = $(TCLVERSION)
@echo TCLSUFFIX = $(TCLSUFFIX)
@echo LIBTCL = $(LIBTCL)
@echo LIBTCLSTUB = $(LIBTCLSTUB)
@echo TCLSH_CMD = $(TCLSH_CMD)
LSMDIR=$(TOP)\ext\lsm1 LSMDIR=$(TOP)\ext\lsm1
!INCLUDE $(LSMDIR)\Makefile.msc !INCLUDE $(LSMDIR)\Makefile.msc

View File

@ -3,8 +3,8 @@
# #
if {[package vsatisfies [package provide Tcl] 9.0-]} { if {[package vsatisfies [package provide Tcl] 9.0-]} {
package ifneeded sqlite3 @PACKAGE_VERSION@ \ package ifneeded sqlite3 @PACKAGE_VERSION@ \
[list load [file join $dir @PKG_LIB_FILE9@] sqlite3] [list load [file join $dir @PKG_LIB_FILE9@] Sqlite3]
} else { } else {
package ifneeded sqlite3 @PACKAGE_VERSION@ \ package ifneeded sqlite3 @PACKAGE_VERSION@ \
[list load [file join $dir @PKG_LIB_FILE8@] sqlite3] [list load [file join $dir @PKG_LIB_FILE8@] Sqlite3]
} }

View File

@ -407,7 +407,7 @@ install-libraries:
@echo Installing package index in '$(SCRIPT_INSTALL_DIR)' @echo Installing package index in '$(SCRIPT_INSTALL_DIR)'
@type << >"$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" @type << >"$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl"
package ifneeded $(PROJECT) $(DOTVERSION) \ package ifneeded $(PROJECT) $(DOTVERSION) \
[list load [file join $$dir $(PRJLIBNAME)] sqlite3] [list load [file join $$dir $(PRJLIBNAME)] Sqlite3]
<< <<
install-docs: install-docs:

2
configure vendored
View File

@ -10335,7 +10335,7 @@ fi
original_use_tcl=${use_tcl} original_use_tcl=${use_tcl}
if test x"${with_tclsh}" == x -a x"${with_tcl}" == x; then if test x"${with_tclsh}" == x -a x"${with_tcl}" == x; then
for ac_prog in tclsh8.6 tclsh tclsh9.0 for ac_prog in tclsh9.0 tclsh8.6 tclsh
do do
# Extract the first word of "$ac_prog", so it can be a program name with args. # Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2 set dummy $ac_prog; ac_word=$2

View File

@ -125,7 +125,7 @@ AC_ARG_ENABLE(tcl, AS_HELP_STRING([--disable-tcl],[omit building accessory progr
[use_tcl=$enableval],[use_tcl=yes]) [use_tcl=$enableval],[use_tcl=yes])
original_use_tcl=${use_tcl} original_use_tcl=${use_tcl}
if test x"${with_tclsh}" == x -a x"${with_tcl}" == x; then if test x"${with_tclsh}" == x -a x"${with_tcl}" == x; then
AC_CHECK_PROGS(TCLSH_CMD, [tclsh8.6 tclsh tclsh9.0],none) AC_CHECK_PROGS(TCLSH_CMD, [tclsh9.0 tclsh8.6 tclsh],none)
with_tclsh=${TCLSH_CMD} with_tclsh=${TCLSH_CMD}
fi fi
if test x"${with_tclsh}" != x -a x"${with_tclsh}" != xnone; then if test x"${with_tclsh}" != x -a x"${with_tclsh}" != xnone; then

View File

@ -1,7 +1,7 @@
# Notes On Compiling SQLite On Windows 11 # Notes On Compiling SQLite On Windows 11
Here are step-by-step instructions on how to build SQLite from Here are step-by-step instructions on how to build SQLite from
canonical source on a new Windows 11 PC, as of 2023-11-01: canonical source on a new Windows 11 PC, as of 2024-10-09:
1. Install Microsoft Visual Studio. The free "community edition" 1. Install Microsoft Visual Studio. The free "community edition"
will work fine. Do a standard install for C++ development. will work fine. Do a standard install for C++ development.
@ -20,9 +20,11 @@ canonical source on a new Windows 11 PC, as of 2023-11-01:
install the TCL development libraries in the "`c:\Tcl`" directory. install the TCL development libraries in the "`c:\Tcl`" directory.
Make adjustments Make adjustments
if you want TCL installed somewhere else. SQLite needs both the if you want TCL installed somewhere else. SQLite needs both the
"tclsh.exe" command-line tool as part of the build process, and "tclsh90.exe" command-line tool as part of the build process, and
the "tcl86.lib" library in order to run tests. You will need the "tcl90.lib" and "tclstub.lib" libraries in order to run tests.
TCL version 8.6 or later. This document assumes you are working with <b>TCL version 9.0</b>.
See versions of this document from prior to 2024-10-10 for
instructions on how to build using TCL version 8.6.
<ol type="a"> <ol type="a">
<li>Get the TCL source archive, perhaps from <li>Get the TCL source archive, perhaps from
[https://www.tcl.tk/software/tcltk/download.html](https://www.tcl.tk/software/tcltk/download.html). [https://www.tcl.tk/software/tcltk/download.html](https://www.tcl.tk/software/tcltk/download.html).
@ -30,13 +32,10 @@ canonical source on a new Windows 11 PC, as of 2023-11-01:
of the source tree. of the source tree.
<li>Run: `nmake /f makefile.vc release` <li>Run: `nmake /f makefile.vc release`
<li>Run: `nmake /f makefile.vc INSTALLDIR=c:\Tcl install` <li>Run: `nmake /f makefile.vc INSTALLDIR=c:\Tcl install`
<li>CD to `c:\Tcl\lib`. In that subfolder make a copy of the <li><i>Optional:</i> CD to `c:\Tcl\bin` and make a copy of
"`tcl86t.lib`" file to the alternative name "`tcl86.lib`" `tclsh90.exe` over into just `tclsh.exe`.
(omitting the second 't'). Leave the copy in the same directory <li><i>Optional:</i>
as the original. Add `c:\Tcl\bin` to your %PATH%. To do this, go to Settings
<li>CD to `c:\Tcl\bin`. Make a copy of the "`tclsh86t.exe`"
file into "`tclsh.exe`" (without the "86t") in the same directory.
<li>Add `c:\Tcl\bin` to your %PATH%. To do this, go to Settings
and search for "path". Select "edit environment variables for and search for "path". Select "edit environment variables for
your account" and modify your default PATH accordingly. your account" and modify your default PATH accordingly.
You will need to close and reopen your command prompts after You will need to close and reopen your command prompts after
@ -59,6 +58,7 @@ canonical source on a new Windows 11 PC, as of 2023-11-01:
<li> `nmake /f makefile.msc sqlite3.c` <li> `nmake /f makefile.msc sqlite3.c`
<li> `nmake /f makefile.msc sqlite3.exe` <li> `nmake /f makefile.msc sqlite3.exe`
<li> `nmake /f makefile.msc sqldiff.exe` <li> `nmake /f makefile.msc sqldiff.exe`
<li> `nmake /f makefile.msc sqlite3-rsync.exe`
<li> `nmake /f makefile.msc tclextension-install` <li> `nmake /f makefile.msc tclextension-install`
<li> `nmake /f makefile.msc devtest` <li> `nmake /f makefile.msc devtest`
<li> `nmake /f makefile.msc releasetest` <li> `nmake /f makefile.msc releasetest`
@ -127,7 +127,7 @@ nmake /f Makefile.msc sqlite3_analyzer.exe
~~~~ ~~~~
And you will end up with a working executable. However, that executable And you will end up with a working executable. However, that executable
will depend on having the "tcl86.dll" library somewhere on your %PATH%. will depend on having the "tcl98.dll" library somewhere on your %PATH%.
Use the following steps to build an executable that has the TCL library Use the following steps to build an executable that has the TCL library
statically linked so that it does not depend on separate DLL: statically linked so that it does not depend on separate DLL:
@ -137,13 +137,12 @@ statically linked so that it does not depend on separate DLL:
2. Untar the TCL source tarball into a fresh directory. CD into 2. Untar the TCL source tarball into a fresh directory. CD into
the "win/" subfolder. the "win/" subfolder.
3. Run: `nmake /f makefile.vc OPTS=nothreads,static shell` 3. Run: `nmake /f makefile.vc OPTS=static shell`
4. CD into the "Release*" subfolder that is created (note the 4. CD into the "Release*" subfolder that is created (note the
wildcard - the full name of the directory might vary). There wildcard - the full name of the directory might vary). There
you will find the "tcl86s.lib" file. Copy this file into the you will find the "tcl90s.lib" file. Copy this file into the
same directory that you put the "tcl86.lib" on your initial same directory that you put the "tcl90.lib" on your initial
installation. (In this document, that directory is installation. (In this document, that directory is
"`C:\Tcl32\lib`" for 32-bit builds and "`C:\Tcl32\lib`" for 32-bit builds and
"`C:\Tcl\lib`" for 64-bit builds.) "`C:\Tcl\lib`" for 64-bit builds.)
@ -152,12 +151,12 @@ statically linked so that it does not depend on separate DLL:
utility program, but add the following extra arguments to the utility program, but add the following extra arguments to the
nmake command line: nmake command line:
<blockquote><pre> <blockquote><pre>
CCOPTS="-DSTATIC_BUILD" LIBTCL="tcl86s.lib netapi32.lib user32.lib" CCOPTS="-DSTATIC_BUILD" LIBTCL="tcl90s.lib"
</pre></blockquote> </pre></blockquote>
<p>So, for example, to build a statically linked version of <p>So, for example, to build a statically linked version of
sqlite3_analyzer.exe, you might type: sqlite3_analyzer.exe, you might type:
<blockquote><pre> <blockquote><pre>
nmake /f Makefile.msc CCOPTS="-DSTATIC_BUILD" LIBTCL="tcl86s.lib netapi32.lib user32.lib" sqlite3_analyzer.exe nmake /f Makefile.msc CCOPTS="-DSTATIC_BUILD" LIBTCL="tcl90s.lib" sqlite3_analyzer.exe
</pre></blockquote> </pre></blockquote>
6. After your executable is built, you can verify that it does not 6. After your executable is built, you can verify that it does not

View File

@ -1,11 +1,11 @@
C Fix\sa\sproblem\sin\sthe\sgenerate_series()\sextension\sintroduced\sby\n[d50b784807333c54]. C Improvements\sto\sTCL9\ssupport.\s\sFixes\sto\sthe\sMakefiles\sso\sthat\sthe\s"install"\ntargets\sare\sconsistent\sand\sso\sthat\sthey\swork\sbetter\swith\sTCL9.
D 2024-10-09T16:32:19.421 D 2024-10-10T10:47:37.943
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F Makefile.in 07a52a88eabbb996b91b82f17e7a6b11202845b06056c620b2c4f3a7e473554f F Makefile.in e504a9f003b2de41447b81296d9a6988a67ffabc34fa396b60ffd89b0c63a7bf
F Makefile.linux-gcc f3842a0b1efbfbb74ac0ef60e56b301836d05b4d867d014f714fa750048f1ab6 F Makefile.linux-gcc f3842a0b1efbfbb74ac0ef60e56b301836d05b4d867d014f714fa750048f1ab6
F Makefile.msc 9c6d80d9d103fa42e931f4c464884a5e577fae8563acc7589bff4e43fbe8f864 F Makefile.msc 34801b42a51a9c3cb2c98fb83e3e3a08c1a304b73e7a1ef30846fe6848c1ffd7
F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159 F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159
F VERSION 0db40f92c04378404eb45bff93e9e42c148c7e54fd3da99469ed21e22411f5a6 F VERSION 0db40f92c04378404eb45bff93e9e42c148c7e54fd3da99469ed21e22411f5a6
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
@ -27,19 +27,19 @@ F autoconf/tea/aclocal.m4 52c47aac44ce0ddb1f918b6993e8beb8eee88f43
F autoconf/tea/configure.ac 0deb5d6c49c8119f75f436488219fc043127d72057af5dfba2c9ce096a5734bc F autoconf/tea/configure.ac 0deb5d6c49c8119f75f436488219fc043127d72057af5dfba2c9ce096a5734bc
F autoconf/tea/doc/sqlite3.n e1fe45d4f5286ee3d0ccc877aca2a0def488e9bb F autoconf/tea/doc/sqlite3.n e1fe45d4f5286ee3d0ccc877aca2a0def488e9bb
F autoconf/tea/license.terms 13bd403c9610fd2b76ece0ab50c4c5eda933d523 F autoconf/tea/license.terms 13bd403c9610fd2b76ece0ab50c4c5eda933d523
F autoconf/tea/pkgIndex.tcl.in b9eb6dd37f64e08e637d576b3c83259814b9cddd78bec4af2e5abfc6c5c750ce F autoconf/tea/pkgIndex.tcl.in 55aec3c6d7e9a1de9b8d2fdc9c27fd055da3ac3a51b572195e2ae7300bcfd3a2
F autoconf/tea/tclconfig/install-sh bdd5e293591621ae60d9824d86a4b1c5f22c3d00 F autoconf/tea/tclconfig/install-sh bdd5e293591621ae60d9824d86a4b1c5f22c3d00
F autoconf/tea/tclconfig/tcl.m4 c6e5f2fc7178f40d087403daa044ef3b86a8e30793f3b121bdcbdf152c6a776a F autoconf/tea/tclconfig/tcl.m4 c6e5f2fc7178f40d087403daa044ef3b86a8e30793f3b121bdcbdf152c6a776a
F autoconf/tea/win/makefile.vc 2c478a9a962e48b2bf9062734e04d7c63c556e217095419173f9d7938d7d78f7 F autoconf/tea/win/makefile.vc 9b33af4214a5c8360549b96380f55ece1a2df76a51ab4c726296e5c43d8a2227
F autoconf/tea/win/nmakehlp.c b01f822eabbe1ed2b64e70882d97d48402b42d2689a1ea00342d1a1a7eaa19cb F autoconf/tea/win/nmakehlp.c b01f822eabbe1ed2b64e70882d97d48402b42d2689a1ea00342d1a1a7eaa19cb
F autoconf/tea/win/rules.vc 7b3bb2ef32ade0f3f14d951231811678722725e3bca240dd9727ae0dfe10f6a5 F autoconf/tea/win/rules.vc 7b3bb2ef32ade0f3f14d951231811678722725e3bca240dd9727ae0dfe10f6a5
F config.guess 883205ddf25b46f10c181818bf42c09da9888884af96f79e1719264345053bd6 F config.guess 883205ddf25b46f10c181818bf42c09da9888884af96f79e1719264345053bd6
F config.sub c2d0260f17f3e4bc0b6808fccf1b291cb5e9126c14fc5890efc77b9fd0175559 F config.sub c2d0260f17f3e4bc0b6808fccf1b291cb5e9126c14fc5890efc77b9fd0175559
F configure 49523f0a070b583cea040d26eff53a65fb0893eca4663b1343a4d5a9a964da53 x F configure 135e050689ea244477582e6d77cc7867dfcfe6e0f82e3eab3e47655a67035f8f x
F configure.ac a100ebf7a07f5dedd319ef547dd467d1676ed059b85a7877aa9c44ac309f7000 F configure.ac aca8ebf47b7644c473e11e599ea986eeb23860a8732a8812039ad961ef52a713
F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
F doc/F2FS.txt c1d4a0ae9711cfe0e1d8b019d154f1c29e0d3abfe820787ba1e9ed7691160fcd F doc/F2FS.txt c1d4a0ae9711cfe0e1d8b019d154f1c29e0d3abfe820787ba1e9ed7691160fcd
F doc/compile-for-windows.md 4d4bfafda42a7a33f166d23aed4db1bb4ea1e5751595a5cced2bad349fd14652 F doc/compile-for-windows.md 8402957e1ba3ddae2d37cb44fab7fca7e099b3f2fcf33bced3a16188a00b955e
F doc/json-enhancements.md e356fc834781f1f1aa22ee300027a270b2c960122468499bf347bb123ce1ea4f F doc/json-enhancements.md e356fc834781f1f1aa22ee300027a270b2c960122468499bf347bb123ce1ea4f
F doc/jsonb.md 5fab4b8613aa9153fbeb6259297bd4697988af8b3d23900deba588fa7841456b F doc/jsonb.md 5fab4b8613aa9153fbeb6259297bd4697988af8b3d23900deba588fa7841456b
F doc/lemon.html 8b266ff711d2ec7f867c3dca37634963f48a630329908cc282beebfa8c708706 F doc/lemon.html 8b266ff711d2ec7f867c3dca37634963f48a630329908cc282beebfa8c708706
@ -778,7 +778,7 @@ F src/sqliteInt.h ad02397dc4d22b77f9a331412d46e4c1e49459dd386fba8373fa148998e1e7
F src/sqliteLimit.h 6878ab64bdeb8c24a1d762d45635e34b96da21132179023338c93f820eee6728 F src/sqliteLimit.h 6878ab64bdeb8c24a1d762d45635e34b96da21132179023338c93f820eee6728
F src/status.c cb11f8589a6912af2da3bb1ec509a94dd8ef27df4d4c1a97e0bcf2309ece972b F src/status.c cb11f8589a6912af2da3bb1ec509a94dd8ef27df4d4c1a97e0bcf2309ece972b
F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1 F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
F src/tclsqlite.c c6888598f08dee3d9112a38ef42c8f5c89ca7f3190f4694744d0b84250f4bf8c F src/tclsqlite.c e4bd0a252e7f73f338b98b8a0d8fe1017cfd0e171841cefc7776307b7304424d
F src/tclsqlite.h c6af51f31a2b2172d674608763a4b98fdf5cd587e4025053e546fb8077757262 F src/tclsqlite.h c6af51f31a2b2172d674608763a4b98fdf5cd587e4025053e546fb8077757262
F src/test1.c 8bf8b74145b768f42386787f93f6d6dad7bc400a4ee2d50e4ad5a06a20a97ef1 F src/test1.c 8bf8b74145b768f42386787f93f6d6dad7bc400a4ee2d50e4ad5a06a20a97ef1
F src/test2.c 7ebc518e6735939d8979273a6f7b1d9b5702babf059f6ad62499f7f60a9eb9a3 F src/test2.c 7ebc518e6735939d8979273a6f7b1d9b5702babf059f6ad62499f7f60a9eb9a3
@ -1728,7 +1728,7 @@ F test/thread005.test 50d10b5684399676174bd96c94ad4250b1a2c8b6
F test/thread1.test df115faa10a4ba1d456e9d4d9ec165016903eae4 F test/thread1.test df115faa10a4ba1d456e9d4d9ec165016903eae4
F test/thread2.test f35d2106452b77523b3a2b7d1dcde2e5ee8f9e46 F test/thread2.test f35d2106452b77523b3a2b7d1dcde2e5ee8f9e46
F test/thread3.test a12656a56cdf67acb6a2ff7638826c6d6a645f79909d86df521045ad31cf547d F test/thread3.test a12656a56cdf67acb6a2ff7638826c6d6a645f79909d86df521045ad31cf547d
F test/thread_common.tcl 334639cadcb9f912bf82aa73f49efd5282e6cadd F test/thread_common.tcl b3b19a769fe30ef5537cdfa60acd49b78f771301627720d1add2d3bac77d9039
F test/threadtest1.c 6029d9c5567db28e6dc908a0c63099c3ba6c383b F test/threadtest1.c 6029d9c5567db28e6dc908a0c63099c3ba6c383b
F test/threadtest2.c a70a8e94bef23339d34226eb9521015ef99f4df8 F test/threadtest2.c a70a8e94bef23339d34226eb9521015ef99f4df8
F test/threadtest3.c 655bff6c0895ec03f014126aa65e808fac9aae8c5a7a7da58a510cbe8b43b781 F test/threadtest3.c 655bff6c0895ec03f014126aa65e808fac9aae8c5a7a7da58a510cbe8b43b781
@ -2216,8 +2216,9 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P f7acb189d8eadf2de2fa992b3ff7293838fd0f8fd3c61e9f0238226a36ea6bcf P 41d58a014ce89356932d717843a1fa6e0735f15a7b7265c41ac85a9722a5d826 69346e9d4704e8fd82cbb3359913191e05cb38ee591baf97dcfe321db0ea085e
R a2ee738e138d3fd76c622231c3a068a8 R cb2da8047bc68c186c40f7fac828ca27
T +closed 69346e9d4704e8fd82cbb3359913191e05cb38ee591baf97dcfe321db0ea085e
U drh U drh
Z 898a13abf8610a35615e136dfd53c619 Z c26071f7bb2f67975d197a849e9477c9
# Remove this line to create a well-formed Fossil manifest. # Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
41d58a014ce89356932d717843a1fa6e0735f15a7b7265c41ac85a9722a5d826 bcfae7183e92ce37717852bae5b1dd526903fa8429fb6f738c2147d4e5231642

View File

@ -3981,7 +3981,7 @@ static int SQLITE_TCLAPI DbMain(
** The EXTERN macros are required by TCL in order to work on windows. ** The EXTERN macros are required by TCL in order to work on windows.
*/ */
EXTERN int Sqlite3_Init(Tcl_Interp *interp){ EXTERN int Sqlite3_Init(Tcl_Interp *interp){
int rc = Tcl_InitStubs(interp, "8.4", 0) ? TCL_OK : TCL_ERROR; int rc = Tcl_InitStubs(interp, "8.5-", 0) ? TCL_OK : TCL_ERROR;
if( rc==TCL_OK ){ if( rc==TCL_OK ){
Tcl_CreateObjCommand(interp, "sqlite3", (Tcl_ObjCmdProc*)DbMain, 0, 0); Tcl_CreateObjCommand(interp, "sqlite3", (Tcl_ObjCmdProc*)DbMain, 0, 0);
#ifndef SQLITE_3_SUFFIX_ONLY #ifndef SQLITE_3_SUFFIX_ONLY

View File

@ -95,7 +95,7 @@ proc run_thread_tests {{print_warning 0}} {
if {[info commands sqlthread] eq ""} { if {[info commands sqlthread] eq ""} {
set zProblem "SQLite build is not threadsafe" set zProblem "SQLite build is not threadsafe"
} }
if {![info exists ::tcl_platform(threaded)]} { if {![tcl::pkgconfig get threaded]} {
set zProblem "Linked against a non-threadsafe Tcl build" set zProblem "Linked against a non-threadsafe Tcl build"
} }
if {[info exists zProblem]} { if {[info exists zProblem]} {
@ -107,4 +107,3 @@ proc run_thread_tests {{print_warning 0}} {
} }
return 0 return 0