summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Freeman (saurik) <saurik@saurik.com>2015-06-25 22:47:35 -0700
committerJay Freeman (saurik) <saurik@saurik.com>2015-06-25 22:56:12 -0700
commita830525c19d764ecf22b8e4dde996928268bf6e9 (patch)
treea2b984a3eda4151a35d52bf3dfc7e6205a8b5657
parent71b6516daec193c1eb13aa0030ff866301b17e0d (diff)
Port build to cycc (from Telesphoreo/iPhone-API).
l---------IOKit1
-rw-r--r--gssc.mm5
-rw-r--r--makefile22
-rw-r--r--sbdidlaunch.mm6
-rw-r--r--uicache.mm12
-rw-r--r--uiduid.mm4
6 files changed, 33 insertions, 17 deletions
diff --git a/IOKit b/IOKit
new file mode 120000
index 0000000..81ca38a
--- /dev/null
+++ b/IOKit
@@ -0,0 +1 @@
+/System/Library/Frameworks/IOKit.framework/Versions/A/Headers \ No newline at end of file
diff --git a/gssc.mm b/gssc.mm
index 0e1f92f..7473aae 100644
--- a/gssc.mm
+++ b/gssc.mm
@@ -37,7 +37,6 @@
*/
/* }}} */
-#import <GraphicsServices/GraphicsServices.h>
#import <UIKit/UIKit.h>
#include <stdio.h>
#include <dlfcn.h>
@@ -80,7 +79,7 @@ int main(int argc, char *argv[]) {
&OnGSCapabilityChanged,
CFSTR("GSCapabilitiesChanged"),
NULL,
- NULL
+ 0
);
for (;;) {
@@ -93,6 +92,8 @@ int main(int argc, char *argv[]) {
} else if ($GSSystemGetCapability != NULL) {
capability = reinterpret_cast<const NSDictionary *>((*$GSSystemGetCapability)(reinterpret_cast<CFStringRef>(name)));
} else {
+ capability = nil;
+
if (void *libMobileGestalt = dlopen("/usr/lib/libMobileGestalt.dylib", RTLD_GLOBAL | RTLD_LAZY))
if (CFTypeRef (*$MGCopyAnswer)(CFStringRef) = reinterpret_cast<CFTypeRef (*)(CFStringRef)>(dlsym(libMobileGestalt, "MGCopyAnswer"))) {
NSMutableDictionary *answers([NSMutableDictionary dictionary]);
diff --git a/makefile b/makefile
index 7ba5ac8..36ed0db 100644
--- a/makefile
+++ b/makefile
@@ -7,9 +7,13 @@ clean:
.PHONY: all clean package
+private := -F/System/Library/PrivateFrameworks
+
cfversion := -framework CoreFoundation
-gssc := -framework CoreFoundation
-sbdidlaunch := -framework CoreFoundation -framework SpringBoardServices
+gssc := -lobjc -framework CoreFoundation
+iomfsetgamma := -I. $(private) -framework IOKit -framework IOMobileFramebuffer
+sbdidlaunch := $(private) -framework CoreFoundation -framework SpringBoardServices
+sbreload := -framework CoreFoundation
uicache := -framework Foundation -framework UIKit # XXX: UIKit -> MobileCoreServices
uiduid := -framework Foundation -framework UIKit
uiopen := -framework Foundation -framework UIKit
@@ -20,23 +24,19 @@ uicache: csstore.cpp
extrainst_: csstore.cpp
%.dylib: %.mm
- $${PKG_TARG}-g++ -Wall -Werror -dynamiclib -o $@ $^ $($@) -F"$${PKG_ROOT}"/System/Library/PrivateFrameworks -lobjc -framework CoreFoundation -framework Foundation
+ cycc -i2.0 -o$@ -- -dynamiclib -Werror $^ $($@) -lobjc
ldid -S $@
%: %.mm
- $${PKG_TARG}-g++ -Wall -Werror -o $@ $^ $($@) -F"$${PKG_ROOT}"/System/Library/PrivateFrameworks -lobjc
+ cycc -i2.0 -o$@ -- -Werror $^ $($@)
ldid -S$(wildcard $@.xml) $@
%: %.c
- $${PKG_TARG}-gcc -Wall -Werror -o $@ $< -framework CoreFoundation
- ldid -S$(wildcard $@.xml) $@
-
-iomfsetgamma: iomfsetgamma.c
- $${PKG_TARG}-gcc -Wall -Werror -o $@ $< -F"$${PKG_ROOT}"/System/Library/PrivateFrameworks -framework IOKit -framework IOMobileFramebuffer
+ cycc -i2.0 -o$@ -- -Werror -x c $^ $($@)
ldid -S$(wildcard $@.xml) $@
package: all extrainst_
- rm -rf _
+ sudo rm -rf _
mkdir -p _/usr/lib
cp -a $(filter %.dylib,$(uikittools)) _/usr/lib
mkdir -p _/usr/bin
@@ -46,5 +46,7 @@ package: all extrainst_
cp -a extrainst_ _/DEBIAN/
mkdir -p debs
ln -sf debs/uikittools_$$(./version.sh)_iphoneos-arm.deb uikittools.deb
+ sudo chown -R 0 _
+ sudo chgrp -R 0 _
dpkg-deb -b _ uikittools.deb
readlink uikittools.deb
diff --git a/sbdidlaunch.mm b/sbdidlaunch.mm
index 810ca14..8a6b38b 100644
--- a/sbdidlaunch.mm
+++ b/sbdidlaunch.mm
@@ -58,7 +58,7 @@ int main() {
&OnDidLaunch,
CFSTR("SBSpringBoardDidLaunchNotification"),
NULL,
- NULL
+ 0
);
CFNotificationCenterAddObserver(
@@ -67,7 +67,7 @@ int main() {
&OnDidLaunch,
CFSTR("com.apple.springboard.finishedstartup"),
NULL,
- NULL
+ 0
);
CFNotificationCenterAddObserver(
@@ -76,7 +76,7 @@ int main() {
&OnDidLaunch,
CFSTR("com.apple.springboard.bootedcleanly"),
NULL,
- NULL
+ 0
);
if (SBSSpringBoardServerPort() == NULL)
diff --git a/uicache.mm b/uicache.mm
index 05bf391..e5235f2 100644
--- a/uicache.mm
+++ b/uicache.mm
@@ -46,8 +46,6 @@
#include <objc/runtime.h>
-#include <MobileCoreServices/LSApplicationWorkspace.h>
-
#include "csstore.hpp"
@interface NSMutableArray (Cydia)
@@ -83,6 +81,16 @@
@end
+@interface LSApplicationWorkspace : NSObject
++ (id) defaultWorkspace;
+- (BOOL) registerApplication:(id)application;
+- (BOOL) unregisterApplication:(id)application;
+- (BOOL) invalidateIconCache:(id)bundle;
+- (BOOL) registerApplicationDictionary:(id)application;
+- (BOOL) installApplication:(id)application withOptions:(id)options;
+- (BOOL) _LSPrivateRebuildApplicationDatabasesForSystemApps:(BOOL)system internal:(BOOL)internal user:(BOOL)user;
+@end
+
int main(int argc, const char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
diff --git a/uiduid.mm b/uiduid.mm
index 690bf51..338f84f 100644
--- a/uiduid.mm
+++ b/uiduid.mm
@@ -43,6 +43,10 @@
#include <dlfcn.h>
+@interface UIDevice (Apple)
+- (NSString *) uniqueIdentifier;
+@end
+
int main(int argc, char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];