1 // pthread kext build options
3 SDKROOT = macosx.internal
4 SUPPORTED_PLATFORMS = macosx iphoneos appletvos watchos
5 BUILD_VARIANTS = normal development kasan
7 PTHREAD_VARIANT_ = $(CURRENT_VARIANT)
8 PTHREAD_VARIANT_YES = development
9 PTHREAD_VARIANT = $(PTHREAD_VARIANT_$(DEBUG))
11 VALID_ARCHS[sdk=macosx*] = $(NATIVE_ARCH_ACTUAL)
12 ARCHS = $(ARCHS_STANDARD_32_64_BIT)
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
24 ALWAYS_SEARCH_USER_PATHS = NO
25 SRCROOT_SEARCH_PATHS = $(SRCROOT) $(SRCROOT)/pthread $(SRCROOT)/private
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
34 GCC_OPTIMIZATION_LEVEL_normal = s
35 GCC_OPTIMIZATION_LEVEL_development = s
36 GCC_OPTIMIZATION_LEVEL = $(GCC_OPTIMIZATION_LEVEL_$(PTHREAD_VARIANT))
38 DEAD_CODE_STRIPPING = NO
40 LLVM_LTO_development = NO
42 LLVM_LTO = $(LLVM_LTO_$(PTHREAD_VARIANT))
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))
48 OTHER_CFLAGS_kasan = -DKASAN=1 -fsanitize=address -mllvm -asan-globals-live-support -mllvm -asan-force-dynamic-shadow -fno-inline
50 GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES
51 GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES
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
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