blob: f35c7dd5aae29b0cfe096478dcb36a89c0c8c918 [file] [log] [blame] [edit]
// Copyright (C) 2009-2025 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 "../../../Configurations/Version.xcconfig"
HEADER_SEARCH_PATHS = "$(BUILT_PRODUCTS_DIR)$(WK_LIBRARY_HEADERS_FOLDER_PATH)" $(inherited);
SYSTEM_HEADER_SEARCH_PATHS = $(WK_PRIVATE_SDK_DIR)$(WK_ALTERNATE_WEBKIT_SDK_PATH)$(WK_LIBRARY_HEADERS_FOLDER_PATH) $(inherited);
FRAMEWORK_SEARCH_PATHS[sdk=embedded*] = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR) $(BUILT_PRODUCTS_DIR);
FRAMEWORK_SEARCH_PATHS[sdk=macosx*] = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR);
SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) $(WK_PRIVATE_SDK_DIR)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks;
SWIFT_INCLUDE_PATHS = $(SRCROOT)/WebGPU/Internal;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = $(INSTALL_PATH_PREFIX)$(WEBGPU_FRAMEWORKS_DIR);
DYLIB_INSTALL_NAME_BASE = $(DYLIB_INSTALL_NAME_BASE_$(WK_USE_ALTERNATE_FRAMEWORKS_DIR));
DYLIB_INSTALL_NAME_BASE_NO = $(NORMAL_WEBGPU_FRAMEWORKS_DIR);
DYLIB_INSTALL_NAME_BASE_YES = $(WEBGPU_FRAMEWORKS_DIR);
CRYPTEX_SYMLINK_PATH = $(WEBGPU_FRAMEWORKS_DIR);
OUTPUT_CRYPTEX_SYMLINK_PATH = $(OUTPUT_CRYPTEX_SYMLINK_PATH_$(USE_SYSTEM_CONTENT_PATH)_$(WK_NOT_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR)));
OUTPUT_CRYPTEX_SYMLINK_PATH_YES_YES = $(DSTROOT)$(CRYPTEX_SYMLINK_PATH)/$(FULL_PRODUCT_NAME);
INSTALLHDRS_SCRIPT_PHASE = YES;
PRODUCT_NAME = WebGPU;
PRODUCT_BUNDLE_IDENTIFIER = com.apple.$(PRODUCT_NAME:rfc1034identifier);
WEBGPU_FRAMEWORKS_DIR = $(WEBGPU_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
WEBGPU_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(WEBGPU_FRAMEWORKS_DIR_USE_ALTERNATE_FRAMEWORKS_DIR_$(WK_USE_ALTERNATE_FRAMEWORKS_DIR));
WEBGPU_FRAMEWORKS_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
WEBGPU_FRAMEWORKS_DIR_USE_ALTERNATE_FRAMEWORKS_DIR_NO = $(NORMAL_WEBGPU_FRAMEWORKS_DIR);
WEBGPU_FRAMEWORKS_DIR_USE_ALTERNATE_FRAMEWORKS_DIR_YES = $(WK_ALTERNATE_FRAMEWORKS_DIR)/$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
GCC_PREPROCESSOR_DEFINITIONS = WGPU_SHARED_LIBRARY WGPU_IMPLEMENTATION $(inherited) $(GCC_PREPROCESSOR_DEFINITIONS_$(ENABLE_WEBGPU_SWIFT)) __WEBGPU__;
GCC_PREPROCESSOR_DEFINITIONS_ENABLE_WEBGPU_SWIFT = ENABLE_WEBGPU_SWIFT;
DEFINES_MODULE = YES;
MODULEMAP_FILE = WebGPU/WebGPU.modulemap;
SUPPORTS_TEXT_BASED_API = $(SUPPORTS_TEXT_BASED_API_$(OVERRIDE_SUPPORTS_TEXT_BASED_API));
SUPPORTS_TEXT_BASED_API_ = YES;
SUPPORTS_TEXT_BASED_API_NO = NO;
SUPPORTS_TEXT_BASED_API_YES = YES;
TAPI_USE_SRCROOT = $(TAPI_USE_SRCROOT$(WK_XCODE_15));
TAPI_USE_SRCROOT_XCODE_SINCE_15 = YES;
TAPI_VERIFY_MODE = Pedantic;
WK_AUDIT_SPI_ALLOWLISTS = $(SRCROOT)/Configurations/AllowedSPI.toml $(SRCROOT)/Configurations/AllowedSPI-legacy.toml $(WK_AUDIT_SPI_ALLOWLISTS_$(USE_INTERNAL_SDK));
WK_AUDIT_SPI_ALLOWLISTS_YES = $(WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH)/AllowedSPI/AllowedSPI-WebGPU.toml;
// HEADERMAP_INCLUDES_PROJECT_HEADERS = NO;
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES;
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);
// Work around rdar://139232237 / rdar://165050676 by hiding all exported symbols from the "Cxx" module.
UNEXPORT_SWIFT_CXX_LDFLAGS = -Wl,-unexported_symbol,_$s*3Cxx* -Wl,-unexported_symbol,_$s*defaultArg*;
ALLOW_SHARED_CACHE = $(ALLOW_SHARED_CACHE_$(WK_RELOCATABLE_FRAMEWORKS)_$(USE_STAGING_INSTALL_PATH)_$(WK_PLATFORM_NAME));
ALLOW_SHARED_CACHE_YES_YES_macosx = NO;
ALLOW_SHARED_CACHE_YES__macosx = NO;
ALLOW_SHARED_CACHE__YES_macosx = NO;
OTHER_LDFLAGS_SHARED_CACHE = $(OTHER_LDFLAGS_SHARED_CACHE_$(ALLOW_SHARED_CACHE));
OTHER_LDFLAGS_SHARED_CACHE_NO = -Wl,-not_for_dyld_shared_cache;
OTHER_LDFLAGS = $(inherited) $(UNEXPORT_SWIFT_CXX_LDFLAGS) $(SOURCE_VERSION_LDFLAGS) $(WK_NO_STATIC_INITIALIZERS) $(OTHER_LDFLAGS_SHARED_CACHE) $(OTHER_LDFLAGS_ADDITIONAL_FRAMEWORKS) -Wl,-unexported_symbol,*s_heapSpec;
ENABLE_WEBGPU_SWIFT = ;
ENABLE_WEBGPU_SWIFT[sdk=macosx*] = ENABLE_WEBGPU_SWIFT;
ENABLE_WEBGPU_SWIFT[sdk=macosx*26.0*] = ;
ENABLE_WEBGPU_SWIFT[sdk=macosx*26.1*] = ;
ENABLE_WEBGPU_SWIFT[sdk=macosx*26.2*] = ;
ENABLE_WEBGPU_SWIFT[sdk=macosx*26.3*] = ;
ENABLE_WEBGPU_SWIFT[sdk=macosx*14*] = ;
ENABLE_WEBGPU_SWIFT[sdk=macosx*15*] = ;
ENABLE_WEBGPU_SWIFT[sdk=iphoneos*] = ENABLE_WEBGPU_SWIFT;
ENABLE_WEBGPU_SWIFT[sdk=iphoneos*26.0*] = ;
ENABLE_WEBGPU_SWIFT[sdk=iphoneos*26.1*] = ;
ENABLE_WEBGPU_SWIFT[sdk=iphoneos*26.2*] = ;
ENABLE_WEBGPU_SWIFT[sdk=iphoneos*26.3*] = ;
// FIXME: Support WebGPU swift in iOS simulator builds once the underlying
// modules issue is fixed (https://bugs.webkit.org/show_bug.cgi?id=300146).
ENABLE_WEBGPU_SWIFT[sdk=iphonesimulator*] = ;
ENABLE_WEBGPU_SWIFT[sdk=xros*] = ENABLE_WEBGPU_SWIFT;
ENABLE_WEBGPU_SWIFT[sdk=xros*26.0*] = ;
ENABLE_WEBGPU_SWIFT[sdk=xros*26.1*] = ;
ENABLE_WEBGPU_SWIFT[sdk=xros*26.2*] = ;
ENABLE_WEBGPU_SWIFT[sdk=xros*26.3*] = ;
ENABLE_WEBGPU_SWIFT[sdk=appletvos*] = ;
ENABLE_WEBGPU_SWIFT[sdk=watchos*] = ;
SWIFT_OBJC_INTERFACE_HEADER_NAME = WebGPUSwift-Generated.h;
SWIFT_VERSION = 6.0;
SWIFT_INSTALL_OBJC_HEADER = NO;
SWIFT_OBJC_INTEROP_MODE = $(WK_SWIFT_OBJC_INTEROP_MODE_$(ENABLE_WEBGPU_SWIFT))
WK_SWIFT_OBJC_INTEROP_MODE_ENABLE_WEBGPU_SWIFT = objcxx;
// FIXME: reenable this once rdar://154887575 lands
// SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES
// FIXME: broaden SafeInteropWrappers to all of WebKit; rdar://159439903
OTHER_SWIFT_FLAGS = $(inherited) @$(BUILT_PRODUCTS_DIR)/DerivedSources/WebGPU/platform-enabled-swift-args.$(arch).resp -Xcc -std=c++2b -Xcc -D__WEBGPU__ -Xcc -DUCHAR_TYPE=char16_t -enable-experimental-feature SafeInteropWrappers -Xcc -fvisibility=hidden -no-verify-emitted-module-interface;
SWIFT_OPTIMIZATION_LEVEL = -O;
SWIFT_OPTIMIZATION_LEVEL[config=Debug] = -Onone;
EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(ENABLE_WEBGPU_SWIFT));
EXCLUDED_SOURCE_FILE_NAMES_ENABLE_WEBGPU_SWIFT =;
EXCLUDED_SOURCE_FILE_NAMES_ = *.swift;
BUILD_LIBRARY_FOR_DISTRIBUTION = YES; // This is required for all frameworks in the OS.
RUN_SWIFT_ABI_CHECKER_TOOL = NO;
// When back-deploying for STP and downlevel builds, force Xcode to embed any
// compatibility runtimes alongside WebKit.framework.
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = $(WK_USE_OVERRIDE_FRAMEWORKS_DIR);
SWIFT_STDLIB_TOOL_DESTINATION_DIR = $(DSTROOT)$(WK_OVERRIDE_FRAMEWORKS_DIR);