be3c9078d5175841a97d4e5f5a93857ef515ea40
[WebKit-https.git] / Source / ThirdParty / libwebrtc / Configurations / Base.xcconfig
1 #include? "../../../../../Internal/Configurations/HaveInternalSDK.xcconfig"
2 #include "SDKVariant.xcconfig"
3
4 CODE_SIGN_IDENTITY = -;
5
6 USE_INTERNAL_SDK = $(USE_INTERNAL_SDK_$(CONFIGURATION));
7 USE_INTERNAL_SDK_Production = YES;
8 USE_INTERNAL_SDK_Debug = $(HAVE_INTERNAL_SDK);
9 USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
10
11 ALWAYS_SEARCH_USER_PATHS = NO;
12
13 CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
14 CLANG_CXX_LIBRARY = libc++;
15 CLANG_ENABLE_OBJC_ARC = YES;
16 CLANG_ENABLE_OBJC_WEAK = YES;
17 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
18 CLANG_WARN_BOOL_CONVERSION = YES;
19 CLANG_WARN_CONSTANT_CONVERSION = YES;
20 CLANG_WARN_EMPTY_BODY = YES;
21 CLANG_WARN_ENUM_CONVERSION = YES;
22 CLANG_WARN_INFINITE_RECURSION = YES;
23 CLANG_WARN_INT_CONVERSION = YES;
24 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
25 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
26 CLANG_WARN_STRICT_PROTOTYPES = YES;
27 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
28 DEAD_CODE_STRIPPING = YES;
29 DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
30 GCC_C_LANGUAGE_STANDARD = gnu99;
31 GCC_DEBUGGING_SYMBOLS = default;
32 GCC_ENABLE_CPP_EXCEPTIONS = NO;
33 GCC_ENABLE_CPP_RTTI = NO;
34 GCC_ENABLE_OBJC_EXCEPTIONS = YES;
35 ENABLE_STRICT_OBJC_MSGSEND = YES;
36 GCC_ENABLE_SYMBOL_SEPARATION = NO;
37 GCC_FAST_OBJC_DISPATCH = YES;
38 GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
39 GCC_NO_COMMON_BLOCKS = YES;
40 GCC_OBJC_CALL_CXX_CDTORS = YES;
41 GCC_OPTIMIZATION_LEVEL = s;
42 GCC_PRECOMPILE_PREFIX_HEADER = NO;
43 GCC_SYMBOLS_PRIVATE_EXTERN = YES;
44 GCC_THREADSAFE_STATICS = NO;
45 GCC_TREAT_WARNINGS_AS_ERRORS = YES;
46 GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
47 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
48 GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
49 GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
50 GCC_WARN_ABOUT_RETURN_TYPE = YES;
51 GCC_WARN_UNDECLARED_SELECTOR = YES;
52 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
53 CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
54 GCC_WARN_UNINITIALIZED_AUTOS = YES;
55 GCC_WARN_UNUSED_FUNCTION = YES;
56 GCC_WARN_UNUSED_VARIABLE = YES;
57 CLANG_WARN_SUSPICIOUS_MOVE = YES;
58 PREBINDING = NO;
59 STRIP_INSTALLED_PRODUCT = NO;
60 WARNING_CFLAGS = -Wexit-time-destructors -Wglobal-constructors -Wthread-safety;
61
62 SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx;
63 VALID_ARCHS = $(ARCHS_STANDARD_64_BIT);
64
65 TARGET_MAC_OS_X_VERSION_MAJOR = $(TARGET_MAC_OS_X_VERSION_MAJOR$(MACOSX_DEPLOYMENT_TARGET:suffix:identifier));
66 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
67 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
68 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
69 TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
70
71 SDKROOT = macosx.internal;
72
73
74 // DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL, STRIP_INSTALLED_PRODUCT and DEAD_CODE_STRIPPING vary between the debug and normal variants.
75 // We set up the values for each variant here, and have the Debug configuration in the Xcode project use the _debug variant.
76 DEBUG_DEFINES_debug = ;
77 DEBUG_DEFINES_normal = NDEBUG;
78 DEBUG_DEFINES = $(DEBUG_DEFINES_$(CURRENT_VARIANT));
79
80 GCC_OPTIMIZATION_LEVEL = $(GCC_OPTIMIZATION_LEVEL_$(CURRENT_VARIANT));
81 GCC_OPTIMIZATION_LEVEL_normal = 3;
82 GCC_OPTIMIZATION_LEVEL_debug = 0;
83
84 STRIP_INSTALLED_PRODUCT = $(STRIP_INSTALLED_PRODUCT_$(CURRENT_VARIANT));
85 STRIP_INSTALLED_PRODUCT_normal = YES;
86 STRIP_INSTALLED_PRODUCT_debug = NO;
87
88 DEAD_CODE_STRIPPING_debug = NO;
89 DEAD_CODE_STRIPPING_normal = YES;
90 DEAD_CODE_STRIPPING = $(DEAD_CODE_STRIPPING_$(CURRENT_VARIANT));
91
92 OTHER_CFLAGS = $(ASAN_OTHER_CFLAGS) -fvisibility=default;
93 OTHER_CPLUSPLUSFLAGS = $(ASAN_OTHER_CPLUSPLUSFLAGS) -fvisibility=default;
94 OTHER_LDFLAGS = $(ASAN_OTHER_LDFLAGS) -fvisibility=default;
95
96 GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) $(inherited) ABSL_ALLOCATOR_NOTHROW;
97
98 EXCLUDED_INSTALLSRC_SUBDIRECTORY_PATTERNS = $(inherited) "$(PROJECT_DIR)/Source/webrtc/examples" "$(PROJECT_DIR)/Source/third_party/boringssl/src/util";
99
100 NORMAL_WEBCORE_FRAMEWORKS_DIR = $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
101 NORMAL_WEBCORE_FRAMEWORKS_DIR[sdk=macosx*] = $(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks;
102
103 WK_USE_OVERRIDE_FRAMEWORKS_DIR = $(WK_NOT_$(WK_EMPTY_$(WK_OVERRIDE_FRAMEWORKS_DIR)));
104
105 WK_OVERRIDE_FRAMEWORKS_DIR = $(WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
106 WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
107
108 LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO));
109 WK_LLVM_LTO_NO = NO;
110 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE);
111
112 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_9_$(XCODE_VERSION_MAJOR)));
113 WK_XCODE_VERSION_BEFORE_9_0800 = YES;
114 WK_XCODE_VERSION_BEFORE_9_0700 = YES;
115
116 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE));
117 WK_USER_LTO_MODE_full = YES;
118 WK_USER_LTO_MODE_thin = YES_THIN;
119 WK_USER_LTO_MODE_none = NO;
120 WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE);
121 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_none);