1This is the SQLite extension for Tcl using something akin to 2the Tcl Extension Architecture (TEA). To build it: 3 4 ./configure ...flags... 5 6e.g.: 7 8 ./configure --with-tcl=/path/to/tcl/install/root 9 10or: 11 12 ./configure --with-tclsh=/path/to/tcl/install/root 13 14Run ./configure --help for the full list of flags. 15 16The configuration process will fail if tclConfig.sh cannot be found. 17 18The makefile will only honor CFLAGS and CPPFLAGS passed to the 19configure script, not those directly passed to the makefile. 20 21Then: 22 23 make test install 24 25----------------------- THE PREFERRED WAY --------------------------- 26 27The preferred way to build the TCL extension for SQLite is to use the 28canonical source code tarball. For Unix: 29 30 ./configure --with-tclsh=$(TCLSH) 31 make tclextension-install 32 33For Windows: 34 35 nmake /f Makefile.msc tclextension-install TCLSH_CMD=$(TCLSH) 36 37In both of the above, replace $(TCLSH) with the full pathname of 38of the tclsh that you want the SQLite extension to work with. See 39step-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 44And info about the extension's Tcl interface can be found at: 45 46 https://sqlite.org/tclsqlite.html 47 48The whole point of the amalgamation-autoconf tarball (in which this 49README.txt file is embedded) is to provide a means of compiling SQLite 50that does not require first installing TCL and/or "tclsh". The 51canonical Makefile in the SQLite source tree provides more 52capabilities (such as the the ability to run test cases to ensure that 53the build worked) and is better maintained. The only downside of the 54canonical Makefile is that it requires a TCL installation. But if you 55are wanting to build the TCL extension for SQLite, then presumably you 56already have a TCL installation. So why not just use the more-capable 57and better-maintained canoncal Makefile? 58 59As of version 3.50.0, this build process uses "teaish": 60 61 https://fossil.wanderinghorse.net/r/teaish 62 63which 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 68It to works for us. It might also work for you. But we cannot 69promise that. 70 71If you want to use this TEA builder and it works for you, that's fine. 72But if you have trouble, the first thing you should do is go back 73to using the canonical Makefile in the SQLite source tree. 74 75------------------------------------------------------------------ 76 77 78UNIX BUILD 79========== 80 81Building under most UNIX systems is easy, just run the configure 82script and then run make. For example: 83 84 $ cd sqlite-*-tea 85 $ ./configure --with-tcl=/path/to/tcl/install/root 86 $ make 87 $ make install 88 89WINDOWS BUILD 90============= 91 92The recommended method to build extensions under windows is to use the 93Msys + Mingw build process. This provides a Unix-style build while 94generating native Windows binaries. Using the Msys + Mingw build tools 95means that you can use the same configure script as per the Unix build 96to create a Makefile. See the tcl/win/README file for the URL of 97the Msys + Mingw download. 98If you have VC++ then you may wish to use the files in the win 99subdirectory and build the extension using just VC++. These files have 100been designed to be as generic as possible but will require some 101additional maintenance by the project developer to synchronise with 102the TEA configure.in and Makefile.in files. Instructions for using the 103VC++ makefile are written in the first part of the Makefile.vc 104file. 105