blob: 44b8651d2d706ad1c2fba4fa85f1ba0c26f959ac [file] [log] [blame] [edit]
// 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_VERSION[sdk=macosx14*] = 5.0;
SWIFT_OPTIMIZATION_LEVEL = -O;
SWIFT_OPTIMIZATION_LEVEL[config=Debug] = -Onone;
GENERATE_BMALLOC_MODULEMAP = YES;
// A bmalloc modulemap confuses the building of PALSwift on older SDKs
GENERATE_BMALLOC_MODULEMAP[sdk=macosx14*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=macosx15*] = ;
// Work around SDKs which do not have the bug fix for rdar://157124281.
GENERATE_BMALLOC_MODULEMAP[sdk=macosx26.0*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=macosx26.1*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=macosx26.2*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=macosx26.3*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=iphone*26.0*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=iphone*26.1*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=iphone*26.2*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=iphone*26.3*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=appletv*26.0*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=appletv*26.1*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=appletv*26.2*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=appletv*26.3*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=watch*26.0*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=watch*26.1*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=watch*26.2*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=watch*26.3*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=xr*26.0*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=xr*26.1*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=xr*26.2*] = ;
GENERATE_BMALLOC_MODULEMAP[sdk=xr*26.3*] = ;
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;
_SWIFT_EXPLICIT_MODULES_ALLOW_CXX_INTEROP = $(GENERATE_BMALLOC_MODULEMAP);
SWIFT_INSTALL_MODULE_FOR_DEPLOYMENT = $(GENERATE_BMALLOC_MODULEMAP);
BUILD_LIBRARY_FOR_DISTRIBUTION = $(GENERATE_BMALLOC_MODULEMAP);
MODULES_FOLDER_PATH = $(MODULES_FOLDER_PATH_$(GENERATE_BMALLOC_MODULEMAP));
MODULES_FOLDER_PATH_YES = swift;
OTHER_SWIFT_FLAGS = $(inherited) $(OTHER_SWIFT_FLAGS_$(GENERATE_BMALLOC_MODULEMAP));
OTHER_SWIFT_FLAGS_YES = -Xcc -std=c++2b -enable-upcoming-feature InternalImportsByDefault -enable-upcoming-feature MemberImportVisibility -enable-upcoming-feature ExistentialAny -enable-upcoming-feature InferIsolatedConformances -enable-upcoming-feature NonisolatedNonsendingByDefault;
SWIFT_OBJC_INTEROP_MODE = $(SWIFT_OBJC_INTEROP_MODE_$(GENERATE_BMALLOC_MODULEMAP));
SWIFT_OBJC_INTEROP_MODE_YES = objcxx;
SWIFT_INSTALL_OBJC_HEADER = NO;
SWIFT_LIBRARY_LEVEL = spi;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(SWIFT_ACTIVE_COMPILATION_CONDITIONS_$(GENERATE_BMALLOC_MODULEMAP));
SWIFT_ACTIVE_COMPILATION_CONDITIONS_YES = BMALLOC_SWIFT_CXX_INTEROP;
SWIFT_DEFAULT_ACTOR_ISOLATION = nonisolated;
SWIFT_STRICT_CONCURRENCY = complete;
ENABLE_WK_LIBRARY_MODULE_VERIFIER = $(GENERATE_BMALLOC_MODULEMAP);
MODULE_VERIFIER_SUPPORTED_LANGUAGES = c objective-c c++ objective-c++;
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = gnu99 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;