This is not necessarily the current version of this TIP.
| TIP: | 203 |
| Title: | Create tclConfig.sh-Equivalent in Tcl |
| Version: | $Revision: 1.5 $ |
| Authors: |
Colin McCormack <coldstore at users dot sourceforge dot net> Don Porter <dgp at users dot sf dot net> Colin McCormack <colin at sharedtech dot dyndns dot org> |
| State: | Draft |
| Type: | Project |
| Tcl-Version: | 8.5 |
| Vote: | Pending |
| Created: | Thursday, 17 June 2004 |
| Discussions To: | http://mini.net/tcl/tclConfig.sh |
| Keywords: | configuration, installation |
This proposal requires the registration of information about the built process, currently stored in tclConfig.sh, by means of the Tcl_RegisterConfig mechanism set out in [Tip 59].
Packages such as Critcl[1], and indeed anything written in pure tcl which tries to build extensions under Tcl need more introspection to discover the ground rules of construction in the installation in which they find themselves.
In order to facilitate such future build tools, the build information should be made available to Tcl scripts.
The web page http://mini.net/tcl/tclConfig.sh contains a parser to understand a tclConfig.sh and set variables in the ::tclConfig namespace.
I will analyse the contents of tclConfig.sh and specify which fields should be added (more likely, which fields should be left out.)
How about converting this proposal into a proposal listing the values found in tclConfig.sh and proposing that Tcl should pass those values into Tcl_RegisterConfig during initialization? That would make all the values available to scripts via the ::tcl::pkgconfig command.
Several of the assigned values in tclConfig.sh contain references to other variables - should these be reproduced verbatim, or evaluated prior to registration? I'm leaning toward verbatim storage: let the people who need the data construct an evaluation which serves their purposes because (a) the form is easy enough to evaluate, as in the parser I threw together, (b) there might be information in the verbatim form which needs to be preserved. Comments welcome.
This document has been placed in the public domain.
This is not necessarily the current version of this TIP.