Loading...
#include "libmalloc.xcconfig"

SUPPORTED_PLATFORMS = iphoneos appletvos watchos
PRODUCT_NAME = malloc_$(RESOLVED_VARIANT)
OTHER_LDFLAGS =
SKIP_INSTALL = YES
VERSIONING_SYSTEM =
EXCLUDED_SOURCE_FILE_NAMES = *

// #ifndef __OPEN_SOURCE__
MALLOC_RESOLVED_CFLAGS = $(MALLOC_RESOLVED_CFLAGS_$(RESOLVED_VARIANT)
MALLOC_RESOLVED_CFLAGS_alt[arch=arm64] = $(ARMV81_CFLAGS)
UP_PREPROCESSOR_DEFINITIONS = OS_ATOMIC_UP=1

MALLOC_RESOLVED_PREPROCESSOR_DEFINITIONS = OS_VARIANT_ENABLED=1 OS_VARIANT_ONLY=1 $(MALLOC_RESOLVED_PREPROCESSOR_DEFINITIONS_$(RESOLVED_VARIANT))
MALLOC_RESOLVED_PREPROCESSOR_DEFINITIONS_alt[arch=armv7]  = $(UP_PREPROCESSOR_DEFINITIONS)
MALLOC_RESOLVED_PREPROCESSOR_DEFINITIONS_alt[arch=armv7k] = $(UP_PREPROCESSOR_DEFINITIONS)

RESOLVED_PREPROCESSOR_DEFINITIONS              = $(RESOLVED_PREPROCESSOR_DEFINITIONS_$(PLATFORM_NAME))
RESOLVED_PREPROCESSOR_DEFINITIONS_iphoneos     = $(MALLOC_RESOLVED_PREPROCESSOR_DEFINITIONS)
RESOLVED_PREPROCESSOR_DEFINITIONS_watchos      = $(MALLOC_RESOLVED_PREPROCESSOR_DEFINITIONS)
PLATFORM_PREPROCESSOR_DEFINITIONS[arch=arm64]  = $(RESOLVED_PREPROCESSOR_DEFINITIONS)
PLATFORM_PREPROCESSOR_DEFINITIONS[arch=armv7]  = $(RESOLVED_PREPROCESSOR_DEFINITIONS)
PLATFORM_PREPROCESSOR_DEFINITIONS[arch=armv7k] = $(RESOLVED_PREPROCESSOR_DEFINITIONS)
PLATFORM_CFLAGS[arch=arm64]                    = $(MALLOC_RESOLVED_CFLAGS)

// There is no INCLUDED_SOURCE_FILE_NAMES_xx for macOS platforms because we
// we don't need to compile anything into libmalloc_[mp|alt].a on macOS.
// On other platforms, we compile the files that contain functions to be
// resolved.
MALLOC_RESOLVED_SOURCE_FILE_NAMES		= nanov2_malloc.c
MALLOC_DTRACE_FILE_NAMES				= magmallocProvider.d

INCLUDED_SOURCE_FILE_NAMES				= $(MALLOC_RESOLVER_SOURCE_FILE_NAMES) $(INCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME))
INCLUDED_SOURCE_FILE_NAMES_iphoneos 	= $(INCLUDED_SOURCE_FILE_NAMES_$(CURRENT_ARCH))
INCLUDED_SOURCE_FILE_NAMES_watchos		= $(INCLUDED_SOURCE_FILE_NAMES_$(CURRENT_ARCH))
INCLUDED_SOURCE_FILE_NAMES_arm64		= $(MALLOC_RESOLVED_SOURCE_FILE_NAMES) $(MALLOC_DTRACE_FILE_NAMES)

// armv7/armv7k do not support Nano.
INCLUDED_SOURCE_FILE_NAMES_armv7		= $(MALLOC_DTRACE_FILE_NAMES)
INCLUDED_SOURCE_FILE_NAMES_armv7k		= $(MALLOC_DTRACE_FILE_NAMES)

// #endif __OPEN_SOURCE__