1 #include "<DEVELOPER_DIR>/Makefiles/CoreOS/Xcode/BSD.xcconfig"
2 #include "<DEVELOPER_DIR>/AppleInternal/XcodeConfig/PlatformSupport.xcconfig"
4 XPC_BUILD_FILES_DIR = $(PROJECT_DIR)/xcfiles
5 XPC_BUILD_XCSCRIPTS_DIR = $(PROJECT_DIR)/xcscripts
6 XPC_BUILD_XCCONFIG_DIR = $(PROJECT_DIR)/xcconfig
8 XPC_BUILD_HEADER_SEARCH_PATHS = $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders $(PROJECT_DIR)/src $(PROJECT_DIR)/interface $(PROJECT_DIR)/launch $(PROJECT_DIR)/support $(PROJECT_DIR)/development $(PROJECT_DIR)
11 XPC_ALL_THE_DEBUGS2_yes = -O0 -g -fno-inline -fno-limit-debug-info
13 XPC_COMPATIBILITY_DEFINES_currentmajor = -DHAVE_KDEBUG_TRACE=1 -DCONFIG_EMULATE_XNU_INITPROC_SELECTION=0 -DHAVE_GALARCH_AVAILABILITY=1
14 XPC_COMPATIBILITY_DEFINES_lastmajor = -DHAVE_KDEBUG_TRACE=0 -DCONFIG_EMULATE_XNU_INITPROC_SELECTION=1 -DHAVE_GALARCH_AVAILABILITY=0
15 XPC_BUILD_HOST = currentmajor
17 XPC_BUILD_EXPORT_DEFAULTS = -DXPC_PROJECT_EXPORT=XPC_EXPORT -DXPC_DEBUGEXPORT=XPC_NOEXPORT -DXPC_TESTEXPORT=XPC_NOEXPORT
18 XPC_BUILD_OTHER_CFLAGS = $(XPC_ALL_THE_DEBUGS2_$(XPC_ALL_THE_DEBUGS)) $(XPC_COMPATIBILITY_DEFINES_$(XPC_BUILD_HOST)) -D__XPC_PROJECT_BUILD__=1
20 XPC_CRASHREPORTCLIENT_LDFLAGS = -lCrashReporterClient
27 ARCHS = $(ARCHS_STANDARD)
29 GCC_C_LANGUAGE_STANDARD = gnu99
30 GCC_WARN_ABOUT_RETURN_TYPE = YES
31 GCC_WARN_UNUSED_FUNCTION = YES
32 GCC_WARN_UNUSED_VARIABLE = YES
33 GCC_TREAT_WARNINGS_AS_ERRORS = YES
34 GCC_SYMBOLS_PRIVATE_EXTERN = YES
35 GCC_ENABLE_OBJC_GC = unsupported
36 GCC_ENABLE_BUILTIN_FUNCTIONS = YES
37 GCC_WARN_UNINITIALIZED_AUTOS = YES
38 GCC_WARN_64_TO_32_BIT_CONVERSION = YES
39 GCC_WARN_ABOUT_RETURN_TYPE = YES
40 GCC_WARN_UNINITIALIZED_AUTOS = YES
41 GCC_WARN_UNUSED_VARIABLE = YES
43 CLANG_WARN_CONSTANT_CONVERSION = YES
44 CLANG_WARN_INT_CONVERSION = YES
45 CLANG_WARN_EMPTY_BODY = YES
46 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES
47 DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
49 OTHER_CFLAGS = $(XPC_BUILD_OTHER_CFLAGS)
51 // We pretty much want to avoid anything having to do with Xcode's default
52 // header search behavior.
53 ALWAYS_SEARCH_USER_PATHS = NO
55 HEADER_SEARCH_PATHS = $(XPC_BUILD_HEADER_SEARCH_PATHS)
57 // Deployment and linking.
58 // By default, clang will link any binary using Objective-C against Foundation.
59 // We need to opt out of this to avoid a layering inversion.
61 // <rdar://problem/11075809>
62 CLANG_LINK_OBJC_RUNTIME = NO
63 CLANG_MODULES_AUTOLINK = NO
65 DYLIB_CURRENT_VERSION = $(RC_ProjectSourceVersion)
66 DYLIB_COMPATIBILITY_VERSION = 1
67 DEPLOYMENT_LOCATION = YES
69 // Preprocessing the Info.plist sends it through the C preprocessor. You cannot
70 // use both of these options together, since they emit different files to
71 // different places. I'm putting them here mostly just so I don't forget what
72 // they're called in case we do want to start using them in the future.
73 INFOPLIST_PREPROCESS = NO
74 INFOPLIST_EXPAND_BUILD_SETTINGS = NO
76 // SEPARATE_STRIP will tell the linker to not strip the emitted binary. Instead,
77 // the strip will happen as a separate invocation of the strip(1) tool, leaving
78 // the binaries in our OBJROOT untouched but stripping the ones that go into the
79 // DSTROOT and SYMROOT. INSTALLED_PRODUCT_ASIDES makes it so that the stuff in
80 // the SYMROOT is not just symlinked into the DSTROOT, which lets us preserve
81 // the symbols for the stuff in there.
82 STRIP_INSTALLED_PRODUCT = $(XPC_NOSTRIP2_$(XPC_NOSTRIP))
84 // STRIP_INSTALLED_PRODUCT does not appear to be respected on a per-variant
85 // basis, so this does nothing.
86 STRIP_INSTALLED_PRODUCT_debug = NO
87 INSTALLED_PRODUCT_ASIDES = YES