1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-05 15:55:57 +03:00
Commit Graph

840 Commits

Author SHA1 Message Date
stephan
fbd9de1830 Initial configure support for linking certain binaries to libsqlite3.so instead of embedding it dynamically (which they typically do). This currently applies only to sqldiff, but support for adding the same for other tools is planned. This requires disabling the soname because setting it causes the build to link to whatever libsqlite3.so.0 is installed system-wide, so the soname now defaults to off.
FossilOrigin-Name: 9192c146e2898456a6b8ea43a6f02c0227ddce5b584374fbeb2d63bd2ecd5d8c
2024-11-19 15:20:47 +00:00
stephan
0df847cc77 Remove the .POSIX entries from the makefiles because they cause portability problems rather than solve them.
FossilOrigin-Name: e1330ecf170436678c5c235557fb95b8acbf4fad62583edba4af03aff49afbc5
2024-11-18 14:15:08 +00:00
stephan
f6c7cc606e Add the --destdir flag to the tclextension-install makefile target.
FossilOrigin-Name: d1663cf05f7dcaafd479bacf083b6b774f34fd3db89012b49599d30817eb174f
2024-11-16 14:30:43 +00:00
stephan
1adf87592f In the interest of minimizing downstream disruption, set the soname of libsqlite3.so to (by default) its legacy value of libsqlite3.so.0 and unconditionally create (or replace) a symlink with that name at install-time, in addition to the newer-named symlinks.
FossilOrigin-Name: 0773677b553e032e992266c6c75e10565729238df3ef52b56602a92cf651bea7
2024-11-15 19:42:49 +00:00
stephan
009601d534 Remove $prefix/include from the default -I path because it can cause the build to pick up an unintended copy of sqlite3.h. Extend the ICU configure support (the origin of -I$prefix/include) to enable fetching the -I path from icu-config and apply it only to those objects which need it.
FossilOrigin-Name: f778dfdd6d6a4975c903d8ca0ebfb4fa917d543289136ea0ab740cb47d2510c1
2024-11-14 19:25:23 +00:00
drh
59c80e0533 Add new makefile target "sqlite3d" (where the "d" means either "development" or
"debug") that always uses separate source files, regardless of the 
--disable-amalgmation setting.

