0
0
mirror of https://github.com/sqlite/sqlite.git synced 2024-11-21 19:29:09 +01:00

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
This commit is contained in:
stephan 2024-11-08 13:37:00 +00:00
parent a4093dcc06
commit a700db9387
4 changed files with 17 additions and 12 deletions

View File

@ -531,6 +531,7 @@ proc sqlite-check-tcl {} {
define HAVE_TCL 0 ; # Will be enabled via --tcl or a successful search
define TCLLIBDIR "" ; # Installation dir for TCL extension lib
define TCL_CONFIG_SH ""; # full path to tclConfig.sh
file delete -force ".tclenv.sh"; # ensure no stale state from previous configures.
if {![opt-bool tcl]} {
proj-indented-notice {
NOTE: TCL is disabled via --disable-tcl. This means that none
@ -626,8 +627,8 @@ proc sqlite-check-tcl {} {
break
}
define TCL_CONFIG_SH $cfg
# Export a subset of tclConfig.sh to the current TCL-space. If the
# config is not available, this emits empty-string entries for the
# Export a subset of tclConfig.sh to the current TCL-space. If $cfg
# is an empty string, this emits empty-string entries for the
# various options we're interested in.
eval [exec "${srcdir}/tool/tclConfigShToTcl.sh" "$cfg"]

View File

@ -978,7 +978,7 @@ has_tclsh85:
# It took half an hour to figure that out.
#
T.tcl.env.sh = ./.tclenv.sh
$(T.tcl.env.sh): $(TCLSH_CMD) $(TCL_CONFIG_SH) $(MAKEFILE_LIST)
$(T.tcl.env.sh): $(TCLSH_CMD) $(TCL_CONFIG_SH) $(MAKEFILE_LIST) config.log
@if [ x = "x$(TCL_CONFIG_SH)" ]; then \
echo 'TCL_CONFIG_SH must be set to point to a "tclConfig.sh"' 1>&2; exit 1; \
fi
@ -991,6 +991,7 @@ $(T.tcl.env.sh): $(TCLSH_CMD) $(TCL_CONFIG_SH) $(MAKEFILE_LIST)
echo "TCLLIBDIR=$$ld/sqlite3"; \
fi > $@; \
echo ". \"$(TCL_CONFIG_SH)\" || exit \$$?" >> $@
@echo "Created $@"
#
# $(T.tcl.env.source) is shell code to be run as part of any
@ -1334,6 +1335,7 @@ tclsqlite-stubs.o: $(T.tcl.env.sh) $(TOP)/src/tclsqlite.c $(DEPS_OBJ_COMMON)
tclsqlite3$(T.exe): $(T.tcl.env.sh) tclsqlite-shell.o $(libsqlite3.SO)
$(T.link.tcl) -o $@ tclsqlite-shell.o \
$(libsqlite3.SO) $$TCL_INCLUDE_SPEC $$TCL_LIB_SPEC $(LDFLAGS.libsqlite3)
tcl: tclsqlite3$(T.exe)
# Rules to build opcodes.c and opcodes.h
#
@ -1476,6 +1478,7 @@ install: install-headers
#
pkgIndex.tcl:
echo 'package ifneeded sqlite3 $(PACKAGE_VERSION) [list load [file join $$dir libtclsqlite3[info sharedlibextension]] sqlite3]' > $@
tcl: pkgIndex.tcl
libtclsqlite3.SO = libtclsqlite3$(T.dll)
$(libtclsqlite3.SO): $(T.tcl.env.sh) tclsqlite.o $(LIBOBJ)
$(T.tcl.env.source); \
@ -1488,7 +1491,8 @@ $(libtclsqlite3.SO): $(T.tcl.env.sh) tclsqlite.o $(LIBOBJ)
$(libtclsqlite3.SO)-1: $(libtclsqlite3.SO)
$(libtclsqlite3.SO)-0 $(libtclsqlite3.SO)-:
libtcl: $(libtclsqlite3.SO)-$(HAVE_TCL)
all: libtcl
tcl: libtcl
all: tcl
install-tcl-1: $(libtclsqlite3.SO) pkgIndex.tcl
$(T.tcl.env.source); \

View File

@ -1,5 +1,5 @@
C Add\smissing\sCFLAGS.intree_includes\sto\sT.compile.tcl\sto\sfix\sbuild\sof\stclsqlite3.
D 2024-11-08T08:01:56.002
C Add\s'tcl'\smakefile\starget\swhich\sbuilds\sall\sbut\stclextension\s(which\sdoes\snot\shave\sa\swell-defined\sname\sand\sdependencies).\sImprove\sthe\sdeps\sfor\s.tclenv.sh\sto\savoid\sgetting\sa\sstale\stclsh\swhen\sre-configuring\swith\sa\sdifferent\s--with-tcl(sh).
D 2024-11-08T13:37:00.278
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@ -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 d59912edf010b39c9643979668b298945e86d7cedcfd9f6e82bb6b67460c3750
F auto.def b00e0676f9182d880a09b9f4941452324d836b7f9bfef72a98031df091be3b94
F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903
F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347
F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac
@ -699,7 +699,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 3ab4da6fd1383aa32173e72cc876d4313692e86fbd447e08f6575cfe68c35a40
F main.mk 49204a0bfe3a534fcf524dddbb40ef2c5c637b5ea5c1d9411edaf42fbb1deae1
F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421
@ -2201,8 +2201,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 d1af9f31831dc99a808b916df4d414943f5d56796c8342411ee4a57abfde85e2
R e7e6b5f1b00f47c5c5fd2d8a0d9c908a
P bb3c6dc126896528328bb9f51a28a1d46d4549e687c93c16f2d164230c6b1684
R 79a87714e3698b70dc08f54a2c6c7778
U stephan
Z 83a8e5b16a3924a6c0e5c0fa6944ffd4
Z 32ca490816a904f0ccca59c9c1e56034
# Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
bb3c6dc126896528328bb9f51a28a1d46d4549e687c93c16f2d164230c6b1684
1bd9de719b0944fdceec32103da3131a7d387820850ab03f652f813d840355b8