Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | #include "<DEVELOPER_DIR>/Makefiles/CoreOS/Xcode/BSD.xcconfig" // Standard settings SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator bridgeos driverkit SDK_INSTALL_VARIANT = $(SDK_INSTALL_VARIANT_$(DRIVERKIT)) SDK_INSTALL_VARIANT_1 = driverkit SDK_INSTALL_VARIANT_ = default SDK_INSTALL_ROOT = $(SDK_INSTALL_ROOT_$(SDK_INSTALL_VARIANT)) SDK_INSTALL_ROOT_driverkit = $(DRIVERKITROOT) SDK_INSTALL_HEADERS_ROOT = $(SDK_INSTALL_HEADERS_ROOT_$(SDK_INSTALL_VARIANT)) SDK_INSTALL_HEADERS_ROOT_driverkit = $(SDK_INSTALL_ROOT)/$(SDK_RUNTIME_HEADERS_PREFIX) SDK_RUNTIME_HEADERS_PREFIX = Runtime SRCROOT_SEARCH_PATHS = $(SRCROOT) $(SRCROOT)/include $(SRCROOT)/gen $(SRCROOT)/locale $(SRCROOT)/locale/FreeBSD $(SRCROOT)/stdtime/FreeBSD $(SRCROOT)/darwin SYSTEM_FRAMEWORK_HEADERS = $(SDKROOT)/$(SDK_INSTALL_HEADERS_ROOT)/System/Library/Frameworks/System.framework/PrivateHeaders SDK_SYSTEM_FRAMEWORK_HEADERS = $(SDKROOT)/$(SDK_INSTALL_HEADERS_ROOT)/System/Library/Frameworks/System.framework/Versions/B/PrivateHeaders HEADER_SEARCH_PATHS = $($(TARGET_NAME)_SEARCH_PATHS) $(DERIVED_FILES_DIR)/dtrace $(SRCROOT_SEARCH_PATHS) $(inherited) SYSTEM_HEADER_SEARCH_PATHS = $(SYSTEM_FRAMEWORK_HEADERS) $(SDKROOT)/$(SDK_INSTALL_HEADERS_ROOT)/usr/local/include $(SDKROOT)/$(SDK_INSTALL_HEADERS_ROOT)/usr/include $(SDKROOT)/$(SDK_INSTALL_ROOT)/usr/local/include SYSTEM_FRAMEWORK_SEARCH_PATHS = $(SDKROOT)/$(SDK_INSTALL_HEADERS_ROOT)/System/Library/Frameworks ALWAYS_SEARCH_USER_PATHS = YES USE_HEADERMAP = NO BUILD_VARIANTS = normal GCC_OPTIMIZATION_LEVEL = s GCC_C_LANGUAGE_STANDARD = gnu11 GCC_ENABLE_OBJC_EXCEPTIONS = YES GCC_SYMBOLS_PRIVATE_EXTERN = NO GCC_DYNAMIC_NO_PIC = NO GCC_THUMB_SUPPORT = YES GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; //CLANG_WARN_INT_CONVERSION = YES //CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES //GCC_WARN_64_TO_32_BIT_CONVERSION = YES //GCC_WARN_SHADOW = YES GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; //WARNING_CFLAGS = -Wall -Wextra WARNING_CFLAGS = -Wall -Werror -Wno-error=shorten-64-to-32 -Wno-error=incompatible-pointer-types-discards-qualifiers -Wno-nullability-completeness COPY_PHASE_STRIP = NO SKIP_INSTALL = YES INSTALLHDRS_SCRIPT_PHASE = YES INSTALLHDRS_COPY_PHASE = YES VERSIONING_SYSTEM = VERSION_INFO_PREFIX = __attribute__((visibility("hidden"))) COPY_PHASE_STRIP = NO STRIP_INSTALLED_PRODUCT = NO LD_DYLIB_INSTALL_NAME = $(SDK_INSTALL_ROOT)/usr/lib/system/$(EXECUTABLE_NAME) IS_ZIPPERED = YES BUILD_VARIANTS = normal debug BUILD_ARCHIVES = Platform Base FreeBSD NetBSD TRE vCancelable vDarwinExtsn vDarwinExtsnCancelable vPre1050 vLegacy vInode32 FortifySource // clang is desired over llvm-gcc for OSAtomics. However, it isn't capable of building armv6 correctly. GCC_VERSION = com.apple.compilers.llvm.clang.1_0 GCC_VERSION[arch=armv6] = com.apple.compilers.llvmgcc42 EXECUTABLE_PREFIX = libsystem_ INSTALL_PATH = $(SDK_INSTALL_ROOT)/usr/lib/system PUBLIC_HEADERS_FOLDER_PATH = $(SDK_INSTALL_HEADERS_ROOT)/usr/include PRIVATE_HEADERS_FOLDER_PATH = $(SDK_INSTALL_HEADERS_ROOT)/usr/local/include DARWIN_PUBLIC_HEADERS_FOLDER_PATH = $(SDK_INSTALL_HEADERS_ROOT)/usr/include/os DARWIN_PRIVATE_HEADERS_FOLDER_PATH = $(SDK_INSTALL_HEADERS_ROOT)/usr/local/include/os // Simulator BASE_PREPROCESSOR_MACROS = __LIBC__ __DARWIN_UNIX03=1 __DARWIN_64_BIT_INO_T=1 __DARWIN_NON_CANCELABLE=1 __DARWIN_VERS_1050=1 _FORTIFY_SOURCE=0 OTHER_CFLAGS = -fdollars-in-identifiers -fno-common -fverbose-asm $($(TARGET_NAME)_CFLAGS) $(VARIANT_PREPROCESSOR_MACROS) OTHER_CFLAGS_debug = -fstack-protector -fno-inline -O0 -DDEBUG=1 SIM_SUFFIX[sdk=*simulator*] = _sim GCC_PREPROCESSOR_DEFINITIONS = $(BASE_PREPROCESSOR_MACROS) // libsystem_c.dylib linking CR_LDFLAGS = -lCrashReporterClient LIBCOMPILER_RT_LDFLAGS = -lcompiler_rt LIBMALLOC_LDFLAGS = -lsystem_malloc LIBBLOCKS_LDFLAGS = -lsystem_blocks LIBC_LDFLAGS = -lsystem_c LIBDISPATCH_LDFLAGS = -ldispatch LIBXPC_LDFLAGS = -lxpc LIBPLATFORM_LDFLAGS = -lsystem$(SIM_SUFFIX)_platform LIBPTHREAD_LDFLAGS = -lsystem$(SIM_SUFFIX)_pthread LIBSYSCALL_LDFLAGS = -lsystem$(SIM_SUFFIX)_kernel LIBM_LDFLAGS = -lsystem_m LIBDYLD_LDFLAGS = -ldyld LIBSYSTEM_C_LDFLAGS = -all_load -nostdlib -L$(SDK_INSTALL_ROOT)/usr/lib/system -umbrella System $(CR_LDFLAGS) $(LIBCOMPILER_RT_LDFLAGS) $(LIBDYLD_LDFLAGS) $(LIBSYSCALL_LDFLAGS) $(LIBM_LDFLAGS) $(LIBMALLOC_LDFLAGS) $(LIBPLATFORM_LDFLAGS) $(LIBPTHREAD_LDFLAGS) $(UPWARD_LDFLAGS) $(LIBSYSTEM_C_EXTRA_LDFLAGS_$(CURRENT_ARCH)) -Wl,-interposable_list,$(DERIVED_FILES_DIR)/interposable.list -Wl,-unexported_symbols_list,$(DERIVED_FILES_DIR)/unexport.list -Wl,-alias_list,$(SRCROOT)/xcodescripts/alias.list @$(BUILT_PRODUCTS_DIR)/$(CURRENT_VARIANT).linklist LIBSYSTEM_C_EXTRA_LDFLAGS_i386 = -Wl,-alias_list,$(SRCROOT)/xcodescripts/legacy_alias.list // TODO: Remove upward links - mostly <rdar://problem/13183469>, macho is for assumes.c UPWARD_LDFLAGS = -Wl,-upward-ldispatch -Wl,-upward-lmacho -Wl,-upward-lsystem_asl -Wl,-upward-lsystem_blocks -Wl,-upward-lsystem_info -Wl,-upward-lsystem_notify -Wl,-upward-lxpc -Wl,-upward-lcorecrypto -Wl,-upward-lsystem_trace $(OTHER_UPWARD_LDFLAGS) UPWARD_LDFLAGS[sdk=driverkit*] = -Wl,-upward-lmacho -Wl,-upward-lsystem_blocks -Wl,-upward-lcorecrypto LIBSYSTEM_DARWIN_LDFLAGS = -all_load -nostdlib -L$(SDK_INSTALL_ROOT)/usr/lib/system -umbrella System $(LIBCOMPILER_RT_LDFLAGS) $(LIBDYLD_LDFLAGS) $(LIBSYSCALL_LDFLAGS) $(LIBM_LDFLAGS) $(LIBMALLOC_LDFLAGS) $(LIBBLOCKS_LDFLAGS) $(LIBPLATFORM_LDFLAGS) $(LIBPTHREAD_LDFLAGS) $(LIBPLATFORM_LDFLAGS) $(LIBC_LDFLAGS) $(LIBDISPATCH_LDFLAGS) $(LIBXPC_LDFLAGS) -lmacho -ldyld -Wl,-upward-lsystem_trace // libPlatform.a architectures ARCH_FAMILY = $(ARCH_FAMILY_$(CURRENT_ARCH)) ARCH_FAMILY_x86_64 = x86_64 ARCH_FAMILY_i386 = i386 ARCH_FAMILY_armv6 = arm ARCH_FAMILY_armv7 = arm ARCH_FAMILY_armv7s = arm ARCH_FAMILY_armv7f = arm ARCH_FAMILY_armv7k = arm ARCH_FAMILY_arm64 = arm64 // Platform target Platform_INCLUDED_SOURCE_FILE_NAMES = forceLibcToBuild.c $(Platform_INCLUDED_SOURCE_FILE_NAMES_gen) Platform_INCLUDED_SOURCE_FILE_NAMES_gen = $(ARCH_FAMILY)/gen/*.c $(ARCH_FAMILY)/gen/*.s $(ARCH_FAMILY)/gen/*.S // FreeBSD target FreeBSD_CFLAGS = -include $(SRCROOT)/fbsdcompat/_fbsd_compat_.h FreeBSD_SEARCH_PATHS = $(SRCROOT)/fbsdcompat $(SRCROOT)/gdtoa $(SRCROOT)/gdtoa/FreeBSD FreeBSD_EXCLUDED_SOURCE_GDTOA = gdtoa/FreeBSD/machdep* gdtoa-strtopx.c // Include the correct parts of gdtoa per-arch FreeBSD_INCLUDED_SOURCE_FILE_NAMES = $(FreeBSD_INCLUDED_SOURCE_FILE_NAMES_$(ARCH_FAMILY)) FreeBSD_INCLUDED_SOURCE_FILE_NAMES_x86_64 = gdtoa-strtopx.c machdep_ldisx.c FreeBSD_INCLUDED_SOURCE_FILE_NAMES_i386 = $(FreeBSD_INCLUDED_SOURCE_FILE_NAMES_x86_64) FreeBSD_INCLUDED_SOURCE_FILE_NAMES_arm = machdep_ldisd.c FreeBSD_INCLUDED_SOURCE_FILE_NAMES_arm64 = $(FreeBSD_INCLUDED_SOURCE_FILE_NAMES_arm) // NetBSD target NetBSD_CFLAGS = -include $(SRCROOT)/nbsdcompat/_nbsd_compat_.h NetBSD_SEARCH_PATHS = $(SRCROOT)/nbsdcompat // TRE target TRE_CFLAGS = -DHAVE_CONFIG_H TRE_SEARCH_PATHS = $(SRCROOT)/regex/TRE $(SRCROOT)/regex/FreeBSD // libc_dyld static library libc_dyld_CFLAGS = -fno-stack-check // Files per architecture to exclude from the non-platform builds (because optimised versions exist in Platform) BASE_INCLUDED_SOURCE_FILE_NAMES = $(BASE_INCLUDED_SOURCE_FILE_NAMES_$(ARCH_FAMILY)) BASE_EXCLUDED_SOURCE_FILE_NAMES = $(BASE_EXCLUDED_SOURCE_FILE_NAMES_$(ARCH_FAMILY)) $(BASE_EXCLUDED_SOURCE_FILE_NAMES_$(VARIANT_PLATFORM_NAME)) BASE_EXCLUDED_SOURCE_FILE_NAMES_x86_64 = kvm.c nlist.c BASE_EXCLUDED_SOURCE_FILE_NAMES_arm64 = kvm.c nlist.c // Rune support isn't included on iOS but there's no better way to exclude their complication BASE_EXCLUDED_SOURCE_FILE_NAMES_macosx = OSMemoryNotification.c BASE_EXCLUDED_SOURCE_FILE_NAMES_iphoneos = frune.c login.c logout.c mbrune.c runedepreciated.c setinvalidrune.c getmntinfo64.c BASE_EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(BASE_EXCLUDED_SOURCE_FILE_NAMES_iphoneos) BASE_EXCLUDED_SOURCE_FILE_NAMES_appletvos = $(BASE_EXCLUDED_SOURCE_FILE_NAMES_iphoneos) BASE_EXCLUDED_SOURCE_FILE_NAMES_appletvsimulator = $(BASE_EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator) BASE_EXCLUDED_SOURCE_FILE_NAMES_watchos = $(BASE_EXCLUDED_SOURCE_FILE_NAMES_iphoneos) BASE_EXCLUDED_SOURCE_FILE_NAMES_watchsimulator = $(BASE_EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator) BASE_EXCLUDED_SOURCE_FILE_NAMES_bridgeos = $(BASE_EXCLUDED_SOURCE_FILE_NAMES_iphoneos) BASE_EXCLUDED_SOURCE_FILE_NAMES_driverkit = $(BASE_EXCLUDED_SOURCE_FILE_NAMES_macosx) $(BASE_EXCLUDED_SOURCE_FILE_NAMES_iphoneos) getlogin.c setlogin.c logwtmp.c utmpx.c utmpx-darwin.c daemon.c authentication.c pty.c opendev.c fparseln.c psort*.c crypt.c glob.c readpassphrase.c atexit_receipt.c debug_private.c sourcefilter.c inet*.c nsap_addr.c ascii2addr.c addr2ascii.c acl*.c filesec.c chmodx_np.c openx_np.c umaskx_np.c statx_np.c // Enable installapi SUPPORTS_TEXT_BASED_API = YES TAPI_VERIFY_MODE = Pedantic OTHER_TAPI_FLAGS = --no-infer-include-paths -umbrella System -extra-public-header $(TAPI_PUBLIC_HEADER_PATH) -extra-private-header $(TAPI_PRIVATE_HEADER_PATH) TAPI_PUBLIC_HEADER_PATH = $(TAPI_PUBLIC_HEADER_PATH_$(DEPLOYMENT_LOCATION)) TAPI_PUBLIC_HEADER_PATH_NO = $(BUILT_PRODUCTS_DIR)$(PUBLIC_HEADERS_FOLDER_PATH) TAPI_PUBLIC_HEADER_PATH_YES = $(DSTROOT)$(PUBLIC_HEADERS_FOLDER_PATH) TAPI_PRIVATE_HEADER_PATH = $(TAPI_PRIVATE_HEADER_PATH_$(DEPLOYMENT_LOCATION)) TAPI_PRIVATE_HEADER_PATH_NO = $(BUILT_PRODUCTS_DIR)$(PRIVATE_HEADERS_FOLDER_PATH) TAPI_PRIVATE_HEADER_PATH_YES = $(DSTROOT)$(PRIVATE_HEADERS_FOLDER_PATH) TAPI_HEADER_SEARCH_PATHS = VARIANT_PLATFORM_NAME = $(VARIANT_PLATFORM_NAME_$(RC_MARZIPAN)) VARIANT_PLATFORM_NAME_YES = macosx VARIANT_PLATFORM_NAME_ = $(VARIANT_PLATFORM_NAME_$(SDK_INSTALL_VARIANT)) VARIANT_PLATFORM_NAME_default = $(FALLBACK_PLATFORM:default=$(PLATFORM_NAME)) VARIANT_PLATFORM_NAME_driverkit = driverkit |