#
TLIBS = @LIBS@ $(LIBS)
-#XX#
+#
+# JimTCL is part of the autosetup suite and is suitable for all
+# current in-tree code-generation TCL jobs, but it requires that we
+# build it with non-default flags. Note that the build tree will, if
+# no system-level tclsh is found, also have a ./jimsh0. That one is a
+# bare-bones build for the configure process, whereas we need to build
+# it with another option enabled for use with the various code
+# generators.
+#
+JIMSH = @srcdir@/jimsh
+@if CFLAGS_JIMSH
+$(JIMSH): $(TOP)/autosetup/jimsh0.c
+ $(BCC) -o $(JIMSH) @CFLAGS_JIMSH@ $<
+@endif
+
+# BTCLSH is the tclsh-compatible app used for running various code
+# generators and other in-tree tools, as opposed to the TCL-based
+# tests, which must be built and run using the canonical TCL
+# distribution.
+BTCLSH = @BTCLSH@
+$(BTCLSH):
+
# Flags controlling use of the in memory btree implementation
#
# SQLITE_TEMP_STORE is 0 to force temporary tables to be in a file, 1 to
mv $(libsqlite3.DLL) $(libsqlite3.DLL).@RELEASE@; \
ln -s $(libsqlite3.DLL).@RELEASE@ $(libsqlite3.DLL).3; \
ln -s $(libsqlite3.DLL).3 $(libsqlite3.DLL)
+@if ENABLE_SHARED
install: install-dll
+@endif
#
# Install $(libsqlite3.LIB)
pkgIndex.tcl:
echo 'package ifneeded sqlite3 $(RELEASE) [list load [file join $$dir libtclsqlite3[info sharedlibextension]] sqlite3]' > $@
+@if TCLLIBDIR
install.tcldir = "$(DESTDIR)@TCLLIBDIR@"
install-tcl: $(libtclsqlite3.DLL) pkgIndex.tcl
$(INSTALL) -d $(install.tcldir)
$(INSTALL) $(libtclsqlite3.DLL) $(install.tcldir)
$(INSTALL_noexec) pkgIndex.tcl $(install.tcldir)
-
install: install-tcl
+@endif
tclsqlite3.c: sqlite3.c
echo '#ifndef USE_SYSTEM_SQLITE' >tclsqlite3.c
echo '#endif /* USE_SYSTEM_SQLITE */' >>tclsqlite3.c
cat $(TOP)/src/tclsqlite.c >>tclsqlite3.c
-#sqlite3-all.c: sqlite3.c $(TOP)/tool/split-sqlite3c.tcl $(BTCL) # has_tclsh84
-# $(TCLSH_CMD) $(TOP)/tool/split-sqlite3c.tcl
+sqlite3-all.c: sqlite3.c $(TOP)/tool/split-sqlite3c.tcl $(BTCLSH) # has_tclsh84
+ $(BTCLSH) $(TOP)/tool/split-sqlite3c.tcl
# Build the SQLite TCL extension in a way that make it compatible
# with whatever version of TCL is running as $TCLSH_CMD, possibly defined
verify-source: ./src-verify$(BEXE)
./src-verify$(BEXE) $(TOP)
-#
-# JimTCL is part of the autosetup suite and is suitable for all
-# current in-tree code-generation TCL jobs, but it requires that we
-# build it with non-default flags. Note that the build tree will, if
-# no system-level tclsh is found, also have a ./jimsh0. That one is a
-# bare-bones build for the configure process, whereas we need to build
-# it with another option enabled for use with the various code
-# generators.
-#
-JIMSH = @srcdir@/jimsh
-@if CFLAGS_JIMSH
-$(JIMSH): $(TOP)/autosetup/jimsh0.c
- $(BCC) -o $(JIMSH) @CFLAGS_JIMSH@ $<
-@endif
-
-# BTCL is the tclsh-compatible app used for running various code
-# generators and other in-tree tools, as opposed to the TCL-based
-# tests, which must be built and run using the canonical TCL
-# distribution.
-BTCL = @BTCL@
-$(BTCL):
-
#XX#
#XX#fuzzershell$(TEXE): $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
#XX# $(TLINK) -o $@ $(FUZZERSHELL_OPT) \
# files are automatically generated. This target takes care of
# all that automatic generation.
#
-.target_source: $(SRC) $(TOP)/tool/vdbe-compress.tcl fts5.c $(BTCL) # has_tclsh84
+.target_source: $(SRC) $(TOP)/tool/vdbe-compress.tcl fts5.c $(BTCLSH) # has_tclsh84
rm -rf tsrc
mkdir tsrc
cp -f $(SRC) tsrc
rm tsrc/sqlite.h.in tsrc/parse.y
- $(BTCL) $(TOP)/tool/vdbe-compress.tcl $(OPTS) <tsrc/vdbe.c >vdbe.new
+ $(BTCLSH) $(TOP)/tool/vdbe-compress.tcl $(OPTS) <tsrc/vdbe.c >vdbe.new
mv vdbe.new tsrc/vdbe.c
cp fts5.c fts5.h tsrc
touch .target_source
sqlite3.c: .target_source $(TOP)/tool/mksqlite3c.tcl src-verify \
- $(BTCL) # has_tclsh84
- $(BTCL) $(TOP)/tool/mksqlite3c.tcl $(AMALGAMATION_LINE_MACROS) $(EXTRA_SRC)
+ $(BTCLSH) # has_tclsh84
+ $(BTCLSH) $(TOP)/tool/mksqlite3c.tcl $(AMALGAMATION_LINE_MACROS) $(EXTRA_SRC)
cp tsrc/sqlite3ext.h .
cp $(TOP)/ext/session/sqlite3session.h .
-sqlite3r.h: sqlite3.h $(BTCL) # has_tclsh84
- $(BTCL) $(TOP)/tool/mksqlite3h.tcl $(TOP) --enable-recover >sqlite3r.h
+sqlite3r.h: sqlite3.h $(BTCLSH) # has_tclsh84
+ $(BTCLSH) $(TOP)/tool/mksqlite3h.tcl $(TOP) --enable-recover >sqlite3r.h
-sqlite3r.c: sqlite3.c sqlite3r.h $(BTCL) # has_tclsh84
+sqlite3r.c: sqlite3.c sqlite3r.h $(BTCLSH) # has_tclsh84
cp $(TOP)/ext/recover/sqlite3recover.c tsrc/
cp $(TOP)/ext/recover/sqlite3recover.h tsrc/
cp $(TOP)/ext/recover/dbdata.c tsrc/
- $(BTCL) $(TOP)/tool/mksqlite3c.tcl --enable-recover $(AMALGAMATION_LINE_MACROS) $(EXTRA_SRC)
+ $(BTCLSH) $(TOP)/tool/mksqlite3c.tcl --enable-recover $(AMALGAMATION_LINE_MACROS) $(EXTRA_SRC)
sqlite3ext.h: .target_source
cp tsrc/sqlite3ext.h .
# Rules to build opcodes.c and opcodes.h
#
-opcodes.c: opcodes.h $(TOP)/tool/mkopcodec.tcl $(BTCL) # has_tclsh84
- $(BTCL) $(TOP)/tool/mkopcodec.tcl opcodes.h >opcodes.c
+opcodes.c: opcodes.h $(TOP)/tool/mkopcodec.tcl $(BTCLSH) # has_tclsh84
+ $(BTCLSH) $(TOP)/tool/mkopcodec.tcl opcodes.h >opcodes.c
opcodes.h: parse.h $(TOP)/src/vdbe.c \
- $(TOP)/tool/mkopcodeh.tcl $(BTCL) # has_tclsh84
- cat parse.h $(TOP)/src/vdbe.c | $(BTCL) $(TOP)/tool/mkopcodeh.tcl >opcodes.h
+ $(TOP)/tool/mkopcodeh.tcl $(BTCLSH) # has_tclsh84
+ cat parse.h $(TOP)/src/vdbe.c | $(BTCLSH) $(TOP)/tool/mkopcodeh.tcl >opcodes.h
# Rules to build parse.c and parse.h - the outputs of lemon.
#
./lemon$(BEXE) $(OPT_FEATURE_FLAGS) $(OPTS) -S parse.y
sqlite3.h: $(TOP)/src/sqlite.h.in $(TOP)/manifest mksourceid$(BEXE) \
- $(TOP)/VERSION $(BTCL) # has_tclsh84
- $(BTCL) $(TOP)/tool/mksqlite3h.tcl $(TOP) >sqlite3.h
+ $(TOP)/VERSION $(BTCLSH) # has_tclsh84
+ $(BTCLSH) $(TOP)/tool/mksqlite3h.tcl $(TOP) >sqlite3.h
-sqlite3rc.h: $(TOP)/src/sqlite3.rc $(TOP)/VERSION $(BTCL) # has_tclsh84
+sqlite3rc.h: $(TOP)/src/sqlite3.rc $(TOP)/VERSION $(BTCLSH) # has_tclsh84
echo '#ifndef SQLITE_RESOURCE_VERSION' >$@
echo -n '#define SQLITE_RESOURCE_VERSION ' >>$@
- cat $(TOP)/VERSION | $(BTCL) $(TOP)/tool/replace.tcl exact . , >>$@
+ cat $(TOP)/VERSION | $(BTCLSH) $(TOP)/tool/replace.tcl exact . , >>$@
echo '#endif' >>sqlite3rc.h
keywordhash.h: $(TOP)/tool/mkkeywordhash.c
$(TOP)/src/test_windirent.c \
$(TOP)/src/test_windirent.h
-shell.c: $(SHELL_DEP) $(TOP)/tool/mkshellc.tcl $(BTCL) # has_tclsh84
- $(BTCL) $(TOP)/tool/mkshellc.tcl >shell.c
+shell.c: $(SHELL_DEP) $(TOP)/tool/mkshellc.tcl $(BTCLSH) # has_tclsh84
+ $(BTCLSH) $(TOP)/tool/mkshellc.tcl >shell.c
# Rules to build the extension objects.
fts5parse.h: fts5parse.c
-fts5.c: $(FTS5_SRC) $(BTCL) # has_tclsh84
- $(BTCL) $(TOP)/ext/fts5/tool/mkfts5c.tcl
+fts5.c: $(FTS5_SRC) $(BTCLSH) # has_tclsh84
+ $(BTCLSH) $(TOP)/ext/fts5/tool/mkfts5c.tcl
cp $(TOP)/ext/fts5/fts5.h .
fts5.o: fts5.c $(HDR) $(EXTHDR)
#
# - TCLLIB_RPATH = the -rpath flag specific to libtclsqlite3.
#
-# - BTCL = the path to the tcl interpreter used for in-tree code
+# - BTCLSH = the path to the tcl interpreter used for in-tree code
# generation. It may be jimtcl or the canonical tclsh.
define HAVE_TCL 0
define TCLSH_CMD {exit 1}
set cgtcl jimtcl
if {[cc-check-functions realpath]} {
define-append CFLAGS_JIMSH -DHAVE_REALPATH
- define BTCL "\$(JIMSH)"
+ define BTCLSH "\$(JIMSH)"
} elseif {[cc-check-functions _fullpath]} {
# _fullpath() is a Windows API
define-append CFLAGS_JIMSH -DHAVE__FULLPATH
- define BTCL "\$(JIMSH)"
+ define BTCLSH "\$(JIMSH)"
} elseif {"" ne [get-define TCLSH_CMD]} {
set cgtcl [get-define TCLSH_CMD]
- define BTCL "\$(TCLSH_CMD)"
+ define BTCLSH "\$(TCLSH_CMD)"
} else {
# One last-ditch effort to find TCLSH_CMD: use info from
# tclConfig.sh to try to find a tclsh
}
}
set cgtcl [get-define TCLSH_CMD]
- define BTCL "\$(TCLSH_CMD)"
+ define BTCLSH "\$(TCLSH_CMD)"
}
puts "TCL for code generation: $cgtcl"
unset cgtcl
-C Get\stestfixture\sbuilding.
-D 2024-10-16T14:04:00.330
+C General\scleanups.\sRename\sBTCL\sto\sBTCLSH\sfor\ssome\sclarity.
+D 2024-10-17T22:19:37.426
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
-F Makefile.in fa354ef30557591ef661274ed2e7e544ffe67946473ec5651bde26742c766686
+F Makefile.in a01307498cd4d2c615be19a0fea96a488ec18924c0c0fa30a9a828aa9f28f0ee
F Makefile.linux-gcc f3842a0b1efbfbb74ac0ef60e56b301836d05b4d867d014f714fa750048f1ab6
F Makefile.msc 58b69eda1faad5d475092b8aeffab9156ee4901a82db089b166607f2ec907ee4
F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159
F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2
-F auto.def 9586e698e1cd80f072f3736fd179fd743cf3d85e16b56e1bdc2062b38c9e429e
+F auto.def 6b669b781de0eec9ad7dea65079c469ac7013c115487cf3e66c068e40b2a6df3
F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903
F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347
F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 9c3bb3dc4f5b5cd7db6cd50d22dbe8f933cccf5f2fd253467bb50f36b3207a93
-R 45a9e71fe8f588895d4532716f9e4e63
+P 9a7e56a01703fdcb4c83481d33d48bd4c8e6a5586c1315bae36fdff34a1b3bd1
+R 30374e42cf396edeeab8be3ba90d92cf
U stephan
-Z a3d7258d39f45514e566632502958cc2
+Z 533ef536662a14cac9318bc23f02aeac
# Remove this line to create a well-formed Fossil manifest.