summaryrefslogtreecommitdiffstats
path: root/macosx
diff options
context:
space:
mode:
Diffstat (limited to 'macosx')
-rw-r--r--macosx/Makefile56
-rw-r--r--macosx/Tcl.pbproj/jingham.pbxuser405
-rw-r--r--macosx/Tcl.pbproj/project.pbxproj1308
-rw-r--r--macosx/tclMacOSXBundle.c128
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;
+}
+