aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstephan <stephan@noemail.net>2025-04-16 17:47:16 +0000
committerstephan <stephan@noemail.net>2025-04-16 17:47:16 +0000
commit259532c0ad20acdf5fea8b2165c7d32a2c7a4c0f (patch)
tree5ecc474aa03b2235514be83ec3729ac38871cb45
parent6fe2a9a8f1e5c59f0b9dd491fe6f3e10a49ecc86 (diff)
downloadsqlite-259532c0ad20acdf5fea8b2165c7d32a2c7a4c0f.tar.gz
sqlite-259532c0ad20acdf5fea8b2165c7d32a2c7a4c0f.zip
Update doc/tcl-extension-testing.md for Unix systems, consolidating the Tcl 8.x and 9.x sections.
FossilOrigin-Name: c4c5dcb79c57f6e38cfe9b68b00e60e42d03ef30aeaefc5bf9dafed994849e1d
-rw-r--r--doc/tcl-extension-testing.md92
-rw-r--r--manifest14
-rw-r--r--manifest.uuid2
3 files changed, 49 insertions, 59 deletions
diff --git a/doc/tcl-extension-testing.md b/doc/tcl-extension-testing.md
index df5f6537b..fec7e0d66 100644
--- a/doc/tcl-extension-testing.md
+++ b/doc/tcl-extension-testing.md
@@ -35,84 +35,69 @@ perspective on how to compile SQLite on unix-like systems.
### 2.1 Setup
<ol type="1">
-<li value="1">
- [Fossil](https://fossil-scm.org/) installed.
+<li value="1">
+ [Fossil][] installed.
<li> Check out source code and set environment variables:
<ol type="a">
<li> **TCLSOURCE** &rarr;
- The top-level directory of a Fossil check-out of the TCL source tree.
+ The top-level directory of a [Fossil][] check-out of the
+ [TCL source tree][tcl-fossil].
<li> **SQLITESOURCE** &rarr;
A Fossil check-out of the SQLite source tree.
- <li> **TCLBUILD** &rarr;
+ <li> **TCLHOME** &rarr;
A directory that does not exist at the start of the test and which
will be deleted at the end of the test, and that will contain the
test builds of the TCL libraries and the SQLite TCL Extensions.
+ It is the top-most installation directory, i.e. the one provided
+ to Tcl's `./configure --prefix=/path/to/tcl`.
+ <li> **TCLVERSION** &rarr;
+ The `X.Y`-form version of Tcl being used: 8.6, 9.0, 9.1...
</ol>
</ol>
-### 2.2 Testing TCL 8.6 on unix
+### 2.2 Testing TCL 8.x and 9.x on unix
+
+From a checked-out copy of [the core Tcl tree][tcl-fossil]
<ol type="1">
-<li value="3"> `mkdir -p $TCLBUILD/tcl86`
-<li> `cd $TCLSOURCE/unix`
-<li> `fossil up core-8-6-16` <br>
- &uarr; Or some other version of Tcl8.6.
+<li value="3">`TCLVERSION=8.6` <br>
+ &uarr; A version of your choice. This process has been tested with
+ values of 8.6, 9.0, and 9.1 (as of 2025-04-16). The out-of-life
+ version 8.5 fails some of `make devtest` for undetermined reasons.
+<li>`TCLHOME=$HOME/tcl/$TCLVERSION`
+<li>`TCLSOURCE=/path/to/tcl/checkout`
+<li>`SQLITESOURCE=/path/to/sqlite/checkout`
+<li>`rm -fr $TCLHOME` <br>
+ &uarr; Ensure that no stale Tcl installation is laying around.
+<li> `cd $TCLSOURCE`
+<li> `fossil up core-8-6-branch` <br>
+ &uarr; The branch corresponding to `$TCLVERSION`, e.g.
+ `core-9-0-branch` or `trunk`.
<li> `fossil clean -x`
-<li> `./configure --prefix=$TCLBUILD/tcl86 --disable-shared` <br>
- &uarr; The --disable-shared is to avoid the need to set LD_LIBRARY_PATH
+<li> `cd unix`
+<li> `./configure --prefix=$TCLHOME --disable-shared` <br>
+ &uarr; The `--disable-shared` is to avoid the need to set `LD_LIBRARY_PATH`
when using this Tcl build.
<li> `make install`
<li> `cd $SQLITESOURCE`
<li> `fossil clean -x`
-<li> `./configure --with-tclsh=$TCLBUILD/tcl86/bin/tclsh8.6 --all`
+<li> `./configure --with-tcl=$TCLHOME --all`
<li> `make tclextension-install` <br>
- &uarr; Verify extension installed at $TCLBUILD/tcl86/lib/tcl8.6/sqlite3.*
+ &uarr; Verify extension installed at
+ `$TCLHOME/lib/tcl${TCLVERSION}/sqlite<SQLITE_VERSION>`.
<li> `make tclextension-list` <br>
&uarr; Verify TCL extension correctly installed.
<li> `make tclextension-verify` <br>
&uarr; Verify that the correct version is installed.
-<li> `$TCLBUILD/tcl86/bin/tclsh8.6 test/testrunner.tcl release --explain` <br>
+<li> `$TCLHOME/bin/tclsh[89].[0-9] test/testrunner.tcl release --explain` <br>
&uarr; Verify thousands of lines of output with no errors. Or
consider running "devtest" without --explain instead of "release".
</ol>
-### 2.3 Testing TCL 9.0 on unix
-
-<ol>
-<li value="16"> `mkdir -p $TCLBUILD/tcl90`
-<li> `fossil up core-9-0-0` <br>
- &uarr; Or some other version of Tcl9
-<li> `fossil clean -x`
-<li> `./configure --prefix=$TCLBUILD/tcl90 --disable-shared` <br>
- &uarr; The --disable-shared is to avoid the need to set LD_LIBRARY_PATH
- when using this Tcl build.
-<li> `make install`
-<li> `cp -r ../library $TCLBUILD/tcl90/lib/tcl9.0` <br>
- &uarr; The Tcl library is not installed by "make install" for Tcl9.0 unless
- you also include the --disable-zipfs to ./configure. But if you do that
- then the generated tclsh9.0 is no longer stand-alone. On the other hand,
- if you don't install the Tcl library, other programs like testfixture
- won't be able to find the Tcl library and hence won't work. This
- extra installation step resolves the dilemma.
- This step is not required when building Tcl8.6, which lacks support for
- zipfs and hence always installs its Tcl library.
-<li> `cd $SQLITESOURCE`
-<li> `fossil clean -x`
-<li> `./configure --with-tclsh=$TCLBUILD/tcl90/bin/tclsh9.0 --all`
-<li> `make tclextension-install` <br>
- &uarr; Verify extension installed at $TCLBUILD/tcl90/lib/sqlite3.*
-<li> `make tclextension-list` <br>
- &uarr; Verify TCL extension correctly installed.
-<li> `make tclextension-verify`
-<li> `$TCLBUILD/tcl90/bin/tclsh9.0 test/testrunner.tcl release --explain` <br>
- &uarr; Verify thousands of lines of output with no errors. Or
- consider running "devtest" without --explain instead of "release".
-</ol>
-
-### 2.4 Cleanup
+### 2.3 Cleanup
<ol type="1">
-<li value="29"> `rm -rf $TCLBUILD`
+<li value="29"> `rm -rf $TCLHOME`
</ol>
<a id="windows"></a>
@@ -123,9 +108,11 @@ perspective on how to compile SQLite on Windows.
### 3.1 Setup for Windows
+(These docs are not as up-to-date as the Unix docs, above.)
+
<ol type="1">
-<li value="1">
- [Fossil](https://fossil-scm.org/) installed.
+<li value="1">
+ [Fossil][] installed.
<li>
Unix-like command-line tools installed. Example:
[unxutils](https://unxutils.sourceforge.net/)
@@ -206,3 +193,6 @@ perspective on how to compile SQLite on Windows.
<ol type="1">
<li value="35"> `rm -rf %TCLBUILD%`
</ol>
+
+[Fossil]: https://fossil-scm.org/home
+[tcl-fossil]: https://core.tcl-lang.org/tcl
diff --git a/manifest b/manifest
index 5676b2698..c3377dc0b 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Attempt\sto\sprovide\sEBCDIC\stranslations\sto\sthe\stables\sin\sthe\sJSON\nimplementation.\s\sThe\sSQLite\sdevelopers\sdo\snot\shave\saccess\sto\sany\ncomputers\susing\sEBCDIC\sand\sso\shave\sno\sway\sto\stest\sthis\spatch,\sand\ncannot\svouch\sfor\sits\saccuracy.
-D 2025-04-16T17:36:26.944
+C Update\sdoc/tcl-extension-testing.md\sfor\sUnix\ssystems,\sconsolidating\sthe\sTcl\s8.x\sand\s9.x\ssections.
+D 2025-04-16T17:47:16.773
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -63,7 +63,7 @@ F doc/json-enhancements.md e356fc834781f1f1aa22ee300027a270b2c960122468499bf347b
F doc/jsonb.md ede3238186e3a90bb79d20b2a6a06d0f9429a38e069e9da0efbad0f2ed48b924
F doc/lemon.html 89ea833a6f71773ab1a9063fbb7fb9b32147bc0b1057b53ecab94a3b30c0aef5
F doc/pager-invariants.txt 83aa3a4724b2d7970cc3f3461f0295c46d4fc19a835a5781cbb35cb52feb0577
-F doc/tcl-extension-testing.md 864875c3b672db79e7d42348dd726f9a4fbd852b1d8e5efcf09fe3d1ff6bf2a2
+F doc/tcl-extension-testing.md b10538db54c3eda7f8682c05328ced8a2043d3de7ddbd22ae3f2b6cc770006ce
F doc/testrunner.md 15583cf8c7d8a1c3378fd5d4319ca769a14c4d950a5df9b015d01d5be290dc69
F doc/trusted-schema.md 33625008620e879c7bcfbbfa079587612c434fa094d338b08242288d358c3e8a
F doc/vdbesort-memory.md 4da2639c14cd24a31e0af694b1a8dd37eaf277aff3867e9a8cc14046bc49df56
@@ -2216,8 +2216,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 8ae437301ed0cf71ef0e07be07917d9702221d27bdc98491209d8f28c7a500e2
-R c64f1aa94a03741a3b8d9bb200ed893f
-U drh
-Z 0fc17037f0ec1a61cba3bc34abd61d37
+P 84e698f38429c142caaa66ac086410f2035691b2ad39ad2fc4e0ebc31dd58a5b
+R 10019481ad9fb3b387e600d039fce87e
+U stephan
+Z 32c947866489f54b1e21c649b883e5ef
# Remove this line to create a well-formed Fossil manifest.
diff --git a/manifest.uuid b/manifest.uuid
index 12bf84746..fbdd7c571 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-84e698f38429c142caaa66ac086410f2035691b2ad39ad2fc4e0ebc31dd58a5b
+c4c5dcb79c57f6e38cfe9b68b00e60e42d03ef30aeaefc5bf9dafed994849e1d