Home | History | Annotate | Download | only in WebCore
      1 ##
      2 ## Copyright 2009, The Android Open Source Project
      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 ##  * Redistributions of source code must retain the above copyright
      8 ##    notice, this list of conditions and the following disclaimer.
      9 ##  * Redistributions in binary form must reproduce the above copyright
     10 ##    notice, this list of conditions and the following disclaimer in the
     11 ##    documentation and/or other materials provided with the distribution.
     12 ##
     13 ## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
     14 ## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     15 ## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     16 ## PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     17 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     18 ## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     19 ## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     20 ## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     21 ## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     22 ## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     23 ## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     24 ##
     25 
     26 js_binding_scripts := \
     27 	$(LOCAL_PATH)/bindings/scripts/CodeGenerator.pm \
     28 	$(LOCAL_PATH)/bindings/scripts/CodeGeneratorV8.pm \
     29 	$(LOCAL_PATH)/bindings/scripts/IDLParser.pm \
     30 	$(LOCAL_PATH)/bindings/scripts/IDLStructure.pm \
     31 	$(LOCAL_PATH)/bindings/scripts/generate-bindings.pl
     32 
     33 # Add ACCELERATED_COMPOSITING=1 and ENABLE_3D_RENDERING=1 for layers support
     34 FEATURE_DEFINES := ENABLE_ORIENTATION_EVENTS=1 ENABLE_TOUCH_EVENTS=1 ENABLE_DATABASE=1 ENABLE_OFFLINE_WEB_APPLICATIONS=1 ENABLE_DOM_STORAGE=1 ENABLE_VIDEO=1 ENABLE_GEOLOCATION=1 ENABLE_CONNECTION=1 ENABLE_APPLICATION_INSTALLED=1 ENABLE_XPATH=1 ENABLE_XSLT=1 ENABLE_DEVICE_ORIENTATION=1 ENABLE_FILE_READER=1 ENABLE_BLOB=1 ENABLE_WEB_TIMING=1
     35 # The defines above should be identical to those for JSC.
     36 FEATURE_DEFINES += V8_BINDING
     37 
     38 ifeq ($(ENABLE_SVG), true)
     39     FEATURE_DEFINES += ENABLE_SVG=1
     40 endif
     41 
     42 # CSS
     43 GEN := \
     44     $(intermediates)/bindings/V8CSSCharsetRule.h \
     45     $(intermediates)/bindings/V8CSSFontFaceRule.h \
     46     $(intermediates)/bindings/V8CSSImportRule.h \
     47     $(intermediates)/bindings/V8CSSMediaRule.h \
     48     $(intermediates)/bindings/V8CSSPageRule.h \
     49     $(intermediates)/bindings/V8CSSPrimitiveValue.h \
     50     $(intermediates)/bindings/V8CSSRule.h \
     51     $(intermediates)/bindings/V8CSSRuleList.h \
     52     $(intermediates)/bindings/V8CSSStyleDeclaration.h \
     53     $(intermediates)/bindings/V8CSSStyleRule.h \
     54     $(intermediates)/bindings/V8CSSStyleSheet.h \
     55     $(intermediates)/bindings/V8CSSValue.h \
     56     $(intermediates)/bindings/V8CSSValueList.h \
     57     $(intermediates)/bindings/V8Counter.h \
     58     $(intermediates)/bindings/V8MediaList.h \
     59     $(intermediates)/bindings/V8MediaQueryList.h \
     60     $(intermediates)/bindings/V8Rect.h \
     61     $(intermediates)/bindings/V8RGBColor.h \
     62     $(intermediates)/bindings/V8StyleMedia.h \
     63     $(intermediates)/bindings/V8StyleSheet.h \
     64     $(intermediates)/bindings/V8StyleSheetList.h  \
     65     $(intermediates)/bindings/V8WebKitCSSKeyframeRule.h \
     66     $(intermediates)/bindings/V8WebKitCSSKeyframesRule.h \
     67     $(intermediates)/bindings/V8WebKitCSSMatrix.h \
     68     $(intermediates)/bindings/V8WebKitCSSTransformValue.h
     69 
     70 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
     71 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include css --include dom --include html --outputdir $(dir $@) $<
     72 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/css/%.idl $(js_binding_scripts)
     73 	$(transform-generated-source)
     74 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
     75 
     76 # We also need the .cpp files, which are generated as side effects of the
     77 # above rules.  Specifying this explicitly makes -j2 work.
     78 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
     79 
     80 # DOM
     81 GEN := \
     82     $(intermediates)/bindings/V8Attr.h \
     83     $(intermediates)/bindings/V8BeforeLoadEvent.h \
     84     $(intermediates)/bindings/V8CDATASection.h \
     85     $(intermediates)/bindings/V8CharacterData.h \
     86     $(intermediates)/bindings/V8ClientRect.h \
     87     $(intermediates)/bindings/V8ClientRectList.h \
     88     $(intermediates)/bindings/V8Clipboard.h \
     89     $(intermediates)/bindings/V8Comment.h \
     90     $(intermediates)/bindings/V8CompositionEvent.h \
     91     $(intermediates)/bindings/V8CustomEvent.h \
     92     $(intermediates)/bindings/V8DOMCoreException.h \
     93     $(intermediates)/bindings/V8DOMImplementation.h \
     94     $(intermediates)/bindings/V8DOMStringList.h \
     95     $(intermediates)/bindings/V8DOMStringMap.h \
     96     $(intermediates)/bindings/V8DataTransferItems.h \
     97     $(intermediates)/bindings/V8DeviceMotionEvent.h \
     98     $(intermediates)/bindings/V8DeviceOrientationEvent.h \
     99     $(intermediates)/bindings/V8Document.h \
    100     $(intermediates)/bindings/V8DocumentFragment.h \
    101     $(intermediates)/bindings/V8DocumentType.h \
    102     $(intermediates)/bindings/V8Element.h \
    103     $(intermediates)/bindings/V8Entity.h \
    104     $(intermediates)/bindings/V8EntityReference.h \
    105     $(intermediates)/bindings/V8ErrorEvent.h \
    106     $(intermediates)/bindings/V8Event.h \
    107     $(intermediates)/bindings/V8EventException.h \
    108     $(intermediates)/bindings/V8HashChangeEvent.h \
    109     $(intermediates)/bindings/V8KeyboardEvent.h \
    110     $(intermediates)/bindings/V8MessageChannel.h \
    111     $(intermediates)/bindings/V8MessageEvent.h \
    112     $(intermediates)/bindings/V8MessagePort.h \
    113     $(intermediates)/bindings/V8MouseEvent.h \
    114     $(intermediates)/bindings/V8MutationEvent.h \
    115     $(intermediates)/bindings/V8NamedNodeMap.h \
    116     $(intermediates)/bindings/V8Node.h \
    117     $(intermediates)/bindings/V8NodeFilter.h \
    118     $(intermediates)/bindings/V8NodeIterator.h \
    119     $(intermediates)/bindings/V8NodeList.h \
    120     $(intermediates)/bindings/V8Notation.h \
    121     $(intermediates)/bindings/V8OverflowEvent.h \
    122     $(intermediates)/bindings/V8PageTransitionEvent.h \
    123     $(intermediates)/bindings/V8PopStateEvent.h \
    124     $(intermediates)/bindings/V8ProcessingInstruction.h \
    125     $(intermediates)/bindings/V8ProgressEvent.h \
    126     $(intermediates)/bindings/V8Range.h \
    127     $(intermediates)/bindings/V8RangeException.h \
    128     $(intermediates)/bindings/V8Text.h \
    129     $(intermediates)/bindings/V8TextEvent.h \
    130     $(intermediates)/bindings/V8Touch.h \
    131     $(intermediates)/bindings/V8TouchEvent.h \
    132     $(intermediates)/bindings/V8TouchList.h \
    133     $(intermediates)/bindings/V8TreeWalker.h \
    134     $(intermediates)/bindings/V8UIEvent.h \
    135     $(intermediates)/bindings/V8WebKitAnimationEvent.h \
    136     $(intermediates)/bindings/V8WebKitTransitionEvent.h \
    137     $(intermediates)/bindings/V8WheelEvent.h
    138 
    139 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    140 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
    141 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/dom/%.idl $(js_binding_scripts)
    142 	$(transform-generated-source)
    143 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    144 
    145 # We also need the .cpp files, which are generated as side effects of the
    146 # above rules.  Specifying this explicitly makes -j2 work.
    147 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    148 
    149 # Fileapi
    150 GEN := \
    151     $(intermediates)/bindings/V8Blob.h \
    152     $(intermediates)/bindings/V8DOMFileSystem.h \
    153     $(intermediates)/bindings/V8DOMFileSystemSync.h \
    154     $(intermediates)/bindings/V8DirectoryEntry.h \
    155     $(intermediates)/bindings/V8DirectoryEntrySync.h \
    156     $(intermediates)/bindings/V8DirectoryReader.h \
    157     $(intermediates)/bindings/V8DirectoryReaderSync.h \
    158     $(intermediates)/bindings/V8EntriesCallback.h \
    159     $(intermediates)/bindings/V8Entry.h \
    160     $(intermediates)/bindings/V8EntryArray.h \
    161     $(intermediates)/bindings/V8EntryArraySync.h \
    162     $(intermediates)/bindings/V8EntryCallback.h \
    163     $(intermediates)/bindings/V8EntrySync.h \
    164     $(intermediates)/bindings/V8ErrorCallback.h \
    165     $(intermediates)/bindings/V8File.h \
    166     $(intermediates)/bindings/V8FileCallback.h \
    167     $(intermediates)/bindings/V8FileEntry.h \
    168     $(intermediates)/bindings/V8FileEntrySync.h \
    169     $(intermediates)/bindings/V8FileError.h \
    170     $(intermediates)/bindings/V8FileException.h \
    171     $(intermediates)/bindings/V8FileList.h \
    172     $(intermediates)/bindings/V8FileReader.h \
    173     $(intermediates)/bindings/V8FileReaderSync.h \
    174     $(intermediates)/bindings/V8FileSystemCallback.h \
    175     $(intermediates)/bindings/V8FileWriter.h \
    176     $(intermediates)/bindings/V8FileWriterCallback.h \
    177     $(intermediates)/bindings/V8Metadata.h \
    178     $(intermediates)/bindings/V8MetadataCallback.h \
    179     $(intermediates)/bindings/V8WebKitBlobBuilder.h \
    180     $(intermediates)/bindings/V8WebKitFlags.h
    181 
    182 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    183 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --include fileapi --outputdir $(dir $@) $<
    184 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/fileapi/%.idl $(js_binding_scripts)
    185 	$(transform-generated-source)
    186 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    187 
    188 # We also need the .cpp files, which are generated as side effects of the
    189 # above rules.  Specifying this explicitly makes -j2 work.
    190 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    191 
    192 # HTML
    193 GEN := \
    194     $(intermediates)/bindings/V8DOMFormData.h \
    195     $(intermediates)/bindings/V8DOMSettableTokenList.h \
    196     $(intermediates)/bindings/V8DOMTokenList.h \
    197     $(intermediates)/bindings/V8DOMURL.h \
    198     $(intermediates)/bindings/V8DataGridColumn.h \
    199     $(intermediates)/bindings/V8DataGridColumnList.h \
    200     $(intermediates)/bindings/V8HTMLAllCollection.h \
    201     $(intermediates)/bindings/V8HTMLAnchorElement.h \
    202     $(intermediates)/bindings/V8HTMLAppletElement.h \
    203     $(intermediates)/bindings/V8HTMLAreaElement.h \
    204     $(intermediates)/bindings/V8HTMLAudioElement.h \
    205     $(intermediates)/bindings/V8HTMLBRElement.h \
    206     $(intermediates)/bindings/V8HTMLBaseElement.h \
    207     $(intermediates)/bindings/V8HTMLBaseFontElement.h \
    208     $(intermediates)/bindings/V8HTMLBlockquoteElement.h \
    209     $(intermediates)/bindings/V8HTMLBodyElement.h \
    210     $(intermediates)/bindings/V8HTMLButtonElement.h \
    211     $(intermediates)/bindings/V8HTMLCanvasElement.h \
    212     $(intermediates)/bindings/V8HTMLCollection.h \
    213     $(intermediates)/bindings/V8HTMLDataGridCellElement.h \
    214     $(intermediates)/bindings/V8HTMLDataGridColElement.h \
    215     $(intermediates)/bindings/V8HTMLDataGridElement.h \
    216     $(intermediates)/bindings/V8HTMLDataGridRowElement.h \
    217     $(intermediates)/bindings/V8HTMLDataListElement.h \
    218     $(intermediates)/bindings/V8HTMLDetailsElement.h \
    219     $(intermediates)/bindings/V8HTMLDListElement.h \
    220     $(intermediates)/bindings/V8HTMLDirectoryElement.h \
    221     $(intermediates)/bindings/V8HTMLDivElement.h \
    222     $(intermediates)/bindings/V8HTMLDocument.h \
    223     $(intermediates)/bindings/V8HTMLElement.h \
    224     $(intermediates)/bindings/V8HTMLEmbedElement.h \
    225     $(intermediates)/bindings/V8HTMLFieldSetElement.h \
    226     $(intermediates)/bindings/V8HTMLFontElement.h \
    227     $(intermediates)/bindings/V8HTMLFormElement.h \
    228     $(intermediates)/bindings/V8HTMLFrameElement.h \
    229     $(intermediates)/bindings/V8HTMLFrameSetElement.h \
    230     $(intermediates)/bindings/V8HTMLHRElement.h \
    231     $(intermediates)/bindings/V8HTMLHeadElement.h \
    232     $(intermediates)/bindings/V8HTMLHeadingElement.h \
    233     $(intermediates)/bindings/V8HTMLHtmlElement.h \
    234     $(intermediates)/bindings/V8HTMLIFrameElement.h \
    235     $(intermediates)/bindings/V8HTMLImageElement.h \
    236     $(intermediates)/bindings/V8HTMLInputElement.h \
    237     $(intermediates)/bindings/V8HTMLIsIndexElement.h \
    238     $(intermediates)/bindings/V8HTMLKeygenElement.h \
    239     $(intermediates)/bindings/V8HTMLLIElement.h \
    240     $(intermediates)/bindings/V8HTMLLabelElement.h \
    241     $(intermediates)/bindings/V8HTMLLegendElement.h \
    242     $(intermediates)/bindings/V8HTMLLinkElement.h \
    243     $(intermediates)/bindings/V8HTMLMapElement.h \
    244     $(intermediates)/bindings/V8HTMLMarqueeElement.h \
    245     $(intermediates)/bindings/V8HTMLMediaElement.h \
    246     $(intermediates)/bindings/V8HTMLMenuElement.h \
    247     $(intermediates)/bindings/V8HTMLMetaElement.h \
    248     $(intermediates)/bindings/V8HTMLMeterElement.h \
    249     $(intermediates)/bindings/V8HTMLModElement.h \
    250     $(intermediates)/bindings/V8HTMLOListElement.h \
    251     $(intermediates)/bindings/V8HTMLObjectElement.h \
    252     $(intermediates)/bindings/V8HTMLOptGroupElement.h \
    253     $(intermediates)/bindings/V8HTMLOptionElement.h \
    254     $(intermediates)/bindings/V8HTMLOptionsCollection.h \
    255     $(intermediates)/bindings/V8HTMLOutputElement.h \
    256     $(intermediates)/bindings/V8HTMLParagraphElement.h \
    257     $(intermediates)/bindings/V8HTMLParamElement.h \
    258     $(intermediates)/bindings/V8HTMLPreElement.h \
    259     $(intermediates)/bindings/V8HTMLProgressElement.h \
    260     $(intermediates)/bindings/V8HTMLQuoteElement.h \
    261     $(intermediates)/bindings/V8HTMLScriptElement.h \
    262     $(intermediates)/bindings/V8HTMLSelectElement.h \
    263     $(intermediates)/bindings/V8HTMLSourceElement.h \
    264     $(intermediates)/bindings/V8HTMLStyleElement.h \
    265     $(intermediates)/bindings/V8HTMLTableCaptionElement.h \
    266     $(intermediates)/bindings/V8HTMLTableCellElement.h \
    267     $(intermediates)/bindings/V8HTMLTableColElement.h \
    268     $(intermediates)/bindings/V8HTMLTableElement.h \
    269     $(intermediates)/bindings/V8HTMLTableRowElement.h \
    270     $(intermediates)/bindings/V8HTMLTableSectionElement.h \
    271     $(intermediates)/bindings/V8HTMLTextAreaElement.h \
    272     $(intermediates)/bindings/V8HTMLTitleElement.h \
    273     $(intermediates)/bindings/V8HTMLUListElement.h \
    274     $(intermediates)/bindings/V8HTMLVideoElement.h \
    275     $(intermediates)/bindings/V8ImageData.h \
    276     $(intermediates)/bindings/V8MediaError.h \
    277     $(intermediates)/bindings/V8TextMetrics.h \
    278     $(intermediates)/bindings/V8TimeRanges.h \
    279     $(intermediates)/bindings/V8ValidityState.h \
    280     $(intermediates)/bindings/V8VoidCallback.h
    281 
    282 
    283 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    284 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
    285 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/html/%.idl $(js_binding_scripts)
    286 	$(transform-generated-source)
    287 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    288 
    289 # We also need the .cpp files, which are generated as side effects of the
    290 # above rules.  Specifying this explicitly makes -j2 work.
    291 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    292 
    293 # Canvas
    294 GEN := \
    295     $(intermediates)/bindings/V8ArrayBuffer.h \
    296     $(intermediates)/bindings/V8ArrayBufferView.h \
    297     $(intermediates)/bindings/V8CanvasGradient.h \
    298     $(intermediates)/bindings/V8CanvasPattern.h \
    299     $(intermediates)/bindings/V8CanvasPixelArray.h \
    300     $(intermediates)/bindings/V8CanvasRenderingContext.h \
    301     $(intermediates)/bindings/V8CanvasRenderingContext2D.h \
    302     $(intermediates)/bindings/V8DataView.h \
    303     $(intermediates)/bindings/V8Float32Array.h \
    304     $(intermediates)/bindings/V8Int8Array.h \
    305     $(intermediates)/bindings/V8Int16Array.h \
    306     $(intermediates)/bindings/V8Int32Array.h \
    307     $(intermediates)/bindings/V8OESTextureFloat.h \
    308     $(intermediates)/bindings/V8OESVertexArrayObject.h \
    309     $(intermediates)/bindings/V8Uint8Array.h \
    310     $(intermediates)/bindings/V8Uint16Array.h \
    311     $(intermediates)/bindings/V8Uint32Array.h \
    312     $(intermediates)/bindings/V8WebGLActiveInfo.h \
    313     $(intermediates)/bindings/V8WebGLBuffer.h \
    314     $(intermediates)/bindings/V8WebGLContextAttributes.h \
    315     $(intermediates)/bindings/V8WebGLFramebuffer.h \
    316     $(intermediates)/bindings/V8WebGLProgram.h \
    317     $(intermediates)/bindings/V8WebGLRenderbuffer.h \
    318     $(intermediates)/bindings/V8WebGLRenderingContext.h \
    319     $(intermediates)/bindings/V8WebGLShader.h \
    320     $(intermediates)/bindings/V8WebGLTexture.h \
    321     $(intermediates)/bindings/V8WebGLUniformLocation.h \
    322     $(intermediates)/bindings/V8WebGLVertexArrayObjectOES.h
    323 
    324 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    325 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --include html/canvas --outputdir $(dir $@) $<
    326 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/html/canvas/%.idl $(js_binding_scripts)
    327 	$(transform-generated-source)
    328 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    329 
    330 # We also need the .cpp files, which are generated as side effects of the
    331 # above rules.  Specifying this explicitly makes -j2 work.
    332 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    333 
    334 # Appcache
    335 GEN := \
    336     $(intermediates)/bindings/V8DOMApplicationCache.h
    337 
    338 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    339 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
    340 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/loader/appcache/%.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)/bindings/%.cpp : $(intermediates)/bindings/%.h
    347 
    348 # Page
    349 GEN := \
    350     $(intermediates)/bindings/V8BarInfo.h \
    351     $(intermediates)/bindings/V8Connection.h \
    352     $(intermediates)/bindings/V8Console.h \
    353     $(intermediates)/bindings/V8Coordinates.h \
    354     $(intermediates)/bindings/V8Crypto.h \
    355     $(intermediates)/bindings/V8DOMSelection.h \
    356     $(intermediates)/bindings/V8DOMWindow.h \
    357     $(intermediates)/bindings/V8EventSource.h \
    358     $(intermediates)/bindings/V8Geolocation.h \
    359     $(intermediates)/bindings/V8Geoposition.h \
    360     $(intermediates)/bindings/V8History.h \
    361     $(intermediates)/bindings/V8Location.h \
    362     $(intermediates)/bindings/V8MemoryInfo.h \
    363     $(intermediates)/bindings/V8Navigator.h \
    364     $(intermediates)/bindings/V8NavigatorUserMediaError.h \
    365     $(intermediates)/bindings/V8NavigatorUserMediaErrorCallback.h \
    366     $(intermediates)/bindings/V8NavigatorUserMediaSuccessCallback.h \
    367     $(intermediates)/bindings/V8Performance.h \
    368     $(intermediates)/bindings/V8PerformanceNavigation.h \
    369     $(intermediates)/bindings/V8PerformanceTiming.h \
    370     $(intermediates)/bindings/V8PositionError.h \
    371     $(intermediates)/bindings/V8Screen.h \
    372     $(intermediates)/bindings/V8SpeechInputEvent.h \
    373     $(intermediates)/bindings/V8WebKitAnimation.h \
    374     $(intermediates)/bindings/V8WebKitAnimationList.h \
    375     $(intermediates)/bindings/V8WebKitPoint.h \
    376     $(intermediates)/bindings/V8WorkerNavigator.h
    377 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    378 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
    379 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/page/%.idl $(js_binding_scripts)
    380 	$(transform-generated-source)
    381 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    382 
    383 # We also need the .cpp files, which are generated as side effects of the
    384 # above rules.  Specifying this explicitly makes -j2 work.
    385 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    386 
    387 GEN := \
    388     $(intermediates)/bindings/V8DOMMimeType.h \
    389     $(intermediates)/bindings/V8DOMMimeTypeArray.h \
    390     $(intermediates)/bindings/V8DOMPlugin.h \
    391     $(intermediates)/bindings/V8DOMPluginArray.h
    392 
    393 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    394 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
    395 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/plugins/%.idl $(js_binding_scripts)
    396 	$(transform-generated-source)
    397 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    398 
    399 # We also need the .cpp files, which are generated as side effects of the
    400 # above rules.  Specifying this explicitly makes -j2 work.
    401 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    402 
    403 # Database
    404 GEN := \
    405     $(intermediates)/bindings/V8Database.h \
    406     $(intermediates)/bindings/V8DatabaseCallback.h \
    407     $(intermediates)/bindings/V8DatabaseSync.h \
    408     $(intermediates)/bindings/V8SQLError.h \
    409     $(intermediates)/bindings/V8SQLException.h \
    410     $(intermediates)/bindings/V8SQLResultSet.h \
    411     $(intermediates)/bindings/V8SQLResultSetRowList.h \
    412     $(intermediates)/bindings/V8SQLStatementCallback.h \
    413     $(intermediates)/bindings/V8SQLStatementErrorCallback.h \
    414     $(intermediates)/bindings/V8SQLTransaction.h \
    415     $(intermediates)/bindings/V8SQLTransactionCallback.h \
    416     $(intermediates)/bindings/V8SQLTransactionErrorCallback.h \
    417     $(intermediates)/bindings/V8SQLTransactionSync.h \
    418     $(intermediates)/bindings/V8SQLTransactionSyncCallback.h
    419 
    420 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    421 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --include storage --outputdir $(dir $@) $<
    422 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
    423 	$(transform-generated-source)
    424 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    425 
    426 # We also need the .cpp files, which are generated as side effects of the
    427 # above rules.  Specifying this explicitly makes -j2 work.
    428 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    429 
    430 # DOM Storage
    431 GEN := \
    432     $(intermediates)/bindings/V8Storage.h \
    433     $(intermediates)/bindings/V8StorageEvent.h
    434 
    435 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    436 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
    437 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
    438 	$(transform-generated-source)
    439 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    440 
    441 # We also need the .cpp files, which are generated as side effects of the
    442 # above rules.  Specifying this explicitly makes -j2 work.
    443 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    444 
    445 # Indexed Database
    446 GEN := \
    447     $(intermediates)/bindings/V8IDBAny.h \
    448     $(intermediates)/bindings/V8IDBCursor.h \
    449     $(intermediates)/bindings/V8IDBCursorWithValue.h \
    450     $(intermediates)/bindings/V8IDBDatabaseError.h \
    451     $(intermediates)/bindings/V8IDBDatabaseException.h \
    452     $(intermediates)/bindings/V8IDBDatabase.h \
    453     $(intermediates)/bindings/V8IDBFactory.h \
    454     $(intermediates)/bindings/V8IDBIndex.h \
    455     $(intermediates)/bindings/V8IDBKey.h \
    456     $(intermediates)/bindings/V8IDBKeyRange.h \
    457     $(intermediates)/bindings/V8IDBObjectStore.h \
    458     $(intermediates)/bindings/V8IDBRequest.h \
    459     $(intermediates)/bindings/V8IDBTransaction.h \
    460     $(intermediates)/bindings/V8IDBVersionChangeEvent.h \
    461     $(intermediates)/bindings/V8IDBVersionChangeRequest.h
    462 
    463 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    464 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --include storage --outputdir $(dir $@) $<
    465 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
    466 	$(transform-generated-source)
    467 LOCAL_GENERATED_SOURCES += $(GEN)
    468 
    469 # We also need the .cpp files, which are generated as side effects of the
    470 # above rules.  Specifying this explicitly makes -j2 work.
    471 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    472 
    473 # SVG
    474 # These headers are required by the V8 bindings even when SVG is disabled
    475 GEN := \
    476     $(intermediates)/bindings/V8SVGColor.h \
    477     $(intermediates)/bindings/V8SVGDocument.h \
    478     $(intermediates)/bindings/V8SVGElement.h \
    479     $(intermediates)/bindings/V8SVGElementInstance.h \
    480     $(intermediates)/bindings/V8SVGException.h \
    481     $(intermediates)/bindings/V8SVGPaint.h \
    482     $(intermediates)/bindings/V8SVGZoomEvent.h
    483 
    484 ifeq ($(ENABLE_SVG), true)
    485 GEN += \
    486     $(intermediates)/bindings/V8SVGAElement.h \
    487     $(intermediates)/bindings/V8SVGAltGlyphElement.h \
    488     $(intermediates)/bindings/V8SVGAngle.h \
    489     $(intermediates)/bindings/V8SVGCircleElement.h \
    490     $(intermediates)/bindings/V8SVGClipPathElement.h \
    491     $(intermediates)/bindings/V8SVGComponentTransferFunctionElement.h \
    492     $(intermediates)/bindings/V8SVGCursorElement.h \
    493     $(intermediates)/bindings/V8SVGDefsElement.h \
    494     $(intermediates)/bindings/V8SVGDescElement.h \
    495     $(intermediates)/bindings/V8SVGElementInstanceList.h \
    496     $(intermediates)/bindings/V8SVGEllipseElement.h \
    497     $(intermediates)/bindings/V8SVGFEBlendElement.h \
    498     $(intermediates)/bindings/V8SVGFEColorMatrixElement.h \
    499     $(intermediates)/bindings/V8SVGFEComponentTransferElement.h \
    500     $(intermediates)/bindings/V8SVGFECompositeElement.h \
    501     $(intermediates)/bindings/V8SVGFEConvolveMatrixElement.h \
    502     $(intermediates)/bindings/V8SVGFEDiffuseLightingElement.h \
    503     $(intermediates)/bindings/V8SVGFEDisplacementMapElement.h \
    504     $(intermediates)/bindings/V8SVGFEDistantLightElement.h \
    505     $(intermediates)/bindings/V8SVGFEFloodElement.h \
    506     $(intermediates)/bindings/V8SVGFEFuncAElement.h \
    507     $(intermediates)/bindings/V8SVGFEFuncBElement.h \
    508     $(intermediates)/bindings/V8SVGFEFuncGElement.h \
    509     $(intermediates)/bindings/V8SVGFEFuncRElement.h \
    510     $(intermediates)/bindings/V8SVGFEGaussianBlurElement.h \
    511     $(intermediates)/bindings/V8SVGFEImageElement.h \
    512     $(intermediates)/bindings/V8SVGFEMergeElement.h \
    513     $(intermediates)/bindings/V8SVGFEMergeNodeElement.h \
    514     $(intermediates)/bindings/V8SVGFEOffsetElement.h \
    515     $(intermediates)/bindings/V8SVGFEPointLightElement.h \
    516     $(intermediates)/bindings/V8SVGFESpecularLightingElement.h \
    517     $(intermediates)/bindings/V8SVGFESpotLightElement.h \
    518     $(intermediates)/bindings/V8SVGFETileElement.h \
    519     $(intermediates)/bindings/V8SVGFETurbulenceElement.h \
    520     $(intermediates)/bindings/V8SVGFilterElement.h \
    521     $(intermediates)/bindings/V8SVGFontElement.h \
    522     $(intermediates)/bindings/V8SVGFontFaceElement.h \
    523     $(intermediates)/bindings/V8SVGFontFaceFormatElement.h \
    524     $(intermediates)/bindings/V8SVGFontFaceNameElement.h \
    525     $(intermediates)/bindings/V8SVGFontFaceSrcElement.h \
    526     $(intermediates)/bindings/V8SVGFontFaceUriElement.h \
    527     $(intermediates)/bindings/V8SVGForeignObjectElement.h \
    528     $(intermediates)/bindings/V8SVGGElement.h \
    529     $(intermediates)/bindings/V8SVGGlyphElement.h \
    530     $(intermediates)/bindings/V8SVGGradientElement.h \
    531     $(intermediates)/bindings/V8SVGHKernElement.h \
    532     $(intermediates)/bindings/V8SVGImageElement.h \
    533     $(intermediates)/bindings/V8SVGLength.h \
    534     $(intermediates)/bindings/V8SVGLengthList.h \
    535     $(intermediates)/bindings/V8SVGLineElement.h \
    536     $(intermediates)/bindings/V8SVGLinearGradientElement.h \
    537     $(intermediates)/bindings/V8SVGMarkerElement.h \
    538     $(intermediates)/bindings/V8SVGMaskElement.h \
    539     $(intermediates)/bindings/V8SVGMatrix.h \
    540     $(intermediates)/bindings/V8SVGMetadataElement.h \
    541     $(intermediates)/bindings/V8SVGMissingGlyphElement.h \
    542     $(intermediates)/bindings/V8SVGFEMorphologyElement.h \
    543     $(intermediates)/bindings/V8SVGNumber.h \
    544     $(intermediates)/bindings/V8SVGNumberList.h \
    545     $(intermediates)/bindings/V8SVGPathElement.h \
    546     $(intermediates)/bindings/V8SVGPathSeg.h \
    547     $(intermediates)/bindings/V8SVGPathSegArcAbs.h \
    548     $(intermediates)/bindings/V8SVGPathSegArcRel.h \
    549     $(intermediates)/bindings/V8SVGPathSegClosePath.h \
    550     $(intermediates)/bindings/V8SVGPathSegCurvetoCubicAbs.h \
    551     $(intermediates)/bindings/V8SVGPathSegCurvetoCubicRel.h \
    552     $(intermediates)/bindings/V8SVGPathSegCurvetoCubicSmoothAbs.h \
    553     $(intermediates)/bindings/V8SVGPathSegCurvetoCubicSmoothRel.h \
    554     $(intermediates)/bindings/V8SVGPathSegCurvetoQuadraticAbs.h \
    555     $(intermediates)/bindings/V8SVGPathSegCurvetoQuadraticRel.h \
    556     $(intermediates)/bindings/V8SVGPathSegCurvetoQuadraticSmoothAbs.h \
    557     $(intermediates)/bindings/V8SVGPathSegCurvetoQuadraticSmoothRel.h \
    558     $(intermediates)/bindings/V8SVGPathSegLinetoAbs.h \
    559     $(intermediates)/bindings/V8SVGPathSegLinetoHorizontalAbs.h \
    560     $(intermediates)/bindings/V8SVGPathSegLinetoHorizontalRel.h \
    561     $(intermediates)/bindings/V8SVGPathSegLinetoRel.h \
    562     $(intermediates)/bindings/V8SVGPathSegLinetoVerticalAbs.h \
    563     $(intermediates)/bindings/V8SVGPathSegLinetoVerticalRel.h \
    564     $(intermediates)/bindings/V8SVGPathSegList.h \
    565     $(intermediates)/bindings/V8SVGPathSegMovetoAbs.h \
    566     $(intermediates)/bindings/V8SVGPathSegMovetoRel.h \
    567     $(intermediates)/bindings/V8SVGPatternElement.h \
    568     $(intermediates)/bindings/V8SVGPoint.h \
    569     $(intermediates)/bindings/V8SVGPointList.h \
    570     $(intermediates)/bindings/V8SVGPolygonElement.h \
    571     $(intermediates)/bindings/V8SVGPolylineElement.h \
    572     $(intermediates)/bindings/V8SVGPreserveAspectRatio.h \
    573     $(intermediates)/bindings/V8SVGRadialGradientElement.h \
    574     $(intermediates)/bindings/V8SVGRect.h \
    575     $(intermediates)/bindings/V8SVGRectElement.h \
    576     $(intermediates)/bindings/V8SVGRenderingIntent.h \
    577     $(intermediates)/bindings/V8SVGSVGElement.h \
    578     $(intermediates)/bindings/V8SVGScriptElement.h \
    579     $(intermediates)/bindings/V8SVGStopElement.h \
    580     $(intermediates)/bindings/V8SVGStringList.h \
    581     $(intermediates)/bindings/V8SVGStyleElement.h \
    582     $(intermediates)/bindings/V8SVGSwitchElement.h \
    583     $(intermediates)/bindings/V8SVGSymbolElement.h \
    584     $(intermediates)/bindings/V8SVGTRefElement.h \
    585     $(intermediates)/bindings/V8SVGTSpanElement.h \
    586     $(intermediates)/bindings/V8SVGTextContentElement.h \
    587     $(intermediates)/bindings/V8SVGTextElement.h \
    588     $(intermediates)/bindings/V8SVGTextPathElement.h \
    589     $(intermediates)/bindings/V8SVGTextPositioningElement.h \
    590     $(intermediates)/bindings/V8SVGTitleElement.h \
    591     $(intermediates)/bindings/V8SVGTransform.h \
    592     $(intermediates)/bindings/V8SVGTransformList.h \
    593     $(intermediates)/bindings/V8SVGUnitTypes.h \
    594     $(intermediates)/bindings/V8SVGUseElement.h \
    595     $(intermediates)/bindings/V8SVGViewElement.h \
    596     $(intermediates)/bindings/V8SVGVKernElement.h \
    597     \
    598     $(intermediates)/bindings/V8SVGAnimatedAngle.h \
    599     $(intermediates)/bindings/V8SVGAnimatedEnumeration.h \
    600     $(intermediates)/bindings/V8SVGAnimatedBoolean.h \
    601     $(intermediates)/bindings/V8SVGAnimatedInteger.h \
    602     $(intermediates)/bindings/V8SVGAnimatedLength.h \
    603     $(intermediates)/bindings/V8SVGAnimatedLengthList.h \
    604     $(intermediates)/bindings/V8SVGAnimatedNumber.h \
    605     $(intermediates)/bindings/V8SVGAnimatedNumberList.h \
    606     $(intermediates)/bindings/V8SVGAnimatedPreserveAspectRatio.h \
    607     $(intermediates)/bindings/V8SVGAnimatedRect.h \
    608     $(intermediates)/bindings/V8SVGAnimatedString.h \
    609     $(intermediates)/bindings/V8SVGAnimatedTransformList.h
    610 endif
    611 
    612 ifeq ($(ENABLE_SVG), true)
    613 GEN += \
    614     $(intermediates)/bindings/V8SVGAnimateColorElement.h \
    615     $(intermediates)/bindings/V8SVGAnimateElement.h \
    616     $(intermediates)/bindings/V8SVGAnimateTransformElement.h \
    617     $(intermediates)/bindings/V8SVGAnimationElement.h \
    618     $(intermediates)/bindings/V8SVGSetElement.h
    619 endif
    620 
    621 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    622 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include css --include dom --include html --include svg --outputdir $(dir $@) $<
    623 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/svg/%.idl $(js_binding_scripts)
    624 	$(transform-generated-source)
    625 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    626 
    627 # We also need the .cpp files, which are generated as side effects of the
    628 # above rules.  Specifying this explicitly makes -j2 work.
    629 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    630 
    631 # Workers
    632 GEN := \
    633 	$(intermediates)/bindings/V8AbstractWorker.h \
    634 	$(intermediates)/bindings/V8DedicatedWorkerContext.h \
    635 	$(intermediates)/bindings/V8SharedWorker.h \
    636 	$(intermediates)/bindings/V8SharedWorkerContext.h \
    637 	$(intermediates)/bindings/V8Worker.h \
    638 	$(intermediates)/bindings/V8WorkerContext.h \
    639 	$(intermediates)/bindings/V8WorkerLocation.h
    640 
    641 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    642 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --include workers --outputdir $(dir $@) $<
    643 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/workers/%.idl $(js_binding_scripts)
    644 	$(transform-generated-source)
    645 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    646 
    647 # We also need the .cpp files, which are generated as side effects of the
    648 # above rules.  Specifying this explicitly makes -j2 work.
    649 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    650 
    651 # XML
    652 GEN := \
    653     $(intermediates)/bindings/V8DOMParser.h \
    654     $(intermediates)/bindings/V8XMLHttpRequest.h \
    655     $(intermediates)/bindings/V8XMLHttpRequestException.h \
    656     $(intermediates)/bindings/V8XMLHttpRequestProgressEvent.h \
    657     $(intermediates)/bindings/V8XMLHttpRequestUpload.h \
    658     $(intermediates)/bindings/V8XMLSerializer.h \
    659     $(intermediates)/bindings/V8XSLTProcessor.h \
    660     $(intermediates)/bindings/V8XPathException.h \
    661     $(intermediates)/bindings/V8XPathExpression.h \
    662     $(intermediates)/bindings/V8XPathEvaluator.h \
    663     $(intermediates)/bindings/V8XPathNSResolver.h \
    664     $(intermediates)/bindings/V8XPathResult.h
    665 
    666 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    667 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
    668 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/xml/%.idl $(js_binding_scripts)
    669 	$(transform-generated-source)
    670 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    671 
    672 # We also need the .cpp files, which are generated as side effects of the
    673 # above rules.  Specifying this explicitly makes -j2 work.
    674 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    675 #end
    676 
    677 # Inspector
    678 # These headers are required by the V8 bindings even when Inspector is disabled.
    679 # Note that Inspector.idl should not be processed using the V8 generator.
    680 GEN := \
    681     $(intermediates)/bindings/V8InjectedScriptHost.h \
    682     $(intermediates)/bindings/V8InspectorFrontendHost.h \
    683     $(intermediates)/bindings/V8ScriptProfile.h
    684 
    685 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    686 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
    687 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/inspector/%.idl $(js_binding_scripts)
    688 	$(transform-generated-source)
    689 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    690 
    691 # We also need the .cpp files, which are generated as side effects of the
    692 # above rules.  Specifying this explicitly makes -j2 work.
    693 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    694 
    695 # Notifications
    696 # These headers are required by the V8 bindings even when Notifications are disabled
    697 GEN := \
    698     $(intermediates)/bindings/V8Notification.h \
    699     $(intermediates)/bindings/V8NotificationCenter.h
    700 
    701 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    702 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
    703 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/notifications/%.idl $(js_binding_scripts)
    704 	$(transform-generated-source)
    705 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    706 
    707 # We also need the .cpp files, which are generated as side effects of the
    708 # above rules.  Specifying this explicitly makes -j2 work.
    709 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    710 
    711 # Web Sockets
    712 # These headers are required by the V8 bindings even when Web Sockets are disabled
    713 GEN := \
    714     $(intermediates)/bindings/V8WebSocket.h
    715 
    716 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    717 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
    718 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/websockets/%.idl $(js_binding_scripts)
    719 	$(transform-generated-source)
    720 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    721 
    722 # We also need the .cpp files, which are generated as side effects of the
    723 # above rules.  Specifying this explicitly makes -j2 work.
    724 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    725 
    726 # Web Audio
    727 # These headers are required by the V8 bindings even when Web Audio is disabled
    728 GEN := \
    729     $(intermediates)/bindings/V8AudioContext.h \
    730     $(intermediates)/bindings/V8AudioPannerNode.h
    731 
    732 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    733 $(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --include webaudio --outputdir $(dir $@) $<
    734 $(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/webaudio/%.idl $(js_binding_scripts)
    735 	$(transform-generated-source)
    736 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    737 
    738 # We also need the .cpp files, which are generated as side effects of the
    739 # above rules.  Specifying this explicitly makes -j2 work.
    740 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
    741 
    742 # HTML tag and attribute names
    743 GEN:= $(intermediates)/HTMLNames.cpp $(intermediates)/HTMLNames.h $(intermediates)/HTMLElementFactory.cpp $(intermediates)/HTMLElementFactory.h $(intermediates)/V8HTMLElementWrapperFactory.cpp $(intermediates)/V8HTMLElementWrapperFactory.h
    744 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    745 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --tags $(PRIVATE_PATH)/html/HTMLTagNames.in --attrs $(PRIVATE_PATH)/html/HTMLAttributeNames.in --factory --wrapperFactoryV8 --output $(dir $@)
    746 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(LOCAL_PATH)/html/HTMLTagNames.in $(LOCAL_PATH)/html/HTMLAttributeNames.in
    747 	$(transform-generated-source)
    748 LOCAL_GENERATED_SOURCES += $(GEN)
    749 
    750 # SVG tag and attribute names
    751 
    752 # Note that if SVG is not used, we still need the headers and SVGNames.cpp as
    753 # the HTML5 parser still requires these. The factory .cpp files are also
    754 # generated in this case, but since these are not needed, they are excluded
    755 # from GEN so that they don't get compiled.
    756 ifeq ($(ENABLE_SVG), true)
    757 GEN:= $(intermediates)/SVGNames.cpp $(intermediates)/SVGNames.h $(intermediates)/SVGElementFactory.cpp $(intermediates)/SVGElementFactory.h $(intermediates)/V8SVGElementWrapperFactory.cpp $(intermediates)/V8SVGElementWrapperFactory.h
    758 else
    759 GEN:= $(intermediates)/SVGNames.cpp $(intermediates)/SVGNames.h $(intermediates)/SVGElementFactory.h $(intermediates)/V8SVGElementWrapperFactory.h
    760 endif
    761 SVG_FLAGS:=ENABLE_SVG_ANIMATION=1 ENABLE_SVG_AS_IMAGE=1 ENABLE_SVG_FILTERS=1 ENABLE_SVG_FONTS=1 ENABLE_SVG_FOREIGN_OBJECT=1 ENABLE_SVG_USE=1
    762 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    763 $(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 --wrapperFactoryV8 --output $(dir $@)
    764 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(LOCAL_PATH)/svg/svgtags.in $(LOCAL_PATH)/svg/svgattrs.in
    765 	$(transform-generated-source)
    766 LOCAL_GENERATED_SOURCES += $(GEN)
    767 
    768 # MathML tag and attribute names
    769 
    770 # Note that MathML is never used but we still need the headers and
    771 # MathMLames.cpp as the HTML5 parser still requires these. The factory
    772 # .cpp files are also generated in this case, but since these are not
    773 # needed, they are excluded from GEN so that they don't get compiled.
    774 GEN:= $(intermediates)/MathMLNames.h $(intermediates)/MathMLNames.cpp $(intermediates)/MathMLElementFactory.h $(intermediates)/V8MathMLElementWrapperFactory.h
    775 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    776 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --tags $(PRIVATE_PATH)/mathml/mathtags.in --attrs $(PRIVATE_PATH)/mathml/mathattrs.in --factory --wrapperFactoryV8 --output $(dir $@)
    777 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(LOCAL_PATH)/mathml/mathtags.in $(LOCAL_PATH)/mathml/mathattrs.in
    778 	$(transform-generated-source)
    779 LOCAL_GENERATED_SOURCES += $(GEN)
    780