[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