os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/macosx/README
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/macosx/README Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,150 @@
1.4 +Tcl Mac OS X README
1.5 +-------------------
1.6 +
1.7 +RCS: @(#) $Id: README,v 1.1.2.9 2007/04/29 02:21:33 das Exp $
1.8 +
1.9 +This is the README file for the Mac OS X/Darwin version of Tcl.
1.10 +
1.11 +
1.12 +1. Where to go for support
1.13 +--------------------------
1.14 +
1.15 +- The tcl-mac mailing list on sourceforge is the best place to ask questions
1.16 +specific to Tcl & Tk on Mac OS X:
1.17 + http://lists.sourceforge.net/lists/listinfo/tcl-mac
1.18 +(this page also has a link to searchable archives of the list, please check them
1.19 +before asking on the list, many questions have already been answered).
1.20 +
1.21 +- For general Tcl/Tk questions, the newsgroup comp.lang.tcl is your best bet:
1.22 + http://groups.google.com/group/comp.lang.tcl/
1.23 +
1.24 +- The Tcl'ers Wiki also has many pages dealing with Tcl & Tk on Mac OS X, see
1.25 + http://wiki.tcl.tk/references/3753!
1.26 + http://wiki.tcl.tk/references/8361!
1.27 +
1.28 +- Please report bugs with Tcl or Tk on Mac OS X to the sourceforge bug trackers:
1.29 + Tcl: http://sf.net/tracker/?func=add&group_id=10894&atid=110894
1.30 + Tk: http://sf.net/tracker/?func=add&group_id=12997&atid=112997
1.31 +please make sure that your report Tk specific bugs to the tktoolkit project bug
1.32 +tracker rather than the tcl project bug tracker.
1.33 +Mac OS X specific bugs should usually be assigned to 'das' or 'wolfsuit'.
1.34 +
1.35 +
1.36 +2. Using Tcl on Mac OS X
1.37 +------------------------
1.38 +
1.39 +- At a minimum, Mac OS X 10.1 is required to run Tcl, but OS X 10.3 or higher is
1.40 +recommended (certain [file] operations behave incorrectly on earlier releases).
1.41 +
1.42 +- Unless weak-linking is used, Tcl built on Mac OS X 10.x will not run on 10.y
1.43 +with y < x; on the other hand Tcl built on 10.y will always run on 10.x with
1.44 +y <= x (but without any of the fixes and optimizations that would be available
1.45 +in a binary built on 10.x).
1.46 +Weak-linking is available on OS X 10.2 or later, it additionally allows Tcl
1.47 +built on 10.x to run on any 10.y with x > y >= z (for a chosen z >= 2).
1.48 +
1.49 +- Tcl extensions can be installed in any of:
1.50 + $HOME/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl
1.51 + $HOME/Library/Frameworks /Library/Frameworks /Network/Library/Frameworks
1.52 + /System/Library/Frameworks (searched in that order).
1.53 +Given a potential package directory $pkg, Tcl on OSX checks for the file
1.54 +$pkg/Resources/Scripts/pkgIndex.tcl as well as the usual $pkg/pkgIndex.tcl.
1.55 +This allows building extensions as frameworks with all script files contained in
1.56 +the Resources/Scripts directory of the framework.
1.57 +
1.58 +- [load]able binary extensions can linked as either ordinary shared libraries
1.59 +(.dylib) or as MachO bundles (since 8.4.10/8.5a3); only bundles can be unloaded,
1.60 +and bundles are also loaded more efficiently from VFS (no temporary copy to the
1.61 +native filesystem required).
1.62 +
1.63 +- The 'deploy' target of macosx/Makefile installs the html manpages into the
1.64 +standard documentation location in the Tcl framework:
1.65 + Tcl.framework/Resources/Documentation/Reference/Tcl
1.66 +No nroff manpages are installed by default by the Makefile.
1.67 +
1.68 +- The Tcl framework can be installed in any of the system's standard
1.69 +framework directories:
1.70 + $HOME/Library/Frameworks /Library/Frameworks
1.71 + /Network/Library/Frameworks /System/Library/Frameworks
1.72 +
1.73 +
1.74 +3. Building Tcl on Mac OS X
1.75 +---------------------------
1.76 +
1.77 +- At least Mac OS X 10.1 is required to build Tcl, and Apple's Developer Tools
1.78 +need to be installed (only the most recent version matching your OS release is
1.79 +supported). The Developer Tools installer is available on Mac OS X retail disks
1.80 +or is present in /Applications/Installers on Macs that came with OS X
1.81 +preinstalled. The most recent version can be downloaded from the ADC website
1.82 +http://connect.apple.com (after you register for free ADC membership).
1.83 +
1.84 +- Tcl is most easily built as a Mac OS X framework via Makefile in tcl/macosx
1.85 +(see below for details), but can also be built with the standard unix configure
1.86 +and make buildsystem in tcl/unix as on any other unix platform (indeed, the
1.87 +Makefile is just a wrapper around the unix buildsystem).
1.88 +The Mac OS X specific configure flags are --enable-framework and
1.89 +--disable-corefoundation (which disables CF and notably reverts to the standard
1.90 +select based notifier).
1.91 +
1.92 +- It is also possible to build with Apple's IDE via the tcl/macosx/Tcl.pbproj
1.93 +project, this simply calls through to the tcl/macosx/Makefile.
1.94 +
1.95 +- To build universal binaries, set CFLAGS as follows:
1.96 + export CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 \
1.97 + -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"
1.98 +This requires Mac OS X 10.4 and Xcode 2.4 (or Xcode 2.2 if -arch x86_64 is
1.99 +omitted, but _not_ Xcode 2.1) and will work on any of the architectures (the
1.100 +-isysroot flag is only required on PowerPC Tiger).
1.101 +Note that configure requires CFLAGS to contain a least one architecture that can
1.102 +be run on the build machine (i.e. ppc on G3/G4, ppc or ppc64 on G5, ppc or i386
1.103 +on Core and ppc, i386 or x86_64 on Core2/Xeon).
1.104 +Universal builds of Tcl TEA extensions are also possible with CFLAGS set as
1.105 +above, they will be [load]able by universal as well as thin binaries of Tcl.
1.106 +
1.107 +- To enable weak-linking, set the MACOSX_DEPLOYMENT_TARGET environment variable
1.108 +to the minimal OS version (>= 10.2) the binaries should be able to run on, e.g:
1.109 + export MACOSX_DEPLOYMENT_TARGET=10.2
1.110 +This requires Mac OS X 10.2 and gcc 3.1; if you have gcc 4 or later you can set
1.111 +CFLAGS instead:
1.112 + export CFLAGS="-mmacosx-version-min=10.2"
1.113 +Support for weak-linking was added to the code for 8.4.14/8.5a5.
1.114 +
1.115 +Detailed Instructions for building with macosx/Makefile
1.116 +-------------------------------------------------------
1.117 +
1.118 +- Unpack the tcl source release archive.
1.119 +
1.120 +- The following instructions assume the tcl source tree is named "tcl${ver}",
1.121 +where ${ver} is a shell variable containing the tcl version number (for example
1.122 +'8.4.12').
1.123 +Setup the shell variable as follows:
1.124 + set ver="8.4.12" ;: if your shell is csh
1.125 + ver="8.4.12" ;: if your shell is sh
1.126 +The source tree will be named this way only if you are building from a release
1.127 +archive, if you are building from CVS, the version numbers will be missing; so
1.128 +set ${ver} to the empty string instead:
1.129 + set ver="" ;: if your shell is csh
1.130 + ver="" ;: if your shell is sh
1.131 +
1.132 +- The following steps will build Tcl from the Terminal, assuming you are located
1.133 +in the directory containing the tcl source tree:
1.134 + make -C tcl${ver}/macosx
1.135 +and the following will then install Tcl onto the root volume (admin password
1.136 +required):
1.137 + sudo make -C tcl${ver}/macosx install
1.138 +if you don't have the admin password, you can install into your home directory,
1.139 +instead by passing an INSTALL_ROOT argument to make:
1.140 + make -C tcl${ver}/macosx install INSTALL_ROOT="${HOME}/"
1.141 +
1.142 +- The default Makefile targets will build _both_ debug and optimized versions of
1.143 +the Tcl framework with the standard convention of naming the debug library
1.144 +Tcl.framework/Tcl_debug.
1.145 +This allows switching to the debug libraries at runtime by setting
1.146 + export DYLD_IMAGE_SUFFIX=_debug
1.147 +(c.f. man dyld for more details)
1.148 +
1.149 +If you only want to build and install the debug or optimized build, use the
1.150 +'develop' or 'deploy' target variants of the Makefiles, respectively.
1.151 +For example, to build and install only the optimized versions:
1.152 + make -C tcl${ver}/macosx deploy
1.153 + sudo make -C tcl${ver}/macosx install-deploy