| // 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[sdk=iphone*] = $(WEBKIT_FRAMEWORKS_DIR)/WebKit.framework/XPCServices; |
| INSTALL_PATH[sdk=macosx*] = $(WEBKIT_FRAMEWORKS_DIR)/WebKit.framework/Versions/A/XPCServices; |
| |
| ALTERNATE_ROOT_PATH = $(WEBKIT_FRAMEWORKS_DIR)/WebKit.framework/XPCServices; |
| |
| OUTPUT_ALTERNATE_ROOT_PATH = $(OUTPUT_ALTERNATE_ROOT_PATH_$(USE_SYSTEM_CONTENT_PATH)); |
| OUTPUT_ALTERNATE_ROOT_PATH_YES = $(DSTROOT)$(ALTERNATE_ROOT_PATH)/$(FULL_PRODUCT_NAME); |
| |
| 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_Production = WebKit.icns; |
| |
| 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_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); |