Perform media networking operations off the main thread
[WebKit-https.git] / Source / WebKit / mac / MigrateHeadersFromWebKitLegacy.make
1 # Copyright (C) 2006, 2007, 2008, 2014 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 # Migration of WebKit Legacy headers to WebKit.
29
30 PRIVATE_HEADERS_DIR = $(BUILT_PRODUCTS_DIR)/$(PRIVATE_HEADERS_FOLDER_PATH)
31 PUBLIC_HEADERS_DIR = $(BUILT_PRODUCTS_DIR)/$(PUBLIC_HEADERS_FOLDER_PATH)
32
33
34 RECENTLY_REMOVED_WEBKIT_LEGACY_PRIVATE_HEADERS = \
35     MemoryMeasure.h
36
37 DELETE_STALE_WEBKIT_PRIVATE_HEADERS = $(addprefix $(PRIVATE_HEADERS_DIR)/, $(RECENTLY_REMOVED_WEBKIT_LEGACY_PRIVATE_HEADERS))
38 $(shell /bin/rm -f $(DELETE_STALE_WEBKIT_PRIVATE_HEADERS))
39
40
41 ifeq ($(WK_PLATFORM_NAME), macosx)
42
43 WEBKIT_PUBLIC_HEADERS = \
44     DOM.h \
45     DOMAbstractView.h \
46     DOMAttr.h \
47     DOMBlob.h \
48     DOMCDATASection.h \
49     DOMCSS.h \
50     DOMCSSCharsetRule.h \
51     DOMCSSFontFaceRule.h \
52     DOMCSSImportRule.h \
53     DOMCSSMediaRule.h \
54     DOMCSSPageRule.h \
55     DOMCSSPrimitiveValue.h \
56     DOMCSSRule.h \
57     DOMCSSRuleList.h \
58     DOMCSSStyleDeclaration.h \
59     DOMCSSStyleRule.h \
60     DOMCSSStyleSheet.h \
61     DOMCSSUnknownRule.h \
62     DOMCSSValue.h \
63     DOMCSSValueList.h \
64     DOMCharacterData.h \
65     DOMComment.h \
66     DOMCore.h \
67     DOMCounter.h \
68     DOMDocument.h \
69     DOMDocumentFragment.h \
70     DOMDocumentType.h \
71     DOMElement.h \
72     DOMEntity.h \
73     DOMEntityReference.h \
74     DOMEvent.h \
75     DOMEventException.h \
76     DOMEventListener.h \
77     DOMEventTarget.h \
78     DOMEvents.h \
79     DOMException.h \
80     DOMExtensions.h \
81     DOMFile.h \
82     DOMFileList.h \
83     DOMHTML.h \
84     DOMHTMLAnchorElement.h \
85     DOMHTMLAppletElement.h \
86     DOMHTMLAreaElement.h \
87     DOMHTMLBRElement.h \
88     DOMHTMLBaseElement.h \
89     DOMHTMLBaseFontElement.h \
90     DOMHTMLBodyElement.h \
91     DOMHTMLButtonElement.h \
92     DOMHTMLCollection.h \
93     DOMHTMLDListElement.h \
94     DOMHTMLDirectoryElement.h \
95     DOMHTMLDivElement.h \
96     DOMHTMLDocument.h \
97     DOMHTMLElement.h \
98     DOMHTMLEmbedElement.h \
99     DOMHTMLFieldSetElement.h \
100     DOMHTMLFontElement.h \
101     DOMHTMLFormElement.h \
102     DOMHTMLFrameElement.h \
103     DOMHTMLFrameSetElement.h \
104     DOMHTMLHRElement.h \
105     DOMHTMLHeadElement.h \
106     DOMHTMLHeadingElement.h \
107     DOMHTMLHtmlElement.h \
108     DOMHTMLIFrameElement.h \
109     DOMHTMLImageElement.h \
110     DOMHTMLInputElement.h \
111     DOMHTMLLIElement.h \
112     DOMHTMLLabelElement.h \
113     DOMHTMLLegendElement.h \
114     DOMHTMLLinkElement.h \
115     DOMHTMLMapElement.h \
116     DOMHTMLMarqueeElement.h \
117     DOMHTMLMenuElement.h \
118     DOMHTMLMetaElement.h \
119     DOMHTMLModElement.h \
120     DOMHTMLOListElement.h \
121     DOMHTMLObjectElement.h \
122     DOMHTMLOptGroupElement.h \
123     DOMHTMLOptionElement.h \
124     DOMHTMLOptionsCollection.h \
125     DOMHTMLParagraphElement.h \
126     DOMHTMLParamElement.h \
127     DOMHTMLPreElement.h \
128     DOMHTMLQuoteElement.h \
129     DOMHTMLScriptElement.h \
130     DOMHTMLSelectElement.h \
131     DOMHTMLStyleElement.h \
132     DOMHTMLTableCaptionElement.h \
133     DOMHTMLTableCellElement.h \
134     DOMHTMLTableColElement.h \
135     DOMHTMLTableElement.h \
136     DOMHTMLTableRowElement.h \
137     DOMHTMLTableSectionElement.h \
138     DOMHTMLTextAreaElement.h \
139     DOMHTMLTitleElement.h \
140     DOMHTMLUListElement.h \
141     DOMImplementation.h \
142     DOMKeyboardEvent.h \
143     DOMMediaList.h \
144     DOMMouseEvent.h \
145     DOMMutationEvent.h \
146     DOMNamedNodeMap.h \
147     DOMNode.h \
148     DOMNodeFilter.h \
149     DOMNodeIterator.h \
150     DOMNodeList.h \
151     DOMObject.h \
152     DOMOverflowEvent.h \
153     DOMProcessingInstruction.h \
154     DOMProgressEvent.h \
155     DOMRGBColor.h \
156     DOMRange.h \
157     DOMRangeException.h \
158     DOMRanges.h \
159     DOMRect.h \
160     DOMStyleSheet.h \
161     DOMStyleSheetList.h \
162     DOMStylesheets.h \
163     DOMText.h \
164     DOMTraversal.h \
165     DOMTreeWalker.h \
166     DOMUIEvent.h \
167     DOMViews.h \
168     DOMWheelEvent.h \
169     DOMXPath.h \
170     DOMXPathException.h \
171     DOMXPathExpression.h \
172     DOMXPathNSResolver.h \
173     DOMXPathResult.h \
174     WebArchive.h \
175     WebBackForwardList.h \
176     WebDOMOperations.h \
177     WebDataSource.h \
178     WebDocument.h \
179     WebDownload.h \
180     WebEditingDelegate.h \
181     WebFrame.h \
182     WebFrameLoadDelegate.h \
183     WebFrameView.h \
184     WebHistory.h \
185     WebHistoryItem.h \
186     WebKitAvailability.h \
187     WebKitErrors.h \
188     WebPlugin.h \
189     WebPluginContainer.h \
190     WebPluginViewFactory.h \
191     WebPolicyDelegate.h \
192     WebPreferences.h \
193     WebResource.h \
194     WebResourceLoadDelegate.h \
195     WebScriptObject.h \
196     WebUIDelegate.h \
197     WebView.h \
198 #
199
200 WEBKIT_LEGACY_PUBLIC_HEADERS = $(addprefix $(PUBLIC_HEADERS_DIR)/, $(filter $(WEBKIT_PUBLIC_HEADERS), $(notdir $(wildcard $(WEBKIT_LEGACY_PRIVATE_HEADERS_DIR)/*.h))) WebKitLegacy.h)
201
202 WEBKIT_LEGACY_PRIVATE_HEADERS = $(addprefix $(PRIVATE_HEADERS_DIR)/, $(filter-out $(WEBKIT_PUBLIC_HEADERS) $(RECENTLY_REMOVED_WEBKIT_LEGACY_PRIVATE_HEADERS) WebKit.h, $(notdir $(wildcard $(WEBKIT_LEGACY_PRIVATE_HEADERS_DIR)/*.h))))
203
204 WEBKIT_LEGACY_HEADER_REPLACE_RULES = -e s/\<WebKitLegacy/\<WebKit/
205 WEBKIT_LEGACY_HEADER_MIGRATE_CMD = sed $(WEBKIT_LEGACY_HEADER_REPLACE_RULES) $< > $@
206
207 PUBLIC_HEADER_CHECK_CMD = @if grep -q "AVAILABLE.*9876_5" "$<"; then line=$$(awk "/AVAILABLE.*9876_5/ { print FNR; exit }" "$<" ); echo "$<:$$line: error: A class within a public header has unspecified availability."; false; fi
208
209 $(PUBLIC_HEADERS_DIR)/% : $(WEBKIT_LEGACY_PRIVATE_HEADERS_DIR)/% MigrateHeadersFromWebKitLegacy.make
210         $(PUBLIC_HEADER_CHECK_CMD)
211         $(WEBKIT_LEGACY_HEADER_MIGRATE_CMD)
212
213 $(PRIVATE_HEADERS_DIR)/% : $(WEBKIT_LEGACY_PRIVATE_HEADERS_DIR)/% MigrateHeadersFromWebKitLegacy.make
214         $(WEBKIT_LEGACY_HEADER_MIGRATE_CMD)
215
216 all : $(WEBKIT_LEGACY_PUBLIC_HEADERS) $(WEBKIT_LEGACY_PRIVATE_HEADERS)
217
218 $(PUBLIC_HEADERS_DIR)/WebKitLegacy.h : $(WEBKIT_LEGACY_PRIVATE_HEADERS_DIR)/WebKit.h MigrateHeadersFromWebKitLegacy.make
219         $(PUBLIC_HEADER_CHECK_CMD)
220         $(WEBKIT_LEGACY_HEADER_MIGRATE_CMD)
221
222 else
223
224 WEBKIT_LEGACY_PRIVATE_HEADERS = $(addprefix $(PRIVATE_HEADERS_DIR)/, $(filter-out $(RECENTLY_REMOVED_WEBKIT_LEGACY_PRIVATE_HEADERS) WebKit.h, $(notdir $(wildcard $(WEBKIT_LEGACY_PRIVATE_HEADERS_DIR)/*.h))))
225
226 all : $(WEBKIT_LEGACY_PRIVATE_HEADERS) $(PUBLIC_HEADERS_DIR)/WebKitLegacy.h
227
228 WEBKIT_HEADER_MIGRATE_CMD = echo "\#import <WebKitLegacy/"`basename $<`">" > $@
229
230 $(PRIVATE_HEADERS_DIR)/% : $(WEBKIT_LEGACY_PRIVATE_HEADERS_DIR)/% MigrateHeadersFromWebKitLegacy.make
231         $(WEBKIT_HEADER_MIGRATE_CMD)
232
233 $(PUBLIC_HEADERS_DIR)/WebKitLegacy.h : $(WEBKIT_LEGACY_PRIVATE_HEADERS_DIR)/WebKit.h MigrateHeadersFromWebKitLegacy.make
234         echo "#if defined(__has_include) && __has_include(<WebKitLegacy/WebKit.h>)" > $@
235         echo "#import <WebKitLegacy/"`basename $<`">" >> $@
236         echo "#endif" >> $@
237
238 endif