From: SourceForge.net <no...@so...> - 2012-06-06 09:13:25
|
Bugs item #3532186, was opened at 2012-06-05 07:39 Message generated for change (Comment added) made by nijtmans You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=3532186&group_id=12997 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 84. Unix Build Group: current: 8.5.11 >Status: Pending >Resolution: Fixed Priority: 9 Private: No Submitted By: Don Porter (dgp) >Assigned to: Don Porter (dgp) Summary: pkgIndex.tcl file complexity that's unwarranted Initial Comment: On the 8.5 and trunk branches, the pkgIndex.tcl file for Tk just grew much more complex, and the need for it is not apparent to me. There is no need for the installed pkgIndex.tcl file to account for all the possible DLLs and installation conventions that might have been used. At the time you install a pkgIndex.tcl file, you know which kind of DLL you installed, and where you're putting it, so you should install just the right simple pkgIndex.tcl file that matches what you've done. There should be no need to sort these things out again at run time. ---------------------------------------------------------------------- >Comment By: Jan Nijtmans (nijtmans) Date: 2012-06-06 02:13 Message: On the Tk 8.4 branch, I already simplified it, but this version was not promoted to 8.5 and 8.6 yet. Done now. The original problem was that the cygwin dll was installed in the ../bin directory, so a special pkgIndex file for cygwin was needed anyway. The use-case for the need for run-time distinction, is when the cygwin build and the win32 build are installed in the same directory. This is now possible and very handy, because both tcl ports share the same stub tables. This means that the win32 version of Tk can be loaded in the cygwin version of Tcl, and reverse (in theory, I don't know why anyone would want the latter). Then there are two dll's (libtk8.6.dll and libtk86.dll) available, which, in theory can be used by both Cygwin and win32. When doing "package require Tk" from cygwin, it depends on the presence of the X11 environment which of the two dll's are loaded, and that can be determined by the presence of env(DISPLAY) or the presence of the command line option "-display". So, runtime determination of the presence of cygwin X11 is the only option I see to make this all possible. B.T.W: This is meant for cygwin and win32 only, on other platforms everything is now as before. Is this acceptable to you? Regards, Jan Nijtmans ---------------------------------------------------------------------- Comment By: Andreas Kupries (andreas_kupries) Date: 2012-06-05 10:35 Message: Actually checkin db6c270430 the day before, on 8.4 branch. And I agree with Don, the generated pkgIndex.tcl should be as simple as possible, i.e. simply match what is installed. If there are variants, sort them out at build time. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2012-06-05 08:13 Message: checkin 0cb2832ca4 2012-04-18 04:40:23 started this unwelcome change. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=3532186&group_id=12997 |