2011-01-07 Adam Barth <abarth@webkit.org>
[WebKit-https.git] / WebCore / Android.derived.jscbindings.mk
1
2 ##
3 ## Copyright 2009, The Android Open Source Project
4 ##
5 ## Redistribution and use in source and binary forms, with or without
6 ## modification, are permitted provided that the following conditions
7 ## are met:
8 ##  * Redistributions of source code must retain the above copyright
9 ##    notice, this list of conditions and the following disclaimer.
10 ##  * 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 ##
14 ## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 ## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 ## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 ## PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 ## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 ## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 ## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 ## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 ## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 ## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 ##
26
27 # lookup tables for old-style JavaScript bindings
28 create_hash_table := $(LOCAL_PATH)/Source/JavaScriptCore/create_hash_table
29
30 GEN := $(addprefix $(intermediates)/, \
31                         bindings/js/JSDOMWindowBase.lut.h \
32                 )
33 $(GEN): PRIVATE_CUSTOM_TOOL = perl $(create_hash_table) $< > $@
34 $(GEN): $(intermediates)/bindings/js/%.lut.h: $(LOCAL_PATH)/bindings/js/%.cpp $(create_hash_table)
35         $(transform-generated-source)
36 LOCAL_GENERATED_SOURCES += $(GEN)
37
38
39 GEN := $(intermediates)/bindings/js/JSHTMLInputElementBaseTable.cpp
40 $(GEN): PRIVATE_CUSTOM_TOOL = perl $(create_hash_table) $< > $@
41 $(GEN): $(intermediates)/bindings/js/%Table.cpp: $(LOCAL_PATH)/bindings/js/%.cpp $(create_hash_table)
42         $(transform-generated-source)
43 $(intermediates)/bindings/js/JSHTMLInputElementBase.o : $(GEN)
44
45 # lookup tables for old-style JavaScript bindings
46 js_binding_scripts := $(addprefix $(LOCAL_PATH)/,\
47                         bindings/scripts/CodeGenerator.pm \
48                         bindings/scripts/IDLParser.pm \
49                         bindings/scripts/IDLStructure.pm \
50                         bindings/scripts/generate-bindings.pl \
51                 )
52
53 FEATURE_DEFINES := ANDROID_ORIENTATION_SUPPORT ENABLE_TOUCH_EVENTS=1 ENABLE_DATABASE=1 ENABLE_OFFLINE_WEB_APPLICATIONS=1 ENABLE_DOM_STORAGE=1 ENABLE_VIDEO=1 ENABLE_WORKERS=1 ENABLE_GEOLOCATION=1 ENABLE_CHANNEL_MESSAGING=1 ENABLE_DEVICE_ORIENTATION=1
54
55 # CSS
56 GEN := \
57     $(intermediates)/css/JSCSSCharsetRule.h \
58     $(intermediates)/css/JSCSSFontFaceRule.h \
59     $(intermediates)/css/JSCSSImportRule.h \
60     $(intermediates)/css/JSCSSMediaRule.h \
61     $(intermediates)/css/JSCSSPageRule.h \
62     $(intermediates)/css/JSCSSPrimitiveValue.h \
63     $(intermediates)/css/JSCSSRule.h \
64     $(intermediates)/css/JSCSSRuleList.h \
65     $(intermediates)/css/JSCSSStyleDeclaration.h \
66     $(intermediates)/css/JSCSSStyleRule.h \
67     $(intermediates)/css/JSCSSStyleSheet.h \
68     $(intermediates)/css/JSCSSUnknownRule.h \
69     $(intermediates)/css/JSCSSValue.h \
70     $(intermediates)/css/JSCSSValueList.h \
71     $(intermediates)/css/JSCounter.h \
72     $(intermediates)/css/JSMediaList.h \
73     $(intermediates)/css/JSRGBColor.h \
74     $(intermediates)/css/JSRect.h \
75     $(intermediates)/css/JSStyleMedia.h \
76     $(intermediates)/css/JSStyleSheet.h \
77     $(intermediates)/css/JSStyleSheetList.h \
78     $(intermediates)/css/JSWebKitCSSKeyframeRule.h \
79     $(intermediates)/css/JSWebKitCSSKeyframesRule.h \
80     $(intermediates)/css/JSWebKitCSSMatrix.h \
81     $(intermediates)/css/JSWebKitCSSTransformValue.h
82 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
83 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
84 $(GEN): $(intermediates)/css/JS%.h : $(LOCAL_PATH)/css/%.idl $(js_binding_scripts)
85         $(transform-generated-source)
86 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
87
88
89 # We also need the .cpp files, which are generated as side effects of the
90 # above rules.  Specifying this explicitly makes -j2 work.
91 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/css/%.cpp : $(intermediates)/css/%.h
92
93 # DOM
94 GEN := \
95     $(intermediates)/dom/JSAttr.h \
96     $(intermediates)/dom/JSBeforeLoadEvent.h \
97     $(intermediates)/dom/JSCDATASection.h \
98     $(intermediates)/dom/JSCharacterData.h \
99     $(intermediates)/dom/JSClientRect.h \
100     $(intermediates)/dom/JSClientRectList.h \
101     $(intermediates)/dom/JSClipboard.h \
102     $(intermediates)/dom/JSComment.h \
103     $(intermediates)/dom/JSDOMCoreException.h \
104     $(intermediates)/dom/JSDOMImplementation.h \
105     $(intermediates)/dom/JSDOMStringList.h \
106     $(intermediates)/dom/JSDeviceMotionEvent.h \
107     $(intermediates)/dom/JSDeviceOrientationEvent.h \
108     $(intermediates)/dom/JSDocument.h \
109     $(intermediates)/dom/JSDocumentFragment.h \
110     $(intermediates)/dom/JSDocumentType.h \
111     $(intermediates)/dom/JSElement.h \
112     $(intermediates)/dom/JSEntity.h \
113     $(intermediates)/dom/JSEntityReference.h \
114     $(intermediates)/dom/JSErrorEvent.h \
115     $(intermediates)/dom/JSEvent.h \
116     $(intermediates)/dom/JSEventException.h \
117     $(intermediates)/dom/JSKeyboardEvent.h \
118     $(intermediates)/dom/JSMessageChannel.h \
119     $(intermediates)/dom/JSMessageEvent.h \
120     $(intermediates)/dom/JSMessagePort.h \
121     $(intermediates)/dom/JSMouseEvent.h \
122     $(intermediates)/dom/JSMutationEvent.h \
123     $(intermediates)/dom/JSNamedNodeMap.h \
124     $(intermediates)/dom/JSNode.h \
125     $(intermediates)/dom/JSNodeFilter.h \
126     $(intermediates)/dom/JSNodeIterator.h \
127     $(intermediates)/dom/JSNodeList.h \
128     $(intermediates)/dom/JSNotation.h \
129     $(intermediates)/dom/JSOverflowEvent.h \
130     $(intermediates)/dom/JSPageTransitionEvent.h \
131     $(intermediates)/dom/JSProcessingInstruction.h \
132     $(intermediates)/dom/JSProgressEvent.h \
133     $(intermediates)/dom/JSRange.h \
134     $(intermediates)/dom/JSRangeException.h \
135     $(intermediates)/dom/JSText.h \
136     $(intermediates)/dom/JSTextEvent.h \
137     $(intermediates)/dom/JSTouch.h \
138     $(intermediates)/dom/JSTouchEvent.h \
139     $(intermediates)/dom/JSTouchList.h \
140     $(intermediates)/dom/JSTreeWalker.h \
141     $(intermediates)/dom/JSUIEvent.h \
142     $(intermediates)/dom/JSWebKitAnimationEvent.h \
143     $(intermediates)/dom/JSWebKitTransitionEvent.h \
144     $(intermediates)/dom/JSWheelEvent.h
145 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
146 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
147 $(GEN): $(intermediates)/dom/JS%.h : $(LOCAL_PATH)/dom/%.idl $(js_binding_scripts)
148         $(transform-generated-source)
149 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
150
151 # We also need the .cpp files, which are generated as side effects of the
152 # above rules.  Specifying this explicitly makes -j2 work.
153 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/dom/%.cpp : $(intermediates)/dom/%.h
154
155 # HTML
156 GEN := \
157     $(intermediates)/html/JSBlob.h \
158     $(intermediates)/html/JSBlobBuilder.h \
159     $(intermediates)/html/JSDOMFormData.h \
160     $(intermediates)/html/JSDOMSettableTokenList.h \
161     $(intermediates)/html/JSDOMTokenList.h \
162     $(intermediates)/html/JSDataGridColumn.h \
163     $(intermediates)/html/JSDataGridColumnList.h \
164     $(intermediates)/html/JSFile.h \
165     $(intermediates)/html/JSFileError.h \
166     $(intermediates)/html/JSFileList.h \
167     $(intermediates)/html/JSHTMLAllCollection.h \
168     $(intermediates)/html/JSHTMLAnchorElement.h \
169     $(intermediates)/html/JSHTMLAppletElement.h \
170     $(intermediates)/html/JSHTMLAreaElement.h \
171     $(intermediates)/html/JSHTMLAudioElement.h \
172     $(intermediates)/html/JSHTMLBRElement.h \
173     $(intermediates)/html/JSHTMLBaseElement.h \
174     $(intermediates)/html/JSHTMLBaseFontElement.h \
175     $(intermediates)/html/JSHTMLBlockquoteElement.h \
176     $(intermediates)/html/JSHTMLBodyElement.h \
177     $(intermediates)/html/JSHTMLButtonElement.h \
178     $(intermediates)/html/JSHTMLCanvasElement.h \
179     $(intermediates)/html/JSHTMLCollection.h \
180     $(intermediates)/html/JSHTMLDataGridElement.h \
181     $(intermediates)/html/JSHTMLDataGridCellElement.h \
182     $(intermediates)/html/JSHTMLDataGridColElement.h \
183     $(intermediates)/html/JSHTMLDataGridRowElement.h \
184     $(intermediates)/html/JSHTMLDataListElement.h \
185     $(intermediates)/html/JSHTMLDListElement.h \
186     $(intermediates)/html/JSHTMLDirectoryElement.h \
187     $(intermediates)/html/JSHTMLDivElement.h \
188     $(intermediates)/html/JSHTMLDocument.h \
189     $(intermediates)/html/JSHTMLElement.h \
190     $(intermediates)/html/JSHTMLEmbedElement.h \
191     $(intermediates)/html/JSHTMLFieldSetElement.h \
192     $(intermediates)/html/JSHTMLFontElement.h \
193     $(intermediates)/html/JSHTMLFormElement.h \
194     $(intermediates)/html/JSHTMLFrameElement.h \
195     $(intermediates)/html/JSHTMLFrameSetElement.h \
196     $(intermediates)/html/JSHTMLHRElement.h \
197     $(intermediates)/html/JSHTMLHeadElement.h \
198     $(intermediates)/html/JSHTMLHeadingElement.h \
199     $(intermediates)/html/JSHTMLHtmlElement.h \
200     $(intermediates)/html/JSHTMLIFrameElement.h \
201     $(intermediates)/html/JSHTMLImageElement.h \
202     $(intermediates)/html/JSHTMLInputElement.h \
203     $(intermediates)/html/JSHTMLIsIndexElement.h \
204     $(intermediates)/html/JSHTMLLIElement.h \
205     $(intermediates)/html/JSHTMLLabelElement.h \
206     $(intermediates)/html/JSHTMLLegendElement.h \
207     $(intermediates)/html/JSHTMLLinkElement.h \
208     $(intermediates)/html/JSHTMLMapElement.h \
209     $(intermediates)/html/JSHTMLMarqueeElement.h \
210     $(intermediates)/html/JSHTMLMediaElement.h \
211     $(intermediates)/html/JSHTMLMenuElement.h \
212     $(intermediates)/html/JSHTMLMetaElement.h \
213     $(intermediates)/html/JSHTMLModElement.h \
214     $(intermediates)/html/JSHTMLOListElement.h \
215     $(intermediates)/html/JSHTMLObjectElement.h \
216     $(intermediates)/html/JSHTMLOptGroupElement.h \
217     $(intermediates)/html/JSHTMLOptionElement.h \
218     $(intermediates)/html/JSHTMLOptionsCollection.h \
219     $(intermediates)/html/JSHTMLOutputElement.h \
220     $(intermediates)/html/JSHTMLParagraphElement.h \
221     $(intermediates)/html/JSHTMLParamElement.h \
222     $(intermediates)/html/JSHTMLPreElement.h \
223     $(intermediates)/html/JSHTMLQuoteElement.h \
224     $(intermediates)/html/JSHTMLScriptElement.h \
225     $(intermediates)/html/JSHTMLSelectElement.h \
226     $(intermediates)/html/JSHTMLSourceElement.h \
227     $(intermediates)/html/JSHTMLStyleElement.h \
228     $(intermediates)/html/JSHTMLTableCaptionElement.h \
229     $(intermediates)/html/JSHTMLTableCellElement.h \
230     $(intermediates)/html/JSHTMLTableColElement.h \
231     $(intermediates)/html/JSHTMLTableElement.h \
232     $(intermediates)/html/JSHTMLTableRowElement.h \
233     $(intermediates)/html/JSHTMLTableSectionElement.h \
234     $(intermediates)/html/JSHTMLTextAreaElement.h \
235     $(intermediates)/html/JSHTMLTitleElement.h \
236     $(intermediates)/html/JSHTMLUListElement.h \
237     $(intermediates)/html/JSHTMLVideoElement.h \
238     $(intermediates)/html/JSImageData.h \
239     $(intermediates)/html/JSMediaError.h \
240     $(intermediates)/html/JSTextMetrics.h \
241     $(intermediates)/html/JSTimeRanges.h \
242     $(intermediates)/html/JSValidityState.h \
243     $(intermediates)/html/JSVoidCallback.h
244
245 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
246 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
247 $(GEN): $(intermediates)/html/JS%.h : $(LOCAL_PATH)/html/%.idl $(js_binding_scripts)
248         $(transform-generated-source)
249 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
250
251 # We also need the .cpp files, which are generated as side effects of the
252 # above rules.  Specifying this explicitly makes -j2 work.
253 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/html/%.cpp : $(intermediates)/html/%.h
254
255 # Canvas
256 GEN := \
257     $(intermediates)/html/canvas/JSCanvasGradient.h \
258     $(intermediates)/html/canvas/JSCanvasPattern.h \
259     $(intermediates)/html/canvas/JSCanvasRenderingContext.h \
260     $(intermediates)/html/canvas/JSCanvasRenderingContext2D.h
261
262 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
263 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
264 $(GEN): $(intermediates)/html/canvas/JS%.h : $(LOCAL_PATH)/html/canvas/%.idl $(js_binding_scripts)
265         $(transform-generated-source)
266 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
267
268 # We also need the .cpp files, which are generated as side effects of the
269 # above rules.  Specifying this explicitly makes -j2 work.
270 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/html/canvas/%.cpp : $(intermediates)/html/canvas/%.h
271
272 # Appcache
273 GEN := \
274     $(intermediates)/loader/appcache/JSDOMApplicationCache.h
275
276 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
277 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
278 $(GEN): $(intermediates)/loader/appcache/JS%.h : $(LOCAL_PATH)/loader/appcache/%.idl $(js_binding_scripts)
279         $(transform-generated-source)
280 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
281
282 # We also need the .cpp files, which are generated as side effects of the
283 # above rules.  Specifying this explicitly makes -j2 work.
284 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/loader/appcache/%.cpp : $(intermediates)/loader/appcache/%.h
285
286 # page
287 GEN := \
288     $(intermediates)/page/JSBarInfo.h \
289     $(intermediates)/page/JSConsole.h \
290     $(intermediates)/page/JSCoordinates.h \
291     $(intermediates)/page/JSDOMSelection.h \
292     $(intermediates)/page/JSDOMWindow.h \
293     $(intermediates)/page/JSGeolocation.h \
294     $(intermediates)/page/JSGeoposition.h \
295     $(intermediates)/page/JSHistory.h \
296     $(intermediates)/page/JSLocation.h \
297     $(intermediates)/page/JSNavigator.h \
298     $(intermediates)/page/JSPositionError.h \
299     $(intermediates)/page/JSScreen.h \
300     $(intermediates)/page/JSWebKitPoint.h \
301     $(intermediates)/page/JSWorkerNavigator.h
302
303 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
304 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
305 $(GEN): $(intermediates)/page/JS%.h : $(LOCAL_PATH)/page/%.idl $(js_binding_scripts)
306         $(transform-generated-source)
307 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
308
309 # We also need the .cpp files, which are generated as side effects of the
310 # above rules.  Specifying this explicitly makes -j2 work.
311 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/page/%.cpp : $(intermediates)/page/%.h
312
313 GEN := \
314     $(intermediates)/plugins/JSMimeType.h \
315     $(intermediates)/plugins/JSMimeTypeArray.h \
316     $(intermediates)/plugins/JSPlugin.h \
317     $(intermediates)/plugins/JSPluginArray.h
318
319 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
320 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
321 $(GEN): $(intermediates)/plugins/JS%.h : $(LOCAL_PATH)/plugins/%.idl $(js_binding_scripts)
322         $(transform-generated-source)
323 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
324
325 # We also need the .cpp files, which are generated as side effects of the
326 # above rules.  Specifying this explicitly makes -j2 work.
327 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/plugins/%.cpp : $(intermediates)/plugins/%.h
328
329 # Database
330 GEN := \
331     $(intermediates)/storage/JSDatabase.h \
332     $(intermediates)/storage/JSSQLError.h \
333     $(intermediates)/storage/JSSQLException.h \
334     $(intermediates)/storage/JSSQLResultSet.h \
335     $(intermediates)/storage/JSSQLResultSetRowList.h \
336     $(intermediates)/storage/JSSQLTransaction.h
337
338 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
339 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
340 $(GEN): $(intermediates)/storage/JS%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
341         $(transform-generated-source)
342 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
343
344 # We also need the .cpp files, which are generated as side effects of the
345 # above rules.  Specifying this explicitly makes -j2 work.
346 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/storage/%.cpp : $(intermediates)/storage/%.h
347
348 # DOM Storage
349 GEN := \
350     $(intermediates)/storage/JSStorage.h \
351     $(intermediates)/storage/JSStorageEvent.h
352
353 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
354 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
355 $(GEN): $(intermediates)/storage/JS%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
356         $(transform-generated-source)
357 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
358
359 # We also need the .cpp files, which are generated as side effects of the
360 # above rules.  Specifying this explicitly makes -j2 work.
361 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/storage/%.cpp : $(intermediates)/storage/%.h
362
363 # Indexed Database
364 GEN := \
365     $(intermediates)/storage/JSIDBAny.h \
366     $(intermediates)/storage/JSIDBCursor.h \
367     $(intermediates)/storage/JSIDBDatabaseError.h \
368     $(intermediates)/storage/JSIDBDatabaseException.h \
369     $(intermediates)/storage/JSIDBDatabase.h \
370     $(intermediates)/storage/JSIDBErrorEvent.h \
371     $(intermediates)/storage/JSIDBEvent.h \
372     $(intermediates)/storage/JSIDBFactory.h \
373     $(intermediates)/storage/JSIDBIndex.h \
374     $(intermediates)/storage/JSIDBKey.h \
375     $(intermediates)/storage/JSIDBKeyRange.h \
376     $(intermediates)/storage/JSIDBObjectStore.h \
377     $(intermediates)/storage/JSIDBRequest.h \
378     $(intermediates)/storage/JSIDBSuccessEvent.h \
379     $(intermediates)/storage/JSIDBTransaction.h
380
381 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
382 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --include storage --outputdir $(dir $@) $<
383 $(GEN): $(intermediates)/storage/JS%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
384         $(transform-generated-source)
385 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
386
387 # We also need the .cpp files, which are generated as side effects of the
388 # above rules.  Specifying this explicitly makes -j2 work.
389 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/storage/%.cpp : $(intermediates)/storage/%.h
390
391 # SVG
392 ifeq ($(ENABLE_SVG), true)
393 GEN := \
394     $(intermediates)/svg/JSSVGAElement.h \
395     $(intermediates)/svg/JSSVGAltGlyphElement.h \
396     $(intermediates)/svg/JSSVGAngle.h \
397     $(intermediates)/svg/JSSVGAnimateColorElement.h \
398     $(intermediates)/svg/JSSVGAnimateElement.h \
399     $(intermediates)/svg/JSSVGAnimateTransformElement.h \
400     $(intermediates)/svg/JSSVGAnimatedAngle.h \
401     $(intermediates)/svg/JSSVGAnimatedBoolean.h \
402     $(intermediates)/svg/JSSVGAnimatedEnumeration.h \
403     $(intermediates)/svg/JSSVGAnimatedInteger.h \
404     $(intermediates)/svg/JSSVGAnimatedLength.h \
405     $(intermediates)/svg/JSSVGAnimatedLengthList.h \
406     $(intermediates)/svg/JSSVGAnimatedNumber.h \
407     $(intermediates)/svg/JSSVGAnimatedNumberList.h \
408     $(intermediates)/svg/JSSVGAnimatedPreserveAspectRatio.h \
409     $(intermediates)/svg/JSSVGAnimatedRect.h \
410     $(intermediates)/svg/JSSVGAnimatedString.h \
411     $(intermediates)/svg/JSSVGAnimatedTransformList.h \
412     $(intermediates)/svg/JSSVGAnimationElement.h \
413     $(intermediates)/svg/JSSVGCircleElement.h \
414     $(intermediates)/svg/JSSVGClipPathElement.h \
415     $(intermediates)/svg/JSSVGColor.h \
416     $(intermediates)/svg/JSSVGComponentTransferFunctionElement.h \
417     $(intermediates)/svg/JSSVGCursorElement.h \
418     $(intermediates)/svg/JSSVGDefsElement.h \
419     $(intermediates)/svg/JSSVGDescElement.h \
420     $(intermediates)/svg/JSSVGDocument.h \
421     $(intermediates)/svg/JSSVGElement.h \
422     $(intermediates)/svg/JSSVGElementInstance.h \
423     $(intermediates)/svg/JSSVGElementInstanceList.h \
424     $(intermediates)/svg/JSSVGEllipseElement.h \
425     $(intermediates)/svg/JSSVGException.h \
426     $(intermediates)/svg/JSSVGFEBlendElement.h \
427     $(intermediates)/svg/JSSVGFEColorMatrixElement.h \
428     $(intermediates)/svg/JSSVGFEComponentTransferElement.h \
429     $(intermediates)/svg/JSSVGFECompositeElement.h \
430     $(intermediates)/svg/JSSVGFEConvolveMatrixElement.h \
431     $(intermediates)/svg/JSSVGFEDiffuseLightingElement.h \
432     $(intermediates)/svg/JSSVGFEDisplacementMapElement.h \
433     $(intermediates)/svg/JSSVGFEDistantLightElement.h \
434     $(intermediates)/svg/JSSVGFEFloodElement.h \
435     $(intermediates)/svg/JSSVGFEFuncAElement.h \
436     $(intermediates)/svg/JSSVGFEFuncBElement.h \
437     $(intermediates)/svg/JSSVGFEFuncGElement.h \
438     $(intermediates)/svg/JSSVGFEFuncRElement.h \
439     $(intermediates)/svg/JSSVGFEGaussianBlurElement.h \
440     $(intermediates)/svg/JSSVGFEImageElement.h \
441     $(intermediates)/svg/JSSVGFEMergeElement.h \
442     $(intermediates)/svg/JSSVGFEMergeNodeElement.h \
443     $(intermediates)/svg/JSSVGFEOffsetElement.h \
444     $(intermediates)/svg/JSSVGFEPointLightElement.h \
445     $(intermediates)/svg/JSSVGFESpecularLightingElement.h \
446     $(intermediates)/svg/JSSVGFESpotLightElement.h \
447     $(intermediates)/svg/JSSVGFETileElement.h \
448     $(intermediates)/svg/JSSVGFETurbulenceElement.h \
449     $(intermediates)/svg/JSSVGFilterElement.h \
450     $(intermediates)/svg/JSSVGFontElement.h \
451     $(intermediates)/svg/JSSVGFontFaceElement.h \
452     $(intermediates)/svg/JSSVGFontFaceFormatElement.h \
453     $(intermediates)/svg/JSSVGFontFaceNameElement.h \
454     $(intermediates)/svg/JSSVGFontFaceSrcElement.h \
455     $(intermediates)/svg/JSSVGFontFaceUriElement.h \
456     $(intermediates)/svg/JSSVGForeignObjectElement.h \
457     $(intermediates)/svg/JSSVGGElement.h \
458     $(intermediates)/svg/JSSVGGlyphElement.h \
459     $(intermediates)/svg/JSSVGGradientElement.h \
460     $(intermediates)/svg/JSSVGHKernElement.h \
461     $(intermediates)/svg/JSSVGImageElement.h \
462     $(intermediates)/svg/JSSVGLength.h \
463     $(intermediates)/svg/JSSVGLengthList.h \
464     $(intermediates)/svg/JSSVGLineElement.h \
465     $(intermediates)/svg/JSSVGLinearGradientElement.h \
466     $(intermediates)/svg/JSSVGMarkerElement.h \
467     $(intermediates)/svg/JSSVGMaskElement.h \
468     $(intermediates)/svg/JSSVGMatrix.h \
469     $(intermediates)/svg/JSSVGMetadataElement.h \
470     $(intermediates)/svg/JSSVGMissingGlyphElement.h \
471     $(intermediates)/svg/JSSVGNumber.h \
472     $(intermediates)/svg/JSSVGNumberList.h \
473     $(intermediates)/svg/JSSVGPaint.h \
474     $(intermediates)/svg/JSSVGPathElement.h \
475     $(intermediates)/svg/JSSVGPathSeg.h \
476     $(intermediates)/svg/JSSVGPathSegArcAbs.h \
477     $(intermediates)/svg/JSSVGPathSegArcRel.h \
478     $(intermediates)/svg/JSSVGPathSegClosePath.h \
479     $(intermediates)/svg/JSSVGPathSegCurvetoCubicAbs.h \
480     $(intermediates)/svg/JSSVGPathSegCurvetoCubicRel.h \
481     $(intermediates)/svg/JSSVGPathSegCurvetoCubicSmoothAbs.h \
482     $(intermediates)/svg/JSSVGPathSegCurvetoCubicSmoothRel.h \
483     $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticAbs.h \
484     $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticRel.h \
485     $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticSmoothAbs.h \
486     $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticSmoothRel.h \
487     $(intermediates)/svg/JSSVGPathSegLinetoAbs.h \
488     $(intermediates)/svg/JSSVGPathSegLinetoHorizontalAbs.h \
489     $(intermediates)/svg/JSSVGPathSegLinetoHorizontalRel.h \
490     $(intermediates)/svg/JSSVGPathSegLinetoRel.h \
491     $(intermediates)/svg/JSSVGPathSegLinetoVerticalAbs.h \
492     $(intermediates)/svg/JSSVGPathSegLinetoVerticalRel.h \
493     $(intermediates)/svg/JSSVGPathSegList.h \
494     $(intermediates)/svg/JSSVGPathSegMovetoAbs.h \
495     $(intermediates)/svg/JSSVGPathSegMovetoRel.h \
496     $(intermediates)/svg/JSSVGPatternElement.h \
497     $(intermediates)/svg/JSSVGPoint.h \
498     $(intermediates)/svg/JSSVGPointList.h \
499     $(intermediates)/svg/JSSVGPolygonElement.h \
500     $(intermediates)/svg/JSSVGPolylineElement.h \
501     $(intermediates)/svg/JSSVGPreserveAspectRatio.h \
502     $(intermediates)/svg/JSSVGRadialGradientElement.h \
503     $(intermediates)/svg/JSSVGRect.h \
504     $(intermediates)/svg/JSSVGRectElement.h \
505     $(intermediates)/svg/JSSVGRenderingIntent.h \
506     $(intermediates)/svg/JSSVGSVGElement.h \
507     $(intermediates)/svg/JSSVGScriptElement.h \
508     $(intermediates)/svg/JSSVGSetElement.h \
509     $(intermediates)/svg/JSSVGStopElement.h \
510     $(intermediates)/svg/JSSVGStringList.h \
511     $(intermediates)/svg/JSSVGStyleElement.h \
512     $(intermediates)/svg/JSSVGSwitchElement.h \
513     $(intermediates)/svg/JSSVGSymbolElement.h \
514     $(intermediates)/svg/JSSVGTRefElement.h \
515     $(intermediates)/svg/JSSVGTSpanElement.h \
516     $(intermediates)/svg/JSSVGTextContentElement.h \
517     $(intermediates)/svg/JSSVGTextElement.h \
518     $(intermediates)/svg/JSSVGTextPathElement.h \
519     $(intermediates)/svg/JSSVGTextPositioningElement.h \
520     $(intermediates)/svg/JSSVGTitleElement.h \
521     $(intermediates)/svg/JSSVGTransform.h \
522     $(intermediates)/svg/JSSVGTransformList.h \
523     $(intermediates)/svg/JSSVGUnitTypes.h \
524     $(intermediates)/svg/JSSVGUseElement.h \
525     $(intermediates)/svg/JSSVGViewElement.h \
526     $(intermediates)/svg/JSSVGVKernElement.h \
527     $(intermediates)/svg/JSSVGZoomEvent.h
528 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
529 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include external/webkit/Source/WebCore/dom --include external/webkit/Source/WebCore/html --include external/webkit/Source/WebCore/svg --outputdir $(dir $@) $<
530 $(GEN): $(intermediates)/svg/JS%.h : $(LOCAL_PATH)/svg/%.idl $(js_binding_scripts)
531         $(transform-generated-source)
532 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
533
534 # We also need the .cpp files, which are generated as side effects of the
535 # above rules.  Specifying this explicitly makes -j2 work.
536 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/svg/%.cpp : $(intermediates)/svg/%.h
537 endif
538
539 # Workers
540 GEN := \
541     $(intermediates)/workers/JSAbstractWorker.h \
542     $(intermediates)/workers/JSDedicatedWorkerContext.h \
543     $(intermediates)/workers/JSSharedWorker.h \
544     $(intermediates)/workers/JSSharedWorkerContext.h \
545     $(intermediates)/workers/JSWorker.h \
546     $(intermediates)/workers/JSWorkerContext.h \
547     $(intermediates)/workers/JSWorkerLocation.h
548
549 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
550 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
551 $(GEN): $(intermediates)/workers/JS%.h : $(LOCAL_PATH)/workers/%.idl $(js_binding_scripts)
552         $(transform-generated-source)
553 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
554
555 # We also need the .cpp files, which are generated as side effects of the
556 # above rules.  Specifying this explicitly makes -j2 work.
557 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/workers/%.cpp : $(intermediates)/workers/%.h
558
559 # XML
560 GEN := \
561     $(intermediates)/xml/JSDOMParser.h \
562     $(intermediates)/xml/JSXMLHttpRequest.h \
563     $(intermediates)/xml/JSXMLHttpRequestException.h \
564     $(intermediates)/xml/JSXMLHttpRequestProgressEvent.h \
565     $(intermediates)/xml/JSXMLHttpRequestUpload.h \
566     $(intermediates)/xml/JSXMLSerializer.h \
567     $(intermediates)/xml/JSXSLTProcessor.h
568 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
569 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
570 $(GEN): $(intermediates)/xml/JS%.h : $(LOCAL_PATH)/xml/%.idl $(js_binding_scripts)
571         $(transform-generated-source)
572 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
573
574 # We also need the .cpp files, which are generated as side effects of the
575 # above rules.  Specifying this explicitly makes -j2 work.
576 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/xml/%.cpp : $(intermediates)/xml/%.h
577 #end
578
579 # HTML tag and attribute names
580
581 GEN:= $(intermediates)/HTMLNames.cpp $(intermediates)/HTMLElementFactory.cpp  $(intermediates)/JSHTMLElementWrapperFactory.cpp
582 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
583 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --tags $(PRIVATE_PATH)/html/HTMLTagNames.in --attrs $(PRIVATE_PATH)/html/HTMLAttributeNames.in --extraDefines "$(FEATURE_DEFINES)" --factory --wrapperFactory --output $(dir $@)
584 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(LOCAL_PATH)/html/HTMLTagNames.in $(LOCAL_PATH)/html/HTMLAttributeNames.in
585         $(transform-generated-source)
586 LOCAL_GENERATED_SOURCES += $(GEN)
587
588 # SVG tag and attribute names
589
590 ifeq ($(ENABLE_SVG), true)
591 GEN:= $(intermediates)/SVGNames.cpp  $(intermediates)/SVGElementFactory.cpp $(intermediates)/JSSVGElementWrapperFactory.cpp
592 SVG_FLAGS:=ENABLE_SVG_AS_IMAGE=1 ENABLE_SVG_FILTERS=1 ENABLE_SVG_FONTS=1 ENABLE_SVG_FOREIGN_OBJECT=1 ENABLE_SVG_USE=1
593 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
594 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --tags $(PRIVATE_PATH)/svg/svgtags.in --attrs $(PRIVATE_PATH)/svg/svgattrs.in --extraDefines "$(SVG_FLAGS)" --factory --wrapperFactory --output $(dir $@)
595 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(LOCAL_PATH)/svg/svgtags.in $(LOCAL_PATH)/svg/svgattrs.in
596         $(transform-generated-source)
597 LOCAL_GENERATED_SOURCES += $(GEN)
598 endif