Is there any particular reason why XOTcl still requires the Tcl source lying around to compile? Generally I find it awkward and not quite "clean" that some Tcl extensions require the original Tcl source and I've never really needed it myself for my own stuff.
On Sunday 02 March 2003 11:15, Kristoffer Lawson wrote:
Is there any particular reason why XOTcl still requires the Tcl source lying around to compile? Generally I find it awkward and not quite "clean" that some Tcl extensions require the original Tcl source and I've never really needed it myself for my own stuff.
Dear Kristoffer,
there is a short answer and a very long answer to your question. XOTcl needs the Tcl-source since it contains several .h files that are not included in typical binary distributions. Such files are tclInt.h or tclCompile.h. The first one is sneeking into more distributions (a student told me that his SuSE distro includes tclInt.h), tclCompile.h was just needed for speed (1.0.2 has a better configure script that checks automatically this file).
The long answer where i am not going into details is, why des XOTcl need tclInt.h. In short, XOTcl needs it because its needs access to internal of several tcl structures that are not public available. Examples are the structures Command, Namespace, Interp. Certainly it will be possible to define access functions to access the relevant info, and we could try to push these into the tcl-source development, but we have not started this effort jet. Just comment out the include statement of tclInt.h, and you will see how many places are involved. We have on our informal todo-list a step where we define access macros fort the relevant infos, but this is currently not top priority. I agree certainly that it would be much nicer to get rid of tclInt.h.
best regards -gusaf
On Mon, 3 Mar 2003, Gustaf Neumann wrote:
The long answer where i am not going into details is, why des XOTcl need tclInt.h. In short, XOTcl needs it because its needs access to internal of several tcl structures that are not public available. Examples are the structures Command, Namespace, Interp. Certainly it will be possible
Command and interp too? I can understand the need for namespace, and I still find it strange that these functions are not available publicly. But what exactly is needed from command and interp that is not already publicly available? OK, I guess I could delve into the source code to find out ;-)
I was just wondering because I remember asking this before and I vaguely remember someone saying there would be progress in that for the future. This was back in the 0.8? days.
Anyway, just compiles 1.0 there for Ants and I noticed some changes to the filter interfaces and whatever, but other than that no problems yet. It's always such a joy to use XOTcl again :-)