memchan/unix/configure looks for (in this order)
tcl8.2.*
tcl8.2
tcl8.3
tcl8.2b*
tcl8.2a*
tcl8.1.*
tcl8.1
tcl8.0.*
tcl8.0
tcl
and then the prefixes.
So a) tcl 8.4 and 8.5 aren't checked, and b) even when I provide a --with-tcl-lib-dir, I still get an error about not finding the tcl library. I still have to figure that one out.
Logged In: YES
user_id=15949
Originator: YES
This is in the latest CVS head for memchan.
Note that here's another bug:
memchan_cv_lib_TCL_LIB=""
places="$TCL_LIB_DIR \
../../tcl8.2.*/unix \
../../tcl8.2/unix \
../../tcl8.3.*/unix \
../../tcl8.3/unix \
../../tcl8.2b*/unix \
../../tcl8.2a*/unix \
../../tcl8.1.*/unix \
../../tcl8.1/unix \
../../tcl8.1b*/unix \
../../tcl8.1a*/unix \
../../tcl8.0.*/unix \
../../tcl8.0/unix \
../../tcl/unix \
../../tcl \
$exec_prefix/lib \
$prefix/lib \
/usr/local/lib \
/usr/lib"
for dir in $places; do
if test -n "$memchan_cv_lib_TCL_LIB"; then
break
fi
Notice that the test doesn't test anything - the dir loops through places, but is never used! This loop is useless as written here.
Then the if goes on to this:
for version in 8.3 8.2 8.1.1 8.1 8.0.5 8.0.4 8.0.3 8.0 83 82 811 81 805
804 803 80 ""; do
if test -n "$memchan_cv_lib_TCL_LIB"; then
break
fi
for libsuff in .so ".so.*" .sl .a; do
if test -n "$memchan_cv_lib_TCL_LIB"; then
break
fi
if test -f $dir/libtcl$version$libsuff; then
memchan_cv_lib_TCL_LIB="-L$dir -ltcl$version"
TCL_LIB_DIR="$dir"
fi
done
done
The first test would never be reached - that if before the for version loop would have dropped out before ever reaching this. Then the same test occurs, a THIRD time, inside the for libsuff loop. Nowthe a test comes along that uses dir and version and libsuff to look for something. Once that is set, then that variable being tested is set. Okay, so the if statements were intended to catch this setting.
Seems like, however, that the version list in this piece of code should match the order of things in places, shouldn't it?
Ah, the --with-tcl-lib doesn't work because the list of tcl versions in the loop doesn't include 8.4 or 8.5.
Sorry about the other stuff... should have read a bit closer.
But there is a problem with configure and versions here...
Logged In: YES
user_id=75003
Originator: NO
The unix/configure(.in) is documented to not work for Tcl 8.3 or higher.
See the file README.install. This buildsystem has been superceded by the
TEA buildsystem in the top directory for Tcl 8.3+.
Regarding the other things I have no idea off the top of my head what the code should do. What does 'test -n' mean for example ? There is nothing in the manpages. Could be another bug.
Should I contemplate to simply delete the unix/ buildsystem ?
There is the TEA one at the TOP.
Logged In: YES
user_id=15949
Originator: YES
perhaps rename the unix directory something like unix-preTcl8.4 or something, just to emphasize the difference... I may not be the only person who doesn't read the README files, and since Tcl, Tk, and many other Tcl related programs and extensions use unix as the name for configuring and building the latest code on the unix platform, that would at least highlight the fact that something peculiar was going on.
Or you could just drop it altogether - it would be in the cvs repository for someone who needed to go back that far...
Logged In: YES
user_id=75003
Originator: NO
While renaming directories is a awkward operation in CVS just dropping the files is easy. ... Ok, I will drop this stuff. That should remove all doubt about what to use. I noticed in another bug report that Pat claims that we have junk under win/ as well. I will look at that too and drop as needed.