mirror of
https://github.com/sqlite/sqlite.git
synced 2024-11-21 19:29:09 +01:00
Get auto.def handling the case that no tclsh is installed in a default location. If not, use jimsh if we can find realpath(), else bail out.
FossilOrigin-Name: 359741bc7624006014d73c4cf5cdd29fa38c33a446ed04b46032e5d3ca18d13c
This commit is contained in:
parent
591123eea9
commit
54e1dff24b
105
auto.def
105
auto.def
@ -123,7 +123,7 @@ options [subst {
|
||||
with-debug:=1 => {Enable debug build flags}
|
||||
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}
|
||||
tcl=1 => {Disable components which require TCL-dev}
|
||||
test-status => {Enable status of tests}
|
||||
threadsafe=1 => {Disable mutexing}
|
||||
with-tempstore:=no => {Use an in-ram database for temporary tables: never,no,yes,always.}
|
||||
@ -310,6 +310,7 @@ define ENABLE_SHARED 1
|
||||
#
|
||||
# It's unclear whether we can actually get away with making these
|
||||
# changes to the autosetup environment.
|
||||
define HAVE_TCL 0
|
||||
define HAVE_WASI_SDK 0
|
||||
if {1} {
|
||||
set wasiSdkDir [opt-val with-wasi-sdk] ; # ??? [lindex [opt-val with-wasi-sdk] end]
|
||||
@ -444,7 +445,6 @@ hwaci-if-opt-truthy with-debug {
|
||||
# be empty - this tree requires TCL to generated numerous
|
||||
# components.
|
||||
#
|
||||
define HAVE_TCL 0
|
||||
define TCLSH_CMD {exit 1}
|
||||
proc hwaci-check-tcl {} {
|
||||
global top_srcdir
|
||||
@ -485,53 +485,57 @@ proc hwaci-check-tcl {} {
|
||||
|
||||
set cfg ""
|
||||
set tclSubdirs {tcl9.0 tcl8.6 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
|
||||
while {1} {
|
||||
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-fatal "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-warn {
|
||||
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.
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
if {"" eq $cfg} {
|
||||
hwaci-fatal "No tclConfig.sh found under ${with_tcl}"
|
||||
}
|
||||
msg-result "Using tclConfig.sh: $cfg"
|
||||
} elseif {!$optTcl} {
|
||||
hwaci-warn "Unable to run tests because of --disable-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-fatal {
|
||||
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.
|
||||
}
|
||||
}
|
||||
hwaci-warn "Unable to run tests because no tclConfig.sh file could be located"
|
||||
}
|
||||
msg-result "Using tclConfig.sh: $cfg"
|
||||
} elseif {!$optTcl} {
|
||||
hwaci-warn "Unable to run tests because of --disable-tcl"
|
||||
} else {
|
||||
hwaci-warn "Unable to run tests because no tclConfig.sh file could be located"
|
||||
break
|
||||
}
|
||||
|
||||
define HAVE_TCL $use_tcl
|
||||
define HAVE_TCL 0
|
||||
define TCL_CONFIG_SH $cfg
|
||||
# The historical configure.ac sources tclConfig.sh so that it can
|
||||
# use the several TCL_... env vars. We obviously cannot do that from
|
||||
@ -550,7 +554,7 @@ proc hwaci-check-tcl {} {
|
||||
if {![file-isexec $with_tclsh]} {
|
||||
set with_tclsh2 [get-define TCL_EXEC_PREFIX]/bin/tclsh
|
||||
if {![file-isexec $with_tclsh2]} {
|
||||
hwaci-warn "Cannot find a usable tclsh as $with_tclsh or $with_tclsh2"
|
||||
hwaci-warn "Cannot find a usable tclsh (tried: $with_tclsh $with_tclsh2)"
|
||||
} else {
|
||||
set with_tclsh $with_tclsh2
|
||||
}
|
||||
@ -593,10 +597,11 @@ proc hwaci-check-tcl {} {
|
||||
define TCLLIB_RPATH ""
|
||||
}
|
||||
|
||||
if {"" eq $with_tclsh} {
|
||||
hwaci-warn "Cannot find a usable tclsh."
|
||||
} else {
|
||||
if {[file exists $with_tclsh]} {
|
||||
msg-result "Using tclsh: $with_tclsh"
|
||||
define HAVE_TCL 1
|
||||
} else {
|
||||
hwaci-warn "Cannot find a usable tclsh, so cannot run tests."
|
||||
}
|
||||
}; # hwaci-check-tcl
|
||||
|
||||
@ -622,7 +627,7 @@ if {[cc-check-functions realpath]} {
|
||||
define-append CFLAGS_JIMSH -DHAVE__FULLPATH
|
||||
define BTCLSH "\$(JIMSH)"
|
||||
set useOwnJimsh 1
|
||||
} elseif {"" ne [get-define TCLSH_CMD]} {
|
||||
} elseif {[file exists [get-define TCLSH_CMD]]} {
|
||||
set cgtcl [get-define TCLSH_CMD]
|
||||
define BTCLSH "\$(TCLSH_CMD)"
|
||||
} else {
|
||||
@ -640,11 +645,11 @@ if {[cc-check-functions realpath]} {
|
||||
unset tv
|
||||
}
|
||||
unset tpre
|
||||
if {"" eq [get-define TCLSH_CMD]} {
|
||||
hwaci-fatal "Cannot find a tclsh to use for code generation."
|
||||
}
|
||||
}
|
||||
set cgtcl [get-define TCLSH_CMD]
|
||||
if {![file exists $cgtcl]} {
|
||||
hwaci-fatal "Cannot find a tclsh to use for code generation."
|
||||
}
|
||||
define BTCLSH "\$(TCLSH_CMD)"
|
||||
}
|
||||
msg-result "TCL for code generation: $cgtcl"
|
||||
|
12
manifest
12
manifest
@ -1,5 +1,5 @@
|
||||
C Fix\s/dev/null\sand\sstderr\sredirection\sordering\sin\sautosetup/autosetup-find-tclsh\sso\sthat\sthe\sextraneous\sstrlcpy()/snprintf()/rand()\swarning\soutput\sfrom\sld\son\sOpenBSD\sdoes\snot\sbreak\sdetection\sof\sjimsh0.
|
||||
D 2024-10-23T01:33:15.729
|
||||
C Get\sauto.def\shandling\sthe\scase\sthat\sno\stclsh\sis\sinstalled\sin\sa\sdefault\slocation.\s\sIf\snot,\suse\sjimsh\sif\swe\scan\sfind\srealpath(),\selse\sbail\sout.
|
||||
D 2024-10-23T01:59:34.375
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||
@ -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 69277d3329dbd407d58d5f0fb84376df162e8d69eac81628c650eed296240729
|
||||
F auto.def 1b677ab8ca5aaee8f6622ce0f9f1e3c07753c6ad15d258de22ea033b4abc5feb
|
||||
F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903
|
||||
F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347
|
||||
F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac
|
||||
@ -2240,8 +2240,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 3a41ac08a443f96c3f34432f5034d2d12f03913f2a1db19d9f133b365b39ad20
|
||||
R 800ba67376f69c50f3d861fe8a325e3a
|
||||
P cd447e50d1b31e7539e4a8b5dc2a88c5a6a3814a28718b5829167b830dfd0edd
|
||||
R eb16726048dc406bfeeacf1897cc1534
|
||||
U stephan
|
||||
Z e6425f1dee29bf6933ceda8b25c5f5cd
|
||||
Z f9b2797ed9043665e78aef0c31e48a93
|
||||
# Remove this line to create a well-formed Fossil manifest.
|
||||
|
@ -1 +1 @@
|
||||
cd447e50d1b31e7539e4a8b5dc2a88c5a6a3814a28718b5829167b830dfd0edd
|
||||
359741bc7624006014d73c4cf5cdd29fa38c33a446ed04b46032e5d3ca18d13c
|
||||
|
Loading…
Reference in New Issue
Block a user