From a09f7a4894d2dde0ac8820993f3d51ba0fe36810 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Fri, 26 Jun 2015 04:47:18 -0700 Subject: [PATCH] Remove dependency on Substrate to have its macros. --- Cydia/ProgressEvent.h | 2 -- CyteKit/WebView.mm | 2 +- CyteKit/dispatchEvent.mm | 4 +--- MobileCydia.mm | 2 +- Sources.mm | 2 +- Substrate.hpp | 38 ++++++++++++++++++++++++++++++++++++++ sysroot.sh | 7 ------- 7 files changed, 42 insertions(+), 15 deletions(-) create mode 100644 Substrate.hpp diff --git a/Cydia/ProgressEvent.h b/Cydia/ProgressEvent.h index 1b2bae09..8a49778c 100644 --- a/Cydia/ProgressEvent.h +++ b/Cydia/ProgressEvent.h @@ -24,8 +24,6 @@ #include -#include - #include @interface CydiaProgressEvent : NSObject { diff --git a/CyteKit/WebView.mm b/CyteKit/WebView.mm index df377113..7338939f 100644 --- a/CyteKit/WebView.mm +++ b/CyteKit/WebView.mm @@ -22,7 +22,7 @@ #include "CyteKit/dispatchEvent.h" #include "CyteKit/WebView.h" -#include +#include "Substrate.hpp" #include "iPhonePrivate.h" diff --git a/CyteKit/dispatchEvent.mm b/CyteKit/dispatchEvent.mm index f3fa41eb..a25bdf91 100644 --- a/CyteKit/dispatchEvent.mm +++ b/CyteKit/dispatchEvent.mm @@ -28,9 +28,7 @@ #include #include -#include - -#include +#include "Substrate.hpp" @implementation UIWebDocumentView (CyteDispatchEvent) diff --git a/MobileCydia.mm b/MobileCydia.mm index 0c83f523..b95389ac 100644 --- a/MobileCydia.mm +++ b/MobileCydia.mm @@ -109,7 +109,7 @@ extern "C" { #include #include "Sources.h" -#include +#include "Substrate.hpp" #include "Menes/Menes.h" #include "CyteKit/IndirectDelegate.h" diff --git a/Sources.mm b/Sources.mm index 3290b2fc..8ad74a15 100644 --- a/Sources.mm +++ b/Sources.mm @@ -20,7 +20,7 @@ /* }}} */ #include -#include +#include #include #include diff --git a/Substrate.hpp b/Substrate.hpp new file mode 100644 index 00000000..9826b567 --- /dev/null +++ b/Substrate.hpp @@ -0,0 +1,38 @@ +/* Cydia - iPhone UIKit Front-End for Debian APT + * Copyright (C) 2008-2013 Jay Freeman (saurik) +*/ + +/* GNU General Public License, Version 3 {{{ */ +/* + * Cydia is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published + * by the Free Software Foundation, either version 3 of the License, + * or (at your option) any later version. + * + * Cydia is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Cydia. If not, see . +**/ +/* }}} */ + +#ifndef Substrate_HPP +#define Substrate_HPP + +#include + +template +static inline Type_ &MSHookIvar(id self, const char *name) { + Ivar ivar(class_getInstanceVariable(object_getClass(self), name)); + void *pointer(ivar == NULL ? NULL : reinterpret_cast(self) + ivar_getOffset(ivar)); + return *reinterpret_cast(pointer); +} + +#define MSHook(type, name, args...) \ + static type (*_ ## name)(args); \ + static type $ ## name(args) + +#endif//Substrate_HPP diff --git a/sysroot.sh b/sysroot.sh index 2d129abe..55b65cab 100755 --- a/sysroot.sh +++ b/sysroot.sh @@ -67,7 +67,6 @@ urls[apr-lib]=http://apt.saurik.com/debs/apr-lib_1.3.3-2_iphoneos-arm.deb urls[apt7]=http://apt.saurik.com/debs/apt7_0.7.25.3-7_iphoneos-arm.deb urls[apt7-lib]=http://apt.saurik.com/debs/apt7-lib_0.7.25.3-12_iphoneos-arm.deb urls[coreutils]=http://apt.saurik.com/debs/coreutils_7.4-11_iphoneos-arm.deb -urls[mobilesubstrate]=http://apt.saurik.com/debs/mobilesubstrate_0.9.3367-1_iphoneos-arm.deb urls[pcre]=http://apt.saurik.com/debs/pcre_7.9-3_iphoneos-arm.deb if [[ 0 ]]; then @@ -100,12 +99,6 @@ done rm -f *.deb -if substrate=$(readlink usr/include/substrate.h); then - if [[ ${substrate} == /* ]]; then - ln -sf "../..${substrate}" usr/include/substrate.h - fi -fi - mkdir -p usr/include cd usr/include -- 2.45.2