Fossil SCM
Explained "Why can't we use Jim Tcl for the test suite?" in the auto.def comment above the check for a suitable tclsh version. Basically, I tried it and then documented a few of the resulting failures.
Commit
91eaef6131e816bdcab192bfd800e87de02302a330fcba6ecba796d996444191
Parent
e449cb09c18004e…
1 file changed
+11
-2
M
auto.def
+11
-2
| --- auto.def | ||
| +++ auto.def | ||
| @@ -33,12 +33,21 @@ | ||
| 33 | 33 | } |
| 34 | 34 | |
| 35 | 35 | # Use pread/pwrite system calls in place of seek + read/write if possible |
| 36 | 36 | define USE_PREAD [cc-check-functions pread] |
| 37 | 37 | |
| 38 | -# Find tclsh for the test suite. We can't use jimsh for this: the test | |
| 39 | -# suite uses features of Tcl that Jim doesn't support. | |
| 38 | +# Find tclsh for the test suite. | |
| 39 | +# | |
| 40 | +# We can't use jimsh for this: the test suite uses features of Tcl that | |
| 41 | +# Jim doesn't support, either statically or due to the way it's built by | |
| 42 | +# autosetup. For example, Jim supports `file normalize`, but only if | |
| 43 | +# you build it with HAVE_REALPATH, which won't ever be defined in this | |
| 44 | +# context because autosetup doesn't try to discover platform-specific | |
| 45 | +# details like that before it decides to build jimsh0. Besides which, | |
| 46 | +# autosetup won't build jimsh0 at all if it can find tclsh itself. | |
| 47 | +# Ironically, this means we may right now be running under either jimsh0 | |
| 48 | +# or a version of tclsh that we find unsuitable below! | |
| 40 | 49 | cc-check-progs tclsh |
| 41 | 50 | set hbtd /usr/local/Cellar/tcl-tk |
| 42 | 51 | if {[get-define TCLSH] != false} { |
| 43 | 52 | set v [exec /bin/sh -c "echo 'puts \$tcl_version' | tclsh"] |
| 44 | 53 | if {[expr $v >= 8.6]} { |
| 45 | 54 |
| --- auto.def | |
| +++ auto.def | |
| @@ -33,12 +33,21 @@ | |
| 33 | } |
| 34 | |
| 35 | # Use pread/pwrite system calls in place of seek + read/write if possible |
| 36 | define USE_PREAD [cc-check-functions pread] |
| 37 | |
| 38 | # Find tclsh for the test suite. We can't use jimsh for this: the test |
| 39 | # suite uses features of Tcl that Jim doesn't support. |
| 40 | cc-check-progs tclsh |
| 41 | set hbtd /usr/local/Cellar/tcl-tk |
| 42 | if {[get-define TCLSH] != false} { |
| 43 | set v [exec /bin/sh -c "echo 'puts \$tcl_version' | tclsh"] |
| 44 | if {[expr $v >= 8.6]} { |
| 45 |
| --- auto.def | |
| +++ auto.def | |
| @@ -33,12 +33,21 @@ | |
| 33 | } |
| 34 | |
| 35 | # Use pread/pwrite system calls in place of seek + read/write if possible |
| 36 | define USE_PREAD [cc-check-functions pread] |
| 37 | |
| 38 | # Find tclsh for the test suite. |
| 39 | # |
| 40 | # We can't use jimsh for this: the test suite uses features of Tcl that |
| 41 | # Jim doesn't support, either statically or due to the way it's built by |
| 42 | # autosetup. For example, Jim supports `file normalize`, but only if |
| 43 | # you build it with HAVE_REALPATH, which won't ever be defined in this |
| 44 | # context because autosetup doesn't try to discover platform-specific |
| 45 | # details like that before it decides to build jimsh0. Besides which, |
| 46 | # autosetup won't build jimsh0 at all if it can find tclsh itself. |
| 47 | # Ironically, this means we may right now be running under either jimsh0 |
| 48 | # or a version of tclsh that we find unsuitable below! |
| 49 | cc-check-progs tclsh |
| 50 | set hbtd /usr/local/Cellar/tcl-tk |
| 51 | if {[get-define TCLSH] != false} { |
| 52 | set v [exec /bin/sh -c "echo 'puts \$tcl_version' | tclsh"] |
| 53 | if {[expr $v >= 8.6]} { |
| 54 |