FossilOrigin-Name: 91da205beb7e5cab7a76be98e4cfddc4fb4c07022825ea645bc97f331c6bcdaa
2024-11-14 19:06:00 +00:00
stephan
074cad3026 Wrap some exceptionally long lines in main.mk. Add option to override LDFLAGS on the sqlite3.dll target. Audit: all targets for which it is hypothetically relevant can now inherit user-supplied LDFLAGS, but only those provided to the configure script, not at make-time, in order to mimic the historical build's restriction in that regard.
FossilOrigin-Name: 073080cae3ea0d12b133d9c9ae98413bb32870a9738c98b89bc345181be81f23
2024-11-11 18:15:50 +00:00
stephan
f1b88ec953 Fix a deps problem, introduced in [1bd9de719], which breaks the build on systems where HAVE_TCL=0.
FossilOrigin-Name: 7953a8bdcba7242c98f786283270d7b3f8830058a29f2d810457eef697855325
2024-11-09 14:34:20 +00:00
stephan
4441897daa Remove one dep from .tclenv.sh which is only valid for configure-driven builds, not static makefiles.
FossilOrigin-Name: 22986767da8f086daaa6dc760c15e6aedcc5d2d6033937ac2f112ee5750d7fdb
2024-11-08 14:34:33 +00:00
stephan
a700db9387 Add 'tcl' makefile target which builds all but tclextension (which does not have a well-defined name and dependencies). Improve the deps for .tclenv.sh to avoid getting a stale tclsh when re-configuring with a different --with-tcl(sh).
FossilOrigin-Name: 1bd9de719b0944fdceec32103da3131a7d387820850ab03f652f813d840355b8
2024-11-08 13:37:00 +00:00
stephan
a4093dcc06 Add missing CFLAGS.intree_includes to T.compile.tcl to fix build of tclsqlite3.
FossilOrigin-Name: bb3c6dc126896528328bb9f51a28a1d46d4549e687c93c16f2d164230c6b1684
2024-11-08 08:01:56 +00:00
stephan
62801081f3 More closely emulate the legacy build's handling of LDFLAGS, permitting them to be passed to configure but not to make. We cannot 100% enforce that because main.mk is not filtered by the configure script, so we instead add a level of indirection to make passing of LDFLAGS=... to make a no-op.
FossilOrigin-Name: d1af9f31831dc99a808b916df4d414943f5d56796c8342411ee4a57abfde85e2
2024-11-08 07:37:12 +00:00
stephan
3b306aac6e Support clients passing in LDFLAGS to configure/make, but in a more limited form than the legacy build it (i.e. only to select targets rather than all targets). Rename make-side internal uses of CFLAGS to CFLAGS.env for consistency with the new LDFLAGS.env. See discussion in [forum:5fcbea40f3|forum thread 5fcbea40f3].
FossilOrigin-Name: a5e07e8063ad50f2cf46b6be568717adc9604bd6dbf926a526de43bda2996ad0
2024-11-08 06:22:15 +00:00
dan
d42855e404 Fix an OOB write that could occur in fts3 when dealing with corrupt database records.
FossilOrigin-Name: 108863ec7998e0a35569e3c6534b538f00d4ef87fdb316bd6a4a9a7a272bba47
2024-11-07 17:34:53 +00:00
stephan
c7882b975e tcl configuration: --with-tcl=prefix is equivalent to passing the --prefix dir to it. If --with-tcl or --enable-tcl are explicitly passed in and tclConfig.sh is not found, fail fatally. When TCL is either explicitly disabled or default search for it fails non-fatally, be more explicit about which components are not available.
FossilOrigin-Name: c5389d39a90047683e80ae9081d5d10aaa95da00dfc8a133b4a1a6949a11620d
2024-11-07 15:04:15 +00:00
stephan
199925a352 Add a section to autosetup/README.md describing the motivations for the more glaring design decisions.
FossilOrigin-Name: c0940a822a63bff74585bd37401eca92f74ddf9fe95748d2474039ee9b2bd9b6
2024-11-06 05:54:27 +00:00
stephan
d2ac1c5b7c Remove the --enable-rbu flag from the configure script, per /chat discussion, because it's a highly niche feature not in active use.
FossilOrigin-Name: 77db0cd736746873d4ed3dbf0e9a43a3e15ab49961fccee20417e01f88de8664
2024-11-05 13:03:58 +00:00
stephan
63346a4bca Add the --enable-rbu configure flag and building of the commented-out rbu binary.
FossilOrigin-Name: 6c6fa3adfee6ec2c57dc76461e7c97416b4fad45772ce367d223cc67e66049f6
2024-11-05 07:55:33 +00:00
stephan
2fd38836dc Fix typo of --libexec ==> --libexecdir, discovered via audit of a downstream build script. Unrelated doc touchups.
FossilOrigin-Name: a60e5d76d06ae0568fbc6e068a7012c77778607cd60da92a1b84ff8f33049a93
2024-11-04 12:11:20 +00:00
stephan
f3d279595e When installing the shared lib, re-activate the accommodation of legacy-style .so links (removed in [80584e165e4]) based on two reports that not having those will cause all clients linked against the legacy naming convention to fail to dynamically link (which would preclude an update of a system-level libsqlite3 package). Set up the infrastructure needed for adding an SONAME to the library but do not yet activate it. See discussion in/around [forum:046133a7da|forum post 046133a7da].
FossilOrigin-Name: 1586eaceb1716fbeafc4af691d0f80206cd5390388b099d4939e6be5d3eb975b
2024-11-04 08:29:02 +00:00
stephan
e595a83856 Fix another T.exe typo and remove an outdated TODO.
FossilOrigin-Name: 02208e6bfa7b791b958d45ad25eaac3a16d3e9f6ab203b9fc760c67785525395
2024-11-03 05:33:45 +00:00
stephan
13f03afd17 Fix T.exe typos in main.mk which break installation on platforms where that value is not empty. Also some unrelated doc tweaks.
FossilOrigin-Name: ab97ff44e66fd3639adbae4e0cc387fbcd09fbd5cd90ec3df7294c3e7b3a446e
2024-11-03 01:31:34 +00:00
stephan
dea749acc3 Add autotools-compatible overridable dir name vars for the various installation targets, calculated at make-time instead of exported at configure-time for reasons explained at length in the accompanying comments.
FossilOrigin-Name: 24aba7ee58f3048d70ff0c2b2cda26bc04bfb46b3055d25d62ab5ff97b106be2
2024-11-02 03:34:04 +00:00
drh
f5187de2fb When building a shared library on Mac, one must specify the original *.o
files that go into that library.  It does not work to specify a prior shared
library containing a subset of the files to be included.

