Mercurial
comparison third_party/sqlite3/tea/README.txt @ 167:589bab390fb4
[ThirdParty] Added sqlite3 to the third_party.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Mon, 19 Jan 2026 16:28:45 -0800 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 166:78ea8d5ccc87 | 167:589bab390fb4 |
|---|---|
| 1 This is the SQLite extension for Tcl using something akin to | |
| 2 the Tcl Extension Architecture (TEA). To build it: | |
| 3 | |
| 4 ./configure ...flags... | |
| 5 | |
| 6 e.g.: | |
| 7 | |
| 8 ./configure --with-tcl=/path/to/tcl/install/root | |
| 9 | |
| 10 or: | |
| 11 | |
| 12 ./configure --with-tclsh=/path/to/tcl/install/root | |
| 13 | |
| 14 Run ./configure --help for the full list of flags. | |
| 15 | |
| 16 The configuration process will fail if tclConfig.sh cannot be found. | |
| 17 | |
| 18 The makefile will only honor CFLAGS and CPPFLAGS passed to the | |
| 19 configure script, not those directly passed to the makefile. | |
| 20 | |
| 21 Then: | |
| 22 | |
| 23 make test install | |
| 24 | |
| 25 ----------------------- THE PREFERRED WAY --------------------------- | |
| 26 | |
| 27 The preferred way to build the TCL extension for SQLite is to use the | |
| 28 canonical source code tarball. For Unix: | |
| 29 | |
| 30 ./configure --with-tclsh=$(TCLSH) | |
| 31 make tclextension-install | |
| 32 | |
| 33 For Windows: | |
| 34 | |
| 35 nmake /f Makefile.msc tclextension-install TCLSH_CMD=$(TCLSH) | |
| 36 | |
| 37 In both of the above, replace $(TCLSH) with the full pathname of | |
| 38 of the tclsh that you want the SQLite extension to work with. See | |
| 39 step-by-step instructions at the links below for more information: | |
| 40 | |
| 41 https://sqlite.org/src/doc/trunk/doc/compile-for-unix.md | |
| 42 https://sqlite.org/src/doc/trunk/doc/compile-for-windows.md | |
| 43 | |
| 44 And info about the extension's Tcl interface can be found at: | |
| 45 | |
| 46 https://sqlite.org/tclsqlite.html | |
| 47 | |
| 48 The whole point of the amalgamation-autoconf tarball (in which this | |
| 49 README.txt file is embedded) is to provide a means of compiling SQLite | |
| 50 that does not require first installing TCL and/or "tclsh". The | |
| 51 canonical Makefile in the SQLite source tree provides more | |
| 52 capabilities (such as the the ability to run test cases to ensure that | |
| 53 the build worked) and is better maintained. The only downside of the | |
| 54 canonical Makefile is that it requires a TCL installation. But if you | |
| 55 are wanting to build the TCL extension for SQLite, then presumably you | |
| 56 already have a TCL installation. So why not just use the more-capable | |
| 57 and better-maintained canoncal Makefile? | |
| 58 | |
| 59 As of version 3.50.0, this build process uses "teaish": | |
| 60 | |
| 61 https://fossil.wanderinghorse.net/r/teaish | |
| 62 | |
| 63 which is conceptually derived from the pre-3.50 toolchain, TEA: | |
| 64 | |
| 65 http://core.tcl-lang.org/tclconfig | |
| 66 http://core.tcl-lang.org/sampleextension | |
| 67 | |
| 68 It to works for us. It might also work for you. But we cannot | |
| 69 promise that. | |
| 70 | |
| 71 If you want to use this TEA builder and it works for you, that's fine. | |
| 72 But if you have trouble, the first thing you should do is go back | |
| 73 to using the canonical Makefile in the SQLite source tree. | |
| 74 | |
| 75 ------------------------------------------------------------------ | |
| 76 | |
| 77 | |
| 78 UNIX BUILD | |
| 79 ========== | |
| 80 | |
| 81 Building under most UNIX systems is easy, just run the configure | |
| 82 script and then run make. For example: | |
| 83 | |
| 84 $ cd sqlite-*-tea | |
| 85 $ ./configure --with-tcl=/path/to/tcl/install/root | |
| 86 $ make test | |
| 87 $ make install | |
| 88 | |
| 89 WINDOWS BUILD | |
| 90 ============= | |
| 91 | |
| 92 On Windows this build is known to work on Cygwin and some Msys2 | |
| 93 environments. We do not currently support Microsoft makefiles for | |
| 94 native Windows builds. |