Loading...
// settings shared by all projects // language versions GCC_C_LANGUAGE_STANDARD = c2x CLANG_CXX_LANGUAGE_STANDARD = c++20 SWIFT_VERSION = 5.0 // clang warnings CLANG_WARN_EMPTY_BODY = YES GCC_INLINES_ARE_PRIVATE_EXTERN = YES GCC_WARN_SHADOW = YES GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES GCC_ENABLE_CPP_EXCEPTIONS = NO GCC_ENABLE_CPP_RTTI = NO GCC_WARN_MISSING_PARENTHESES = YES GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES GCC_WARN_UNINITIALIZED_AUTOS = YES ENABLE_ATP_WERROR_9999099099000000 = -Werror // Hack to enable -Werror in ATP WARNING_CFLAGS = $(ENABLE_ATP_WERROR_$(RC_ProjectCanonicalSourceVersion)) -Wmost -Wimplicit-fallthrough -Wno-unknown-pragmas -Wno-assume -Wformat-nonliteral -Wno-vla-extension -Wundef-prefix=SUPPORT_ -Wundef-prefix=TARGET_OS_ -Wno-unused-but-set-variable // #ifndef __OPEN_SOURCE__ OTHER_CFLAGS[arch=arm64e] = -Xclang -target-feature -Xclang +mte $(inherited) // #endif // clang optimization level GCC_OPTIMIZATION_LEVEL[config=Debug] = 0 GCC_OPTIMIZATION_LEVEL[config=Release] = s SWIFT_OPTIMIZATION_LEVEL[config=Debug] = -Onone SWIFT_OPTIMIZATION_LEVEL[config=Release] = -O SWIFT_COMPILATION_MODE[config=Release] = wholemodule // clang search paths USER_HEADER_SEARCH_PATHS = ./dyld ./common ./mach_o SYSTEM_HEADER_SEARCH_PATHS = ./include $(inherited) ALWAYS_SEARCH_USER_PATHS = NO // linker options DEAD_CODE_STRIPPING = YES CURRENT_PROJECT_VERSION = $(RC_ProjectSourceVersion) DYLIB_COMPATIBILITY_VERSION = DYLIB_CURRENT_VERSION = VERSIONING_SYSTEM = apple-generic // Debug builds leave debug info in .o files, Release builds use .dSYM and strip debug map from DSTROOT DEBUG_INFORMATION_FORMAT_Release = dwarf-with-dsym DEBUG_INFORMATION_FORMAT_Debug = dwarf DEBUG_INFORMATION_FORMAT = $(DEBUG_INFORMATION_FORMAT_$(CONFIGURATION)) COPY_PHASE_STRIP_Release = YES COPY_PHASE_STRIP_Debug = NO COPY_PHASE_STRIP = $(COPY_PHASE_STRIP_$(CONFIGURATION)) STRIP_INSTALLED_PRODUCT_Release = YES STRIP_INSTALLED_PRODUCT_Debug = NO STRIP_INSTALLED_PRODUCT = $(STRIP_INSTALLED_PRODUCT_$(CONFIGURATION)) STRIPFLAGS = -S // #ifndef __OPEN_SOURCE__ // Xcode provides an undocumented way for a user to add a personal xcconfig for all builds, which is used in Xcode development itself: // defaults write com.apple.dt.Xcode OverridingXCConfigPath /path/to/Overrides.xcconfig // // We can use that to add the necessary configs to setup AMFITrustedKeys. The simple thing to do would be to globally override CODE_SIGN_IDENTITY, // but then it would not be possible to anything without using that signature. Instead can limit the custom signing operations to just dyld // by defining a new variable DYLD_USE_AMFI_TRUSTED_KEYS which can be set in the override. This xcconfig then derives CODE_SIGN_IDENTITY from // DYLD_USE_AMFI_TRUSTED_KEYS, limiting the effect to just dyld. // // In order to make this work you need to: // 1. Configure AMFI trusted keys: https://confluence.sd.apple.com/display/TrustedExecution/How+To%3A+Use+AMFI+Trusted+Keys+for+Code+Signing // 2. Create an ovveride xcconfig and add the line: "DYLD_USE_AMFI_TRUSTED_KEYS = YES" to it // 3. Set the default to use the override: defaults write com.apple.dt.Xcode OverridingXCConfigPath /path/to/Overrides.xcconfig // // You will need to restart Xcode for the default to take effect, or device for the AMFI key to take effect // // AMFITrustedKeys existence is exposed through a number of other open source projects, but OverridingXCConfigPath is not publicly defined anywher, so // this comment needs to be excluded, but the actually variables set below are fine to publish. // #endif DYLD_SIGNING_IDENTITY_ = - DYLD_SIGNING_IDENTITY_NO = - DYLD_SIGNING_IDENTITY_YES[sdk=macos*] = Apple Engineer: DYLD_SIGNING_IDENTITY_YES[sdk=*] = - TRUSTED_CODE_SIGN_IDENTITY = $(DYLD_SIGNING_IDENTITY_$(DYLD_USE_AMFI_TRUSTED_KEYS)) CODE_SIGN_IDENTITY = - CODE_SIGN_STYLE = Automatic SDKROOT = macosx.internal DEBUG_INFORMATION_FORMAT[config=Debug] = dwarf DEBUG_INFORMATION_FORMAT[config=Release] = dwarf-with-dsym GCC_PREPROCESSOR_DEFINITIONS[config=Debug] = DEBUG=1 $(inherited) SWIFT_ACTIVE_COMPILATION_CONDITIONS[config=Debug] = DEBUG $(inherited) CLANG_CXX_STANDARD_LIBRARY_HARDENING = none PRODUCT_NAME = $(TARGET_NAME) SUPPORTED_PLATFORMS = $(AVAILABLE_PLATFORMS) |