drh [Fri, 25 Oct 2024 14:39:26 +0000 (14:39 +0000)]
Rework the configure+make system to use autosetup rather than autoconf.
Autosetup runs faster and is easier to maintain, and it allows for common
targets (such as "sqlite3" and "sqlite3.c") to be built within having to
install "tclsh".
drh [Fri, 25 Oct 2024 12:06:40 +0000 (12:06 +0000)]
Update the LICENSE.md file to describe BSD-licensed code that is included
in the repository as a convenience to developers but which is not itself
actually a part of SQLite.
stephan [Fri, 25 Oct 2024 04:48:40 +0000 (04:48 +0000)]
Rename config-defines.json to config.defines.json for consistent with other generated config.* files. Rename --defs-json-include-lowercase to the even less wieldy --defines-json-include-lowercase.
stephan [Fri, 25 Oct 2024 04:39:14 +0000 (04:39 +0000)]
Add --defs-json-include-lowercase configure flag to cause config-defs.json to include lower-case defines, which are primarily the various build-related system paths.
stephan [Fri, 25 Oct 2024 03:56:09 +0000 (03:56 +0000)]
Docs related to the -array defs-dump option. Rename some internal-use hwaci-common.tcl APIs after discovering that a - as a symbol suffix fails for var derefs (but works for procs calls).
drh [Thu, 24 Oct 2024 15:36:29 +0000 (15:36 +0000)]
Fix harmless compiler warnings. One of the warnings was code that
deliberately committed memory errors to test the systems ability to cope.
But compilers don't allow that any more, so we'll have to leave that
capability untested.
stephan [Thu, 24 Oct 2024 14:33:11 +0000 (14:33 +0000)]
Back out [bd66222721] because it causes conflicts with test runs, apparently due to .o files being built with different flags. This means that the CLI shell currently does not honor --disable-amalgamation.
stephan [Thu, 24 Oct 2024 07:31:39 +0000 (07:31 +0000)]
Various build cleanups centered around straightening out various uses of CFLAGS and its cousins. Teach Makefile.linux-generic to figure out the TOP dir on its own (a GNU Make-ism, but it's a Linux-specific makefile).
stephan [Thu, 24 Oct 2024 05:03:20 +0000 (05:03 +0000)]
Bump version number to 3.48.0 (in this branch only - in trunk, doing so requires a specific autoconf version) and rename the RELEASE and VERSION makefile symbols for clarity's sake.
stephan [Thu, 24 Oct 2024 03:50:40 +0000 (03:50 +0000)]
Get Makefile.linux-generic (formerly Makefile.linux-gcc) working with jimsh in out-of-tree builds. Pass on -DHAVE_READLINE=1 to the sqlite3 shell if configure detects it.
stephan [Thu, 24 Oct 2024 03:14:40 +0000 (03:14 +0000)]
General make cleanups. Start adding a sanity-check mechanism to main.mk which does basic validation of the vars it expects to be set by the file which includes it. Get Makefile.linux-gcc working for the core-most rules.
stephan [Wed, 23 Oct 2024 16:03:51 +0000 (16:03 +0000)]
Work around a minor JimTCL regexp incompatibility in tool/vdbe-compress.tcl. Summary: it thinks that backslash-escaped octal values are back-references, which it does not like.
drh [Wed, 23 Oct 2024 11:06:56 +0000 (11:06 +0000)]
Fix harmless compiler warnings in wherecode.c. One such warning was
identified by [forum:/forumpost/721675f007|forum post 721675f007] and the
other was found by tool/warnings.sh.
drh [Wed, 23 Oct 2024 10:36:02 +0000 (10:36 +0000)]
Add two new #include statements to the composite "fts5.c" file that
is constructed as part of the build process. These #includes are no-ops
in the SQLite amalgamation (and are commented out automatically by the
amalgamation builder) but are needed if the FTS5 extension is built
separately, it seems.
[https://bugzilla.mozilla.org/show_bug.cgi?id=1926321#c3|Enhancement request].
stephan [Wed, 23 Oct 2024 01:33:15 +0000 (01:33 +0000)]
Fix /dev/null and stderr redirection ordering in autosetup/autosetup-find-tclsh so that the extraneous strlcpy()/snprintf()/rand() warning output from ld on OpenBSD does not break detection of jimsh0.
drh [Tue, 22 Oct 2024 19:33:20 +0000 (19:33 +0000)]
Add the SQLITE_IOCAP_SUBPAGE_READ bit to the possible returns values
from xDeviceCharacteristics method of the system-IO abstract class. The
direct-overflow-read optimization is disabled for any VFS that does not
set this bit. The bit is set for standard VFSes.
stephan [Tue, 22 Oct 2024 03:56:21 +0000 (03:56 +0000)]
After discussing [4d4423df8d14] with Steve Bennett, do not prepend $prefix/bin to the search path for binaries, as that path is commonly used for cross-compiled targets and we want binaries which will run on the build host.
stephan [Tue, 22 Oct 2024 03:33:11 +0000 (03:33 +0000)]
Touch configure-generated files at configure-time even if autosetup does not update them because their contents would not be changed. Works around wonky deps causing too-frequent rebuilds.
stephan [Tue, 22 Oct 2024 03:12:11 +0000 (03:12 +0000)]
Rename hwaci-error to the more descriptive hwaci-fatal. Use autosetup's file-isexec instead of [file executable] for portability. Remove the binary file lookup cache - unnecessary complexity. When searching for tools like tclsh, check under $prefix/bin before checking the $PATH. This seems like the right thing to do, but the fact that autosetup's file-search API's do not do that by default leaves some room for doubt about the wisdom of this change.
stephan [Mon, 21 Oct 2024 16:06:49 +0000 (16:06 +0000)]
Add docs introducing how to define and use autosetup configure flags. Use -DJIM_COMPAT when building jimsh to force its expr command to be syntax-compatible with canonical TCL.
stephan [Sat, 19 Oct 2024 18:31:47 +0000 (18:31 +0000)]
Factor out all autosetup-processed @if/@else blocks from Makefile.in in prep for moving most of the makefile code into main.mk (which has, so far, been completely overlooked in this port but will now become the main basis for the static parts of the build). The idea is that all build configuration goes into a platform-dependent makefile which then includes main.mk.
drh [Sat, 19 Oct 2024 13:20:34 +0000 (13:20 +0000)]
Move the #include of hwtime.h from the bottom of util.c to the top of
vdbe.c so that it will be available when needed, even for non-amalgamation
builds.