diff options
Diffstat (limited to 'macosx')
-rw-r--r-- | macosx/Makefile | 56 | ||||
-rw-r--r-- | macosx/Tcl.pbproj/jingham.pbxuser | 405 | ||||
-rw-r--r-- | macosx/Tcl.pbproj/project.pbxproj | 1308 | ||||
-rw-r--r-- | macosx/tclMacOSXBundle.c | 128 |
4 files changed, 1897 insertions, 0 deletions
diff --git a/macosx/Makefile b/macosx/Makefile new file mode 100644 index 0000000..050f482 --- /dev/null +++ b/macosx/Makefile @@ -0,0 +1,56 @@ +################################################################################ +# +# Simple makefile for building on Mac OS X with the +# Project Builder command line tool 'pbxbuild' +# +# RCS: @(#) $Id: Makefile,v 1.2 2002/08/31 06:09:45 das Exp $ +# +################################################################################ + +INSTALL_ROOT = + +BUILD_DIR = ../../build + +TARGET = Tcl + +DEVBUILDSTYLE = Development +DEPBUILDSTYLE = Deployment + +PBXBUILD = /usr/bin/pbxbuild + +BUILD = ${PBXBUILD} SYMROOT="${BUILD_DIR}" -target "${TARGET}" + +DEVBUILD = ${BUILD} -buildstyle "${DEVBUILDSTYLE}" +DEPBUILD = ${BUILD} -buildstyle "${DEPBUILDSTYLE}" + +INSTALLOPTS = INSTALL_ROOT="${INSTALL_ROOT}" + +################################################################################ + +all: develop deploy + +install: install-develop install-deploy + +clean: clean-develop clean-deploy + +################################################################################ + +develop: + ${DEVBUILD} + +deploy: + ${DEPBUILD} + +install-develop: + ${DEVBUILD} install ${INSTALLOPTS} + +install-deploy: + ${DEPBUILD} install ${INSTALLOPTS} + +clean-develop: + ${DEVBUILD} clean + +clean-deploy: + ${DEPBUILD} clean + +################################################################################ diff --git a/macosx/Tcl.pbproj/jingham.pbxuser b/macosx/Tcl.pbproj/jingham.pbxuser new file mode 100644 index 0000000..d914578 --- /dev/null +++ b/macosx/Tcl.pbproj/jingham.pbxuser @@ -0,0 +1,405 @@ +// !$*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, + ); + breakpoints = ( + ); + 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; + }; + projectwideBuildSettings = { + OBJROOT = "/Volumes/TheCloset/jingham/tcl-tk/source/tcl-merge/Objects"; + SYMROOT = "/Volumes/TheCloset/jingham/tcl-tk/source/tcl-merge/Products"; + }; + wantsIndex = 1; + wantsSCM = 1; + }; + 00E2F84B016E8A830ACA28DC = { + activeExec = 0; + }; + 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; + }; + 00F4D9CF02F9BA4A0AC916F0 = { + 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; + }; + F5BFE56A02F8B7A901DC9062 = { + fRef = F5F24F6E016ECAA401DC9062; + isa = PBXTextBookmark; + name = "tcl.h: 397"; + rLen = 6; + rLoc = 11199; + rType = 0; + vrLen = 1293; + vrLoc = 10644; + }; + F5BFE56E02F8B7AA01DC9062 = { + isa = PBXFileReference; + name = stat.h; + path = /usr/include/sys/stat.h; + refType = 0; + }; +} diff --git a/macosx/Tcl.pbproj/project.pbxproj b/macosx/Tcl.pbproj/project.pbxproj new file mode 100644 index 0000000..931bf73 --- /dev/null +++ b/macosx/Tcl.pbproj/project.pbxproj @@ -0,0 +1,1308 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + 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\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 ../..\nmv -f tclConfig.sh Resources\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 debuglibrary\n\tcp -fp \"${PRODUCT_NAME}\" \"${PRODUCT_NAME}_debug\"\nfi"; + }; + 00E2F845016E82EB0ACA28DC = { + buildStyles = ( + 00E2F847016E82EB0ACA28DC, + 00E2F848016E82EB0ACA28DC, + ); + isa = PBXProject; + mainGroup = 00E2F846016E82EB0ACA28DC; + productRefGroup = 00E2F84A016E8A830ACA28DC; + projectDirPath = ""; + targets = ( + 00E2F84E016E92110ACA28DC, + 00E2F84B016E8A830ACA28DC, + 00E2F84C016E8B780ACA28DC, + ); + }; + 00E2F846016E82EB0ACA28DC = { + children = ( + F5C88655017D604601DC9062, + F5F24FEE016ED0DF01DC9062, + 00E2F855016E922C0ACA28DC, + 00E2F857016E92B00ACA28DC, + 00E2F85A016E92B00ACA28DC, + 00E2F84A016E8A830ACA28DC, + ); + isa = PBXGroup; + refType = 4; + }; + 00E2F847016E82EB0ACA28DC = { + buildRules = ( + ); + buildSettings = { + EXTRA_CONFIGURE_FLAGS = "--enable-symbols"; + INSTALL_STRIP = NO; + TEMP_DIR = "${OBJROOT}/Development.build/$(PROJECT_NAME).build/$(TARGET_NAME).build"; + }; + isa = PBXBuildStyle; + name = Development; + }; + 00E2F848016E82EB0ACA28DC = { + buildRules = ( + ); + buildSettings = { + INSTALL_STRIP = YES; + TEMP_DIR = "${OBJROOT}/Deployment.build/$(PROJECT_NAME).build/$(TARGET_NAME).build"; + }; + isa = PBXBuildStyle; + name = Deployment; + }; + 00E2F84A016E8A830ACA28DC = { + children = ( + 00E2F84D016E92110ACA28DC, + F53ACC5C031D9D11016F146B, + F53ACC73031DA405016F146B, + ); + isa = PBXGroup; + name = Products; + refType = 4; + }; + 00E2F84B016E8A830ACA28DC = { + buildArgumentsString = "-c \"if [ \\\"${ACTION}\\\" != \\\"clean\\\" ]; then if [ -z \\\"`find . -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; else rm -f Makefile; 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; + productName = Configure; + settingsToExpand = 6; + settingsToPassInEnvironment = 287; + settingsToPassOnCommandLine = 280; + shouldUseHeadermap = 0; + }; + 00E2F84C016E8B780ACA28DC = { + buildArgumentsString = "-c \"if [ \\\"${ACTION}\\\" != \\\"clean\\\" ]; then make tclsh tcltest TCL_LIBRARY=\\\"@TCL_IN_FRAMEWORK@\\\" ${EXTRA_MAKE_FLAGS} TCL_PACKAGE_PATH=\\\"~/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl\\\"; else make clean; fi\""; + buildPhases = ( + ); + buildSettings = { + EXTRA_MAKE_FLAGS = ""; + PRODUCT_NAME = Tcl; + }; + buildToolPath = /bin/sh; + buildWorkingDirectory = "${TEMP_DIR}/.."; + dependencies = ( + F5877EB5031F7997016F146B, + ); + isa = PBXLegacyTarget; + name = Make; + productName = Make; + settingsToExpand = 6; + settingsToPassInEnvironment = 287; + settingsToPassOnCommandLine = 280; + shouldUseHeadermap = 0; + }; + 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</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.4b3</string> + <key>CFBundlePackageType</key> + <string>FMWK</string> + <key>CFBundleShortVersionString</key> + <string>libtcl8.4b3</string> + <key>CFBundleSignature</key> + <string>Tcl </string> + <key>CFBundleVersion</key> + <string>8.4b3</string> +</dict> +</plist> +"; + shouldUseHeadermap = 0; + }; + 00E2F84F016E92110ACA28DC = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + 00E2F854016E922C0ACA28DC = { + children = ( + F5F24F87016ECAFC01DC9062, + F5F24F88016ECAFC01DC9062, + F5F24F89016ECAFC01DC9062, + F5F24F8A016ECAFC01DC9062, + F5F24F8B016ECAFC01DC9062, + F5F24F8C016ECAFC01DC9062, + F5F24F8D016ECAFC01DC9062, + F5F24F8E016ECAFC01DC9062, + F5F24F8F016ECAFC01DC9062, + F5F24F90016ECAFC01DC9062, + F5F24F91016ECAFC01DC9062, + F5F24F92016ECAFC01DC9062, + F5F24F93016ECAFC01DC9062, + F5F24F94016ECAFC01DC9062, + F5F24F95016ECAFC01DC9062, + F5F24F96016ECAFC01DC9062, + F5F24F97016ECAFC01DC9062, + F5F24F98016ECAFC01DC9062, + F5F24F99016ECAFC01DC9062, + F5F24F9A016ECAFC01DC9062, + F5F24F9B016ECAFC01DC9062, + F5F24F9C016ECAFC01DC9062, + F5F24F9D016ECAFC01DC9062, + F5F24F9E016ECAFC01DC9062, + F5F24F9F016ECAFC01DC9062, + F5F24FA0016ECAFC01DC9062, + F5F24FA1016ECAFC01DC9062, + F5F24FA2016ECAFC01DC9062, + F5F24FA3016ECAFC01DC9062, + F5F24FA4016ECAFC01DC9062, + F5F24FA5016ECAFC01DC9062, + F5F24FA6016ECAFC01DC9062, + F5F24FA7016ECAFC01DC9062, + F5F24FA8016ECAFC01DC9062, + F5F24FA9016ECAFC01DC9062, + F5F24FAA016ECAFC01DC9062, + F5F24FAB016ECAFC01DC9062, + F5F24FAC016ECAFC01DC9062, + F5F24FAD016ECAFC01DC9062, + F5F24FAE016ECAFC01DC9062, + F5F24FAF016ECAFC01DC9062, + F5F24FB0016ECAFC01DC9062, + F5F24FB1016ECAFC01DC9062, + F5F24FB2016ECAFC01DC9062, + F5F24FB3016ECAFC01DC9062, + F5F24FB4016ECAFC01DC9062, + F5F24FB5016ECAFC01DC9062, + F5F24FB6016ECAFC01DC9062, + F5F24FB7016ECAFC01DC9062, + F5F24FB8016ECAFC01DC9062, + F5F24FB9016ECAFC01DC9062, + F5F24FBA016ECAFC01DC9062, + F5F24FBB016ECAFC01DC9062, + F5F24FD3016ECB4901DC9062, + F5F24FBC016ECAFC01DC9062, + F5F24FBD016ECAFC01DC9062, + F5F24FBE016ECAFC01DC9062, + F5F24FBF016ECAFC01DC9062, + F5F24FC0016ECAFC01DC9062, + F5F24FC1016ECAFC01DC9062, + F5F24FC2016ECAFC01DC9062, + F5F24FC3016ECAFC01DC9062, + F5F24FC4016ECAFC01DC9062, + F5F24FC5016ECAFC01DC9062, + F5F24FC6016ECAFC01DC9062, + F5F24FC7016ECAFC01DC9062, + F5F24FC8016ECAFC01DC9062, + F5F24FC9016ECAFC01DC9062, + F5F24FCA016ECAFC01DC9062, + F5F24FCB016ECAFC01DC9062, + F5F24FCC016ECAFC01DC9062, + F5F24FCD016ECAFC01DC9062, + F5F24FCE016ECAFC01DC9062, + F5F24FCF016ECAFC01DC9062, + F5F24FD0016ECAFC01DC9062, + ); + isa = PBXGroup; + name = Sources; + path = ""; + refType = 4; + }; + 00E2F855016E922C0ACA28DC = { + children = ( + 00E2F856016E92B00ACA28DC, + 00E2F854016E922C0ACA28DC, + ); + isa = PBXGroup; + name = generic; + refType = 4; + }; + 00E2F856016E92B00ACA28DC = { + children = ( + F5F24F6B016ECAA401DC9062, + F5F24F6C016ECAA401DC9062, + F5F24F6D016ECAA401DC9062, + F5F24F6E016ECAA401DC9062, + F5F24F6F016ECAA401DC9062, + F5F24F70016ECAA401DC9062, + F5F24F71016ECAA401DC9062, + F5F24F72016ECAA401DC9062, + F5F24F73016ECAA401DC9062, + F5F24F74016ECAA401DC9062, + F5F24F75016ECAA401DC9062, + F5F24F76016ECAA401DC9062, + F5F24F77016ECAA401DC9062, + F5F24F78016ECAA401DC9062, + F5F24FD1016ECB1E01DC9062, + F5F24FD2016ECB1E01DC9062, + ); + isa = PBXGroup; + name = Headers; + refType = 4; + }; + 00E2F857016E92B00ACA28DC = { + children = ( + 00E2F858016E92B00ACA28DC, + 00E2F859016E92B00ACA28DC, + ); + isa = PBXGroup; + name = macosx; + refType = 4; + }; + 00E2F858016E92B00ACA28DC = { + children = ( + ); + isa = PBXGroup; + name = Headers; + refType = 4; + }; + 00E2F859016E92B00ACA28DC = { + children = ( + F5A1836F018242A501DC9062, + ); + isa = PBXGroup; + name = Sources; + refType = 4; + }; + 00E2F85A016E92B00ACA28DC = { + children = ( + 00E2F85B016E92B00ACA28DC, + 00E2F85C016E92B00ACA28DC, + ); + isa = PBXGroup; + name = unix; + refType = 4; + }; + 00E2F85B016E92B00ACA28DC = { + children = ( + F5F24FD6016ECC0F01DC9062, + F5F24FD7016ECC0F01DC9062, + ); + isa = PBXGroup; + name = Headers; + refType = 4; + }; + 00E2F85C016E92B00ACA28DC = { + children = ( + F5F24FD8016ECC0F01DC9062, + F5F24FD9016ECC0F01DC9062, + F5F24FDB016ECC0F01DC9062, + F5F24FDC016ECC0F01DC9062, + F5F24FDD016ECC0F01DC9062, + F5F24FDE016ECC0F01DC9062, + F5F24FDF016ECC0F01DC9062, + F5F24FE0016ECC0F01DC9062, + F5F24FE1016ECC0F01DC9062, + F5F24FE2016ECC0F01DC9062, + F5F24FE3016ECC0F01DC9062, + F5F24FE4016ECC0F01DC9062, + F5F24FE5016ECC0F01DC9062, + F5F24FE6016ECC0F01DC9062, + F5F24FE7016ECC0F01DC9062, + ); + isa = PBXGroup; + name = Sources; + refType = 4; + }; +//000 +//001 +//002 +//003 +//004 +//F50 +//F51 +//F52 +//F53 +//F54 + F50DC367017033D701DC9062 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXFrameworksBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F50DC3680170344801DC9062 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXResourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F50DC36A01703B7301DC9062 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F53ACC5C031D9D11016F146B = { + isa = PBXExecutableFileReference; + name = tclsh8.4; + path = ../../build/tclsh8.4; + refType = 2; + }; + F53ACC73031DA405016F146B = { + isa = PBXExecutableFileReference; + name = tcltest; + path = ../../build/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 = "# redo prebinding\nif [ ! -d \"${INSTALL_ROOT}/usr/lib\" ]; then ln -fs /usr/lib \"${INSTALL_ROOT}/usr/\"; RM_USRLIB=1; fi\nif [ ! -d \"${INSTALL_ROOT}/System\" ]; then ln -fs /System \"${INSTALL_ROOT}/\"; RM_SYSTEM=1; fi\nredo_prebinding -r \"${INSTALL_ROOT}\" \"${INSTALL_ROOT}/usr/bin/tclsh${FRAMEWORK_VERSION}\"\nif [ -n \"${RM_USRLIB:-}\" ]; then rm -f \"${INSTALL_ROOT}/usr/lib\"; fi\nif [ -n \"${RM_SYSTEM:-}\" ]; then rm -r ${INSTALL_ROOT}/System; fi"; + }; + F59AE5E3017AC67A01DC9062 = { + buildActionMask = 8; + files = ( + ); + generatedFileNames = ( + ); + isa = PBXShellScriptBuildPhase; + neededFileNames = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "# build html documentation\nif [ \"${BUILD_STYLE}\" = \"Deployment\" ]; then\n cd \"${TEMP_DIR}/..\"\n make 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/index.html\n rm -f \"${PRODUCT_NAME}\"; ln -fs html \"${PRODUCT_NAME}\"\nfi"; + }; + F5A1836F018242A501DC9062 = { + isa = PBXFileReference; + path = tclMacOSXBundle.c; + refType = 4; + }; + 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}\""; + }; + F5C88655017D604601DC9062 = { + children = ( + F5C88656017D604601DC9062, + F5C88657017D60C901DC9062, + F5C88658017D60C901DC9062, + ); + isa = PBXGroup; + name = "Header Tools"; + refType = 4; + }; + F5C88656017D604601DC9062 = { + isa = PBXFileReference; + name = genStubs.tcl; + path = ../tools/genStubs.tcl; + refType = 2; + }; + F5C88657017D60C901DC9062 = { + isa = PBXFileReference; + name = tcl.decls; + path = ../generic/tcl.decls; + refType = 2; + }; + F5C88658017D60C901DC9062 = { + isa = PBXFileReference; + name = tclInt.decls; + path = ../generic/tclInt.decls; + refType = 2; + }; + F5F24F6B016ECAA401DC9062 = { + isa = PBXFileReference; + name = regcustom.h; + path = ../generic/regcustom.h; + refType = 2; + }; + F5F24F6C016ECAA401DC9062 = { + isa = PBXFileReference; + name = regerrs.h; + path = ../generic/regerrs.h; + refType = 2; + }; + F5F24F6D016ECAA401DC9062 = { + isa = PBXFileReference; + name = regguts.h; + path = ../generic/regguts.h; + refType = 2; + }; + F5F24F6E016ECAA401DC9062 = { + isa = PBXFileReference; + name = tcl.h; + path = ../generic/tcl.h; + refType = 2; + }; + F5F24F6F016ECAA401DC9062 = { + isa = PBXFileReference; + name = tclCompile.h; + path = ../generic/tclCompile.h; + refType = 2; + }; + F5F24F70016ECAA401DC9062 = { + isa = PBXFileReference; + name = tclDecls.h; + path = ../generic/tclDecls.h; + refType = 2; + }; + F5F24F71016ECAA401DC9062 = { + isa = PBXFileReference; + name = tclInitScript.h; + path = ../generic/tclInitScript.h; + refType = 2; + }; + F5F24F72016ECAA401DC9062 = { + isa = PBXFileReference; + name = tclInt.h; + path = ../generic/tclInt.h; + refType = 2; + }; + F5F24F73016ECAA401DC9062 = { + isa = PBXFileReference; + name = tclIntDecls.h; + path = ../generic/tclIntDecls.h; + refType = 2; + }; + F5F24F74016ECAA401DC9062 = { + isa = PBXFileReference; + name = tclIntPlatDecls.h; + path = ../generic/tclIntPlatDecls.h; + refType = 2; + }; + F5F24F75016ECAA401DC9062 = { + isa = PBXFileReference; + name = tclIO.h; + path = ../generic/tclIO.h; + refType = 2; + }; + F5F24F76016ECAA401DC9062 = { + isa = PBXFileReference; + name = tclMath.h; + path = ../generic/tclMath.h; + refType = 2; + }; + F5F24F77016ECAA401DC9062 = { + isa = PBXFileReference; + name = tclPlatDecls.h; + path = ../generic/tclPlatDecls.h; + refType = 2; + }; + F5F24F78016ECAA401DC9062 = { + isa = PBXFileReference; + name = tclRegexp.h; + path = ../generic/tclRegexp.h; + refType = 2; + }; + F5F24F87016ECAFC01DC9062 = { + isa = PBXFileReference; + name = regc_color.c; + path = ../generic/regc_color.c; + refType = 2; + }; + F5F24F88016ECAFC01DC9062 = { + isa = PBXFileReference; + name = regc_cvec.c; + path = ../generic/regc_cvec.c; + refType = 2; + }; + F5F24F89016ECAFC01DC9062 = { + isa = PBXFileReference; + name = regc_lex.c; + path = ../generic/regc_lex.c; + refType = 2; + }; + F5F24F8A016ECAFC01DC9062 = { + isa = PBXFileReference; + name = regc_locale.c; + path = ../generic/regc_locale.c; + refType = 2; + }; + F5F24F8B016ECAFC01DC9062 = { + isa = PBXFileReference; + name = regc_nfa.c; + path = ../generic/regc_nfa.c; + refType = 2; + }; + F5F24F8C016ECAFC01DC9062 = { + isa = PBXFileReference; + name = regcomp.c; + path = ../generic/regcomp.c; + refType = 2; + }; + F5F24F8D016ECAFC01DC9062 = { + isa = PBXFileReference; + name = rege_dfa.c; + path = ../generic/rege_dfa.c; + refType = 2; + }; + F5F24F8E016ECAFC01DC9062 = { + isa = PBXFileReference; + name = regerror.c; + path = ../generic/regerror.c; + refType = 2; + }; + F5F24F8F016ECAFC01DC9062 = { + isa = PBXFileReference; + name = regexec.c; + path = ../generic/regexec.c; + refType = 2; + }; + F5F24F90016ECAFC01DC9062 = { + isa = PBXFileReference; + name = regfree.c; + path = ../generic/regfree.c; + refType = 2; + }; + F5F24F91016ECAFC01DC9062 = { + isa = PBXFileReference; + name = regfronts.c; + path = ../generic/regfronts.c; + refType = 2; + }; + F5F24F92016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclAlloc.c; + path = ../generic/tclAlloc.c; + refType = 2; + }; + F5F24F93016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclAsync.c; + path = ../generic/tclAsync.c; + refType = 2; + }; + F5F24F94016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclBasic.c; + path = ../generic/tclBasic.c; + refType = 2; + }; + F5F24F95016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclBinary.c; + path = ../generic/tclBinary.c; + refType = 2; + }; + F5F24F96016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclCkalloc.c; + path = ../generic/tclCkalloc.c; + refType = 2; + }; + F5F24F97016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclClock.c; + path = ../generic/tclClock.c; + refType = 2; + }; + F5F24F98016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclCmdAH.c; + path = ../generic/tclCmdAH.c; + refType = 2; + }; + F5F24F99016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclCmdIL.c; + path = ../generic/tclCmdIL.c; + refType = 2; + }; + F5F24F9A016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclCmdMZ.c; + path = ../generic/tclCmdMZ.c; + refType = 2; + }; + F5F24F9B016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclCompCmds.c; + path = ../generic/tclCompCmds.c; + refType = 2; + }; + F5F24F9C016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclCompExpr.c; + path = ../generic/tclCompExpr.c; + refType = 2; + }; + F5F24F9D016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclCompile.c; + path = ../generic/tclCompile.c; + refType = 2; + }; + F5F24F9E016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclDate.c; + path = ../generic/tclDate.c; + refType = 2; + }; + F5F24F9F016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclEncoding.c; + path = ../generic/tclEncoding.c; + refType = 2; + }; + F5F24FA0016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclEnv.c; + path = ../generic/tclEnv.c; + refType = 2; + }; + F5F24FA1016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclEvent.c; + path = ../generic/tclEvent.c; + refType = 2; + }; + F5F24FA2016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclExecute.c; + path = ../generic/tclExecute.c; + refType = 2; + }; + F5F24FA3016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclFCmd.c; + path = ../generic/tclFCmd.c; + refType = 2; + }; + F5F24FA4016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclFileName.c; + path = ../generic/tclFileName.c; + refType = 2; + }; + F5F24FA5016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclGet.c; + path = ../generic/tclGet.c; + refType = 2; + }; + F5F24FA6016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclHash.c; + path = ../generic/tclHash.c; + refType = 2; + }; + F5F24FA7016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclHistory.c; + path = ../generic/tclHistory.c; + refType = 2; + }; + F5F24FA8016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclIndexObj.c; + path = ../generic/tclIndexObj.c; + refType = 2; + }; + F5F24FA9016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclInterp.c; + path = ../generic/tclInterp.c; + refType = 2; + }; + F5F24FAA016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclIO.c; + path = ../generic/tclIO.c; + refType = 2; + }; + F5F24FAB016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclIOCmd.c; + path = ../generic/tclIOCmd.c; + refType = 2; + }; + F5F24FAC016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclIOGT.c; + path = ../generic/tclIOGT.c; + refType = 2; + }; + F5F24FAD016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclIOSock.c; + path = ../generic/tclIOSock.c; + refType = 2; + }; + F5F24FAE016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclIOUtil.c; + path = ../generic/tclIOUtil.c; + refType = 2; + }; + F5F24FAF016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclLink.c; + path = ../generic/tclLink.c; + refType = 2; + }; + F5F24FB0016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclListObj.c; + path = ../generic/tclListObj.c; + refType = 2; + }; + F5F24FB1016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclLiteral.c; + path = ../generic/tclLiteral.c; + refType = 2; + }; + F5F24FB2016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclLoad.c; + path = ../generic/tclLoad.c; + refType = 2; + }; + F5F24FB3016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclLoadNone.c; + path = ../generic/tclLoadNone.c; + refType = 2; + }; + F5F24FB4016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclMain.c; + path = ../generic/tclMain.c; + refType = 2; + }; + F5F24FB5016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclNamesp.c; + path = ../generic/tclNamesp.c; + refType = 2; + }; + F5F24FB6016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclNotify.c; + path = ../generic/tclNotify.c; + refType = 2; + }; + F5F24FB7016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclObj.c; + path = ../generic/tclObj.c; + refType = 2; + }; + F5F24FB8016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclPanic.c; + path = ../generic/tclPanic.c; + refType = 2; + }; + F5F24FB9016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclParse.c; + path = ../generic/tclParse.c; + refType = 2; + }; + F5F24FBA016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclParseExpr.c; + path = ../generic/tclParseExpr.c; + refType = 2; + }; + F5F24FBB016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclPipe.c; + path = ../generic/tclPipe.c; + refType = 2; + }; + F5F24FBC016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclPosixStr.c; + path = ../generic/tclPosixStr.c; + refType = 2; + }; + F5F24FBD016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclPreserve.c; + path = ../generic/tclPreserve.c; + refType = 2; + }; + F5F24FBE016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclProc.c; + path = ../generic/tclProc.c; + refType = 2; + }; + F5F24FBF016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclRegexp.c; + path = ../generic/tclRegexp.c; + refType = 2; + }; + F5F24FC0016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclResolve.c; + path = ../generic/tclResolve.c; + refType = 2; + }; + F5F24FC1016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclResult.c; + path = ../generic/tclResult.c; + refType = 2; + }; + F5F24FC2016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclScan.c; + path = ../generic/tclScan.c; + refType = 2; + }; + F5F24FC3016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclStringObj.c; + path = ../generic/tclStringObj.c; + refType = 2; + }; + F5F24FC4016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclStubInit.c; + path = ../generic/tclStubInit.c; + refType = 2; + }; + F5F24FC5016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclStubLib.c; + path = ../generic/tclStubLib.c; + refType = 2; + }; + F5F24FC6016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclTest.c; + path = ../generic/tclTest.c; + refType = 2; + }; + F5F24FC7016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclTestObj.c; + path = ../generic/tclTestObj.c; + refType = 2; + }; + F5F24FC8016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclTestProcBodyObj.c; + path = ../generic/tclTestProcBodyObj.c; + refType = 2; + }; + F5F24FC9016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclThread.c; + path = ../generic/tclThread.c; + refType = 2; + }; + F5F24FCA016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclThreadJoin.c; + path = ../generic/tclThreadJoin.c; + refType = 2; + }; + F5F24FCB016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclThreadTest.c; + path = ../generic/tclThreadTest.c; + refType = 2; + }; + F5F24FCC016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclTimer.c; + path = ../generic/tclTimer.c; + refType = 2; + }; + F5F24FCD016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclUniData.c; + path = ../generic/tclUniData.c; + refType = 2; + }; + F5F24FCE016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclUtf.c; + path = ../generic/tclUtf.c; + refType = 2; + }; + F5F24FCF016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclUtil.c; + path = ../generic/tclUtil.c; + refType = 2; + }; + F5F24FD0016ECAFC01DC9062 = { + isa = PBXFileReference; + name = tclVar.c; + path = ../generic/tclVar.c; + refType = 2; + }; + F5F24FD1016ECB1E01DC9062 = { + isa = PBXFileReference; + name = regex.h; + path = ../generic/regex.h; + refType = 2; + }; + F5F24FD2016ECB1E01DC9062 = { + isa = PBXFileReference; + name = tclPort.h; + path = ../generic/tclPort.h; + refType = 2; + }; + F5F24FD3016ECB4901DC9062 = { + isa = PBXFileReference; + name = tclPkg.c; + path = ../generic/tclPkg.c; + refType = 2; + }; + F5F24FD6016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixPort.h; + path = ../unix/tclUnixPort.h; + refType = 2; + }; + F5F24FD7016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixThrd.h; + path = ../unix/tclUnixThrd.h; + refType = 2; + }; + F5F24FD8016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclAppInit.c; + path = ../unix/tclAppInit.c; + refType = 2; + }; + F5F24FD9016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclLoadDyld.c; + path = ../unix/tclLoadDyld.c; + refType = 2; + }; + F5F24FDB016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixChan.c; + path = ../unix/tclUnixChan.c; + refType = 2; + }; + F5F24FDC016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixEvent.c; + path = ../unix/tclUnixEvent.c; + refType = 2; + }; + F5F24FDD016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixFCmd.c; + path = ../unix/tclUnixFCmd.c; + refType = 2; + }; + F5F24FDE016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixFile.c; + path = ../unix/tclUnixFile.c; + refType = 2; + }; + F5F24FDF016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixInit.c; + path = ../unix/tclUnixInit.c; + refType = 2; + }; + F5F24FE0016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixNotfy.c; + path = ../unix/tclUnixNotfy.c; + refType = 2; + }; + F5F24FE1016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixPipe.c; + path = ../unix/tclUnixPipe.c; + refType = 2; + }; + F5F24FE2016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixSock.c; + path = ../unix/tclUnixSock.c; + refType = 2; + }; + F5F24FE3016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixTest.c; + path = ../unix/tclUnixTest.c; + refType = 2; + }; + F5F24FE4016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixThrd.c; + path = ../unix/tclUnixThrd.c; + refType = 2; + }; + F5F24FE5016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclUnixTime.c; + path = ../unix/tclUnixTime.c; + refType = 2; + }; + F5F24FE6016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclXtNotify.c; + path = ../unix/tclXtNotify.c; + refType = 2; + }; + F5F24FE7016ECC0F01DC9062 = { + isa = PBXFileReference; + name = tclXtTest.c; + path = ../unix/tclXtTest.c; + refType = 2; + }; + F5F24FEE016ED0DF01DC9062 = { + children = ( + F5F24FEF016ED0DF01DC9062, + F5F24FF0016ED0DF01DC9062, + F5F24FF3016ED0DF01DC9062, + F5F24FF4016ED0DF01DC9062, + F5F24FF5016ED0DF01DC9062, + F5F24FF6016ED0DF01DC9062, + F5F24FFA016ED0DF01DC9062, + F5F24FFB016ED0DF01DC9062, + F5F24FFC016ED0DF01DC9062, + F5F24FFE016ED0DF01DC9062, + F5F25001016ED0DF01DC9062, + F5F25002016ED0DF01DC9062, + F5F25003016ED0DF01DC9062, + F5F25005016ED0DF01DC9062, + F5F25007016ED0DF01DC9062, + F5F25008016ED0DF01DC9062, + F5F2500A016ED0DF01DC9062, + ); + isa = PBXGroup; + name = Scripts; + refType = 4; + }; + F5F24FEF016ED0DF01DC9062 = { + isa = PBXFileReference; + name = auto.tcl; + path = ../library/auto.tcl; + refType = 2; + }; + F5F24FF0016ED0DF01DC9062 = { + includeInIndex = 0; + isa = PBXFolderReference; + name = dde; + path = ../library/dde; + refType = 2; + }; + F5F24FF3016ED0DF01DC9062 = { + includeInIndex = 0; + isa = PBXFolderReference; + name = encoding; + path = ../library/encoding; + refType = 2; + }; + F5F24FF4016ED0DF01DC9062 = { + isa = PBXFileReference; + name = history.tcl; + path = ../library/history.tcl; + refType = 2; + }; + F5F24FF5016ED0DF01DC9062 = { + includeInIndex = 0; + isa = PBXFolderReference; + name = http; + path = ../library/http; + refType = 2; + }; + F5F24FF6016ED0DF01DC9062 = { + includeInIndex = 0; + isa = PBXFolderReference; + name = http1.0; + path = ../library/http1.0; + refType = 2; + }; + F5F24FFA016ED0DF01DC9062 = { + isa = PBXFileReference; + name = init.tcl; + path = ../library/init.tcl; + refType = 2; + }; + F5F24FFB016ED0DF01DC9062 = { + isa = PBXFileReference; + name = ldAout.tcl; + path = ../library/ldAout.tcl; + refType = 2; + }; + F5F24FFC016ED0DF01DC9062 = { + includeInIndex = 0; + isa = PBXFolderReference; + name = msgcat; + path = ../library/msgcat; + refType = 2; + }; + F5F24FFE016ED0DF01DC9062 = { + includeInIndex = 0; + isa = PBXFolderReference; + name = opt; + path = ../library/opt; + refType = 2; + }; + F5F25001016ED0DF01DC9062 = { + isa = PBXFileReference; + name = package.tcl; + path = ../library/package.tcl; + refType = 2; + }; + F5F25002016ED0DF01DC9062 = { + isa = PBXFileReference; + name = parray.tcl; + path = ../library/parray.tcl; + refType = 2; + }; + F5F25003016ED0DF01DC9062 = { + includeInIndex = 0; + isa = PBXFolderReference; + name = reg; + path = ../library/reg; + refType = 2; + }; + F5F25005016ED0DF01DC9062 = { + isa = PBXFileReference; + name = safe.tcl; + path = ../library/safe.tcl; + refType = 2; + }; + F5F25007016ED0DF01DC9062 = { + isa = PBXFileReference; + name = tclIndex; + path = ../library/tclIndex; + refType = 2; + }; + F5F25008016ED0DF01DC9062 = { + includeInIndex = 0; + isa = PBXFolderReference; + name = tcltest; + path = ../library/tcltest; + refType = 2; + }; + F5F2500A016ED0DF01DC9062 = { + isa = PBXFileReference; + name = word.tcl; + path = ../library/word.tcl; + refType = 2; + }; + }; + rootObject = 00E2F845016E82EB0ACA28DC; +} diff --git a/macosx/tclMacOSXBundle.c b/macosx/tclMacOSXBundle.c new file mode 100644 index 0000000..0761744 --- /dev/null +++ b/macosx/tclMacOSXBundle.c @@ -0,0 +1,128 @@ +/* + * tclMacOSXBundle.c -- + * + * This file implements functions that inspect CFBundle structures + * on MacOS X. + * + * Copyright 2001, Apple Computer, Inc. + * + * The following terms apply to all files originating from Apple + * Computer, Inc. ("Apple") and associated with the software + * unless explicitly disclaimed in individual files. + * + * + * Apple hereby grants permission to use, copy, modify, + * distribute, and license this software and its documentation + * for any purpose, provided that existing copyright notices are + * retained in all copies and that this notice is included + * verbatim in any distributions. No written agreement, license, + * or royalty fee is required for any of the authorized + * uses. Modifications to this software may be copyrighted by + * their authors and need not follow the licensing terms + * described here, provided that the new terms are clearly + * indicated on the first page of each file where they apply. + * + * + * IN NO EVENT SHALL APPLE, THE AUTHORS OR DISTRIBUTORS OF THE + * SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, + * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF + * THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, + * EVEN IF APPLE OR THE AUTHORS HAVE BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. APPLE, THE AUTHORS AND + * DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS + * SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND APPLE,THE + * AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE + * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * GOVERNMENT USE: If you are acquiring this software on behalf + * of the U.S. government, the Government shall have only + * "Restricted Rights" in the software and related documentation + * as defined in the Federal Acquisition Regulations (FARs) in + * Clause 52.227.19 (c) (2). If you are acquiring the software + * on behalf of the Department of Defense, the software shall be + * classified as "Commercial Computer Software" and the + * Government shall have only "Restricted Rights" as defined in + * Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the + * foregoing, the authors grant the U.S. Government and others + * acting in its behalf permission to use and distribute the + * software in accordance with the terms specified in this + * license. + */ + + #include <CoreFoundation/CoreFoundation.h> + #include "tcl.h" + +/* + *---------------------------------------------------------------------- + * + * Tcl_MacOSXOpenBundleResources -- + * + * Given the bundle name for a shared library, this routine + * sets libraryPath to the Resources/Scripts directory + * in the framework package. If hasResourceFile is + * true, it will also open the main resource file for the bundle. + * + * + * Results: + * TCL_OK if the bundle could be opened, and the Scripts folder found. + * TCL_ERROR otherwise. + * + * Side effects: + * libraryVariableName may be set, and the resource file opened. + * + *---------------------------------------------------------------------- + */ + +int +Tcl_MacOSXOpenBundleResources(Tcl_Interp *interp, + CONST char *bundleName, + int hasResourceFile, + int maxPathLen, + char *libraryPath) +{ + CFBundleRef bundleRef; + CFStringRef bundleNameRef; + + libraryPath[0] = '\0'; + + bundleNameRef = CFStringCreateWithCString(NULL, + bundleName, kCFStringEncodingUTF8); + + bundleRef = CFBundleGetBundleWithIdentifier(bundleNameRef); + CFRelease(bundleNameRef); + + if (bundleRef == 0) { + return TCL_ERROR; + } else { + CFURLRef libURL; + + if (hasResourceFile) { + short refNum; + refNum = CFBundleOpenBundleResourceMap(bundleRef); + } + + libURL = CFBundleCopyResourceURL(bundleRef, + CFSTR("Scripts"), + NULL, + NULL); + + if (libURL != NULL) { + /* + * FIXME: This is a quick fix, it is probably not right + * for internationalization. + */ + + if (CFURLGetFileSystemRepresentation (libURL, true, + libraryPath, maxPathLen)) { + } + CFRelease(libURL); + } else { + return TCL_ERROR; + } + } + + return TCL_OK; +} + |