FossilOrigin-Name: 5adc7d5dabbd9e2b18b3e13ab4e6463bfa8b5c1d604c94c8e67e6b812873ed30
2024-10-31 11:53:18 +00:00
stephan
07cdceed8e Add the .POSIX special target to the main makefiles to hint to the make impl that it should behave POSIXly-correct. Fix the default file extension for static libs in main.mk.
FossilOrigin-Name: 2c615d3a3206536f12c0723b8997bda9ab61f95a468f77697856213b46c0135e
2024-10-31 07:20:22 +00:00
stephan
cf758d23cd Add more deps to T.tcl.env.sh so that it gets rebuilt if configure is run with a different --with-tcl value. Remove all references to the superfluous XYZdir makefile vars conventionally set by the autotools (they're just noise in this build).
FossilOrigin-Name: 831665101e9c62cf49c173cb11705033eb9135a6a6965718285d81113ee5ba4c
2024-10-31 07:01:31 +00:00
stephan
fe9baec645 Fix a corner case in automatic TCLLIBDIR detection: if the $auto_path list is not empty but none of them refer to an existing dir, the last dir in that list would have been accepted as the TCLLIBDIR. It will now error out instead.
FossilOrigin-Name: 1d2ecae1304d9f677bd50eaae6bd9cb25cb75c611d88a30839f5287a7a97d7d5
2024-10-31 01:51:00 +00:00
stephan
7a55fe3a95 Reimplement how the TCL-related environment vars are made available to make recipes which need them, reducing the console noise and consolidating it with the has_tclconfig flag file. It now uses a generated shell snippet which it sources, rather than inlining all of that shell code.
FossilOrigin-Name: 0cdfd142e11824d41ebb6c6e508933e04ac6f6dc0dc375cc5b0032f56eb7f423
2024-10-31 00:56:05 +00:00
stephan
26eccee741 proj.tcl/main.mk doc updates. No functional changes.
FossilOrigin-Name: e06574c6b4b666ef26f0fa06e6d60e5d896caaf1b1ca27f5369f5b7650d12b9b
2024-10-30 22:09:49 +00:00
drh
4f0529e33e Adjust Makefile.in to honor the CC environment variable. Add the
"show-variables" target to main.mk, for debugging.

FossilOrigin-Name: e5f1a01f9f574a64e464c66c1b88f76aeea83f0bbe697c53bb63d3592d93e55e
2024-10-30 19:13:07 +00:00
stephan
55865c47a7 Remove accommodation of the legacy-named shared libraries from the installation rules, per discussion. Rename install-includes to install-headers. Quote installation target dir names "just in case".
FossilOrigin-Name: 80584e165e4652e76cc3188befcee814f168298486743940bcf46696043686a0
2024-10-30 04:07:16 +00:00
stephan
fe5f721de6 Generic makefile cleanups.
FossilOrigin-Name: 6f86ff2e8c190e83c15dab532660a2a0c359621d1fcce4e6852e56ac6b7f71e3
2024-10-30 03:51:21 +00:00
stephan
067f809402 Re-enable exporting of TCLLIBDIR at configure-time so that clients can override it once there rather than having to override it on an arbitrary number of make invocations (which they can still do, but now need not). Based on feedback in [forum:38f6988e57b738e5|forum post 38f6988e57b].
FossilOrigin-Name: ee6e15f12ee55fd13cf31317d876e6ba03a7ae1fb9056f0013106948d81b31d9
2024-10-30 02:06:41 +00:00
stephan
49e7cfc9a3 When calculating the TCLLIBDIR in main.mk, allow the user to override it using an environment var or make var assignment, per feedback in [forum:38f6988e57b738e5|forum post 38f6988e57b].
FossilOrigin-Name: 838633182c3f9f9c4c1a23384ed025777c25427d9c4c1f1a47f1630cf4038ca5
2024-10-30 01:47:48 +00:00
stephan
5be33f7b3f Split the core-most CFLAGS, which should not be overridable (like -fPIC), into CFLAGS.core, so that went CFLAGS=... is passed on in a make invocation the -fPIC flag is not lost (as reported in [forum:39f8c54391d38c72 | forum post 39f8c543]).
FossilOrigin-Name: f5899d22c6c2e65383d7e1ca43da740d3a56fb87daa204a642ce1dc963a98de2
2024-10-29 23:42:24 +00:00
stephan
e32a50a025 Teach configure --editline to report itself to shell.c as either HAVE_EDITLINE or HAVE_READLINE, depending on which headers are available (editline/readline.h or readline/readline.h, both of which work and some systems only have the latter), but then link against libedit regardless of which one shell.c thinks it is using.
FossilOrigin-Name: 85077b20e69ed269f8840bb900e823981bebd82063853fbf178b1af44a6951ba
2024-10-29 08:01:56 +00:00
stephan
7097105bea Remove LDFLAGS_LIBZ from sqlite3.pc.in (pkg-config) because it's not needed by the library, only the shell. Re-enable the notice about --disable-static only being partially true.
FossilOrigin-Name: e03c564aff6e3ac558f17670bfdd5fc129a8d33ec50975af843973152483e3fa
2024-10-29 04:21:11 +00:00
stephan
a94ca1d37c Remove some dead auto.def code. Link tclsqlite3 shell against the .so instead of .a, analog to [45315f8f275d]. Move some header file tests which are only needed for jimsh into the jimsh compilability check block.
FossilOrigin-Name: 9a259026ae2dce5d60b80bd7d662a6e73734e51056f4a4226c3fa5ac636b5e3a
2024-10-29 03:29:45 +00:00
stephan
4824b9c664 Minor makefile formatting cleanups. No functional changes.
FossilOrigin-Name: 10b2cfdccd06553752baf684ccd7f4f85a697e3f0f6dfc5e5dda6b231fa4352d
2024-10-28 18:41:42 +00:00
stephan
51d5aa0915 Calculate TCLLIBDIR in the makefile targets which use it, rather than via the configure script. This enables its use in static makefiles.
FossilOrigin-Name: 6b1494cecb48535b909f8a48ccb56e147221601380a1457ff85ab861fa576ea1
2024-10-28 18:30:46 +00:00
drh
bc4df6079c Remove the never-used and never-documented and long-ago deprecated
user-authentication feature option.

FossilOrigin-Name: 3a3f7bf4307c27e56546e51da06ecc9a262cdf155fda2dd359aa2326d207a147
2024-10-28 17:27:15 +00:00
stephan
fe5602ffd9 Perform some makefile acrobatics to get the tclConfig.sh state applied for static makefiles.
FossilOrigin-Name: 9b141d108b64c8f4e1103de6f142d972b5151eed0f07988fea308fc71cec45b8
2024-10-28 17:20:18 +00:00
drh
42516b2ef9 Omit the antiquated and long-unsupport async extension since it has been
superseded by WAL mode for over a decade.

FossilOrigin-Name: 10b1b86821bfc21377e7ccceb31146ab01aa6eaf418b85a204abcab5b793958e
2024-10-28 15:38:53 +00:00
drh
8625bd64c2 Omit ext/consio from the tree. No longer needed or supported.
FossilOrigin-Name: 1ce8507f732a26508a9b336cb27756a0a8638e14395efdd59b5faef40526ede5
2024-10-28 14:53:45 +00:00
stephan
1a466a386e Link libtclsqlite3.so to libsqlite3.so, not libsqlite3.a.
FossilOrigin-Name: 45315f8f275db6059bdff7a8269014f06a793debd90675ac877f3a6f5c6ba4a4
2024-10-28 14:24:36 +00:00
stephan
e550d98bbf Expand the 'make help' target and clean up some overly-noisy configure output.
FossilOrigin-Name: c895766ed31f55c02f05d357333e9cf45e82ec5af4d8b0491270e4fda7a57d42
2024-10-27 22:34:07 +00:00
stephan
3a92a5c4b3 Re-order the auto.def flags logical groups. Add some discrete bold formatting to select configure output. Remove some dead code. Account for behavior misunderstanding of user-notice. Add the start of a 'make help' target. General cosmetic cleanups.
FossilOrigin-Name: ab95ee33dfe56bd3b223f978626e6014414881c30443a2b88c782de724c39ae1
2024-10-27 22:18:33 +00:00
stephan
6c45a5d60e Re-add the --disable-static flag to (mostly) disable static lib build. Some components require the static lib and will trump this preference if they are activated.
FossilOrigin-Name: e296cd11a2bd87bffc9c661baea6539c0258b5e9cf3e9bc516f07c758b3e5939
2024-10-27 08:52:20 +00:00
stephan
e2a4ec3921 Ensure that --disable-tcl is honored. Move LDFLAGS.icu from the CLI shell target to LDFLAGS.libsqlite3.
FossilOrigin-Name: 39ce3f6350d811f27e5104e3dd01de2b04ce2a36edcbefd08596b8ca6c6226ff
2024-10-27 08:10:56 +00:00
stephan
1fa0ef3ae8 Get --with-linenoise=DIR configure flag working.
FossilOrigin-Name: 66ce47e5de21c607d2ef1f1e6e639f3c6da132ff3db582e12bd174f7d89d8150
2024-10-26 21:51:04 +00:00