]>
Commit | Line | Data |
---|---|---|
1 | #include "<DEVELOPER_DIR>/Makefiles/CoreOS/Xcode/BSD.xcconfig" | |
2 | #include "<DEVELOPER_DIR>/AppleInternal/XcodeConfig/PlatformSupport.xcconfig" | |
3 | ||
4 | XPC_BUILD_FILES_DIR = $(PROJECT_DIR)/xcfiles | |
5 | XPC_BUILD_XCSCRIPTS_DIR = $(PROJECT_DIR)/xcscripts | |
6 | XPC_BUILD_XCCONFIG_DIR = $(PROJECT_DIR)/xcconfig | |
7 | ||
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) | |
9 | ||
10 | XPC_ALL_THE_DEBUGS2 = | |
11 | XPC_ALL_THE_DEBUGS2_yes = -O0 -g -fno-inline -fno-limit-debug-info | |
12 | ||
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 | |
16 | ||
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 | |
19 | ||
20 | XPC_CRASHREPORTCLIENT_LDFLAGS = -lCrashReporterClient | |
21 | ||
22 | XPC_NOSTRIP = no | |
23 | XPC_NOSTRIP2_no = YES | |
24 | XPC_NOSTRIP2_yes = NO | |
25 | ||
26 | // Building. | |
27 | ARCHS = $(ARCHS_STANDARD) | |
28 | ONLY_ACTIVE_ARCH = NO | |
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 | |
42 | ||
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 | |
48 | ||
49 | OTHER_CFLAGS = $(XPC_BUILD_OTHER_CFLAGS) | |
50 | ||
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 | |
54 | USE_HEADERMAP = NO | |
55 | HEADER_SEARCH_PATHS = $(XPC_BUILD_HEADER_SEARCH_PATHS) | |
56 | ||
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. | |
60 | // | |
61 | // <rdar://problem/11075809> | |
62 | CLANG_LINK_OBJC_RUNTIME = NO | |
63 | CLANG_MODULES_AUTOLINK = NO | |
64 | ||
65 | DYLIB_CURRENT_VERSION = $(RC_ProjectSourceVersion) | |
66 | DYLIB_COMPATIBILITY_VERSION = 1 | |
67 | DEPLOYMENT_LOCATION = YES | |
68 | ||
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 | |
75 | ||
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)) | |
83 | ||
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 | |
88 | SEPARATE_STRIP = YES |