OSDN Git Service

am 3a3100a3: (-s ours) add security fix to webkit
[android-x86/external-webkit.git] / WebCore / Android.derived.mk
1 ##
2 ##
3 ## Copyright 2007, The Android Open Source Project
4 ##
5 ## Licensed under the Apache License, Version 2.0 (the "License");
6 ## you may not use this file except in compliance with the License.
7 ## You may obtain a copy of the License at
8 ##
9 ##     http://www.apache.org/licenses/LICENSE-2.0
10 ##
11 ## Unless required by applicable law or agreed to in writing, software
12 ## distributed under the License is distributed on an "AS IS" BASIS,
13 ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ## See the License for the specific language governing permissions and
15 ## limitations under the License.
16 ##
17
18 # This comment block is read by tools/webkitsync/diff.cpp
19 # Don't remove it or move it. 
20 #
21 # The following files are intentionally not included
22 # LOCAL_SRC_FILES_EXCLUDED := \
23 #       css/RGBColor.idl \
24 #       dom/EventListener.idl \
25 #       dom/EventTarget.idl \
26 #       dom/Worker*.idl \
27 #       html/CanvasPixelArray.idl \
28 #       html/HTMLAudioElement.idl \
29 #       html/HTMLMediaElement.idl \
30 #       page/AbstractView.idl \
31 #       page/PositionCallback.idl \
32 #       page/Worker*.idl \
33 #       svg/ElementTimeControl.idl \
34 #       svg/SVGAnimatedPathData.idl \
35 #       svg/SVGAnimatedPoints.idl \
36 #       svg/SVGExternalResourcesRequired.idl \
37 #       svg/SVGFilterPrimitiveStandardAttributes.idl \
38 #       svg/SVGFitToViewBox.idl \
39 #       svg/SVGLangSpace.idl \
40 #       svg/SVGLocatable.idl \
41 #       svg/SVGStylable.idl \
42 #       svg/SVGTests.idl \
43 #       svg/SVGTransformable.idl \
44 #       svg/SVGURIReference.idl \
45 #       svg/SVGViewSpec.idl \
46 #       svg/SVGZoomAndPan.idl \
47
48 # This comment block is read by tools/webkitsync/diff.cpp
49 # Don't remove it or move it. 
50 #
51 # The following files are intentionally not generated
52 # LOCAL_GENERATED_FILES_EXCLUDED := \
53 #       JSWorkerContextBase.lut.h \
54 #       WMLElementFactory.cpp \
55 #       WMLNames.cpp \
56 #       XLinkNames.cpp \
57
58 # This comment block is read by tools/webkitsync/diff.cpp
59 # Don't remove it or move it. 
60 #
61 # The following directory wildcard matches are intentionally not included
62 # If an entry starts with '/', any subdirectory may match
63 # If an entry starts with '^', the first directory must match
64 # LOCAL_DIR_WILDCARD_EXCLUDED := \
65 #       ^storage/* \
66 #       ^workers/* \
67
68 # This comment block is read by tools/webkitsync/diff.cpp
69 # Don't remove it or move it. 
70 # If you edit it, keep it in alphabetical order
71 #
72 # These files are Android extensions
73 # LOCAL_ANDROID_SRC_FILES_INCLUDED := \
74 #       dom/Touch*.idl \
75
76 LOCAL_SRC_FILES :=
77 # CSS property names and value keywords
78
79 GEN := $(intermediates)/css/CSSPropertyNames.h
80 $(GEN): SCRIPT := $(LOCAL_PATH)/css/makeprop.pl
81 $(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.in $(LOCAL_PATH)/css/SVGCSSPropertyNames.in
82         @echo "Generating CSSPropertyNames.h <= CSSPropertyNames.in"
83         @mkdir -p $(dir $@)
84         @cat $< > $(dir $@)/$(notdir $<)
85 ifeq ($(ENABLE_SVG),true)
86         @cat $^ > $(@:%.h=%.in)
87 endif
88         @cp -f $(SCRIPT) $(dir $@)
89         @cd $(dir $@) ; perl ./$(notdir $(SCRIPT))
90 LOCAL_GENERATED_SOURCES += $(GEN)
91
92 GEN := $(intermediates)/css/CSSValueKeywords.h
93 $(GEN): SCRIPT := $(LOCAL_PATH)/css/makevalues.pl
94 $(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.in $(LOCAL_PATH)/css/SVGCSSValueKeywords.in
95         @echo "Generating CSSValueKeywords.h <= CSSValueKeywords.in"
96         @mkdir -p $(dir $@)
97         @cp -f $(SCRIPT) $(dir $@)
98 ifeq ($(ENABLE_SVG),true)    
99         @perl -ne 'print lc' $^ > $(@:%.h=%.in)
100 else
101         @perl -ne 'print lc' $< > $(@:%.h=%.in)
102 endif
103         @cd $(dir $@); perl makevalues.pl
104 LOCAL_GENERATED_SOURCES += $(GEN)
105
106
107 # DOCTYPE strings
108
109 GEN := $(intermediates)/html/DocTypeStrings.cpp
110 $(GEN): PRIVATE_CUSTOM_TOOL = gperf -CEot -L ANSI-C -k "*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards $< > $@
111 $(GEN): $(LOCAL_PATH)/html/DocTypeStrings.gperf
112         $(transform-generated-source)
113 # we have to do this dep by hand:
114 $(intermediates)/html/HTMLDocument.o : $(GEN)
115
116
117 # HTML entity names
118
119 GEN := $(intermediates)/html/HTMLEntityNames.c
120 $(GEN): PRIVATE_CUSTOM_TOOL = gperf -a -L ANSI-C -C -G -c -o -t -k '*' -N findEntity -D -s 2 $< > $@
121 $(GEN): $(LOCAL_PATH)/html/HTMLEntityNames.gperf
122         $(transform-generated-source)
123 LOCAL_GENERATED_SOURCES += $(GEN)
124
125
126 # color names
127
128 GEN := $(intermediates)/platform/ColorData.c
129 $(GEN): PRIVATE_CUSTOM_TOOL = gperf -CDEot -L ANSI-C -k '*' -N findColor -D -s 2 $< > $@
130 $(GEN): $(LOCAL_PATH)/platform/ColorData.gperf
131         $(transform-generated-source)
132 LOCAL_GENERATED_SOURCES += $(GEN)
133
134
135 # CSS tokenizer
136
137 GEN := $(intermediates)/css/tokenizer.cpp
138 $(GEN): PRIVATE_CUSTOM_TOOL = $(OLD_FLEX) -t $< | perl $(dir $<)/maketokenizer > $@
139 $(GEN): $(LOCAL_PATH)/css/tokenizer.flex $(LOCAL_PATH)/css/maketokenizer
140         $(transform-generated-source)
141 # we have to do this dep by hand:
142 $(intermediates)/css/CSSParser.o : $(GEN)
143
144 # CSS grammar
145
146 GEN := $(intermediates)/CSSGrammar.cpp
147 $(GEN) : PRIVATE_YACCFLAGS := -p cssyy
148 $(GEN): $(LOCAL_PATH)/css/CSSGrammar.y
149         $(call local-transform-y-to-cpp,.cpp)
150 $(GEN): $(LOCAL_BISON)
151
152 LOCAL_GENERATED_SOURCES += $(GEN)
153
154 # XPath grammar
155
156 GEN := $(intermediates)/XPathGrammar.cpp
157 $(GEN) : PRIVATE_YACCFLAGS := -p xpathyy
158 $(GEN): $(LOCAL_PATH)/xml/XPathGrammar.y
159         $(call local-transform-y-to-cpp,.cpp)
160 $(GEN): $(LOCAL_BISON)
161
162 LOCAL_GENERATED_SOURCES += $(GEN)
163                                  
164 # user agent style sheets
165
166 style_sheets := $(LOCAL_PATH)/css/html4.css $(LOCAL_PATH)/css/quirks.css $(LOCAL_PATH)/css/view-source.css
167 ifeq ($(ENABLE_SVG), true)
168 style_sheets := $(style_sheets) $(LOCAL_PATH)/css/svg.css
169 endif
170 GEN := $(intermediates)/css/UserAgentStyleSheets.h
171 make_css_file_arrays := $(LOCAL_PATH)/css/make-css-file-arrays.pl
172 $(GEN): PRIVATE_CUSTOM_TOOL = $< $@ $(basename $@).cpp $(filter %.css,$^)
173 $(GEN): $(make_css_file_arrays) $(style_sheets)
174         $(transform-generated-source)
175 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
176
177 # character set name table
178
179 #gen_inputs := \
180                 $(LOCAL_PATH)/platform/make-charset-table.pl \
181                 $(LOCAL_PATH)/platform/character-sets.txt \
182                 $(LOCAL_PATH)/platform/android/android-encodings.txt
183 #GEN := $(intermediates)/platform/CharsetData.cpp
184 #$(GEN): PRIVATE_CUSTOM_TOOL = $^ "android::Encoding::ENCODING_" > $@
185 #$(GEN): $(gen_inputs)
186 #       $(transform-generated-source)
187 #LOCAL_GENERATED_SOURCES += $(GEN)
188
189 # the above rule will make this build too
190 $(intermediates)/css/UserAgentStyleSheets.cpp : $(GEN)
191
192
193 # lookup tables for old-style JavaScript bindings
194 create_hash_table := $(LOCAL_PATH)/../JavaScriptCore/create_hash_table
195
196 GEN := $(addprefix $(intermediates)/, \
197                         bindings/js/JSDOMWindowBase.lut.h \
198                 bindings/js/JSRGBColor.lut.h \
199                 )
200 $(GEN): PRIVATE_CUSTOM_TOOL = perl $(create_hash_table) $< > $@
201 $(GEN): $(intermediates)/bindings/js/%.lut.h: $(LOCAL_PATH)/bindings/js/%.cpp $(create_hash_table)
202         $(transform-generated-source)
203 LOCAL_GENERATED_SOURCES += $(GEN)
204
205
206 GEN := $(intermediates)/bindings/js/JSHTMLInputElementBaseTable.cpp
207 $(GEN): PRIVATE_CUSTOM_TOOL = perl $(create_hash_table) $< > $@
208 $(GEN): $(intermediates)/bindings/js/%Table.cpp: $(LOCAL_PATH)/bindings/js/%.cpp $(create_hash_table)
209         $(transform-generated-source)
210 $(intermediates)/bindings/js/JSHTMLInputElementBase.o : $(GEN)
211
212 # lookup tables for old-style JavaScript bindings
213 js_binding_scripts := $(addprefix $(LOCAL_PATH)/,\
214                         bindings/scripts/CodeGenerator.pm \
215                         bindings/scripts/IDLParser.pm \
216                         bindings/scripts/IDLStructure.pm \
217                         bindings/scripts/generate-bindings.pl \
218                 )
219
220 FEATURE_DEFINES := ANDROID_ORIENTATION_SUPPORT ENABLE_TOUCH_EVENTS=1 ENABLE_DATABASE=1 ENABLE_OFFLINE_WEB_APPLICATIONS=1
221
222 GEN := \
223     $(intermediates)/css/JSCSSCharsetRule.h \
224     $(intermediates)/css/JSCSSFontFaceRule.h \
225     $(intermediates)/css/JSCSSImportRule.h \
226     $(intermediates)/css/JSCSSMediaRule.h \
227     $(intermediates)/css/JSCSSPageRule.h \
228     $(intermediates)/css/JSCSSPrimitiveValue.h \
229     $(intermediates)/css/JSCSSRule.h \
230     $(intermediates)/css/JSCSSRuleList.h \
231     $(intermediates)/css/JSCSSStyleDeclaration.h \
232     $(intermediates)/css/JSCSSStyleRule.h \
233     $(intermediates)/css/JSCSSStyleSheet.h \
234     $(intermediates)/css/JSCSSUnknownRule.h \
235     $(intermediates)/css/JSCSSValue.h \
236     $(intermediates)/css/JSCSSValueList.h \
237     $(intermediates)/css/JSCSSVariablesDeclaration.h \
238     $(intermediates)/css/JSCSSVariablesRule.h \
239     $(intermediates)/css/JSCounter.h \
240     $(intermediates)/css/JSMediaList.h \
241     $(intermediates)/css/JSRect.h \
242     $(intermediates)/css/JSStyleSheet.h \
243     $(intermediates)/css/JSStyleSheetList.h \
244     $(intermediates)/css/JSWebKitCSSKeyframeRule.h \
245     $(intermediates)/css/JSWebKitCSSKeyframesRule.h \
246     $(intermediates)/css/JSWebKitCSSMatrix.h \
247     $(intermediates)/css/JSWebKitCSSTransformValue.h 
248 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
249 $(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 $@) $<
250 $(GEN): $(intermediates)/css/JS%.h : $(LOCAL_PATH)/css/%.idl $(js_binding_scripts)
251         $(transform-generated-source)
252 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
253
254
255 # We also need the .cpp files, which are generated as side effects of the
256 # above rules.  Specifying this explicitly makes -j2 work.
257 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/css/%.cpp : $(intermediates)/css/%.h
258
259 # MANUAL MERGE : I took this out because compiling the result shows:
260 # out/.../JSEventTarget.cpp: In function 'JSC::JSValue* WebCore::jsEventTargetPrototypeFunctionAddEventListener(JSC::ExecState*, JSC::JSObject*, JSC::JSValue*, const JSC::ArgList&)':
261 # out/.../JSEventTarget.cpp:90: error: 'toEventListener' was not declared in this scope
262 # but I can't find toEventListener anywhere, nor can I figure out how toEventListener
263 # is generated
264 #    $(intermediates)/dom/JSEventTarget.h \
265
266 GEN := \
267     $(intermediates)/dom/JSAttr.h \
268     $(intermediates)/dom/JSCDATASection.h \
269     $(intermediates)/dom/JSCharacterData.h \
270         $(intermediates)/dom/JSClientRect.h \
271         $(intermediates)/dom/JSClientRectList.h \
272     $(intermediates)/dom/JSClipboard.h \
273     $(intermediates)/dom/JSComment.h \
274     $(intermediates)/dom/JSDOMCoreException.h \
275     $(intermediates)/dom/JSDOMImplementation.h \
276     $(intermediates)/dom/JSDOMStringList.h \
277     $(intermediates)/dom/JSDocument.h \
278     $(intermediates)/dom/JSDocumentFragment.h \
279     $(intermediates)/dom/JSDocumentType.h \
280     $(intermediates)/dom/JSElement.h \
281     $(intermediates)/dom/JSEntity.h \
282     $(intermediates)/dom/JSEntityReference.h \
283     $(intermediates)/dom/JSEvent.h \
284     $(intermediates)/dom/JSEventException.h \
285     $(intermediates)/dom/JSKeyboardEvent.h \
286     $(intermediates)/dom/JSMessageChannel.h \
287     $(intermediates)/dom/JSMessageEvent.h \
288     $(intermediates)/dom/JSMessagePort.h \
289     $(intermediates)/dom/JSMouseEvent.h \
290     $(intermediates)/dom/JSMutationEvent.h \
291     $(intermediates)/dom/JSNamedNodeMap.h \
292     $(intermediates)/dom/JSNode.h \
293     $(intermediates)/dom/JSNodeFilter.h \
294     $(intermediates)/dom/JSNodeIterator.h \
295     $(intermediates)/dom/JSNodeList.h \
296     $(intermediates)/dom/JSNotation.h \
297         $(intermediates)/dom/JSOverflowEvent.h \
298     $(intermediates)/dom/JSProcessingInstruction.h \
299     $(intermediates)/dom/JSProgressEvent.h \
300     $(intermediates)/dom/JSRange.h \
301     $(intermediates)/dom/JSRangeException.h \
302     $(intermediates)/dom/JSText.h \
303     $(intermediates)/dom/JSTextEvent.h \
304     $(intermediates)/dom/JSTouch.h \
305     $(intermediates)/dom/JSTouchEvent.h \
306     $(intermediates)/dom/JSTouchList.h \
307     $(intermediates)/dom/JSTreeWalker.h \
308     $(intermediates)/dom/JSUIEvent.h \
309     $(intermediates)/dom/JSWebKitAnimationEvent.h \
310     $(intermediates)/dom/JSWebKitTransitionEvent.h \
311     $(intermediates)/dom/JSWheelEvent.h
312 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
313 $(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 $@) $<
314 $(GEN): $(intermediates)/dom/JS%.h : $(LOCAL_PATH)/dom/%.idl $(js_binding_scripts)
315         $(transform-generated-source)
316 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
317
318 # We also need the .cpp files, which are generated as side effects of the
319 # above rules.  Specifying this explicitly makes -j2 work.
320 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/dom/%.cpp : $(intermediates)/dom/%.h
321
322
323 GEN := \
324     $(intermediates)/html/JSCanvasGradient.h \
325     $(intermediates)/html/JSCanvasPattern.h \
326     $(intermediates)/html/JSCanvasRenderingContext2D.h \
327     $(intermediates)/html/JSFile.h \
328     $(intermediates)/html/JSFileList.h \
329     $(intermediates)/html/JSHTMLAnchorElement.h \
330     $(intermediates)/html/JSHTMLAppletElement.h \
331     $(intermediates)/html/JSHTMLAreaElement.h \
332     $(intermediates)/html/JSHTMLBRElement.h \
333     $(intermediates)/html/JSHTMLBaseElement.h \
334     $(intermediates)/html/JSHTMLBaseFontElement.h \
335     $(intermediates)/html/JSHTMLBlockquoteElement.h \
336     $(intermediates)/html/JSHTMLBodyElement.h \
337     $(intermediates)/html/JSHTMLButtonElement.h \
338     $(intermediates)/html/JSHTMLCanvasElement.h \
339         $(intermediates)/html/JSHTMLCollection.h \
340     $(intermediates)/html/JSHTMLDListElement.h \
341     $(intermediates)/html/JSHTMLDirectoryElement.h \
342     $(intermediates)/html/JSHTMLDivElement.h \
343     $(intermediates)/html/JSHTMLDocument.h \
344     $(intermediates)/html/JSHTMLElement.h \
345     $(intermediates)/html/JSHTMLEmbedElement.h \
346     $(intermediates)/html/JSHTMLFieldSetElement.h \
347     $(intermediates)/html/JSHTMLFontElement.h \
348     $(intermediates)/html/JSHTMLFormElement.h \
349     $(intermediates)/html/JSHTMLFrameElement.h \
350     $(intermediates)/html/JSHTMLFrameSetElement.h \
351     $(intermediates)/html/JSHTMLHRElement.h \
352     $(intermediates)/html/JSHTMLHeadElement.h \
353     $(intermediates)/html/JSHTMLHeadingElement.h \
354     $(intermediates)/html/JSHTMLHtmlElement.h \
355     $(intermediates)/html/JSHTMLIFrameElement.h \
356     $(intermediates)/html/JSHTMLImageElement.h \
357     $(intermediates)/html/JSHTMLInputElement.h \
358     $(intermediates)/html/JSHTMLIsIndexElement.h \
359     $(intermediates)/html/JSHTMLLIElement.h \
360     $(intermediates)/html/JSHTMLLabelElement.h \
361     $(intermediates)/html/JSHTMLLegendElement.h \
362     $(intermediates)/html/JSHTMLLinkElement.h \
363     $(intermediates)/html/JSHTMLMapElement.h \
364     $(intermediates)/html/JSHTMLMarqueeElement.h \
365     $(intermediates)/html/JSHTMLMenuElement.h \
366     $(intermediates)/html/JSHTMLMetaElement.h \
367     $(intermediates)/html/JSHTMLModElement.h \
368     $(intermediates)/html/JSHTMLOListElement.h \
369     $(intermediates)/html/JSHTMLObjectElement.h \
370     $(intermediates)/html/JSHTMLOptGroupElement.h \
371     $(intermediates)/html/JSHTMLOptionElement.h \
372         $(intermediates)/html/JSHTMLOptionsCollection.h \
373     $(intermediates)/html/JSHTMLParagraphElement.h \
374     $(intermediates)/html/JSHTMLParamElement.h \
375     $(intermediates)/html/JSHTMLPreElement.h \
376     $(intermediates)/html/JSHTMLQuoteElement.h \
377     $(intermediates)/html/JSHTMLScriptElement.h \
378     $(intermediates)/html/JSHTMLSelectElement.h \
379     $(intermediates)/html/JSHTMLSourceElement.h \
380     $(intermediates)/html/JSHTMLStyleElement.h \
381     $(intermediates)/html/JSHTMLTableCaptionElement.h \
382     $(intermediates)/html/JSHTMLTableCellElement.h \
383     $(intermediates)/html/JSHTMLTableColElement.h \
384     $(intermediates)/html/JSHTMLTableElement.h \
385     $(intermediates)/html/JSHTMLTableRowElement.h \
386     $(intermediates)/html/JSHTMLTableSectionElement.h \
387     $(intermediates)/html/JSHTMLTextAreaElement.h \
388     $(intermediates)/html/JSHTMLTitleElement.h \
389     $(intermediates)/html/JSHTMLUListElement.h \
390     $(intermediates)/html/JSHTMLVideoElement.h \
391     $(intermediates)/html/JSImageData.h \
392     $(intermediates)/html/JSMediaError.h \
393     $(intermediates)/html/JSTextMetrics.h \
394     $(intermediates)/html/JSTimeRanges.h \
395     $(intermediates)/html/JSVoidCallback.h 
396
397 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
398 $(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 $@) $<
399 $(GEN): $(intermediates)/html/JS%.h : $(LOCAL_PATH)/html/%.idl $(js_binding_scripts)
400         $(transform-generated-source)
401 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
402
403 # We also need the .cpp files, which are generated as side effects of the
404 # above rules.  Specifying this explicitly makes -j2 work.
405 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/html/%.cpp : $(intermediates)/html/%.h
406
407 GEN := \
408     $(intermediates)/inspector/JSJavaScriptCallFrame.h 
409     
410 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
411 $(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 $@) $<
412 $(GEN): $(intermediates)/inspector/JS%.h : $(LOCAL_PATH)/inspector/%.idl $(js_binding_scripts)
413         $(transform-generated-source)
414 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
415
416 # We also need the .cpp files, which are generated as side effects of the
417 # above rules.  Specifying this explicitly makes -j2 work.
418 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/inspector/%.cpp : $(intermediates)/inspector/%.h
419
420 GEN := \
421     $(intermediates)/loader/appcache/JSDOMApplicationCache.h 
422     
423 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
424 $(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 $@) $<
425 $(GEN): $(intermediates)/loader/appcache/JS%.h : $(LOCAL_PATH)/loader/appcache/%.idl $(js_binding_scripts)
426         $(transform-generated-source)
427 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
428
429 # We also need the .cpp files, which are generated as side effects of the
430 # above rules.  Specifying this explicitly makes -j2 work.
431 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/loader/appcache/%.cpp : $(intermediates)/loader/appcache/%.h
432
433 # MANUAL MERGE : I took this out because compiling the result shows:
434 # out/.../JSAbstractView.cpp:27:26: error: AbstractView.h: No such file or directory
435 # I can't find AbstractView.h anywhere
436 #    $(intermediates)/page/JSAbstractView.h \
437 #
438 # also:
439 #
440 # out/.../JSPositionCallback.cpp:145: error: no matching function for call to 'WebCore::PositionCallback::handleEvent(WebCore::Geoposition*&)'
441 #  note: candidates are: virtual void WebCore::PositionCallback::handleEvent(WebCore::Geoposition*, bool&)
442 #    $(intermediates)/page/JSPositionCallback.h \
443
444 GEN := \
445     $(intermediates)/page/JSBarInfo.h \
446     $(intermediates)/page/JSConsole.h \
447         $(intermediates)/page/JSCoordinates.h \
448     $(intermediates)/page/JSDOMSelection.h \
449     $(intermediates)/page/JSDOMWindow.h \
450     $(intermediates)/page/JSGeolocation.h \
451     $(intermediates)/page/JSGeoposition.h \
452     $(intermediates)/page/JSHistory.h \
453     $(intermediates)/page/JSLocation.h \
454     $(intermediates)/page/JSNavigator.h \
455     $(intermediates)/page/JSPositionError.h \
456     $(intermediates)/page/JSPositionErrorCallback.h \
457     $(intermediates)/page/JSScreen.h \
458         $(intermediates)/page/JSWebKitPoint.h
459 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
460 $(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 $@) $<
461 $(GEN): $(intermediates)/page/JS%.h : $(LOCAL_PATH)/page/%.idl $(js_binding_scripts)
462         $(transform-generated-source)
463 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
464
465 # We also need the .cpp files, which are generated as side effects of the
466 # above rules.  Specifying this explicitly makes -j2 work.
467 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/page/%.cpp : $(intermediates)/page/%.h
468
469 GEN := \
470     $(intermediates)/plugins/JSMimeType.h \
471     $(intermediates)/plugins/JSMimeTypeArray.h \
472     $(intermediates)/plugins/JSPlugin.h \
473     $(intermediates)/plugins/JSPluginArray.h 
474     
475 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
476 $(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 $@) $<
477 $(GEN): $(intermediates)/plugins/JS%.h : $(LOCAL_PATH)/plugins/%.idl $(js_binding_scripts)
478         $(transform-generated-source)
479 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
480
481 # We also need the .cpp files, which are generated as side effects of the
482 # above rules.  Specifying this explicitly makes -j2 work.
483 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/plugins/%.cpp : $(intermediates)/plugins/%.h
484
485 # New section for Database storage API
486 GEN := \
487     $(intermediates)/storage/JSDatabase.h \
488     $(intermediates)/storage/JSSQLError.h \
489     $(intermediates)/storage/JSSQLResultSet.h \
490     $(intermediates)/storage/JSSQLResultSetRowList.h \
491     $(intermediates)/storage/JSSQLTransaction.h
492
493 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
494 $(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 $@) $<
495 $(GEN): $(intermediates)/storage/JS%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
496         $(transform-generated-source)
497 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
498
499 # We also need the .cpp files, which are generated as side effects of the
500 # above rules.  Specifying this explicitly makes -j2 work.
501 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/storage/%.cpp : $(intermediates)/storage/%.h
502
503 #new section for svg
504 ifeq ($(ENABLE_SVG), true)
505 GEN := \
506     $(intermediates)/svg/JSSVGAElement.h \
507     $(intermediates)/svg/JSSVGAltGlyphElement.h \
508     $(intermediates)/svg/JSSVGAngle.h \
509     $(intermediates)/svg/JSSVGAnimateColorElement.h \
510     $(intermediates)/svg/JSSVGAnimateElement.h \
511     $(intermediates)/svg/JSSVGAnimateTransformElement.h \
512     $(intermediates)/svg/JSSVGAnimatedAngle.h \
513     $(intermediates)/svg/JSSVGAnimatedBoolean.h \
514     $(intermediates)/svg/JSSVGAnimatedEnumeration.h \
515     $(intermediates)/svg/JSSVGAnimatedInteger.h \
516     $(intermediates)/svg/JSSVGAnimatedLength.h \
517     $(intermediates)/svg/JSSVGAnimatedLengthList.h \
518     $(intermediates)/svg/JSSVGAnimatedNumber.h \
519     $(intermediates)/svg/JSSVGAnimatedNumberList.h \
520     $(intermediates)/svg/JSSVGAnimatedPreserveAspectRatio.h \
521     $(intermediates)/svg/JSSVGAnimatedRect.h \
522     $(intermediates)/svg/JSSVGAnimatedString.h \
523     $(intermediates)/svg/JSSVGAnimatedTransformList.h \
524     $(intermediates)/svg/JSSVGAnimationElement.h \
525     $(intermediates)/svg/JSSVGCircleElement.h \
526     $(intermediates)/svg/JSSVGClipPathElement.h \
527     $(intermediates)/svg/JSSVGColor.h \
528     $(intermediates)/svg/JSSVGComponentTransferFunctionElement.h \
529     $(intermediates)/svg/JSSVGCursorElement.h \
530     $(intermediates)/svg/JSSVGDefinitionSrcElement.h \
531     $(intermediates)/svg/JSSVGDefsElement.h \
532     $(intermediates)/svg/JSSVGDescElement.h \
533     $(intermediates)/svg/JSSVGDocument.h \
534     $(intermediates)/svg/JSSVGElement.h \
535     $(intermediates)/svg/JSSVGElementInstance.h \
536     $(intermediates)/svg/JSSVGElementInstanceList.h \
537     $(intermediates)/svg/JSSVGEllipseElement.h \
538     $(intermediates)/svg/JSSVGException.h \
539     $(intermediates)/svg/JSSVGFEBlendElement.h \
540     $(intermediates)/svg/JSSVGFEColorMatrixElement.h \
541     $(intermediates)/svg/JSSVGFEComponentTransferElement.h \
542     $(intermediates)/svg/JSSVGFECompositeElement.h \
543     $(intermediates)/svg/JSSVGFEDiffuseLightingElement.h \
544     $(intermediates)/svg/JSSVGFEDisplacementMapElement.h \
545     $(intermediates)/svg/JSSVGFEDistantLightElement.h \
546     $(intermediates)/svg/JSSVGFEFloodElement.h \
547     $(intermediates)/svg/JSSVGFEFuncAElement.h \
548     $(intermediates)/svg/JSSVGFEFuncBElement.h \
549     $(intermediates)/svg/JSSVGFEFuncGElement.h \
550     $(intermediates)/svg/JSSVGFEFuncRElement.h \
551     $(intermediates)/svg/JSSVGFEGaussianBlurElement.h \
552     $(intermediates)/svg/JSSVGFEImageElement.h \
553     $(intermediates)/svg/JSSVGFEMergeElement.h \
554     $(intermediates)/svg/JSSVGFEMergeNodeElement.h \
555     $(intermediates)/svg/JSSVGFEOffsetElement.h \
556     $(intermediates)/svg/JSSVGFEPointLightElement.h \
557     $(intermediates)/svg/JSSVGFESpecularLightingElement.h \
558     $(intermediates)/svg/JSSVGFESpotLightElement.h \
559     $(intermediates)/svg/JSSVGFETileElement.h \
560     $(intermediates)/svg/JSSVGFETurbulenceElement.h \
561     $(intermediates)/svg/JSSVGFilterElement.h \
562     $(intermediates)/svg/JSSVGFontElement.h \
563     $(intermediates)/svg/JSSVGFontFaceElement.h \
564     $(intermediates)/svg/JSSVGFontFaceFormatElement.h \
565     $(intermediates)/svg/JSSVGFontFaceNameElement.h \
566     $(intermediates)/svg/JSSVGFontFaceSrcElement.h \
567     $(intermediates)/svg/JSSVGFontFaceUriElement.h \
568     $(intermediates)/svg/JSSVGForeignObjectElement.h \
569     $(intermediates)/svg/JSSVGGElement.h \
570     $(intermediates)/svg/JSSVGGlyphElement.h \
571     $(intermediates)/svg/JSSVGGradientElement.h \
572     $(intermediates)/svg/JSSVGHKernElement.h \
573     $(intermediates)/svg/JSSVGImageElement.h \
574     $(intermediates)/svg/JSSVGLength.h \
575     $(intermediates)/svg/JSSVGLengthList.h \
576     $(intermediates)/svg/JSSVGLineElement.h \
577     $(intermediates)/svg/JSSVGLinearGradientElement.h \
578     $(intermediates)/svg/JSSVGMarkerElement.h \
579     $(intermediates)/svg/JSSVGMaskElement.h \
580     $(intermediates)/svg/JSSVGMatrix.h \
581     $(intermediates)/svg/JSSVGMetadataElement.h \
582     $(intermediates)/svg/JSSVGMissingGlyphElement.h \
583     $(intermediates)/svg/JSSVGNumber.h \
584     $(intermediates)/svg/JSSVGNumberList.h \
585     $(intermediates)/svg/JSSVGPaint.h \
586     $(intermediates)/svg/JSSVGPathElement.h \
587     $(intermediates)/svg/JSSVGPathSeg.h \
588     $(intermediates)/svg/JSSVGPathSegArcAbs.h \
589     $(intermediates)/svg/JSSVGPathSegArcRel.h \
590     $(intermediates)/svg/JSSVGPathSegClosePath.h \
591     $(intermediates)/svg/JSSVGPathSegCurvetoCubicAbs.h \
592     $(intermediates)/svg/JSSVGPathSegCurvetoCubicRel.h \
593     $(intermediates)/svg/JSSVGPathSegCurvetoCubicSmoothAbs.h \
594     $(intermediates)/svg/JSSVGPathSegCurvetoCubicSmoothRel.h \
595     $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticAbs.h \
596     $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticRel.h \
597     $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticSmoothAbs.h \
598     $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticSmoothRel.h \
599     $(intermediates)/svg/JSSVGPathSegLinetoAbs.h \
600     $(intermediates)/svg/JSSVGPathSegLinetoHorizontalAbs.h \
601     $(intermediates)/svg/JSSVGPathSegLinetoHorizontalRel.h \
602     $(intermediates)/svg/JSSVGPathSegLinetoRel.h \
603     $(intermediates)/svg/JSSVGPathSegLinetoVerticalAbs.h \
604     $(intermediates)/svg/JSSVGPathSegLinetoVerticalRel.h \
605     $(intermediates)/svg/JSSVGPathSegList.h \
606     $(intermediates)/svg/JSSVGPathSegMovetoAbs.h \
607     $(intermediates)/svg/JSSVGPathSegMovetoRel.h \
608     $(intermediates)/svg/JSSVGPatternElement.h \
609     $(intermediates)/svg/JSSVGPoint.h \
610     $(intermediates)/svg/JSSVGPointList.h \
611     $(intermediates)/svg/JSSVGPolygonElement.h \
612     $(intermediates)/svg/JSSVGPolylineElement.h \
613     $(intermediates)/svg/JSSVGPreserveAspectRatio.h \
614     $(intermediates)/svg/JSSVGRadialGradientElement.h \
615     $(intermediates)/svg/JSSVGRect.h \
616     $(intermediates)/svg/JSSVGRectElement.h \
617     $(intermediates)/svg/JSSVGRenderingIntent.h \
618     $(intermediates)/svg/JSSVGSVGElement.h \
619     $(intermediates)/svg/JSSVGScriptElement.h \
620     $(intermediates)/svg/JSSVGSetElement.h \
621     $(intermediates)/svg/JSSVGStopElement.h \
622     $(intermediates)/svg/JSSVGStringList.h \
623     $(intermediates)/svg/JSSVGStyleElement.h \
624     $(intermediates)/svg/JSSVGSwitchElement.h \
625     $(intermediates)/svg/JSSVGSymbolElement.h \
626     $(intermediates)/svg/JSSVGTRefElement.h \
627     $(intermediates)/svg/JSSVGTSpanElement.h \
628     $(intermediates)/svg/JSSVGTextContentElement.h \
629     $(intermediates)/svg/JSSVGTextElement.h \
630     $(intermediates)/svg/JSSVGTextPathElement.h \
631     $(intermediates)/svg/JSSVGTextPositioningElement.h \
632     $(intermediates)/svg/JSSVGTitleElement.h \
633     $(intermediates)/svg/JSSVGTransform.h \
634     $(intermediates)/svg/JSSVGTransformList.h \
635     $(intermediates)/svg/JSSVGUnitTypes.h \
636     $(intermediates)/svg/JSSVGUseElement.h \
637     $(intermediates)/svg/JSSVGViewElement.h \
638     $(intermediates)/svg/JSSVGZoomEvent.h
639 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
640 $(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/WebCore/dom --include external/webkit/WebCore/html --include external/webkit/WebCore/svg --outputdir $(dir $@) $<
641 $(GEN): $(intermediates)/svg/JS%.h : $(LOCAL_PATH)/svg/%.idl $(js_binding_scripts)
642         $(transform-generated-source)
643 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
644
645 # We also need the .cpp files, which are generated as side effects of the
646 # above rules.  Specifying this explicitly makes -j2 work.
647 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/svg/%.cpp : $(intermediates)/svg/%.h
648 endif
649
650 #new section for xml/DOMParser.idl
651 GEN := \
652     $(intermediates)/xml/JSDOMParser.h \
653     $(intermediates)/xml/JSXMLHttpRequest.h \
654     $(intermediates)/xml/JSXMLHttpRequestException.h \
655     $(intermediates)/xml/JSXMLHttpRequestProgressEvent.h \
656     $(intermediates)/xml/JSXMLHttpRequestUpload.h \
657     $(intermediates)/xml/JSXMLSerializer.h \
658     $(intermediates)/xml/JSXPathEvaluator.h \
659         $(intermediates)/xml/JSXPathException.h \
660     $(intermediates)/xml/JSXPathExpression.h \
661     $(intermediates)/xml/JSXPathNSResolver.h \
662     $(intermediates)/xml/JSXPathResult.h  \
663     $(intermediates)/xml/JSXSLTProcessor.h 
664 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
665 $(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 $@) $<
666 $(GEN): $(intermediates)/xml/JS%.h : $(LOCAL_PATH)/xml/%.idl $(js_binding_scripts)
667         $(transform-generated-source)
668 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
669
670 # We also need the .cpp files, which are generated as side effects of the
671 # above rules.  Specifying this explicitly makes -j2 work.
672 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/xml/%.cpp : $(intermediates)/xml/%.h
673 #end
674
675 # HTML tag and attribute names
676
677 GEN:= $(intermediates)/HTMLNames.cpp $(intermediates)/HTMLElementFactory.cpp  $(intermediates)/JSHTMLElementWrapperFactory.cpp
678 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
679 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --tags $(html_tags) --attrs $(html_attrs) --factory --wrapperFactory --output $(dir $@) 
680 $(GEN): html_tags := $(LOCAL_PATH)/html/HTMLTagNames.in
681 $(GEN): html_attrs := $(LOCAL_PATH)/html/HTMLAttributeNames.in
682 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(html_tags) $(html_attrs)
683         $(transform-generated-source)
684 LOCAL_GENERATED_SOURCES += $(GEN)
685
686 # SVG tag and attribute names
687
688 ifeq ($(ENABLE_SVG), true)
689 GEN:= $(intermediates)/SVGNames.cpp  $(intermediates)/SVGElementFactory.cpp $(intermediates)/JSSVGElementWrapperFactory.cpp
690 SVG_FLAGS:=ENABLE_SVG_AS_IMAGE=1 ENABLE_SVG_FILTERS=1 ENABLE_SVG_FONTS=1 ENABLE_SVG_FOREIGN_OBJECT=1 ENABLE_SVG_USE=1
691 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
692 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --tags $(svg_tags) --attrs $(svg_attrs) --extraDefines "$(SVG_FLAGS)" --factory --wrapperFactory --output $(dir $@) 
693 $(GEN): svg_tags := $(LOCAL_PATH)/svg/svgtags.in
694 $(GEN): svg_attrs := $(LOCAL_PATH)/svg/svgattrs.in
695 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(svg_tags) $(svg_attrs)
696         $(transform-generated-source)
697 LOCAL_GENERATED_SOURCES += $(GEN)
698 endif
699
700 # XML attribute names
701
702 GEN:= $(intermediates)/XMLNames.cpp
703 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
704 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --attrs $(xml_attrs) --output $(dir $@) 
705 $(GEN): xml_attrs := $(LOCAL_PATH)/xml/xmlattrs.in
706 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(xml_attrs)
707         $(transform-generated-source)
708 LOCAL_GENERATED_SOURCES += $(GEN)
709
710 # XLink attribute names
711
712 ifeq ($(ENABLE_SVG), true)
713 GEN:= $(intermediates)/XLinkNames.cpp
714 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
715 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --attrs $(xlink_attrs) --output $(dir $@) 
716 $(GEN): xlink_attrs := $(LOCAL_PATH)/svg/xlinkattrs.in
717 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(xlink_attrs)
718         $(transform-generated-source)
719 LOCAL_GENERATED_SOURCES += $(GEN)
720 endif