From f400f41fde557816c60e0933e22866b44d4ba8d2 Mon Sep 17 00:00:00 2001 From: stephan Date: Wed, 9 Oct 2024 04:01:14 +0000 Subject: [PATCH] Get much of the --with-tcl-related bits working. FossilOrigin-Name: 4e4a740369d3edc58d35c660b1ea73ee381503f82a98a4b770fd07cef1704e8b --- Makefile.in | 23 ++- auto.def | 384 ++++++++++++++------------------------- manifest | 15 +- manifest.uuid | 2 +- tool/tclConfigShToTcl.sh | 27 +++ 5 files changed, 192 insertions(+), 259 deletions(-) create mode 100755 tool/tclConfigShToTcl.sh diff --git a/Makefile.in b/Makefile.in index 2e4bfec762..86aaa6cba4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -143,6 +143,14 @@ HAVE_TCL = @HAVE_TCL@ # know the specific version we want to use # TCLSH_CMD = @TCLSH_CMD@ +TCL_CONFIG_SH = @TCL_CONFIG_SH@ + +# TCL config info from tclConfig.sh +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@ + # Additional options when running tests using testrunner.tcl # This is usually either blank, or else --status @@ -844,13 +852,14 @@ sourcetest: srcck1$(BEXE) 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. 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. +# +# 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 diff --git a/auto.def b/auto.def index 36ff88a1e9..455d71d36c 100644 --- a/auto.def +++ b/auto.def @@ -30,8 +30,8 @@ define cross_compiling ${cross_compiling} # options { with-debug:=1 => {Enable debug build flags} - with-tclsh: => {Full pathname of tclsh to use} - with-tcl: => {Directory containing tclConfig.sh} + with-tclsh:PATH => {Full pathname of tclsh to use} + with-tcl:DIR => {Directory containing tclConfig.sh} tcl=1 => {Disable building accessory programs that require TCL-dev} test-status => {Enable status of tests} threadsafe=1 => {Disable mutexing} @@ -69,7 +69,7 @@ options { # # --releasemode: libtool-specific (which we don't have now) # -######################################################################## +# set srcdir $autosetup(srcdir) @@ -94,6 +94,7 @@ if {![file exists sqlite3.pc.in]} { cc-check-tools ld ar +######################################################################## # The build process allows for using a cross-compiler. But the default # action is to target the same platform that we are running on. The # configure script needs to discover the following properties of the @@ -154,7 +155,7 @@ cc-check-tools ld ar # files for the readline library. If the compiler is able # to find on its own, then this can be blank. -######################################################################## +# # OPT_FEATURE_FLAGS = -DSQLITE_OMIT/ENABLE flags. define OPT_FEATURE_FLAGS {} define OPT_SHELL {}; # CFLAGS for the sqlite3 CLI app @@ -218,6 +219,7 @@ define BUILD_CFLAGS [get-env CFLAGS {-g}] # # It's unclear whether we can actually get away with making these # changes to the autosetup environment. +# if {1} { set wasiSdkDir [opt-val with-wasi-sdk] ; # ??? [lindex [opt-val with-wasi-sdk] end] #puts "x wasiSdkDir=$wasiSdkDir foo=[lindex [opt-val with-wasi-sdk] end]" @@ -256,30 +258,16 @@ if {1} { unset wasiSdkDir }; # --wasi-sdk-dir -######################################################################## -# Check which TCL to use as a code generator -define CFLAGS_JIMSH {} -puts "Looking for path-resolution function for JimTCL... " -define BTCL "\$(JIMSH)" -if {[cc-check-functions realpath]} { - define-append CFLAGS_JIMSH -DHAVE_REALPATH -} elseif {[cc-check-functions _fullpath]} { - # _fullpath() is a Windows API - define-append CFLAGS_JIMSH -DHAVE__FULLPATH -} else { - puts "Cannot find realpath() or _fullpath(). Falling back to system's TCL for code generation." -} - -######################################################################## +# # Enable large file support (if special flags are necessary) cc-check-lfs -######################################################################## +# # Check for needed/wanted data types cc-check-types int8_t int16_t int32_t int64_t intptr_t \ uint8_t uint16_t uint32_t uint64_t uintptr_t -######################################################################## +# # Check for needed/wanted functions cc-check-functions gmtime_r isnan localtime_r localtime_s \ malloc_usable_size strchrnul usleep utime pread pread64 pwrite pwrite64 @@ -288,7 +276,7 @@ hwaci-check-function-in-lib fdatasync rt define LDFLAGS_FDATASYNC [get-define lib_fdatasync] undefine lib_fdatasync -######################################################################## +# # Check for needed/wanted headers cc-check-includes \ sys/types.h sys/stat.h dlfcn.h unistd.h \ @@ -296,7 +284,8 @@ cc-check-includes \ string.h strings.h \ stdint.h inttypes.h -# These are optional for JimTCL: +# These are optional for JimTCL but necessary if we want to use it for +# code generation: cc-check-includes dirent.h sys/time.h if {[cc-check-includes zlib.h] && [hwaci-check-function-in-lib deflate z]} { @@ -337,157 +326,135 @@ hwaci-if-opt-truthy with-debug { ######################################################################## # TCL... +# +# Under construction. An attempt to port most of the +# --with-tcl/--with-tclsh logic from configure.ac to autosetup. This +# part would actually be easier in the shell, and some of it will +# seemingly be impossible without shell code. define HAVE_TCL 0 define TCLSH_CMD {exit 1} -if {"" eq [get-define CFLAGS_JIMSH]} { - # We can't use JimTCL for in-tree generation on this system, so... - # - # Temporary solution for finding "a" tclsh. TODO is port the - # full-featured check which lives in the elseif part of this block. - set tclsh [hwaci-first-bin-of tclsh8.6 tclsh tclsh9.0] - if {"" eq $tclsh} { - user-error "Cannot find tclsh, which is required to build certain files." - } - define TCLSH_CMD $tclsh - define BTCL $tclsh - define HAVE_TCL 0 ; # until the following elseif block is ported -} elseif {0} { - # Porting this section of configure.ac is going to be a bit of a slog... - set tEnable [hwaci-opt-truthy tcl] - set use_tcl $tEnable +proc hwaci-check-tcl {} { + global top_srcdir + puts "Checking for a suitable tcl... " + set optTcl [hwaci-opt-truthy tcl] + set use_tcl $optTcl set tclsh "" - #set original_use_tcl ${use_tcl} - ######### - # Figure out all the name of a working tclsh and parameters needed to compile against Tcl. - # The --with-tcl= and/or --with-tclsh= configuration arguments might be useful for this. - # - # XXX AC_ARG_WITH tclsh AS_HELP_STRING([--with-tclsh=PATHNAME],[full pathname of a tclsh to use]) - # XXX AC_ARG_WITH tcl AS_HELP_STRING([--with-tcl=DIR],[directory containing (tclConfig.sh)]) set with_tclsh [opt-val with-tclsh] set with_tcl [opt-val with-tcl] - +# puts "hwaci-check-tcl: use_tcl ${use_tcl}" +# puts "hwaci-check-tcl: with_tclsh=${with_tclsh}" +# puts "hwaci-check-tcl: with_tcl=$with_tcl" if {"" eq $with_tclsh && "" eq $with_tcl} { - # XXX if test x"${with_tclsh}" == x -a x"${with_tcl}" == x; then - # XXX AC_CHECK_PROGS TCLSH_CMD tclsh8.6 tclsh tclsh9.0 none - #set with_tclsh ${TCLSH_CMD} - # XXX fi set with_tclsh [hwaci-first-bin-of tclsh8.6 tclsh tclsh9.0] } - if {"" ne $with_tclsh } { - # XXX if test x"${with_tclsh}" != x -a x"${with_tclsh}" != xnone; then - # XXX TCLSH_CMD=${with_tclsh} - set tclsh $with_tclsh - puts "using tclsh at \"$tclsh\"" - if {$use_tcl} { - # XXX if test x"${use_tcl}" = "xyes"; then - #set with_tcl `${with_tclsh} <${srcdir}/tool/find_tclconfig.tcl` - # XXX if test x"${with_tcl}" != x; then - #msg-result "$TCLSH_CMD recommends the tclConfig.sh at ${with_tcl}" - # XXX else - #msg-result Warning: "$TCLSH_CMD is unable to recommend a tclConfig.sh" - #set use_tcl no - # XXX fi - # XXX fi + if {"" ne $with_tclsh} { + if {![file isfile $with_tclsh]} { + hwaci-error "TCL shell $with_tclsh is not a file" + } elseif {![file executable $with_tclsh]} { + hwaci-error "TCL shell $with_tclsh is not executable" + } else { + define TCLSH_CMD $with_tclsh + puts "Using tclsh at \"$with_tclsh\"" + } + if {$use_tcl} { + #set with_tcl [exec $with_tclsh $top_srcdir/tool/find_tclconfig.tcl] + if {[catch {exec $with_tclsh $top_srcdir/tool/find_tclconfig.tcl} result] == 0} { + set with_tcl $result + } + if {"" ne $with_tcl && [file isdir $with_tcl]} { + puts "$with_tclsh recommends the tclConfig.sh from $with_tcl" + } else { + puts "$with_tclsh is unable to recommand a tclConfig.sh" + set use_tcl 0 + } } - # XXX fi } - # XXX if test x"${use_tcl}" = "xyes"; then - # XXX if test x"${with_tcl}" != x; then - # XXX if test -r ${with_tcl}/tclConfig.sh; then - # set tclconfig "${with_tcl}/tclConfig.sh" - # XXX else - # XXX for i in tcl8.6 tcl9.0 lib; do - # XXX if test -r ${with_tcl}/$i/tclConfig.sh; then - #set tclconfig ${with_tcl}/$i/tclConfig.sh - # XXX break - # XXX fi - # XXX done - # XXX fi - # XXX if test ! -r "${tclconfig}"; then - #user-error "no tclConfig.sh file found under ${with_tcl}" - # XXX fi - # XXX else - # If we have not yet found a tclConfig.sh file, look in $libdir whic is - # set automatically by autoconf or by the --prefix command-line option. - # See https://sqlite.org/forum/forumpost/e04e693439a22457 - #set libdir ${prefix}/lib - # XXX if test -r ${libdir}/tclConfig.sh; then - #set tclconfig ${libdir}/tclConfig.sh - # XXX else - # XXX for i in tcl8.6 tcl9.0 lib; do - # XXX if test -r ${libdir}/$i/tclConfig.sh; then - #set tclconfig ${libdir}/$i/tclConfig.sh - # XXX break - # XXX fi - # XXX done - # XXX fi - # XXX if test ! -r "${tclconfig}"; then - #user-error "cannot find a usable tclConfig.sh file. - # Use --with-tcl=DIR to specify a directory where tclConfig.sh can be found. - # SQLite does not use TCL internally, but TCL is required to build SQLite - # from canonical sources and TCL is required for testing." - # XXX fi - # XXX fi - # msg-result "loading TCL configuration from ${tclconfig}" - # XXX . ${tclconfig} - # XXX autosetup automatically substitutes all define'd values - # In general, simply 'define' the value rather than using a shell - # variable and AC_SUBST. - # - # XXX AC_SUBST TCL_INCLUDE_SPEC - # XXX AC_SUBST TCL_LIB_SPEC - # XXX AC_SUBST TCL_STUB_LIB_SPEC - # There are lots of other configuration variables that are provided by the - # tclConfig.sh file and that could be included here. But as of right now, - # TCL_LIB_SPEC is the only what that the Makefile uses. - # XXX HAVE_TCL=1 - # XXX elif test x"${original_use_tcl}" = "xno"; then - # msg-result "unable to run tests because of --disable-tcl" - # XXX HAVE_TCL=0 - # XXX else - # msg-result "unable to run tests because no tclConfig.sh file could be located" - # XXX HAVE_TCL=0 - # XXX fi - # XXX AC_SUBST HAVE_TCL - # XXX if test x"$TCLSH_CMD" == x; then - # XXX TCLSH_CMD=${TCL_EXEC_PREFIX}/bin/tclsh${TCL_VERSION} - # XXX if test ! -x ${TCLSH_CMD}; then - # set _2 ${TCL_EXEC_PREFIX}/bin/tclsh - # XXX if test ! -x ${TCLSH_CMD_2}; then - # msg-result Warning: "cannot find a usable tclsh at either ${TCLSH_CMD} or ${TCLSH_CMD_2}" - # XXX TCLSH_CMD=none - # XXX else - # XXX TCLSH_CMD=${TCLSH_CMD_2} - # XXX fi - # XXX fi - # XXX fi - # XXX if test "$TCLSH_CMD" = "none"; then - # If we can't find a local tclsh, then building the amalgamation will fail. - # We act as though --disable-amalgamation has been used. - # msg-result Warning: "Warning: can't find tclsh - defaulting to non-amalgamation build." - # XXX USE_AMALGAMATION=0 - # XXX TCLSH_CMD="tclsh" - # XXX fi - # XXX AC_SUBST TCLSH_CMD + set cfg "" + set tclSubdirs {tcl8.6 tcl9.0 lib} + if {$use_tcl} { + if {"" ne $with_tcl} { + if {[file readable "${with_tcl}/tclConfig.sh"]} { + set cfg "${with_tcl}/tclConfig.sh" + } else { + foreach i $tclSubdirs { + if {[file readable "${with_tcl}/$i/tclConfig.sh"]} { + set cfg "${with_tcl}/$i/tclConfig.sh" + break + } + } + } + if {"" eq $cfg} { + hwaci-error "No tclConfig.sh found under ${with_tcl}" + } + } else { + # If we have not yet found a tclConfig.sh file, look in $libdir which is + # set automatically by autosetup or by the --prefix command-line option. + # See https://sqlite.org/forum/forumpost/e04e693439a22457 + set libdir [get-define libdir] + if {[file readable "${libdir}/tclConfig.sh"]} { + set cfg "${libdir}/tclConfig.sh" + } else { + foreach i $tclSubdirs { + if {[file readable "${libdir}/$i/tclConfig.sh"]} { + set cfg "${libdir}/$i/tclConfig.sh" + break + } + } + } + if {![file readable $cfg]} { + hwaci-error { + Cannot find a usable tclConfig.sh file. + Use --with-tcl=DIR to specify a directory where tclConfig.sh can be found. + SQLite does not use TCL internally, but TCL is required to build SQLite + from canonical sources and TCL is required for testing. + } + } + } + } elseif {!$optTcl} { + puts "Unable to run tests because of --disable-tcl" + } else { + puts "Unable to run tests because no tclConfig.sh file could be located" + } - # XXX AC_ARG_VAR TCLLIBDIR Where to install tcl plugin - # XXX if test "x${TCLLIBDIR+set}" != "xset" ; then - # XXX for i in `echo 'puts stdout $auto_path' | ${TCLSH_CMD}` ; do - # XXX if test -d $i ; then - # XXX TCLLIBDIR=$i - # XXX break - # XXX fi - # XXX done - # XXX TCLLIBDIR="${TCLLIBDIR}/sqlite3" - # XXX fi + define HAVE_TCL $use_tcl + define TCL_CONFIG_SH $cfg +# puts "hwaci-check-tcl: with_tclsh=$with_tclsh" +# puts "hwaci-check-tcl: with_tcl=$with_tcl" +# puts "hwaci-check-tcl: cfg=$cfg" +# puts "hwaci-check-tcl: use_tcl ${use_tcl}" +} - unset tEnable with_tclsh with_tcl -}; # end of tcl +hwaci-check-tcl +# The historical configure.ac sources tclConfig.sh so that it can use +# the several TCL_... env vars. We obviously cannot do that from TCL, +# so we apply a level of indirection. Note that if the config is not +# available, this generates empty-string entries for the various +# options we're interested in. +eval [exec "${top_srcdir}/tool/tclConfigShToTcl.sh" "[get-define TCL_CONFIG_SH]"] -hwaci-check-rpath +######################################################################## +# Check which TCL to use as a code generator. Prefer jimsh simply +# because we have it in-tree (it's part of autosetup). +define CFLAGS_JIMSH {} +puts "Looking for path-resolution function for JimTCL... " +if {[cc-check-functions realpath]} { + define-append CFLAGS_JIMSH -DHAVE_REALPATH + define BTCL "\$(JIMSH)" +} elseif {[cc-check-functions _fullpath]} { + # _fullpath() is a Windows API + define-append CFLAGS_JIMSH -DHAVE__FULLPATH + define BTCL "\$(JIMSH)" +} elseif {"" ne [get-define TCLSH_CMD]} { + define BTCL "\$(TCLSH_CMD)" +} else { + hwaci-error "Cannot find a tclsh to use for code generation." +} + +# /TCL +######################################################################## ######################################################################## # Thread safety? @@ -507,34 +474,6 @@ hwaci-if-opt-truthy threadsafe { define LDFLAGS_PTHREAD "" } -######################################################################## -# Do we want to support release? -# -# Maintenance note: this might be irrelevant with an autosetup port, -# as it appears to be related to libtool (part of the autotools). -# -if {0} { - hwaci-if-opt-truthy releasemode { - msg-result "Release-mode build." - set enable_releasemode 1 - } { - msg-result "Non-release-mode build." - set enable_releasemode 0 - } -} - -if {0} { - msg-checking "Checking whether to support shared library linked as release mode or not..." - # XXX if test "$enable_releasemode" = "no"; then - # XXX ALLOWRELEASE="" - msg-result "no" - # XXX else - # XXX ALLOWRELEASE="-release `cat $srcdir/VERSION`" - msg-result "yes" - # XXX fi - # XXX AC_SUBST ALLOWRELEASE -} - ######################################################################## # Do we want temporary databases in memory? # @@ -706,57 +645,6 @@ hwaci-if-opt-truthy math { msg-result "Disabling math SQL functions" } -if {0} { - # is this still relevant? - - ######### - # attempt to duplicate any OMITS and ENABLES into the ${OPT_FEATURE_FLAGS} parameter - # XXX for option in $CFLAGS $CPPFLAGS - # XXX do - # XXX case $option in - # XXX -DSQLITE_OMIT*) OPT_FEATURE_FLAGS="$OPT_FEATURE_FLAGS $option";; - # XXX -DSQLITE_ENABLE*) OPT_FEATURE_FLAGS="$OPT_FEATURE_FLAGS $option";; - # XXX esac - # XXX done - # XXX AC_SUBST OPT_FEATURE_FLAGS - - # attempt to remove any OMITS and ENABLES from the $(CFLAGS) parameter - # XXX ac_temp_CFLAGS="" - # XXX for option in $CFLAGS - # XXX do - # XXX case $option in - # XXX -DSQLITE_OMIT*) ;; - # XXX -DSQLITE_ENABLE*) ;; - # XXX *) ac_temp_CFLAGS="$ac_temp_CFLAGS $option";; - # XXX esac - # XXX done - # XXX CFLAGS=$ac_temp_CFLAGS - - # attempt to remove any OMITS and ENABLES from the $(CPPFLAGS) parameter - # XXX ac_temp_CPPFLAGS="" - # XXX for option in $CPPFLAGS - # XXX do - # XXX case $option in - # XXX -DSQLITE_OMIT*) ;; - # XXX -DSQLITE_ENABLE*) ;; - # XXX *) ac_temp_CPPFLAGS="$ac_temp_CPPFLAGS $option";; - # XXX esac - # XXX done - # XXX CPPFLAGS=$ac_temp_CPPFLAGS - - # attempt to remove any OMITS and ENABLES from the $(BUILD_CFLAGS) parameter - # XXX ac_temp_BUILD_CFLAGS="" - # XXX for option in $BUILD_CFLAGS - # XXX do - # XXX case $option in - # XXX -DSQLITE_OMIT*) ;; - # XXX -DSQLITE_ENABLE*) ;; - # XXX *) ac_temp_BUILD_CFLAGS="$ac_temp_BUILD_CFLAGS $option";; - # XXX esac - # XXX done - # XXX BUILD_CFLAGS=$ac_temp_BUILD_CFLAGS -} - ######################################################################## # Emscripten SDK for building the web-based wasm components. # @@ -813,10 +701,10 @@ foreach {boolFlag featureFlag ifSetEvalThis} { } ######################################################################## -# Invert the above loop's logic for some explicit -# SQLITE_OMIT_... cases. If config option $boolFlag is set, -# [add-feature-flag $featureFlag], where $featureFlag is intended to -# be -DSQLITE_OMIT_... +# Invert the above loop's logic for some explicit SQLITE_OMIT_... +# cases. If config option $boolFlag is set, [add-feature-flag +# $featureFlag], where $featureFlag is intended to be +# -DSQLITE_OMIT_... foreach {boolFlag featureFlag} { json -DSQLITE_OMIT_JSON } { @@ -830,15 +718,16 @@ foreach {boolFlag featureFlag} { ######################################################################## # Maybe extend JimTCL a bit. As of this writing (2024-09-27) it only -# needs -DHAVE_REALPATH or -DHAVE__FULLPATH to be compatible with our -# code generators. It can, however, be slightly extended via -# easy-to-detect features, should we need them. +# needs (-DHAVE_REALPATH or -DHAVE__FULLPATH) and -DHAVE_DIRENT_H to +# be compatible with our code generators. It can, however, be slightly +# extended via easy-to-detect features, should we need them. if {0 && "" ne [get-define CFLAGS_JIMSH]} { foreach jimFunc {opendir fsync isascii} { if {[cc-check-functions $jimFunc]} { define-append CFLAGS_JIMSH -DHAVE_[string toupper $jimFunc] } } + #These are hard-coded into jimsh0.c, so we must not -D them: #foreach jimDef {HAVE_UNISTD_H HAVE_DIRENT_H} { # if {[is-defined $jimDef]} { # define-append CFLAGS_JIMSH -D$jimDef @@ -849,6 +738,11 @@ if {0 && "" ne [get-define CFLAGS_JIMSH]} { define ENABLE_SHARED $enable_shared + +######################################################################## +# Determine proper rpath-handling flags +hwaci-check-rpath + ######################################################################## # Generate the output files. # @@ -884,6 +778,8 @@ if {"" ne $oFF} { } unset oFF +######################################################################## +# Some build-dev/debug-only output hwaci-if-opt-truthy dump-defines { global DUMP_DEFINES_FILE msg-result "--dump-defines is creating file: $DUMP_DEFINES_FILE" diff --git a/manifest b/manifest index c0dca8ca8e..60c7f85e38 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Fix\sbuild\sportability\sproblems\sdiscovered\son\san\sARM\sOpenBSD\ssystem. -D 2024-10-08T16:33:42.863 +C Get\smuch\sof\sthe\s--with-tcl-related\sbits\sworking. +D 2024-10-09T04:01:14.131 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 -F Makefile.in 4cb6e44af5d0ed2a1ad347f008c00d3ddeae8f1dd2089a1348e7c6aa6be8e63d +F Makefile.in 3d237163c5cf5817eb63f2ce20119372e36f5cf48609dd22292160a26b599de4 F Makefile.linux-gcc f3842a0b1efbfbb74ac0ef60e56b301836d05b4d867d014f714fa750048f1ab6 F Makefile.msc 9c6d80d9d103fa42e931f4c464884a5e577fae8563acc7589bff4e43fbe8f864 F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159 @@ -14,7 +14,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 afec3012da348dd0214047f575131d0a69e1aa67588e212daf604d4393453a3b +F auto.def 6c4f3b9d88ae343f0634a1534d3918cb3f7a215c65c85d1c3d0cce2f5dd47686 F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903 F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac @@ -2207,6 +2207,7 @@ F tool/stack_usage.tcl f8e71b92cdb099a147dad572375595eae55eca43 F tool/stripccomments.c 20b8aabc4694d0d4af5566e42da1f1a03aff057689370326e9269a9ddcffdc37 F tool/symbols-mingw.sh 4dbcea7e74768305384c9fd2ed2b41bbf9f0414d F tool/symbols.sh 1612bd947750e21e7b47befad5f6b3825b06cce0705441f903bf35ced65ae9b9 +F tool/tclConfigShToTcl.sh e385583402655b1626f7ff737a607687f84aa4660d2125c2bd7daeb91ba424ba x F tool/varint.c 5d94cb5003db9dbbcbcc5df08d66f16071aee003 F tool/vdbe-compress.tcl 1dcb7632e57cf57105248029e6e162fddaf6c0fccb3bb9e6215603752c5a2d4a F tool/vdbe_profile.tcl 3ac5a4a9449f4baf77059358ea050db3e34395ccf59c5464d29b91746d5b961e @@ -2235,8 +2236,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P e9ab211f82f789c89ab52e8d5fe7526c09943b2b8b3002fa7a16fb2b40addc8f -R 83d7d512ee4d92805faea47e6da138cb +P ef5348dc3f5b9fbe19753ff85e4da461ee962f0790e5f9cfda6eba522576451b +R 53257972217ca0415948a8eb62c6c23b U stephan -Z 65540e91f90dac7f75bdfc0fac8976f3 +Z f49c2f1fcffe6fc0ebe3c9d93e81fc78 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 24c3e11ae9..594a612658 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ef5348dc3f5b9fbe19753ff85e4da461ee962f0790e5f9cfda6eba522576451b +4e4a740369d3edc58d35c660b1ea73ee381503f82a98a4b770fd07cef1704e8b diff --git a/tool/tclConfigShToTcl.sh b/tool/tclConfigShToTcl.sh new file mode 100755 index 0000000000..e4eefc1d10 --- /dev/null +++ b/tool/tclConfigShToTcl.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# +# A level of indirection for use soley by the configure script +# (auto.def). +# +# Expects to be passed a full path to a tclConfig.sh. It sources it +# and emits TCL code which sets some vars which are exported by +# tclConfig.sh. +# +# This script expects that the caller has already validated that the +# file exists, is not a directory, and is readable. +# +# If passed no filename, or an empty one, then it emits config code +# suitable for the "config not found" case. +if test x = "x$1"; then + TCL_INCLUDE_SPEC= + TCL_LIB_SPEC= + TCL_STUB_LIB_SPEC= + TCL_EXEC_PREFIX= +else + . "$1" +fi + +echo "define TCL_INCLUDE_SPEC {$TCL_INCLUDE_SPEC} ;" +echo "define TCL_LIB_SPEC {$TCL_LIB_SPEC} ;" +echo "define TCL_STUB_LIB_SPEC {$TCL_STUB_LIB_SPEC} ;" +echo "define TCL_EXEC_PREFIX {$TCL_EXEC_PREFIX} ;"