| // Copyright (C) 2014 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. |
| |
| EXECUTABLE_PREFIX = lib; |
| INSTALL_PATH = $(BMALLOC_INSTALL_PATH_PREFIX)$(WK_LIBRARY_INSTALL_PATH); |
| INSTALLHDRS_SCRIPT_PHASE = YES; |
| PRIVATE_HEADERS_FOLDER_PATH = $(BMALLOC_INSTALL_PATH_PREFIX)$(WK_LIBRARY_HEADERS_FOLDER_PATH)/bmalloc; |
| PRODUCT_NAME = bmalloc; |
| |
| GCC_SYMBOLS_PRIVATE_EXTERN = YES; |
| STRIP_INSTALLED_PRODUCT = NO; |
| |
| // Used to generate headers filelist for TAPI in JavaScriptCore. CPP_HEADERMAP_PRODUCT_HEADERS_VFS_FILE |
| // is not exported to script phases, so it must be bound to a different name. |
| WK_HEADERS_VFS_FILE = $(CPP_HEADERMAP_PRODUCT_HEADERS_VFS_FILE); |
| |
| SWIFT_VERSION = 6.0; |
| |
| SWIFT_OPTIMIZATION_LEVEL = -O; |
| SWIFT_OPTIMIZATION_LEVEL[config=Debug] = -Onone; |
| |
| GENERATE_BMALLOC_MODULEMAP = YES; |
| |
| // The bmalloc module is ill-formed on bridgeOS. |
| GENERATE_BMALLOC_MODULEMAP[sdk=bridgeos*] = ; |
| |
| EXCLUDED_SOURCE_FILE_NAMES = $(inherited) $(EXCLUDED_SOURCE_FILE_NAMES_$(GENERATE_BMALLOC_MODULEMAP)); |
| EXCLUDED_SOURCE_FILE_NAMES_ = module.modulemap; |
| EXCLUDED_SOURCE_FILE_NAMES_NO = module.modulemap; |
| |
| // Some SDKs which have a bmalloc module do not support allowing Cxx interop with Swift explicit modules. |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP = $(GENERATE_BMALLOC_MODULEMAP); |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=macosx15*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=macosx26.0*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=macosx26.1*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=macosx26.2*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=macosx26.3*] = ; |
| |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=iphone*26.0*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=iphone*26.1*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=iphone*26.2*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=iphone*26.3*] = ; |
| |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=appletv*26.0*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=appletv*26.1*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=appletv*26.2*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=appletv*26.3*] = ; |
| |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=watch*26.0*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=watch*26.1*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=watch*26.2*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=watch*26.3*] = ; |
| |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=xr*26.0*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=xr*26.1*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=xr*26.2*] = ; |
| WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP[sdk=xr*26.3*] = ; |
| |
| // Some SDKs which have a bmalloc module do not support allowing Cxx interop with Swift explicit modules. |
| _SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP = $(WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP); |
| |
| SWIFT_INSTALL_MODULE_FOR_DEPLOYMENT = $(WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP); |
| BUILD_LIBRARY_FOR_DISTRIBUTION = $(WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP); |
| |
| MODULES_FOLDER_PATH = $(MODULES_FOLDER_PATH_$(WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP)); |
| MODULES_FOLDER_PATH_YES = swift; |
| |
| OTHER_SWIFT_FLAGS = $(inherited) $(OTHER_SWIFT_FLAGS_GENERATE_BMALLOC_MODULEMAP_$(GENERATE_BMALLOC_MODULEMAP)) $(OTHER_SWIFT_FLAGS_WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP_$(WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP)); |
| OTHER_SWIFT_FLAGS_GENERATE_BMALLOC_MODULEMAP_YES = ; |
| OTHER_SWIFT_FLAGS_WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP_ = -no-verify-emitted-module-interface; |
| OTHER_SWIFT_FLAGS_WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP_YES = -Xcc -std=c++2b; |
| |
| SWIFT_OBJC_INTEROP_MODE = $(SWIFT_OBJC_INTEROP_MODE_$(WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP)); |
| SWIFT_OBJC_INTEROP_MODE_YES = objcxx; |
| |
| SWIFT_INSTALL_OBJC_HEADER = NO; |
| SWIFT_LIBRARY_LEVEL = spi; |
| |
| SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(SWIFT_ACTIVE_COMPILATION_CONDITIONS_$(WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP)); |
| SWIFT_ACTIVE_COMPILATION_CONDITIONS_YES = BMALLOC_SWIFT_CXX_INTEROP; |
| |
| SWIFT_DEFAULT_ACTOR_ISOLATION = nonisolated; |
| SWIFT_STRICT_CONCURRENCY = complete; |
| |
| ENABLE_WK_LIBRARY_MODULE_VERIFIER = $(WK_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP); |
| MODULE_VERIFIER_SUPPORTED_LANGUAGES = c objective-c c++ objective-c++; |
| MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = gnu99 gnu23 c23 c++2b; |
| |
| OTHER_MODULE_VERIFIER_FLAGS = -- -isystem $(DSTROOT)$(BMALLOC_INSTALL_PATH_PREFIX)$(WK_LIBRARY_HEADERS_FOLDER_PATH) -I$(BUILT_PRODUCTS_DIR)$(WK_LIBRARY_HEADERS_FOLDER_PATH) -I$(WK_ADDITIONAL_SDKS)$(WK_LIBRARY_HEADERS_FOLDER_PATH) -isystem "$(WK_PRIVATE_SDK_DIR)$(WK_ALTERNATE_WEBKIT_SDK_PATH)$(WK_LIBRARY_HEADERS_FOLDER_PATH)" -iframework $(WK_PRIVATE_SDK_DIR)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks -Wsystem-headers-in-module=bmalloc; |