-
Notifications
You must be signed in to change notification settings - Fork 1.2k
/
JavaScriptCore.xcconfig
87 lines (75 loc) · 5.96 KB
/
JavaScriptCore.xcconfig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// Copyright (C) 2009-2023 Apple Inc. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "BaseTarget.xcconfig"
DEFINES_MODULE = YES;
MODULEMAP_FILE = $(SRCROOT)/JavaScriptCore.modulemap;
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS = $(WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_$(WK_PLATFORM_NAME));
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_iphoneos = $(WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS$(WK_IOS_17));
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_iphonesimulator = $(WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS$(WK_IOS_17));
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_IOS_SINCE_17 = YES;
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_maccatalyst = $(WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS$(WK_MACCATALYST_14));
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_MACCATALYST_SINCE_14 = YES;
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_macosx = $(WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS$(WK_MACOS_1400));
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_MACOS_SINCE_1400 = YES;
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_appletvos = $(WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS$(WK_TVOS_17));
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_appletvsimulator = $(WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS$(WK_TVOS_17));
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_TVOS_SINCE_17 = YES;
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_watchos = $(WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS$(WK_WATCHOS_10));
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_watchsimulator = $(WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS$(WK_WATCHOS_10));
WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS_WATCHOS_SINCE_10 = YES;
SUPPORTS_TEXT_BASED_API = $(WK_AND_$(TAPI_USE_SRCROOT)_$(WK_SUPPORTS_OTHER_TAPI_FLAGS_STATICLIBS));
TAPI_USE_SRCROOT = $(TAPI_USE_SRCROOT$(WK_XCODE_15));
TAPI_USE_SRCROOT_XCODE_SINCE_15 = YES;
TAPI_ENABLE_PROJECT_HEADERS = YES;
TAPI_VERIFY_MODE = Pedantic;
// C++ dialect flags (-fvisibility, others inherited from CommonBase.xcconfig)
// are needed because JavaScriptCore / WTF private headers are only safe to use
// from other WebKit projects, which build with the same dialect.
OTHER_TAPI_FLAGS = $(inherited) -fvisibility=hidden -exclude-private-header **/*SPI.h -extra-project-header $(SRCROOT)/API/ExtraSymbolsForTAPI.h $(OTHER_TAPI_FLAGS_STATICLIBS_$(DEPLOYMENT_LOCATION));
// JavaScriptCore exports libWTF.a and libbmalloc.a, so tapi needs to know about headers from those projects. The extra filelists are generated by their respective projects. In install-style builds, there is a postprocessing step done as a JavaScriptCore build phase.
OTHER_TAPI_FLAGS_STATICLIBS_NO = -filelist $(BUILT_PRODUCTS_DIR)/usr/local/include/bmalloc/bmalloc.json -filelist $(BUILT_PRODUCTS_DIR)/usr/local/include/wtf/WTF.json
OTHER_TAPI_FLAGS_STATICLIBS_YES = -filelist $(DERIVED_FILE_DIR)/bmalloc.json -filelist $(DERIVED_FILE_DIR)/WTF.json
WK_ERROR_WHEN_LINKING_WITH_STATIC_INITIALIZERS = -Xlinker -no_inits;
WK_NO_STATIC_INITIALIZERS = $(WK_NO_STATIC_INITIALIZERS_$(CONFIGURATION)_$(WK_ANY_SANITIZER_ENABLED)_$(ENABLE_LLVM_PROFILE_GENERATION));
WK_NO_STATIC_INITIALIZERS_Release__ = $(WK_ERROR_WHEN_LINKING_WITH_STATIC_INITIALIZERS);
WK_NO_STATIC_INITIALIZERS_Release_NO_ = $(WK_ERROR_WHEN_LINKING_WITH_STATIC_INITIALIZERS);
WK_NO_STATIC_INITIALIZERS_Production__ = $(WK_ERROR_WHEN_LINKING_WITH_STATIC_INITIALIZERS);
WK_NO_STATIC_INITIALIZERS_Production_NO_ = $(WK_ERROR_WHEN_LINKING_WITH_STATIC_INITIALIZERS);
OTHER_LDFLAGS_BASE = $(OTHER_LDFLAGS_JAVASCRIPTCORE_DEPS) -unexported_symbols_list $(SRCROOT)/unexported-libc++.txt -force_load $(WTF_ARCHIVE) -force_load $(BMALLOC_ARCHIVE) -force_load $(LIBJAVASCRIPTCORE_ARCHIVE) -load_hidden $(LIBPAS_ARCHIVE) $(SOURCE_VERSION_LDFLAGS) $(WK_NO_STATIC_INITIALIZERS);
OTHER_LDFLAGS[sdk=embedded*] = $(inherited) $(OTHER_LDFLAGS_BASE);
OTHER_LDFLAGS[sdk=macosx*] = $(inherited) $(OTHER_LDFLAGS_BASE) -framework CoreServices $(PROFILE_GENERATE_OR_USE_LDFLAGS);
SECTORDER_FLAGS = $(SECTORDER_FLAGS_$(CONFIGURATION));
SECTORDER_FLAGS_Production[sdk=macosx*] = -Wl,-order_file,JavaScriptCore.order;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = $(INSTALL_PATH_PREFIX)$(JAVASCRIPTCORE_FRAMEWORKS_DIR);
DYLIB_INSTALL_NAME_BASE = $(DYLIB_INSTALL_NAME_BASE_$(WK_USE_ALTERNATE_FRAMEWORKS_DIR));
DYLIB_INSTALL_NAME_BASE_NO = $(NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR)
DYLIB_INSTALL_NAME_BASE_YES = $(JAVASCRIPTCORE_FRAMEWORKS_DIR);
PRODUCT_BUNDLE_IDENTIFIER = com.apple.$(PRODUCT_NAME:rfc1034identifier);
ALTERNATE_ROOT_PATH = $(JAVASCRIPTCORE_FRAMEWORKS_DIR);
OUTPUT_ALTERNATE_ROOT_PATH = $(OUTPUT_ALTERNATE_ROOT_PATH_$(USE_SYSTEM_CONTENT_PATH)_$(WK_NOT_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR)));
OUTPUT_ALTERNATE_ROOT_PATH_YES_YES = $(DSTROOT)$(ALTERNATE_ROOT_PATH)/$(FULL_PRODUCT_NAME);
INSTALLHDRS_SCRIPT_PHASE = YES;
APPLY_RULES_IN_COPY_HEADERS = YES;
JSC_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED = YES;
JSC_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED[config=Production] = $(WK_USE_OVERRIDE_FRAMEWORKS_DIR);