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

/* Begin PBXBuildFile section */
		2E8D1E5E05852B5C000583E6 /* SEnumVal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E8D1E5D05852B5C000583E6 /* SEnumVal.cpp */; };
		90E140BD0541872600C60A69 /* xerces_sample_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F52345F503AE603601A80065 /* xerces_sample_prefix.h */; };
		90EBD03908B163BF0020DED4 /* Xerces.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 90EBD03808B163BF0020DED4 /* Xerces.framework */; };
/* End PBXBuildFile section */

/* Begin PBXBuildStyle section */
		F58B304702DE343B0195DDC8 /* Development GCC3 */ = {
			isa = PBXBuildStyle;
			buildSettings = {
				COPY_PHASE_STRIP = NO;
				OPTIMIZATION_CFLAGS = "-O0";
			};
			name = "Development GCC3";
		};
		F58B304802DE34410195DDC8 /* Deployment GCC3 */ = {
			isa = PBXBuildStyle;
			buildSettings = {
				COPY_PHASE_STRIP = YES;
			};
			name = "Deployment GCC3";
		};
/* End PBXBuildStyle section */

/* Begin PBXFileReference section */
		2E8D1E5D05852B5C000583E6 /* SEnumVal.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SEnumVal.cpp; sourceTree = "<group>"; };
		90E140C70541872700C60A69 /* SEnumVal */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = SEnumVal; sourceTree = BUILT_PRODUCTS_DIR; };
		90EBD03808B163BF0020DED4 /* Xerces.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Xerces.framework; path = ../../XercesLib/build/Development/Xerces.framework; sourceTree = SOURCE_ROOT; };
		F52345F503AE603601A80065 /* xerces_sample_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xerces_sample_prefix.h; path = ../xerces_sample_prefix.h; sourceTree = SOURCE_ROOT; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		90E140C30541872600C60A69 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				90EBD03908B163BF0020DED4 /* Xerces.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		0249A662FF388D9811CA2CEA /* External Frameworks and Libraries */ = {
			isa = PBXGroup;
			children = (
				90EBD03808B163BF0020DED4 /* Xerces.framework */,
			);
			name = "External Frameworks and Libraries";
			sourceTree = SOURCE_ROOT;
		};
		08FB7794FE84155DC02AAC07 /* SEnumVal */ = {
			isa = PBXGroup;
			children = (
				F52345F503AE603601A80065 /* xerces_sample_prefix.h */,
				08FB7795FE84155DC02AAC07 /* Sources */,
				0249A662FF388D9811CA2CEA /* External Frameworks and Libraries */,
				1AB674ADFE9D54B511CA2CBB /* Products */,
			);
			name = SEnumVal;
			path = ../../../../../samples/SEnumVal;
			sourceTree = SOURCE_ROOT;
		};
		08FB7795FE84155DC02AAC07 /* Sources */ = {
			isa = PBXGroup;
			children = (
				2E8D1E5D05852B5C000583E6 /* SEnumVal.cpp */,
			);
			name = Sources;
			sourceTree = "<group>";
		};
		1AB674ADFE9D54B511CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				90E140C70541872700C60A69 /* SEnumVal */,
			);
			name = Products;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		90E140B90541872600C60A69 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				90E140BD0541872600C60A69 /* xerces_sample_prefix.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		90E140B80541872600C60A69 /* SEnumVal */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 90EBD02E08B163B10020DED4 /* Build configuration list for PBXNativeTarget "SEnumVal" */;
			buildPhases = (
				90E140B90541872600C60A69 /* Headers */,
				90E140BE0541872600C60A69 /* Sources */,
				90E140C30541872600C60A69 /* Frameworks */,
				90E140C50541872600C60A69 /* Rez */,
			);
			buildRules = (
			);
			buildSettings = {
				BUILD_SETTING = "";
				FRAMEWORK_SEARCH_PATHS = ../../XercesLib/build;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = ../xerces_sample_prefix.h;
				GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
				GCC_WARN_UNKNOWN_PRAGMAS = NO;
				HEADER_SEARCH_PATHS = ../../../../../src/;
				LIBRARY_SEARCH_PATHS = "";
				OTHER_CFLAGS = "";
				OTHER_LDFLAGS = "";
				OTHER_REZFLAGS = "";
				PREBINDING = NO;
				PRODUCT_NAME = SEnumVal;
				REZ_EXECUTABLE = YES;
				SECTORDER_FLAGS = "";
				WARNING_CFLAGS = "-Wmost";
			};
			dependencies = (
			);
			name = SEnumVal;
			productName = SEnumVal;
			productReference = 90E140C70541872700C60A69 /* SEnumVal */;
			productType = "com.apple.product-type.tool";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		08FB7793FE84155DC02AAC07 /* Project object */ = {
			isa = PBXProject;
			buildConfigurationList = 90EBD03208B163B10020DED4 /* Build configuration list for PBXProject "SEnumVal" */;
			buildSettings = {
			};
			buildStyles = (
				F58B304702DE343B0195DDC8 /* Development GCC3 */,
				F58B304802DE34410195DDC8 /* Deployment GCC3 */,
			);
			hasScannedForEncodings = 1;
			mainGroup = 08FB7794FE84155DC02AAC07 /* SEnumVal */;
			projectDirPath = "";
			targets = (
				90E140B80541872600C60A69 /* SEnumVal */,
			);
		};
/* End PBXProject section */

/* Begin PBXRezBuildPhase section */
		90E140C50541872600C60A69 /* Rez */ = {
			isa = PBXRezBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXRezBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		90E140BE0541872600C60A69 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2E8D1E5E05852B5C000583E6 /* SEnumVal.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		90EBD02F08B163B10020DED4 /* Development */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUILD_SETTING = "";
				COPY_PHASE_STRIP = NO;
				FRAMEWORK_SEARCH_PATHS = (
					../../XercesLib/build,
					"$(SRCROOT)/../../XercesLib/build/Development",
				);
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = ../xerces_sample_prefix.h;
				GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
				GCC_WARN_UNKNOWN_PRAGMAS = NO;
				HEADER_SEARCH_PATHS = ../../../../../src/;
				LIBRARY_SEARCH_PATHS = "";
				OPTIMIZATION_CFLAGS = "-O0";
				OTHER_CFLAGS = "";
				OTHER_LDFLAGS = "";
				OTHER_REZFLAGS = "";
				PREBINDING = NO;
				PRODUCT_NAME = SEnumVal;
				REZ_EXECUTABLE = YES;
				SECTORDER_FLAGS = "";
				WARNING_CFLAGS = "-Wmost";
			};
			name = Development;
		};
		90EBD03008B163B10020DED4 /* Deployment */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUILD_SETTING = "";
				COPY_PHASE_STRIP = YES;
				FRAMEWORK_SEARCH_PATHS = (
					../../XercesLib/build,
					"$(SRCROOT)/../../XercesLib/build/Development",
				);
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = ../xerces_sample_prefix.h;
				GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
				GCC_WARN_UNKNOWN_PRAGMAS = NO;
				HEADER_SEARCH_PATHS = ../../../../../src/;
				LIBRARY_SEARCH_PATHS = "";
				OTHER_CFLAGS = "";
				OTHER_LDFLAGS = "";
				OTHER_REZFLAGS = "";
				PREBINDING = NO;
				PRODUCT_NAME = SEnumVal;
				REZ_EXECUTABLE = YES;
				SECTORDER_FLAGS = "";
				WARNING_CFLAGS = "-Wmost";
			};
			name = Deployment;
		};
		90EBD03308B163B10020DED4 /* Development */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
			};
			name = Development;
		};
		90EBD03408B163B10020DED4 /* Deployment */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
			};
			name = Deployment;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		90EBD02E08B163B10020DED4 /* Build configuration list for PBXNativeTarget "SEnumVal" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				90EBD02F08B163B10020DED4 /* Development */,
				90EBD03008B163B10020DED4 /* Deployment */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Development;
		};
		90EBD03208B163B10020DED4 /* Build configuration list for PBXProject "SEnumVal" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				90EBD03308B163B10020DED4 /* Development */,
				90EBD03408B163B10020DED4 /* Deployment */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Development;
		};
/* End XCConfigurationList section */
	};
	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
}
