WebKitLegacy should re-export symbols from WebCore on watchos and tvos
[WebKit.git] / Source / WebKit / mac / MigrateHeaders.make
1 # Copyright (C) 2006, 2007, 2008, 2017 Apple Inc. All rights reserved.
2 # Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
3 #
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions
6 # are met:
7 #
8 # 1.  Redistributions of source code must retain the above copyright
9 #     notice, this list of conditions and the following disclaimer. 
10 # 2.  Redistributions in binary form must reproduce the above copyright
11 #     notice, this list of conditions and the following disclaimer in the
12 #     documentation and/or other materials provided with the distribution. 
13 # 3.  Neither the name of Apple Inc. ("Apple") nor the names of
14 #     its contributors may be used to endorse or promote products derived
15 #     from this software without specific prior written permission. 
16 #
17 # THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
18 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 # DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
21 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
28 VPATH = DOM $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKitLegacy/WebCorePrivateHeaders
29
30 PRIVATE_HEADERS_DIR = $(BUILT_PRODUCTS_DIR)/$(PRIVATE_HEADERS_FOLDER_PATH)
31
32 HEADERS = \
33     $(PRIVATE_HEADERS_DIR)/WebKitAvailability.h \
34     $(PRIVATE_HEADERS_DIR)/WebScriptObject.h \
35 #
36
37 ifeq ($(PLATFORM_NAME), macosx)
38 HEADERS += \
39     $(PRIVATE_HEADERS_DIR)/npapi.h \
40     $(PRIVATE_HEADERS_DIR)/npfunctions.h \
41     $(PRIVATE_HEADERS_DIR)/npruntime.h \
42     $(PRIVATE_HEADERS_DIR)/nptypes.h \
43 #
44 endif
45
46 ifneq ($(PLATFORM_NAME), macosx)
47 HEADERS += \
48     $(PRIVATE_HEADERS_DIR)/KeyEventCodesIOS.h \
49     $(PRIVATE_HEADERS_DIR)/WAKAppKitStubs.h \
50     $(PRIVATE_HEADERS_DIR)/WAKResponder.h \
51     $(PRIVATE_HEADERS_DIR)/WAKView.h \
52     $(PRIVATE_HEADERS_DIR)/WAKWindow.h \
53     $(PRIVATE_HEADERS_DIR)/WKContentObservation.h \
54     $(PRIVATE_HEADERS_DIR)/WKGraphics.h \
55     $(PRIVATE_HEADERS_DIR)/WKTypes.h \
56     $(PRIVATE_HEADERS_DIR)/WebCoreThread.h \
57     $(PRIVATE_HEADERS_DIR)/WebCoreThreadMessage.h \
58     $(PRIVATE_HEADERS_DIR)/WebCoreThreadRun.h \
59     $(PRIVATE_HEADERS_DIR)/WebEvent.h \
60 #
61 endif
62
63 ifeq ($(findstring ENABLE_IOS_TOUCH_EVENTS, $(FEATURE_DEFINES)), ENABLE_IOS_TOUCH_EVENTS)
64 HEADERS += \
65     $(PRIVATE_HEADERS_DIR)/WebEventRegion.h
66 endif
67
68 .PHONY : all
69 all : $(HEADERS)
70
71 WEBCORE_HEADER_REPLACE_RULES = -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/"
72 WEBCORE_HEADER_MIGRATE_CMD = sed -E $(WEBCORE_HEADER_REPLACE_RULES) $< > $@
73
74 $(PRIVATE_HEADERS_DIR)/% : % MigrateHeaders.make
75         $(WEBCORE_HEADER_MIGRATE_CMD)
76
77 ifneq ($(PLATFORM_NAME), macosx)
78 REEXPORT_FILE = $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKitLegacy/ReexportedWebCoreSymbols_$(CURRENT_ARCH).exp
79
80 all : $(REEXPORT_FILE)
81
82 TAPI_PATH = $(strip $(shell xcrun --find tapi 2>/dev/null))
83 ifneq (,$(TAPI_PATH))
84 REEXPORT_COMMAND = $(TAPI_PATH) reexport -arch $(CURRENT_ARCH) -$(DEPLOYMENT_TARGET_CLANG_FLAG_NAME)=$($(DEPLOYMENT_TARGET_CLANG_ENV_NAME)) -isysroot $(SDK_DIR) -F $(BUILT_PRODUCTS_DIR) $^ -o $@
85 else
86 # Temporary stub for SDKs that don't have the tapi command, <rdar://problem/24582471>.
87 REEXPORT_COMMAND = touch $@
88 endif
89
90 $(REEXPORT_FILE) : $(HEADERS)
91         $(REEXPORT_COMMAND)
92 endif