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)/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
 
  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