From 09514d15a6c6d99a052e21117e58eb7a4fc16e2e Mon Sep 17 00:00:00 2001 From: naturecodevoid <44983869+naturecodevoid@users.noreply.github.com> Date: Mon, 20 Feb 2023 18:48:21 -0800 Subject: [PATCH] use prebuilt binaries --- .gitignore | 9 +- AltStore.xcodeproj/project.pbxproj | 28 +- .../em_proxy.xcodeproj/project.pbxproj | 670 +++++++++--------- Dependencies/em_proxy/.gitkeep | 1 + Dependencies/fetch-prebuilt.sh | 50 ++ .../minimuxer.xcodeproj/project.pbxproj | 531 +++++++------- Dependencies/minimuxer/.gitkeep | 1 + Dependencies/update.sh | 10 - EmotionalDamage/em_proxy.h | 40 -- minimuxer/minimuxer.h | 76 -- 10 files changed, 650 insertions(+), 766 deletions(-) create mode 100644 Dependencies/em_proxy/.gitkeep create mode 100644 Dependencies/fetch-prebuilt.sh create mode 100644 Dependencies/minimuxer/.gitkeep delete mode 100755 Dependencies/update.sh delete mode 100644 EmotionalDamage/em_proxy.h delete mode 100644 minimuxer/minimuxer.h diff --git a/.gitignore b/.gitignore index d750188a..6165c5d4 100644 --- a/.gitignore +++ b/.gitignore @@ -33,4 +33,11 @@ xcuserdata /.vscode ## AppCode specific -.idea/ \ No newline at end of file +.idea/ + +Payload/ +SideStore.ipa +Dependencies/.*-prebuilt-fetch* +Dependencies/minimuxer/* +Dependencies/em_proxy/* +!Dependencies/**/.gitkeep diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index 92c94e88..f1d2c724 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -501,7 +501,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 19104DA92909BC7100C49C7B /* em_proxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = em_proxy.h; sourceTree = ""; }; 19104DB22909C06C00C49C7B /* libEmotionalDamage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libEmotionalDamage.a; sourceTree = BUILT_PRODUCTS_DIR; }; 19104DB42909C06D00C49C7B /* EmotionalDamage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmotionalDamage.swift; sourceTree = ""; }; 191E5FAB290A5D92001A3B7C /* libminimuxer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libminimuxer.a; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -510,7 +509,6 @@ 191E5FCF290A651D001A3B7C /* jplist.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jplist.c; path = Dependencies/libplist/src/jplist.c; sourceTree = SOURCE_ROOT; }; 191E5FD0290A651D001A3B7C /* jsmn.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jsmn.c; path = Dependencies/libplist/src/jsmn.c; sourceTree = SOURCE_ROOT; }; 191E5FD1290A651D001A3B7C /* jsmn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jsmn.h; path = Dependencies/libplist/src/jsmn.h; sourceTree = SOURCE_ROOT; }; - 191E5FD7290A6EFB001A3B7C /* minimuxer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = minimuxer.h; path = ../Dependencies/minimuxer/minimuxer.h; sourceTree = ""; }; 1920B04E2924AC8300744F60 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; 19B9B7442845E6DF0076EF69 /* SelectTeamViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectTeamViewController.swift; sourceTree = ""; }; B3146EC6284F580500BBC3FD /* Roxas.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Roxas.xcodeproj; path = Dependencies/Roxas/Roxas.xcodeproj; sourceTree = ""; }; @@ -939,7 +937,6 @@ isa = PBXGroup; children = ( B343F84D295F6323002B1159 /* em_proxy.xcodeproj */, - 19104DA92909BC7100C49C7B /* em_proxy.h */, 19104DB42909C06D00C49C7B /* EmotionalDamage.swift */, ); path = EmotionalDamage; @@ -949,7 +946,6 @@ isa = PBXGroup; children = ( B343F847295F6321002B1159 /* minimuxer.xcodeproj */, - 191E5FD7290A6EFB001A3B7C /* minimuxer.h */, 191E5FAD290A5D92001A3B7C /* minimuxer.swift */, ); path = minimuxer; @@ -2619,15 +2615,14 @@ IPHONEOS_DEPLOYMENT_TARGET = 14.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Dependencies/em_proxy/target/aarch64-apple-ios/release", - "$(PROJECT_DIR)/Dependencies/em_proxy/target/aarch64-apple-ios/debug", + "$(PROJECT_DIR)/Dependencies/em_proxy", ); MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OBJC_BRIDGING_HEADER = EmotionalDamage/em_proxy.h; + SWIFT_OBJC_BRIDGING_HEADER = Dependencies/em_proxy/em_proxy.h; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; TVOS_DEPLOYMENT_TARGET = 14.0; @@ -2646,14 +2641,13 @@ IPHONEOS_DEPLOYMENT_TARGET = 14.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Dependencies/em_proxy/target/aarch64-apple-ios/release", - "$(PROJECT_DIR)/Dependencies/em_proxy/target/aarch64-apple-ios/debug", + "$(PROJECT_DIR)/Dependencies/em_proxy", ); MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_OBJC_BRIDGING_HEADER = EmotionalDamage/em_proxy.h; + SWIFT_OBJC_BRIDGING_HEADER = Dependencies/em_proxy/em_proxy.h; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; TVOS_DEPLOYMENT_TARGET = 14.0; @@ -2673,14 +2667,13 @@ IPHONEOS_DEPLOYMENT_TARGET = 14.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Dependencies/minimuxer/target/aarch64-apple-ios/release", - "$(PROJECT_DIR)/Dependencies/minimuxer/target/aarch64-apple-ios/debug", + "$(PROJECT_DIR)/Dependencies/minimuxer", ); OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OBJC_BRIDGING_HEADER = minimuxer/minimuxer.h; + SWIFT_OBJC_BRIDGING_HEADER = Dependencies/minimuxer/minimuxer.h; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -2697,13 +2690,12 @@ IPHONEOS_DEPLOYMENT_TARGET = 14.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Dependencies/minimuxer/target/aarch64-apple-ios/release", - "$(PROJECT_DIR)/Dependencies/minimuxer/target/aarch64-apple-ios/debug", + "$(PROJECT_DIR)/Dependencies/minimuxer", ); OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_OBJC_BRIDGING_HEADER = minimuxer/minimuxer.h; + SWIFT_OBJC_BRIDGING_HEADER = Dependencies/minimuxer/minimuxer.h; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -3203,8 +3195,6 @@ "$(inherited)", "$(PROJECT_DIR)/Dependencies/fragmentzip", "$(PROJECT_DIR)/Dependencies/libcurl", - "$(PROJECT_DIR)/Dependencies/minimuxer/target/aarch64-apple-ios/debug", - "$(PROJECT_DIR)/Dependencies/minimuxer/target/aarch64-apple-ios/release", ); PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -3239,8 +3229,6 @@ "$(inherited)", "$(PROJECT_DIR)/Dependencies/fragmentzip", "$(PROJECT_DIR)/Dependencies/libcurl", - "$(PROJECT_DIR)/Dependencies/minimuxer/target/aarch64-apple-ios/debug", - "$(PROJECT_DIR)/Dependencies/minimuxer/target/aarch64-apple-ios/release", ); PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)"; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/Dependencies/em_proxy.xcodeproj/project.pbxproj b/Dependencies/em_proxy.xcodeproj/project.pbxproj index 9be3b5f2..d35e5c8c 100644 --- a/Dependencies/em_proxy.xcodeproj/project.pbxproj +++ b/Dependencies/em_proxy.xcodeproj/project.pbxproj @@ -1,371 +1,343 @@ // !$*UTF8*$! { - /* generated with cargo-xcode 1.5.0 */ - archiveVersion = 1; - classes = { - }; - objectVersion = 53; - objects = { + archiveVersion = 1; + classes = { + }; + objectVersion = 53; + objects = { + /* Begin PBXBuildFile section */ - - CA60E4E02AAAA30E3695DD59 /* Cargo.toml in Sources */ = { - isa = PBXBuildFile; - fileRef = CA6094FFF6923EF4668187A5 /* Cargo.toml */; - settings = { - COMPILER_FLAGS = "--lib"; /* == OTHER_INPUT_FILE_FLAGS */ - }; - }; - - CA60E4E02AAA37FC563E4BCC /* Cargo.toml in Sources */ = { - isa = PBXBuildFile; - fileRef = CA6094FFF6923EF4668187A5 /* Cargo.toml */; - settings = { - COMPILER_FLAGS = "--bin 'run'"; /* == OTHER_INPUT_FILE_FLAGS */ - }; - }; - + 9987603429A4555300818586 /* em_proxy.h in Sources */ = {isa = PBXBuildFile; fileRef = 9999259129A45319005CF020 /* em_proxy.h */; }; /* End PBXBuildFile section */ /* Begin PBXBuildRule section */ - CA6094FFF692AC6C1400ACA8 /* PBXBuildRule */ = { - isa = PBXBuildRule; - compilerSpec = com.apple.compilers.proxy.script; - dependencyFile = "$(DERIVED_FILE_DIR)/$(CARGO_XCODE_TARGET_ARCH)-$(EXECUTABLE_NAME).d"; - filePatterns = "*/Cargo.toml"; /* must contain asterisk */ - fileType = pattern.proxy; - inputFiles = (); - isEditable = 0; - name = "Cargo project build"; - outputFiles = ( - "$(OBJECT_FILE_DIR)/$(CARGO_XCODE_TARGET_ARCH)-$(EXECUTABLE_NAME)", - ); - script = "# generated with cargo-xcode 1.5.0\n\nset -eu; export PATH=\"$PATH:$HOME/.cargo/bin:/usr/local/bin\";\nif [ \"${IS_MACCATALYST-NO}\" = YES ]; then\n CARGO_XCODE_TARGET_TRIPLE=\"${CARGO_XCODE_TARGET_ARCH}-apple-ios-macabi\"\nelse\n CARGO_XCODE_TARGET_TRIPLE=\"${CARGO_XCODE_TARGET_ARCH}-apple-${CARGO_XCODE_TARGET_OS}\"\nfi\nif [ \"$CARGO_XCODE_TARGET_OS\" != \"darwin\" ]; then\n PATH=\"${PATH/\\/Contents\\/Developer\\/Toolchains\\/XcodeDefault.xctoolchain\\/usr\\/bin:/xcode-provided-ld-cant-link-lSystem-for-the-host-build-script:}\"\nfi\nPATH=\"$PATH:/opt/homebrew/bin\" # Rust projects often depend on extra tools like nasm, which Xcode lacks\nif [ \"$CARGO_XCODE_BUILD_MODE\" == release ]; then\n OTHER_INPUT_FILE_FLAGS=\"${OTHER_INPUT_FILE_FLAGS} --release\"\nfi\nif command -v rustup &> /dev/null; then\n if ! rustup target list --installed | egrep -q \"${CARGO_XCODE_TARGET_TRIPLE}\"; then\n echo \"warning: this build requires rustup toolchain for $CARGO_XCODE_TARGET_TRIPLE, but it isn\'t installed\"\n rustup target add \"${CARGO_XCODE_TARGET_TRIPLE}\" || echo >&2 \"warning: can\'t install $CARGO_XCODE_TARGET_TRIPLE\"\n fi\nfi\nif [ \"$ACTION\" = clean ]; then\n ( set -x; cargo clean --manifest-path=\"$SCRIPT_INPUT_FILE\" ${OTHER_INPUT_FILE_FLAGS} --target=\"${CARGO_XCODE_TARGET_TRIPLE}\"; );\nelse\n ( set -x; cargo build --manifest-path=\"$SCRIPT_INPUT_FILE\" --features=\"${CARGO_XCODE_FEATURES:-}\" ${OTHER_INPUT_FILE_FLAGS} --target=\"${CARGO_XCODE_TARGET_TRIPLE}\"; );\nfi\n# it\'s too hard to explain Cargo\'s actual exe path to Xcode build graph, so hardlink to a known-good path instead\nBUILT_SRC=\"${CARGO_TARGET_DIR}/${CARGO_XCODE_TARGET_TRIPLE}/${CARGO_XCODE_BUILD_MODE}/${CARGO_XCODE_CARGO_FILE_NAME}\"\nln -f -- \"$BUILT_SRC\" \"$SCRIPT_OUTPUT_FILE_0\"\n\n# xcode generates dep file, but for its own path, so append our rename to it\nDEP_FILE_SRC=\"${CARGO_TARGET_DIR}/${CARGO_XCODE_TARGET_TRIPLE}/${CARGO_XCODE_BUILD_MODE}/${CARGO_XCODE_CARGO_DEP_FILE_NAME}\"\nif [ -f \"$DEP_FILE_SRC\" ]; then\n DEP_FILE_DST=\"${DERIVED_FILE_DIR}/${CARGO_XCODE_TARGET_ARCH}-${EXECUTABLE_NAME}.d\"\n cp -f \"$DEP_FILE_SRC\" \"$DEP_FILE_DST\"\n echo >> \"$DEP_FILE_DST\" \"$SCRIPT_OUTPUT_FILE_0: $BUILT_SRC\"\nfi\n\n# lipo script needs to know all the platform-specific files that have been built\n# archs is in the file name, so that paths don\'t stay around after archs change\n# must match input for LipoScript\nFILE_LIST=\"${DERIVED_FILE_DIR}/${ARCHS}-${EXECUTABLE_NAME}.xcfilelist\"\ntouch \"$FILE_LIST\"\nif ! egrep -q \"$SCRIPT_OUTPUT_FILE_0\" \"$FILE_LIST\" ; then\n echo >> \"$FILE_LIST\" \"$SCRIPT_OUTPUT_FILE_0\"\nfi\n"; - }; + CA6094FFF692AC6C1400ACA8 /* PBXBuildRule */ = { + isa = PBXBuildRule; + compilerSpec = com.apple.compilers.proxy.script; + filePatterns = "*/em_proxy.h"; + fileType = pattern.proxy; + inputFiles = ( + ); + isEditable = 0; + name = "Cargo project build"; + outputFiles = ( + "$(OBJECT_FILE_DIR)/$(CARGO_XCODE_TARGET_ARCH)-$(EXECUTABLE_NAME)", + ); + script = "# generated with cargo-xcode 1.5.0\n# modified to use prebuilt binaries\n\nset -eu;\n\nBUILT_SRC=\"./em_proxy/$LIB_FILE_NAME.a\"\nln -f -- \"$BUILT_SRC\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\" || cp \"$BUILT_SRC\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\necho \"$BUILT_SRC -> $TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n\n# xcode generates dep file, but for its own path, so append our rename to it\n#DEP_FILE_SRC=\"minimuxer/target/${CARGO_XCODE_TARGET_TRIPLE}/release/${CARGO_XCODE_CARGO_DEP_FILE_NAME}\"\n#if [ -f \"$DEP_FILE_SRC\" ]; then\n# DEP_FILE_DST=\"${DERIVED_FILE_DIR}/${CARGO_XCODE_TARGET_ARCH}-${EXECUTABLE_NAME}.d\"\n# cp -f \"$DEP_FILE_SRC\" \"$DEP_FILE_DST\"\n# echo >> \"$DEP_FILE_DST\" \"$SCRIPT_OUTPUT_FILE_0: $BUILT_SRC\"\n#fi\n\n# lipo script needs to know all the platform-specific files that have been built\n# archs is in the file name, so that paths don't stay around after archs change\n# must match input for LipoScript\n#FILE_LIST=\"${DERIVED_FILE_DIR}/${ARCHS}-${EXECUTABLE_NAME}.xcfilelist\"\n#touch \"$FILE_LIST\"\n#if ! egrep -q \"$SCRIPT_OUTPUT_FILE_0\" \"$FILE_LIST\" ; then\n# echo >> \"$FILE_LIST\" \"$SCRIPT_OUTPUT_FILE_0\"\n#fi\n"; + }; /* End PBXBuildRule section */ /* Begin PBXFileReference section */ - - CA60C44C93D7916DE57E6EBD /* staticlib */ = { - isa = PBXFileReference; - explicitFileType = "archive.ar"; - includeInIndex = 0; - name = "libem_proxy_static.a"; - sourceTree = TARGET_BUILD_DIR; - }; - CA60058A9FBE4D17AF51A7D5 /* bin */ = { - isa = PBXFileReference; - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - name = "run"; - sourceTree = TARGET_BUILD_DIR; - }; - CA6094FFF6923EF4668187A5 /* Cargo.toml */ = { - isa = PBXFileReference; - lastKnownFileType = text; - fileEncoding = 4; - name = "Cargo.toml"; - path = "em_proxy/Cargo.toml"; - sourceTree = ""; - }; - /* Rust needs libresolv */ - ADDEDBA66A6E1 = { - isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; - name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; - }; - + 9999259129A45319005CF020 /* em_proxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = em_proxy.h; path = em_proxy/em_proxy.h; sourceTree = ""; }; + ADDEDBA66A6E1 /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; }; + CA60058A9FBE4D17AF51A7D5 /* run */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = run; sourceTree = BUILT_PRODUCTS_DIR; }; + CA60C44C93D7916DE57E6EBD /* libem_proxy_static.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libem_proxy_static.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ - CA6094FFF69298AF0B5890DB /* Frameworks */ = { - isa = PBXGroup; - children = ( - ADDEDBA66A6E2, - - ); - name = Frameworks; - sourceTree = ""; - }; - - - ADDEDBA66A6E2 /* Required for static linking */ = { - isa = PBXGroup; - children = ( - ADDEDBA66A6E1 - ); - name = "Required for static linking"; - sourceTree = ""; - }; - - CA6094FFF69222869D176AE5 /* Products */ = { - isa = PBXGroup; - children = ( - CA60C44C93D7916DE57E6EBD, -CA60058A9FBE4D17AF51A7D5, - - ); - name = Products; - sourceTree = ""; - }; - - CA6094FFF692D65BC3C892A8 /* Main */ = { - isa = PBXGroup; - children = ( - CA6094FFF6923EF4668187A5, -CA6094FFF69222869D176AE5, -CA6094FFF69298AF0B5890DB, - - ); - sourceTree = ""; - }; - + ADDEDBA66A6E2 /* Required for static linking */ = { + isa = PBXGroup; + children = ( + ADDEDBA66A6E1 /* libresolv.tbd */, + ); + name = "Required for static linking"; + sourceTree = ""; + }; + CA6094FFF69222869D176AE5 /* Products */ = { + isa = PBXGroup; + children = ( + CA60C44C93D7916DE57E6EBD /* libem_proxy_static.a */, + CA60058A9FBE4D17AF51A7D5 /* run */, + ); + name = Products; + sourceTree = ""; + }; + CA6094FFF69298AF0B5890DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + ADDEDBA66A6E2 /* Required for static linking */, + ); + name = Frameworks; + sourceTree = ""; + }; + CA6094FFF692D65BC3C892A8 = { + isa = PBXGroup; + children = ( + 9999259129A45319005CF020 /* em_proxy.h */, + CA6094FFF69222869D176AE5 /* Products */, + CA6094FFF69298AF0B5890DB /* Frameworks */, + ); + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - CA60C44C93D7A30E3695DD59 /* em_proxy-staticlib */ = { - isa = PBXNativeTarget; - buildConfigurationList = CA603DD75FB4A30E3695DD59; - buildPhases = ( - CA60445C3036A30E3695DD59 /* Sources */, - CA6094FFF692AF6EBB7F357C /* Universal Binary lipo */, - ); - buildRules = ( - CA6094FFF692AC6C1400ACA8 /* PBXBuildRule */, - ); - dependencies = ( - ); - name = "em_proxy-staticlib"; - productName = "libem_proxy_static.a"; - productReference = CA60C44C93D7916DE57E6EBD; - productType = "com.apple.product-type.library.static"; - }; - CA60058A9FBE37FC563E4BCC /* run-bin */ = { - isa = PBXNativeTarget; - buildConfigurationList = CA603DD75FB437FC563E4BCC; - buildPhases = ( - CA60445C303637FC563E4BCC /* Sources */, - CA6094FFF692AF6EBB7F357C /* Universal Binary lipo */, - ); - buildRules = ( - CA6094FFF692AC6C1400ACA8 /* PBXBuildRule */, - ); - dependencies = ( - ); - name = "run-bin"; - productName = "run"; - productReference = CA60058A9FBE4D17AF51A7D5; - productType = "com.apple.product-type.tool"; - }; - + CA60058A9FBE37FC563E4BCC /* run-bin */ = { + isa = PBXNativeTarget; + buildConfigurationList = CA603DD75FB437FC563E4BCC /* Build configuration list for PBXNativeTarget "run-bin" */; + buildPhases = ( + CA60445C303637FC563E4BCC /* Sources */, + CA6094FFF692AF6EBB7F357C /* Universal Binary lipo */, + ); + buildRules = ( + CA6094FFF692AC6C1400ACA8 /* PBXBuildRule */, + ); + dependencies = ( + ); + name = "run-bin"; + productName = run; + productReference = CA60058A9FBE4D17AF51A7D5 /* run */; + productType = "com.apple.product-type.tool"; + }; + CA60C44C93D7A30E3695DD59 /* em_proxy-staticlib */ = { + isa = PBXNativeTarget; + buildConfigurationList = CA603DD75FB4A30E3695DD59 /* Build configuration list for PBXNativeTarget "em_proxy-staticlib" */; + buildPhases = ( + 9987603529A4610700818586 /* ShellScript */, + CA60445C3036A30E3695DD59 /* Sources */, + CA6094FFF692AF6EBB7F357C /* Universal Binary lipo */, + ); + buildRules = ( + CA6094FFF692AC6C1400ACA8 /* PBXBuildRule */, + ); + dependencies = ( + ); + name = "em_proxy-staticlib"; + productName = libem_proxy_static.a; + productReference = CA60C44C93D7916DE57E6EBD /* libem_proxy_static.a */; + productType = "com.apple.product-type.library.static"; + }; /* End PBXNativeTarget section */ - CA60445C3036A30E3695DD59 = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CA60E4E02AAAA30E3695DD59 - ); - runOnlyForDeploymentPostprocessing = 0; - }; - - CA603DD75FB4A30E3695DD59 /* staticlib */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CA604DFE779BA30E3695DD59 /* Release */, - CA60DE07A83FA30E3695DD59 /* Debug */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CA604DFE779BA30E3695DD59 /* staticlib */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = "em_proxy_static"; - "CARGO_XCODE_CARGO_FILE_NAME" = "libem_proxy.a"; - "CARGO_XCODE_CARGO_DEP_FILE_NAME" = "libem_proxy.d"; - SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; - SKIP_INSTALL = YES; - INSTALL_GROUP = ""; - INSTALL_MODE_FLAG = ""; - INSTALL_OWNER = ""; - - }; - name = Release; - }; - CA60DE07A83FA30E3695DD59 /* staticlib */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = "em_proxy_static"; - "CARGO_XCODE_CARGO_FILE_NAME" = "libem_proxy.a"; - "CARGO_XCODE_CARGO_DEP_FILE_NAME" = "libem_proxy.d"; - SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; - SKIP_INSTALL = YES; - INSTALL_GROUP = ""; - INSTALL_MODE_FLAG = ""; - INSTALL_OWNER = ""; - - }; - name = Debug; - };CA60445C303637FC563E4BCC = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CA60E4E02AAA37FC563E4BCC - ); - runOnlyForDeploymentPostprocessing = 0; - }; - - CA603DD75FB437FC563E4BCC /* bin */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CA604DFE779B37FC563E4BCC /* Release */, - CA60DE07A83F37FC563E4BCC /* Debug */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CA604DFE779B37FC563E4BCC /* bin */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = "run"; - "CARGO_XCODE_CARGO_FILE_NAME" = "run"; - "CARGO_XCODE_CARGO_DEP_FILE_NAME" = "run.d"; - SUPPORTED_PLATFORMS = "macosx"; - - - }; - name = Release; - }; - CA60DE07A83F37FC563E4BCC /* bin */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = "run"; - "CARGO_XCODE_CARGO_FILE_NAME" = "run"; - "CARGO_XCODE_CARGO_DEP_FILE_NAME" = "run.d"; - SUPPORTED_PLATFORMS = "macosx"; - - - }; - name = Debug; - }; +/* Begin PBXProject section */ + CA6094FFF692E04653AD465F /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1300; + TargetAttributes = { + CA60058A9FBE37FC563E4BCC = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + CA60C44C93D7A30E3695DD59 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = CA6094FFF69280E02D6C7F57 /* Build configuration list for PBXProject "em_proxy" */; + compatibilityVersion = "Xcode 11.4"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = CA6094FFF692D65BC3C892A8; + productRefGroup = CA6094FFF69222869D176AE5 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CA60C44C93D7A30E3695DD59 /* em_proxy-staticlib */, + CA60058A9FBE37FC563E4BCC /* run-bin */, + ); + }; +/* End PBXProject section */ - CA6094FFF692AF6EBB7F357C /* LipoScript */ = { - name = "Universal Binary lipo"; - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = (); - inputFileListPaths = (); - inputPaths = ( - "$(DERIVED_FILE_DIR)/$(ARCHS)-$(EXECUTABLE_NAME).xcfilelist", - ); - outputFileListPaths = (); - outputPaths = ( - "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)" - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# generated with cargo-xcode 1.5.0\n\n set -eux; cat \"$DERIVED_FILE_DIR/$ARCHS-$EXECUTABLE_NAME.xcfilelist\" | tr \'\\n\' \'\\0\' | xargs -0 lipo -create -output \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n if [ ${LD_DYLIB_INSTALL_NAME:+1} ]; then\n install_name_tool -id \"$LD_DYLIB_INSTALL_NAME\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n fi\n "; - }; +/* Begin PBXShellScriptBuildPhase section */ + 9987603529A4610700818586 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ./em_proxy/em_proxy.h, + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "bash ./fetch-prebuilt.sh em_proxy\n"; + }; + CA6094FFF692AF6EBB7F357C /* Universal Binary lipo */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "$(DERIVED_FILE_DIR)/$(ARCHS)-$(EXECUTABLE_NAME).xcfilelist", + ); + name = "Universal Binary lipo"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# generated with cargo-xcode 1.5.0\n\n#set -eux; cat \"$DERIVED_FILE_DIR/$ARCHS-$EXECUTABLE_NAME.xcfilelist\" | tr '\\n' '\\0' | xargs -0 lipo -create -output \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n#if [ ${LD_DYLIB_INSTALL_NAME:+1} ]; then\n# install_name_tool -id \"$LD_DYLIB_INSTALL_NAME\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n#fi\n"; + }; +/* End PBXShellScriptBuildPhase section */ - CA6094FFF69280E02D6C7F57 = { - isa = XCConfigurationList; - buildConfigurations = ( - CA609A5173513CC16B37690B /* Release */, - CA609A517351228BE02872F8 /* Debug */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; +/* Begin PBXSourcesBuildPhase section */ + CA60445C303637FC563E4BCC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CA60445C3036A30E3695DD59 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9987603429A4555300818586 /* em_proxy.h in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ - CA609A5173513CC16B37690B = { - isa = XCBuildConfiguration; - buildSettings = { - - ALWAYS_SEARCH_USER_PATHS = NO; - SUPPORTS_MACCATALYST = YES; - CARGO_TARGET_DIR = "$(PROJECT_TEMP_DIR)/cargo_target"; /* for cargo */ - CARGO_XCODE_FEATURES = ""; /* configure yourself */ - "CARGO_XCODE_TARGET_ARCH[arch=arm64*]" = "aarch64"; - "CARGO_XCODE_TARGET_ARCH[arch=x86_64*]" = "x86_64"; /* catalyst adds h suffix */ - "CARGO_XCODE_TARGET_ARCH[arch=i386]" = "i686"; - "CARGO_XCODE_TARGET_OS[sdk=macosx*]" = "darwin"; - "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*]" = "ios-sim"; - "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*][arch=x86_64*]" = "ios"; - "CARGO_XCODE_TARGET_OS[sdk=iphoneos*]" = "ios"; - "CARGO_XCODE_TARGET_OS[sdk=appletvsimulator*]" = "tvos"; - "CARGO_XCODE_TARGET_OS[sdk=appletvos*]" = "tvos"; - PRODUCT_NAME = "em_proxy"; - MARKETING_VERSION = "0.1.0"; - CURRENT_PROJECT_VERSION = "0.1"; - SDKROOT = macosx; - - "CARGO_XCODE_BUILD_MODE" = "release"; /* for xcode scripts */ - }; - name = Release; - }; +/* Begin XCBuildConfiguration section */ + CA604DFE779B37FC563E4BCC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CARGO_XCODE_CARGO_DEP_FILE_NAME = run.d; + CARGO_XCODE_CARGO_FILE_NAME = run; + PRODUCT_NAME = run; + SUPPORTED_PLATFORMS = macosx; + }; + name = Release; + }; + CA604DFE779BA30E3695DD59 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CARGO_XCODE_CARGO_DEP_FILE_NAME = libem_proxy.d; + CARGO_XCODE_CARGO_FILE_NAME = libem_proxy.a; + INSTALL_GROUP = ""; + INSTALL_MODE_FLAG = ""; + INSTALL_OWNER = ""; + LIB_FILE_NAME = ""; + "LIB_FILE_NAME[sdk=iphoneos*]" = libem_proxy; + "LIB_FILE_NAME[sdk=iphonesimulator*]" = "libem_proxy-sim"; + PRODUCT_NAME = em_proxy_static; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; + }; + name = Release; + }; + CA609A517351228BE02872F8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CARGO_TARGET_DIR = "$(PROJECT_TEMP_DIR)/cargo_target"; + CARGO_XCODE_BUILD_MODE = debug; + CARGO_XCODE_FEATURES = ""; + "CARGO_XCODE_TARGET_ARCH[arch=arm64*]" = aarch64; + "CARGO_XCODE_TARGET_ARCH[arch=i386]" = i686; + "CARGO_XCODE_TARGET_ARCH[arch=x86_64*]" = x86_64; + "CARGO_XCODE_TARGET_OS[sdk=appletvos*]" = tvos; + "CARGO_XCODE_TARGET_OS[sdk=appletvsimulator*]" = tvos; + "CARGO_XCODE_TARGET_OS[sdk=iphoneos*]" = ios; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*]" = "ios-sim"; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*][arch=x86_64*]" = ios; + "CARGO_XCODE_TARGET_OS[sdk=macosx*]" = darwin; + CURRENT_PROJECT_VERSION = 0.1; + MARKETING_VERSION = 0.1.0; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = em_proxy; + SDKROOT = macosx; + SUPPORTS_MACCATALYST = YES; + }; + name = Debug; + }; + CA609A5173513CC16B37690B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CARGO_TARGET_DIR = "$(PROJECT_TEMP_DIR)/cargo_target"; + CARGO_XCODE_BUILD_MODE = release; + CARGO_XCODE_FEATURES = ""; + "CARGO_XCODE_TARGET_ARCH[arch=arm64*]" = aarch64; + "CARGO_XCODE_TARGET_ARCH[arch=i386]" = i686; + "CARGO_XCODE_TARGET_ARCH[arch=x86_64*]" = x86_64; + "CARGO_XCODE_TARGET_OS[sdk=appletvos*]" = tvos; + "CARGO_XCODE_TARGET_OS[sdk=appletvsimulator*]" = tvos; + "CARGO_XCODE_TARGET_OS[sdk=iphoneos*]" = ios; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*]" = "ios-sim"; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*][arch=x86_64*]" = ios; + "CARGO_XCODE_TARGET_OS[sdk=macosx*]" = darwin; + CURRENT_PROJECT_VERSION = 0.1; + MARKETING_VERSION = 0.1.0; + PRODUCT_NAME = em_proxy; + SDKROOT = macosx; + SUPPORTS_MACCATALYST = YES; + }; + name = Release; + }; + CA60DE07A83F37FC563E4BCC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CARGO_XCODE_CARGO_DEP_FILE_NAME = run.d; + CARGO_XCODE_CARGO_FILE_NAME = run; + PRODUCT_NAME = run; + SUPPORTED_PLATFORMS = macosx; + }; + name = Debug; + }; + CA60DE07A83FA30E3695DD59 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CARGO_XCODE_CARGO_DEP_FILE_NAME = libem_proxy.d; + CARGO_XCODE_CARGO_FILE_NAME = libem_proxy.a; + INSTALL_GROUP = ""; + INSTALL_MODE_FLAG = ""; + INSTALL_OWNER = ""; + LIB_FILE_NAME = ""; + "LIB_FILE_NAME[sdk=iphoneos*]" = libem_proxy; + "LIB_FILE_NAME[sdk=iphonesimulator*]" = "libem_proxy-sim"; + PRODUCT_NAME = em_proxy_static; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ - CA609A517351228BE02872F8 = { - isa = XCBuildConfiguration; - buildSettings = { - - ALWAYS_SEARCH_USER_PATHS = NO; - SUPPORTS_MACCATALYST = YES; - CARGO_TARGET_DIR = "$(PROJECT_TEMP_DIR)/cargo_target"; /* for cargo */ - CARGO_XCODE_FEATURES = ""; /* configure yourself */ - "CARGO_XCODE_TARGET_ARCH[arch=arm64*]" = "aarch64"; - "CARGO_XCODE_TARGET_ARCH[arch=x86_64*]" = "x86_64"; /* catalyst adds h suffix */ - "CARGO_XCODE_TARGET_ARCH[arch=i386]" = "i686"; - "CARGO_XCODE_TARGET_OS[sdk=macosx*]" = "darwin"; - "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*]" = "ios-sim"; - "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*][arch=x86_64*]" = "ios"; - "CARGO_XCODE_TARGET_OS[sdk=iphoneos*]" = "ios"; - "CARGO_XCODE_TARGET_OS[sdk=appletvsimulator*]" = "tvos"; - "CARGO_XCODE_TARGET_OS[sdk=appletvos*]" = "tvos"; - PRODUCT_NAME = "em_proxy"; - MARKETING_VERSION = "0.1.0"; - CURRENT_PROJECT_VERSION = "0.1"; - SDKROOT = macosx; - - "CARGO_XCODE_BUILD_MODE" = "debug"; /* for xcode scripts */ - ONLY_ACTIVE_ARCH = YES; - }; - name = Debug; - }; - - CA6094FFF692E04653AD465F = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1300; - TargetAttributes = { - CA60C44C93D7A30E3695DD59 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Automatic; - }; - CA60058A9FBE37FC563E4BCC = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Automatic; - }; - }; - }; - buildConfigurationList = CA6094FFF69280E02D6C7F57; - compatibilityVersion = "Xcode 11.4"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = CA6094FFF692D65BC3C892A8; - productRefGroup = CA6094FFF69222869D176AE5 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - CA60C44C93D7A30E3695DD59, -CA60058A9FBE37FC563E4BCC, - - ); - }; - - }; - rootObject = CA6094FFF692E04653AD465F; +/* Begin XCConfigurationList section */ + CA603DD75FB437FC563E4BCC /* Build configuration list for PBXNativeTarget "run-bin" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA604DFE779B37FC563E4BCC /* Release */, + CA60DE07A83F37FC563E4BCC /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CA603DD75FB4A30E3695DD59 /* Build configuration list for PBXNativeTarget "em_proxy-staticlib" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA604DFE779BA30E3695DD59 /* Release */, + CA60DE07A83FA30E3695DD59 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CA6094FFF69280E02D6C7F57 /* Build configuration list for PBXProject "em_proxy" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA609A5173513CC16B37690B /* Release */, + CA609A517351228BE02872F8 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = CA6094FFF692E04653AD465F /* Project object */; } - \ No newline at end of file diff --git a/Dependencies/em_proxy/.gitkeep b/Dependencies/em_proxy/.gitkeep new file mode 100644 index 00000000..d338f61d --- /dev/null +++ b/Dependencies/em_proxy/.gitkeep @@ -0,0 +1 @@ +Use ../fetch-prebuilt.sh to fetch prebuilt Rust dependencies \ No newline at end of file diff --git a/Dependencies/fetch-prebuilt.sh b/Dependencies/fetch-prebuilt.sh new file mode 100644 index 00000000..b4cc34d4 --- /dev/null +++ b/Dependencies/fetch-prebuilt.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +# Ensure we are in Dependencies directory +cd "$(dirname "$0")" + +check_for_update() { + if [ -f ".skip-prebuilt-fetch-$1" ]; then + echo "Skipping prebuilt fetch for $1 since .skip-prebuilt-fetch-$1 exists. If you are developing $1 alongside SideStore, don't remove this file, or this script will replace your locally built binaries with the ones built by GitHub Actions." + return + fi + + if [ ! -f ".last-prebuilt-fetch-$1" ]; then + echo "0,none" > ".last-prebuilt-fetch-$1" + fi + + LAST_FETCH=`cat .last-prebuilt-fetch-$1 | perl -n -e '/([0-9]*),([^ ]*)$/ && print $1'` + LAST_COMMIT=`cat .last-prebuilt-fetch-$1 | perl -n -e '/([0-9]*),([^ ]*)$/ && print $2'` + + # fetch if last fetch was over 6 hours ago + if [[ $LAST_FETCH -lt $(expr $(date +%s) - 21600) ]] || [[ "$2" == "force" ]]; then + echo "Checking $1 for update" + echo + LATEST_COMMIT=`curl https://api.github.com/repos/SideStore/$1/releases/latest | perl -n -e '/Commit: https:\\/\\/github\\.com\\/[^\\/]*\\/[^\\/]*\\/commit\\/([^"]*)/ && print $1'` + echo + echo "Last commit: $LAST_COMMIT" + echo "Latest commit: $LATEST_COMMIT" + if [[ "$LAST_COMMIT" != "$LATEST_COMMIT" ]]; then + echo "Found update, downloading binaries" + echo + wget -O "$1/lib$1.a" "https://github.com/SideStore/$1/releases/latest/download/lib$1.a" + wget -O "$1/lib$1-sim.a" "https://github.com/SideStore/$1/releases/latest/download/lib$1-sim.a" + wget -O "$1/$1.h" "https://github.com/SideStore/$1/releases/latest/download/$1.h" + echo + else + echo "Up-to-date" + fi + echo "$(date +%s),$LATEST_COMMIT" > ".last-prebuilt-fetch-$1" + else + echo "It hasn't been 6 hours and force was not specified, skipping update check for $1" + fi +} + +# Allow for Xcode to check minimuxer and em_proxy separately by skipping the update check if the other one is specified as an argument +if [[ "$1" != "em_proxy" ]]; then + check_for_update minimuxer "$1" + echo +fi +if [[ "$1" != "minimuxer" ]]; then + check_for_update em_proxy "$1" +fi diff --git a/Dependencies/minimuxer.xcodeproj/project.pbxproj b/Dependencies/minimuxer.xcodeproj/project.pbxproj index 0c50e9b9..062d1729 100644 --- a/Dependencies/minimuxer.xcodeproj/project.pbxproj +++ b/Dependencies/minimuxer.xcodeproj/project.pbxproj @@ -1,292 +1,283 @@ // !$*UTF8*$! { - /* generated with cargo-xcode 1.5.0 */ - archiveVersion = 1; - classes = { - }; - objectVersion = 53; - objects = { + archiveVersion = 1; + classes = { + }; + objectVersion = 53; + objects = { + /* Begin PBXBuildFile section */ - - CA6038F2DF2FA560B9642892 /* Cargo.toml in Sources */ = { - isa = PBXBuildFile; - fileRef = CA6012A875F93EF4668187A5 /* Cargo.toml */; - settings = { - COMPILER_FLAGS = "--lib"; /* == OTHER_INPUT_FILE_FLAGS */ - }; - }; - + 9987603329A454B500818586 /* minimuxer.h in Sources */ = {isa = PBXBuildFile; fileRef = 9987603229A454B500818586 /* minimuxer.h */; }; /* End PBXBuildFile section */ /* Begin PBXBuildRule section */ - CA6012A875F9AC6C1400ACA8 /* PBXBuildRule */ = { - isa = PBXBuildRule; - compilerSpec = com.apple.compilers.proxy.script; - dependencyFile = "$(DERIVED_FILE_DIR)/$(CARGO_XCODE_TARGET_ARCH)-$(EXECUTABLE_NAME).d"; - filePatterns = "*/Cargo.toml"; /* must contain asterisk */ - fileType = pattern.proxy; - inputFiles = (); - isEditable = 0; - name = "Cargo project build"; - outputFiles = ( - "$(OBJECT_FILE_DIR)/$(CARGO_XCODE_TARGET_ARCH)-$(EXECUTABLE_NAME)", - ); - script = "# generated with cargo-xcode 1.5.0\n\nset -eu; export PATH=\"$PATH:$HOME/.cargo/bin:/usr/local/bin\";\nif [ \"${IS_MACCATALYST-NO}\" = YES ]; then\n CARGO_XCODE_TARGET_TRIPLE=\"${CARGO_XCODE_TARGET_ARCH}-apple-ios-macabi\"\nelse\n CARGO_XCODE_TARGET_TRIPLE=\"${CARGO_XCODE_TARGET_ARCH}-apple-${CARGO_XCODE_TARGET_OS}\"\nfi\nif [ \"$CARGO_XCODE_TARGET_OS\" != \"darwin\" ]; then\n PATH=\"${PATH/\\/Contents\\/Developer\\/Toolchains\\/XcodeDefault.xctoolchain\\/usr\\/bin:/xcode-provided-ld-cant-link-lSystem-for-the-host-build-script:}\"\nfi\nPATH=\"$PATH:/opt/homebrew/bin\" # Rust projects often depend on extra tools like nasm, which Xcode lacks\nif [ \"$CARGO_XCODE_BUILD_MODE\" == release ]; then\n OTHER_INPUT_FILE_FLAGS=\"${OTHER_INPUT_FILE_FLAGS} --release\"\nfi\nif command -v rustup &> /dev/null; then\n if ! rustup target list --installed | egrep -q \"${CARGO_XCODE_TARGET_TRIPLE}\"; then\n echo \"warning: this build requires rustup toolchain for $CARGO_XCODE_TARGET_TRIPLE, but it isn\'t installed\"\n rustup target add \"${CARGO_XCODE_TARGET_TRIPLE}\" || echo >&2 \"warning: can\'t install $CARGO_XCODE_TARGET_TRIPLE\"\n fi\nfi\nif [ \"$ACTION\" = clean ]; then\n ( set -x; cargo clean --manifest-path=\"$SCRIPT_INPUT_FILE\" ${OTHER_INPUT_FILE_FLAGS} --target=\"${CARGO_XCODE_TARGET_TRIPLE}\"; );\nelse\n ( set -x; cargo build --manifest-path=\"$SCRIPT_INPUT_FILE\" --features=\"${CARGO_XCODE_FEATURES:-}\" ${OTHER_INPUT_FILE_FLAGS} --target=\"${CARGO_XCODE_TARGET_TRIPLE}\"; );\nfi\n# it\'s too hard to explain Cargo\'s actual exe path to Xcode build graph, so hardlink to a known-good path instead\nBUILT_SRC=\"${CARGO_TARGET_DIR}/${CARGO_XCODE_TARGET_TRIPLE}/${CARGO_XCODE_BUILD_MODE}/${CARGO_XCODE_CARGO_FILE_NAME}\"\nln -f -- \"$BUILT_SRC\" \"$SCRIPT_OUTPUT_FILE_0\"\n\n# xcode generates dep file, but for its own path, so append our rename to it\nDEP_FILE_SRC=\"${CARGO_TARGET_DIR}/${CARGO_XCODE_TARGET_TRIPLE}/${CARGO_XCODE_BUILD_MODE}/${CARGO_XCODE_CARGO_DEP_FILE_NAME}\"\nif [ -f \"$DEP_FILE_SRC\" ]; then\n DEP_FILE_DST=\"${DERIVED_FILE_DIR}/${CARGO_XCODE_TARGET_ARCH}-${EXECUTABLE_NAME}.d\"\n cp -f \"$DEP_FILE_SRC\" \"$DEP_FILE_DST\"\n echo >> \"$DEP_FILE_DST\" \"$SCRIPT_OUTPUT_FILE_0: $BUILT_SRC\"\nfi\n\n# lipo script needs to know all the platform-specific files that have been built\n# archs is in the file name, so that paths don\'t stay around after archs change\n# must match input for LipoScript\nFILE_LIST=\"${DERIVED_FILE_DIR}/${ARCHS}-${EXECUTABLE_NAME}.xcfilelist\"\ntouch \"$FILE_LIST\"\nif ! egrep -q \"$SCRIPT_OUTPUT_FILE_0\" \"$FILE_LIST\" ; then\n echo >> \"$FILE_LIST\" \"$SCRIPT_OUTPUT_FILE_0\"\nfi\n"; - }; + CA6012A875F9AC6C1400ACA8 /* PBXBuildRule */ = { + isa = PBXBuildRule; + compilerSpec = com.apple.compilers.proxy.script; + filePatterns = "*/minimuxer.h"; + fileType = pattern.proxy; + inputFiles = ( + ); + isEditable = 0; + name = "Cargo project build"; + outputFiles = ( + "$(OBJECT_FILE_DIR)/$(CARGO_XCODE_TARGET_ARCH)-$(EXECUTABLE_NAME)", + ); + script = "# generated with cargo-xcode 1.5.0\n# modified to use prebuilt binaries\n\nset -eu;\n\nBUILT_SRC=\"./minimuxer/$LIB_FILE_NAME.a\"\nln -f -- \"$BUILT_SRC\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\" || cp \"$BUILT_SRC\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\necho \"$BUILT_SRC -> $TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n\n# xcode generates dep file, but for its own path, so append our rename to it\n#DEP_FILE_SRC=\"minimuxer/target/${CARGO_XCODE_TARGET_TRIPLE}/release/${CARGO_XCODE_CARGO_DEP_FILE_NAME}\"\n#if [ -f \"$DEP_FILE_SRC\" ]; then\n# DEP_FILE_DST=\"${DERIVED_FILE_DIR}/${CARGO_XCODE_TARGET_ARCH}-${EXECUTABLE_NAME}.d\"\n# cp -f \"$DEP_FILE_SRC\" \"$DEP_FILE_DST\"\n# echo >> \"$DEP_FILE_DST\" \"$SCRIPT_OUTPUT_FILE_0: $BUILT_SRC\"\n#fi\n\n# lipo script needs to know all the platform-specific files that have been built\n# archs is in the file name, so that paths don't stay around after archs change\n# must match input for LipoScript\n#FILE_LIST=\"${DERIVED_FILE_DIR}/${ARCHS}-${EXECUTABLE_NAME}.xcfilelist\"\n#touch \"$FILE_LIST\"\n#if ! egrep -q \"$SCRIPT_OUTPUT_FILE_0\" \"$FILE_LIST\" ; then\n# echo >> \"$FILE_LIST\" \"$SCRIPT_OUTPUT_FILE_0\"\n#fi\n"; + }; /* End PBXBuildRule section */ /* Begin PBXFileReference section */ - - CA609C732349C7AAD9FA67C4 /* staticlib */ = { - isa = PBXFileReference; - explicitFileType = "archive.ar"; - includeInIndex = 0; - name = "libminimuxer_static.a"; - sourceTree = TARGET_BUILD_DIR; - }; - CA6012A875F93EF4668187A5 /* Cargo.toml */ = { - isa = PBXFileReference; - lastKnownFileType = text; - fileEncoding = 4; - name = "Cargo.toml"; - path = "minimuxer/Cargo.toml"; - sourceTree = ""; - }; - /* Rust needs libresolv */ - ADDEDBA66A6E1 = { - isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; - name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; - }; - + 9987603229A454B500818586 /* minimuxer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = minimuxer.h; path = minimuxer/minimuxer.h; sourceTree = ""; }; + ADDEDBA66A6E1 /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; }; + CA609C732349C7AAD9FA67C4 /* libminimuxer_static.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libminimuxer_static.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ - CA6012A875F998AF0B5890DB /* Frameworks */ = { - isa = PBXGroup; - children = ( - ADDEDBA66A6E2, - - ); - name = Frameworks; - sourceTree = ""; - }; - - - ADDEDBA66A6E2 /* Required for static linking */ = { - isa = PBXGroup; - children = ( - ADDEDBA66A6E1 - ); - name = "Required for static linking"; - sourceTree = ""; - }; - - CA6012A875F922869D176AE5 /* Products */ = { - isa = PBXGroup; - children = ( - CA609C732349C7AAD9FA67C4, - - ); - name = Products; - sourceTree = ""; - }; - - CA6012A875F9D65BC3C892A8 /* Main */ = { - isa = PBXGroup; - children = ( - CA6012A875F93EF4668187A5, -CA6012A875F922869D176AE5, -CA6012A875F998AF0B5890DB, - - ); - sourceTree = ""; - }; - + ADDEDBA66A6E2 /* Required for static linking */ = { + isa = PBXGroup; + children = ( + ADDEDBA66A6E1 /* libresolv.tbd */, + ); + name = "Required for static linking"; + sourceTree = ""; + }; + CA6012A875F922869D176AE5 /* Products */ = { + isa = PBXGroup; + children = ( + CA609C732349C7AAD9FA67C4 /* libminimuxer_static.a */, + ); + name = Products; + sourceTree = ""; + }; + CA6012A875F998AF0B5890DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + ADDEDBA66A6E2 /* Required for static linking */, + ); + name = Frameworks; + sourceTree = ""; + }; + CA6012A875F9D65BC3C892A8 = { + isa = PBXGroup; + children = ( + 9987603229A454B500818586 /* minimuxer.h */, + CA6012A875F922869D176AE5 /* Products */, + CA6012A875F998AF0B5890DB /* Frameworks */, + ); + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - CA609C732349A560B9642892 /* minimuxer-staticlib */ = { - isa = PBXNativeTarget; - buildConfigurationList = CA600589A243A560B9642892; - buildPhases = ( - CA600F638141A560B9642892 /* Sources */, - CA6012A875F9AF6EBB7F357C /* Universal Binary lipo */, - ); - buildRules = ( - CA6012A875F9AC6C1400ACA8 /* PBXBuildRule */, - ); - dependencies = ( - ); - name = "minimuxer-staticlib"; - productName = "libminimuxer_static.a"; - productReference = CA609C732349C7AAD9FA67C4; - productType = "com.apple.product-type.library.static"; - }; - + CA609C732349A560B9642892 /* minimuxer-staticlib */ = { + isa = PBXNativeTarget; + buildConfigurationList = CA600589A243A560B9642892 /* Build configuration list for PBXNativeTarget "minimuxer-staticlib" */; + buildPhases = ( + 9987603629A4611D00818586 /* ShellScript */, + CA600F638141A560B9642892 /* Sources */, + CA6012A875F9AF6EBB7F357C /* Universal Binary lipo */, + ); + buildRules = ( + CA6012A875F9AC6C1400ACA8 /* PBXBuildRule */, + ); + dependencies = ( + ); + name = "minimuxer-staticlib"; + productName = libminimuxer_static.a; + productReference = CA609C732349C7AAD9FA67C4 /* libminimuxer_static.a */; + productType = "com.apple.product-type.library.static"; + }; /* End PBXNativeTarget section */ - CA600F638141A560B9642892 = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CA6038F2DF2FA560B9642892 - ); - runOnlyForDeploymentPostprocessing = 0; - }; - - CA600589A243A560B9642892 /* staticlib */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CA602DE9FCEDA560B9642892 /* Release */, - CA6008D36272A560B9642892 /* Debug */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CA602DE9FCEDA560B9642892 /* staticlib */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = "minimuxer_static"; - "CARGO_XCODE_CARGO_FILE_NAME" = "libminimuxer.a"; - "CARGO_XCODE_CARGO_DEP_FILE_NAME" = "libminimuxer.d"; - SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; - SKIP_INSTALL = YES; - INSTALL_GROUP = ""; - INSTALL_MODE_FLAG = ""; - INSTALL_OWNER = ""; - - }; - name = Release; - }; - CA6008D36272A560B9642892 /* staticlib */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = "minimuxer_static"; - "CARGO_XCODE_CARGO_FILE_NAME" = "libminimuxer.a"; - "CARGO_XCODE_CARGO_DEP_FILE_NAME" = "libminimuxer.d"; - SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; - SKIP_INSTALL = YES; - INSTALL_GROUP = ""; - INSTALL_MODE_FLAG = ""; - INSTALL_OWNER = ""; - - }; - name = Debug; - }; +/* Begin PBXProject section */ + CA6012A875F9E04653AD465F /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1300; + TargetAttributes = { + CA609C732349A560B9642892 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = CA6012A875F980E02D6C7F57 /* Build configuration list for PBXProject "minimuxer" */; + compatibilityVersion = "Xcode 11.4"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = CA6012A875F9D65BC3C892A8; + productRefGroup = CA6012A875F922869D176AE5 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CA609C732349A560B9642892 /* minimuxer-staticlib */, + ); + }; +/* End PBXProject section */ - CA6012A875F9AF6EBB7F357C /* LipoScript */ = { - name = "Universal Binary lipo"; - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = (); - inputFileListPaths = (); - inputPaths = ( - "$(DERIVED_FILE_DIR)/$(ARCHS)-$(EXECUTABLE_NAME).xcfilelist", - ); - outputFileListPaths = (); - outputPaths = ( - "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)" - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# generated with cargo-xcode 1.5.0\n\n set -eux; cat \"$DERIVED_FILE_DIR/$ARCHS-$EXECUTABLE_NAME.xcfilelist\" | tr \'\\n\' \'\\0\' | xargs -0 lipo -create -output \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n if [ ${LD_DYLIB_INSTALL_NAME:+1} ]; then\n install_name_tool -id \"$LD_DYLIB_INSTALL_NAME\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n fi\n "; - }; +/* Begin PBXShellScriptBuildPhase section */ + 9987603629A4611D00818586 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ./minimuxer/minimuxer.h, + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "bash ./fetch-prebuilt.sh minimuxer\n"; + }; + CA6012A875F9AF6EBB7F357C /* Universal Binary lipo */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "$(DERIVED_FILE_DIR)/$(ARCHS)-$(EXECUTABLE_NAME).xcfilelist", + ); + name = "Universal Binary lipo"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# generated with cargo-xcode 1.5.0\n\n#set -eux; cat \"$DERIVED_FILE_DIR/$ARCHS-$EXECUTABLE_NAME.xcfilelist\" | tr '\\n' '\\0' | xargs -0 lipo -create -output \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n#if [ ${LD_DYLIB_INSTALL_NAME:+1} ]; then\n# install_name_tool -id \"$LD_DYLIB_INSTALL_NAME\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n#fi\n"; + }; +/* End PBXShellScriptBuildPhase section */ - CA6012A875F980E02D6C7F57 = { - isa = XCConfigurationList; - buildConfigurations = ( - CA60A20F8EA63CC16B37690B /* Release */, - CA60A20F8EA6228BE02872F8 /* Debug */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; +/* Begin PBXSourcesBuildPhase section */ + CA600F638141A560B9642892 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9987603329A454B500818586 /* minimuxer.h in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ - CA60A20F8EA63CC16B37690B = { - isa = XCBuildConfiguration; - buildSettings = { - - ALWAYS_SEARCH_USER_PATHS = NO; - SUPPORTS_MACCATALYST = YES; - CARGO_TARGET_DIR = "$(PROJECT_TEMP_DIR)/cargo_target"; /* for cargo */ - CARGO_XCODE_FEATURES = ""; /* configure yourself */ - "CARGO_XCODE_TARGET_ARCH[arch=arm64*]" = "aarch64"; - "CARGO_XCODE_TARGET_ARCH[arch=x86_64*]" = "x86_64"; /* catalyst adds h suffix */ - "CARGO_XCODE_TARGET_ARCH[arch=i386]" = "i686"; - "CARGO_XCODE_TARGET_OS[sdk=macosx*]" = "darwin"; - "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*]" = "ios-sim"; - "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*][arch=x86_64*]" = "ios"; - "CARGO_XCODE_TARGET_OS[sdk=iphoneos*]" = "ios"; - "CARGO_XCODE_TARGET_OS[sdk=appletvsimulator*]" = "tvos"; - "CARGO_XCODE_TARGET_OS[sdk=appletvos*]" = "tvos"; - PRODUCT_NAME = "minimuxer"; - MARKETING_VERSION = "0.1.0"; - CURRENT_PROJECT_VERSION = "0.1"; - SDKROOT = macosx; - - "CARGO_XCODE_BUILD_MODE" = "release"; /* for xcode scripts */ - }; - name = Release; - }; +/* Begin XCBuildConfiguration section */ + CA6008D36272A560B9642892 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CARGO_XCODE_CARGO_DEP_FILE_NAME = libminimuxer.d; + CARGO_XCODE_CARGO_FILE_NAME = libminimuxer.a; + INSTALL_GROUP = ""; + INSTALL_MODE_FLAG = ""; + INSTALL_OWNER = ""; + LIB_FILE_NAME = ""; + "LIB_FILE_NAME[sdk=iphoneos*]" = libminimuxer; + "LIB_FILE_NAME[sdk=iphonesimulator*]" = "libminimuxer-sim"; + PRODUCT_NAME = minimuxer_static; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; + }; + name = Debug; + }; + CA602DE9FCEDA560B9642892 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CARGO_XCODE_CARGO_DEP_FILE_NAME = libminimuxer.d; + CARGO_XCODE_CARGO_FILE_NAME = libminimuxer.a; + INSTALL_GROUP = ""; + INSTALL_MODE_FLAG = ""; + INSTALL_OWNER = ""; + LIB_FILE_NAME = ""; + "LIB_FILE_NAME[sdk=iphoneos*]" = libminimuxer; + "LIB_FILE_NAME[sdk=iphonesimulator*]" = "libminimuxer-sim"; + PRODUCT_NAME = minimuxer_static; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; + }; + name = Release; + }; + CA60A20F8EA6228BE02872F8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CARGO_TARGET_DIR = "$(PROJECT_TEMP_DIR)/cargo_target"; + CARGO_XCODE_BUILD_MODE = debug; + CARGO_XCODE_FEATURES = ""; + "CARGO_XCODE_TARGET_ARCH[arch=arm64*]" = aarch64; + "CARGO_XCODE_TARGET_ARCH[arch=i386]" = i686; + "CARGO_XCODE_TARGET_ARCH[arch=x86_64*]" = x86_64; + "CARGO_XCODE_TARGET_OS[sdk=appletvos*]" = tvos; + "CARGO_XCODE_TARGET_OS[sdk=appletvsimulator*]" = tvos; + "CARGO_XCODE_TARGET_OS[sdk=iphoneos*]" = ios; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*]" = "ios-sim"; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*][arch=x86_64*]" = ios; + "CARGO_XCODE_TARGET_OS[sdk=macosx*]" = darwin; + CURRENT_PROJECT_VERSION = 0.1; + MARKETING_VERSION = 0.1.0; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = minimuxer; + SDKROOT = macosx; + SUPPORTS_MACCATALYST = YES; + }; + name = Debug; + }; + CA60A20F8EA63CC16B37690B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CARGO_TARGET_DIR = "$(PROJECT_TEMP_DIR)/cargo_target"; + CARGO_XCODE_BUILD_MODE = release; + CARGO_XCODE_FEATURES = ""; + "CARGO_XCODE_TARGET_ARCH[arch=arm64*]" = aarch64; + "CARGO_XCODE_TARGET_ARCH[arch=i386]" = i686; + "CARGO_XCODE_TARGET_ARCH[arch=x86_64*]" = x86_64; + "CARGO_XCODE_TARGET_OS[sdk=appletvos*]" = tvos; + "CARGO_XCODE_TARGET_OS[sdk=appletvsimulator*]" = tvos; + "CARGO_XCODE_TARGET_OS[sdk=iphoneos*]" = ios; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*]" = "ios-sim"; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*][arch=x86_64*]" = ios; + "CARGO_XCODE_TARGET_OS[sdk=macosx*]" = darwin; + CURRENT_PROJECT_VERSION = 0.1; + MARKETING_VERSION = 0.1.0; + PRODUCT_NAME = minimuxer; + SDKROOT = macosx; + SUPPORTS_MACCATALYST = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ - CA60A20F8EA6228BE02872F8 = { - isa = XCBuildConfiguration; - buildSettings = { - - ALWAYS_SEARCH_USER_PATHS = NO; - SUPPORTS_MACCATALYST = YES; - CARGO_TARGET_DIR = "$(PROJECT_TEMP_DIR)/cargo_target"; /* for cargo */ - CARGO_XCODE_FEATURES = ""; /* configure yourself */ - "CARGO_XCODE_TARGET_ARCH[arch=arm64*]" = "aarch64"; - "CARGO_XCODE_TARGET_ARCH[arch=x86_64*]" = "x86_64"; /* catalyst adds h suffix */ - "CARGO_XCODE_TARGET_ARCH[arch=i386]" = "i686"; - "CARGO_XCODE_TARGET_OS[sdk=macosx*]" = "darwin"; - "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*]" = "ios-sim"; - "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*][arch=x86_64*]" = "ios"; - "CARGO_XCODE_TARGET_OS[sdk=iphoneos*]" = "ios"; - "CARGO_XCODE_TARGET_OS[sdk=appletvsimulator*]" = "tvos"; - "CARGO_XCODE_TARGET_OS[sdk=appletvos*]" = "tvos"; - PRODUCT_NAME = "minimuxer"; - MARKETING_VERSION = "0.1.0"; - CURRENT_PROJECT_VERSION = "0.1"; - SDKROOT = macosx; - - "CARGO_XCODE_BUILD_MODE" = "debug"; /* for xcode scripts */ - ONLY_ACTIVE_ARCH = YES; - }; - name = Debug; - }; - - CA6012A875F9E04653AD465F = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1300; - TargetAttributes = { - CA609C732349A560B9642892 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Automatic; - }; - }; - }; - buildConfigurationList = CA6012A875F980E02D6C7F57; - compatibilityVersion = "Xcode 11.4"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = CA6012A875F9D65BC3C892A8; - productRefGroup = CA6012A875F922869D176AE5 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - CA609C732349A560B9642892, - - ); - }; - - }; - rootObject = CA6012A875F9E04653AD465F; +/* Begin XCConfigurationList section */ + CA600589A243A560B9642892 /* Build configuration list for PBXNativeTarget "minimuxer-staticlib" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA602DE9FCEDA560B9642892 /* Release */, + CA6008D36272A560B9642892 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CA6012A875F980E02D6C7F57 /* Build configuration list for PBXProject "minimuxer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA60A20F8EA63CC16B37690B /* Release */, + CA60A20F8EA6228BE02872F8 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = CA6012A875F9E04653AD465F /* Project object */; } - \ No newline at end of file diff --git a/Dependencies/minimuxer/.gitkeep b/Dependencies/minimuxer/.gitkeep new file mode 100644 index 00000000..d338f61d --- /dev/null +++ b/Dependencies/minimuxer/.gitkeep @@ -0,0 +1 @@ +Use ../fetch-prebuilt.sh to fetch prebuilt Rust dependencies \ No newline at end of file diff --git a/Dependencies/update.sh b/Dependencies/update.sh deleted file mode 100755 index bdcea4c2..00000000 --- a/Dependencies/update.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash -set -e; set -o pipefail; set -x; - -echo "Building Rust projects..." -cd em_proxy -cargo xcode --output-dir ../ -cd ../ -cd minimuxer -cargo xcode --output-dir ../ -echo "Done!" diff --git a/EmotionalDamage/em_proxy.h b/EmotionalDamage/em_proxy.h deleted file mode 100644 index fd09f4fa..00000000 --- a/EmotionalDamage/em_proxy.h +++ /dev/null @@ -1,40 +0,0 @@ -// Jackson Coxson - -#include -#include -#include -#include -#include - - -/** - * Starts your emotional damage - * # Arguments - * * `bind_addr` - The UDP socket to listen to - * # Returns - * A handle to stop further emotional damage. - * Null on failure - * # Safety - * Don't be stupid - */ -int start_emotional_damage(const char *bind_addr); - -/** - * Stops further emotional damage - * # Arguments - * * `handle` - The coping mechanism generated by start_emotional_damage - * # Returns - * The knowledge of knowing that you couldn't handle failure - * # Safety - * Don't be stupid - */ -void stop_emotional_damage(void); - -/** - * Blocks until Wireguard is ready - * # Arguments - * * `timeout` - The timeout in miliseconds to wait for Wireguard - * # Returns - * 0 on success, -1 on failure - */ -int test_emotional_damage(int timeout); diff --git a/minimuxer/minimuxer.h b/minimuxer/minimuxer.h deleted file mode 100644 index 0abc5419..00000000 --- a/minimuxer/minimuxer.h +++ /dev/null @@ -1,76 +0,0 @@ -// Jackson Coxson - -#include -#include -#include -#include -#include - - -/** - * Mount iOS's developer DMG - * # Safety - * Don't be stupid - */ -void minimuxer_auto_mount(char *docs_path); - -/** - * Starts the muxer and heartbeat client - * # Arguments - * Pairing file as a list of chars and the length - * # Safety - * Don't be stupid - */ -int minimuxer_c_start(char *pairing_file, char *log_path); - -/** - * Debugs an app from an app ID - * # Safety - * Don't be stupid - */ -int minimuxer_debug_app(char *app_id); - -/** - * Installs an ipa with a bundle ID - * Expects the ipa to be in the afc jail from yeet_app_afc - * # Safety - * Don't be stupid - */ -int minimuxer_install_ipa(char *bundle_id); - -/** - * Installs a provisioning profile on the device - * # Arguments - * Pass a pointer to a plist - * # Returns - * 0 on success - * # Safety - * Don't be stupid - */ -int minimuxer_install_provisioning_profile(uint8_t *pointer, unsigned int len); - -/** - * Removes an app from the device - * # Safety - * Don't be stupid - */ -int minimuxer_remove_app(char *bundle_id); - -/** - * Removes a provisioning profile - * # Safety - * Don't be stupid - */ -int minimuxer_remove_provisioning_profile(char *id); - -/** - * Yeets an ipa to the afc jail - * # Safety - * Don't be stupid - */ -int minimuxer_yeet_app_afc(char *bundle_id, uint8_t *bytes_ptr, unsigned long bytes_len); - -/** - * Sets the current environment variable for libusbmuxd to localhost - */ -void target_minimuxer_address(void);