| // 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); |