stephan
91f5303c1c
Experimentally add the --compile-commands configure flag to generate compile_commands.json for compilers which support it (clang), to enable Language Server Protocol (LSP) inspection of the sources. This is probably not terribly useful without the --disable-amalgamation flag, as the amalgamation is so large as to make IDE/LSP processing very slow.
...
FossilOrigin-Name: 37fb15720f03a4ecc2d1662eab5b4241d6a9b990ea23612a8ef6211ccef3dae7
2025-09-02 13:14:40 +00:00
stephan
dca1f04f07
Remove sqlite3expert.h from the compiler invocation for that tool, as it (A) doesn't need to be there and (B) it causes some compilers problems (as reported in [forum:a1085109e7db4cf3 | forum post a1085109e7]). This bug was faithfully carried over from the legacy build.
...
FossilOrigin-Name: 9f0a16f6e893d51f760a8c1e2cb4709fdd16ccb2c0258695767f8305f407f4ac
2025-08-28 15:04:52 +00:00
stephan
1702244d2e
Remove some resolved TODOs from the makefile. Ensure that testfixture links against TCL_LIBS.
...
FossilOrigin-Name: b7751d144330593b5d41cb50e44b5134baad722be65173a7f55887f5e86a8c9d
2025-08-21 17:39:44 +00:00
stephan
16478dbfdd
Doc cleanups in main.mk. No functional changes.
...
FossilOrigin-Name: 839c998443880161af06b9f7470ebfc828251c3c1accdae5f0fbbcc13408474c
2025-08-13 11:46:05 +00:00
stephan
5d06c6b3f1
Add *.obj to the make clean target for the sake of the Unix-on-Windows environments.
...
FossilOrigin-Name: da07e0c02fe7de7b67f2564c29f49f251ae2374c0e269d246bd13e68a9a73328
2025-08-06 16:51:12 +00:00
drh
97e6368abc
Add the snapshot-zip makefile targets for both Windows and Posix.
...
FossilOrigin-Name: 8c73c0c5935431556f687556bfdb459754609f07c6366c810a55bf7583ee303d
2025-07-14 18:27:32 +00:00
stephan
d961d49971
Eliminate configure/build discrepancies in how 'make tclextension-...' works vs other makefile-side handling of the extension, conforming to the former.
...
FossilOrigin-Name: 7ca545fd3b460fcf92e117baef42655eb6e78ebb5bdc6302f8f1b5b8446c0a06
2025-06-18 14:17:18 +00:00
stephan
12bd8ea09a
Add the --tclConfig.sh FILE flag to buildtclext.tcl to eliminate the discrepancy between the configure-time-detected tclConfig.sh and the one auto-detected by the tclextension family of makefile targets. Add the tclextension-all target to run all of the various tclextension-... targets in their natural order to facilitate testing changes like this one. Update the --help text to note that --with-tclsh should only be used if there's a specific need, and that --with-tcl is generall preferred. This is in response to [ https://github.com/termux/termux-packages/issues/23268 | Termux ticket 23268].
...
FossilOrigin-Name: 928976abcb11f9d5abe1f7631002592c4af7bf83ecadba5b0763866d039c2270
2025-06-18 11:11:30 +00:00
drh
b1929b7117
Remove the clunky test_windirent.h and test_windirent.c files from src/
...
and replace them with a much cleaner and more compact ext/misc/windirent.h.
FossilOrigin-Name: acc978df52ec41ffdb5c27764f30d53efa1f25a314b7d98983dc0d211a36b570
2025-06-05 20:12:41 +00:00
drh
0d3e5ca28e
New makefile target "xdevtest" works like "releasetest" except that it
...
omits the "verify-source" dependency so that it can be run with uncommitted
changes in the source tree.
FossilOrigin-Name: 1afb1ac3e9f0a122f1374799c09b60a0dd5443434d4567d94385096ada91bf12
2025-05-31 18:26:37 +00:00
drh
81a2f7ba8f
Amend the previous: Set SQLITE_JSON_MAX_DEPTH to 500 on *all* builds
...
of fuzzcheck.
FossilOrigin-Name: c266e38c5b61f47b920027aad418b641ab32cb8a3360dbcfd9f9f29b14fd5375
2025-05-24 01:34:41 +00:00
drh
85f37eba16
Limit JSON recursion depth to 500 when running ASAN in fuzzcheck, to prevent
...
stack overflow on ARM64.
FossilOrigin-Name: 5e96e177a040b46aa55492037ce5dc71ab49d66b45659d739f2ee6c3042f16ef
2025-05-23 20:50:49 +00:00
drh
5a9a2d8526
Remove the run-fuzzcheck makefile targets, since testrunner now
...
accomplishes that for us, and does a better job of it.
FossilOrigin-Name: 3ffd867ed31cd0779aa92b5e8b71592a8e7224977f9da8e5d6793a78bbb80070
2025-04-29 16:30:58 +00:00
stephan
86527e84e6
Rename makefile var libtclsqlite3.SO to libtclsqlite3.DLL for consistency.
...
FossilOrigin-Name: 6fb364c853be84c8d1f20497a2cae6e8f06a1d10ae364e3b011cadeaa3e0244b
2025-04-04 23:12:32 +00:00
stephan
16aa90bba4
Make the --static-cli-shell flag available in the autoconf build mode.
...
FossilOrigin-Name: b78a474ecba6cae4f0e867a515c214fbfe229808145df1870315328d4e13d462
2025-04-04 03:16:47 +00:00
stephan
2a5694910a
Add the --static-cli-shell configure flag to the canonical build, which works like --static-tclsqlite3 but applies to the CLI shell (statically linking it, which only works if all requisite libs are available in static form). It is not called --static-shell because that flag has a completely different legacy meaning in the autoconf build and this flight might eventually be added to that build, so would collide there.
...
FossilOrigin-Name: fd2c1638ecc38617f5de0380ad23f233d1159be0712ae2ca4cae5c99e841f1b1
2025-04-03 13:24:38 +00:00
stephan
2636632cae
Add the --static-tclsqlite3 configure flag (canonical build only) to build tclsqlite3 as a static binary. This will only work on systems which have static versions of all requisite libraries.
...
FossilOrigin-Name: 61836324369e3213841295911aed4f8439a4b2b0f24820c2cf45bb68a0e2cd04
2025-04-03 00:46:34 +00:00
stephan
20f534708a
Minor cleanups to the --static-tclsqlite3 support.
...
FossilOrigin-Name: 06f1143870280d335daf4e7027fe8771e34415aa1234fe72c0c450c347b8146c
2025-04-03 00:40:33 +00:00
stephan
0993fc62f2
Add experimental --static-tclsqlite3 configure flag to build tclsqlite3 statically, which only works if static libtcl/etc. are available. Currently intended for docker builds via Alpine Linux.
...
FossilOrigin-Name: bef3c8b1b9fd188ee9f941f93bac4567795fea51cee0830abf1ebc1999e1604f
2025-04-02 23:34:35 +00:00
stephan
0a0367f387
Ensure that the compilation of extensions get the same CFLAGS as the core lib. Move the feature flags enabled by --dev out of TARGET_DEBUG and into OPT_FEATURE_FLAGS (for consistency). Rename the make-internal gcov-related flags to be more descriptive. At the end of the configure script, if SQLITE_DEBUG is active then emit a note reminding the builder that performance will suffer.
...
FossilOrigin-Name: e64c6a3856b839e4e8c0a1cb1713b0d2f1d3cb9b915dd215b0d3cb229502d539
2025-03-31 13:08:29 +00:00
stephan
227df626e9
Ensure that extension sources also inherit the debugging-related flags from --debug or --dev.
...
FossilOrigin-Name: 3e96b772a46638bc25e036de053d620ded3350871ee10e06fd6fe51429934b0d
2025-03-31 10:54:09 +00:00
stephan
13a9fb0d21
Configure/make doc tweaks. No functional changes.
...
FossilOrigin-Name: dbcc03bd7a727f4643f18a814bb9fd9071c0355f98dd064286240f2af361ee7f
2025-03-28 14:32:01 +00:00
stephan
d877b56688
Configure script internal cleanups and re-orgs. No functional changes.
...
FossilOrigin-Name: f619e40fb05d3e09dca2ad9d9bbf38c66b4b93dd3d4e7c2071db28e671ee6a9c
2025-03-22 12:43:22 +00:00
stephan
ccda0f008a
Very slight simplification of the run-fuzzcheck rules.
...
FossilOrigin-Name: c858a39fad30c46aec6a1f81b2d4e56c18ecf7f5cb6d2fe4a32c4b3bb1a6ed64
2025-03-18 12:31:09 +00:00
stephan
ab68965794
Add --asan-fsanitize=... configure flag to the canonical build to optionally set -fsantize flags for the fuzzcheck-asan tool. Teach proj-check-fsanitiz to fail for flags which the compiler emits any warning for, for reasons described in its comments.
...
FossilOrigin-Name: 013730e9b92af39cb7fd2871df9b4bc81b8990f918892bd79370704421672da0
2025-03-16 13:09:21 +00:00
stephan
bafddb17d7
Consolidate some much-duplicated run-fuzzcheck recipe code in main.mk.
...
FossilOrigin-Name: c0d9b9fad3a2f23941927f1be2abded3bde2f2b04f7a5f3cc0a54a978020ebaa
2025-03-16 11:24:32 +00:00
drh
fc293f7c0e
Rework the run-fuzzcheck makefile target so that it better exploit parallelism.
...
Test case "<tt>make -j16 run-fuzzcheck FUZZDB=20250222.db</tt>"
went from 596 seconds down to 107 seconds.
FossilOrigin-Name: 18bda13e197e4b4ec7464b3e70012f71edc05f73d8b14bb48bad452f81c7e185
2025-03-16 00:13:29 +00:00
drh
6e5d59e8ef
Make use of the C99 flexible array feature, when available, so that
...
the -fsanitize=bounds-strict option can be used, when available.
[forum:/forumpost/311dbf9a1cadfae6|Forum thread 311dbf9a1c].
FossilOrigin-Name: d4307a0d43f42e96ec06ad2c1d8d0f5c8ecae759bae8231b1998633089809f49
2025-03-15 19:55:19 +00:00
stephan
9f8a238fb5
Configure-internal build cleanups (no functional changes). Add EXTRA_SRC to the deps of sqlite3.c.
...
FossilOrigin-Name: 8afb8bbce8654d6f76207fb136e79dc52b6724a71eae82a4c098690a68eb75a1
2025-03-15 15:19:42 +00:00
stephan
8c0e922721
-fsanitize is a CFLAG, not LDFLAG, so rename some vars accordingly and simplify the feature check to not run the linker.
...
FossilOrigin-Name: 44f2c64ec16f4720dc538be30410863c4138ea4ce41c94521bd7980535261735
2025-03-15 13:50:07 +00:00
stephan
f792cda1a1
For fuzzcheck-asan, dynamically determine the list of -fsanitize flags to use based on configure-time feature tests.
...
FossilOrigin-Name: b70f9cc81516e57e73960bed4b4d2abdcf3dab0ad4a400ca1aed49365c25231e
2025-03-15 13:36:01 +00:00
drh
d389fd3699
Omit the -fsanitize=bounds-strict for now, as that is still not widely
...
implemented. In particular, it does not work on Macs.
FossilOrigin-Name: 3e1c2ac7817e73ea736a39bb0c0ec8212ceedbc89b265b4caf1b53871d27d7c0
2025-03-15 13:11:24 +00:00
drh
0a4f10e6e2
Use flexible arrays in the recovery extension and in the fuzzcheck test program.
...
Adjust the unix makefile to use -fsanitize=bounds-strict when building
fuzzcheck-asan.
FossilOrigin-Name: 6ea6a6b211fed1a14d7bec1ab1790dec09e2a00423860498a60b760c4a4561fa
2025-03-15 13:04:16 +00:00
stephan
f5965e9d51
Makefile doc updates. Remove a couple extraneous targets. No functional changes.
...
FossilOrigin-Name: 5a3e22999f8da075f7ca3e039f10386fb85295a2457c9495d2c48b7137a84296
2025-03-04 07:29:28 +00:00
stephan
5b27bfac44
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.
...
FossilOrigin-Name: 44de0ec29a86f91a227132f7af8898108d555463b754b299eace0ee8475bad57
2025-03-04 05:16:10 +00:00
stephan
da5f813878
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.
...
FossilOrigin-Name: f50c21484d3cac73589da0376c423de39ae8b842218105786c5aa3726e4dcaed
2025-02-27 21:17:55 +00:00
stephan
5d60f47001
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.
...
FossilOrigin-Name: af928818a030924060ee0762431dae0f16d53a62f4e1132754d052eb9c621ac2
2025-02-25 20:55:14 +00:00
stephan
644b99641f
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.
...
FossilOrigin-Name: 8641e2c7c868be67ebb367fe7c8ceeee0e0d96574c164191ce9e340e7a527f49
2025-02-24 07:06:36 +00:00
stephan
7b90beebd5
Internal cleanups to how certain linker flags are tested.
...
FossilOrigin-Name: 6743e3e5b87f1d2308ec8cebef3c7ecccddafdace107630e0d8feee2b089d105
2025-02-23 17:24:55 +00:00
stephan
43aeed3fec
Internal configure doc cleanups. Apply the [5ecbe7ddc4] unix-on-windows DLL install dir fix to the canonical build.
...
FossilOrigin-Name: 51b9812df9087ec0aa7656178a069ddf2d60dcffa5ab0de57a84bd412b2f71c7
2025-02-23 15:34:05 +00:00
stephan
449c552b7c
Rename configure-defined ENABLE_SHARED/STATIC makefile vars to ENABLE_LIB_... so that they're consistent between the canonical and autoconf builds (baby steps towards further configure code consolidation).
...
FossilOrigin-Name: a7647fd07792ef32697c7ba8ab6348593c2a5c4cedf673b155206da6aae799f8
2025-02-21 23:43:10 +00:00
stephan
4d58d3938a
Add --dll-basename flag to give clients control over the DLL's base name. Split the DLL installation makefile rules into digestible, platform-specific chunks. On Windows-side Unix-like environments, install the DLL into the bin dir. Requires testing and feedback from those platforms' package maintainers to confirm it follows the expectated conventions.
...
FossilOrigin-Name: 8d5fed807b7151dcb79b97cfc2da0e8ac3586a0bf8b4c28967ad4cffafa53c08
2025-02-21 21:58:32 +00:00
stephan
d9959bf48b
Makefile-internal var renaming in prep for pending portability-related changes in the handling of DLLs. No functional/build interface changes.
...
FossilOrigin-Name: ebf41fc90aa9fb1bb96239145c0cdd06eced391499975c71734610996d088641
2025-02-21 20:22:56 +00:00
stephan
f6757b305a
Replace TEXE (legacy name) with T.exe (3.48+ name) in two places in makefiles. This fixes distclean of jimsh.exe in the canonical build in non-native Windows environments.
...
FossilOrigin-Name: edb8a78c0238f085eefbf86aa7777528f36f3400d4ef096ffd6855cf3321a97b
2025-02-17 16:04:21 +00:00
stephan
984f699ccb
DLL installation rules no longer create versioned symlinks on platforms where the DLL extension is '.dll' (cygwin, msys2, etc.), as suggested in [forum:28bb79638844c328|forum post 28bb79638844c328].
...
FossilOrigin-Name: d743410665df8ba962db6e1f245d929b005d0add77be95af3c3c7f87a1c758fb
2025-02-15 16:12:28 +00:00
stephan
e89f31f19a
When using the --out-implib build option, install the generated .dll.a file to PREFIX/lib.
...
FossilOrigin-Name: 0dadea0ec86b6ac74281915433e41ae66cc20547d9882c4be2933a24c8287927
2025-02-13 16:20:05 +00:00
drh
cd56ad4ccb
Omit the src/pragma.h file. It is generated by the tool/mkpragmatab.tcl script.
...
The makefiles now know how to build this file for themselves.
FossilOrigin-Name: 9709ed1cdfa17f690ffd4ec8cfc54efefec8352143c1d8b701f09299bd7eef6e
2025-02-11 19:54:13 +00:00
drh
374c6a451e
Omit the src/ctime.c source file, since it is automatically generated by a TCL
...
script. Instead, add rules to the various makefiles to generate ctime.c on
demand.
FossilOrigin-Name: 958bb5de7c484cc503c38d38d51a30f679244fd364df5cbfc1992e36995b2ff9
2025-02-11 19:40:19 +00:00
stephan
df9b89932f
Adapt [ https://fossil-scm.org/home/info/3bff7b92d6d |Fossil SCM patch 3bff7b92d6d], applying -lrt for platforms which need it for one of {fdatasync, nanosleep}.
...
FossilOrigin-Name: 1768de6e9e2c6ff3a9ee29fa6f488fb3d23a3599195ac7d1b09e61c02b7d18b3
2025-02-11 13:00:40 +00:00
stephan
63f4926524
configure: if the linker supports --out-implib, generate libsqlite3.X.a, where X is the platform's DLL file extension. Discussion in/around [forum:0c7fc097b2|forum post 0c7fc097b2].
...
FossilOrigin-Name: 6092b0b86bf93a3d58a83774b6d07ef9735e6c8a0f2ac2d0a6d263c2e9f1e3ca
2025-02-09 04:38:56 +00:00