blob: 104efbee94d283bee699b7515db042d2f75d0f6c [file] [log] [blame] [edit]
// Copyright (C) 2010-2024 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.
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) GTEST_API_=
SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) $(SYSTEM_FRAMEWORK_SEARCH_PATHS_$(WK_COCOA_TOUCH));
SYSTEM_FRAMEWORK_SEARCH_PATHS_ = $(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks;
PROJECT_HEADER_SEARCH_PATHS = $(SRCROOT)/../../Source/WebKit/Platform $(SRCROOT)/../../Source/WebKit/Platform/IPC $(SRCROOT)/../../Source/WebKit/Platform/IPC/darwin $(SRCROOT)/../../Source/WebKit/Platform/IPC/cocoa $(SRCROOT)/../../Source/WebKit/Shared $(SRCROOT)/../../Source/WebKit/Shared/Cocoa $(SRCROOT)/../../Source/WebKit/Shared/cf $(SRCROOT)/../../Source/WebKit/Shared/API/C $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit $(inherited);
WK_APPSERVERSUPPORT_LDFLAGS[sdk=iphone*] = -framework AppServerSupport
WK_APPSERVERSUPPORT_LDFLAGS[sdk=xr*] = -framework AppServerSupport
WK_AUTHKIT_LDFLAGS = $(WK_AUTHKIT_LDFLAGS_$(WK_PLATFORM_NAME));
WK_AUTHKIT_LDFLAGS_iphoneos = -framework AuthKit;
WK_AUTHKIT_LDFLAGS_iphonesimulator = -framework AuthKit;
WK_AUTHKIT_LDFLAGS_xros = -framework AuthKit;
WK_AUTHKIT_LDFLAGS_xrsimulator = -framework AuthKit;
WK_AUTHKIT_LDFLAGS_macosx = -framework AuthKit;
WK_BROWSERENGINEKIT_LDFLAGS =
WK_BROWSERENGINEKIT_LDFLAGS[sdk=iphone*] = -framework BrowserEngineKit
WK_BROWSERENGINEKIT_LDFLAGS[sdk=appletv*] =
WK_BROWSERENGINEKIT_LDFLAGS[sdk=watch*] =
WK_BROWSERENGINEKIT_LDFLAGS[sdk=xr*] =
WK_REVEAL_LDFLAGS = $(WK_REVEAL_LDFLAGS_$(WK_PLATFORM_NAME));
WK_REVEAL_LDFLAGS_macosx = $(WK_REVEAL_LDFLAGS$(WK_MACOS_1015));
WK_REVEAL_LDFLAGS_MACOS_SINCE_1015 = -framework Reveal;
WK_HID_LDFLAGS = $(WK_HID_LDFLAGS_$(WK_PLATFORM_NAME));
WK_HID_LDFLAGS_macosx = $(WK_HID_LDFLAGS$(WK_MACOS_1015));
WK_HID_LDFLAGS_MACOS_SINCE_1015 = -framework HID;
WK_VISIONKITCORE_LDFLAGS = $(WK_VISIONKITCORE_LDFLAGS_$(WK_PLATFORM_NAME));
WK_VISIONKITCORE_LDFLAGS_iphoneos = -framework VisionKitCore;
WK_VISIONKITCORE_LDFLAGS_iphonesimulator = -framework VisionKitCore;
WK_VISIONKITCORE_LDFLAGS_xros = -framework VisionKitCore;
WK_VISIONKITCORE_LDFLAGS_xrsimulator = -framework VisionKitCore;
WK_OPENGL_LDFLAGS = $(WK_OPENGL_LDFLAGS_$(WK_PLATFORM_NAME));
WK_OPENGL_LDFLAGS_macosx = -framework OpenGL;
WK_OPENGL_LDFLAGS_iphoneos = -framework OpenGLES;
WK_OPENGL_LDFLAGS_iphonesimulator = -framework OpenGLES;
WK_OPENGL_LDFLAGS_xros = -framework OpenGLES;
WK_OPENGL_LDFLAGS_xrsimulator = -framework OpenGLES;
WK_PDFKIT_LDFLAGS = $(WK_PDFKIT_LDFLAGS_$(WK_PLATFORM_NAME));
WK_PDFKIT_LDFLAGS_macosx = -framework PDFKit;
WK_PDFKIT_LDFLAGS_maccatalyst = -framework PDFKit;
WK_PDFKIT_LDFLAGS_iphoneos = -framework PDFKit;
WK_PDFKIT_LDFLAGS_iphonesimulator = -framework PDFKit;
WK_PDFKIT_LDFLAGS_xros = -framework PDFKit;
WK_PDFKIT_LDFLAGS_xrsimulator = -framework PDFKit;
WK_PDFKIT_LDFLAGS_appletvos = -weak_framework PDFKit;
WK_PDFKIT_LDFLAGS_appletvsimulator = -weak_framework PDFKit;
WK_SYSTEM_LDFLAGS = $(WK_SYSTEM_LDFLAGS_$(WK_PLATFORM_NAME));
WK_SYSTEM_LDFLAGS_macosx = -framework System;
WK_SYSTEM_LDFLAGS_iphoneos = $(WK_SYSTEM_LDFLAGS_$(WK_IOS_15));
WK_SYSTEM_LDFLAGS_iphonesimulator = $(WK_SYSTEM_LDFLAGS_$(WK_IOS_15));
WK_SYSTEM_LDFLAGS_IOS_SINCE_15 = -framework System;
WK_UIKITMACHELPER_LDFLAGS = $(WK_UIKITMACHELPER_LDFLAGS_$(WK_PLATFORM_NAME));
WK_UIKITMACHELPER_LDFLAGS_maccatalyst = -framework UIKitMacHelper;
WK_WEBCORE_LDFLAGS = $(WK_WEBCORE_LDFLAGS_$(WK_PLATFORM_NAME));
WK_WEBCORE_LDFLAGS_iphoneos = -framework WebCore
WK_WEBCORE_LDFLAGS_iphonesimulator = -framework WebCore
WK_WEBCORE_LDFLAGS_watchos = -framework WebCore
WK_WEBCORE_LDFLAGS_watchsimulator = -framework WebCore
WK_IMAGEIO_LDFLAGS = $(WK_IMAGEIO_LDFLAGS_$(WK_PLATFORM_NAME))
WK_IMAGEIO_LDFLAGS_iphoneos = -framework ImageIO
WK_IMAGEIO_LDFLAGS_iphonesimulator = -framework ImageIO
WK_IMAGEIO_LDFLAGS_xros = -framework ImageIO
WK_IMAGEIO_LDFLAGS_xrsimulator = -framework ImageIO
WK_IMAGEIO_LDFLAGS_maccatalyst = -framework ImageIO
WK_IMAGEIO_LDFLAGS_appletvos = -framework ImageIO
WK_IMAGEIO_LDFLAGS_appletvsimulator = -framework ImageIO
WK_IMAGEIO_LDFLAGS_watchos = -framework ImageIO
WK_IMAGEIO_LDFLAGS_watchsimulator = -framework ImageIO
WK_IMAGEIO_LDFLAGS_macosx = $(WK_IMAGEIO_LDFLAGS$(WK_MACOS_1300));
WK_IMAGEIO_LDFLAGS_MACOS_SINCE_1300 = -framework ImageIO;
WK_WRITING_TOOLS_LDFLAGS = $(WK_WRITING_TOOLS_LDFLAGS_$(WK_PLATFORM_NAME));
WK_WRITING_TOOLS_LDFLAGS_iphoneos = $(WK_WRITING_TOOLS_LDFLAGS$(WK_IOS_18));
WK_WRITING_TOOLS_LDFLAGS_iphonesimulator = $(WK_WRITING_TOOLS_LDFLAGS$(WK_IOS_18));
WK_WRITING_TOOLS_LDFLAGS_IOS_SINCE_18 = -weak_framework WritingTools;
WK_WRITING_TOOLS_LDFLAGS_maccatalyst = $(WK_WRITING_TOOLS_LDFLAGS_maccatalyst$(WK_MACOS_1500));
WK_WRITING_TOOLS_LDFLAGS_maccatalyst_MACOS_SINCE_1500 = -weak_framework WritingTools;
WK_WRITING_TOOLS_LDFLAGS_macosx = $(WK_WRITING_TOOLS_LDFLAGS$(WK_MACOS_1500));
WK_WRITING_TOOLS_LDFLAGS_MACOS_SINCE_1500 = -weak_framework WritingTools;
WK_WRITING_TOOLS_LDFLAGS[sdk=xr*] = -weak_framework WritingTools;
WK_WRITING_TOOLS_LDFLAGS[sdk=xros2.0*] = ;
WK_WRITING_TOOLS_LDFLAGS[sdk=xros2.1*] = ;
WK_WRITING_TOOLS_LDFLAGS[sdk=xros2.2*] = ;
WK_WRITING_TOOLS_LDFLAGS[sdk=xros2.3*] = ;
WK_WRITING_TOOLS_LDFLAGS[sdk=xrsimulator2.0*] = ;
WK_WRITING_TOOLS_LDFLAGS[sdk=xrsimulator2.1*] = ;
WK_WRITING_TOOLS_LDFLAGS[sdk=xrsimulator2.2*] = ;
WK_WRITING_TOOLS_LDFLAGS[sdk=xrsimulator2.3*] = ;
WK_WRITING_TOOLS_UI_LDFLAGS = $(WK_WRITING_TOOLS_UI_LDFLAGS_$(WK_PLATFORM_NAME));
WK_WRITING_TOOLS_UI_LDFLAGS_iphoneos = $(WK_WRITING_TOOLS_UI_LDFLAGS$(WK_IOS_18));
WK_WRITING_TOOLS_UI_LDFLAGS_iphonesimulator = ;
WK_WRITING_TOOLS_UI_LDFLAGS_IOS_SINCE_18 = -weak_framework WritingToolsUI;
WK_WRITING_TOOLS_UI_LDFLAGS_maccatalyst = $(WK_WRITING_TOOLS_UI_LDFLAGS_maccatalyst$(WK_MACOS_1500));
WK_WRITING_TOOLS_UI_LDFLAGS_maccatalyst_MACOS_SINCE_1500 = -weak_framework WritingToolsUI;
WK_WRITING_TOOLS_UI_LDFLAGS_macosx = $(WK_WRITING_TOOLS_UI_LDFLAGS$(WK_MACOS_1500));
WK_WRITING_TOOLS_UI_LDFLAGS_MACOS_SINCE_1500 = -weak_framework WritingToolsUI;
WK_GAMECONTROLLER_LDFLAGS = $(WK_GAMECONTROLLER_LDFLAGS_$(WK_PLATFORM_NAME))
WK_GAMECONTROLLER_LDFLAGS_iphoneos = -framework GameController
WK_GAMECONTROLLER_LDFLAGS_iphonesimulator = -framework GameController
WK_GAMECONTROLLER_LDFLAGS_xros = -framework GameController
WK_GAMECONTROLLER_LDFLAGS_xrsimulator = -framework GameController
OTHER_LDFLAGS = $(inherited) $(GTEST_LDFLAGS) -lxml2 -force_load $(BUILT_PRODUCTS_DIR)/libTestWebKitAPI.a -framework JavaScriptCore -framework WebCore -framework WebKit -lWebCoreTestSupport -framework Metal -framework IOSurface $(WK_APPSERVERSUPPORT_LDFLAGS) $(WK_AUTHKIT_LDFLAGS) -framework Network -framework UniformTypeIdentifiers -framework CoreFoundation -framework CoreServices -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework CoreText -framework IOKit -lboringssl -licucore -framework LocalAuthentication -framework QuartzCore -framework Security -framework AVKit $(WK_BROWSERENGINEKIT_LDFLAGS) $(WK_HID_LDFLAGS) $(WK_IMAGEIO_LDFLAGS) $(WK_OPENGL_LDFLAGS) $(WK_PDFKIT_LDFLAGS) $(WK_SYSTEM_LDFLAGS) $(WK_UIKITMACHELPER_LDFLAGS) $(WK_VISIONKITCORE_LDFLAGS) $(WK_WEBCORE_LDFLAGS) $(WK_REVEAL_LDFLAGS) $(WK_WRITING_TOOLS_LDFLAGS) $(WK_WRITING_TOOLS_UI_LDFLAGS) $(WK_GAMECONTROLLER_LDFLAGS) $(OTHER_LDFLAGS_DELAY_INIT) $(OTHER_LDFLAGS_PLATFORM_$(WK_COCOA_TOUCH)) $(OTHER_LDFLAGS_ENTITLEMENTS);
OTHER_LDFLAGS_DELAY_INIT[sdk=iphone*] = -Wl,-delay_framework,CoreTelephony;
OTHER_LDFLAGS_DELAY_INIT[sdk=iphone*17.*] = ;
OTHER_LDFLAGS_DELAY_INIT[sdk=appletv*] = ;
OTHER_LDFLAGS_DELAY_INIT[sdk=watch*] = ;
OTHER_LDFLAGS_DELAY_INIT[sdk=xr*] = ;
OTHER_LDFLAGS_PLATFORM_ = -framework Cocoa -framework Carbon;
// FIXME: This should not be built on iOS. Instead we should create and use a TestWebKitAPI application.
OTHER_LDFLAGS_PLATFORM_cocoatouch = -framework WebCore -framework UIKit -framework MobileCoreServices;
LD_RUNPATH_SEARCH_PATHS = "@loader_path";
CODE_SIGN_INJECT_BASE_ENTITLEMENTS = NO;
OTHER_CODE_SIGN_FLAGS = --entitlements $(WK_PROCESSED_XCENT_FILE);
OTHER_CODE_SIGN_FLAGS[sdk=*simulator] = --entitlements $(WK_PROCESSED_SIMULATOR_XCENT_FILE);
OTHER_LDFLAGS_ENTITLEMENTS[sdk=*simulator] = -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker $(WK_PROCESSED_XCENT_FILE);
WK_PROCESSED_SIMULATOR_XCENT_FILE = ;
WK_PROCESSED_SIMULATOR_XCENT_FILE[sdk=*simulator] = $(TEMP_FILE_DIR)/$(FULL_PRODUCT_NAME).xcent;
WK_PROCESSED_XCENT_FILE = $(TEMP_FILE_DIR)/$(FULL_PRODUCT_NAME).xcent;
WK_PROCESSED_XCENT_FILE[sdk=*simulator] = $(TEMP_FILE_DIR)/$(FULL_PRODUCT_NAME)-Simulated.xcent;
WK_USE_RESTRICTED_ENTITLEMENTS = $(USE_INTERNAL_SDK);
STRIP_STYLE = debugging;
CODE_SIGN_IDENTITY[sdk=macosx*] = $(CODE_SIGN_IDENTITY_$(CONFIGURATION));
CODE_SIGN_IDENTITY_Debug = $(CODE_SIGN_IDENTITY_$(USE_INTERNAL_SDK));
CODE_SIGN_IDENTITY_Release = $(CODE_SIGN_IDENTITY_$(USE_INTERNAL_SDK));
CODE_SIGN_IDENTITY_ = -;
CODE_SIGN_IDENTITY_YES = $(WK_ENGINEERING_CODE_SIGN_IDENTITY);
CODE_SIGN_IDENTITY_Production = $(CODE_SIGN_IDENTITY_Production_$(USE_INTERNAL_SDK));
CODE_SIGN_IDENTITY_Production_YES = -;
INFOPLIST_FILE = $(SRCROOT)/Info.plist;
ENTITLEMENTS_REQUIRED = $(ENTITLEMENTS_REQUIRED_USE_INTERNAL_SDK_$(USE_INTERNAL_SDK))
ENTITLEMENTS_REQUIRED_USE_INTERNAL_SDK_ = NO;
ENTITLEMENTS_REQUIRED_USE_INTERNAL_SDK_NO = NO;
ENTITLEMENTS_REQUIRED_USE_INTERNAL_SDK_YES = $(ENTITLEMENTS_REQUIRED);