BaseXPCService.xcconfig   [plain text]


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

APP_ICON = $(APP_ICON_$(CONFIGURATION));
APP_ICON_Debug = WebKit.icns;
APP_ICON_Release = WebKit.icns;
APP_ICON_Production = ;

EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(CONFIGURATION));
EXCLUDED_SOURCE_FILE_NAMES_Production = WebKit.icns;

EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = $(EXCLUDED_SOURCE_FILE_NAMES_$(CONFIGURATION)) *.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. 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;

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_iphonesimulator = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iossimulatorfamily);
WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_appletvos = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iosdevicefamily);
WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_appletvsimulator = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iossimulatorfamily);
WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_watchos = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iosdevicefamily);
WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_watchsimulator = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iossimulatorfamily);

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);
WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iossimulatorfamily = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iossimulatorfamily_XBS_$(RC_XBS));
WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iossimulatorfamily_XBS_ = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iossimulatorfamily_XBS_NO);
WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iossimulatorfamily_XBS_NO = --entitlements $(WK_PROCESSED_XCENT_FILE);
WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS_iossimulatorfamily_XBS_YES = ;

OTHER_CODE_SIGN_FLAGS = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS);