mirror of
https://github.com/darlinghq/darling-cocotron.git
synced 2024-11-23 12:09:51 +00:00
merge
This commit is contained in:
commit
56f52f6da1
@ -12,6 +12,11 @@
|
||||
C67E0338125B230900C10757 /* CFNetServices.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC121CC10EFC89500FD1B47 /* CFNetServices.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C67E0339125B230900C10757 /* CFHost.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC121D610EFC92800FD1B47 /* CFHost.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C67E033A125B230900C10757 /* CFNetworkExport.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC1221810EFCB9A00FD1B47 /* CFNetworkExport.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6893D8C1785BB960093BFB1 /* CFNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = FE74338510A89A9D004CDF00 /* CFNetwork.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6893D8D1785BB960093BFB1 /* CFSocketStream.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC121A810EFC6C000FD1B47 /* CFSocketStream.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6893D8E1785BB960093BFB1 /* CFNetServices.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC121CC10EFC89500FD1B47 /* CFNetServices.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6893D8F1785BB960093BFB1 /* CFHost.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC121D610EFC92800FD1B47 /* CFHost.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6893D901785BB960093BFB1 /* CFNetworkExport.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC1221810EFCB9A00FD1B47 /* CFNetworkExport.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE74338610A89A9D004CDF00 /* CFNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = FE74338510A89A9D004CDF00 /* CFNetwork.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE849306119AF77F00E252CC /* CFNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = FE74338510A89A9D004CDF00 /* CFNetwork.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE849307119AF77F00E252CC /* CFSocketStream.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC121A810EFC6C000FD1B47 /* CFSocketStream.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
@ -43,6 +48,14 @@
|
||||
outputFiles = (
|
||||
);
|
||||
};
|
||||
C6893D911785BB960093BFB1 /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = org.cocotron.1.0.solaris.i686.gcc.default;
|
||||
fileType = sourcecode.c;
|
||||
isEditable = 1;
|
||||
outputFiles = (
|
||||
);
|
||||
};
|
||||
FE74338110A899DC004CDF00 /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = org.cocotron.1.0.windows.i386.gcc.default;
|
||||
@ -74,6 +87,8 @@
|
||||
089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
8DC2EF5B0486A6940098B216 /* CFNetwork.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CFNetwork.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C6893D951785BB960093BFB1 /* CFNetwork.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CFNetwork.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C6893D961785BB960093BFB1 /* CFNetwork-Solaris-sparc copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "CFNetwork-Solaris-sparc copy-Info.plist"; path = "/Users/gga/Developer/Cocotron/development-arts/CFNetwork/CFNetwork-Solaris-sparc copy-Info.plist"; sourceTree = "<absolute>"; };
|
||||
FE1E55BE143030B7000D60A1 /* darwin-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE1E55BF143030B7000D60A1 /* darwin-ppc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-ppc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE1E55C0143030B7000D60A1 /* darwin-x86_64.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-x86_64.xcconfig"; sourceTree = "<group>"; };
|
||||
@ -108,6 +123,7 @@
|
||||
FEA752F3114EB30B00AF634E /* CFNetwork.framework */,
|
||||
FEC32E40115909B30008ECE5 /* CFNetwork.framework */,
|
||||
FE84930F119AF77F00E252CC /* CFNetwork.framework */,
|
||||
C6893D951785BB960093BFB1 /* CFNetwork.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@ -125,6 +141,7 @@
|
||||
089C1665FE841158C02AAC07 /* Resources */,
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */,
|
||||
034768DFFF38A50411DB9C8B /* Products */,
|
||||
C6893D961785BB960093BFB1 /* CFNetwork-Solaris-sparc copy-Info.plist */,
|
||||
);
|
||||
name = CFNetwork;
|
||||
sourceTree = "<group>";
|
||||
@ -220,6 +237,18 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C6893D8B1785BB960093BFB1 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C6893D8C1785BB960093BFB1 /* CFNetwork.h in Headers */,
|
||||
C6893D8D1785BB960093BFB1 /* CFSocketStream.h in Headers */,
|
||||
C6893D8E1785BB960093BFB1 /* CFNetServices.h in Headers */,
|
||||
C6893D8F1785BB960093BFB1 /* CFHost.h in Headers */,
|
||||
C6893D901785BB960093BFB1 /* CFNetworkExport.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE849305119AF77F00E252CC /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -292,6 +321,23 @@
|
||||
productName = CFNetwork;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
C6893D8A1785BB960093BFB1 /* CFNetwork-Solaris-i686 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C6893D921785BB960093BFB1 /* Build configuration list for PBXNativeTarget "CFNetwork-Solaris-i686" */;
|
||||
buildPhases = (
|
||||
C6893D8B1785BB960093BFB1 /* Headers */,
|
||||
);
|
||||
buildRules = (
|
||||
C6893D911785BB960093BFB1 /* PBXBuildRule */,
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "CFNetwork-Solaris-i686";
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = CFNetwork;
|
||||
productReference = C6893D951785BB960093BFB1 /* CFNetwork.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
FE849304119AF77F00E252CC /* CFNetwork-FreeBSD-i386 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FE84930C119AF77F00E252CC /* Build configuration list for PBXNativeTarget "CFNetwork-FreeBSD-i386" */;
|
||||
@ -370,6 +416,7 @@
|
||||
FEC32E35115909B30008ECE5 /* CFNetwork-Darwin-i386 */,
|
||||
FE849304119AF77F00E252CC /* CFNetwork-FreeBSD-i386 */,
|
||||
C67E0334125B230900C10757 /* CFNetwork-Solaris-sparc */,
|
||||
C6893D8A1785BB960093BFB1 /* CFNetwork-Solaris-i686 */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@ -460,6 +507,44 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C6893D931785BB960093BFB1 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i686;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEPLOYMENT_LOCATION = YES;
|
||||
DEPLOYMENT_POSTPROCESSING = YES;
|
||||
DSTROOT = /;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_MODE_FLAG = "og-w,a+rX";
|
||||
INSTALL_PATH = /Developer/Cocotron/1.0/Solaris/i686/Frameworks;
|
||||
OTHER_CFLAGS = "-DCFNETWORK_INSIDE_BUILD";
|
||||
PRODUCT_NAME = CFNetwork;
|
||||
SDKROOT = "";
|
||||
STRIP_INSTALLED_PRODUCT = YES;
|
||||
SYMROOT = build/Solaris/i686;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C6893D941785BB960093BFB1 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i686;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEPLOYMENT_LOCATION = YES;
|
||||
DEPLOYMENT_POSTPROCESSING = YES;
|
||||
DSTROOT = /;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_MODE_FLAG = "og-w,a+rX";
|
||||
INSTALL_PATH = /Developer/Cocotron/1.0/Solaris/i686/Frameworks;
|
||||
OTHER_CFLAGS = "-DCFNETWORK_INSIDE_BUILD";
|
||||
PRODUCT_NAME = CFNetwork;
|
||||
SDKROOT = "";
|
||||
STRIP_INSTALLED_PRODUCT = YES;
|
||||
SYMROOT = build/Solaris/i686;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
FE84930D119AF77F00E252CC /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
@ -604,6 +689,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C6893D921785BB960093BFB1 /* Build configuration list for PBXNativeTarget "CFNetwork-Solaris-i686" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C6893D931785BB960093BFB1 /* Debug */,
|
||||
C6893D941785BB960093BFB1 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
FE84930C119AF77F00E252CC /* Build configuration list for PBXNativeTarget "CFNetwork-FreeBSD-i386" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
@ -48,6 +48,46 @@
|
||||
C67E02EE125B214E00C10757 /* CFXMLNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22730EFB669D004E378B /* CFXMLNode.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C67E02EF125B214E00C10757 /* CFXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22740EFB669D004E378B /* CFXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C67E02F1125B214E00C10757 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
|
||||
C6C6294B1785B66D009D381C /* CFBase.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9C60DC962D600598037 /* CFBase.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6294C1785B66D009D381C /* CFLocale.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9C70DC962D600598037 /* CFLocale.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6294D1785B66D009D381C /* CFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9C90DC962D600598037 /* CFNumber.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6294E1785B66D009D381C /* CFNumberFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9CA0DC962D600598037 /* CFNumberFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6294F1785B66D009D381C /* CFString.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9CB0DC962D600598037 /* CFString.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629501785B66D009D381C /* CoreFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9F90DC9646300598037 /* CoreFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629511785B66D009D381C /* CFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22530EFB669D004E378B /* CFArray.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629521785B66D009D381C /* CFAttributedString.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22540EFB669D004E378B /* CFAttributedString.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629531785B66D009D381C /* CFBag.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22550EFB669D004E378B /* CFBag.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629541785B66D009D381C /* CFBinaryHeap.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22560EFB669D004E378B /* CFBinaryHeap.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629551785B66D009D381C /* CFBitVector.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22570EFB669D004E378B /* CFBitVector.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629561785B66D009D381C /* CFBundle.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22580EFB669D004E378B /* CFBundle.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629571785B66D009D381C /* CFByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22590EFB669D004E378B /* CFByteOrder.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629581785B66D009D381C /* CFCalendar.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED225A0EFB669D004E378B /* CFCalendar.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629591785B66D009D381C /* CFCharacterSet.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED225B0EFB669D004E378B /* CFCharacterSet.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6295A1785B66D009D381C /* CFData.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED225C0EFB669D004E378B /* CFData.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6295B1785B66D009D381C /* CFDate.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED225D0EFB669D004E378B /* CFDate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6295C1785B66D009D381C /* CFDateFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED225E0EFB669D004E378B /* CFDateFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6295D1785B66D009D381C /* CFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED225F0EFB669D004E378B /* CFDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6295E1785B66D009D381C /* CFError.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22600EFB669D004E378B /* CFError.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6295F1785B66D009D381C /* CFFileDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22610EFB669D004E378B /* CFFileDescriptor.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629601785B66D009D381C /* CFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22620EFB669D004E378B /* CFMachPort.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629611785B66D009D381C /* CFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22630EFB669D004E378B /* CFMessagePort.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629621785B66D009D381C /* CFNotificationCenter.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22640EFB669D004E378B /* CFNotificationCenter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629631785B66D009D381C /* CFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22650EFB669D004E378B /* CFPlugIn.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629641785B66D009D381C /* CFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22670EFB669D004E378B /* CFPreferences.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629651785B66D009D381C /* CFPropertyList.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22680EFB669D004E378B /* CFPropertyList.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629661785B66D009D381C /* CFRunLoop.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22690EFB669D004E378B /* CFRunLoop.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629671785B66D009D381C /* CFSet.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED226A0EFB669D004E378B /* CFSet.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629681785B66D009D381C /* CFSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED226B0EFB669D004E378B /* CFSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629691785B66D009D381C /* CFStream.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED226C0EFB669D004E378B /* CFStream.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6296A1785B66D009D381C /* CFStringTokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED226D0EFB669D004E378B /* CFStringTokenizer.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6296B1785B66D009D381C /* CFTimeZone.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED226E0EFB669D004E378B /* CFTimeZone.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6296C1785B66D009D381C /* CFTree.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED226F0EFB669D004E378B /* CFTree.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6296D1785B66D009D381C /* CFURL.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22700EFB669D004E378B /* CFURL.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6296E1785B66D009D381C /* CFUserNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22710EFB669D004E378B /* CFUserNotification.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6296F1785B66D009D381C /* CFUUID.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22720EFB669D004E378B /* CFUUID.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629701785B66D009D381C /* CFXMLNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22730EFB669D004E378B /* CFXMLNode.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629711785B66D009D381C /* CFXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22740EFB669D004E378B /* CFXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629731785B66D009D381C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
|
||||
FE5A869910C6EE28005E348A /* CFBase.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9C60DC962D600598037 /* CFBase.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE5A869A10C6EE28005E348A /* CFLocale.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9C70DC962D600598037 /* CFLocale.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE5A869B10C6EE28005E348A /* CFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9C90DC962D600598037 /* CFNumber.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
@ -298,6 +338,14 @@
|
||||
outputFiles = (
|
||||
);
|
||||
};
|
||||
C6C629761785B66D009D381C /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = org.cocotron.1.0.solaris.i686.gcc.default;
|
||||
fileType = sourcecode.c;
|
||||
isEditable = 1;
|
||||
outputFiles = (
|
||||
);
|
||||
};
|
||||
FE5A86C410C6EE28005E348A /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = org.cocotron.1.0.freebsd.i386.gcc.default;
|
||||
@ -369,6 +417,8 @@
|
||||
089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
8DC2EF5B0486A6940098B216 /* CoreFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C6C6297A1785B66D009D381C /* CoreFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C6C6297B1785B66D009D381C /* CoreFoundation-Solaris-sparc copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "CoreFoundation-Solaris-sparc copy-Info.plist"; path = "/Users/gga/Developer/Cocotron/development-arts/CoreFoundation/CoreFoundation-Solaris-sparc copy-Info.plist"; sourceTree = "<absolute>"; };
|
||||
FE1E540E14302FBD000D60A1 /* darwin-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE1E540F14302FBD000D60A1 /* darwin-ppc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-ppc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE1E541014302FBD000D60A1 /* darwin-x86_64.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-x86_64.xcconfig"; sourceTree = "<group>"; };
|
||||
@ -447,6 +497,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C6C629751785B66D009D381C /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE5A86C310C6EE28005E348A /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -494,6 +551,7 @@
|
||||
FEA82990109B773300C7A732 /* CoreFoundation.framework */,
|
||||
FEA829CD109B7BFD00C7A732 /* CoreFoundation.framework */,
|
||||
FE5A86C810C6EE28005E348A /* CoreFoundation.framework */,
|
||||
C6C6297A1785B66D009D381C /* CoreFoundation.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@ -546,6 +604,7 @@
|
||||
32C88DFF0371C24200C91783 /* Other Sources */,
|
||||
034768DFFF38A50411DB9C8B /* Products */,
|
||||
089C1665FE841158C02AAC07 /* Resources */,
|
||||
C6C6297B1785B66D009D381C /* CoreFoundation-Solaris-sparc copy-Info.plist */,
|
||||
);
|
||||
name = CoreFoundation;
|
||||
sourceTree = "<group>";
|
||||
@ -716,6 +775,52 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C6C6294A1785B66D009D381C /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C6C6294B1785B66D009D381C /* CFBase.h in Headers */,
|
||||
C6C6294C1785B66D009D381C /* CFLocale.h in Headers */,
|
||||
C6C6294D1785B66D009D381C /* CFNumber.h in Headers */,
|
||||
C6C6294E1785B66D009D381C /* CFNumberFormatter.h in Headers */,
|
||||
C6C6294F1785B66D009D381C /* CFString.h in Headers */,
|
||||
C6C629501785B66D009D381C /* CoreFoundation.h in Headers */,
|
||||
C6C629511785B66D009D381C /* CFArray.h in Headers */,
|
||||
C6C629521785B66D009D381C /* CFAttributedString.h in Headers */,
|
||||
C6C629531785B66D009D381C /* CFBag.h in Headers */,
|
||||
C6C629541785B66D009D381C /* CFBinaryHeap.h in Headers */,
|
||||
C6C629551785B66D009D381C /* CFBitVector.h in Headers */,
|
||||
C6C629561785B66D009D381C /* CFBundle.h in Headers */,
|
||||
C6C629571785B66D009D381C /* CFByteOrder.h in Headers */,
|
||||
C6C629581785B66D009D381C /* CFCalendar.h in Headers */,
|
||||
C6C629591785B66D009D381C /* CFCharacterSet.h in Headers */,
|
||||
C6C6295A1785B66D009D381C /* CFData.h in Headers */,
|
||||
C6C6295B1785B66D009D381C /* CFDate.h in Headers */,
|
||||
C6C6295C1785B66D009D381C /* CFDateFormatter.h in Headers */,
|
||||
C6C6295D1785B66D009D381C /* CFDictionary.h in Headers */,
|
||||
C6C6295E1785B66D009D381C /* CFError.h in Headers */,
|
||||
C6C6295F1785B66D009D381C /* CFFileDescriptor.h in Headers */,
|
||||
C6C629601785B66D009D381C /* CFMachPort.h in Headers */,
|
||||
C6C629611785B66D009D381C /* CFMessagePort.h in Headers */,
|
||||
C6C629621785B66D009D381C /* CFNotificationCenter.h in Headers */,
|
||||
C6C629631785B66D009D381C /* CFPlugIn.h in Headers */,
|
||||
C6C629641785B66D009D381C /* CFPreferences.h in Headers */,
|
||||
C6C629651785B66D009D381C /* CFPropertyList.h in Headers */,
|
||||
C6C629661785B66D009D381C /* CFRunLoop.h in Headers */,
|
||||
C6C629671785B66D009D381C /* CFSet.h in Headers */,
|
||||
C6C629681785B66D009D381C /* CFSocket.h in Headers */,
|
||||
C6C629691785B66D009D381C /* CFStream.h in Headers */,
|
||||
C6C6296A1785B66D009D381C /* CFStringTokenizer.h in Headers */,
|
||||
C6C6296B1785B66D009D381C /* CFTimeZone.h in Headers */,
|
||||
C6C6296C1785B66D009D381C /* CFTree.h in Headers */,
|
||||
C6C6296D1785B66D009D381C /* CFURL.h in Headers */,
|
||||
C6C6296E1785B66D009D381C /* CFUserNotification.h in Headers */,
|
||||
C6C6296F1785B66D009D381C /* CFUUID.h in Headers */,
|
||||
C6C629701785B66D009D381C /* CFXMLNode.h in Headers */,
|
||||
C6C629711785B66D009D381C /* CFXMLParser.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE5A869810C6EE28005E348A /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -989,6 +1094,26 @@
|
||||
productName = CoreFoundation;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
C6C629491785B66D009D381C /* CoreFoundation-Solaris-i686 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C6C629771785B66D009D381C /* Build configuration list for PBXNativeTarget "CoreFoundation-Solaris-i686" */;
|
||||
buildPhases = (
|
||||
C6C6294A1785B66D009D381C /* Headers */,
|
||||
C6C629721785B66D009D381C /* Resources */,
|
||||
C6C629741785B66D009D381C /* Sources */,
|
||||
C6C629751785B66D009D381C /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
C6C629761785B66D009D381C /* PBXBuildRule */,
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "CoreFoundation-Solaris-i686";
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = CoreFoundation;
|
||||
productReference = C6C6297A1785B66D009D381C /* CoreFoundation.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
FE5A869710C6EE28005E348A /* CoreFoundation-FreeBSD-i386 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FE5A86C510C6EE28005E348A /* Build configuration list for PBXNativeTarget "CoreFoundation-FreeBSD-i386" */;
|
||||
@ -1125,6 +1250,7 @@
|
||||
FEA8299C109B7BFD00C7A732 /* CoreFoundation-Linux-ppc */,
|
||||
FE5A869710C6EE28005E348A /* CoreFoundation-FreeBSD-i386 */,
|
||||
C67E02C7125B214E00C10757 /* CoreFoundation-Solaris-sparc */,
|
||||
C6C629491785B66D009D381C /* CoreFoundation-Solaris-i686 */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@ -1156,6 +1282,14 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C6C629721785B66D009D381C /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C6C629731785B66D009D381C /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE5A86C010C6EE28005E348A /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -1213,6 +1347,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C6C629741785B66D009D381C /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE5A86C210C6EE28005E348A /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -1346,6 +1487,46 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C6C629781785B66D009D381C /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i686;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEPLOYMENT_LOCATION = YES;
|
||||
DEPLOYMENT_POSTPROCESSING = YES;
|
||||
DSTROOT = /;
|
||||
EXECUTABLE_SUFFIX = .1.0.so;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_MODE_FLAG = "og-w,a+rX";
|
||||
INSTALL_PATH = /Developer/Cocotron/1.0/Solaris/i686/Frameworks;
|
||||
OTHER_CFLAGS = "-DCOREFOUNDATION_INSIDE_BUILD";
|
||||
PRODUCT_NAME = CoreFoundation;
|
||||
SDKROOT = "";
|
||||
STRIP_INSTALLED_PRODUCT = YES;
|
||||
SYMROOT = build/Solaris/i686;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C6C629791785B66D009D381C /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i686;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEPLOYMENT_LOCATION = YES;
|
||||
DEPLOYMENT_POSTPROCESSING = YES;
|
||||
DSTROOT = /;
|
||||
EXECUTABLE_SUFFIX = .1.0.so;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_MODE_FLAG = "og-w,a+rX";
|
||||
INSTALL_PATH = /Developer/Cocotron/1.0/Solaris/i686/Frameworks;
|
||||
OTHER_CFLAGS = "-DCOREFOUNDATION_INSIDE_BUILD";
|
||||
PRODUCT_NAME = CoreFoundation;
|
||||
SDKROOT = "";
|
||||
STRIP_INSTALLED_PRODUCT = YES;
|
||||
SYMROOT = build/Solaris/i686;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
FE5A86C610C6EE28005E348A /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
@ -1576,6 +1757,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C6C629771785B66D009D381C /* Build configuration list for PBXNativeTarget "CoreFoundation-Solaris-i686" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C6C629781785B66D009D381C /* Debug */,
|
||||
C6C629791785B66D009D381C /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
FE5A86C510C6EE28005E348A /* Build configuration list for PBXNativeTarget "CoreFoundation-FreeBSD-i386" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
@ -10,6 +10,8 @@
|
||||
8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
|
||||
C67E0310125B223000C10757 /* CoreServices.h in Headers */ = {isa = PBXBuildFile; fileRef = FE7433A810A89ED7004CDF00 /* CoreServices.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C67E0312125B223000C10757 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
|
||||
C6C6293E1785B63A009D381C /* CoreServices.h in Headers */ = {isa = PBXBuildFile; fileRef = FE7433A810A89ED7004CDF00 /* CoreServices.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629401785B63A009D381C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
|
||||
FE7433A910A89ED7004CDF00 /* CoreServices.h in Headers */ = {isa = PBXBuildFile; fileRef = FE7433A810A89ED7004CDF00 /* CoreServices.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE8492E8119A5EA000E252CC /* CoreServices.h in Headers */ = {isa = PBXBuildFile; fileRef = FE7433A810A89ED7004CDF00 /* CoreServices.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE8492EA119A5EA000E252CC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
|
||||
@ -28,6 +30,14 @@
|
||||
outputFiles = (
|
||||
);
|
||||
};
|
||||
C6C629431785B63A009D381C /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = org.cocotron.1.0.solaris.i686.gcc.default;
|
||||
fileType = sourcecode.c;
|
||||
isEditable = 1;
|
||||
outputFiles = (
|
||||
);
|
||||
};
|
||||
FE7433A310A89EB5004CDF00 /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = org.cocotron.1.0.windows.i386.gcc.default;
|
||||
@ -55,6 +65,13 @@
|
||||
/* End PBXBuildRule section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
C675ECC21785CB8D000C1005 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE7433AE10A89F5D004CDF00 /* CFNetwork.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = C6893D951785BB960093BFB1;
|
||||
remoteInfo = "CFNetwork-Solaris-i386";
|
||||
};
|
||||
C67E0346125B236600C10757 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE7433AE10A89F5D004CDF00 /* CFNetwork.xcodeproj */;
|
||||
@ -62,6 +79,13 @@
|
||||
remoteGlobalIDString = C67E0334125B230900C10757;
|
||||
remoteInfo = "CFNetwork-Solaris-sparc";
|
||||
};
|
||||
C6C6293C1785B63A009D381C /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE7433AE10A89F5D004CDF00 /* CFNetwork.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = C67E0334125B230900C10757;
|
||||
remoteInfo = "CFNetwork-Solaris-sparc";
|
||||
};
|
||||
FE1342D21151843000404745 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE7433AE10A89F5D004CDF00 /* CFNetwork.xcodeproj */;
|
||||
@ -125,6 +149,8 @@
|
||||
089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
8DC2EF5B0486A6940098B216 /* CoreServices.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreServices.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C6C629471785B63A009D381C /* CoreServices.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreServices.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C6C629481785B63A009D381C /* CoreServices-Solaris-sparc copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "CoreServices-Solaris-sparc copy-Info.plist"; path = "/Users/gga/Developer/Cocotron/development-arts/CoreServices/CoreServices-Solaris-sparc copy-Info.plist"; sourceTree = "<absolute>"; };
|
||||
FE06B1BE1430E7AF0071169B /* darwin-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B1BF1430E7AF0071169B /* darwin-ppc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-ppc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B1C01430E7AF0071169B /* darwin-x86_64.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-x86_64.xcconfig"; sourceTree = "<group>"; };
|
||||
@ -162,6 +188,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C6C629421785B63A009D381C /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE8492EC119A5EA000E252CC /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -192,6 +225,7 @@
|
||||
8DC2EF5B0486A6940098B216 /* CoreServices.framework */,
|
||||
FEC32E52115909F00008ECE5 /* CoreServices.framework */,
|
||||
FEC32E6311590A130008ECE5 /* CoreServices.framework */,
|
||||
C6C629471785B63A009D381C /* CoreServices.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@ -206,6 +240,7 @@
|
||||
089C1665FE841158C02AAC07 /* Resources */,
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */,
|
||||
034768DFFF38A50411DB9C8B /* Products */,
|
||||
C6C629481785B63A009D381C /* CoreServices-Solaris-sparc copy-Info.plist */,
|
||||
);
|
||||
name = CoreServices;
|
||||
sourceTree = "<group>";
|
||||
@ -281,6 +316,7 @@
|
||||
FE1342D31151843000404745 /* CFNetwork.framework */,
|
||||
FEC32E44115909B30008ECE5 /* CFNetwork.framework */,
|
||||
FE849313119AF77F00E252CC /* CFNetwork.framework */,
|
||||
C675ECC31785CB8D000C1005 /* CFNetwork.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@ -304,6 +340,14 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C6C6293D1785B63A009D381C /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C6C6293E1785B63A009D381C /* CoreServices.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE8492E7119A5EA000E252CC /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -372,6 +416,27 @@
|
||||
productName = CoreServices;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
C6C6293A1785B63A009D381C /* CoreServices-Solaris-i686 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C6C629441785B63A009D381C /* Build configuration list for PBXNativeTarget "CoreServices-Solaris-i686" */;
|
||||
buildPhases = (
|
||||
C6C6293D1785B63A009D381C /* Headers */,
|
||||
C6C6293F1785B63A009D381C /* Resources */,
|
||||
C6C629411785B63A009D381C /* Sources */,
|
||||
C6C629421785B63A009D381C /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
C6C629431785B63A009D381C /* PBXBuildRule */,
|
||||
);
|
||||
dependencies = (
|
||||
C6C6293B1785B63A009D381C /* PBXTargetDependency */,
|
||||
);
|
||||
name = "CoreServices-Solaris-i686";
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = CoreServices;
|
||||
productReference = C6C629471785B63A009D381C /* CoreServices.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
FE8492E4119A5EA000E252CC /* CoreServices-FreeBSD-i386 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FE8492EE119A5EA000E252CC /* Build configuration list for PBXNativeTarget "CoreServices-FreeBSD-i386" */;
|
||||
@ -467,11 +532,19 @@
|
||||
FEC32E5711590A130008ECE5 /* CoreServices-Linux-i386 */,
|
||||
FE8492E4119A5EA000E252CC /* CoreServices-FreeBSD-i386 */,
|
||||
C67E030C125B223000C10757 /* CoreServices-Solaris-sparc */,
|
||||
C6C6293A1785B63A009D381C /* CoreServices-Solaris-i686 */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
C675ECC31785CB8D000C1005 /* CFNetwork.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = CFNetwork.framework;
|
||||
remoteRef = C675ECC21785CB8D000C1005 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE1342D31151843000404745 /* CFNetwork.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
@ -519,6 +592,14 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C6C6293F1785B63A009D381C /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C6C629401785B63A009D381C /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE8492E9119A5EA000E252CC /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -560,6 +641,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C6C629411785B63A009D381C /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE8492EB119A5EA000E252CC /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -589,6 +677,11 @@
|
||||
name = "CFNetwork-Solaris-sparc";
|
||||
targetProxy = C67E0346125B236600C10757 /* PBXContainerItemProxy */;
|
||||
};
|
||||
C6C6293B1785B63A009D381C /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "CFNetwork-Solaris-sparc";
|
||||
targetProxy = C6C6293C1785B63A009D381C /* PBXContainerItemProxy */;
|
||||
};
|
||||
FE7433B510A89F63004CDF00 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "CFNetwork-Windows-i386";
|
||||
@ -699,6 +792,46 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C6C629451785B63A009D381C /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i686;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEPLOYMENT_LOCATION = YES;
|
||||
DEPLOYMENT_POSTPROCESSING = YES;
|
||||
DSTROOT = /;
|
||||
EXECUTABLE_SUFFIX = .1.0.so;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_MODE_FLAG = "og-w,a+rX";
|
||||
INSTALL_PATH = /Developer/Cocotron/1.0/Solaris/i686/Frameworks;
|
||||
OTHER_CFLAGS = "-DCORESERVICES_INSIDE_BUILD";
|
||||
PRODUCT_NAME = CoreServices;
|
||||
SDKROOT = "";
|
||||
STRIP_INSTALLED_PRODUCT = YES;
|
||||
SYMROOT = build/Solaris/i686;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C6C629461785B63A009D381C /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i686;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEPLOYMENT_LOCATION = YES;
|
||||
DEPLOYMENT_POSTPROCESSING = YES;
|
||||
DSTROOT = /;
|
||||
EXECUTABLE_SUFFIX = .1.0.so;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_MODE_FLAG = "og-w,a+rX";
|
||||
INSTALL_PATH = /Developer/Cocotron/1.0/Solaris/i686/Frameworks;
|
||||
OTHER_CFLAGS = "-DCORESERVICES_INSIDE_BUILD";
|
||||
PRODUCT_NAME = CoreServices;
|
||||
SDKROOT = "";
|
||||
STRIP_INSTALLED_PRODUCT = YES;
|
||||
SYMROOT = build/Solaris/i686;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
FE8492EF119A5EA000E252CC /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
@ -849,6 +982,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C6C629441785B63A009D381C /* Build configuration list for PBXNativeTarget "CoreServices-Solaris-i686" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C6C629451785B63A009D381C /* Debug */,
|
||||
C6C629461785B63A009D381C /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
FE8492EE119A5EA000E252CC /* Build configuration list for PBXNativeTarget "CoreServices-FreeBSD-i386" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -274,38 +274,85 @@ second, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Might be a little off with daylight savings, etc., needs to be verified
|
||||
-(NSCalendarDate *)dateByAddingYears:(NSInteger)yearDelta months:(NSInteger)monthDelta
|
||||
days:(NSInteger)dayDelta hours:(NSInteger)hourDelta minutes:(NSInteger)minuteDelta seconds:(NSInteger)secondDelta {
|
||||
NSTimeInterval result;
|
||||
NSInteger years=NSYearFromTimeInterval(_timeInterval);
|
||||
NSInteger months=NSMonthFromTimeInterval(_timeInterval);
|
||||
NSInteger days=NSDayOfMonthFromTimeInterval(_timeInterval);
|
||||
NSInteger hours=NS24HourFromTimeInterval(_timeInterval);
|
||||
NSInteger minutes=NSMinuteFromTimeInterval(_timeInterval);
|
||||
NSInteger seconds=NSSecondFromTimeInterval(_timeInterval);
|
||||
|
||||
years+=yearDelta;
|
||||
years+=monthDelta/12;
|
||||
monthDelta%=12;
|
||||
months+=monthDelta;
|
||||
if(months>12){
|
||||
years++;
|
||||
months-=12;
|
||||
}
|
||||
else if(months<0){
|
||||
years--;
|
||||
months+=12;
|
||||
}
|
||||
|
||||
result=NSTimeIntervalWithComponents(years,months,days,hours,minutes,seconds,0);
|
||||
|
||||
result+=dayDelta*86400.0;
|
||||
result+=hourDelta*3600.0;
|
||||
result+=minuteDelta*60.0;
|
||||
result+=secondDelta;
|
||||
|
||||
NSCalendarDate *resultDate = [NSCalendarDate dateWithTimeIntervalSinceReferenceDate:result];
|
||||
NSInteger year=NSYearFromTimeInterval(_timeInterval);
|
||||
NSInteger month=NSMonthFromTimeInterval(_timeInterval);
|
||||
NSInteger day=NSDayOfMonthFromTimeInterval(_timeInterval);
|
||||
NSInteger hour=NS24HourFromTimeInterval(_timeInterval);
|
||||
NSInteger minute=NSMinuteFromTimeInterval(_timeInterval);
|
||||
NSInteger second=NSSecondFromTimeInterval(_timeInterval);
|
||||
|
||||
second+=secondDelta;
|
||||
minute+=second/60;
|
||||
second %= 60;
|
||||
if (second < 0) {
|
||||
second+=60;
|
||||
minute--;
|
||||
}
|
||||
|
||||
minute+=minuteDelta;
|
||||
hour+=minute/60;
|
||||
minute %= 60;
|
||||
if (minute < 0) {
|
||||
minute+=60;
|
||||
hour--;
|
||||
}
|
||||
|
||||
hour+= hourDelta;
|
||||
day+=hour/24;
|
||||
hour%=24;
|
||||
if (hour < 0) {
|
||||
day--;
|
||||
hour+=24;
|
||||
}
|
||||
|
||||
day+=dayDelta;
|
||||
if (day > 28) {
|
||||
int i = NSNumberOfDaysInMonthOfYear(month, year);
|
||||
while (day > i) {
|
||||
day -= i;
|
||||
if (month < 12) {
|
||||
month++;
|
||||
}
|
||||
else {
|
||||
year++;
|
||||
month = 1;
|
||||
}
|
||||
i = NSNumberOfDaysInMonthOfYear(month, year);
|
||||
}
|
||||
}
|
||||
else {
|
||||
while (day <= 0) {
|
||||
if (month == 1) {
|
||||
month=12;
|
||||
year--;
|
||||
}
|
||||
else {
|
||||
month--;
|
||||
}
|
||||
day += NSNumberOfDaysInMonthOfYear(month, year);
|
||||
}
|
||||
}
|
||||
|
||||
month+=monthDelta;
|
||||
|
||||
while (month > 12) {
|
||||
month-=12;
|
||||
year++;
|
||||
}
|
||||
|
||||
while (month < 1) {
|
||||
month+=12;
|
||||
year--;
|
||||
}
|
||||
|
||||
year += yearDelta;
|
||||
|
||||
NSCalendarDate *resultDate = [NSCalendarDate dateWithTimeIntervalSinceReferenceDate:NSTimeIntervalWithComponents(year,month,day,hour,minute,second,0)];
|
||||
|
||||
[resultDate setTimeZone:_timeZone];
|
||||
|
||||
|
@ -62,6 +62,7 @@ typedef enum {
|
||||
NSTimeInterval NSMoveIntervalFromTimeZoneToGMT(NSTimeInterval interval, NSTimeZone *timeZone);
|
||||
NSTimeInterval NSMoveIntervalFromGMTToTimeZone(NSTimeInterval interval, NSTimeZone *timeZone);
|
||||
|
||||
NSInteger NSNumberOfDaysInMonthOfYear(NSInteger month, NSInteger year);
|
||||
// interval is not time zone adjusteed
|
||||
NSTimeInterval NSTimeIntervalWithComponents(NSInteger year, NSInteger month, NSInteger day, NSInteger hour, NSInteger minute, NSInteger second, NSInteger milliseconds);
|
||||
|
||||
|
@ -205,7 +205,7 @@ NSTimeInterval NSMoveIntervalFromGMTToTimeZone(NSTimeInterval interval, NSTimeZo
|
||||
|
||||
// thirty days hath september, april, june, and november.
|
||||
// all the rest have thirty-one, except February, which is borked.
|
||||
static inline NSInteger numberOfDaysInMonthOfYear(NSInteger month, NSInteger year) {
|
||||
NSInteger NSNumberOfDaysInMonthOfYear(NSInteger month, NSInteger year) {
|
||||
switch (month) {
|
||||
case 2:
|
||||
if (((year % 4) == 0 && (year % 100) != 0) || (year % 400) == 0)
|
||||
@ -226,7 +226,7 @@ static inline NSInteger numberOfDaysInCommonEraOfDayMonthAndYear(NSInteger day,
|
||||
NSInteger result = 0;
|
||||
|
||||
for (month--; month > 0; month--)
|
||||
result += numberOfDaysInMonthOfYear(month, year);
|
||||
result += NSNumberOfDaysInMonthOfYear(month, year);
|
||||
|
||||
result += 365 * (year-1);
|
||||
result += (year - 1)/4;
|
||||
@ -246,7 +246,11 @@ NSTimeInterval NSTimeIntervalWithComponents(NSInteger year, NSInteger month, NSI
|
||||
daysOfCommonEra = numberOfDaysInCommonEraOfDayMonthAndYear(day, month, year);
|
||||
daysOfCommonEra -= NSDaysOfCommonEraOfReferenceDate;
|
||||
|
||||
interval = (daysOfCommonEra * 86400.0) + (hour * 3600) + (minute * 60) + second + milliseconds/1000.0 + 0.0001;
|
||||
interval = (daysOfCommonEra * 86400.0) + (hour * 3600) + (minute * 60) + second;
|
||||
|
||||
if (milliseconds) {
|
||||
interval += milliseconds/1000.0 + 0.0001;
|
||||
}
|
||||
|
||||
return interval;
|
||||
}
|
||||
@ -280,7 +284,7 @@ NSInteger NSMonthFromTimeInterval(NSTimeInterval interval){ // 1-12
|
||||
NSInteger days = NSDayOfCommonEraFromTimeInterval(interval);
|
||||
NSInteger month = 1;
|
||||
|
||||
while (days > numberOfDaysInCommonEraOfDayMonthAndYear(numberOfDaysInMonthOfYear(month, year), month, year))
|
||||
while (days > numberOfDaysInCommonEraOfDayMonthAndYear(NSNumberOfDaysInMonthOfYear(month, year), month, year))
|
||||
month++;
|
||||
|
||||
return month;
|
||||
|
@ -125,18 +125,23 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
}
|
||||
|
||||
-(NSString *)stringByAppendingPathExtension:(NSString *)other {
|
||||
NSUInteger selfLength=[self length];
|
||||
if(selfLength && [self characterAtIndex:selfLength-1]==SLASH)
|
||||
selfLength--;
|
||||
NSUInteger otherLength=[other length];
|
||||
NSUInteger totalLength=selfLength+1+otherLength;
|
||||
unichar characters[totalLength];
|
||||
|
||||
[self getCharacters:characters];
|
||||
characters[selfLength]='.';
|
||||
[other getCharacters:characters+selfLength+1];
|
||||
|
||||
return [NSString stringWithCharacters:characters length:totalLength];
|
||||
if ([other length] > 0) {
|
||||
NSUInteger selfLength=[self length];
|
||||
if(selfLength && [self characterAtIndex:selfLength-1]==SLASH)
|
||||
selfLength--;
|
||||
NSUInteger otherLength=[other length];
|
||||
NSUInteger totalLength=selfLength+1+otherLength;
|
||||
unichar characters[totalLength];
|
||||
|
||||
[self getCharacters:characters];
|
||||
characters[selfLength]='.';
|
||||
[other getCharacters:characters+selfLength+1];
|
||||
|
||||
return [NSString stringWithCharacters:characters length:totalLength];
|
||||
}
|
||||
else {
|
||||
return self;
|
||||
}
|
||||
}
|
||||
|
||||
-(NSString *)stringByDeletingLastPathComponent {
|
||||
|
@ -672,38 +672,38 @@ static inline BOOL isEqualString(NSString *str1,NSString *str2){
|
||||
}
|
||||
|
||||
// Knuth-Morris-Pratt string search
|
||||
|
||||
static inline void computeNext(NSInteger next[],unichar patbuffer[],NSInteger patlength){
|
||||
NSInteger pos=0,i=-1;
|
||||
|
||||
next[0]=-1;
|
||||
while(pos<patlength-1){
|
||||
while(i>-1 && patbuffer[pos]!=patbuffer[i])
|
||||
i=next[i];
|
||||
pos++;
|
||||
i++;
|
||||
if(patbuffer[pos]==patbuffer [i])
|
||||
next[pos]=next[i];
|
||||
else
|
||||
next[pos]=i;
|
||||
}
|
||||
NSInteger i=0,j=-1;
|
||||
|
||||
next[i]=j;
|
||||
while(i<patlength){
|
||||
while(j>=0 && patbuffer[j]!=patbuffer[i]) {
|
||||
j = next[j];
|
||||
}
|
||||
|
||||
i++;
|
||||
j++;
|
||||
next[i]=j;
|
||||
}
|
||||
}
|
||||
|
||||
static inline NSRange rangeOfPatternNext(unichar *buffer,unichar *patbuffer,NSInteger *next,NSUInteger patlength,NSRange range){
|
||||
NSInteger i,pos=0,searchLength=range.location+range.length;
|
||||
NSInteger start=0;
|
||||
|
||||
for(i=range.location;i<searchLength && pos<patlength;i++,pos++){
|
||||
while(pos>-1 && (patbuffer[pos]!=buffer[i]))
|
||||
pos=next[pos];
|
||||
|
||||
if(pos<=0)
|
||||
start=i;
|
||||
}
|
||||
|
||||
if(pos==patlength)
|
||||
return NSMakeRange(start,patlength);
|
||||
else
|
||||
NSInteger i=range.location,j=0;
|
||||
NSInteger end = range.location + range.length;
|
||||
|
||||
while (i < end) {
|
||||
while (j >= 0 && buffer[i] != patbuffer[j]) {
|
||||
j = next[j];
|
||||
}
|
||||
|
||||
i++;
|
||||
j++;
|
||||
|
||||
if (j == patlength) {
|
||||
return NSMakeRange(i - patlength, patlength);
|
||||
}
|
||||
}
|
||||
|
||||
return NSMakeRange(NSNotFound,0);
|
||||
}
|
||||
|
||||
@ -1443,8 +1443,7 @@ U+2029 (Unicode paragraph separator), \r\n, in that order (also known as CRLF)
|
||||
}
|
||||
|
||||
-(NSUInteger)lengthOfBytesUsingEncoding:(NSStringEncoding)encoding {
|
||||
NSUnimplementedMethod();
|
||||
return 0;
|
||||
return [[self dataUsingEncoding:encoding] length];
|
||||
}
|
||||
|
||||
-(NSUInteger)maximumLengthOfBytesUsingEncoding:(NSStringEncoding)encoding {
|
||||
|
@ -23,6 +23,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
#import <Foundation/NSString_win32.h>
|
||||
|
||||
#include <windows.h>
|
||||
#include <Sddl.h>
|
||||
#include <shlobj.h>
|
||||
#include <objbase.h>
|
||||
|
||||
@ -165,25 +166,47 @@ static BOOL _NSCreateDirectory(NSString *path,NSError **errorp)
|
||||
return NO;
|
||||
}
|
||||
|
||||
if([[srcAttributes fileType] isEqual:NSFileTypeRegular] == NO) {
|
||||
if([[srcAttributes fileType] isEqual:NSFileTypeRegular] == NO
|
||||
&& [[srcAttributes fileType] isEqual:NSFileTypeDirectory] == NO) {
|
||||
return NO;
|
||||
}
|
||||
|
||||
NSDictionary *dstAttributes=[self attributesOfItemAtPath:toPath error:error];
|
||||
|
||||
if(dstAttributes!=nil){
|
||||
if(error!=NULL){
|
||||
|
||||
if ([self fileExistsAtPath:toPath] == YES) {
|
||||
if(error!=NULL){
|
||||
NSDictionary *userInfo=[NSDictionary dictionaryWithObject:@"File exists" forKey:NSLocalizedDescriptionKey];
|
||||
|
||||
*error=[NSError errorWithDomain:NSPOSIXErrorDomain code:17 userInfo:userInfo];
|
||||
}
|
||||
|
||||
return NO;
|
||||
}
|
||||
}
|
||||
|
||||
if(!CopyFileW([fromPath fileSystemRepresentationW],[toPath fileSystemRepresentationW],YES)) {
|
||||
return NO;
|
||||
}
|
||||
if([self _isDirectory:fromPath] == NO){
|
||||
if(!CopyFileW([fromPath fileSystemRepresentationW],[toPath fileSystemRepresentationW],YES)) {
|
||||
if(error!=nil)
|
||||
*error=NSErrorForGetLastError();
|
||||
return NO;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (_NSCreateDirectory(toPath, error) == NO) {
|
||||
return NO;
|
||||
}
|
||||
else {
|
||||
NSArray *contents=[self directoryContentsAtPath:fromPath];
|
||||
NSInteger i,count=[contents count];
|
||||
|
||||
for(i=0;i<count;i++){
|
||||
NSString *name=[contents objectAtIndex:i];
|
||||
NSString *fullFromPath=[fromPath stringByAppendingPathComponent:name];
|
||||
NSString *fullToPath =[toPath stringByAppendingPathComponent:name];
|
||||
|
||||
if ([self copyItemAtPath:fullFromPath toPath:fullToPath error:error] == NO) {
|
||||
return NO;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return YES;
|
||||
}
|
||||
@ -537,16 +560,67 @@ static BOOL _NSCreateDirectory(NSString *path,NSError **errorp)
|
||||
return nil;
|
||||
}
|
||||
|
||||
char pSecurityDescriptor[128];
|
||||
DWORD lengthNeeded;
|
||||
|
||||
NSMutableDictionary *result = [NSMutableDictionary dictionary];
|
||||
NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:Win32TimeIntervalFromFileTime(fileData.ftLastWriteTime)];
|
||||
[result setObject:date forKey:NSFileModificationDate];
|
||||
|
||||
NSString *fileType = NSFileTypeRegular;
|
||||
if (fileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) fileType = NSFileTypeDirectory;
|
||||
|
||||
if (GetFileSecurityW([path fileSystemRepresentationW], OWNER_SECURITY_INFORMATION, (SECURITY_DESCRIPTOR *)pSecurityDescriptor, 128, &lengthNeeded) != 0) {
|
||||
PSID sid = NULL;
|
||||
DWORD lpbOwnerDefaulted;
|
||||
char lpName[128];
|
||||
DWORD len = 128;
|
||||
SID_NAME_USE nameUse;
|
||||
char referencedDomainName[128];
|
||||
DWORD domainLen = 128;
|
||||
|
||||
if (GetSecurityDescriptorOwner((SECURITY_DESCRIPTOR *)pSecurityDescriptor, &sid, ((LPBOOL)(&lpbOwnerDefaulted))) != 0) {
|
||||
if (LookupAccountSid(NULL, sid, lpName, &len, referencedDomainName, &domainLen, &nameUse) != 0) {
|
||||
NSString *owner = [[[NSString alloc] initWithCString:lpName] autorelease];
|
||||
|
||||
if (referencedDomainName != NULL) {
|
||||
[result setObject:[NSString stringWithFormat:@"%@\\%@", [[[NSString alloc] initWithCString:referencedDomainName] autorelease], owner] forKey:NSFileOwnerAccountName];
|
||||
}
|
||||
else {
|
||||
[result setObject:owner forKey:NSFileOwnerAccountName];
|
||||
}
|
||||
} else {
|
||||
DWORD lastError = GetLastError();
|
||||
//1332 means that the sid is not resolvable (an old one/or on a network drive)
|
||||
if (lastError == 1332) {
|
||||
/*LPWSTR str = NULL;
|
||||
if (ConvertSidToStringSidW(sid, &str) == TRUE) {
|
||||
NSString *owner = NSStringFromNullTerminatedUnicode(str);
|
||||
LocalFree(str);
|
||||
[result setObject:owner forKey:NSFileOwnerAccountName];
|
||||
}
|
||||
else {
|
||||
if (error != nil) {
|
||||
*error = NSErrorForGetLastErrorCode(lastError);
|
||||
}
|
||||
return nil;
|
||||
}*/
|
||||
}
|
||||
else {
|
||||
if (error != nil) {
|
||||
*error = NSErrorForGetLastErrorCode(lastError);
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// TODO: set error
|
||||
return nil;
|
||||
}
|
||||
|
||||
[result setObject:fileType forKey:NSFileType];
|
||||
[result setObject:@"USER" forKey:NSFileOwnerAccountName];
|
||||
[result setObject:@"GROUP" forKey:NSFileGroupOwnerAccountName];
|
||||
[result setObject:@"" forKey:NSFileGroupOwnerAccountName];
|
||||
[result setObject:[NSNumber numberWithUnsignedLong:0666] forKey:NSFilePosixPermissions];
|
||||
|
||||
uint64_t sizeOfFile = fileData.nFileSizeLow;
|
||||
|
@ -23,16 +23,21 @@
|
||||
#define MAX_KEY_LENGTH 255
|
||||
#define MAX_VALUE_NAME 16383
|
||||
|
||||
typedef struct _TZI
|
||||
{
|
||||
int bias;
|
||||
int standardBias;
|
||||
int daylightBias;
|
||||
SYSTEMTIME standardDate;
|
||||
SYSTEMTIME daylightDate;
|
||||
} TZI;
|
||||
#pragma pack(1)
|
||||
|
||||
// TODO:
|
||||
typedef struct _REG_TZI_FORMAT
|
||||
{
|
||||
LONG Bias;
|
||||
LONG StandardBias;
|
||||
LONG DaylightBias;
|
||||
SYSTEMTIME StandardDate;
|
||||
SYSTEMTIME DaylightDate;
|
||||
} REG_TZI_FORMAT;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
|
||||
// TODO:
|
||||
// Dynamic DST (see SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones\\*\\Dynamic DST in registry)
|
||||
|
||||
|
||||
@ -200,12 +205,13 @@ WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime_priv(LPTIME_ZONE_INFORMAT
|
||||
|
||||
-(TIME_ZONE_INFORMATION)_timeZoneInformation {
|
||||
TIME_ZONE_INFORMATION timezoneInformation;
|
||||
REG_TZI_FORMAT *tzi = (REG_TZI_FORMAT *)[self->_data bytes];
|
||||
|
||||
timezoneInformation.Bias = ((struct _TZI *)[self->_data bytes])->bias;
|
||||
timezoneInformation.StandardDate = ((struct _TZI *)[self->_data bytes])->standardDate;
|
||||
timezoneInformation.StandardBias = ((struct _TZI *)[self->_data bytes])->standardBias;
|
||||
timezoneInformation.DaylightDate = ((struct _TZI *)[self->_data bytes])->daylightDate;
|
||||
timezoneInformation.DaylightBias = ((struct _TZI *)[self->_data bytes])->daylightBias;
|
||||
timezoneInformation.Bias = tzi->Bias;
|
||||
timezoneInformation.StandardDate = tzi->StandardDate;
|
||||
timezoneInformation.StandardBias = tzi->StandardBias;
|
||||
timezoneInformation.DaylightDate = tzi->DaylightDate;
|
||||
timezoneInformation.DaylightBias = tzi->DaylightBias;
|
||||
|
||||
return timezoneInformation;
|
||||
}
|
||||
@ -275,8 +281,10 @@ WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime_priv(LPTIME_ZONE_INFORMAT
|
||||
daylightnameset = YES;
|
||||
}
|
||||
else if (strcmp(valueName,"TZI") == 0) {
|
||||
memcpy(tzdata, lpData, dataSize);
|
||||
dataset = YES;
|
||||
if (dataSize == 44) {
|
||||
memcpy(tzdata, lpData, dataSize);
|
||||
dataset = YES;
|
||||
}
|
||||
}
|
||||
|
||||
if (dataset == YES && nameset == YES && daylightnameset == YES) {
|
||||
@ -289,7 +297,7 @@ WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime_priv(LPTIME_ZONE_INFORMAT
|
||||
}
|
||||
RegCloseKey(hTimeZoneKey);
|
||||
|
||||
return [NSData dataWithBytes:tzdata length:dataSize];
|
||||
return [NSData dataWithBytes:tzdata length:44];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,6 +25,28 @@
|
||||
28D484F50FE04DDD00DC03EF /* deprecated.h in Headers */ = {isa = PBXBuildFile; fileRef = FE88A1F50F891D970081CFC1 /* deprecated.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
28D484F60FE04DDD00DC03EF /* Object.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDB75C50F8A9EFE00AC545D /* Object.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
28D484F70FE04DDD00DC03EF /* Protocol.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDB75C60F8A9EFE00AC545D /* Protocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6297E1785B6A2009D381C /* objc-class.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4034B90B42F24C00CEC41A /* objc-class.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C6297F1785B6A2009D381C /* objc.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4034CE0B42F2C400CEC41A /* objc.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629801785B6A2009D381C /* objc-export.h in Headers */ = {isa = PBXBuildFile; fileRef = FEB6CBF90B4A1584004FADF2 /* objc-export.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629811785B6A2009D381C /* objc-runtime.h in Headers */ = {isa = PBXBuildFile; fileRef = FE85F6AA0BBF51D400E9C25C /* objc-runtime.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629821785B6A2009D381C /* runtime.h in Headers */ = {isa = PBXBuildFile; fileRef = FE88A1D90F88F8D00081CFC1 /* runtime.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629831785B6A2009D381C /* message.h in Headers */ = {isa = PBXBuildFile; fileRef = FE88A1EB0F891B440081CFC1 /* message.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629841785B6A2009D381C /* deprecated.h in Headers */ = {isa = PBXBuildFile; fileRef = FE88A1F50F891D970081CFC1 /* deprecated.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629851785B6A2009D381C /* Object.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDB75C50F8A9EFE00AC545D /* Object.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629861785B6A2009D381C /* Protocol.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDB75C60F8A9EFE00AC545D /* Protocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629871785B6A2009D381C /* objc-auto.h in Headers */ = {isa = PBXBuildFile; fileRef = FE74345E10A8A61B004CDF00 /* objc-auto.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C6C629881785B6A2009D381C /* objc_cache.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1344481151B89600404745 /* objc_cache.h */; };
|
||||
C6C629891785B6A2009D381C /* objc_class.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1344491151B89600404745 /* objc_class.h */; };
|
||||
C6C6298A1785B6A2009D381C /* objc_debugHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = FE13444B1151B89600404745 /* objc_debugHelpers.h */; };
|
||||
C6C6298B1785B6A2009D381C /* objc_object.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1344511151B89600404745 /* objc_object.h */; };
|
||||
C6C6298C1785B6A2009D381C /* objc_protocol.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1344541151B89600404745 /* objc_protocol.h */; };
|
||||
C6C6298D1785B6A2009D381C /* objc_sel.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1344561151B89600404745 /* objc_sel.h */; };
|
||||
C6C6298E1785B6A2009D381C /* ObjCArray.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1344591151B89600404745 /* ObjCArray.h */; };
|
||||
C6C6298F1785B6A2009D381C /* ObjCDynamicModule.h in Headers */ = {isa = PBXBuildFile; fileRef = FE13445B1151B89600404745 /* ObjCDynamicModule.h */; };
|
||||
C6C629901785B6A2009D381C /* ObjCException.h in Headers */ = {isa = PBXBuildFile; fileRef = FE13445D1151B89600404745 /* ObjCException.h */; };
|
||||
C6C629911785B6A2009D381C /* ObjCHashTable.h in Headers */ = {isa = PBXBuildFile; fileRef = FE13445F1151B89600404745 /* ObjCHashTable.h */; };
|
||||
C6C629921785B6A2009D381C /* ObjCModule.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1344611151B89600404745 /* ObjCModule.h */; };
|
||||
C6C629931785B6A2009D381C /* objc_malloc.h in Headers */ = {isa = PBXBuildFile; fileRef = FE6CF82A11526D3000B6D893 /* objc_malloc.h */; };
|
||||
FE01A5810C5D9B3100AEA51A /* objc-class.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4034B90B42F24C00CEC41A /* objc-class.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE01A5820C5D9B3100AEA51A /* objc.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4034CE0B42F2C400CEC41A /* objc.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE01A5830C5D9B3100AEA51A /* objc-export.h in Headers */ = {isa = PBXBuildFile; fileRef = FEB6CBF90B4A1584004FADF2 /* objc-export.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
@ -224,6 +246,14 @@
|
||||
outputFiles = (
|
||||
);
|
||||
};
|
||||
C6C629951785B6A2009D381C /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = org.cocotron.1.0.solaris.i686.gcc.default;
|
||||
fileType = sourcecode.c;
|
||||
isEditable = 1;
|
||||
outputFiles = (
|
||||
);
|
||||
};
|
||||
FE01A5860C5D9B3100AEA51A /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = org.cocotron.1.0.windows.i386.gcc.default;
|
||||
@ -242,7 +272,7 @@
|
||||
};
|
||||
FE4034870B42E94D00CEC41A /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = org.cocotron.1.0.linux.i386.gcc.4_0_3;
|
||||
compilerSpec = org.cocotron.1.0.solaris.sparc.gcc.default;
|
||||
fileType = sourcecode.c;
|
||||
isEditable = 1;
|
||||
outputFiles = (
|
||||
@ -264,14 +294,6 @@
|
||||
outputFiles = (
|
||||
);
|
||||
};
|
||||
FED70AA50C3B3F5E000CBE5B /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = com.apple.compilers.gcc.4_0;
|
||||
fileType = sourcecode.c;
|
||||
isEditable = 1;
|
||||
outputFiles = (
|
||||
);
|
||||
};
|
||||
FED70FC50C3C0A17000CBE5B /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = com.apple.compilers.gcc.4_0;
|
||||
@ -287,6 +309,8 @@
|
||||
28D484FD0FE04DDD00DC03EF /* objc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = objc.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
C6065BB0163575CC0007217E /* objc_association.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = objc_association.m; sourceTree = "<group>"; };
|
||||
C6C629991785B6A2009D381C /* objc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = objc.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C6C6299A1785B6A2009D381C /* objc-Solaris-sparc copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "objc-Solaris-sparc copy-Info.plist"; path = "/Users/gga/Developer/Cocotron/development-arts/objc/objc-Solaris-sparc copy-Info.plist"; sourceTree = "<absolute>"; };
|
||||
FE01A5890C5D9B3100AEA51A /* objc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = objc.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FE1344481151B89600404745 /* objc_cache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = objc_cache.h; sourceTree = "<group>"; };
|
||||
FE1344491151B89600404745 /* objc_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = objc_class.h; sourceTree = "<group>"; };
|
||||
@ -370,6 +394,7 @@
|
||||
28D484FD0FE04DDD00DC03EF /* objc.framework */,
|
||||
15D921E5105E922600171406 /* objc.framework */,
|
||||
FE5A868A10C6EDDC005E348A /* objc.framework */,
|
||||
C6C629991785B6A2009D381C /* objc.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@ -427,6 +452,7 @@
|
||||
FE13446D1151B89600404745 /* Protocol.m */,
|
||||
089C1665FE841158C02AAC07 /* Resources */,
|
||||
FE88A1D90F88F8D00081CFC1 /* runtime.h */,
|
||||
C6C6299A1785B6A2009D381C /* objc-Solaris-sparc copy-Info.plist */,
|
||||
);
|
||||
name = objc;
|
||||
sourceTree = "<group>";
|
||||
@ -579,6 +605,35 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C6C6297D1785B6A2009D381C /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C6C6297E1785B6A2009D381C /* objc-class.h in Headers */,
|
||||
C6C6297F1785B6A2009D381C /* objc.h in Headers */,
|
||||
C6C629801785B6A2009D381C /* objc-export.h in Headers */,
|
||||
C6C629811785B6A2009D381C /* objc-runtime.h in Headers */,
|
||||
C6C629821785B6A2009D381C /* runtime.h in Headers */,
|
||||
C6C629831785B6A2009D381C /* message.h in Headers */,
|
||||
C6C629841785B6A2009D381C /* deprecated.h in Headers */,
|
||||
C6C629851785B6A2009D381C /* Object.h in Headers */,
|
||||
C6C629861785B6A2009D381C /* Protocol.h in Headers */,
|
||||
C6C629871785B6A2009D381C /* objc-auto.h in Headers */,
|
||||
C6C629881785B6A2009D381C /* objc_cache.h in Headers */,
|
||||
C6C629891785B6A2009D381C /* objc_class.h in Headers */,
|
||||
C6C6298A1785B6A2009D381C /* objc_debugHelpers.h in Headers */,
|
||||
C6C6298B1785B6A2009D381C /* objc_object.h in Headers */,
|
||||
C6C6298C1785B6A2009D381C /* objc_protocol.h in Headers */,
|
||||
C6C6298D1785B6A2009D381C /* objc_sel.h in Headers */,
|
||||
C6C6298E1785B6A2009D381C /* ObjCArray.h in Headers */,
|
||||
C6C6298F1785B6A2009D381C /* ObjCDynamicModule.h in Headers */,
|
||||
C6C629901785B6A2009D381C /* ObjCException.h in Headers */,
|
||||
C6C629911785B6A2009D381C /* ObjCHashTable.h in Headers */,
|
||||
C6C629921785B6A2009D381C /* ObjCModule.h in Headers */,
|
||||
C6C629931785B6A2009D381C /* objc_malloc.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE01A5800C5D9B3100AEA51A /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -821,6 +876,24 @@
|
||||
productReference = 28D484FD0FE04DDD00DC03EF /* objc.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
C6C6297C1785B6A2009D381C /* objc-Solaris-i686 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C6C629961785B6A2009D381C /* Build configuration list for PBXNativeTarget "objc-Solaris-i686" */;
|
||||
buildPhases = (
|
||||
C6C6297D1785B6A2009D381C /* Headers */,
|
||||
C6C629941785B6A2009D381C /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
C6C629951785B6A2009D381C /* PBXBuildRule */,
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "objc-Solaris-i686";
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = objc;
|
||||
productReference = C6C629991785B6A2009D381C /* objc.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
FE01A57F0C5D9B3100AEA51A /* objc-Windows-i386 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FE01A5870C5D9B3100AEA51A /* Build configuration list for PBXNativeTarget "objc-Windows-i386" */;
|
||||
@ -919,7 +992,6 @@
|
||||
FED70AA40C3B3F5E000CBE5B /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
FED70AA50C3B3F5E000CBE5B /* PBXBuildRule */,
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
@ -979,6 +1051,7 @@
|
||||
28D484ED0FE04DDD00DC03EF /* objc-Linux-ppc */,
|
||||
15D921D5105E922600171406 /* objc-Linux-arm */,
|
||||
FE5A867910C6EDDC005E348A /* objc-FreeBSD-i386 */,
|
||||
C6C6297C1785B6A2009D381C /* objc-Solaris-i686 */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@ -998,6 +1071,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C6C629941785B6A2009D381C /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE01A5850C5D9B3100AEA51A /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -1260,6 +1340,54 @@
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C6C629971785B6A2009D381C /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i686;
|
||||
DEPLOYMENT_LOCATION = YES;
|
||||
DSTROOT = /;
|
||||
EXECUTABLE_SUFFIX = .so;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
GCC_PREFIX_HEADER = "";
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = /Developer/Cocotron/1.0/Solaris/i686/Frameworks;
|
||||
OTHER_CFLAGS = (
|
||||
"-DOBJC_INSIDE_BUILD",
|
||||
"-D__LITTLE_ENDIAN__",
|
||||
"-march=i686",
|
||||
"-fPIC",
|
||||
);
|
||||
OTHER_LDFLAGS = "-shared";
|
||||
PRODUCT_NAME = objc;
|
||||
SYMROOT = build/Solaris/i686;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C6C629981785B6A2009D381C /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i686;
|
||||
DEPLOYMENT_LOCATION = YES;
|
||||
DSTROOT = /;
|
||||
EXECUTABLE_SUFFIX = .so;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
GCC_PREFIX_HEADER = "";
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = /Developer/Cocotron/1.0/Solaris/i686/Frameworks;
|
||||
OTHER_CFLAGS = (
|
||||
"-DOBJC_INSIDE_BUILD",
|
||||
"-D__LITTLE_ENDIAN__",
|
||||
"-march=i686",
|
||||
"-fPIC",
|
||||
);
|
||||
OTHER_LDFLAGS = "-shared";
|
||||
PRODUCT_NAME = objc;
|
||||
SYMROOT = build/Solaris/i686;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
FE01A5880C5D9B3100AEA51A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FE7086CF1431182900B99A95 /* windows-i386-framework.xcconfig */;
|
||||
@ -1486,6 +1614,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C6C629961785B6A2009D381C /* Build configuration list for PBXNativeTarget "objc-Solaris-i686" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C6C629971785B6A2009D381C /* Release */,
|
||||
C6C629981785B6A2009D381C /* Debug */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
FE01A5870C5D9B3100AEA51A /* Build configuration list for PBXNativeTarget "objc-Windows-i386" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
@ -7,7 +7,6 @@
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
|
||||
// the cache entry size must be a power of 2
|
||||
typedef struct {
|
||||
void *nextEntry;
|
||||
@ -16,8 +15,10 @@ typedef struct {
|
||||
objc_AssociationPolicy policy;
|
||||
} AssociationObjectEntry;
|
||||
|
||||
#define AssociationObjectEntrySize 4
|
||||
#define AssociationObjectEntryMask ((AssociationObjectEntrySize-1)*sizeof(AssociationObjectEntry))
|
||||
#define BucketsInitialSize 509 // Some prime size (and as a bonus, next three n*2+1 are prime too)
|
||||
#define AssociationObjectEntrySize 5
|
||||
|
||||
#define HASHPTR(p) (((unsigned int)p)>>5)
|
||||
|
||||
typedef struct AssociationHashBucket {
|
||||
struct AssociationHashBucket *next;
|
||||
@ -31,25 +32,18 @@ typedef struct AssociationTable {
|
||||
AssociationHashBucket **buckets;
|
||||
} AssociationTable;
|
||||
|
||||
typedef struct {
|
||||
AssociationTable *table;
|
||||
unsigned int i;
|
||||
struct AssociationHashBucket *j;
|
||||
} NSHashEnumerator;
|
||||
|
||||
|
||||
AssociationTable *CreateAssociationTable(unsigned int capacity) {
|
||||
AssociationTable *table=malloc(sizeof(AssociationTable));
|
||||
|
||||
|
||||
table->count=0;
|
||||
table->nBuckets=(capacity<4)?4:capacity;
|
||||
table->nBuckets=(capacity<5)?5:capacity;
|
||||
table->buckets=calloc(table->nBuckets,sizeof(AssociationHashBucket *));
|
||||
|
||||
return table;
|
||||
}
|
||||
|
||||
AssociationObjectEntry *AssociationTableGet(AssociationTable *table,id key){
|
||||
unsigned int i=((unsigned int)key>>5)%table->nBuckets;
|
||||
unsigned int i=HASHPTR(key)%table->nBuckets;
|
||||
AssociationHashBucket *j;
|
||||
|
||||
for(j=table->buckets[i];j!=NULL;j=j->next)
|
||||
@ -61,35 +55,52 @@ AssociationObjectEntry *AssociationTableGet(AssociationTable *table,id key){
|
||||
|
||||
|
||||
void AssociationTableInsert(AssociationTable *table,id key, AssociationObjectEntry *value){
|
||||
unsigned int hash=(unsigned int)key>>5;
|
||||
unsigned int hash=HASHPTR(key);
|
||||
unsigned int i=hash%table->nBuckets;
|
||||
AssociationHashBucket *j;
|
||||
|
||||
for(j=table->buckets[i];j!=NULL;j=j->next)
|
||||
for(j=table->buckets[i];j!=NULL;j=j->next) {
|
||||
if(j->key==key){
|
||||
id oldKey=j->key;
|
||||
AssociationObjectEntry *oldValue=j->value;
|
||||
|
||||
j->key=key;
|
||||
j->value=value;
|
||||
j->value=value;
|
||||
|
||||
free(oldValue);
|
||||
return;
|
||||
}
|
||||
|
||||
if(table->count>=table->nBuckets){
|
||||
}
|
||||
int newSize = 0;
|
||||
if (table->count>=table->nBuckets) {
|
||||
// Expand the buckets size to limit collisions
|
||||
newSize=table->nBuckets*2+1; // Let"s use odd size
|
||||
} else if (table->count > BucketsInitialSize && table->count < table->nBuckets/2) {
|
||||
// Compact the table - plenty of free room
|
||||
newSize=table->nBuckets/2;
|
||||
if (newSize%2) {
|
||||
// Let"s use odd size
|
||||
newSize+=1;
|
||||
}
|
||||
}
|
||||
if(newSize != 0){
|
||||
unsigned int nBuckets=table->nBuckets;
|
||||
AssociationHashBucket **buckets=table->buckets,*next;
|
||||
AssociationHashBucket **buckets=table->buckets;
|
||||
|
||||
table->nBuckets=nBuckets*2;
|
||||
table->nBuckets=newSize;
|
||||
table->buckets=calloc(table->nBuckets,sizeof(AssociationHashBucket *));
|
||||
|
||||
for(i=0;i<nBuckets;i++)
|
||||
for(j=buckets[i];j!=NULL;j=next){
|
||||
unsigned int newi=((unsigned int)j->key>>5)%table->nBuckets;
|
||||
// Get all of the existing buckets and place them into the new list
|
||||
for(i=0;i<nBuckets;i++) {
|
||||
j = buckets[i];
|
||||
while (j) {
|
||||
unsigned int newi=HASHPTR(j->key)%table->nBuckets;
|
||||
|
||||
next=j->next;
|
||||
AssociationHashBucket *next = j->next;
|
||||
j->next=table->buckets[newi];
|
||||
table->buckets[newi]=j;
|
||||
|
||||
j = next;
|
||||
}
|
||||
}
|
||||
free(buckets);
|
||||
i=hash%table->nBuckets;
|
||||
}
|
||||
@ -135,21 +146,29 @@ static AssociationTable *associationTable = NULL;
|
||||
|
||||
|
||||
void AssociationTableRemove(AssociationTable *table,id key){
|
||||
unsigned int i=((unsigned int)key>>5)%table->nBuckets;
|
||||
AssociationSpinLockLock(&AssociationLock);
|
||||
|
||||
unsigned int i=HASHPTR(key)%table->nBuckets;
|
||||
AssociationHashBucket *j=table->buckets[i],*prev=j;
|
||||
|
||||
for(;j!=NULL;j=j->next){
|
||||
if(j->key==key){
|
||||
// array to keep track of the objects to release - that must be done outside of the lock
|
||||
// since the release can trigger more association changes
|
||||
int releaseCount = 0;
|
||||
int releaseTableSize = 0;
|
||||
id *objectsToRelease = NULL;
|
||||
|
||||
if(prev==j)
|
||||
table->buckets[i]=j->next;
|
||||
else
|
||||
prev->next=j->next;
|
||||
|
||||
AssociationObjectEntry *entry = j->value;
|
||||
do {
|
||||
for (int i = 0; i < AssociationObjectEntrySize; i++) {
|
||||
AssociationObjectEntry *e = (void *)entry + i;
|
||||
|
||||
|
||||
for (int i = 0; i < AssociationObjectEntrySize; i++) {
|
||||
AssociationObjectEntry *e = entry + i;
|
||||
while (e) {
|
||||
switch (e->policy) {
|
||||
case OBJC_ASSOCIATION_ASSIGN:
|
||||
break;
|
||||
@ -157,19 +176,43 @@ void AssociationTableRemove(AssociationTable *table,id key){
|
||||
case OBJC_ASSOCIATION_RETAIN:
|
||||
case OBJC_ASSOCIATION_COPY_NONATOMIC:
|
||||
case OBJC_ASSOCIATION_COPY:
|
||||
[e->object release];
|
||||
if (releaseCount >= releaseTableSize) {
|
||||
if (releaseTableSize == 0) {
|
||||
releaseTableSize = 8;
|
||||
} else {
|
||||
releaseTableSize *= 2;
|
||||
}
|
||||
objectsToRelease = realloc(objectsToRelease, sizeof(id)*releaseTableSize);
|
||||
}
|
||||
objectsToRelease[releaseCount++] = e->object;
|
||||
break;
|
||||
}
|
||||
AssociationObjectEntry *currentEntry = e;
|
||||
e = e->nextEntry;
|
||||
// Don't free the first entry of the list - it's part of the "entry" block that will be freed after the loop
|
||||
if (currentEntry != entry + i) {
|
||||
free(currentEntry);
|
||||
}
|
||||
}
|
||||
} while (entry->nextEntry != nil);
|
||||
|
||||
free(j->value);
|
||||
}
|
||||
|
||||
free(entry);
|
||||
free(j);
|
||||
table->count--;
|
||||
|
||||
AssociationSpinLockUnlock(&AssociationLock);
|
||||
|
||||
// Do the cleaning outside of the lock since it might trigger more association playing
|
||||
for (int i = 0; i < releaseCount; ++i) {
|
||||
[objectsToRelease[i] release];
|
||||
}
|
||||
free(objectsToRelease);
|
||||
|
||||
return;
|
||||
}
|
||||
prev=j;
|
||||
}
|
||||
AssociationSpinLockUnlock(&AssociationLock);
|
||||
}
|
||||
|
||||
void objc_removeAssociatedObjects(id object)
|
||||
@ -177,20 +220,16 @@ void objc_removeAssociatedObjects(id object)
|
||||
if (associationTable == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
AssociationSpinLockLock(&AssociationLock);
|
||||
|
||||
AssociationTableRemove(associationTable, object);
|
||||
|
||||
AssociationSpinLockUnlock(&AssociationLock);
|
||||
}
|
||||
|
||||
void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy)
|
||||
{
|
||||
AssociationSpinLockLock(&AssociationLock);
|
||||
|
||||
|
||||
if (associationTable == NULL) {
|
||||
associationTable = CreateAssociationTable(512);
|
||||
associationTable = CreateAssociationTable(BucketsInitialSize);
|
||||
}
|
||||
|
||||
AssociationObjectEntry *objectTable = AssociationTableGet(associationTable, object);
|
||||
@ -199,9 +238,8 @@ void objc_setAssociatedObject(id object, const void *key, id value, objc_Associa
|
||||
AssociationTableInsert(associationTable, object, objectTable);
|
||||
}
|
||||
|
||||
uintptr_t index = (uintptr_t)(key) & AssociationObjectEntryMask;
|
||||
AssociationObjectEntry *entry = ((void *)objectTable) + index;
|
||||
|
||||
uintptr_t index = HASHPTR(key) % AssociationObjectEntrySize;
|
||||
AssociationObjectEntry *entry = ((AssociationObjectEntry *)objectTable) + index;
|
||||
if (entry->object == nil) {
|
||||
entry->policy = policy;
|
||||
entry->key = key;
|
||||
@ -221,9 +259,10 @@ void objc_setAssociatedObject(id object, const void *key, id value, objc_Associa
|
||||
}
|
||||
else {
|
||||
AssociationObjectEntry *newEntry;
|
||||
|
||||
do {
|
||||
if (entry->key == key) {
|
||||
id objectToRelease = nil;
|
||||
|
||||
switch (entry->policy) {
|
||||
case OBJC_ASSOCIATION_ASSIGN:
|
||||
break;
|
||||
@ -231,7 +270,7 @@ void objc_setAssociatedObject(id object, const void *key, id value, objc_Associa
|
||||
case OBJC_ASSOCIATION_RETAIN:
|
||||
case OBJC_ASSOCIATION_COPY_NONATOMIC:
|
||||
case OBJC_ASSOCIATION_COPY:
|
||||
[entry->object release];
|
||||
objectToRelease = entry->object;
|
||||
break;
|
||||
}
|
||||
entry->policy = policy;
|
||||
@ -248,8 +287,11 @@ void objc_setAssociatedObject(id object, const void *key, id value, objc_Associa
|
||||
entry->object = [value copy];
|
||||
break;
|
||||
}
|
||||
|
||||
AssociationSpinLockUnlock(&AssociationLock);
|
||||
|
||||
// Do the cleaning outside of the lock since it might trigger more association playing
|
||||
[objectToRelease release];
|
||||
|
||||
return;
|
||||
}
|
||||
if (entry->nextEntry != nil) {
|
||||
@ -274,29 +316,39 @@ void objc_setAssociatedObject(id object, const void *key, id value, objc_Associa
|
||||
break;
|
||||
}
|
||||
newEntry->nextEntry = NULL;
|
||||
entry->nextEntry = newEntry;
|
||||
}
|
||||
|
||||
|
||||
AssociationSpinLockUnlock(&AssociationLock);
|
||||
}
|
||||
|
||||
id objc_getAssociatedObject(id object, const void *key)
|
||||
{
|
||||
|
||||
|
||||
if (associationTable == NULL) {
|
||||
return nil;
|
||||
}
|
||||
|
||||
|
||||
AssociationSpinLockLock(&AssociationLock);
|
||||
|
||||
|
||||
AssociationObjectEntry *objectTable = AssociationTableGet(associationTable, object);
|
||||
if (objectTable == NULL) {
|
||||
AssociationSpinLockUnlock(&AssociationLock);
|
||||
return nil;
|
||||
}
|
||||
|
||||
uintptr_t index = (uintptr_t)(key) & AssociationObjectEntryMask;
|
||||
AssociationObjectEntry *entry = ((void *)objectTable) + index;
|
||||
|
||||
uintptr_t index = HASHPTR(key) % AssociationObjectEntrySize;
|
||||
AssociationObjectEntry *entry = ((AssociationObjectEntry *)objectTable) + index;
|
||||
while (entry) {
|
||||
if (entry->key == key) {
|
||||
break;
|
||||
}
|
||||
entry = entry->nextEntry;
|
||||
}
|
||||
AssociationSpinLockUnlock(&AssociationLock);
|
||||
return entry->object;
|
||||
if (entry) {
|
||||
return entry->object;
|
||||
} else {
|
||||
return nil;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user