[48447] users/toby/objcports
toby at macports.org
toby at macports.org
Sun Mar 22 01:44:11 PDT 2009
Revision: 48447
http://trac.macports.org/changeset/48447
Author: toby at macports.org
Date: 2009-03-22 01:44:10 -0700 (Sun, 22 Mar 2009)
Log Message:
-----------
misc
Modified Paths:
--------------
users/toby/objcports/MPPort.h
users/toby/objcports/MPPort.m
Modified: users/toby/objcports/MPPort.h
===================================================================
--- users/toby/objcports/MPPort.h 2009-03-22 08:25:29 UTC (rev 48446)
+++ users/toby/objcports/MPPort.h 2009-03-22 08:44:10 UTC (rev 48447)
@@ -27,7 +27,7 @@
- (void)option:(NSString *)option append:(NSArray *)value;
- (void)option:(NSString *)option delete:(NSArray *)value;
-- (BOOL)addPlatform:(NSString *)platform;
+- (BOOL)addPlatform:(NSArray *)platform;
- (NSArray *)platforms;
- (BOOL)addVariant:(NSString *)variant properties:(NSDictionary *)props;
Modified: users/toby/objcports/MPPort.m
===================================================================
--- users/toby/objcports/MPPort.m 2009-03-22 08:25:29 UTC (rev 48446)
+++ users/toby/objcports/MPPort.m 2009-03-22 08:44:10 UTC (rev 48447)
@@ -1,5 +1,6 @@
#include <Foundation/Foundation.h>
#include <tcl.h>
+#include <sys/utsname.h>
#include "MPPort.h"
#include "MPParser.h"
@@ -214,11 +215,36 @@
[tmp release];
}
-- (BOOL)addPlatform:(NSString *)platform
+- (BOOL)addPlatform:(NSArray *)platform
{
- // XXX: dupe check
+ struct utsname u;
+ NSString *os;
+ NSNumber *release;
+ NSString *arch;
+ id tmp;
+
[_platforms addObject:platform];
- // XXX: check match, right now pretend all platforms are true
+
+ assert(uname(&u) == 0);
+ os = [[NSString stringWithUTF8String:u.sysname] lowercaseString];
+ release = [NSNumber numberWithInteger:[[NSString stringWithUTF8String:u.release] integerValue]];
+ arch = [NSString stringWithUTF8String:u.machine];
+
+ tmp = [platform objectAtIndex:0];
+ if (tmp != [NSNull null] && ![tmp isEqualToString:os]) {
+ return NO;
+ }
+
+ tmp = [platform objectAtIndex:1];
+ if (tmp != [NSNull null] && ![tmp isEqual:release]) {
+ return NO;
+ }
+
+ tmp = [platform objectAtIndex:2];
+ if (tmp != [NSNull null] && ![tmp isEqual:arch]) {
+ return NO;
+ }
+
return YES;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090322/cbef42fa/attachment.html>
More information about the macports-changes
mailing list