From dc676d04d8dfa9e8a177a292d5791ab1d5feb629 Mon Sep 17 00:00:00 2001 From: Joseph Mattello Date: Fri, 30 Dec 2022 13:21:57 -0500 Subject: [PATCH] Add rust depends to xcode build Signed-off-by: Joseph Mattello cargo script for action fixes path Signed-off-by: Joseph Mattello cargo.sh More robust env for xcode cli Signed-off-by: Joseph Mattello rust: add xcode projs made with cargo-xcode Signed-off-by: Joseph Mattello --- AltStore.xcodeproj/project.pbxproj | 79 +++- .../em_proxy.xcodeproj/project.pbxproj | 371 ++++++++++++++++++ .../minimuxer.xcodeproj/project.pbxproj | 292 ++++++++++++++ 3 files changed, 738 insertions(+), 4 deletions(-) create mode 100644 Dependencies/em_proxy.xcodeproj/project.pbxproj create mode 100644 Dependencies/minimuxer.xcodeproj/project.pbxproj diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index ce5142ad..4b541ead 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -10,11 +10,9 @@ 03F06CD52942C27E001C4D68 /* Bundle+AltStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1E314122A05D4C00370A3C /* Bundle+AltStore.swift */; }; 19104D952909BAEA00C49C7B /* libimobiledevice.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BF45872B2298D31600BD7491 /* libimobiledevice.a */; }; 19104DB52909C06D00C49C7B /* EmotionalDamage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19104DB42909C06D00C49C7B /* EmotionalDamage.swift */; }; - 19104DBB2909C11700C49C7B /* libem_proxy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19104DA32909BC1000C49C7B /* libem_proxy.a */; }; 19104DBC2909C4E500C49C7B /* libEmotionalDamage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19104DB22909C06C00C49C7B /* libEmotionalDamage.a */; }; 191E5FAE290A5D92001A3B7C /* minimuxer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 191E5FAD290A5D92001A3B7C /* minimuxer.swift */; }; 191E5FB4290A5DA0001A3B7C /* libminimuxer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 191E5FAB290A5D92001A3B7C /* libminimuxer.a */; }; - 191E5FB6290A5E1F001A3B7C /* libminimuxer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 191E5FB5290A5E1F001A3B7C /* libminimuxer.a */; }; 191E5FDC290AFA5C001A3B7C /* OpenSSL in Frameworks */ = {isa = PBXBuildFile; productRef = 191E5FDB290AFA5C001A3B7C /* OpenSSL */; }; 191E6066290B2DB1001A3B7C /* cbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E605E290B2D6B001A3B7C /* cbuf.c */; }; 191E6067290B2DB3001A3B7C /* collection.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E6060290B2D6B001A3B7C /* collection.c */; }; @@ -36,6 +34,8 @@ 4879A9622861049C00FC1BBD /* OpenSSL in Frameworks */ = {isa = PBXBuildFile; productRef = 4879A9612861049C00FC1BBD /* OpenSSL */; }; B3146ED2284F581E00BBC3FD /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3146ECD284F580500BBC3FD /* Roxas.framework */; }; B3146ED3284F581E00BBC3FD /* Roxas.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3146ECD284F580500BBC3FD /* Roxas.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B343F858295F6331002B1159 /* libminimuxer_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F84C295F6321002B1159 /* libminimuxer_static.a */; }; + B343F859295F6335002B1159 /* libem_proxy_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F853295F6323002B1159 /* libem_proxy_static.a */; }; B376FE3E29258C8900E18883 /* OSLog+SideStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */; }; B3919A52292DBE5400519575 /* ProgressRing.swift in Sources */ = {isa = PBXBuildFile; fileRef = D504F42528AD72C50014BB5D /* ProgressRing.swift */; }; B39575F5284F29E20080B4FF /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B39575F4284F29E20080B4FF /* Roxas.framework */; }; @@ -383,6 +383,27 @@ remoteGlobalIDString = BFADB00319AE7BB80050CF31; remoteInfo = RoxasTests; }; + B343F84B295F6321002B1159 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B343F847295F6321002B1159 /* minimuxer.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = CA609C732349C7AAD9FA67C4; + remoteInfo = "minimuxer-staticlib"; + }; + B343F852295F6323002B1159 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B343F84D295F6323002B1159 /* em_proxy.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = CA60C44C93D7916DE57E6EBD; + remoteInfo = "em_proxy-staticlib"; + }; + B343F854295F6323002B1159 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B343F84D295F6323002B1159 /* em_proxy.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = CA60058A9FBE4D17AF51A7D5; + remoteInfo = "run-bin"; + }; BF66EE832501AE50007EE018 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFD247622284B9A500981D42 /* Project object */; @@ -459,6 +480,8 @@ 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 = ""; }; + B343F847295F6321002B1159 /* minimuxer.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = minimuxer.xcodeproj; path = Dependencies/minimuxer.xcodeproj; sourceTree = SOURCE_ROOT; }; + B343F84D295F6323002B1159 /* em_proxy.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = em_proxy.xcodeproj; path = Dependencies/em_proxy.xcodeproj; sourceTree = SOURCE_ROOT; }; B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OSLog+SideStore.swift"; sourceTree = ""; }; B39575F4284F29E20080B4FF /* Roxas.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Roxas.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B39F16122918D7C5002E9404 /* Consts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Consts.swift; sourceTree = ""; }; @@ -788,7 +811,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 19104DBB2909C11700C49C7B /* libem_proxy.a in Frameworks */, + B343F859295F6335002B1159 /* libem_proxy_static.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -796,7 +819,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 191E5FB6290A5E1F001A3B7C /* libminimuxer.a in Frameworks */, + B343F858295F6331002B1159 /* libminimuxer_static.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -868,6 +891,7 @@ 19104DB32909C06D00C49C7B /* EmotionalDamage */ = { isa = PBXGroup; children = ( + B343F84D295F6323002B1159 /* em_proxy.xcodeproj */, 19104DA92909BC7100C49C7B /* em_proxy.h */, 19104DB42909C06D00C49C7B /* EmotionalDamage.swift */, ); @@ -877,6 +901,7 @@ 191E5FAC290A5D92001A3B7C /* minimuxer */ = { isa = PBXGroup; children = ( + B343F847295F6321002B1159 /* minimuxer.xcodeproj */, 191E5FD7290A6EFB001A3B7C /* minimuxer.h */, 191E5FAD290A5D92001A3B7C /* minimuxer.swift */, ); @@ -909,6 +934,23 @@ name = Products; sourceTree = ""; }; + B343F848295F6321002B1159 /* Products */ = { + isa = PBXGroup; + children = ( + B343F84C295F6321002B1159 /* libminimuxer_static.a */, + ); + name = Products; + sourceTree = ""; + }; + B343F84E295F6323002B1159 /* Products */ = { + isa = PBXGroup; + children = ( + B343F853295F6323002B1159 /* libem_proxy_static.a */, + B343F855295F6323002B1159 /* run */, + ); + name = Products; + sourceTree = ""; + }; B39F16112918D7B5002E9404 /* Consts */ = { isa = PBXGroup; children = ( @@ -1951,6 +1993,14 @@ productRefGroup = BFD2476B2284B9A500981D42 /* Products */; projectDirPath = ""; projectReferences = ( + { + ProductGroup = B343F84E295F6323002B1159 /* Products */; + ProjectRef = B343F84D295F6323002B1159 /* em_proxy.xcodeproj */; + }, + { + ProductGroup = B343F848295F6321002B1159 /* Products */; + ProjectRef = B343F847295F6321002B1159 /* minimuxer.xcodeproj */; + }, { ProductGroup = B3146EC7284F580500BBC3FD /* Products */; ProjectRef = B3146EC6284F580500BBC3FD /* Roxas.xcodeproj */; @@ -1992,6 +2042,27 @@ remoteRef = B3146ED0284F580500BBC3FD /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + B343F84C295F6321002B1159 /* libminimuxer_static.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libminimuxer_static.a; + remoteRef = B343F84B295F6321002B1159 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + B343F853295F6323002B1159 /* libem_proxy_static.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libem_proxy_static.a; + remoteRef = B343F852295F6323002B1159 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + B343F855295F6323002B1159 /* run */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = run; + remoteRef = B343F854295F6323002B1159 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ diff --git a/Dependencies/em_proxy.xcodeproj/project.pbxproj b/Dependencies/em_proxy.xcodeproj/project.pbxproj new file mode 100644 index 00000000..5e48e128 --- /dev/null +++ b/Dependencies/em_proxy.xcodeproj/project.pbxproj @@ -0,0 +1,371 @@ +// !$*UTF8*$! +{ + /* generated with cargo-xcode 1.5.0 */ + 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 */ + }; + }; + +/* 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"; + }; +/* 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 = "/Users/jmattiello/Workspace/Provenance/SideStore/Dependencies/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; + }; + +/* 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 = ""; + }; + +/* 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"; + }; + +/* 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; + }; + + 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 "; + }; + + CA6094FFF69280E02D6C7F57 = { + isa = XCConfigurationList; + buildConfigurations = ( + CA609A5173513CC16B37690B /* Release */, + CA609A517351228BE02872F8 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + + 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; + }; + + 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; +} + \ No newline at end of file diff --git a/Dependencies/minimuxer.xcodeproj/project.pbxproj b/Dependencies/minimuxer.xcodeproj/project.pbxproj new file mode 100644 index 00000000..a12d8552 --- /dev/null +++ b/Dependencies/minimuxer.xcodeproj/project.pbxproj @@ -0,0 +1,292 @@ +// !$*UTF8*$! +{ + /* generated with cargo-xcode 1.5.0 */ + 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 */ + }; + }; + +/* 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"; + }; +/* 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 = "/Users/jmattiello/Workspace/Provenance/SideStore/Dependencies/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; + }; + +/* 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 = ""; + }; + +/* 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"; + }; + +/* 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; + }; + + 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 "; + }; + + CA6012A875F980E02D6C7F57 = { + isa = XCConfigurationList; + buildConfigurations = ( + CA60A20F8EA63CC16B37690B /* Release */, + CA60A20F8EA6228BE02872F8 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + + 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; + }; + + 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; +} + \ No newline at end of file