stephan [Tue, 11 Mar 2025 11:24:52 +0000 (11:24 +0000)]
Teach testrunner.tcl to distinguish Cygwin from Windows. This gets it running but then all downstream tests fail, at least in part because of the build target name discrepancies between the platform which requires .exe and those which do not.
stephan [Mon, 10 Mar 2025 17:28:43 +0000 (17:28 +0000)]
Add an explicit db close to test/walsetlk.test to work around an unjustified test failure on Windows when the walsetlk tests are run in the same invocation of testfixture.exe in Windows.
stephan [Mon, 10 Mar 2025 15:27:17 +0000 (15:27 +0000)]
Ensure that the 'clean' target for Makefile.msc cleans up the testdir dir, analog to how the canonical makefile works, as stale files there have been leading to test failures.
stephan [Mon, 10 Mar 2025 15:15:13 +0000 (15:15 +0000)]
Reimplement pathname conversion on Cygwin. MSC test passes/failures are on par with trunk and 'make test' running on cygwin is down to a single failure.
drh [Mon, 10 Mar 2025 10:32:31 +0000 (10:32 +0000)]
Disable the [d1ba200234f40b84|count-of-view optimization] if any subquery
is DISTINCT, as the optimization does not work in that case.
Bug reported by [forum/forumpost/a860f5fb2e|forum post a860f5fb2e].
stephan [Sat, 8 Mar 2025 06:53:06 +0000 (06:53 +0000)]
Test app/script patches from Jan Nijtmans for cygwin. Add/replace many more sentinel arguments for TCL variadic functions which specifically need a NULL trailing argument. With this, 'make test' on cygwin runs to completion for me, with 134 of 329227 tests failing. MSC build fails the same 13 tests which fail for me in trunk.
stephan [Fri, 7 Mar 2025 06:54:04 +0000 (06:54 +0000)]
os_win.c patches for Cygwin (described in the cygwin-fixes branch wiki page). Makefile.msc's test target on trunk fails the same 13 tests as this branch.
stephan [Thu, 6 Mar 2025 09:29:15 +0000 (09:29 +0000)]
Back out the most significant part of [5c28a17253e2f], as Cygwin is a hybrid. With SQLITE_OS_UNIX it will use POSIX locking, which will misinteract with apps using Windows-style locking.
stephan [Tue, 4 Mar 2025 21:31:18 +0000 (21:31 +0000)]
Roll back part of [6d87a8efe]: the check for tclsh90.exe (as opposed to tclsh9.0.exe) is incorrect on these platforms (it's an msvc build). Also remove an unused function added in that checkin.
stephan [Tue, 4 Mar 2025 05:16:10 +0000 (05:16 +0000)]
Document the EXTRA_SRC makefile var and add --amalgamation-extra-src=list to the canonical-build configure script as the formal way to pass that at configure-time.
stephan [Mon, 3 Mar 2025 14:15:13 +0000 (14:15 +0000)]
Internal configure script cleanups. Resolve an as-yet-hypothetical corner case involving the --dev flag mixed with custom CFLAGS containing SQLITE_ENABLE... or SQLITE_OMIT... flags. Fix an unrelated API doc typo reported in [forum:606ea661df|forum post 606ea661df].
stephan [Mon, 3 Mar 2025 11:48:09 +0000 (11:48 +0000)]
Minor configure script doc tweaks. This is also a note that the basic elements of the build run as-is on Haiku OS Beta 5 but the tcl bits do not (for lack of tclConfig.sh).
stephan [Sat, 1 Mar 2025 23:44:11 +0000 (23:44 +0000)]
Use SQLITE_EXTRA_INIT_MUTEXED instead of SQLITE_EXTRA_INIT for the SQLITE_WASM_EXTRA_INIT feature, as suggested in [forum:14183b98fc0b1dea|forum post 14183b98fc0b1dea]. This doesn't make a functional difference now - this is in the name of future-proofing against eventual threading support in wasm.
stephan [Thu, 27 Feb 2025 21:17:55 +0000 (21:17 +0000)]
Approximately 100 typo corrections spanning the whole tree, submitted via [forum:0db9827f0464bc33|forum post 0db9827f0464bc33] and individually audited and verified. Affects only code comments, innocuous test strings, error message text in tool (not library) code, and configure-level help text.
stephan [Thu, 27 Feb 2025 19:40:02 +0000 (19:40 +0000)]
Reimplement testrunner_data.tcl::trd_get_bin_name() to assume a .exe extension on all platforms not matching "unix", to avoid having to do file-exists checks.
drh [Thu, 27 Feb 2025 16:07:49 +0000 (16:07 +0000)]
Strive to make sorts stable in the mkpragmatab.tcl build script, so that
we get consistent amalgamations regardless of platform.
[forum:/forumpost/c9914addebf3da51|Forum thread c9914addebf3da51].
dan [Thu, 27 Feb 2025 11:03:54 +0000 (11:03 +0000)]
Add support for SQLITE_EXTRA_INIT_MUTEXED - like SQLITE_EXTRA_INIT, but is called from within sqlite3_initialize() when the SQLITE_MUTEX_STATIC_MAIN mutex is still held.
stephan [Wed, 26 Feb 2025 19:22:52 +0000 (19:22 +0000)]
Teach testrunner how to run local binaries which have a .exe extension. Also teach it to recognized mingw environments (but actually building the test programs there currently doesn't work).
stephan [Wed, 26 Feb 2025 17:11:25 +0000 (17:11 +0000)]
Undo part of [69e83ab859c], as that order of operations breaks the --prefix=... configure flag. Found a workaround for the library version and OS/environment info being emitted when --help.
stephan [Wed, 26 Feb 2025 16:15:34 +0000 (16:15 +0000)]
configure: extend the readline detection a bit so that it can find readline on termux environments without having to be told where it is. Fix a typo in a libedit-related message.
stephan [Tue, 25 Feb 2025 20:55:14 +0000 (20:55 +0000)]
Approximately 50 typo fixes, spanning the whole tree, contributed via [forum:006c8fa165083ac3|forum post 006c8fa165083ac3] and individually checked for correctness. Affects only code comments, docs, and a single line of debug output in a test app.
drh [Tue, 25 Feb 2025 20:10:46 +0000 (20:10 +0000)]
Change the default control-character escape algorithm from "symbol" to
"ascii", since the "ascii" algorithm works even on terminals that do
not support unicode.
drh [Tue, 25 Feb 2025 15:57:49 +0000 (15:57 +0000)]
Enhancements to help avoid problems in the CLI when trying display content
that contains ANSI escape codes: (1) Add the --escape MODE option to the CLI
where MODE is one of "symbol", "ascii", "off" where the default is "symbol".
(2) Add the unistr() SQL function. (3) Add the unistr_quote() SQL function.
(4) Add the %#Q and %#q conversions in the built-in printf.
stephan [Tue, 25 Feb 2025 15:54:07 +0000 (15:54 +0000)]
Diverse configure tweaks to better support package maintainers on the unix-on-windows environments like msys2, cygwin, and mingw, based largely on feedback in forum posts [forum:e6cf2bbb70da2922|e6cf2bbb70da2922] and [forum:828fdfe9041fd725|828fdfe9041fd725].
dan [Tue, 25 Feb 2025 15:27:55 +0000 (15:27 +0000)]
Reinstate the assert() removed by [0f6223b8]. Avoid holding a wal-mode write lock after the transaction has been rolled back if an IO error occurs while restarting the wal file.
stephan [Mon, 24 Feb 2025 18:45:30 +0000 (18:45 +0000)]
autoconf/auto.def: remove a define which made superfluous by [b8bf966628c0]. Add a check/status message for whether to statically link the library into the CLI shell.
stephan [Mon, 24 Feb 2025 18:14:27 +0000 (18:14 +0000)]
configure: in autoconf build if both --disable-shared and --disable-static-shell are used together, ignore the former and emit a notice to that effect.
stephan [Mon, 24 Feb 2025 12:19:06 +0000 (12:19 +0000)]
Configure doc tweaks. Move the package version/build dir output so that it does not appear at the start of --help text, but otherwise still appears before the first output from low-level config initialization.
stephan [Mon, 24 Feb 2025 11:21:32 +0000 (11:21 +0000)]
Further consolidation of auto.def and autoconf/auto.def. Note in configure --help that --disable-largefile is a legacy option which has no effect on the library but may influence the generated sqlite_cfg.h.
stephan [Mon, 24 Feb 2025 07:06:36 +0000 (07:06 +0000)]
Configure-internal doc tweaks. Fix the distclean rules for libsqlite3.dll.a on msys/cygwin/mingw, broken when the DLL basename was changed for those platforms.
stephan [Mon, 24 Feb 2025 04:47:34 +0000 (04:47 +0000)]
Update jimsh0.c from upstream autosetup to address [https://github.com/msteveb/autosetup/issues/75|autosetup ticket #75], triggered by this build in the Gentoo project.
stephan [Sun, 23 Feb 2025 17:55:41 +0000 (17:55 +0000)]
Add (disabled) infrastructure for disabling use of the rpath linker flag. This is a proactive precautionary measure because how the rpath is used does not match up with what the unix-on-windows environments do with their DLLs.
drh [Sun, 23 Feb 2025 11:48:07 +0000 (11:48 +0000)]
The %#Q conversion now adds unistr('...') around the converted string if
escape characters were inserted. %#w now works just like %w as escape
sequences inside of identifiers are not recognized.
drh [Sun, 23 Feb 2025 00:09:24 +0000 (00:09 +0000)]
Enhance the %Q, %q, and %w printf conversions so that if the alternate-form
flag # is present, they transform backslash and control characters into
unistr()-style backslash escape codes.
drh [Sat, 22 Feb 2025 16:44:14 +0000 (16:44 +0000)]
Tamp down various harmless compiler warnings. Use "int" in places instead
of "u16" or "i16" since the compiler complains less and generates faster
code.