]>
Commit | Line | Data |
---|---|---|
1 | // pthread kext build options | |
2 | ||
3 | SDKROOT = macosx.internal | |
4 | SUPPORTED_PLATFORMS = macosx iphoneos appletvos watchos | |
5 | BUILD_VARIANTS = normal development kasan | |
6 | ||
7 | PTHREAD_VARIANT_ = $(CURRENT_VARIANT) | |
8 | PTHREAD_VARIANT_YES = development | |
9 | PTHREAD_VARIANT = $(PTHREAD_VARIANT_$(DEBUG)) | |
10 | ||
11 | VALID_ARCHS[sdk=macosx*] = $(NATIVE_ARCH_ACTUAL) | |
12 | ARCHS = $(ARCHS_STANDARD_32_64_BIT) | |
13 | ||
14 | INSTALL_PATH = $(SYSTEM_LIBRARY_DIR)/Extensions | |
15 | PRODUCT_NAME = pthread | |
16 | WRAPPER_EXTENSION = kext | |
17 | MODULE_NAME = com.apple.kec.pthread | |
18 | MODULE_START = pthread_start | |
19 | MODULE_STOP = pthread_stop | |
20 | MODULE_VERSION = 1.0.0d1 | |
21 | PRODUCT_BUNDLE_IDENTIFIER = ${MODULE_NAME} | |
22 | INFOPLIST_FILE = kern/pthread-Info.plist | |
23 | ||
24 | ALWAYS_SEARCH_USER_PATHS = NO | |
25 | SRCROOT_SEARCH_PATHS = $(SRCROOT)/private $(SRCROOT)/include $(SRCROOT) | |
26 | HEADER_SEARCH_PATHS = $(SDKROOT)/System/Library/Frameworks/Kernel.framework/PrivateHeaders $(SDKROOT)/System/Library/Frameworks/Kernel.framework/Headers $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders $(SDKROOT)/System/Library/Frameworks/System.framework/Headers $(SRCROOT_SEARCH_PATHS) | |
27 | GCC_C_LANGUAGE_STANDARD = gnu11 | |
28 | CLANG_CXX_LANGUAGE_STANDARD = gnu++0x | |
29 | CLANG_CXX_LIBRARY = libc++ | |
30 | GCC_PRECOMPILE_PREFIX_HEADER = YES | |
31 | CODE_SIGN_IDENTITY = - | |
32 | DEBUG_INFORMATION_FORMAT = dwarf-with-dsym | |
33 | ||
34 | GCC_OPTIMIZATION_LEVEL_normal = s | |
35 | GCC_OPTIMIZATION_LEVEL_development = s | |
36 | GCC_OPTIMIZATION_LEVEL = $(GCC_OPTIMIZATION_LEVEL_$(PTHREAD_VARIANT)) | |
37 | ||
38 | DEAD_CODE_STRIPPING = NO | |
39 | LLVM_LTO_normal = YES | |
40 | LLVM_LTO_development = NO | |
41 | LLVM_LTO_kasan = NO | |
42 | LLVM_LTO = $(LLVM_LTO_$(PTHREAD_VARIANT)) | |
43 | ||
44 | GCC_PREPROCESSOR_DEFINITIONS_kext = XNU_KERNEL_PRIVATE MACH_KERNEL_PRIVATE ABSOLUTETIME_SCALAR_TYPE NEEDS_SCHED_CALL_T __PTHREAD_EXPOSE_INTERNALS__ | |
45 | GCC_PREPROCESSOR_DEFINITIONS_kext_development = MACH_ASSERT DEBUG | |
46 | GCC_PREPROCESSOR_DEFINITIONS = $(GCC_PREPROCESSOR_DEFINITIONS_kext) $(GCC_PREPROCESSOR_DEFINITIONS_kext_$(PTHREAD_VARIANT)) | |
47 | ||
48 | OTHER_CFLAGS_kasan = -DKASAN=1 -fsanitize=address -mllvm -asan-globals-live-support -mllvm -asan-force-dynamic-shadow -fno-inline | |
49 | ||
50 | GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES | |
51 | GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES | |
52 | ||
53 | // Warnings | |
54 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES | |
55 | CLANG_WARN_EMPTY_BODY = YES | |
56 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES | |
57 | GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES | |
58 | GCC_WARN_ABOUT_MISSING_NEWLINE = YES | |
59 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES | |
60 | GCC_WARN_ABOUT_RETURN_TYPE = YES | |
61 | GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES | |
62 | GCC_WARN_SHADOW = YES | |
63 | GCC_WARN_SIGN_COMPARE = YES | |
64 | GCC_WARN_UNINITIALIZED_AUTOS = YES | |
65 | GCC_WARN_UNUSED_FUNCTION = YES | |
66 | GCC_WARN_UNUSED_LABEL = YES | |
67 | GCC_WARN_UNUSED_PARAMETER = YES | |
68 | GCC_WARN_UNUSED_VARIABLE = YES |