[44886] users/toby/objcports

toby at macports.org toby at macports.org
Sun Jan 4 05:22:27 PST 2009


Revision: 44886
          http://trac.macports.org/changeset/44886
Author:   toby at macports.org
Date:     2009-01-04 05:22:26 -0800 (Sun, 04 Jan 2009)
Log Message:
-----------
keep track of variant properties

Modified Paths:
--------------
    users/toby/objcports/MPParser.m
    users/toby/objcports/MPPort.m
    users/toby/objcports/port.m

Modified: users/toby/objcports/MPParser.m
===================================================================
--- users/toby/objcports/MPParser.m	2009-01-04 13:06:42 UTC (rev 44885)
+++ users/toby/objcports/MPParser.m	2009-01-04 13:22:26 UTC (rev 44886)
@@ -44,7 +44,8 @@
 	}
 	@finally {
 		info(_interp, "[info globals]");
-		//info(_interp, "[info commands]");
+		info(_interp, "[info commands]");
+		NSLog(@"%@", _variants);
 	}
 
 	return self;
@@ -111,12 +112,14 @@
 		[_platforms addObject:platformFull];
 		// XXX: check match, right now pretend all platforms are true
 		if (YES) {
-			NSLog(@"eval'ing target %@", platformFull);
+			NSLog(@"+%@", platformFull);
 			Tcl_Eval(_interp, [[args lastObject] UTF8String]);
 		}
 	} else if ([command isEqualToString:@"variant"]) {
 		NSUInteger count = [args count];
 		NSString *name;
+		NSMutableDictionary *props;
+		int i;
 
 		// variant name [a b c d] {}
 		if (count < 2 || count % 2) {
@@ -126,13 +129,17 @@
 
 		name = [args objectAtIndex:0];
 
-		// XXX: actually pull in its properties.. need to provide externally
-		// also check for dupes (w/ platforms too)
-		[_variants setObject:[NSDictionary dictionary] forKey:name];
+		props = [NSMutableDictionary dictionaryWithCapacity:count-2];
+ 		for (i = 1; i < count - 1; i += 2) {
+			[props setObject:[args objectAtIndex:i+1] forKey:[args objectAtIndex:i]];
+		}
 
+		// XXX: check for dupes (w/ platforms too)
+		[_variants setObject:props forKey:name];
+
 		// XXX: make sure it's set, like platforms just pretend
 		if (YES) {
-			NSLog(@"eval'ing variant %@", name);
+			NSLog(@"+%@", name);
 			Tcl_Eval(_interp, [[args lastObject] UTF8String]);
 		}
 	//} else if ([_targets containsObject:command]) {
@@ -232,5 +239,5 @@
 
 	Tcl_ExprObj(interp, Tcl_NewStringObj(command, -1), &result);
 	Tcl_ListObjGetElements(interp, result, &objc, &objv);
-	NSLog(@"%@", [NSArray arrayWithTclObjects:objv count:objc]);
+	//NSLog(@"%@", [NSArray arrayWithTclObjects:objv count:objc]);
 }

Modified: users/toby/objcports/MPPort.m
===================================================================
--- users/toby/objcports/MPPort.m	2009-01-04 13:06:42 UTC (rev 44885)
+++ users/toby/objcports/MPPort.m	2009-01-04 13:22:26 UTC (rev 44886)
@@ -34,7 +34,7 @@
 - (NSString *)default:(NSString *)def
 {
 	// XXX: selector (NSInvocation?) or constant NSString...
-	NSLog(@"requesting default value of '%@'", def);
+	NSLog(@"default: '%@'", def);
 	return def;
 }
 

Modified: users/toby/objcports/port.m
===================================================================
--- users/toby/objcports/port.m	2009-01-04 13:06:42 UTC (rev 44885)
+++ users/toby/objcports/port.m	2009-01-04 13:22:26 UTC (rev 44886)
@@ -8,6 +8,9 @@
 {
 	NSAutoreleasePool *pool = [NSAutoreleasePool new];
 
+	if (argc != 2)
+		exit(1);
+
 	MPPort *port = [[MPPort alloc] initWithPortfile:[NSString stringWithUTF8String:argv[1]] options:nil];
 	NSLog(@"%@ @%@ (%@)", [port option:@"name"], [port option:@"version"], [port option:@"categories"]);
 	NSLog(@"Variants:     %@", [[port variants] componentsJoinedByString:@", "]);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090104/5e5990b0/attachment.html>


More information about the macports-changes mailing list