// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 42;
	objects = {

/* Begin PBXBuildFile section */
		A1F593A60B8F042A00073279 /* primes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F593A50B8F042A00073279 /* primes.cpp */; };
		A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
		A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
/* End PBXBuildFile section */

/* Begin PBXCopyFilesBuildPhase section */
		8DD76F690486A84900D96B5E /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 12;
			dstPath = "";
			dstSubfolderSpec = 16;
			files = (
				A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		8DD76F6C0486A84900D96B5E /* primes */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = primes; sourceTree = BUILT_PRODUCTS_DIR; };
		A1F593A50B8F042A00073279 /* primes.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = primes.cpp; path = ../primes.cpp; sourceTree = SOURCE_ROOT; };
		A1F593B30B8F06F900073279 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		8DD76F660486A84900D96B5E /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		08FB7794FE84155DC02AAC07 /* primes */ = {
			isa = PBXGroup;
			children = (
				08FB7795FE84155DC02AAC07 /* Source */,
				A1F593B20B8F06F900073279 /* External Frameworks and Libraries */,
				1AB674ADFE9D54B511CA2CBB /* Products */,
			);
			name = primes;
			sourceTree = "<group>";
		};
		08FB7795FE84155DC02AAC07 /* Source */ = {
			isa = PBXGroup;
			children = (
				A1F593A50B8F042A00073279 /* primes.cpp */,
			);
			name = Source;
			sourceTree = "<group>";
		};
		1AB674ADFE9D54B511CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				8DD76F6C0486A84900D96B5E /* primes */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		A1F593B20B8F06F900073279 /* External Frameworks and Libraries */ = {
			isa = PBXGroup;
			children = (
				A1F593B30B8F06F900073279 /* libtbb.dylib */,
			);
			name = "External Frameworks and Libraries";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		8DD76F620486A84900D96B5E /* primes */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "primes" */;
			buildPhases = (
				8DD76F640486A84900D96B5E /* Sources */,
				8DD76F660486A84900D96B5E /* Frameworks */,
				8DD76F690486A84900D96B5E /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = primes;
			productInstallPath = "$(HOME)/bin";
			productName = primes;
			productReference = 8DD76F6C0486A84900D96B5E /* primes */;
			productType = "com.apple.product-type.tool";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		08FB7793FE84155DC02AAC07 /* Project object */ = {
			isa = PBXProject;
			buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "primes" */;
			compatibilityVersion = "Xcode 2.4";
			hasScannedForEncodings = 1;
			mainGroup = 08FB7794FE84155DC02AAC07 /* primes */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				8DD76F620486A84900D96B5E /* primes */,
			);
		};
/* End PBXProject section */

/* Begin PBXSourcesBuildPhase section */
		8DD76F640486A84900D96B5E /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A1F593A60B8F042A00073279 /* primes.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		1DEB923208733DC60010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = NO;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_ENABLE_FIX_AND_CONTINUE = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_VERSION = 4.0;
				INSTALL_PATH = "$(HOME)/bin";
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
				);
				LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
				PRODUCT_NAME = primes;
				ZERO_LINK = NO;
			};
			name = Debug;
		};
		1DEB923308733DC60010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
				GCC_VERSION = 4.0;
				INSTALL_PATH = "$(HOME)/bin";
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
				);
				LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
				PRODUCT_NAME = primes;
				ZERO_LINK = NO;
			};
			name = Release;
		};
		1DEB923608733DC60010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ARCHS = i386;
				GCC_ENABLE_CPP_RTTI = YES;
				GCC_MODEL_TUNING = "";
				GCC_VERSION = 4.0;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				PREBINDING = NO;
				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
				SYMROOT = "/tmp/tbb-$(USER)";
			};
			name = Debug;
		};
		1DEB923708733DC60010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ARCHS = i386;
				GCC_ENABLE_CPP_RTTI = YES;
				GCC_MODEL_TUNING = "";
				GCC_VERSION = 4.0;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				PREBINDING = NO;
				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
				SYMROOT = "/tmp/tbb-$(USER)";
			};
			name = Release;
		};
		A1F593C60B8F0E6E00073279 /* Debug64 */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_64_BIT_PRE_XCODE_3_1)";
				ARCHS_STANDARD_64_BIT_PRE_XCODE_3_1 = x86_64;
				COPY_PHASE_STRIP = NO;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_ENABLE_FIX_AND_CONTINUE = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_VERSION = 4.0;
				INSTALL_PATH = "$(HOME)/bin";
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
				);
				LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
				PRODUCT_NAME = primes;
				ZERO_LINK = NO;
			};
			name = Debug64;
		};
		A1F593C70B8F0E6E00073279 /* Release64 */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_64_BIT_PRE_XCODE_3_1)";
				ARCHS_STANDARD_64_BIT_PRE_XCODE_3_1 = x86_64;
				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
				GCC_VERSION = 4.0;
				INSTALL_PATH = "$(HOME)/bin";
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
				);
				LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
				PRODUCT_NAME = primes;
				ZERO_LINK = NO;
			};
			name = Release64;
		};
		A1F593C80B8F0E6E00073279 /* Debug64 */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ARCHS = i386;
				GCC_ENABLE_CPP_RTTI = YES;
				GCC_MODEL_TUNING = "";
				GCC_VERSION = 4.0;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				OTHER_CPLUSPLUSFLAGS = (
					"$(OTHER_CFLAGS)",
					"-m64",
				);
				OTHER_LDFLAGS = "-m64";
				PREBINDING = NO;
				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
				SYMROOT = "/tmp/tbb-$(USER)";
			};
			name = Debug64;
		};
		A1F593C90B8F0E6E00073279 /* Release64 */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ARCHS = i386;
				GCC_ENABLE_CPP_RTTI = YES;
				GCC_MODEL_TUNING = "";
				GCC_VERSION = 4.0;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				OTHER_CPLUSPLUSFLAGS = (
					"$(OTHER_CFLAGS)",
					"-m64",
				);
				OTHER_LDFLAGS = "-m64";
				PREBINDING = NO;
				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
				SYMROOT = "/tmp/tbb-$(USER)";
			};
			name = Release64;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "primes" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB923208733DC60010E9CD /* Debug */,
				A1F593C60B8F0E6E00073279 /* Debug64 */,
				1DEB923308733DC60010E9CD /* Release */,
				A1F593C70B8F0E6E00073279 /* Release64 */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "primes" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB923608733DC60010E9CD /* Debug */,
				A1F593C80B8F0E6E00073279 /* Debug64 */,
				1DEB923708733DC60010E9CD /* Release */,
				A1F593C90B8F0E6E00073279 /* Release64 */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
}
