Loading...
#include "ld_base.xcconfig"

PRODUCT_NAME = SharedCacheLinker
DYLIB_INSTALL_NAME_BASE = @rpath

// overwrite ld flags as shared cache builder doesn't use toolchain libraries
OTHER_LDFLAGS = ""
OTHER_CPLUSPLUSFLAGS=$(inherited) -fno-c++-static-destructors

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) BUILDING_SHARED_CACHE_LINKER=1 LD_VERSION=$(RC_ProjectSourceVersion) RC_SUPPORTED_ARCHS="$(RC_SUPPORTED_ARCHS:default=x86_64 x86_64h arm64 arm64e arm64_32)"
GCC_SYMBOLS_PRIVATE_EXTERN = YES

VERSION_INFO_STRING = "@(#)PROGRAM:SharedCacheLinker PROJECT:ld-$(CURRENT_PROJECT_VERSION)"

SUPPORTS_TEXT_BASED_API = YES
TAPI_ENABLE_PROJECT_HEADERS = YES
TAPI_LANGUAGE = c++
TAPI_LANGUAGE_STANDARD = ${CLANG_CXX_LANGUAGE_STANDARD}
TAPI_VERIFY_MODE = Pedantic

GCC_SYMBOLS_PRIVATE_EXTERN = YES
OTHER_TAPI_FLAGS = -fvisibility=hidden

OTHER_LDFLAGS = $(inherited) -lCrashReporterClient

// rdar://123474729 (-fvisibility=hidden doesn't hide all <filesystem> symbols)
EXPORTED_SYMBOLS_FILE = shared_cache_linker/shared_cache_linker.exp

// For codesign to work
GENERATE_INFOPLIST_FILE = YES

// TODO: Clean these up.  They were moved from the build settings
COPY_PHASE_STRIP = NO
DEFINES_MODULE = YES
ENABLE_USER_SCRIPT_SANDBOXING = YES
INSTALL_PATH = $(LOCAL_LIBRARY_DIR)/Frameworks
LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks @loader_path/Frameworks
MACH_O_TYPE = mh_dylib
MERGEABLE_LIBRARY = YES
MODULE_VERIFIER_SUPPORTED_LANGUAGES = objective-c objective-c++
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = gnu17 gnu++20
PRODUCT_BUNDLE_IDENTIFIER = com.apple.ld.framework
SKIP_INSTALL = YES
VERSION_INFO_PREFIX =