diff --git a/Makefile.in b/Makefile.in index 2c7869cda9..7aac5ec02f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -213,18 +213,29 @@ TCL_CONFIG_SH = @TCL_CONFIG_SH@ # TCL config info from tclConfig.sh # # We have to inject this differently in main.mk to accommodate static -# makefiles: +# makefiles, so we don't currently bother to export it here. This +# block is retained in case we decide that we do indeed need to export +# it at configure-time instead of calculate it at make-time. # #TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@ #TCL_LIB_SPEC = @TCL_LIB_SPEC@ #TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ #TCL_EXEC_PREFIX = @TCL_EXEC_PREFIX@ #TCL_VERSION = @TCL_VERSION@ +# +# $(TCLLIB_RPATH) is calculated by the configure script. Its counterpart +# in tclConfig.sh (TCL_LD_SEARCH_FLAGS) is defined in such a way as to +# make it incompatible with static makefiles. +# #TCLLIB_RPATH = @TCLLIB_RPATH@ # -# Where do we want to install the tcl plugin +# $(TCLLIBDIR) = where to install the tcl plugin. If this is empty, it +# is calculated at make-time by the targets which need it but we +# export it here so that it can be set at configure-time, so that +# clients are not required to pass it at make-time, or set it in their +# environment, to override it. # -#TCLLIBDIR = @TCLLIBDIR@ +TCLLIBDIR = @TCLLIBDIR@ # # Additional options when running tests using testrunner.tcl diff --git a/auto.def b/auto.def index 500456086e..a94c40df79 100644 --- a/auto.def +++ b/auto.def @@ -561,11 +561,15 @@ proc sqlite-check-tcl {} { } define TCLSH_CMD $with_tclsh - if {0} { + if {1} { # 2024-10-28: calculation of TCLLIBDIR is now done via the shell - # in the makefile rules which need it (search main.mk for - # T.tcllibdir). This code block is kept around as a basis for - # comparison while the new makefile-side rules get battle-tested. + # in the main.mk (search it for T.tcllibdir) so that + # static/hand-written makefiles which import main.mk do not have + # to define that before importing main.mk. Even so, we export + # TCLLIBDIR from here for the benefit of users who want to provide + # it at configure-time and have it "stick", without having to + # provide it on each make invocation or set it in their + # environment. if {$use_tcl} { # Set up the TCLLIBDIR and TCLLIB_RPATH set tcllibdir [get-env TCLLIBDIR ""] @@ -573,7 +577,7 @@ proc sqlite-check-tcl {} { if {[catch {exec echo "puts stdout \$auto_path" | "$with_tclsh"} result] == 0} { foreach i $result { if {[file isdir $i]} { - set tcllibdir $i + set tcllibdir $i/sqlite3 break } } @@ -583,7 +587,6 @@ proc sqlite-check-tcl {} { } set tclrpath "" if {"" ne $tcllibdir} { - set tcllibdir "${tcllibdir}/sqlite3" set rp [get-define SH_LINKRPATH] set tclrpath [string map [list "%s" $tcllibdir] $rp] # Reminder: tclConfig.sh has TCL_LD_SEARCH_FLAGS to set the @@ -595,7 +598,7 @@ proc sqlite-check-tcl {} { } define TCLLIBDIR $tcllibdir define TCLLIB_RPATH $tclrpath - #proj-fatal "TCLLIB_RPATH = [get-define TCLLIB_RPATH]" + #msg-debug "TCLLIB_RPATH = [get-define TCLLIB_RPATH]" } else { define TCLLIBDIR "" define TCLLIB_RPATH "" diff --git a/main.mk b/main.mk index b2f4051d0f..fb60e4a752 100644 --- a/main.mk +++ b/main.mk @@ -218,11 +218,6 @@ SHELL_OPT ?= # TCL_CONFIG_SH ?= # -# $(TCLLIB_RPATH) is the -rpath flag for libtclsqlite3, not -# libsqlite3, and will usually differ from $(LDFLAGS.rpath). -# -#TCLLIB_RPATH ?= -# # $(HAVE_WASI_SDK) = # # 1 when building with the WASI SDK. This disables certain build diff --git a/manifest b/manifest index 23187b4b15..0fd78ed1e4 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C When\scalculating\sthe\sTCLLIBDIR\sin\smain.mk,\sallow\sthe\suser\sto\soverride\sit\susing\san\senvironment\svar\sor\smake\svar\sassignment,\sper\sfeedback\sin\s[forum:38f6988e57b738e5|forum\spost\s38f6988e57b]. -D 2024-10-30T01:47:48.301 +C Re-enable\sexporting\sof\sTCLLIBDIR\sat\sconfigure-time\sso\sthat\sclients\scan\soverride\sit\sonce\sthere\srather\sthan\shaving\sto\soverride\sit\son\san\sarbitrary\snumber\sof\smake\sinvocations\s(which\sthey\scan\sstill\sdo,\sbut\snow\sneed\snot).\sBased\son\sfeedback\sin\s[forum:38f6988e57b738e5|forum\spost\s38f6988e57b]. +D 2024-10-30T02:06:41.420 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md c5b4009dca54d127d2d6033c22fd9cc34f53bedb6ef12c7cbaa468381c74ab28 -F Makefile.in 4d261854ba83b66a790271b2d0e390f94be8fe49b3e5ae6c1596abe7917c65a3 +F Makefile.in c938c6f4febb0c5d63870bf9f6f8c43e5b20f3e1cfc889460d340add94d40db3 F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0 F Makefile.msc a92237976eb92c5efaa0dd2524746aec12c196e12df8d4dbff9543a4648c3312 F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159 @@ -13,7 +13,7 @@ F art/icon-80x90.gif 65509ce3e5f86a9cd64fe7fca2d23954199f31fe44c1e09e208c80fb83d F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2 F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90 F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2 -F auto.def 532d2b8d2d0a384476ca60144329ac12bceda654e9edd8178a88e4571dc43431 +F auto.def c0c87d0df83cd73540fbc84333155b50ac58dbea64d414a05fe4123a5a2644c1 F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903 F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac @@ -697,7 +697,7 @@ F ext/wasm/tests/opfs/concurrency/test.js d08889a5bb6e61937d0b8cbb78c9efbefbf65a F ext/wasm/tests/opfs/concurrency/worker.js 0a8c1a3e6ebb38aabbee24f122693f1fb29d599948915c76906681bb7da1d3d2 F ext/wasm/wasmfs.make bc8bb227f35d5bd3863a7bd2233437c37472a0d81585979f058f9b9b503bef35 F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0 -F main.mk 8848d415297380eb30752cb018db540b97e2eda0bd3a6c434af040b2008ff0a7 +F main.mk 047c1192d515466bc586c1e882cf169210515b259b9b9c898171a9fc8f59c31c F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504 F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421 @@ -2198,8 +2198,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P f5899d22c6c2e65383d7e1ca43da740d3a56fb87daa204a642ce1dc963a98de2 -R 1a0fb946c82c6ff352a73b25350541bd +P 838633182c3f9f9c4c1a23384ed025777c25427d9c4c1f1a47f1630cf4038ca5 +R 5f23d099a56104ea99d6a3e5077a6f43 U stephan -Z 6b8bed4dd4087a47566a9613ae5d1273 +Z 7257af8ebb5afd828f6703c7a9a784cb # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index dd9d7db6bc..509eebcea3 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -838633182c3f9f9c4c1a23384ed025777c25427d9c4c1f1a47f1630cf4038ca5 +ee6e15f12ee55fd13cf31317d876e6ba03a7ae1fb9056f0013106948d81b31d9