#include "Base.xcconfig"
#include? "../../../../LocalOverrides.xcconfig"

ONLY_ACTIVE_ARCH = YES;

GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
DEBUG_INFORMATION_FORMAT = dwarf;

SDKROOT = $(SDKROOT_$(USE_INTERNAL_SDK));
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;

VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);

WK_RELOCATABLE_FRAMEWORKS = YES;

WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_none);

MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;

WK_CCACHE_DIR = $(SRCROOT)/../../../Tools/ccache;
#include "../../../../Tools/ccache/ccache.xcconfig"
