summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Freeman (saurik) <saurik@saurik.com>2011-10-26 14:23:08 +0000
committerJay Freeman (saurik) <saurik@saurik.com>2011-10-26 14:27:40 +0000
commit7141b4254fb4c6c61b779a3becd1e285bca5495d (patch)
treebbc48a6d337b4bfb6b7b3e34b1b60840cc7239f9
parenta1c9d67a61aa4fe365025f138a076b8ffa322c0c (diff)
Remove gratuitous linking from gssc (for Substrate).
-rw-r--r--gssc.mm13
-rw-r--r--makefile10
2 files changed, 16 insertions, 7 deletions
diff --git a/gssc.mm b/gssc.mm
index 4932174..434431a 100644
--- a/gssc.mm
+++ b/gssc.mm
@@ -2,6 +2,7 @@
#import <UIKit/UIKit.h>
#include <stdio.h>
#include <dlfcn.h>
+#include <objc/runtime.h>
static CFArrayRef (*$GSSystemCopyCapability)(CFStringRef);
static CFArrayRef (*$GSSystemGetCapability)(CFStringRef);
@@ -17,12 +18,15 @@ void OnGSCapabilityChanged(
}
int main(int argc, char *argv[]) {
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ dlopen("/System/Library/Frameworks/Foundation.framework/Foundation", RTLD_GLOBAL | RTLD_LAZY);
+ dlopen("/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices", RTLD_GLOBAL | RTLD_LAZY);
+
+ NSAutoreleasePool *pool = [[objc_getClass("NSAutoreleasePool") alloc] init];
NSString *name = nil;
if (argc == 2)
- name = [NSString stringWithUTF8String:argv[0]];
+ name = [objc_getClass("NSString") stringWithUTF8String:argv[0]];
else if (argc > 2) {
fprintf(stderr, "usage: %s [capability]\n", argv[0]);
exit(1);
@@ -60,10 +64,7 @@ int main(int argc, char *argv[]) {
CFRunLoopRun();
}
- NSLog(@"%@", capability);
-
- /*for (NSString *value in capability)
- printf("%s\n", [value UTF8String]);*/
+ printf("%s\n", capability == nil ? "(null)" : [[capability description] UTF8String]);
[pool release];
diff --git a/makefile b/makefile
index 1695a75..6b39041 100644
--- a/makefile
+++ b/makefile
@@ -7,8 +7,16 @@ clean:
.PHONY: all clean package
+cfversion := -framework CoreFoundation
+gssc := -framework CoreFoundation
+sbdidlaunch := -framework CoreFoundation -framework SpringBoardServices
+uicache := -framework Foundation
+uiduid := -framework Foundation -framework UIKit
+uiopen := -framework Foundation -framework UIKit
+uishoot := -framework CoreFoundation -framework Foundation -framework UIKit
+
%: %.mm
- $${PKG_TARG}-g++ -Wall -Werror -o $@ $< -framework CoreFoundation -framework Foundation -framework UIKit -framework GraphicsServices -F"$${PKG_ROOT}"/System/Library/PrivateFrameworks -lobjc -framework SpringBoardServices
+ $${PKG_TARG}-g++ -Wall -Werror -o $@ $< $($@) -F"$${PKG_ROOT}"/System/Library/PrivateFrameworks -lobjc
ldid -S $@
%: %.c