libmalloc.xcconfig   [plain text]


#include "<DEVELOPER_DIR>/Makefiles/CoreOS/Xcode/BSD.xcconfig"

SDKROOT = macosx.internal
SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator
BUILD_VARIANTS = normal debug

PRODUCT_NAME = libsystem_malloc
INSTALL_PATH = /usr/lib/system
PUBLIC_HEADERS_FOLDER_PATH = /usr/include/malloc
PRIVATE_HEADERS_FOLDER_PATH = /usr/local/include

SYSTEM_FRAMEWORK_HEADERS = $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders
HEADER_SEARCH_PATHS = $(DERIVED_FILES_DIR)/dtrace $(SRCROOT)/include $(SYSTEM_FRAMEWORK_HEADERS) $(SDKROOT)/usr/local/include $(inherited)

GCC_PREPROCESSOR_DEFINITIONS = _FORTIFY_SOURCE=0 NDEBUG $(OSATOMIC_PREPROCESSOR_DEFINITIONS) $(PLATFORM_PREPROCESSOR_DEFINITIONS)
OSATOMIC_PREPROCESSOR_DEFINITIONS = OSATOMIC_USE_INLINED=1 OS_UNFAIR_LOCK_INLINE=1
OSATOMIC_PREPROCESSOR_DEFINITIONS_NOINLINE = OSATOMIC_DEPRECATED=0 OSATOMIC_USE_INLINED=0 OS_UNFAIR_LOCK_INLINE=0

GCC_NO_COMMON_BLOCKS = YES
ENABLE_STRICT_OBJC_MSGSEND = YES

// TODO: Add -fno-stack-protector when uplink to Libc is removed
OTHER_CFLAGS = $(PLATFORM_CFLAGS)
OTHER_CFLAGS_normal = -momit-leaf-frame-pointer
OTHER_CFLAGS_debug = -fstack-protector -fno-inline -O0 -DDEBUG=1 -UNDEBUG

GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES
//GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
GCC_WARN_UNUSED_FUNCTION = YES
GCC_WARN_UNUSED_LABEL = YES
//GCC_WARN_UNUSED_PARAMETER = YES
GCC_WARN_UNUSED_VALUE = YES
GCC_WARN_UNUSED_VARIABLE = YES
GCC_WARN_64_TO_32_BIT_CONVERSION = YES
GCC_WARN_ABOUT_RETURN_TYPE = YES
GCC_WARN_UNDECLARED_SELECTOR = YES
GCC_WARN_UNINITIALIZED_AUTOS = YES
CLANG_WARN_BOOL_CONVERSION = YES
CLANG_WARN_CONSTANT_CONVERSION = YES
CLANG_WARN_EMPTY_BODY = YES
CLANG_WARN_ENUM_CONVERSION = YES
CLANG_WARN_INFINITE_RECURSION = YES
CLANG_WARN_INT_CONVERSION = YES
CLANG_WARN_SUSPICIOUS_MOVE = YES
CLANG_WARN_UNREACHABLE_CODE = YES
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES

// clang doesn't understand the simple_printf %y specifier
WARNING_CFLAGS = -Wno-format-invalid-specifier -Wno-format-extra-args

LLVM_LTO = LLVM_LTO_$(CURRENT_VARIANT)
LLVM_LTO_normal = YES
LLVM_LTO_debug = NO
DEAD_CODE_STRIPPING = NO

IS_ZIPPERED = YES

SIM_SUFFIX[sdk=*simulator*] = _sim
LINK_WITH_STANDARD_LIBRARIES = NO
OTHER_LDFLAGS = -all_load -L/usr/lib/system -umbrella System $(CR_LDFLAGS) $(LIBCOMPILER_RT_LDFLAGS) $(LIBDYLD_LDFLAGS) $(LIBSYSCALL_LDFLAGS) $(LIBPLATFORM_LDFLAGS) $(PLATFORM_LDFLAGS) $(UPLINK_LDFLAGS) $(INTERPOSE_LDFLAGS) $(DIRTY_LDFLAGS)
LIBCOMPILER_RT_LDFLAGS = -lcompiler_rt
LIBPLATFORM_LDFLAGS = -lsystem$(SIM_SUFFIX)_platform
LIBSYSCALL_LDFLAGS = -lsystem$(SIM_SUFFIX)_kernel
LIBDYLD_LDFLAGS = -ldyld

// TODO: Eliminate the crosslink between libmalloc and Libc (13046853)
UPLINK_LDFLAGS = -Wl,-upward-lsystem_c

INTERPOSE_LDFLAGS = -Wl,-interposable_list,$(SRCROOT)/xcodeconfig/interposable.list

ORDER_FILE = $(SDKROOT)/$(APPLE_INTERNAL_DIR)/OrderFiles/$(PRODUCT_NAME).order
ORDER_FILE[sdk=*simulator*] =

DIRTY_LDFLAGS = -Wl,-dirty_data_list,$(SRCROOT)/xcodeconfig/libmalloc.dirty
DIRTY_LDFLAGS[sdk=macosx*] =

DYLIB_CURRENT_VERSION = $(CURRENT_PROJECT_VERSION)