Ticket UUID: | 947735 | |||
Title: | TEA: better MacOSX defaults | |||
Type: | RFE | Version: | None | |
Submitter: | dgp | Created on: | 2004-05-04 14:52:21 | |
Subsystem: | 85. tclconfig | Assigned To: | das | |
Priority: | 6 | Severity: | ||
Status: | Closed | Last Modified: | 2005-06-23 16:58:09 | |
Resolution: | Fixed | Closed By: | das | |
Closed on: | 2005-06-23 09:58:08 | |||
Description: |
The default ./configure; make install doesn't work on a MacOSX/Aqua install of Tcl/Tk. The auto_path for wish is not a superset of the auto_path for tclsh. Default install seems to place the package where wish cannot [package require] it. configure --libdir=/Library/Tcl is one important step to a successful TEA instal on Mac OSX. The complete set should be determined and made the default on that platform. | |||
User Comments: |
das added on 2005-06-23 16:58:09:
File Added - 139492: tclconfig.diff das added on 2005-06-23 16:58:08: Logged In: YES user_id=90580 the attached patch adds changes to tcl.m4 to better support framework builds of Tcl and Tk out of the box: search framework install locations for *Config.sh, and if in presence of a framework build, use the framework's Headers and PrivateHeaders directories for public and private includes. this means that a standard /configure; make of a TEA extension now works on Darwin with just Tcl.framework installed in one of the standard framework directories committed the patch to tclconfig das added on 2005-05-31 10:31:20: Logged In: YES user_id=90580 Jeff, TEA should still be smarter about the framework build of tcl/tk on OSX, i.e. it should look for t{cl,k}Config.,sh in /Library/Framework/T{cl,k}.framework if it is not found in /usr/lib etc, also, when in presence of a framework build (i.e. *Config.sh inside a .framework) the include dirs should automatically be set to the .framework/ Headers dirs. hobbs added on 2005-05-31 08:47:25: Logged In: YES user_id=72656 I think this is out of date now ... dgp added on 2004-12-16 13:21:16: Logged In: YES user_id=80530 I think [load]-able Tk on Aqua got done, so perhaps it's time to look into this again? dgp added on 2004-08-20 01:42:49: Logged In: YES user_id=80530 Note to self: Test how well TEA 3.1 resolves this request. das added on 2004-05-05 22:16:30: Logged In: YES user_id=90580 a loadable Tk is not easily possible at present due to several technical issues, this has been discussed a number of times in detail on tcl-mac in the past. Some of these issues are in the current tk aqua startup code which could be fixed with some work, others are OS specific and might be fixed in a future release of the OS or could be worked around by us. With a fair amount of work I suspect it would be possible to implement loadable Tk, but it hasn't been high on anybody's list of priorities... dgp added on 2004-05-05 22:09:35: Logged In: YES user_id=80530 Is it possible to have [load]-able (that is, [package require]-able) Tk in tclsh on Mac OSX? Or are we stuck on that system to use wish for Tk-using programs? das added on 2004-05-05 09:38:40: Logged In: YES user_id=90580 BTW, the reason the wish auto_path is not a superset of the tclsh auto_path is because these executables are necessarily located in different places in the filesystem, we cannot avoid that due to platform specificities. because tcl init code derives part of the default auto_path from the location of the executable, these parts end up being different in tclsh and wish. The same thing happens on other platforms is you move tclsh and wish to different directories... das added on 2004-05-05 09:35:21: Logged In: YES user_id=90580 Don, fully agree, I have been meaning to make TEA more MacOSX aware for a while, the main problem is finding the time to do the work... currently you have to configure TEA on Mac OS X as follows for best results ./configure --libdir=/Library/Tcl \ --with-tcl=/Library/Frameworks/Tcl.framework --with- tclinclude=/Library/Frameworks/Tcl.framework/Headers \ --with-tk=/Library/Frameworks/Tk.framework --with- tkinclude=/Library/Frameworks/Tk.framework/Headers certainly the "include" flags values could easily be derived by TEA from the locations of tcl and tk, and the frameworks locations should be additional places TEA checks for Tcl/Tk by default. finding the correct value for libdir is more difficult, this is set on macosx by compiling with a value of TCL_PACKAGE_PATH that could potentially be different from build to build. /Library/Tcl is just the current default in tcl/ macosx/Makefile. This is a problem on other platforms as well, probably the value of TCL_PACKAGE_PATH should be preserved in tclConfig.sh, or TEA could use tcl to get the value of tcl_pkgPath, not sure what the best solution is. |
Attachments:
- tclconfig.diff [download] added by das on 2005-06-23 16:58:08. [details]