// Copyright (C) 2012-2016 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 "BaseTarget.xcconfig" VALID_ARCHS[sdk=macosx*] = $(VALID_ARCHS_macosx_$(ONLY_ACTIVE_ARCH)); VALID_ARCHS_macosx_YES = $(VALID_ARCHS); VALID_ARCHS_macosx_NO = $(ARCHS_STANDARD); EXECUTABLE_SUFFIX = $(WK_XPC_SERVICE_SUFFIX); INSTALL_PATH = $(INSTALL_PATH_PREFIX)$(WEBKIT_FRAMEWORKS_DIR)/WebKit.framework/$(WK_FRAMEWORK_VERSION_PREFIX)XPCServices; APP_ICON = $(APP_ICON_$(CONFIGURATION)); APP_ICON_Debug = WebKit.icns; APP_ICON_Release = WebKit.icns; APP_ICON_Production = ; EXCLUDED_SOURCE_FILE_NAMES[sdk=embedded*] = $(EXCLUDED_SOURCE_FILE_NAMES_$(CONFIGURATION)) *.xib MediaFormatReader.bundle; EXCLUDED_SOURCE_FILE_NAMES[sdk=macos*] = $(EXCLUDED_SOURCE_FILE_NAMES_$(CONFIGURATION)) $(EXCLUDED_SOURCE_FILE_NAMES_$(WK_PLATFORM_NAME)); EXCLUDED_SOURCE_FILE_NAMES_Production = WebKit.icns; EXCLUDED_SOURCE_FILE_NAMES_maccatalyst = *.xib; OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH) $(WK_RELOCATABLE_FRAMEWORKS_LDFLAGS); WK_RELOCATABLE_FRAMEWORKS_LDFLAGS = $(WK_RELOCATABLE_FRAMEWORKS_LDFLAGS_$(WK_RELOCATABLE_FRAMEWORKS)); WK_RELOCATABLE_FRAMEWORKS_LDFLAGS_ = $(WK_RELOCATABLE_FRAMEWORKS_LDFLAGS_NO); WK_RELOCATABLE_FRAMEWORKS_LDFLAGS_NO = -Wl,-headerpad,0x130; // Leave room for adding the dyld environment commands to a service that wasn't built for relocatable frameworks or staged installation. WK_RELOCATABLE_FRAMEWORKS_LDFLAGS_YES = -Wl,-dyld_env,DYLD_FRAMEWORK_PATH=@executable_path/$(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORKS),-dyld_env,DYLD_LIBRARY_PATH=@executable_path/$(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_LIBRARIES); WK_PATH_FROM_SERVICE_EXECUTABLE_TO_LIBRARIES = $(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_LIBRARIES_DEPLOYMENT_$(DEPLOYMENT_LOCATION)); WK_PATH_FROM_SERVICE_EXECUTABLE_TO_LIBRARIES_DEPLOYMENT_YES = $(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK)/Frameworks; WK_PATH_FROM_SERVICE_EXECUTABLE_TO_LIBRARIES_DEPLOYMENT_NO = $(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK); WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORKS = $(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORKS_DEPLOYMENT_$(DEPLOYMENT_LOCATION)); WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORKS_DEPLOYMENT_YES = $(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK)/..; WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORKS_DEPLOYMENT_NO = $(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK); WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK = $(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK_SHALLOW_BUNDLE_$(SHALLOW_BUNDLE)_DEPLOYMENT_$(DEPLOYMENT_LOCATION)); WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK_SHALLOW_BUNDLE_NO_DEPLOYMENT_YES = ../../../../../..; WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK_SHALLOW_BUNDLE_YES_DEPLOYMENT_YES = ../..; WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK_SHALLOW_BUNDLE_NO_DEPLOYMENT_NO = ../../..; WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK_SHALLOW_BUNDLE_YES_DEPLOYMENT_NO = ..; // We want this to always be NO for non-simulator builds. If set to YES, Xcode will invoke codesign with an --entitlements parameter that points to the platform's BaseEntitlements.plist. This parameter would override any --entitlements parameter that we establish in WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS, causing our entitlements to be ignored. CODE_SIGN_INJECT_BASE_ENTITLEMENTS = NO; CODE_SIGN_INJECT_BASE_ENTITLEMENTS[sdk=*simulator] = YES; // For simulator builds, entitlements are added to a special __entitlements section on the binary rather than the signature. CODE_SIGN_ENTITLEMENTS[sdk=*simulator] = Resources/ios/XPCService-embedded-simulator.entitlements WK_PROCESSED_XCENT_FILE=$(TEMP_FILE_DIR)/$(FULL_PRODUCT_NAME).entitlements WK_LIBRARY_VALIDATION_ENABLED = $(WK_LIBRARY_VALIDATION_ENABLED_$(WK_EMPTY_$(WK_LIBRARY_VALIDATION_ENABLED))); WK_LIBRARY_VALIDATION_ENABLED_ = $(WK_LIBRARY_VALIDATION_ENABLED_NO); WK_LIBRARY_VALIDATION_ENABLED_NO = $(WK_LIBRARY_VALIDATION_ENABLED); WK_LIBRARY_VALIDATION_ENABLED_YES = YES; WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_$(WK_PLATFORM_NAME)); WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_macosx = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_macfamily); WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_maccatalyst = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_macfamily); WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iphoneos = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iosdevicefamily); WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_appletvos = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iosdevicefamily); WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_watchos = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iosdevicefamily); WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_macfamily = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_macfamily_VARIANT_$(WK_XPC_SERVICE_VARIANT)) --entitlements $(WK_PROCESSED_XCENT_FILE); WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_macfamily_VARIANT_ = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_macfamily_VARIANT_Normal); WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_macfamily_VARIANT_CaptivePortal = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_macfamily_VARIANT_Normal); WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_macfamily_VARIANT_Normal = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_macfamily_VARIANT_Normal_VALIDATION_$(WK_LIBRARY_VALIDATION_ENABLED)); WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_macfamily_VARIANT_Normal_VALIDATION_YES = -o library; WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iosdevicefamily = --entitlements $(WK_PROCESSED_XCENT_FILE); OTHER_CODE_SIGN_FLAGS = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS);