diff options
author | das <das> | 2005-05-24 04:21:31 (GMT) |
---|---|---|
committer | das <das> | 2005-05-24 04:21:31 (GMT) |
commit | 6dfa2486c8892cf041351eb8870a7da62a3c3972 (patch) | |
tree | ba20400bcdbf394be0258f6dc603b703b1a34d56 /macosx/README | |
parent | 2c0041d712e934b5cee15c190e6122c9fa6fceb2 (diff) | |
download | tk-6dfa2486c8892cf041351eb8870a7da62a3c3972.zip tk-6dfa2486c8892cf041351eb8870a7da62a3c3972.tar.gz tk-6dfa2486c8892cf041351eb8870a7da62a3c3972.tar.bz2 |
* macosx/Makefile:
* macosx/README:
* macosx/Tk-Info.plist.in (new file):
* macosx/Wish-Info.plist.in (new file):
* unix/Makefile.in:
* unix/configure.in:
* unix/tcl.m4:
* unix/tkUnixInit.c: moved all Darwin framework and TkAqua build
support from macosx/Wish.pbproj and macosx/Makefile into the standard
unix configure/make buildsystem, the project and macosx/Makefile are
no longer required to build Tk.framework and/or TkAqua. TkAqua is now
enabled by the --enable-aqua configure option, and static and
non-framework builds of TkAqua are now available via the standard
configure switches. Tk/X11 can also be built as a framework. The
macosx/Makefile now wraps the unix buildsystem and no longer uses the
projects, embedded builds are still only available via this Makefile,
but for other builds it is not longer required (but its current
functionality is still available for backwards compatibility). The
projects currently do not call through to the Makefile to build
(unlike Tcl.pbproj) so project builds may differ from makefile builds.
Due to issues with spaces in pathnames, 'Wish Shell.app' has been
renamed to 'Wish.app', the macosx/Makefile installs backwards
compatibility symlinks for the old name.
* macosx/tkMacOSXInit.c (TkpInit): added support for Tk resource file
in non-framework and static builds: the resource file is copied into a
__tk_rsrc MachO segment of the library or executable at link time and
extracted into a temporary location at initialization.
* unix/configure: autoconf-2.13
Diffstat (limited to 'macosx/README')
-rw-r--r-- | macosx/README | 63 |
1 files changed, 24 insertions, 39 deletions
diff --git a/macosx/README b/macosx/README index 6f31535..70d1961 100644 --- a/macosx/README +++ b/macosx/README @@ -1,7 +1,7 @@ TclTkAqua README ---------------- -RCS: @(#) $Id: README,v 1.6.2.7 2005/04/09 15:39:39 das Exp $ +RCS: @(#) $Id: README,v 1.6.2.8 2005/05/24 04:21:32 das Exp $ This is the README file for the Mac OS X native versions of Tcl & Tk. @@ -47,7 +47,7 @@ OS9 TclTk droplets. - If standard input is a special file of zero length (e.g. /dev/null), Wish brings up the tk console window at startup. This is the case when double -clicking Wish in the Finder (or using 'open Wish\ Shell.app' from the Terminal). +clicking Wish in the Finder (or using 'open Wish.app' from the Terminal). - Tcl extensions will be found in any of: $HOME/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl @@ -68,12 +68,12 @@ No manpages are installed by default for either tcl or tk. system's standard framework directories: $HOME/Library/Frameworks /Library/Frameworks /Network/Library/Frameworks /System/Library/Frameworks -and 'Wish Shell' as well as /usr/bin/tclsh will work. +and 'Wish' as well as /usr/bin/tclsh will work. -- /usr/bin/wish is a script that calls a copy of 'Wish Shell' contained in +- /usr/bin/wish is a script that calls a copy of 'Wish' contained in Tk.framework/Resources -- if 'Wish Shell' is started from the Finder or via 'open', $argv contains a +- if 'Wish' is started from the Finder or via 'open', $argv contains a "-psn_XXXX" argument. This is the Wish's carbon process serial number, you may need to filter it out for cross platform compatibility of your scripts. @@ -143,14 +143,14 @@ have come with Mac OS X retail or should be present as a disk image on new macs that came with OSX preinstalled. It can also be downloaded from http://connect.apple.com (after you register for free ADC membership). -- Tcl is built as a Mac OS X framework via the Makefile in tcl/macosx, but can -also be built from Apple's ProjectBuilder IDE using the Tcl.pbproj project (which -calls through to the Makefile). +- Tcl and Tk are built as a Mac OS X frameworks via the Makefiles in tcl/macosx +and tk/macosx, but can also be built directly with the standard unix configure +and make buildsystem in tcl/unix resp. tk/unix. -- TkAqua is built as a Mac OS X frameworks using Apple's ProjectBuilder -IDE, but you do not have to deal with the IDE if you don't want to, the -Makefile in tk/macosx takes care of calling the ProjectBuilder command line tool -with all the details taken care of. +- It is still possible to build with Apple's Xcode IDE using the Tcl.pbproj and +Wish.pbproj projects but this is not recommended anymore (currently Tcl.pbproj +calls through to the tcl/macosx/Makefile; but Wish.pbproj doesn't, so there could +be build differences). - Unpack the tcl and tk source release archives and place the tcl and tk source trees in a common parent directory. @@ -172,9 +172,7 @@ set ${ver} to the empty string instead: set ver="" ;: if your shell is csh ver="" ;: if your shell is sh -- If you're only interested in _building_ TclTkAqua and don't plan on doing -development with the ProjectBuilder projects, using the Makefiles is easiest. -The following steps will build Tcl and Tk from the Terminal, assuming you are +- The following steps will build Tcl and Tk from the Terminal, assuming you are located in the directory containing the tcl and tk source trees: make -C tcl${ver}/macosx make -C tk${ver}/macosx @@ -202,11 +200,11 @@ For example, to build and install only the optimized versions: sudo make -C tcl${ver}/macosx install-deploy sudo make -C tk${ver}/macosx install-deploy -- The Makefiles can also build a version of 'Wish Shell' that has the Tcl and Tk +- The Makefiles can also build a version of 'Wish' that has the Tcl and Tk frameworks embedded in its application package. This allows for standalone deployment of the application with no installation required, e.g. from read-only media. To build & install in this manner, use the 'embedded' target variants of -the Makefiles. For example, to build a standalone 'Wish Shell.app' +the Makefiles. For example, to build a standalone 'Wish.app' in ./embedded/Applications/Utilities: make -C tcl${ver}/macosx embedded make -C tk${ver}/macosx embedded @@ -217,32 +215,19 @@ Notes: require any new compiling or linking, so you can skip the first two makes. (making relinking unnecessary was added in 8.4.2) * the embedded frameworks include only optimized builds and no documentation. - * the standalone Wish has the directory Wish\ Shell.app/Contents/lib in its + * the standalone Wish has the directory Wish.app/Contents/lib in its auto_path. Thus you can place tcl extensions in this directory (i.e. embed them in the app package) and load them with [package require]. -- It is possible to build Tk without without the tcl sourcetree; but in that -case you need to tell the Tk Makefile where the copies of 'Tcl.framework' and -'tclsh8.4' are located that you want to build & link against -(their default location is ${BUILD_DIR}/tcl). - -For instance to use their default systemwide install locations: +- It is possible to build Tk against an installed Tcl.framework; but you will +still need a tcl sourcetree in the location specified in TCL_SRC_DIR in +Tcl.framework/tclConfig.sh. Also, linking with Tcl.framework has to work +exactly as indicated in TCL_LIB_SPEC in Tcl.framework/tclConfig.sh. +If you used non-default install locations for Tcl.framework, specify them as +make overrides to the tk/macosx Makefile, e.g. make -C tk${ver}/macosx \ - TCL_FRAMEWORK_DIR=/Library/Frameworks TCLSH_DIR=/usr/bin + TCL_FRAMEWORK_DIR=$HOME/Library/Frameworks TCLSH_DIR=$HOME/usr/bin sudo make -C tk${ver}/macosx install \ - TCL_FRAMEWORK_DIR=/Library/Frameworks TCLSH_DIR=/usr/bin -[ of course this will only work if /Library/Frameworks does indeed contain a ] -[ Tcl.framework corresponding in version to the Tk.framework you're trying to ] -[ build, and if TCLSH_DIR contains a corresponding /usr/bin/tclsh8.4 ] - -or to use an earlier install of Tcl into INSTALL_ROOT="${TCLTK}/" : - make -C tk${ver}/macosx \ - TCL_FRAMEWORK_DIR=${TCLTK}/Library/Frameworks TCLSH_DIR=${TCLTK}/usr/bin - sudo make -C tk${ver}/macosx install INSTALL_ROOT="${TCLTK}/" \ - TCL_FRAMEWORK_DIR=${TCLTK}/Library/Frameworks TCLSH_DIR=${TCLTK}/usr/bin + TCL_FRAMEWORK_DIR=$HOME/Library/Frameworks TCLSH_DIR=$HOME/usr/bin The Makefile variables TCL_FRAMEWORK_DIR and TCLSH_DIR were added in Tk 8.4.3. - -Note that html help in Tk.framework is only built if TCL_FRAMEWORK_DIR contains -the tcl Makefile (as is the case for the default value of TCL_FRAMEWORK_DIR). - |