diff options
-rw-r--r-- | ChangeLog | 28 | ||||
-rw-r--r-- | generic/tcl.h | 5 | ||||
-rw-r--r-- | macosx/Makefile | 280 | ||||
-rw-r--r-- | macosx/README | 120 | ||||
-rw-r--r-- | macosx/Tcl.pbproj/jingham.pbxuser | 440 | ||||
-rw-r--r-- | macosx/Tcl.pbproj/project.pbxproj | 355 | ||||
-rwxr-xr-x | tools/tcltk-man2html.tcl | 63 | ||||
-rw-r--r-- | unix/Makefile.in | 9 |
8 files changed, 496 insertions, 804 deletions
@@ -1,3 +1,31 @@ +2003-07-15 Daniel Steffen <das@users.sourceforge.net> + + * macosx/Makefile: Rewrote buildsystem for Mac OS X framework build + to be purely make driven; in order to become independent of Apple's + closed-source IDE and build tool. The changes are intended to be + transparent to the Makefile user, all existing make targets and + cmd line variable overrides should continue to work. + Changed build to only include tcl specific html help in Tcl.framework, + the tk specific html help is now included in Tk.framework. + + * macosx/Tcl.pbproj/project.pbxproj: + * macosx/Tcl.pbproj/jingham.pbxuser: Changed to purely call through + to the make driven buildsystem; Tcl.framework is no longer assembled + by ProjectBuilder. + Set default SYMROOT in target options to simplify setting up PB + (manually setting common build folder for tcl & tk no longer needed). + + * tools/tcltk-man2html.tcl: Added options to allow building only the + tcl or tk html help files; the default behaviour with none of the new + options is to build both, as before. + + * unix/Makefile.in: Added targets for building only the tcl or tk help. + + * macosx/README (new): Tcl specific excerpts of tk/macosx/README. + + * generic/tcl.h: Updated reminder comment about editing + macosx/Tcl.pbproj/project.pbxproj when version number changes. + 2003-07-11 Donal K. Fellows <fellowsd@cs.man.ac.uk> * tests/binary.test (binary-46.*): Tests to help enforce the diff --git a/generic/tcl.h b/generic/tcl.h index f3d9dab..7d671e0 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -13,7 +13,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tcl.h,v 1.153.2.3 2003/05/15 18:59:37 hobbs Exp $ + * RCS: @(#) $Id: tcl.h,v 1.153.2.4 2003/07/15 01:15:50 das Exp $ */ #ifndef _TCL @@ -46,8 +46,7 @@ extern "C" { * win/makefile.vc (not patchlevel) 2 LOC * README (sections 0 and 2) * mac/README (2 LOC, not patchlevel) - * macosx/Tcl.pbproj/project.pbxproj - * (7 LOC total, 2 LOC patch) + * macosx/Tcl.pbproj/project.pbxproj (not patchlevel) 2 LOC * win/README.binary (sections 0-4) * win/README (not patchlevel) (sections 0 and 2) * unix/tcl.spec (2 LOC Major/Minor, 1 LOC patch) diff --git a/macosx/Makefile b/macosx/Makefile index fec1e4b..3ae458a 100644 --- a/macosx/Makefile +++ b/macosx/Makefile @@ -1,87 +1,221 @@ -################################################################################ +######################################################################################################## # -# Simple makefile for building on Mac OS X with the -# Project Builder command line tool 'pbxbuild' +# Makefile to build Tcl on Mac OS X packaged as a Framework +# uses standard unix build system in tcl/unix # -# RCS: @(#) $Id: Makefile,v 1.5 2003/02/19 16:43:29 das Exp $ +# RCS: @(#) $Id: Makefile,v 1.5.2.1 2003/07/15 01:15:51 das Exp $ # -################################################################################ +######################################################################################################## -INSTALL_ROOT ?= +#------------------------------------------------------------------------------------------------------- +# customizable settings -BUILD_DIR ?= ${CURDIR}/../../build +DESTDIR ?= +INSTALL_ROOT ?= ${DESTDIR} -TARGET = Tcl +BUILD_DIR ?= ${CURDIR}/../../build +SYMROOT ?= ${BUILD_DIR}/${PROJECT} +OBJROOT ?= ${SYMROOT} -DEVBUILDSTYLE = Development -DEPBUILDSTYLE = Deployment +EXTRA_CONFIGURE_ARGS ?= +EXTRA_MAKE_ARGS ?= -PBXBUILD = /usr/bin/pbxbuild +INSTALL_PATH ?= /Library/Frameworks +PREFIX ?= /usr +BINDIR ?= ${PREFIX}/bin -BUILD = ${PBXBUILD} SYMROOT="${BUILD_DIR}" -target "${TARGET}" +TCL_PACKAGE_PATH ?= "~/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl \ + ~/Library/Frameworks /Library/Frameworks /Network/Library/Frameworks \ + /System/Library/Frameworks" -DEVBUILD = ${BUILD} -buildstyle "${DEVBUILDSTYLE}" -DEPBUILD = ${BUILD} -buildstyle "${DEPBUILDSTYLE}" +#------------------------------------------------------------------------------------------------------- +# meta targets -INSTALLOPTS = INSTALL_ROOT="${INSTALL_ROOT}" +meta := all install embedded install-embedded clean distclean -EMBEDDEDOPTS = EMBEDDED_BUILD=1 +styles := develop deploy -################################################################################ +all := ${styles} +all : ${all} -all: develop deploy - -install: install-develop install-deploy - -embedded: embedded-deploy - -install-embedded: install-embedded-deploy - -clean: clean-develop clean-deploy - -################################################################################ - -develop: - ${DEVBUILD} - -deploy: - ${DEPBUILD} - -install-develop: - ${DEVBUILD} install ${INSTALLOPTS} - -install-deploy: - ${DEPBUILD} install ${INSTALLOPTS} - -embedded-develop: - ${DEVBUILD} ${EMBEDDEDOPTS} - -embedded-deploy: - ${DEPBUILD} ${EMBEDDEDOPTS} - -install-embedded-develop: - ${DEVBUILD} install ${INSTALLOPTS} ${EMBEDDEDOPTS} - -install-embedded-deploy: - ${DEPBUILD} install ${INSTALLOPTS} ${EMBEDDEDOPTS} - -clean-develop: - ${DEVBUILD} clean - -clean-deploy: - ${DEPBUILD} clean - -################################################################################ - -forceRelink: - @-cd ${BUILD_DIR}; \ - rm -rf Tcl.framework tclsh8.4 \ - Development.build/Tcl.build/Tcl Deployment.build/Tcl.build/Tcl - -################################################################################ - -.PHONY: all install embedded clean develop deploy install-develop install-deploy \ -embedded-develop embedded-deploy install-embedded-develop install-embedded-deploy \ -clean-develop clean-deploy forceRelink \ - -################################################################################ +install := ${styles:%=install-%} +install : ${install} +install-%: action := install- + +embedded := ${styles:%=embedded-%} +embedded : embedded-deploy +install-embedded := $(embedded:%=install-%) +install-embedded : install-embedded-deploy + +clean := ${styles:%=clean-%} +clean : ${clean} +clean-%: action := clean- +distclean := ${styles:%=distclean-%} +distclean : ${distclean} +distclean-%: action := distclean- + +targets := $(foreach v,${meta},${$v}) + +#------------------------------------------------------------------------------------------------------- +# build styles + +develop_make_args := BUILD_STYLE=Development CONFIGURE_ARGS=--enable-symbols +deploy_make_args := BUILD_STYLE=Deployment \ + MAKE_ARGS=INSTALL_PROGRAM="'$$\$${INSTALL} $$\$${INSTALL_STRIP_PROGRAM}'" \ + MAKE_ARGS+=INSTALL_LIBRARY="'$$\$${INSTALL} $$\$${INSTALL_STRIP_LIBRARY}'" +embedded_make_args := EMBEDDED_BUILD=1 +install_make_args := INSTALL_BUILD=1 + +$(targets): + ${MAKE} ${action}${PROJECT} \ + $(foreach s,${styles} embedded install,$(if $(findstring $s,$@),${${s}_make_args})) + +#------------------------------------------------------------------------------------------------------- +# project specific settings + +PROJECT := tcl +PRODUCT_NAME := Tcl + +UNIX_DIR := ${CURDIR}/../unix +GENERIC_DIR := ${CURDIR}/../generic + +PRODUCT_VERSION := $(shell eval $$(grep '^TCL_VERSION=' ${UNIX_DIR}/configure.in); \ + echo "$${TCL_VERSION}") +PRODUCT_LONGVERSION := $(shell eval $$(grep '^TCL_PATCH_LEVEL=' ${UNIX_DIR}/configure.in); \ + echo "${PRODUCT_VERSION}$${TCL_PATCH_LEVEL}") + +PRIVATE_HEADERS := tclInt.h tclIntDecls.h tclIntPlatDecls.h tclMath.h +TARGETS := tclsh tcltest +TCLSH := tclsh${PRODUCT_VERSION} + +DYLIB_INSTALL_PATH ?= ${INSTALL_PATH} + +TCL_LIBRARY := @TCL_IN_FRAMEWORK@ +LIBDIR := ${INSTALL_PATH}/${PRODUCT_NAME}.framework/Versions/${PRODUCT_VERSION} +DYLIB_INSTALL_DIR := ${DYLIB_INSTALL_PATH}/${PRODUCT_NAME}.framework/Versions/${PRODUCT_VERSION} +INCLUDEDIR := ${LIBDIR}/Headers +PRIVATEINCLUDEDIR := ${LIBDIR}/PrivateHeaders +SCRIPTDIR := ${LIBDIR}/Resources/Scripts +DOCDIR := ${LIBDIR}/Resources/English.lproj/Documentation/Reference +INFOPLIST := ${LIBDIR}/Resources/Info.plist + +BUILD_STYLE = +OBJ_DIR = ${OBJROOT}/${BUILD_STYLE} + +${PROJECT}: override INSTALL_ROOT = ${OBJ_DIR}/ + +MAKE_VARS := INSTALL_ROOT TCL_PACKAGE_PATH TCL_LIBRARY DYLIB_INSTALL_DIR +MAKE_ARGS_V = $(foreach v,${MAKE_VARS},$v=${$v}) +export CPPROG := cp -p + +#------------------------------------------------------------------------------------------------------- +# build rules + +${PROJECT}: install-${PROJECT} + +${OBJ_DIR}/Makefile: ${UNIX_DIR}/Makefile.in ${UNIX_DIR}/configure + mkdir -p ${OBJ_DIR} && cd ${OBJ_DIR} && ${UNIX_DIR}/configure \ + --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --includedir=${INCLUDEDIR} \ + --enable-threads --enable-framework ${CONFIGURE_ARGS} ${EXTRA_CONFIGURE_ARGS} + cd ${OBJ_DIR} && mkdir -p ${PRODUCT_NAME}.framework && \ + ln -fs ../${PRODUCT_NAME} ${PRODUCT_NAME}.framework/${PRODUCT_NAME} + +build-${PROJECT}: ${OBJ_DIR}/Makefile + ${MAKE} -C ${OBJ_DIR} ${TARGETS} ${MAKE_ARGS_V} ${MAKE_ARGS} ${EXTRA_MAKE_ARGS} +# symolic link hackery to trick +# 'make install INSTALL_ROOT=${OBJ_DIR}' +# into building Tcl.framework and tclsh in ${SYMROOT} + cd ${OBJ_DIR}; mkdir -p $(dir ./${INSTALL_PATH}) $(dir ./${BINDIR}); \ + rm -f ./${INSTALL_PATH}; ln -fs ${SYMROOT} ./${INSTALL_PATH}; \ + rm -f ./${BINDIR}; ln -fs ${SYMROOT} ./${BINDIR}; \ + ln -fs ${OBJ_DIR}/tcltest ${SYMROOT} + +clean-${PROJECT}: + ${MAKE} -C ${OBJ_DIR} clean + +distclean-${PROJECT}: + ${MAKE} -C ${OBJ_DIR} distclean + rm -rf ${OBJ_DIR} ${PRODUCT_NAME}.framework tclsh${PRODUCT_VERSION} tcltest + +install-${PROJECT}: build-${PROJECT} +# install to ${INSTALL_ROOT} with optional stripping + ${MAKE} -C ${OBJ_DIR} install-binaries install-libraries \ + SCRIPT_INSTALL_DIR=${INSTALL_ROOT}${SCRIPTDIR} ${MAKE_ARGS_V} ${MAKE_ARGS} ${EXTRA_MAKE_ARGS} + mkdir -p ${INSTALL_ROOT}${PRIVATEINCLUDEDIR} && \ + cd ${GENERIC_DIR} && ${CPPROG} ${PRIVATE_HEADERS} ${INSTALL_ROOT}${PRIVATEINCLUDEDIR} +ifeq (${BUILD_STYLE},Development) +# keep copy of debug library around, so that +# Deployment build can be installed on top +# of Development build without overwriting +# the debug library + cd ${INSTALL_ROOT}${LIBDIR} && ln -f "${PRODUCT_NAME}" "${PRODUCT_NAME}_debug" +endif +# fixup Framework structure + cd ${INSTALL_ROOT}${LIBDIR}/.. && \ + rm -f Current && ln -fs ${PRODUCT_VERSION} Current && \ + cd .. && ln -fs Versions/Current/* . && \ + ln -fs Versions/${PRODUCT_VERSION}/lib*stub* . +ifeq (${INSTALL_BUILD},1) +ifeq (${EMBEDDED_BUILD},1) +# if we are embedding frameworks, don't install tclsh + rm -f "${INSTALL_ROOT}/${BINDIR}/${TCLSH}" + -rmdir -p "${INSTALL_ROOT}/${BINDIR}" 2>&- +else +# redo prebinding + cd ${INSTALL_ROOT}; \ + if [ ! -d usr/lib ]; then mkdir -p usr; ln -fs /usr/lib usr/; RM_USRLIB=1; fi; \ + if [ ! -d System ]; then ln -fs /System .; RM_SYSTEM=1; fi; \ + redo_prebinding -r . "./${BINDIR}/${TCLSH}"; \ + if [ -n "$${RM_USRLIB:-}" ]; then rm -f usr/lib; rmdir -p usr 2>&-; fi; \ + if [ -n "$${RM_SYSTEM:-}" ]; then rm -f System; fi +# install tclsh symbolic link + mkdir -p ${INSTALL_ROOT}/usr/bin && \ + ln -fs ${TCLSH} ${INSTALL_ROOT}/${BINDIR}/tclsh +ifeq (${BUILD_STYLE},Deployment) +# build html documentation + export DYLD_FRAMEWORK_PATH=${SYMROOT} && \ + ${MAKE} -C ${OBJ_DIR} html-tcl \ + DISTDIR=${INSTALL_ROOT}${DOCDIR} TCL_EXE=${SYMROOT}/${TCLSH} && \ + cd ${INSTALL_ROOT}${DOCDIR} && ln -fs contents.htm html/${PRODUCT_NAME}TOC.html && \ + rm -fr "${PRODUCT_NAME}" && mv -f html "${PRODUCT_NAME}" +endif +endif +endif +# write Info.plist file + @printf > ${INSTALL_ROOT}${INFOPLIST} '\ + <?xml version="1.0" encoding="UTF-8"?>\n\ + <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"\ + "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\n\ + <plist version="1.0">\n\ + <dict>\n\ + <key>CFBundleDevelopmentRegion</key>\n\ + <string>English</string>\n\ + <key>CFBundleExecutable</key>\n\ + <string>Tcl</string>\n\ + <key>CFBundleGetInfoString</key>\n\ + <string>Tcl Library ${PRODUCT_VERSION}, Copyright © 2003 Tcl Core Team.\n\ + MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright\ + © 2001-2002, Apple Computer, Inc.</string>\n\ + <key>CFBundleIdentifier</key>\n\ + <string>com.tcltk.tcllibrary</string>\n\ + <key>CFBundleInfoDictionaryVersion</key>\n\ + <string>6.0</string>\n\ + <key>CFBundleName</key>\n\ + <string>Tcl Library ${PRODUCT_VERSION}</string>\n\ + <key>CFBundlePackageType</key>\n\ + <string>FMWK</string>\n\ + <key>CFBundleShortVersionString</key>\n\ + <string>${PRODUCT_LONGVERSION}</string>\n\ + <key>CFBundleSignature</key>\n\ + <string>Tcl </string>\n\ + <key>CFBundleVersion</key>\n\ + <string>${PRODUCT_LONGVERSION}</string>\n\ + </dict>\n\ + </plist>\n' + +#------------------------------------------------------------------------------------------------------- + +.PHONY: ${meta} ${targets} ${PROJECT} build-${PROJECT} install-${PROJECT} \ + clean-${PROJECT} distclean-${PROJECT} + +#------------------------------------------------------------------------------------------------------- diff --git a/macosx/README b/macosx/README new file mode 100644 index 0000000..ced6d99 --- /dev/null +++ b/macosx/README @@ -0,0 +1,120 @@ +Tcl MacOSX README +----------------- + +RCS: @(#) $Id: README,v 1.1.2.1 2003/07/15 01:15:51 das Exp $ + +This is the README file for the Mac OS X native version of Tcl (framework build). + + +1. General +---------- + +- The tcl-mac mailing list on sourceforge is the canonical place for questions +specific to Tcl & Tk on Mac OS X: + http://lists.sourceforge.net/lists/listinfo/tcl-mac +(this page also has a link to searchable archives of the list, please check them +before asking on the list, many questions have already been answered). + +- For general tcl/tk questions, the newsgroup comp.lang.tcl is your best bet, +but also check the Tcl'ers Wiki for a wealth of information: + http://wiki.tcl.tk/ + +- The wiki has a page listing known bugs in Mac OS X Tcl/Tk (and other tips) + http://wiki.tcl.tk/MacOS%20X +as well as a page with info on building Tcl/Tk on Mac OS X + http://wiki.tcl.tk/Steps%20to%20build%20Tcl/Tk%208.4.0%20on%20MacOS%20X + +- You should report bugs to the sourceforge bug trackers as usual: + Tcl: https://sourceforge.net/tracker/?func=add&group_id=10894&atid=110894 + Tk: https://sourceforge.net/tracker/?func=add&group_id=12997&atid=112997 +please make sure that your report Tk specific bugs to the tktoolkit bug +tracker and not the tcl one. + + +2. Using Tcl on MacOSX +---------------------- + +- Mac OS X 10.1 (or higher) is required to run Tcl on MacOSX. + +- Tcl built on Mac OS X 10.2 or higher will not run on 10.1 due to missing +symbols in libSystem, however Tcl built on 10.1 will run on 10.2 (but without +prebinding and other optimizations). + +- Tcl extensions will be found in any of: + $HOME/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl + $HOME/Library/Frameworks /Library/Frameworks /Network/Library/Frameworks + /System/Library/Frameworks (searched in that order). +Given a potential package directory $pkg, Tcl on OSX checks for the file +$pkg/Resources/Scripts/pkgIndex.tcl as well as the usual $pkg/pkgIndex.tcl. +This allows building extensions as frameworks with all script files contained +in the Resources/Scripts directory of the framework. + +- The Tcl framework contains documentation in html format in the +standard location for frameworks: + Tcl.framework/Resources/English.lproj/Documentation/Reference/Tcl +No manpages are installed by default. + +- the framework Tcl.framework can be placed in any of the system's standard +framework directories: + $HOME/Library/Frameworks /Library/Frameworks + /Network/Library/Frameworks /System/Library/Frameworks +and /usr/bin/tclsh will work. + +- the format of binary extensions expected by [load] is that of ordinary shared +libraries (.dylib) and not MachO bundles, at present loading of MachO bundles is +not supported. + + +3. Building Tcl.framework +------------------------- + +- Mac OS X 10.1.5 (or higher) is required to build Tcl on MacOSX. + +- Apple's Developer Tools CD needs to be installed (the version matching your OS +release, but no earlier than April 2002). This CD should 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). + +- Unpack the tcl source release archive. + +- The following instructions assume the tcl source tree is named "tcl${ver}", +where ${ver} is a shell variable containing the tcl version number (for +example '8.4.2'). +Setup the shell variable as follows: + set ver="8.4.2" ;: if your shell is csh + ver="8.4.2" ;: if your shell is sh +The source tree will be named this way only if you are building from a release +archive, if you are building from CVS, the version numbers will be missing; so +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_ Tcl.framework and don't plan on doing +development with the ProjectBuilder projects, using the Makefile is easiest. +The following steps will build Tcl from the Terminal, assuming you are +located in the directory containing the tcl source tree: + make -C tcl${ver}/macosx +and the following will then install Tcl onto the root volume (admin password +required): + sudo make -C tcl${ver}/macosx install +if you don't have the admin password, you can install into your home directory, +instead by passing an INSTALL_ROOT argument to make: + make -C tcl${ver}/macosx install INSTALL_ROOT="${HOME}/" + +- The default Makefile targets will build _both_ debug and optimized versions of +the Tcl framework with the standard convention of naming the debug +library Tcl.framework/Tcl_debug. +This allows you to dynamically link to the debug libraries at runtime by setting + setenv DYLD_IMAGE_SUFFIX _debug +(c.f. man dyld for more details) + +If you only want to build and install the debug or optimized build, use the +'develop' or 'deploy' target variants of the Makefiles, respectively. +For example, to build and install only the optimized versions: + make -C tcl${ver}/macosx deploy + sudo make -C tcl${ver}/macosx install-deploy diff --git a/macosx/Tcl.pbproj/jingham.pbxuser b/macosx/Tcl.pbproj/jingham.pbxuser index d914578..10f0b57 100644 --- a/macosx/Tcl.pbproj/jingham.pbxuser +++ b/macosx/Tcl.pbproj/jingham.pbxuser @@ -1,405 +1,79 @@ // !$*UTF8*$! { - 005751AA02FB00930AC916F0 = { - fRef = 005751AB02FB00930AC916F0; - isa = PBXTextBookmark; - name = "DefaultsDoc.rtf: 30"; - rLen = 32; - rLoc = 2777; - rType = 0; - vrLen = 1334; - vrLoc = 2136; - }; - 005751AB02FB00930AC916F0 = { - isa = PBXFileReference; - name = DefaultsDoc.rtf; - path = "/Developer/Applications/Project Builder.app/Contents/Resources/DefaultsDoc.rtf"; - refType = 0; - }; 00E2F845016E82EB0ACA28DC = { activeBuildStyle = 00E2F847016E82EB0ACA28DC; - activeTarget = F50DC359017027D801DC9062; - addToTargets = ( - 00E2F84C016E8B780ACA28DC, - ); + activeExecutable = F9A61CCE04C2B5A8006F5A0B; + activeTarget = 00E2F84C016E8B780ACA28DC; breakpoints = ( ); + executables = ( + F9A61CCE04C2B5A8006F5A0B, + F973FC3204852E75006F146B, + ); perUserDictionary = { - PBXPerProjectTemplateStateSaveDate = 49920633; - "PBXTemplateGeometry-F5314676015831810DCA290F" = { - ContentSize = "{789, 551}"; - LeftSlideOut = { - Collapsed = NO; - Frame = "{{0, 23}, {789, 528}}"; - Split0 = { - ActiveTab = 2; - Collapsed = NO; - Frame = "{{0, 0}, {789, 528}}"; - Split0 = { - Frame = "{{0, 204}, {789, 324}}"; - }; - SplitCount = 1; - Tab0 = { - Debugger = { - Collapsed = NO; - Frame = "{{0, 0}, {952, 321}}"; - Split0 = { - Frame = "{{0, 24}, {952, 297}}"; - Split0 = { - Frame = "{{0, 0}, {468, 297}}"; - }; - Split1 = { - DebugVariablesTableConfiguration = ( - Name, - 123, - Value, - 85, - Summary, - 241.123, - ); - Frame = "{{477, 0}, {475, 297}}"; - }; - SplitCount = 2; - }; - SplitCount = 1; - Tab0 = { - Frame = "{{0, 0}, {100, 50}}"; - }; - Tab1 = { - Frame = "{{0, 0}, {100, 50}}"; - }; - TabCount = 2; - TabsVisible = YES; - }; - Frame = "{{0, 0}, {952, 321}}"; - LauncherConfigVersion = 7; - }; - Tab1 = { - Frame = "{{0, 0}, {781, 452}}"; - LauncherConfigVersion = 3; - Runner = { - Frame = "{{0, 0}, {781, 452}}"; - }; - }; - Tab2 = { - BuildMessageFrame = "{{0, 0}, {791, 191}}"; - BuildTranscriptFrame = "{{0, 200}, {791, 0}}"; - Frame = "{{0, 0}, {789, 198}}"; - }; - Tab3 = { - Frame = "{{0, 0}, {612, 295}}"; - }; - TabCount = 4; - TabsVisible = NO; - }; - SplitCount = 1; - Tab0 = { - Frame = "{{0, 0}, {300, 533}}"; - GroupTreeTableConfiguration = ( - TargetStatusColumn, - 18, - MainColumn, - 267, - ); - }; - Tab1 = { - ClassesFrame = "{{0, 0}, {280, 398}}"; - ClassesTreeTableConfiguration = ( - PBXBookColumnIdentifier, - 20, - PBXClassColumnIdentifier, - 237, - ); - Frame = "{{0, 0}, {278, 659}}"; - MembersFrame = "{{0, 407}, {280, 252}}"; - MembersTreeTableConfiguration = ( - PBXBookColumnIdentifier, - 20, - PBXMethodColumnIdentifier, - 236, - ); - }; - Tab2 = { - Frame = "{{0, 0}, {200, 100}}"; - }; - Tab3 = { - Frame = "{{0, 0}, {200, 100}}"; - TargetTableConfiguration = ( - ActiveObject, - 16, - ObjectNames, - 202.296, - ); - }; - Tab4 = { - BreakpointsTreeTableConfiguration = ( - breakpointColumn, - 197, - enabledColumn, - 31, - ); - Frame = "{{0, 0}, {250, 100}}"; - }; - TabCount = 5; - TabsVisible = NO; - }; - StatusViewVisible = YES; - Template = F5314676015831810DCA290F; - ToolbarVisible = YES; - WindowLocation = "{7, 385}"; - }; - PBXWorkspaceContents = ( - { - LeftSlideOut = { - Split0 = { - Split0 = { - NavContent0 = { - bookmark = 005751AA02FB00930AC916F0; - history = ( - F5BFE56402F8B7A901DC9062, - F5BFE56702F8B7A901DC9062, - 00F4D9CE02F9BA490AC916F0, - ); - prevStack = ( - F5BFE56A02F8B7A901DC9062, - ); - }; - NavCount = 1; - NavGeometry0 = { - Frame = "{{0, 0}, {571, 548}}"; - NavBarVisible = YES; - }; - }; - SplitCount = 1; - Tab0 = { - Debugger = { - Split0 = { - SplitCount = 2; - }; - SplitCount = 1; - TabCount = 2; - }; - LauncherConfigVersion = 7; - }; - Tab1 = { - LauncherConfigVersion = 3; - Runner = { - }; - }; - TabCount = 4; - }; - SplitCount = 1; - Tab1 = { - OptionsSetName = "Default Options"; - }; - TabCount = 5; - }; - }, - ); - PBXWorkspaceGeometries = ( - { - ContentSize = "{855, 571}"; - LeftSlideOut = { - ActiveTab = 0; - Collapsed = NO; - Frame = "{{0, 23}, {855, 548}}"; - Split0 = { - Collapsed = NO; - Frame = "{{284, 0}, {571, 548}}"; - Split0 = { - Frame = "{{0, 0}, {571, 548}}"; - }; - SplitCount = 1; - Tab0 = { - Debugger = { - Collapsed = NO; - Frame = "{{0, 0}, {681, 289}}"; - Split0 = { - Frame = "{{0, 24}, {681, 265}}"; - Split0 = { - Frame = "{{0, 0}, {333, 265}}"; - }; - Split1 = { - DebugVariablesTableConfiguration = ( - Name, - 82.80298, - Value, - 104.074, - Summary, - 126.123, - ); - Frame = "{{342, 0}, {339, 265}}"; - }; - SplitCount = 2; - }; - SplitCount = 1; - Tab0 = { - Frame = "{{0, 0}, {100, 50}}"; - }; - Tab1 = { - Frame = "{{0, 0}, {100, 50}}"; - }; - TabCount = 2; - TabsVisible = YES; - }; - Frame = "{{0, 0}, {681, 289}}"; - LauncherConfigVersion = 7; - }; - Tab1 = { - Frame = "{{0, 0}, {681, 120}}"; - LauncherConfigVersion = 3; - Runner = { - Frame = "{{0, 0}, {681, 120}}"; - }; - }; - Tab2 = { - BuildMessageFrame = "{{0, 0}, {683, 127}}"; - BuildTranscriptFrame = "{{0, 136}, {683, 100}}"; - Frame = "{{0, 0}, {681, 234}}"; - }; - Tab3 = { - Frame = "{{0, 0}, {681, 238}}"; - }; - TabCount = 4; - TabsVisible = NO; - }; - SplitCount = 1; - Tab0 = { - Frame = "{{0, 0}, {260, 548}}"; - GroupTreeTableConfiguration = ( - SCMStatusColumn, - 22, - TargetStatusColumn, - 18, - MainColumn, - 205, - ); - }; - Tab1 = { - ClassesFrame = "{{0, 0}, {250, 333}}"; - ClassesTreeTableConfiguration = ( - PBXBookColumnIdentifier, - 20, - PBXClassColumnIdentifier, - 207, - ); - Frame = "{{0, 0}, {248, 554}}"; - MembersFrame = "{{0, 342}, {250, 212}}"; - MembersTreeTableConfiguration = ( - PBXBookColumnIdentifier, - 20, - PBXMethodColumnIdentifier, - 206, - ); - }; - Tab2 = { - Frame = "{{0, 0}, {217, 554}}"; - }; - Tab3 = { - Frame = "{{0, 0}, {239, 548}}"; - TargetTableConfiguration = ( - ActiveObject, - 16, - ObjectNames, - 206, - ); - }; - Tab4 = { - BreakpointsTreeTableConfiguration = ( - breakpointColumn, - 197, - enabledColumn, - 31, - ); - Frame = "{{0, 0}, {250, 554}}"; - }; - TabCount = 5; - TabsVisible = YES; - }; - StatusViewVisible = YES; - Template = 64ABBB4501FA494900185B06; - ToolbarVisible = YES; - WindowLocation = "{77, 330}"; - }, - ); - PBXWorkspaceStateSaveDate = 49920633; - }; - perUserProjectItems = { - 005751AA02FB00930AC916F0 = 005751AA02FB00930AC916F0; - 00F4D9CE02F9BA490AC916F0 = 00F4D9CE02F9BA490AC916F0; - F5BFE56402F8B7A901DC9062 = F5BFE56402F8B7A901DC9062; - F5BFE56702F8B7A901DC9062 = F5BFE56702F8B7A901DC9062; - F5BFE56A02F8B7A901DC9062 = F5BFE56A02F8B7A901DC9062; + PBXPerProjectTemplateStateSaveDate = 79872121; }; projectwideBuildSettings = { - OBJROOT = "/Volumes/TheCloset/jingham/tcl-tk/source/tcl-merge/Objects"; - SYMROOT = "/Volumes/TheCloset/jingham/tcl-tk/source/tcl-merge/Products"; + SYMROOT = "${SRCROOT}/../../build/tcl"; }; wantsIndex = 1; - wantsSCM = 1; - }; - 00E2F84B016E8A830ACA28DC = { - activeExec = 0; + wantsSCM = -1; }; 00E2F84C016E8B780ACA28DC = { activeExec = 0; }; - 00E2F84E016E92110ACA28DC = { - activeExec = 0; - }; - 00F4D9CE02F9BA490AC916F0 = { - fRef = 00F4D9CF02F9BA4A0AC916F0; - isa = PBXTextBookmark; - name = "DefaultsDoc.rtf: 30"; - rLen = 32; - rLoc = 2777; - rType = 0; - vrLen = 1334; - vrLoc = 2136; + F973FC3204852E75006F146B = { + activeArgIndex = 2147483647; + activeArgIndices = ( + ); + argumentStrings = ( + ); + configStateDict = { + }; + debuggerPlugin = GDBDebugging; + dylibVariantSuffix = ""; + enableDebugStr = 1; + environmentEntries = ( + ); + isa = PBXExecutable; + launchableReference = F9A61CCD04C2B5A5006F5A0B; + name = tclsh8.4; + shlibInfoDictList = ( + ); + sourceDirectories = ( + ); }; - 00F4D9CF02F9BA4A0AC916F0 = { + F9A61CCD04C2B5A5006F5A0B = { isa = PBXFileReference; - name = DefaultsDoc.rtf; - path = "/Developer/Applications/Project Builder.app/Contents/Resources/DefaultsDoc.rtf"; - refType = 0; - }; - F50DC359017027D801DC9062 = { - activeExec = 0; - }; - F5BFE56402F8B7A901DC9062 = { - fRef = F5BFE56E02F8B7AA01DC9062; - isa = PBXTextBookmark; - name = "stat.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 1666; - vrLoc = 3618; - }; - F5BFE56702F8B7A901DC9062 = { - fRef = F5F24F6E016ECAA401DC9062; - isa = PBXTextBookmark; - name = "tcl.h: 397"; - rLen = 6; - rLoc = 11199; - rType = 0; - vrLen = 1293; - vrLoc = 10644; + name = tclsh8.4; + path = ../../build/tcl/tclsh8.4; + refType = 4; }; - F5BFE56A02F8B7A901DC9062 = { - fRef = F5F24F6E016ECAA401DC9062; - isa = PBXTextBookmark; - name = "tcl.h: 397"; - rLen = 6; - rLoc = 11199; - rType = 0; - vrLen = 1293; - vrLoc = 10644; + F9A61CCE04C2B5A8006F5A0B = { + activeArgIndex = 2147483647; + activeArgIndices = ( + ); + argumentStrings = ( + ); + configStateDict = { + }; + debuggerPlugin = GDBDebugging; + dylibVariantSuffix = ""; + enableDebugStr = 1; + environmentEntries = ( + ); + isa = PBXExecutable; + launchableReference = F9A61CD104C2B5B4006F5A0B; + name = tcltest; + shlibInfoDictList = ( + ); + sourceDirectories = ( + ); }; - F5BFE56E02F8B7AA01DC9062 = { + F9A61CD104C2B5B4006F5A0B = { isa = PBXFileReference; - name = stat.h; - path = /usr/include/sys/stat.h; - refType = 0; + name = tcltest; + path = ../../build/tcl/tcltest; + refType = 4; }; } diff --git a/macosx/Tcl.pbproj/project.pbxproj b/macosx/Tcl.pbproj/project.pbxproj index 9f9fa9a..4d2b2ca 100644 --- a/macosx/Tcl.pbproj/project.pbxproj +++ b/macosx/Tcl.pbproj/project.pbxproj @@ -5,32 +5,6 @@ }; objectVersion = 38; objects = { - 00530A0D0173C8270ACA28DC = { - buildActionMask = 12; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# install to ${INSTALL_ROOT} with optional stripping\ncd ${TEMP_DIR}/..\nif test \"${INSTALL_STRIP}\" = \"YES\"; then\nexport INSTALL_PROGRAM='${INSTALL} ${INSTALL_STRIP_PROGRAM}'\nexport INSTALL_LIBRARY='${INSTALL} ${INSTALL_STRIP_LIBRARY}'\nelse\nexport INSTALL_PROGRAM='${INSTALL}'\nexport INSTALL_LIBRARY='${INSTALL}'\nfi\nexport CPPROG='cp -p'\ngnumake install-binaries install-libraries TCL_LIBRARY=\"@TCL_IN_FRAMEWORK@\" INSTALL_ROOT=\"${INSTALL_ROOT}\" SCRIPT_INSTALL_DIR=\"${INSTALL_ROOT}${LIBDIR}/Resources/Scripts\" INSTALL_PROGRAM=\"${INSTALL_PROGRAM}\" INSTALL_LIBRARY=\"${INSTALL_LIBRARY}\""; - }; - 00530A0E0173CC960ACA28DC = { - buildActionMask = 12; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# fixup Framework structure\ncd \"${INSTALL_ROOT}${LIBDIR}\"\nln -fs Versions/Current/Headers ../..\nln -fs \"Versions/Current/tclConfig.sh\" ../..\nln -fs `ls libtclstub* | sed -e \"s|.*|Versions/${FRAMEWORK_VERSION}/&|\"` ../..\nif [ \"${BUILD_STYLE}\" = \"Development\" ]; then\n\t# keep copy of debug library around, so that\n\t# Deployment build can be installed on top\n\t# of Development build without overwriting\n\t# the debug library\n\tcp -fp \"${PRODUCT_NAME}\" \"${PRODUCT_NAME}_debug\"\n\tln -fs \"Versions/Current/${PRODUCT_NAME}_debug\" ../..\nfi"; - }; 00E2F845016E82EB0ACA28DC = { buildStyles = ( 00E2F847016E82EB0ACA28DC, @@ -42,8 +16,6 @@ productRefGroup = 00E2F84A016E8A830ACA28DC; projectDirPath = ""; targets = ( - 00E2F84E016E92110ACA28DC, - 00E2F84B016E8A830ACA28DC, 00E2F84C016E8B780ACA28DC, ); }; @@ -65,9 +37,7 @@ buildRules = ( ); buildSettings = { - EXTRA_CONFIGURE_FLAGS = "--enable-symbols"; - INSTALL_STRIP = NO; - TEMP_DIR = "${OBJROOT}/Development.build/$(PROJECT_NAME).build/$(TARGET_NAME).build"; + MAKE_TARGET = develop; }; isa = PBXBuildStyle; name = Development; @@ -76,15 +46,14 @@ buildRules = ( ); buildSettings = { - INSTALL_STRIP = YES; - TEMP_DIR = "${OBJROOT}/Deployment.build/$(PROJECT_NAME).build/$(TARGET_NAME).build"; + MAKE_TARGET = deploy; }; isa = PBXBuildStyle; name = Deployment; }; 00E2F84A016E8A830ACA28DC = { children = ( - 00E2F84D016E92110ACA28DC, + F9A61C9D04C2B4E3006F5A0B, F53ACC5C031D9D11016F146B, F53ACC73031DA405016F146B, ); @@ -92,134 +61,31 @@ name = Products; refType = 4; }; - 00E2F84B016E8A830ACA28DC = { - buildArgumentsString = "-c \"if [ \\\"${ACTION}\\\" != \\\"clean\\\" ]; then if [ -z \\\"`find . ! \\\\( -path './*/*' -prune \\\\) -name Makefile -newer \\\"${SRCROOT}/../unix/configure\\\"`\\\" ]; then \\\"${SRCROOT}/../unix/configure\\\" --prefix=/usr --mandir=/usr/share/man --libdir=\\\"${LIBDIR}\\\" --includedir=\\\"${LIBDIR}/Headers\\\" --enable-threads --enable-framework ${EXTRA_CONFIGURE_FLAGS}; mkdir -p Tcl.framework; ln -fs ../Tcl Tcl.framework/Tcl; fi; fi\""; - buildPhases = ( - ); - buildSettings = { - EXTRA_CONFIGURE_FLAGS = ""; - FRAMEWORK_VERSION = 8.4; - INSTALL_PATH = /Library/Frameworks; - LIBDIR = "${INSTALL_PATH}/${PRODUCT_NAME}.framework/Versions/${FRAMEWORK_VERSION}"; - PRODUCT_NAME = Tcl; - }; - buildToolPath = /bin/sh; - buildWorkingDirectory = "${TEMP_DIR}/.."; - dependencies = ( - ); - isa = PBXLegacyTarget; - name = Configure; - passBuildSettingsInEnvironment = 1; - productName = Configure; - settingsToExpand = 6; - settingsToPassInEnvironment = 287; - settingsToPassOnCommandLine = 280; - }; 00E2F84C016E8B780ACA28DC = { - buildArgumentsString = "-c \"if [ \\\"${ACTION}\\\" != \\\"clean\\\" ]; then gnumake tclsh tcltest TCL_LIBRARY=\\\"@TCL_IN_FRAMEWORK@\\\" TCL_PACKAGE_PATH=\\\"~/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl ~/Library/Frameworks /Library/Frameworks /Network/Library/Frameworks /System/Library/Frameworks\\\" DYLIB_INSTALL_DIR=\\\"${DYLIB_INSTALL_DIR}\\\" ${EXTRA_MAKE_FLAGS}; else gnumake distclean; fi\""; + buildArgumentsString = "-c \"if [ \\\"${ACTION}\\\" != \\\"clean\\\" ]; then if [ \\\"${ACTION}\\\" = \\\"install\\\" ]; then MAKE_ACTION=\"install-\"; fi; else MAKE_ACTION=\"distclean-\"; fi; gnumake \\${MAKE_ACTION:-}${MAKE_TARGET}"; buildPhases = ( ); buildSettings = { - DYLIB_INSTALL_DIR = "${DYLIB_INSTALL_PATH}/${PRODUCT_NAME}.framework/Versions/${FRAMEWORK_VERSION}"; - DYLIB_INSTALL_PATH = "${INSTALL_PATH}"; - EXTRA_MAKE_FLAGS = ""; - FRAMEWORK_VERSION = 8.4; + EXTRA_CONFIGURE_ARGS = ""; + EXTRA_MAKE_ARGS = ""; INSTALL_PATH = /Library/Frameworks; + INSTALL_ROOT = "${DSTROOT}"; + PREFIX = /usr; PRODUCT_NAME = Tcl; + SYMROOT = "${SRCROOT}/../../build/tcl"; }; buildToolPath = /bin/sh; - buildWorkingDirectory = "${TEMP_DIR}/.."; + buildWorkingDirectory = "${SRCROOT}"; dependencies = ( - F5877EB5031F7997016F146B, ); isa = PBXLegacyTarget; - name = Make; + name = Tcl; passBuildSettingsInEnvironment = 1; - productName = Make; + productName = Tcl; settingsToExpand = 6; settingsToPassInEnvironment = 287; settingsToPassOnCommandLine = 280; }; - 00E2F84D016E92110ACA28DC = { - isa = PBXFrameworkReference; - path = Tcl.framework; - refType = 3; - }; - 00E2F84E016E92110ACA28DC = { - buildPhases = ( - F5877FB6031F97AF016F146B, - F50DC36A01703B7301DC9062, - F50DC367017033D701DC9062, - F50DC3680170344801DC9062, - 00E2F84F016E92110ACA28DC, - F5BE9BBF02FB5974016F146B, - 00530A0D0173C8270ACA28DC, - 00530A0E0173CC960ACA28DC, - F5877FBB031FA90A016F146B, - F59AE5E3017AC67A01DC9062, - ); - buildSettings = { - DSTROOT = "${TEMP_DIR}"; - EXTRA_MAKE_INSTALL_FLAGS = ""; - FRAMEWORK_VERSION = 8.4; - INSTALL_PATH = /Library/Frameworks; - LIBDIR = "${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Versions/${FRAMEWORK_VERSION}"; - PRODUCT_NAME = Tcl; - WRAPPER_EXTENSION = framework; - }; - dependencies = ( - F5877EB6031F79A4016F146B, - ); - isa = PBXFrameworkTarget; - name = Tcl; - productInstallPath = /Library/Frameworks; - productName = TclLibrary; - productReference = 00E2F84D016E92110ACA28DC; - productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> -<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"> -<plist version=\"1.0\"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>Tcl</string> - <key>CFBundleGetInfoString</key> - <string>Tcl Library 8.4, Copyright © 2003 Tcl Core Team. -MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright © 2001-2002, Apple Computer, Inc.</string> - <key>CFBundleIconFile</key> - <string></string> - <key>CFBundleIdentifier</key> - <string>com.tcltk.tcllibrary</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>Tcl Library 8.4</string> - <key>CFBundlePackageType</key> - <string>FMWK</string> - <key>CFBundleShortVersionString</key> - <string>8.4.3</string> - <key>CFBundleSignature</key> - <string>Tcl </string> - <key>CFBundleVersion</key> - <string>8.4.3</string> -</dict> -</plist> -"; - }; - 00E2F84F016E92110ACA28DC = { - buildActionMask = 2147483647; - files = ( - F59D846A0338FAA4016F146B, - F59D846B0338FAA4016F146B, - F59D846E0338FAA4016F146B, - F59D84620338F9CA016F146B, - F59D846C0338FAA4016F146B, - F59D846D0338FAA4016F146B, - F5C093BB0342F7D6016F146B, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; 00E2F854016E922C0ACA28DC = { children = ( F5F24F87016ECAFC01DC9062, @@ -409,33 +275,6 @@ MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright  //F52 //F53 //F54 - F50DC367017033D701DC9062 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F50DC3680170344801DC9062 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F50DC36A01703B7301DC9062 = { - buildActionMask = 2147483647; - files = ( - F59D84630338F9EC016F146B, - F59D84640338F9ED016F146B, - F59D84670338FA8B016F146B, - F59D84680338FA8D016F146B, - F59D84690338FA90016F146B, - F5C093BA0342F7B4016F146B, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; F5306C9F03CAC979016F146B = { children = ( F5306CA303CAC9DE016F146B, @@ -476,171 +315,21 @@ MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright  F53ACC5C031D9D11016F146B = { isa = PBXExecutableFileReference; name = tclsh8.4; - path = ../../build/tclsh8.4; + path = ../../build/tcl/tclsh8.4; refType = 2; }; F53ACC73031DA405016F146B = { isa = PBXExecutableFileReference; name = tcltest; - path = ../../build/tcltest; + path = ../../build/tcl/tcltest; refType = 2; }; - F5877EB5031F7997016F146B = { - isa = PBXTargetDependency; - target = 00E2F84B016E8A830ACA28DC; - }; - F5877EB6031F79A4016F146B = { - isa = PBXTargetDependency; - target = 00E2F84C016E8B780ACA28DC; - }; - F5877FB6031F97AF016F146B = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "# ensure we can overwrite a previous install\nif [ -d \"${INSTALL_ROOT}${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}\" ]; then\n chmod -RH u+w \"${INSTALL_ROOT}${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}\"\nfi"; - }; - F5877FBB031FA90A016F146B = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "if [ -n \"${EMBEDDED_BUILD:-}\" ]; then\n# if we are embedding frameworks, don't install tclsh\nrm -f \"${INSTALL_ROOT}/usr/bin/tclsh${FRAMEWORK_VERSION}\"\nrmdir -p \"${INSTALL_ROOT}/usr/bin\" 2>&-\ntrue\nelse\n# redo prebinding\ncd \"${INSTALL_ROOT}\"\nif [ ! -d usr/lib ]; then mkdir -p usr; ln -fs /usr/lib usr/; RM_USRLIB=1; fi\nif [ ! -d System ]; then ln -fs /System .; RM_SYSTEM=1; fi\nredo_prebinding -r . \"./usr/bin/tclsh${FRAMEWORK_VERSION}\"\nif [ -n \"${RM_USRLIB:-}\" ]; then rm -f usr/lib; rmdir -p usr 2>&-; fi\nif [ -n \"${RM_SYSTEM:-}\" ]; then rm -f System; fi\n# install tclsh symbolic link\nmkdir -p \"${INSTALL_ROOT}/usr/bin\"\nln -fs \"tclsh${FRAMEWORK_VERSION}\" \"${INSTALL_ROOT}/usr/bin/tclsh\"\nfi"; - }; - F59AE5E3017AC67A01DC9062 = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "if [ -z \"${EMBEDDED_BUILD:-}\" ]; then\n# build html documentation\nif [ \"${BUILD_STYLE}\" = \"Deployment\" ]; then\n cd \"${TEMP_DIR}/..\"\n export DYLD_FRAMEWORK_PATH=${SYMROOT}\n gnumake html DISTDIR=\"${INSTALL_ROOT}${LIBDIR}/Resources/English.lproj/Documentation/Reference\"\n cd \"${INSTALL_ROOT}${LIBDIR}/Resources/English.lproj/Documentation/Reference\"\n ln -fs contents.htm html/TclTOC.html\n rm -fr \"${PRODUCT_NAME}\"; mv -f html \"${PRODUCT_NAME}\"\nfi\nfi"; - }; - F59D84620338F9CA016F146B = { - fileRef = F5F24F72016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Private, - ); - }; - }; - F59D84630338F9EC016F146B = { - fileRef = F5F24F73016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F59D84640338F9ED016F146B = { - fileRef = F5F24F74016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F59D84670338FA8B016F146B = { - fileRef = F5F24F6E016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F59D84680338FA8D016F146B = { - fileRef = F5F24F70016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F59D84690338FA90016F146B = { - fileRef = F5F24F77016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F59D846A0338FAA4016F146B = { - fileRef = F5F24F6E016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F59D846B0338FAA4016F146B = { - fileRef = F5F24F70016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F59D846C0338FAA4016F146B = { - fileRef = F5F24F73016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Private, - ); - }; - }; - F59D846D0338FAA4016F146B = { - fileRef = F5F24F74016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Private, - ); - }; - }; - F59D846E0338FAA4016F146B = { - fileRef = F5F24F77016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - }; - }; F5A1836F018242A501DC9062 = { fileEncoding = 5; isa = PBXFileReference; path = tclMacOSXBundle.c; refType = 2; }; - F5BE9BBF02FB5974016F146B = { - buildActionMask = 2147483647; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# symolic link hackery to trick\n# 'make install INSTALL_ROOT=${TEMP_DIR}'\n# into building Tcl.framework and tclsh in ${SYMROOT}\ncd \"${TEMP_DIR}\"\nmkdir -p Library\nmkdir -p usr\nrm -f Library/Frameworks; ln -fs \"${SYMROOT}\" Library/Frameworks\nrm -f usr/bin; ln -fs \"${SYMROOT}\" usr/bin\nln -fs \"${TEMP_DIR}/../tcltest\" \"${SYMROOT}\""; - }; - F5C093BA0342F7B4016F146B = { - fileRef = F5F24F76016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - }; - }; - F5C093BB0342F7D6016F146B = { - fileRef = F5F24F76016ECAA401DC9062; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Private, - ); - }; - }; F5C88655017D604601DC9062 = { children = ( F5C88656017D604601DC9062, @@ -1560,6 +1249,22 @@ MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright  path = ../library/word.tcl; refType = 2; }; +//F50 +//F51 +//F52 +//F53 +//F54 +//F90 +//F91 +//F92 +//F93 +//F94 + F9A61C9D04C2B4E3006F5A0B = { + isa = PBXFrameworkReference; + name = Tcl.framework; + path = ../../build/tcl/Tcl.framework; + refType = 2; + }; }; rootObject = 00E2F845016E82EB0ACA28DC; } diff --git a/tools/tcltk-man2html.tcl b/tools/tcltk-man2html.tcl index 42f0e58..a4babde 100755 --- a/tools/tcltk-man2html.tcl +++ b/tools/tcltk-man2html.tcl @@ -65,20 +65,22 @@ package require Tcl 8.4 # Oct 24, 1997 - moved from 8.0b1 to 8.0 release # -set Version "0.31" +set Version "0.32" proc parse_command_line {} { global argv Version # These variables determine where the man pages come from and where # the converted pages go to. - global tcltkdir tkdir tcldir webdir + global tcltkdir tkdir tcldir webdir build_tcl build_tk # Set defaults based on original code. set tcltkdir ../.. set tkdir {} set tcldir {} set webdir ../html + set build_tcl 0 + set build_tk 0 # Handle arguments a la GNU: # --version @@ -99,6 +101,8 @@ proc parse_command_line {} { puts " --version print version number, then exit" puts " --srcdir=DIR find tcl and tk source below DIR" puts " --htmldir=DIR put generated HTML in DIR" + puts " --tcl build tcl help" + puts " --tk build tk help" exit 0 } @@ -112,6 +116,14 @@ proc parse_command_line {} { set webdir [string range $option 10 end] } + --tcl { + set build_tcl 1 + } + + --tk { + set build_tk 1 + } + default { puts stderr "tcltk-man-html: unrecognized option -- `$option'" exit 1 @@ -119,6 +131,9 @@ proc parse_command_line {} { } } + if {!$build_tcl && !$build_tk} {set build_tcl 1; set build_tk 1} + + if {$build_tcl} { # Find Tcl. set tcldir [lindex [lsort [glob -nocomplain -tails -type d \ -directory $tcltkdir {tcl{,[8-9].[0-9]{,.[0-9]}}}]] end] @@ -127,7 +142,9 @@ proc parse_command_line {} { exit 1 } puts "using Tcl source directory $tcldir" + } + if {$build_tk} { # Find Tk. set tkdir [lindex [lsort [glob -nocomplain -tails -type d \ -directory $tcltkdir {tk{,[8-9].[0-9]{,.[0-9]}}}]] end] @@ -136,10 +153,15 @@ proc parse_command_line {} { exit 1 } puts "using Tk source directory $tkdir" + } # the title for the man pages overall global overall_title - set overall_title "[capitalize $tcldir]/[capitalize $tkdir] Manual" + set overall_title "" + if {$build_tcl} {append overall_title "[capitalize $tcldir]"} + if {$build_tcl && $build_tk} {append overall_title "/"} + if {$build_tk} {append overall_title "[capitalize $tkdir]"} + append overall_title " Manual" } proc capitalize {string} { @@ -656,6 +678,7 @@ proc cross-reference {ref} { foreach name {array file history info interp string trace after clipboard grab image option pack place selection tk tkwait update winfo wm} { if {[regexp "^$name \[a-z0-9]*\$" $lref] && \ + [info exists manual(name-$name)] && \ [string compare $manual(tail) "$name.n"]} { return "<A HREF=\"../$manual(name-$name).htm\">$ref</A>" } @@ -1265,7 +1288,7 @@ proc makedirhier {dir} { ## specified by html. ## proc make-man-pages {html args} { - global env manual overall_title + global env manual overall_title tcltkdesc makedirhier $html set manual(short-toc-n) 1 set manual(short-toc-fp) [open $html/contents.htm w] @@ -1273,6 +1296,7 @@ proc make-man-pages {html args} { puts $manual(short-toc-fp) "<BODY><HR><H3>$overall_title</H3><HR><DL>" set manual(merge-copyrights) {} foreach arg $args { + if {$arg == ""} {continue} set manual(wing-glob) [lindex $arg 0] set manual(wing-name) [lindex $arg 1] set manual(wing-file) [lindex $arg 2] @@ -1558,15 +1582,15 @@ proc make-man-pages {html args} { set keys [lsort -command strcasecmp [array names manual keyword-*]] makedirhier $html/Keywords catch {eval file delete -- [glob $html/Keywords/*]} - puts $manual(short-toc-fp) {<DT><A HREF="Keywords/contents.htm">Keywords</A><DD>The keywords from the Tcl/Tk man pages.} + puts $manual(short-toc-fp) "<DT><A HREF=\"Keywords/contents.htm\">Keywords</A><DD>The keywords from the $tcltkdesc man pages." set keyfp [open $html/Keywords/contents.htm w] - puts $keyfp "<HTML><HEAD><TITLE>Tcl/Tk Keywords</TITLE></HEAD>" - puts $keyfp "<BODY><HR><H3>Tcl/Tk Keywords</H3><HR><H2>" + puts $keyfp "<HTML><HEAD><TITLE>$tcltkdesc Keywords</TITLE></HEAD>" + puts $keyfp "<BODY><HR><H3>$tcltkdesc Keywords</H3><HR><H2>" foreach a {A B C D E F G H I J K L M N O P Q R S T U V W X Y Z} { puts $keyfp "<A HREF=\"$a.htm\">$a</A>" set afp [open $html/Keywords/$a.htm w] - puts $afp "<HTML><HEAD><TITLE>Tcl/Tk Keywords - $a</TITLE></HEAD>" - puts $afp "<BODY><HR><H3>Tcl/Tk Keywords - $a</H3><HR><H2>" + puts $afp "<HTML><HEAD><TITLE>$tcltkdesc Keywords - $a</TITLE></HEAD>" + puts $afp "<BODY><HR><H3>$tcltkdesc Keywords - $a</H3><HR><H2>" foreach b {A B C D E F G H I J K L M N O P Q R S T U V W X Y Z} { puts $afp "<A HREF=\"$b.htm\">$b</A>" } @@ -1657,22 +1681,27 @@ proc make-man-pages {html args} { return {} } -set usercmddesc {The interpreters which implement Tcl and Tk.} +parse_command_line + +set tcltkdesc ""; set cmdesc ""; set appdir "" +if {$build_tcl} {append tcltkdesc "Tcl"; append cmdesc "Tcl"; append appdir "$tcldir"} +if {$build_tcl && $build_tk} {append tcltkdesc "/"; append cmdesc " and "; append appdir ","} +if {$build_tk} {append tcltkdesc "Tk"; append cmdesc "Tk"; append appdir "$tkdir"} + +set usercmddesc "The interpreters which implement $cmdesc." set tclcmddesc {The commands which the <B>tclsh</B> interpreter implements.} set tkcmddesc {The additional commands which the <B>wish</B> interpreter implements.} set tcllibdesc {The C functions which a Tcl extended C program may use.} set tklibdesc {The additional C functions which a Tk extended C program may use.} -parse_command_line - if {1} { if {[catch { make-man-pages $webdir \ - "$tcltkdir/{$tkdir,$tcldir}/doc/*.1 {Tcl/Tk Applications} UserCmd {$usercmddesc}" \ - "$tcltkdir/$tcldir/doc/*.n {Tcl Commands} TclCmd {$tclcmddesc}" \ - "$tcltkdir/$tkdir/doc/*.n {Tk Commands} TkCmd {$tkcmddesc}" \ - "$tcltkdir/$tcldir/doc/*.3 {Tcl Library} TclLib {$tcllibdesc}" \ - "$tcltkdir/$tkdir/doc/*.3 {Tk Library} TkLib {$tklibdesc}" + "$tcltkdir/{$appdir}/doc/*.1 \"$tcltkdesc Applications\" UserCmd {$usercmddesc}" \ + [expr {$build_tcl ? "$tcltkdir/$tcldir/doc/*.n {Tcl Commands} TclCmd {$tclcmddesc}" : ""}] \ + [expr {$build_tk ? "$tcltkdir/$tkdir/doc/*.n {Tk Commands} TkCmd {$tkcmddesc}" : ""}] \ + [expr {$build_tcl ? "$tcltkdir/$tcldir/doc/*.3 {Tcl Library} TclLib {$tcllibdesc}" : ""}] \ + [expr {$build_tk ? "$tcltkdir/$tkdir/doc/*.3 {Tk Library} TkLib {$tklibdesc}" : ""}] } error]} { puts $error\n$errorInfo } diff --git a/unix/Makefile.in b/unix/Makefile.in index 9afd3b5..f9853a8 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -5,7 +5,7 @@ # "autoconf" program (constructs like "@foo@" will get replaced in the # actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.121.2.1 2003/05/20 17:26:26 hobbs Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.121.2.2 2003/07/15 01:15:51 das Exp $ VERSION = @TCL_VERSION@ MAJOR_VERSION = @TCL_MAJOR_VERSION@ @@ -1343,9 +1343,12 @@ allpatch: dist # TOOL_DIR. # -html: +html-tcl: EXTRA_HTML_ARGS=--tcl +html-tk: EXTRA_HTML_ARGS=--tk + +html html-tcl html-tk: $(TCL_EXE) $(TOOL_DIR)/tcltk-man2html.tcl --htmldir=$(DISTDIR)/html \ - --srcdir=$(TOP_DIR)/.. + --srcdir=$(TOP_DIR)/.. $(EXTRA_HTML_ARGS) # # Target to create a Macintosh version of the distribution. This will |