#
# $(CFLAGS.tclextension) = CFLAGS for the tclextension* targets.
#
-CFLAGS.tclextension = $(CFLAGS.intree_includes) $(CFLAGS.env) $(OPT_FEATURE_FLAGS) $(OPTS)
+CFLAGS.tclextension = $(CFLAGS.intree_includes) $(CFLAGS.env) \
+ $(OPT_FEATURE_FLAGS) $(OPTS) $(CFLAGS.icu)
#
# Build the SQLite TCL extension in a way that make it compatible
# with whatever version of TCL is running as $TCLSH_CMD, possibly defined
#
tclextension: tclsqlite3.c
$(TCLSH_CMD) $(TOP)/tool/buildtclext.tcl --build-only \
- --tclConfig.sh $(TCL_CONFIG_SH) --cc "$(T.cc)" $(CFLAGS.tclextension)
+ --tclConfig.sh $(TCL_CONFIG_SH) --cc "$(T.cc)" \
+ --extlibs "$(LDFLAGS.icu)" $(CFLAGS.tclextension)
#
# Install the SQLite TCL extension in a way that is appropriate for $TCLSH_CMD
#
tclextension-install: tclsqlite3.c
$(TCLSH_CMD) $(TOP)/tool/buildtclext.tcl --destdir "$(DESTDIR)" \
- --tclConfig.sh $(TCL_CONFIG_SH) --cc "$(T.cc)" $(CFLAGS.tclextension)
+ --tclConfig.sh $(TCL_CONFIG_SH) --cc "$(T.cc)" \
+ --extlibs "$(LDFLAGS.icu)" $(CFLAGS.tclextension)
#
# Uninstall the SQLite TCL extension that is used by $TCLSH_CMD.
-C Fix\sparsing\sof\soptions\sto\sthe\s.once\scommand.
-D 2026-04-17T01:55:29.492
+C On\splatforms\swhich\ssupport\s./configure\s--with-icu-config,\sensure\sthat\s'make\stclextension'\sincludes\sthe\sICU\spieces\sin\sthe\stcl\sextension.\sIntended\sto\sresolve\s[forum:92a88de4b88929fe|forum\spost\s92a88de4b88929fe].
+D 2026-04-17T04:59:42.856
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F ext/wasm/tests/opfs/sahpool/sahpool-pausing.js f264925cfc82155de38cecb3d204c36e0f6991460fff0cb7c15079454679a4e2
F ext/wasm/tests/opfs/sahpool/sahpool-worker.js bd25a43fc2ab2d1bafd8f2854ad3943ef673f7c3be03e95ecf1612ff6e8e2a61
F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
-F main.mk bf77c630aeef4ed4b9270e1fd52c35147b529412c00b74ed6eb8aca3466763f6
+F main.mk 2f7de314e2e43b9b8cfebbdaf7e00e05f14e21f41ccf392377f7ec96fba80966
F make.bat a136fd0b1c93e89854a86d5f4edcf0386d211e5d5ec2434480f6eea436c7420c
F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
F tool/Replace.cs 02c67258801c2fb5f63231e0ac0f220b4b36ba91
F tool/build-all-msvc.bat 1ee9dbadcc07fc23268025854e97b392bcbad72376b47aee7b22f3797a4f2c87 x
F tool/build-shell.sh 369c4b171cc877ad974fef691e4da782b4c1e99fe8f4361316c735f64d49280f
-F tool/buildtclext.tcl d09b753d7858314104eeaf5f4def85d35784470279809e47a633f142226f2b3f
+F tool/buildtclext.tcl b58df93e772fec8b2ae44ee1a82d13378e13edb1e94c4ab2f7ee3440a9523bff
F tool/cg_anno.tcl c1f875f5a4c9caca3d59937b16aff716f8b1883935f1b4c9ae23124705bc8099 x
F tool/checkSpacing.c 810e51703529a204fc4e1eb060e9ab663e3c06d2
F tool/cktclsh.sh 6075eef9c6b9ba4b38fef2ca2a66d25f2311bd3c610498d18a9b01f861629cca
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P b4c1cc5efcc1e538ed71ffd847030d80ab03fe6e6785f14fbad7f6079321d199
-Q +b235a8093734f457c2731af017c99027510d04e5cd1060f5559afbec5409a472
-R 9c76e1fc87040c0e5f7aa24ed9df8ca1
-U drh
-Z 8fcb3a77a5f1ff6a5355c5979bf61c7f
+P fd21b079e9ded037f9ec65f04864684060b8b80d034dfc9b07e01b5a1f75d79a
+Q +404fde8bacc3f05254a2fcdb1531a7f53125a7ad45dc6b68a5065c1d0c73b670
+R 6ce971740e46ec7bf9ec70965226c6b1
+U stephan
+Z c6ad5024701b876dcc240cf36ace084f
# Remove this line to create a well-formed Fossil manifest.
-fd21b079e9ded037f9ec65f04864684060b8b80d034dfc9b07e01b5a1f75d79a
+a4f27adb97f2fb8bf44931d3a44f9d05f0485e743ad086177b8f9471ee9dfff5
--uninstall Uninstall the extension
--version-check Check extension version against this source tree
--destdir DIR Installation root (used by "make install DESTDIR=...")
- --tclConfig.sh FILE Use this tclConfig.sh instead of looking for one
+ --tclConfig.sh FILE Use this tclConfig.sh instead of looking for one
+ --extlibs LDFLAGS required for external libs, e.g. ICU.
Other options are retained and passed through into the compiler.}
set versioncheck 0
set CC {}
set OPTS {}
-set DESTDIR ""; # --destdir "$(DESTDIR)"
+set DESTDIR "" ; # --destdir "$(DESTDIR)"
set tclConfigSh ""; # --tclConfig.sh FILE
+set LIBS {} ; # --extlibs "-lx -ly ..."
for {set ii 0} {$ii<[llength $argv]} {incr ii} {
set a0 [lindex $argv $ii]
if {$a0=="--install-only"} {
} elseif {$a0=="--tclConfig.sh" && $ii+1<[llength $argv]} {
incr ii
set tclConfigSh [lindex $argv $ii]
+ } elseif {$a0=="--extlibs" && $ii+1<[llength $argv]} {
+ incr ii
+ lappend LIBS [lindex $argv $ii]
} elseif {[string match -* $a0]} {
append OPTS " $a0"
} else {
}
set CFLAGS -fPIC
regexp {TCL_SHLIB_CFLAGS='([^']+)'} $tclConfig all CFLAGS
- set LIBS {}
- regexp {TCL_STUB_LIB_SPEC='([^']+)'} $tclConfig all LIBS
+ regexp {TCL_STUB_LIB_SPEC='([^']+)'} $tclConfig all LIBSTUB
+ lappend LIBS $LIBSTUB
set INC "-I$srcdir/src"
set inc {}
regexp {TCL_INCLUDE_SPEC='([^']+)'} $tclConfig all inc
# Generate and execute the command with which to do the compilation.
#
- set cmd "$CMD -DUSE_TCL_STUBS tclsqlite3.c -o $OUT $LIBS"
+ set cmd "$CMD -DUSE_TCL_STUBS tclsqlite3.c -o $OUT [join $LIBS { }]"
puts $cmd
file delete -force $OUT
catch {exec {*}$cmd} errmsg