Index: Makefile.in ================================================================== --- Makefile.in +++ Makefile.in @@ -126,11 +126,12 @@ HAVE_TCL = @HAVE_TCL@ # This is the command to use for tclsh - normally just "tclsh", but we may # know the specific version we want to use # -TCLSH_CMD = @TCLSH_CMD@ +# TCLSH_CMD = @TCLSH_CMD@ +TCLSH_CMD = exit 1 # Additional options when running tests using testrunner.tcl # This is usually either blank, or else --status # TSTRNNR_OPTS = @TSTRNNR_OPTS@ @@ -758,10 +759,20 @@ sourcetest: srcck1$(BEXE) sqlite3.c ./srcck1 sqlite3.c src-verify: $(TOP)/tool/src-verify.c $(BCC) -o src-verify$(BEXE) $(TOP)/tool/src-verify.c + + +# JimTCL is part of the autosetup suite and is suitable for certain +# in-tree TCL jobs, but it requires that we build it with non-default +# flags. +# +JIMSH = @srcdir@/jimsh +$(JIMSH): $(TOP)/autosetup/jimsh0.c Makefile + $(BCC) -o $(JIMSH) -DHAVE_REALPATH $< + #XX# #XX#verify-source: ./src-verify #XX# ./src-verify $(TOP) #XX# #XX#fuzzershell$(TEXE): $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h @@ -868,33 +879,34 @@ # copies of all of the C source code and header files needed to # build on the target system. Some of the C source code and header # files are automatically generated. This target takes care of # all that automatic generation. # -.target_source: $(SRC) $(TOP)/tool/vdbe-compress.tcl has_tclsh84 fts5.c +.target_source: $(SRC) $(TOP)/tool/vdbe-compress.tcl fts5.c $(JIMSH) # has_tclsh84 rm -rf tsrc mkdir tsrc cp -f $(SRC) tsrc rm tsrc/sqlite.h.in tsrc/parse.y - $(TCLSH_CMD) $(TOP)/tool/vdbe-compress.tcl $(OPTS) vdbe.new + $(JIMSH) $(TOP)/tool/vdbe-compress.tcl $(OPTS) 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 has_tclsh84 - $(TCLSH_CMD) $(TOP)/tool/mksqlite3c.tcl $(AMALGAMATION_LINE_MACROS) $(EXTRA_SRC) +sqlite3.c: .target_source $(TOP)/tool/mksqlite3c.tcl src-verify \ + $(JIMSH) # has_tclsh84 + $(JIMSH) $(TOP)/tool/mksqlite3c.tcl $(AMALGAMATION_LINE_MACROS) $(EXTRA_SRC) cp tsrc/sqlite3ext.h . cp $(TOP)/ext/session/sqlite3session.h . -sqlite3r.h: sqlite3.h has_tclsh84 - $(TCLSH_CMD) $(TOP)/tool/mksqlite3h.tcl $(TOP) --enable-recover >sqlite3r.h +sqlite3r.h: sqlite3.h $(JIMSH) # has_tclsh84 + $(JIMSH) $(TOP)/tool/mksqlite3h.tcl $(TOP) --enable-recover >sqlite3r.h -sqlite3r.c: sqlite3.c sqlite3r.h has_tclsh84 +sqlite3r.c: sqlite3.c sqlite3r.h $(JIMSH) # has_tclsh84 cp $(TOP)/ext/recover/sqlite3recover.c tsrc/ cp $(TOP)/ext/recover/sqlite3recover.h tsrc/ cp $(TOP)/ext/recover/dbdata.c tsrc/ - $(TCLSH_CMD) $(TOP)/tool/mksqlite3c.tcl --enable-recover $(AMALGAMATION_LINE_MACROS) $(EXTRA_SRC) + $(JIMSH) $(TOP)/tool/mksqlite3c.tcl --enable-recover $(AMALGAMATION_LINE_MACROS) $(EXTRA_SRC) sqlite3ext.h: .target_source cp tsrc/sqlite3ext.h . #XX#tclsqlite3.c: sqlite3.c @@ -1189,26 +1201,28 @@ #XX# $(LTLINK) -o $@ tclsqlite-shell.lo \ #XX# libsqlite3.la $(LIBTCL) # Rules to build opcodes.c and opcodes.h # -opcodes.c: opcodes.h $(TOP)/tool/mkopcodec.tcl has_tclsh84 - $(TCLSH_CMD) $(TOP)/tool/mkopcodec.tcl opcodes.h >opcodes.c +opcodes.c: opcodes.h $(TOP)/tool/mkopcodec.tcl $(JIMSH) # has_tclsh84 + $(JIMSH) $(TOP)/tool/mkopcodec.tcl opcodes.h >opcodes.c -opcodes.h: parse.h $(TOP)/src/vdbe.c $(TOP)/tool/mkopcodeh.tcl has_tclsh84 - cat parse.h $(TOP)/src/vdbe.c | $(TCLSH_CMD) $(TOP)/tool/mkopcodeh.tcl >opcodes.h +opcodes.h: parse.h $(TOP)/src/vdbe.c \ + $(TOP)/tool/mkopcodeh.tcl $(JIMSH) # has_tclsh84 + cat parse.h $(TOP)/src/vdbe.c | $(JIMSH) $(TOP)/tool/mkopcodeh.tcl >opcodes.h # Rules to build parse.c and parse.h - the outputs of lemon. # parse.h: parse.c parse.c: $(TOP)/src/parse.y lemon$(BEXE) cp $(TOP)/src/parse.y . ./lemon$(BEXE) $(OPT_FEATURE_FLAGS) $(OPTS) -S parse.y -sqlite3.h: $(TOP)/src/sqlite.h.in $(TOP)/manifest mksourceid$(BEXE) $(TOP)/VERSION has_tclsh84 - $(TCLSH_CMD) $(TOP)/tool/mksqlite3h.tcl $(TOP) >sqlite3.h +sqlite3.h: $(TOP)/src/sqlite.h.in $(TOP)/manifest mksourceid$(BEXE) \ + $(TOP)/VERSION $(JIMSH) # has_tclsh84 + $(JIMSH) $(TOP)/tool/mksqlite3h.tcl $(TOP) >sqlite3.h #XX#sqlite3rc.h: $(TOP)/src/sqlite3.rc $(TOP)/VERSION has_tclsh84 #XX# echo '#ifndef SQLITE_RESOURCE_VERSION' >$@ #XX# echo -n '#define SQLITE_RESOURCE_VERSION ' >>$@ #XX# cat $(TOP)/VERSION | $(TCLSH_CMD) $(TOP)/tool/replace.tcl exact . , >>$@ @@ -1249,12 +1263,12 @@ $(TOP)/ext/recover/sqlite3recover.c \ $(TOP)/ext/recover/sqlite3recover.h \ $(TOP)/src/test_windirent.c \ $(TOP)/src/test_windirent.h -shell.c: $(SHELL_DEP) $(TOP)/tool/mkshellc.tcl has_tclsh84 - $(TCLSH_CMD) $(TOP)/tool/mkshellc.tcl >shell.c +shell.c: $(SHELL_DEP) $(TOP)/tool/mkshellc.tcl $(JIMSH) # has_tclsh84 + $(JIMSH) $(TOP)/tool/mkshellc.tcl >shell.c #XX# #XX# #XX# #XX# #XX## Rules to build the extension objects. @@ -1337,12 +1351,12 @@ rm -f fts5parse.h ./lemon$(BEXE) $(OPTS) -S fts5parse.y fts5parse.h: fts5parse.c -fts5.c: $(FTS5_SRC) has_tclsh84 - $(TCLSH_CMD) $(TOP)/ext/fts5/tool/mkfts5c.tcl +fts5.c: $(FTS5_SRC) $(JIMSH) # has_tclsh84 + $(JIMSH) $(TOP)/ext/fts5/tool/mkfts5c.tcl cp $(TOP)/ext/fts5/fts5.h . #XX#fts5.lo: fts5.c $(HDR) $(EXTHDR) #XX# $(LTCOMPILE) -DSQLITE_CORE -c fts5.c #XX# @@ -1666,11 +1680,10 @@ #XX## by $TCLSH_CMD, included prior versions. #XX## #XX#tclextension-list: #XX# $(TCLSH_CMD) $(TOP)/tool/buildtclext.tcl --info - # Remove build products sufficient so that subsequent makes will recompile # everything from scratch. Do not remove: # # * test results and test logs # * output from ./configure @@ -1700,11 +1713,11 @@ rm -rf omittest* testrunner* testdir* # Clean up everything. No exceptions. # distclean: clean - rm -f sqlite_cfg.h config.log config.status Makefile $(LIBTOOL) + rm -f sqlite_cfg.h config.log config.status $(JIMSH) Makefile $(LIBTOOL) #XX## #XX## Windows section #XX## #XX#dll: sqlite3.dll