[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Thu Apr 8 00:27:53 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 566a827e9a00116af06d93dccc207056f960387b
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Dec 8 16:55:56 2009 +0000

    2009-12-08  Steve Block  <steveblock at google.com>
    
            Reviewed by Adam Barth.
    
            [Android] Adds Makefiles for Android port.
            https://bugs.webkit.org/show_bug.cgi?id=31325
    
            * Android.mk: Added.
    2009-12-08  Steve Block  <steveblock at google.com>
    
            Reviewed by Adam Barth.
    
            [Android] Adds Makefiles for Android port.
            https://bugs.webkit.org/show_bug.cgi?id=31325
    
            * Android.mk: Added.
            * Android.v8.wtf.mk: Added.
    2009-12-08  Steve Block  <steveblock at google.com>
    
            Reviewed by Adam Barth.
    
            [Android] Adds Makefiles for Android port.
            https://bugs.webkit.org/show_bug.cgi?id=31325
    
            Build system change only. No tests possible.
    
            * Android.derived.jscbindings.mk: Added.
            * Android.derived.mk: Added.
            * Android.jscbindings.mk: Added.
            * Android.mk: Added.
            * WebCorePrefix.h: Modified. Sets up some flags and adds a header required for building on Android.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51858 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..a1f7db9
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,358 @@
+##
+## Copyright 2009, The Android Open Source Project
+##
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions
+## are met:
+##  * Redistributions of source code must retain the above copyright
+##    notice, this list of conditions and the following disclaimer.
+##  * Redistributions in binary form must reproduce the above copyright
+##    notice, this list of conditions and the following disclaimer in the
+##    documentation and/or other materials provided with the distribution.
+##
+## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
+## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+## PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+##
+
+LOCAL_PATH := $(call my-dir)
+
+# Two ways to control which JS engine is used:
+# 1. use JS_ENGINE environment variable, value can be either 'jsc' or 'v8'
+#    This is the preferred way.
+# 2. if JS_ENGINE is not set, or is not 'jsc' or 'v8', this makefile picks
+#    up a default engine to build.
+#    To help setup buildbot, a new environment variable, USE_ALT_JS_ENGINE,
+#    can be set to true, so that two builds can be different but without
+#    specifying which JS engine to use.
+
+# Read JS_ENGINE environment variable
+JAVASCRIPT_ENGINE = $(JS_ENGINE)
+
+ifneq ($(JAVASCRIPT_ENGINE),jsc)
+  ifneq ($(JAVASCRIPT_ENGINE),v8)
+    # No JS engine is specified, pickup the one we want as default.
+    ifeq ($(USE_ALT_JS_ENGINE),true)
+      JAVASCRIPT_ENGINE = v8
+    else
+      JAVASCRIPT_ENGINE = jsc
+    endif
+  endif
+endif
+
+BASE_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+# Define our module and find the intermediates directory
+LOCAL_MODULE := libwebcore
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+base_intermediates := $(call local-intermediates-dir)
+
+# Using := here prevents recursive expansion
+WEBKIT_SRC_FILES :=
+
+# We have to use bison 2.3
+include $(BASE_PATH)/bison_check.mk
+
+ifeq ($(JAVASCRIPT_ENGINE),v8)
+d := V8Binding
+LOCAL_PATH := $(BASE_PATH)/$d
+WEBCORE_PATH := $(BASE_PATH)/WebCore
+intermediates := $(base_intermediates)/WebCore
+JAVASCRIPTCORE_PATH := $(BASE_PATH)/JavaScriptCore
+include $(LOCAL_PATH)/V8Binding.derived.mk
+WEBKIT_SRC_FILES += $(addprefix $d/, $(LOCAL_SRC_FILES))
+WEBKIT_SRC_FILES += $(addprefix WebCore/, $(WEBCORE_SRC_FILES))
+
+# Include WTF source file.
+d := JavaScriptCore
+LOCAL_PATH := $(BASE_PATH)/$d
+intermediates := $(base_intermediates)/$d
+include $(LOCAL_PATH)/Android.v8.wtf.mk
+WEBKIT_SRC_FILES += $(addprefix $d/,$(LOCAL_SRC_FILES))
+endif  # JAVASCRIPT_ENGINE == v8
+
+# Include source files for WebCore
+d := WebCore
+LOCAL_PATH := $(BASE_PATH)/$d
+intermediates := $(base_intermediates)/$d
+include $(LOCAL_PATH)/Android.mk
+ifeq ($(JAVASCRIPT_ENGINE),jsc)
+include $(LOCAL_PATH)/Android.jscbindings.mk
+endif
+WEBKIT_SRC_FILES += $(addprefix $d/,$(LOCAL_SRC_FILES))
+
+# Include the derived source files for WebCore. Uses the same path as
+# WebCore
+include $(LOCAL_PATH)/Android.derived.mk
+ifeq ($(JAVASCRIPT_ENGINE),jsc)
+include $(LOCAL_PATH)/Android.derived.jscbindings.mk
+endif
+WEBKIT_SRC_FILES += $(addprefix $d/,$(LOCAL_SRC_FILES))
+
+# Redefine LOCAL_PATH here so the build system is not confused
+LOCAL_PATH := $(BASE_PATH)
+
+# Define our compiler flags
+LOCAL_CFLAGS += -Wno-endif-labels -Wno-import -Wno-format
+LOCAL_CFLAGS += -fno-strict-aliasing
+LOCAL_CFLAGS += -include "WebCorePrefix.h"
+LOCAL_CFLAGS += -fvisibility=hidden
+
+ifeq ($(TARGET_ARCH),arm)
+LOCAL_CFLAGS += -Darm
+endif
+
+ifeq ($(ENABLE_SVG),true)
+LOCAL_CFLAGS += -DENABLE_SVG=1
+endif
+
+# Temporary disable SVG_ANIMATION.
+ifeq ($(ENABLE_SVG_ANIMATION),true)
+LOCAL_CFLAGS += -DENABLE_SVG_ANIMATION=1
+endif
+
+ifeq ($(WEBCORE_INSTRUMENTATION),true)
+LOCAL_CFLAGS += -DANDROID_INSTRUMENT
+endif
+
+# LOCAL_LDLIBS is used in simulator builds only and simulator builds are only
+# valid on Linux
+LOCAL_LDLIBS += -lpthread -ldl
+
+# Build our list of include paths. We include WebKit/android/icu first so that
+# any files that include <unicode/ucnv.h> will include our ucnv.h first. We
+# also add external/ as an include directory so that we can specify the real
+# icu header directory as a more exact reference to avoid including our ucnv.h.
+LOCAL_C_INCLUDES := \
+	$(JNI_H_INCLUDE) \
+	$(LOCAL_PATH)/WebKit/android/icu \
+	external/ \
+	external/icu4c/common \
+	external/icu4c/i18n \
+	external/libxml2/include \
+	external/skia/emoji \
+	external/skia/include/core \
+	external/skia/include/effects \
+	external/skia/include/images \
+	external/skia/include/ports \
+	external/skia/include/utils \
+	external/skia/src/ports \
+	external/sqlite/dist \
+	frameworks/base/core/jni/android/graphics
+ifeq ($(JAVASCRIPT_ENGINE),v8)
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+	external/v8/include
+endif
+
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+	$(LOCAL_PATH)/WebCore \
+	$(LOCAL_PATH)/WebCore/accessibility \
+	$(LOCAL_PATH)/WebCore/css \
+	$(LOCAL_PATH)/WebCore/dom \
+	$(LOCAL_PATH)/WebCore/editing \
+	$(LOCAL_PATH)/WebCore/history \
+	$(LOCAL_PATH)/WebCore/html \
+	$(LOCAL_PATH)/WebCore/html/canvas \
+	$(LOCAL_PATH)/WebCore/inspector \
+	$(LOCAL_PATH)/WebCore/loader \
+	$(LOCAL_PATH)/WebCore/loader/appcache \
+	$(LOCAL_PATH)/WebCore/loader/icon \
+	$(LOCAL_PATH)/WebCore/notifications \
+	$(LOCAL_PATH)/WebCore/page \
+	$(LOCAL_PATH)/WebCore/page/android \
+	$(LOCAL_PATH)/WebCore/page/animation \
+	$(LOCAL_PATH)/WebCore/platform \
+	$(LOCAL_PATH)/WebCore/platform/android \
+	$(LOCAL_PATH)/WebCore/platform/animation \
+	$(LOCAL_PATH)/WebCore/platform/graphics \
+	$(LOCAL_PATH)/WebCore/platform/graphics/android \
+	$(LOCAL_PATH)/WebCore/platform/graphics/network \
+	$(LOCAL_PATH)/WebCore/platform/graphics/skia \
+	$(LOCAL_PATH)/WebCore/platform/graphics/transforms \
+	$(LOCAL_PATH)/WebCore/platform/image-decoders \
+	$(LOCAL_PATH)/WebCore/platform/mock \
+	$(LOCAL_PATH)/WebCore/platform/network \
+	$(LOCAL_PATH)/WebCore/platform/network/android \
+	$(LOCAL_PATH)/WebCore/platform/sql \
+	$(LOCAL_PATH)/WebCore/platform/text \
+	$(LOCAL_PATH)/WebCore/plugins \
+	$(LOCAL_PATH)/WebCore/plugins/android \
+	$(LOCAL_PATH)/WebCore/rendering \
+	$(LOCAL_PATH)/WebCore/rendering/style \
+	$(LOCAL_PATH)/WebCore/storage \
+	$(LOCAL_PATH)/WebCore/workers \
+	$(LOCAL_PATH)/WebCore/xml
+ifeq ($(JAVASCRIPT_ENGINE),jsc)
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+	$(LOCAL_PATH)/WebCore/bindings/js \
+	$(LOCAL_PATH)/WebCore/bridge \
+	$(LOCAL_PATH)/WebCore/bridge/c \
+	$(LOCAL_PATH)/WebCore/bridge/jni
+endif
+
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+	$(LOCAL_PATH)/WebKit/android \
+	$(LOCAL_PATH)/WebKit/android/WebCoreSupport \
+	$(LOCAL_PATH)/WebKit/android/jni \
+	$(LOCAL_PATH)/WebKit/android/nav \
+	$(LOCAL_PATH)/WebKit/android/plugins \
+	$(LOCAL_PATH)/WebKit/android/stl
+
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+	$(LOCAL_PATH)/JavaScriptCore/wtf \
+	$(LOCAL_PATH)/JavaScriptCore/wtf/unicode \
+	$(LOCAL_PATH)/JavaScriptCore/wtf/unicode/icu
+ifeq ($(JAVASCRIPT_ENGINE),jsc)
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+	$(LOCAL_PATH)/JavaScriptCore \
+	$(LOCAL_PATH)/JavaScriptCore/API \
+	$(LOCAL_PATH)/JavaScriptCore/assembler \
+	$(LOCAL_PATH)/JavaScriptCore/bytecode \
+	$(LOCAL_PATH)/JavaScriptCore/bytecompiler \
+	$(LOCAL_PATH)/JavaScriptCore/debugger \
+	$(LOCAL_PATH)/JavaScriptCore/parser \
+	$(LOCAL_PATH)/JavaScriptCore/jit \
+	$(LOCAL_PATH)/JavaScriptCore/interpreter \
+	$(LOCAL_PATH)/JavaScriptCore/pcre \
+	$(LOCAL_PATH)/JavaScriptCore/profiler \
+	$(LOCAL_PATH)/JavaScriptCore/runtime \
+	$(LOCAL_PATH)/JavaScriptCore/wrec \
+	$(LOCAL_PATH)/JavaScriptCore/ForwardingHeaders
+endif
+
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+	$(base_intermediates)/WebCore/ \
+	$(base_intermediates)/WebCore/css \
+	$(base_intermediates)/WebCore/html \
+	$(base_intermediates)/WebCore/platform
+ifeq ($(JAVASCRIPT_ENGINE),jsc)
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+	$(base_intermediates)/WebCore/bindings/js \
+	$(base_intermediates)/WebCore/dom \
+	$(base_intermediates)/WebCore/html/canvas \
+	$(base_intermediates)/WebCore/inspector \
+	$(base_intermediates)/WebCore/loader/appcache \
+	$(base_intermediates)/WebCore/page \
+	$(base_intermediates)/WebCore/plugins \
+	$(base_intermediates)/WebCore/storage \
+	$(base_intermediates)/WebCore/workers \
+	$(base_intermediates)/WebCore/xml
+endif
+ifeq ($(JAVASCRIPT_ENGINE),v8)
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+	$(base_intermediates)/WebCore/bindings \
+	$(base_intermediates)/JavaScriptCore
+endif
+
+ifeq ($(JAVASCRIPT_ENGINE),v8)
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+	$(BINDING_C_INCLUDES)
+endif
+
+ifeq ($(ENABLE_SVG), true)
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+	$(LOCAL_PATH)/WebCore/platform/graphics/filters \
+	$(LOCAL_PATH)/WebCore/svg \
+	$(LOCAL_PATH)/WebCore/svg/animation \
+	$(LOCAL_PATH)/WebCore/svg/graphics \
+	$(LOCAL_PATH)/WebCore/svg/graphics/filters \
+	$(base_intermediates)/WebCore/svg
+endif
+
+# Build the list of shared libraries
+LOCAL_SHARED_LIBRARIES := \
+	libandroid_runtime \
+	libnativehelper \
+	libsqlite \
+	libskia \
+	libutils \
+	libui \
+	libcutils \
+	libicuuc \
+	libicudata \
+	libicui18n \
+	libmedia
+
+ifeq ($(WEBCORE_INSTRUMENTATION),true)
+LOCAL_SHARED_LIBRARIES += libhardware_legacy
+endif
+
+# We have to use the android version of libdl when we are not on the simulator
+ifneq ($(TARGET_SIMULATOR),true)
+LOCAL_SHARED_LIBRARIES += libdl
+endif
+
+# Build the list of static libraries
+LOCAL_STATIC_LIBRARIES := libxml2
+ifeq ($(JAVASCRIPT_ENGINE),v8)
+LOCAL_STATIC_LIBRARIES += libv8
+endif
+
+# Redefine LOCAL_SRC_FILES to be all the WebKit source files
+LOCAL_SRC_FILES := $(WEBKIT_SRC_FILES)
+
+# Define this for use in other makefiles.
+WEBKIT_C_INCLUDES := $(LOCAL_C_INCLUDES)
+WEBKIT_CFLAGS := $(LOCAL_CFLAGS)
+WEBKIT_GENERATED_SOURCES := $(LOCAL_GENERATED_SOURCES)
+WEBKIT_LDLIBS := $(LOCAL_LDLIBS)
+WEBKIT_SHARED_LIBRARIES := $(LOCAL_SHARED_LIBRARIES)
+WEBKIT_STATIC_LIBRARIES := $(LOCAL_STATIC_LIBRARIES)
+
+# Build the library all at once
+include $(BUILD_STATIC_LIBRARY)
+
+ifeq ($(JAVASCRIPT_ENGINE),jsc)
+# Now build libjs as a static library.
+include $(CLEAR_VARS)
+LOCAL_MODULE := libjs
+LOCAL_LDLIBS := $(WEBKIT_LDLIBS)
+LOCAL_SHARED_LIBRARIES := $(WEBKIT_SHARED_LIBRARIES)
+LOCAL_STATIC_LIBRARIES := $(WEBKIT_STATIC_LIBRARIES)
+LOCAL_CFLAGS := $(WEBKIT_CFLAGS)
+# Include source files for JavaScriptCore
+d := JavaScriptCore
+LOCAL_PATH := $(BASE_PATH)/$d
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+# Cannot use base_intermediates as this is a new module
+intermediates := $(call local-intermediates-dir)
+include $(LOCAL_PATH)/Android.mk
+# Redefine LOCAL_SRC_FILES with the correct prefix
+LOCAL_SRC_FILES := $(addprefix $d/,$(LOCAL_SRC_FILES))
+# Use the base path to resolve file names
+LOCAL_PATH := $(BASE_PATH)
+# Append jsc intermediate include paths to the WebKit include list.
+LOCAL_C_INCLUDES := $(WEBKIT_C_INCLUDES) \
+	$(intermediates) \
+	$(intermediates)/parser \
+	$(intermediates)/runtime \
+# Build libjs
+include $(BUILD_STATIC_LIBRARY)
+endif  # JAVASCRIPT_ENGINE == jsc
+
+# Now build the shared library using only the exported jni entry point. This
+# will strip out any unused code from the entry point.
+include $(CLEAR_VARS)
+# if you need to make webcore huge (for debugging), enable this line
+#LOCAL_PRELINK_MODULE := false
+LOCAL_MODULE := libwebcore
+LOCAL_LDLIBS := $(WEBKIT_LDLIBS)
+LOCAL_SHARED_LIBRARIES := $(WEBKIT_SHARED_LIBRARIES)
+LOCAL_STATIC_LIBRARIES := libwebcore $(WEBKIT_STATIC_LIBRARIES)
+ifeq ($(JAVASCRIPT_ENGINE),jsc)
+LOCAL_STATIC_LIBRARIES += libjs
+endif
+LOCAL_LDFLAGS := -fvisibility=hidden
+LOCAL_CFLAGS := $(WEBKIT_CFLAGS)
+LOCAL_C_INCLUDES := $(WEBKIT_C_INCLUDES)
+LOCAL_PATH := $(BASE_PATH)
+include $(BUILD_SHARED_LIBRARY)
diff --git a/ChangeLog b/ChangeLog
index f39bc80..c252e35 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2009-12-08  Steve Block  <steveblock at google.com>
+
+        Reviewed by Adam Barth.
+
+        [Android] Adds Makefiles for Android port.
+        https://bugs.webkit.org/show_bug.cgi?id=31325
+
+        * Android.mk: Added.
+
 2009-12-08  Christian Dywan  <christian at twotoasts.de>
 
         Reviewed by Xan Lopez.
diff --git a/JavaScriptCore/Android.mk b/JavaScriptCore/Android.mk
new file mode 100644
index 0000000..0615bcd
--- /dev/null
+++ b/JavaScriptCore/Android.mk
@@ -0,0 +1,214 @@
+##
+## Copyright 2009, The Android Open Source Project
+##
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions
+## are met:
+##  * Redistributions of source code must retain the above copyright
+##    notice, this list of conditions and the following disclaimer.
+##  * Redistributions in binary form must reproduce the above copyright
+##    notice, this list of conditions and the following disclaimer in the
+##    documentation and/or other materials provided with the distribution.
+##
+## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
+## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+## PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+##
+
+LOCAL_SRC_FILES := \
+	API/JSValueRef.cpp \
+	API/JSCallbackObject.cpp \
+	API/OpaqueJSString.cpp \
+	\
+	bytecode/CodeBlock.cpp \
+	bytecode/JumpTable.cpp \
+	bytecode/Opcode.cpp \
+	bytecode/SamplingTool.cpp \
+	bytecode/StructureStubInfo.cpp \
+	\
+	bytecompiler/BytecodeGenerator.cpp \
+	\
+	debugger/Debugger.cpp \
+	debugger/DebuggerActivation.cpp \
+	debugger/DebuggerCallFrame.cpp \
+	\
+	interpreter/CallFrame.cpp \
+	interpreter/Interpreter.cpp \
+	interpreter/RegisterFile.cpp \
+	\
+	parser/Lexer.cpp \
+	parser/Nodes.cpp \
+	parser/Parser.cpp \
+	parser/ParserArena.cpp \
+	\
+	pcre/pcre_compile.cpp \
+	pcre/pcre_exec.cpp \
+	pcre/pcre_tables.cpp \
+	pcre/pcre_ucp_searchfuncs.cpp \
+	pcre/pcre_xclass.cpp \
+	\
+	profiler/HeavyProfile.cpp \
+	profiler/Profile.cpp \
+	profiler/ProfileGenerator.cpp \
+	profiler/ProfileNode.cpp \
+	profiler/Profiler.cpp \
+	profiler/TreeProfile.cpp \
+	\
+	runtime/ArgList.cpp \
+	runtime/Arguments.cpp \
+	runtime/ArrayConstructor.cpp \
+	runtime/ArrayPrototype.cpp \
+	runtime/BooleanConstructor.cpp \
+	runtime/BooleanObject.cpp \
+	runtime/BooleanPrototype.cpp \
+	runtime/CallData.cpp \
+	runtime/Collector.cpp \
+	runtime/CommonIdentifiers.cpp \
+	runtime/Completion.cpp \
+	runtime/ConstructData.cpp \
+	runtime/DateConstructor.cpp \
+	runtime/DateConversion.cpp \
+	runtime/DateInstance.cpp \
+	runtime/DatePrototype.cpp \
+	runtime/Error.cpp \
+	runtime/ErrorConstructor.cpp \
+	runtime/ErrorInstance.cpp \
+	runtime/ErrorPrototype.cpp \
+	runtime/ExceptionHelpers.cpp \
+	runtime/Executable.cpp \
+	runtime/FunctionConstructor.cpp \
+	runtime/FunctionPrototype.cpp \
+	runtime/GetterSetter.cpp \
+	runtime/GlobalEvalFunction.cpp \
+	runtime/Identifier.cpp \
+	runtime/InitializeThreading.cpp \
+	runtime/InternalFunction.cpp \
+	runtime/JSAPIValueWrapper.cpp \
+	runtime/JSActivation.cpp \
+	runtime/JSArray.cpp \
+	runtime/JSByteArray.cpp \
+	runtime/JSCell.cpp \
+	runtime/JSFunction.cpp \
+	runtime/JSGlobalData.cpp \
+	runtime/JSGlobalObject.cpp \
+	runtime/JSGlobalObjectFunctions.cpp \
+	runtime/JSImmediate.cpp \
+	runtime/JSLock.cpp \
+	runtime/JSNotAnObject.cpp \
+	runtime/JSNumberCell.cpp \
+	runtime/JSONObject.cpp \
+	runtime/JSObject.cpp \
+	runtime/JSPropertyNameIterator.cpp \
+	runtime/JSStaticScopeObject.cpp \
+	runtime/JSString.cpp \
+	runtime/JSValue.cpp \
+	runtime/JSVariableObject.cpp \
+	runtime/JSWrapperObject.cpp \
+	runtime/LiteralParser.cpp \
+	runtime/Lookup.cpp \
+	runtime/MarkStack.cpp \
+	runtime/MarkStackPosix.cpp \
+	runtime/MathObject.cpp \
+	runtime/NativeErrorConstructor.cpp \
+	runtime/NativeErrorPrototype.cpp \
+	runtime/NumberConstructor.cpp \
+	runtime/NumberObject.cpp \
+	runtime/NumberPrototype.cpp \
+	runtime/ObjectConstructor.cpp \
+	runtime/ObjectPrototype.cpp \
+	runtime/Operations.cpp \
+	runtime/PropertyDescriptor.cpp \
+	runtime/PropertyNameArray.cpp \
+	runtime/PropertySlot.cpp \
+	runtime/PrototypeFunction.cpp \
+	runtime/RegExp.cpp \
+	runtime/RegExpConstructor.cpp \
+	runtime/RegExpObject.cpp \
+	runtime/RegExpPrototype.cpp \
+	runtime/ScopeChain.cpp \
+	runtime/SmallStrings.cpp \
+	runtime/StringConstructor.cpp \
+	runtime/StringObject.cpp \
+	runtime/StringPrototype.cpp \
+	runtime/Structure.cpp \
+	runtime/StructureChain.cpp \
+	runtime/TimeoutChecker.cpp \
+	runtime/UString.cpp \
+	\
+	wrec/CharacterClass.cpp \
+	wrec/CharacterClassConstructor.cpp \
+	wrec/WREC.cpp \
+	wrec/WRECFunctors.cpp \
+	wrec/WRECGenerator.cpp \
+	wrec/WRECParser.cpp \
+	\
+	wtf/Assertions.cpp \
+	wtf/ByteArray.cpp \
+	wtf/CurrentTime.cpp \
+	wtf/DateMath.cpp \
+	wtf/FastMalloc.cpp \
+	wtf/HashTable.cpp \
+	wtf/MainThread.cpp \
+	wtf/RandomNumber.cpp \
+	wtf/RefCountedLeakCounter.cpp \
+	wtf/TCSystemAlloc.cpp \
+	wtf/Threading.cpp \
+	wtf/ThreadingPthreads.cpp \
+	\
+	wtf/TypeTraits.cpp \
+	wtf/dtoa.cpp \
+	\
+	wtf/unicode/CollatorDefault.cpp \
+	wtf/unicode/UTF8.cpp \
+	\
+	wtf/unicode/icu/CollatorICU.cpp
+
+# Rule to build grammar.y with our custom bison.
+GEN := $(intermediates)/parser/Grammar.cpp
+$(GEN) : PRIVATE_YACCFLAGS := -p jscyy
+$(GEN) : $(LOCAL_PATH)/parser/Grammar.y
+	$(call local-transform-y-to-cpp,.cpp)
+$(GEN) : $(LOCAL_BISON)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+# generated headers
+JSC_OBJECTS := $(addprefix $(intermediates)/runtime/, \
+				ArrayPrototype.lut.h \
+				DatePrototype.lut.h \
+				JSONObject.lut.h \
+				MathObject.lut.h \
+				NumberConstructor.lut.h \
+				RegExpConstructor.lut.h \
+				RegExpObject.lut.h \
+				StringPrototype.lut.h \
+			)
+$(JSC_OBJECTS): PRIVATE_PATH := $(LOCAL_PATH)
+$(JSC_OBJECTS): PRIVATE_CUSTOM_TOOL = perl $(PRIVATE_PATH)/create_hash_table $< -i > $@
+$(JSC_OBJECTS): $(LOCAL_PATH)/create_hash_table
+$(JSC_OBJECTS): $(intermediates)/%.lut.h : $(LOCAL_PATH)/%.cpp
+	$(transform-generated-source)
+
+
+LEXER_HEADER := $(intermediates)/Lexer.lut.h
+$(LEXER_HEADER): PRIVATE_PATH := $(LOCAL_PATH)
+$(LEXER_HEADER): PRIVATE_CUSTOM_TOOL = perl $(PRIVATE_PATH)/create_hash_table $< -i > $@
+$(LEXER_HEADER): $(LOCAL_PATH)/create_hash_table
+$(LEXER_HEADER): $(intermediates)/%.lut.h : $(LOCAL_PATH)/parser/Keywords.table
+	$(transform-generated-source)
+
+CHARTABLES := $(intermediates)/chartables.c
+$(CHARTABLES): PRIVATE_PATH := $(LOCAL_PATH)
+$(CHARTABLES): PRIVATE_CUSTOM_TOOL = perl $(PRIVATE_PATH)/pcre/dftables $@
+$(CHARTABLES): $(LOCAL_PATH)/pcre/dftables
+$(CHARTABLES): $(LOCAL_PATH)/pcre/pcre_internal.h
+	$(transform-generated-source)
+
+LOCAL_GENERATED_SOURCES += $(JSC_OBJECTS) $(LEXER_HEADER) $(CHARTABLES)
diff --git a/JavaScriptCore/Android.v8.wtf.mk b/JavaScriptCore/Android.v8.wtf.mk
new file mode 100644
index 0000000..0c9780e
--- /dev/null
+++ b/JavaScriptCore/Android.v8.wtf.mk
@@ -0,0 +1,66 @@
+##
+## Copyright 2009, The Android Open Source Project
+##
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions
+## are met:
+##  * Redistributions of source code must retain the above copyright
+##    notice, this list of conditions and the following disclaimer.
+##  * Redistributions in binary form must reproduce the above copyright
+##    notice, this list of conditions and the following disclaimer in the
+##    documentation and/or other materials provided with the distribution.
+##
+## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
+## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+## PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+##
+
+# wtf source files
+
+LOCAL_SRC_FILES := \
+	pcre/pcre_compile.cpp \
+	pcre/pcre_exec.cpp \
+	pcre/pcre_tables.cpp \
+	pcre/pcre_ucp_searchfuncs.cpp \
+	pcre/pcre_xclass.cpp \
+	\
+	wtf/Assertions.cpp \
+	wtf/ByteArray.cpp \
+	wtf/CurrentTime.cpp \
+	wtf/DateMath.cpp \
+	wtf/FastMalloc.cpp \
+	wtf/HashTable.cpp \
+	wtf/MainThread.cpp \
+	wtf/RandomNumber.cpp \
+	wtf/RefCountedLeakCounter.cpp \
+	wtf/TCSystemAlloc.cpp \
+	wtf/Threading.cpp \
+	wtf/ThreadingPthreads.cpp \
+	\
+	wtf/TypeTraits.cpp \
+	wtf/dtoa.cpp \
+	\
+	wtf/unicode/CollatorDefault.cpp \
+	wtf/unicode/UTF8.cpp \
+	\
+	wtf/unicode/icu/CollatorICU.cpp
+
+CHARTABLES := $(intermediates)/chartables.c
+$(CHARTABLES): PRIVATE_PATH := $(LOCAL_PATH)
+$(CHARTABLES): PRIVATE_CUSTOM_TOOL = perl $(PRIVATE_PATH)/pcre/dftables $@
+$(CHARTABLES): $(LOCAL_PATH)/pcre/dftables
+$(CHARTABLES): $(LOCAL_PATH)/pcre/pcre_internal.h
+	$(transform-generated-source)
+
+$(intermediates)/pcre/pcre_tables.o : $(CHARTABLES)
+
+# We do not add $(CHARTABLES) to LOCAL_GENERATED_SOURCES because the chartables.c file
+# is explicitly #included in pcre_tables.cpp.
diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index ef3dc6d..a2faa38 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,13 @@
+2009-12-08  Steve Block  <steveblock at google.com>
+
+        Reviewed by Adam Barth.
+
+        [Android] Adds Makefiles for Android port.
+        https://bugs.webkit.org/show_bug.cgi?id=31325
+
+        * Android.mk: Added.
+        * Android.v8.wtf.mk: Added.
+
 2009-12-07  Dmitry Titov  <dimich at chromium.org>
 
         Rubber-stamped by Darin Adler.
diff --git a/WebCore/Android.derived.jscbindings.mk b/WebCore/Android.derived.jscbindings.mk
new file mode 100644
index 0000000..62717b2
--- /dev/null
+++ b/WebCore/Android.derived.jscbindings.mk
@@ -0,0 +1,567 @@
+##
+## Copyright 2009, The Android Open Source Project
+##
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions
+## are met:
+##  * Redistributions of source code must retain the above copyright
+##    notice, this list of conditions and the following disclaimer.
+##  * Redistributions in binary form must reproduce the above copyright
+##    notice, this list of conditions and the following disclaimer in the
+##    documentation and/or other materials provided with the distribution.
+##
+## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
+## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+## PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+##
+
+# lookup tables for old-style JavaScript bindings
+create_hash_table := $(LOCAL_PATH)/../JavaScriptCore/create_hash_table
+
+GEN := $(addprefix $(intermediates)/, \
+			bindings/js/JSDOMWindowBase.lut.h \
+		)
+$(GEN): PRIVATE_CUSTOM_TOOL = perl $(create_hash_table) $< > $@
+$(GEN): $(intermediates)/bindings/js/%.lut.h: $(LOCAL_PATH)/bindings/js/%.cpp $(create_hash_table)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+
+GEN := $(intermediates)/bindings/js/JSHTMLInputElementBaseTable.cpp
+$(GEN): PRIVATE_CUSTOM_TOOL = perl $(create_hash_table) $< > $@
+$(GEN): $(intermediates)/bindings/js/%Table.cpp: $(LOCAL_PATH)/bindings/js/%.cpp $(create_hash_table)
+	$(transform-generated-source)
+$(intermediates)/bindings/js/JSHTMLInputElementBase.o : $(GEN)
+
+# lookup tables for old-style JavaScript bindings
+js_binding_scripts := $(addprefix $(LOCAL_PATH)/,\
+			bindings/scripts/CodeGenerator.pm \
+			bindings/scripts/IDLParser.pm \
+			bindings/scripts/IDLStructure.pm \
+			bindings/scripts/generate-bindings.pl \
+		)
+
+FEATURE_DEFINES := 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
+
+GEN := \
+    $(intermediates)/css/JSCSSCharsetRule.h \
+    $(intermediates)/css/JSCSSFontFaceRule.h \
+    $(intermediates)/css/JSCSSImportRule.h \
+    $(intermediates)/css/JSCSSMediaRule.h \
+    $(intermediates)/css/JSCSSPageRule.h \
+    $(intermediates)/css/JSCSSPrimitiveValue.h \
+    $(intermediates)/css/JSCSSRule.h \
+    $(intermediates)/css/JSCSSRuleList.h \
+    $(intermediates)/css/JSCSSStyleDeclaration.h \
+    $(intermediates)/css/JSCSSStyleRule.h \
+    $(intermediates)/css/JSCSSStyleSheet.h \
+    $(intermediates)/css/JSCSSUnknownRule.h \
+    $(intermediates)/css/JSCSSValue.h \
+    $(intermediates)/css/JSCSSValueList.h \
+    $(intermediates)/css/JSCSSVariablesDeclaration.h \
+    $(intermediates)/css/JSCSSVariablesRule.h \
+    $(intermediates)/css/JSCounter.h \
+    $(intermediates)/css/JSMedia.h \
+    $(intermediates)/css/JSMediaList.h \
+    $(intermediates)/css/JSRGBColor.h \
+    $(intermediates)/css/JSRect.h \
+    $(intermediates)/css/JSStyleSheet.h \
+    $(intermediates)/css/JSStyleSheetList.h \
+    $(intermediates)/css/JSWebKitCSSKeyframeRule.h \
+    $(intermediates)/css/JSWebKitCSSKeyframesRule.h \
+    $(intermediates)/css/JSWebKitCSSMatrix.h \
+    $(intermediates)/css/JSWebKitCSSTransformValue.h
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(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 $@) $<
+$(GEN): $(intermediates)/css/JS%.h : $(LOCAL_PATH)/css/%.idl $(js_binding_scripts)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules.  Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/css/%.cpp : $(intermediates)/css/%.h
+
+# MANUAL MERGE : I took this out because compiling the result shows:
+# out/.../JSEventTarget.cpp: In function 'JSC::JSValue* WebCore::jsEventTargetPrototypeFunctionAddEventListener(JSC::ExecState*, JSC::JSObject*, JSC::JSValue*, const JSC::ArgList&)':
+# out/.../JSEventTarget.cpp:90: error: 'toEventListener' was not declared in this scope
+# but I can't find toEventListener anywhere, nor can I figure out how toEventListener
+# is generated
+#    $(intermediates)/dom/JSEventTarget.h \
+
+GEN := \
+    $(intermediates)/dom/JSAttr.h \
+    $(intermediates)/dom/JSBeforeLoadEvent.h \
+    $(intermediates)/dom/JSCDATASection.h \
+    $(intermediates)/dom/JSCharacterData.h \
+    $(intermediates)/dom/JSClientRect.h \
+    $(intermediates)/dom/JSClientRectList.h \
+    $(intermediates)/dom/JSClipboard.h \
+    $(intermediates)/dom/JSComment.h \
+    $(intermediates)/dom/JSDOMCoreException.h \
+    $(intermediates)/dom/JSDOMImplementation.h \
+    $(intermediates)/dom/JSDocument.h \
+    $(intermediates)/dom/JSDocumentFragment.h \
+    $(intermediates)/dom/JSDocumentType.h \
+    $(intermediates)/dom/JSElement.h \
+    $(intermediates)/dom/JSEntity.h \
+    $(intermediates)/dom/JSEntityReference.h \
+    $(intermediates)/dom/JSErrorEvent.h \
+    $(intermediates)/dom/JSEvent.h \
+    $(intermediates)/dom/JSEventException.h \
+    $(intermediates)/dom/JSKeyboardEvent.h \
+    $(intermediates)/dom/JSMessageChannel.h \
+    $(intermediates)/dom/JSMessageEvent.h \
+    $(intermediates)/dom/JSMessagePort.h \
+    $(intermediates)/dom/JSMouseEvent.h \
+    $(intermediates)/dom/JSMutationEvent.h \
+    $(intermediates)/dom/JSNamedNodeMap.h \
+    $(intermediates)/dom/JSNode.h \
+    $(intermediates)/dom/JSNodeFilter.h \
+    $(intermediates)/dom/JSNodeIterator.h \
+    $(intermediates)/dom/JSNodeList.h \
+    $(intermediates)/dom/JSNotation.h \
+    $(intermediates)/dom/JSOverflowEvent.h \
+    $(intermediates)/dom/JSPageTransitionEvent.h \
+    $(intermediates)/dom/JSProcessingInstruction.h \
+    $(intermediates)/dom/JSProgressEvent.h \
+    $(intermediates)/dom/JSRange.h \
+    $(intermediates)/dom/JSRangeException.h \
+    $(intermediates)/dom/JSText.h \
+    $(intermediates)/dom/JSTextEvent.h \
+    $(intermediates)/dom/JSTreeWalker.h \
+    $(intermediates)/dom/JSUIEvent.h \
+    $(intermediates)/dom/JSWebKitAnimationEvent.h \
+    $(intermediates)/dom/JSWebKitTransitionEvent.h \
+    $(intermediates)/dom/JSWheelEvent.h
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(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 $@) $<
+$(GEN): $(intermediates)/dom/JS%.h : $(LOCAL_PATH)/dom/%.idl $(js_binding_scripts)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules.  Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/dom/%.cpp : $(intermediates)/dom/%.h
+
+
+GEN := \
+    $(intermediates)/html/JSDataGridColumn.h \
+    $(intermediates)/html/JSDataGridColumnList.h \
+    $(intermediates)/html/JSFile.h \
+    $(intermediates)/html/JSFileList.h \
+    $(intermediates)/html/JSHTMLAllCollection.h \
+    $(intermediates)/html/JSHTMLAnchorElement.h \
+    $(intermediates)/html/JSHTMLAppletElement.h \
+    $(intermediates)/html/JSHTMLAreaElement.h \
+    $(intermediates)/html/JSHTMLAudioElement.h \
+    $(intermediates)/html/JSHTMLBRElement.h \
+    $(intermediates)/html/JSHTMLBaseElement.h \
+    $(intermediates)/html/JSHTMLBaseFontElement.h \
+    $(intermediates)/html/JSHTMLBlockquoteElement.h \
+    $(intermediates)/html/JSHTMLBodyElement.h \
+    $(intermediates)/html/JSHTMLButtonElement.h \
+    $(intermediates)/html/JSHTMLCanvasElement.h \
+    $(intermediates)/html/JSHTMLCollection.h \
+    $(intermediates)/html/JSHTMLDataGridElement.h \
+    $(intermediates)/html/JSHTMLDataGridCellElement.h \
+    $(intermediates)/html/JSHTMLDataGridColElement.h \
+    $(intermediates)/html/JSHTMLDataGridRowElement.h \
+    $(intermediates)/html/JSHTMLDataListElement.h \
+    $(intermediates)/html/JSHTMLDListElement.h \
+    $(intermediates)/html/JSHTMLDirectoryElement.h \
+    $(intermediates)/html/JSHTMLDivElement.h \
+    $(intermediates)/html/JSHTMLDocument.h \
+    $(intermediates)/html/JSHTMLElement.h \
+    $(intermediates)/html/JSHTMLEmbedElement.h \
+    $(intermediates)/html/JSHTMLFieldSetElement.h \
+    $(intermediates)/html/JSHTMLFontElement.h \
+    $(intermediates)/html/JSHTMLFormElement.h \
+    $(intermediates)/html/JSHTMLFrameElement.h \
+    $(intermediates)/html/JSHTMLFrameSetElement.h \
+    $(intermediates)/html/JSHTMLHRElement.h \
+    $(intermediates)/html/JSHTMLHeadElement.h \
+    $(intermediates)/html/JSHTMLHeadingElement.h \
+    $(intermediates)/html/JSHTMLHtmlElement.h \
+    $(intermediates)/html/JSHTMLIFrameElement.h \
+    $(intermediates)/html/JSHTMLImageElement.h \
+    $(intermediates)/html/JSHTMLInputElement.h \
+    $(intermediates)/html/JSHTMLIsIndexElement.h \
+    $(intermediates)/html/JSHTMLLIElement.h \
+    $(intermediates)/html/JSHTMLLabelElement.h \
+    $(intermediates)/html/JSHTMLLegendElement.h \
+    $(intermediates)/html/JSHTMLLinkElement.h \
+    $(intermediates)/html/JSHTMLMapElement.h \
+    $(intermediates)/html/JSHTMLMarqueeElement.h \
+    $(intermediates)/html/JSHTMLMediaElement.h \
+    $(intermediates)/html/JSHTMLMenuElement.h \
+    $(intermediates)/html/JSHTMLMetaElement.h \
+    $(intermediates)/html/JSHTMLModElement.h \
+    $(intermediates)/html/JSHTMLOListElement.h \
+    $(intermediates)/html/JSHTMLObjectElement.h \
+    $(intermediates)/html/JSHTMLOptGroupElement.h \
+    $(intermediates)/html/JSHTMLOptionElement.h \
+    $(intermediates)/html/JSHTMLOptionsCollection.h \
+    $(intermediates)/html/JSHTMLParagraphElement.h \
+    $(intermediates)/html/JSHTMLParamElement.h \
+    $(intermediates)/html/JSHTMLPreElement.h \
+    $(intermediates)/html/JSHTMLQuoteElement.h \
+    $(intermediates)/html/JSHTMLScriptElement.h \
+    $(intermediates)/html/JSHTMLSelectElement.h \
+    $(intermediates)/html/JSHTMLSourceElement.h \
+    $(intermediates)/html/JSHTMLStyleElement.h \
+    $(intermediates)/html/JSHTMLTableCaptionElement.h \
+    $(intermediates)/html/JSHTMLTableCellElement.h \
+    $(intermediates)/html/JSHTMLTableColElement.h \
+    $(intermediates)/html/JSHTMLTableElement.h \
+    $(intermediates)/html/JSHTMLTableRowElement.h \
+    $(intermediates)/html/JSHTMLTableSectionElement.h \
+    $(intermediates)/html/JSHTMLTextAreaElement.h \
+    $(intermediates)/html/JSHTMLTitleElement.h \
+    $(intermediates)/html/JSHTMLUListElement.h \
+    $(intermediates)/html/JSHTMLVideoElement.h \
+    $(intermediates)/html/JSImageData.h \
+    $(intermediates)/html/JSMediaError.h \
+    $(intermediates)/html/JSTextMetrics.h \
+    $(intermediates)/html/JSTimeRanges.h \
+    $(intermediates)/html/JSValidityState.h \
+    $(intermediates)/html/JSVoidCallback.h
+
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(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 $@) $<
+$(GEN): $(intermediates)/html/JS%.h : $(LOCAL_PATH)/html/%.idl $(js_binding_scripts)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules.  Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/html/%.cpp : $(intermediates)/html/%.h
+
+GEN := \
+    $(intermediates)/html/canvas/JSCanvasGradient.h \
+    $(intermediates)/html/canvas/JSCanvasNumberArray.h \
+    $(intermediates)/html/canvas/JSCanvasPattern.h \
+    $(intermediates)/html/canvas/JSCanvasRenderingContext.h \
+    $(intermediates)/html/canvas/JSCanvasRenderingContext2D.h
+
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(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 $@) $<
+$(GEN): $(intermediates)/html/canvas/JS%.h : $(LOCAL_PATH)/html/canvas/%.idl $(js_binding_scripts)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules.  Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/html/canvas/%.cpp : $(intermediates)/html/canvas/%.h
+
+GEN := \
+    $(intermediates)/loader/appcache/JSDOMApplicationCache.h
+
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(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 $@) $<
+$(GEN): $(intermediates)/loader/appcache/JS%.h : $(LOCAL_PATH)/loader/appcache/%.idl $(js_binding_scripts)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules.  Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/loader/appcache/%.cpp : $(intermediates)/loader/appcache/%.h
+
+# MANUAL MERGE : I took this out because compiling the result shows:
+# out/.../JSAbstractView.cpp:27:26: error: AbstractView.h: No such file or directory
+# I can't find AbstractView.h anywhere
+#    $(intermediates)/page/JSAbstractView.h \
+
+GEN := \
+    $(intermediates)/page/JSBarInfo.h \
+    $(intermediates)/page/JSConsole.h \
+    $(intermediates)/page/JSCoordinates.h \
+    $(intermediates)/page/JSDOMSelection.h \
+    $(intermediates)/page/JSDOMWindow.h \
+    $(intermediates)/page/JSGeolocation.h \
+    $(intermediates)/page/JSGeoposition.h \
+    $(intermediates)/page/JSHistory.h \
+    $(intermediates)/page/JSLocation.h \
+    $(intermediates)/page/JSNavigator.h \
+    $(intermediates)/page/JSPositionError.h \
+    $(intermediates)/page/JSScreen.h \
+    $(intermediates)/page/JSWebKitPoint.h \
+    $(intermediates)/page/JSWorkerNavigator.h
+
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(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 $@) $<
+$(GEN): $(intermediates)/page/JS%.h : $(LOCAL_PATH)/page/%.idl $(js_binding_scripts)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules.  Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/page/%.cpp : $(intermediates)/page/%.h
+
+GEN := \
+    $(intermediates)/plugins/JSMimeType.h \
+    $(intermediates)/plugins/JSMimeTypeArray.h \
+    $(intermediates)/plugins/JSPlugin.h \
+    $(intermediates)/plugins/JSPluginArray.h
+
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(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 $@) $<
+$(GEN): $(intermediates)/plugins/JS%.h : $(LOCAL_PATH)/plugins/%.idl $(js_binding_scripts)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules.  Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/plugins/%.cpp : $(intermediates)/plugins/%.h
+
+# New section for Database storage API
+GEN := \
+    $(intermediates)/storage/JSDatabase.h \
+    $(intermediates)/storage/JSSQLError.h \
+    $(intermediates)/storage/JSSQLResultSet.h \
+    $(intermediates)/storage/JSSQLResultSetRowList.h \
+    $(intermediates)/storage/JSSQLTransaction.h
+
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(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 $@) $<
+$(GEN): $(intermediates)/storage/JS%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules.  Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/storage/%.cpp : $(intermediates)/storage/%.h
+
+# new section for DOM Storage APIs
+GEN := \
+    $(intermediates)/storage/JSStorage.h \
+    $(intermediates)/storage/JSStorageEvent.h
+
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(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 $@) $<
+$(GEN): $(intermediates)/storage/JS%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules.  Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/storage/%.cpp : $(intermediates)/storage/%.h
+
+#new section for svg
+ifeq ($(ENABLE_SVG), true)
+GEN := \
+    $(intermediates)/svg/JSSVGAElement.h \
+    $(intermediates)/svg/JSSVGAltGlyphElement.h \
+    $(intermediates)/svg/JSSVGAngle.h \
+    $(intermediates)/svg/JSSVGAnimateColorElement.h \
+    $(intermediates)/svg/JSSVGAnimateElement.h \
+    $(intermediates)/svg/JSSVGAnimateTransformElement.h \
+    $(intermediates)/svg/JSSVGAnimatedAngle.h \
+    $(intermediates)/svg/JSSVGAnimatedBoolean.h \
+    $(intermediates)/svg/JSSVGAnimatedEnumeration.h \
+    $(intermediates)/svg/JSSVGAnimatedInteger.h \
+    $(intermediates)/svg/JSSVGAnimatedLength.h \
+    $(intermediates)/svg/JSSVGAnimatedLengthList.h \
+    $(intermediates)/svg/JSSVGAnimatedNumber.h \
+    $(intermediates)/svg/JSSVGAnimatedNumberList.h \
+    $(intermediates)/svg/JSSVGAnimatedPreserveAspectRatio.h \
+    $(intermediates)/svg/JSSVGAnimatedRect.h \
+    $(intermediates)/svg/JSSVGAnimatedString.h \
+    $(intermediates)/svg/JSSVGAnimatedTransformList.h \
+    $(intermediates)/svg/JSSVGAnimationElement.h \
+    $(intermediates)/svg/JSSVGCircleElement.h \
+    $(intermediates)/svg/JSSVGClipPathElement.h \
+    $(intermediates)/svg/JSSVGColor.h \
+    $(intermediates)/svg/JSSVGComponentTransferFunctionElement.h \
+    $(intermediates)/svg/JSSVGCursorElement.h \
+    $(intermediates)/svg/JSSVGDefsElement.h \
+    $(intermediates)/svg/JSSVGDescElement.h \
+    $(intermediates)/svg/JSSVGDocument.h \
+    $(intermediates)/svg/JSSVGElement.h \
+    $(intermediates)/svg/JSSVGElementInstance.h \
+    $(intermediates)/svg/JSSVGElementInstanceList.h \
+    $(intermediates)/svg/JSSVGEllipseElement.h \
+    $(intermediates)/svg/JSSVGException.h \
+    $(intermediates)/svg/JSSVGFEBlendElement.h \
+    $(intermediates)/svg/JSSVGFEColorMatrixElement.h \
+    $(intermediates)/svg/JSSVGFEComponentTransferElement.h \
+    $(intermediates)/svg/JSSVGFECompositeElement.h \
+    $(intermediates)/svg/JSSVGFEDiffuseLightingElement.h \
+    $(intermediates)/svg/JSSVGFEDisplacementMapElement.h \
+    $(intermediates)/svg/JSSVGFEDistantLightElement.h \
+    $(intermediates)/svg/JSSVGFEFloodElement.h \
+    $(intermediates)/svg/JSSVGFEFuncAElement.h \
+    $(intermediates)/svg/JSSVGFEFuncBElement.h \
+    $(intermediates)/svg/JSSVGFEFuncGElement.h \
+    $(intermediates)/svg/JSSVGFEFuncRElement.h \
+    $(intermediates)/svg/JSSVGFEGaussianBlurElement.h \
+    $(intermediates)/svg/JSSVGFEImageElement.h \
+    $(intermediates)/svg/JSSVGFEMergeElement.h \
+    $(intermediates)/svg/JSSVGFEMergeNodeElement.h \
+    $(intermediates)/svg/JSSVGFEOffsetElement.h \
+    $(intermediates)/svg/JSSVGFEPointLightElement.h \
+    $(intermediates)/svg/JSSVGFESpecularLightingElement.h \
+    $(intermediates)/svg/JSSVGFESpotLightElement.h \
+    $(intermediates)/svg/JSSVGFETileElement.h \
+    $(intermediates)/svg/JSSVGFETurbulenceElement.h \
+    $(intermediates)/svg/JSSVGFilterElement.h \
+    $(intermediates)/svg/JSSVGFontElement.h \
+    $(intermediates)/svg/JSSVGFontFaceElement.h \
+    $(intermediates)/svg/JSSVGFontFaceFormatElement.h \
+    $(intermediates)/svg/JSSVGFontFaceNameElement.h \
+    $(intermediates)/svg/JSSVGFontFaceSrcElement.h \
+    $(intermediates)/svg/JSSVGFontFaceUriElement.h \
+    $(intermediates)/svg/JSSVGForeignObjectElement.h \
+    $(intermediates)/svg/JSSVGGElement.h \
+    $(intermediates)/svg/JSSVGGlyphElement.h \
+    $(intermediates)/svg/JSSVGGradientElement.h \
+    $(intermediates)/svg/JSSVGHKernElement.h \
+    $(intermediates)/svg/JSSVGImageElement.h \
+    $(intermediates)/svg/JSSVGLength.h \
+    $(intermediates)/svg/JSSVGLengthList.h \
+    $(intermediates)/svg/JSSVGLineElement.h \
+    $(intermediates)/svg/JSSVGLinearGradientElement.h \
+    $(intermediates)/svg/JSSVGMarkerElement.h \
+    $(intermediates)/svg/JSSVGMaskElement.h \
+    $(intermediates)/svg/JSSVGMatrix.h \
+    $(intermediates)/svg/JSSVGMetadataElement.h \
+    $(intermediates)/svg/JSSVGMissingGlyphElement.h \
+    $(intermediates)/svg/JSSVGNumber.h \
+    $(intermediates)/svg/JSSVGNumberList.h \
+    $(intermediates)/svg/JSSVGPaint.h \
+    $(intermediates)/svg/JSSVGPathElement.h \
+    $(intermediates)/svg/JSSVGPathSeg.h \
+    $(intermediates)/svg/JSSVGPathSegArcAbs.h \
+    $(intermediates)/svg/JSSVGPathSegArcRel.h \
+    $(intermediates)/svg/JSSVGPathSegClosePath.h \
+    $(intermediates)/svg/JSSVGPathSegCurvetoCubicAbs.h \
+    $(intermediates)/svg/JSSVGPathSegCurvetoCubicRel.h \
+    $(intermediates)/svg/JSSVGPathSegCurvetoCubicSmoothAbs.h \
+    $(intermediates)/svg/JSSVGPathSegCurvetoCubicSmoothRel.h \
+    $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticAbs.h \
+    $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticRel.h \
+    $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticSmoothAbs.h \
+    $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticSmoothRel.h \
+    $(intermediates)/svg/JSSVGPathSegLinetoAbs.h \
+    $(intermediates)/svg/JSSVGPathSegLinetoHorizontalAbs.h \
+    $(intermediates)/svg/JSSVGPathSegLinetoHorizontalRel.h \
+    $(intermediates)/svg/JSSVGPathSegLinetoRel.h \
+    $(intermediates)/svg/JSSVGPathSegLinetoVerticalAbs.h \
+    $(intermediates)/svg/JSSVGPathSegLinetoVerticalRel.h \
+    $(intermediates)/svg/JSSVGPathSegList.h \
+    $(intermediates)/svg/JSSVGPathSegMovetoAbs.h \
+    $(intermediates)/svg/JSSVGPathSegMovetoRel.h \
+    $(intermediates)/svg/JSSVGPatternElement.h \
+    $(intermediates)/svg/JSSVGPoint.h \
+    $(intermediates)/svg/JSSVGPointList.h \
+    $(intermediates)/svg/JSSVGPolygonElement.h \
+    $(intermediates)/svg/JSSVGPolylineElement.h \
+    $(intermediates)/svg/JSSVGPreserveAspectRatio.h \
+    $(intermediates)/svg/JSSVGRadialGradientElement.h \
+    $(intermediates)/svg/JSSVGRect.h \
+    $(intermediates)/svg/JSSVGRectElement.h \
+    $(intermediates)/svg/JSSVGRenderingIntent.h \
+    $(intermediates)/svg/JSSVGSVGElement.h \
+    $(intermediates)/svg/JSSVGScriptElement.h \
+    $(intermediates)/svg/JSSVGSetElement.h \
+    $(intermediates)/svg/JSSVGStopElement.h \
+    $(intermediates)/svg/JSSVGStringList.h \
+    $(intermediates)/svg/JSSVGStyleElement.h \
+    $(intermediates)/svg/JSSVGSwitchElement.h \
+    $(intermediates)/svg/JSSVGSymbolElement.h \
+    $(intermediates)/svg/JSSVGTRefElement.h \
+    $(intermediates)/svg/JSSVGTSpanElement.h \
+    $(intermediates)/svg/JSSVGTextContentElement.h \
+    $(intermediates)/svg/JSSVGTextElement.h \
+    $(intermediates)/svg/JSSVGTextPathElement.h \
+    $(intermediates)/svg/JSSVGTextPositioningElement.h \
+    $(intermediates)/svg/JSSVGTitleElement.h \
+    $(intermediates)/svg/JSSVGTransform.h \
+    $(intermediates)/svg/JSSVGTransformList.h \
+    $(intermediates)/svg/JSSVGUnitTypes.h \
+    $(intermediates)/svg/JSSVGUseElement.h \
+    $(intermediates)/svg/JSSVGViewElement.h \
+    $(intermediates)/svg/JSSVGZoomEvent.h
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(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 $@) $<
+$(GEN): $(intermediates)/svg/JS%.h : $(LOCAL_PATH)/svg/%.idl $(js_binding_scripts)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules.  Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/svg/%.cpp : $(intermediates)/svg/%.h
+endif
+
+# new section for Workers
+GEN := \
+    $(intermediates)/workers/JSAbstractWorker.h \
+    $(intermediates)/workers/JSDedicatedWorkerContext.h \
+    $(intermediates)/workers/JSSharedWorker.h \
+    $(intermediates)/workers/JSSharedWorkerContext.h \
+    $(intermediates)/workers/JSWorker.h \
+    $(intermediates)/workers/JSWorkerContext.h \
+    $(intermediates)/workers/JSWorkerLocation.h
+
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(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 $@) $<
+$(GEN): $(intermediates)/workers/JS%.h : $(LOCAL_PATH)/workers/%.idl $(js_binding_scripts)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules.  Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/workers/%.cpp : $(intermediates)/workers/%.h
+
+#new section for xml/DOMParser.idl
+GEN := \
+    $(intermediates)/xml/JSDOMParser.h \
+    $(intermediates)/xml/JSXMLHttpRequest.h \
+    $(intermediates)/xml/JSXMLHttpRequestException.h \
+    $(intermediates)/xml/JSXMLHttpRequestProgressEvent.h \
+    $(intermediates)/xml/JSXMLHttpRequestUpload.h \
+    $(intermediates)/xml/JSXMLSerializer.h \
+    $(intermediates)/xml/JSXSLTProcessor.h
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(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 $@) $<
+$(GEN): $(intermediates)/xml/JS%.h : $(LOCAL_PATH)/xml/%.idl $(js_binding_scripts)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules.  Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/xml/%.cpp : $(intermediates)/xml/%.h
+#end
+
+# HTML tag and attribute names
+
+GEN:= $(intermediates)/HTMLNames.cpp $(intermediates)/HTMLElementFactory.cpp  $(intermediates)/JSHTMLElementWrapperFactory.cpp
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --tags $(html_tags) --attrs $(html_attrs)  --extraDefines "$(FEATURE_DEFINES)" --factory --wrapperFactory --output $(dir $@)
+$(GEN): html_tags := $(LOCAL_PATH)/html/HTMLTagNames.in
+$(GEN): html_attrs := $(LOCAL_PATH)/html/HTMLAttributeNames.in
+$(GEN): $(LOCAL_PATH)/dom/make_names.pl $(html_tags) $(html_attrs)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+# SVG tag and attribute names
+
+ifeq ($(ENABLE_SVG), true)
+GEN:= $(intermediates)/SVGNames.cpp  $(intermediates)/SVGElementFactory.cpp $(intermediates)/JSSVGElementWrapperFactory.cpp
+SVG_FLAGS:=ENABLE_SVG_AS_IMAGE=1 ENABLE_SVG_FILTERS=1 ENABLE_SVG_FONTS=1 ENABLE_SVG_FOREIGN_OBJECT=1 ENABLE_SVG_USE=1
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --tags $(svg_tags) --attrs $(svg_attrs) --extraDefines "$(SVG_FLAGS)" --factory --wrapperFactory --output $(dir $@)
+$(GEN): svg_tags := $(LOCAL_PATH)/svg/svgtags.in
+$(GEN): svg_attrs := $(LOCAL_PATH)/svg/svgattrs.in
+$(GEN): $(LOCAL_PATH)/dom/make_names.pl $(svg_tags) $(svg_attrs)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+endif
diff --git a/WebCore/Android.derived.mk b/WebCore/Android.derived.mk
new file mode 100644
index 0000000..e559064
--- /dev/null
+++ b/WebCore/Android.derived.mk
@@ -0,0 +1,162 @@
+##
+## Copyright 2009, The Android Open Source Project
+##
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions
+## are met:
+##  * Redistributions of source code must retain the above copyright
+##    notice, this list of conditions and the following disclaimer.
+##  * Redistributions in binary form must reproduce the above copyright
+##    notice, this list of conditions and the following disclaimer in the
+##    documentation and/or other materials provided with the distribution.
+##
+## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
+## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+## PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+##
+
+LOCAL_SRC_FILES :=
+# CSS property names and value keywords
+
+GEN := $(intermediates)/css/CSSPropertyNames.h
+$(GEN): SCRIPT := $(LOCAL_PATH)/css/makeprop.pl
+$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.in $(LOCAL_PATH)/css/SVGCSSPropertyNames.in
+	@echo "Generating CSSPropertyNames.h <= CSSPropertyNames.in"
+	@mkdir -p $(dir $@)
+	@cat $< > $(dir $@)/$(notdir $<)
+ifeq ($(ENABLE_SVG),true)
+	@cat $^ > $(@:%.h=%.in)
+endif
+	@cp -f $(SCRIPT) $(dir $@)
+	@cd $(dir $@) ; perl ./$(notdir $(SCRIPT))
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+GEN := $(intermediates)/css/CSSValueKeywords.h
+$(GEN): SCRIPT := $(LOCAL_PATH)/css/makevalues.pl
+$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.in $(LOCAL_PATH)/css/SVGCSSValueKeywords.in
+	@echo "Generating CSSValueKeywords.h <= CSSValueKeywords.in"
+	@mkdir -p $(dir $@)
+	@cp -f $(SCRIPT) $(dir $@)
+ifeq ($(ENABLE_SVG),true)    
+	@perl -ne 'print lc' $^ > $(@:%.h=%.in)
+else
+	@perl -ne 'print lc' $< > $(@:%.h=%.in)
+endif
+	@cd $(dir $@); perl makevalues.pl
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+
+# DOCTYPE strings
+
+GEN := $(intermediates)/html/DocTypeStrings.cpp
+$(GEN): PRIVATE_CUSTOM_TOOL = gperf -CEot -L ANSI-C -k "*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards $< > $@
+$(GEN): $(LOCAL_PATH)/html/DocTypeStrings.gperf
+	$(transform-generated-source)
+# we have to do this dep by hand:
+$(intermediates)/html/HTMLDocument.o : $(GEN)
+
+
+# HTML entity names
+
+GEN := $(intermediates)/html/HTMLEntityNames.c
+$(GEN): PRIVATE_CUSTOM_TOOL = gperf -a -L ANSI-C -C -G -c -o -t -k '*' -N findEntity -D -s 2 $< > $@
+$(GEN): $(LOCAL_PATH)/html/HTMLEntityNames.gperf
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+
+# color names
+
+GEN := $(intermediates)/platform/ColorData.c
+$(GEN): PRIVATE_CUSTOM_TOOL = gperf -CDEot -L ANSI-C -k '*' -N findColor -D -s 2 $< > $@
+$(GEN): $(LOCAL_PATH)/platform/ColorData.gperf
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+
+# CSS tokenizer
+
+GEN := $(intermediates)/css/tokenizer.cpp
+$(GEN): PRIVATE_CUSTOM_TOOL = $(OLD_FLEX) -t $< | perl $(dir $<)/maketokenizer > $@
+$(GEN): $(LOCAL_PATH)/css/tokenizer.flex $(LOCAL_PATH)/css/maketokenizer
+	$(transform-generated-source)
+# we have to do this dep by hand:
+$(intermediates)/css/CSSParser.o : $(GEN)
+
+# CSS grammar
+
+GEN := $(intermediates)/CSSGrammar.cpp
+$(GEN) : PRIVATE_YACCFLAGS := -p cssyy
+$(GEN): $(LOCAL_PATH)/css/CSSGrammar.y
+	$(call local-transform-y-to-cpp,.cpp)
+$(GEN): $(LOCAL_BISON)
+
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+# XPath grammar
+
+GEN := $(intermediates)/XPathGrammar.cpp
+$(GEN) : PRIVATE_YACCFLAGS := -p xpathyy
+$(GEN): $(LOCAL_PATH)/xml/XPathGrammar.y
+	$(call local-transform-y-to-cpp,.cpp)
+$(GEN): $(LOCAL_BISON)
+
+LOCAL_GENERATED_SOURCES += $(GEN)
+	                         
+# user agent style sheets
+
+style_sheets := $(LOCAL_PATH)/css/html.css $(LOCAL_PATH)/css/quirks.css $(LOCAL_PATH)/css/view-source.css $(LOCAL_PATH)/css/mediaControls.css
+ifeq ($(ENABLE_SVG), true)
+style_sheets := $(style_sheets) $(LOCAL_PATH)/css/svg.css
+endif
+GEN := $(intermediates)/css/UserAgentStyleSheets.h
+make_css_file_arrays := $(LOCAL_PATH)/css/make-css-file-arrays.pl
+$(GEN): PRIVATE_CUSTOM_TOOL = $< $@ $(basename $@).cpp $(filter %.css,$^)
+$(GEN): $(make_css_file_arrays) $(style_sheets)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# character set name table
+
+#gen_inputs := \
+		$(LOCAL_PATH)/platform/make-charset-table.pl \
+		$(LOCAL_PATH)/platform/character-sets.txt \
+		$(LOCAL_PATH)/platform/android/android-encodings.txt
+#GEN := $(intermediates)/platform/CharsetData.cpp
+#$(GEN): PRIVATE_CUSTOM_TOOL = $^ "android::Encoding::ENCODING_" > $@
+#$(GEN): $(gen_inputs)
+#	$(transform-generated-source)
+#LOCAL_GENERATED_SOURCES += $(GEN)
+
+# the above rule will make this build too
+$(intermediates)/css/UserAgentStyleSheets.cpp : $(GEN)
+
+# XML attribute names
+
+GEN:= $(intermediates)/XMLNames.cpp
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --attrs $(xml_attrs) --output $(dir $@) 
+$(GEN): xml_attrs := $(LOCAL_PATH)/xml/xmlattrs.in
+$(GEN): $(LOCAL_PATH)/dom/make_names.pl $(xml_attrs)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+# XLink attribute names
+
+ifeq ($(ENABLE_SVG), true)
+GEN:= $(intermediates)/XLinkNames.cpp
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --attrs $(xlink_attrs) --output $(dir $@) 
+$(GEN): xlink_attrs := $(LOCAL_PATH)/svg/xlinkattrs.in
+$(GEN): $(LOCAL_PATH)/dom/make_names.pl $(xlink_attrs)
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+endif
diff --git a/WebCore/Android.jscbindings.mk b/WebCore/Android.jscbindings.mk
new file mode 100644
index 0000000..bab2b56
--- /dev/null
+++ b/WebCore/Android.jscbindings.mk
@@ -0,0 +1,165 @@
+##
+## Copyright 2009, The Android Open Source Project
+##
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions
+## are met:
+##  * Redistributions of source code must retain the above copyright
+##    notice, this list of conditions and the following disclaimer.
+##  * Redistributions in binary form must reproduce the above copyright
+##    notice, this list of conditions and the following disclaimer in the
+##    documentation and/or other materials provided with the distribution.
+##
+## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
+## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+## PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+##
+
+LOCAL_SRC_FILES += \
+	bindings/js/GCController.cpp \
+	bindings/js/JSAbstractWorkerCustom.cpp \
+	bindings/js/JSAttrCustom.cpp \
+	bindings/js/JSAudioConstructor.cpp \
+	bindings/js/JSCDATASectionCustom.cpp \
+	bindings/js/JSCSSRuleCustom.cpp \
+	bindings/js/JSCSSRuleListCustom.cpp \
+	bindings/js/JSCSSStyleDeclarationCustom.cpp \
+	bindings/js/JSCSSValueCustom.cpp \
+	bindings/js/JSCallbackData.cpp \
+	bindings/js/JSCanvasNumberArrayCustom.cpp \
+	bindings/js/JSCanvasRenderingContext2DCustom.cpp \
+	bindings/js/JSCanvasRenderingContextCustom.cpp \
+	bindings/js/JSClipboardCustom.cpp \
+	bindings/js/JSConsoleCustom.cpp \
+	bindings/js/JSCoordinatesCustom.cpp \
+	bindings/js/JSCustomPositionCallback.cpp \
+	bindings/js/JSCustomPositionErrorCallback.cpp \
+	bindings/js/JSCustomSQLStatementCallback.cpp \
+	bindings/js/JSCustomSQLStatementErrorCallback.cpp \
+	bindings/js/JSCustomSQLTransactionCallback.cpp \
+	bindings/js/JSCustomSQLTransactionErrorCallback.cpp \
+	bindings/js/JSCustomVoidCallback.cpp \
+	bindings/js/JSDesktopNotificationsCustom.cpp \
+	bindings/js/JSDOMApplicationCacheCustom.cpp \
+	bindings/js/JSDOMBinding.cpp \
+	bindings/js/JSDOMGlobalObject.cpp \
+	bindings/js/JSDOMWindowBase.cpp \
+	bindings/js/JSDOMWindowCustom.cpp \
+	bindings/js/JSDOMWindowShell.cpp \
+	bindings/js/JSDataGridColumnListCustom.cpp \
+	bindings/js/JSDataGridDataSource.cpp \
+	bindings/js/JSDatabaseCustom.cpp \
+	bindings/js/JSDedicatedWorkerContextCustom.cpp \
+	bindings/js/JSDocumentCustom.cpp \
+	bindings/js/JSDocumentFragmentCustom.cpp \
+	bindings/js/JSElementCustom.cpp \
+	bindings/js/JSEventCustom.cpp \
+	bindings/js/JSEventListener.cpp \
+	bindings/js/JSEventTarget.cpp \
+	bindings/js/JSExceptionBase.cpp \
+	bindings/js/JSGeolocationCustom.cpp \
+	bindings/js/JSHTMLAllCollectionCustom.cpp \
+	bindings/js/JSHTMLAppletElementCustom.cpp \
+	bindings/js/JSHTMLCanvasElementCustom.cpp \
+	bindings/js/JSHTMLCollectionCustom.cpp \
+	bindings/js/JSHTMLDataGridElementCustom.cpp \
+	bindings/js/JSHTMLDocumentCustom.cpp \
+	bindings/js/JSHTMLElementCustom.cpp \
+	bindings/js/JSHTMLEmbedElementCustom.cpp \
+	bindings/js/JSHTMLFormElementCustom.cpp \
+	bindings/js/JSHTMLFrameElementCustom.cpp \
+	bindings/js/JSHTMLFrameSetElementCustom.cpp \
+	bindings/js/JSHTMLIFrameElementCustom.cpp \
+	bindings/js/JSHTMLInputElementCustom.cpp \
+	bindings/js/JSHTMLObjectElementCustom.cpp \
+	bindings/js/JSHTMLOptionsCollectionCustom.cpp \
+	bindings/js/JSHTMLSelectElementCustom.cpp \
+	bindings/js/JSHistoryCustom.cpp \
+	bindings/js/JSImageConstructor.cpp \
+	bindings/js/JSImageDataCustom.cpp \
+	bindings/js/JSInspectedObjectWrapper.cpp \
+	bindings/js/JSLazyEventListener.cpp \
+	bindings/js/JSLocationCustom.cpp \
+	bindings/js/JSMessageChannelConstructor.cpp \
+	bindings/js/JSMessageChannelCustom.cpp \
+	bindings/js/JSMessageEventCustom.cpp \
+	bindings/js/JSMessagePortCustom.cpp \
+	bindings/js/JSMimeTypeArrayCustom.cpp \
+	bindings/js/JSNamedNodeMapCustom.cpp \
+	bindings/js/JSNavigatorCustom.cpp \
+	bindings/js/JSNodeCustom.cpp \
+	bindings/js/JSNodeFilterCondition.cpp \
+	bindings/js/JSNodeFilterCustom.cpp \
+	bindings/js/JSNodeIteratorCustom.cpp \
+	bindings/js/JSNodeListCustom.cpp \
+	bindings/js/JSOptionConstructor.cpp \
+	bindings/js/JSPluginArrayCustom.cpp \
+	bindings/js/JSPluginCustom.cpp \
+	bindings/js/JSPluginElementFunctions.cpp \
+	bindings/js/JSSQLResultSetRowListCustom.cpp \
+	bindings/js/JSSQLTransactionCustom.cpp \
+	bindings/js/JSSVGElementInstanceCustom.cpp \
+	bindings/js/JSSVGLengthCustom.cpp \
+	bindings/js/JSSVGMatrixCustom.cpp \
+	bindings/js/JSSVGPathSegCustom.cpp \
+	bindings/js/JSSVGPathSegListCustom.cpp \
+	bindings/js/JSSVGPointListCustom.cpp \
+	bindings/js/JSSVGTransformListCustom.cpp \
+	bindings/js/JSSharedWorkerConstructor.cpp \
+	bindings/js/JSSharedWorkerCustom.cpp \
+	bindings/js/JSStorageCustom.cpp \
+	bindings/js/JSStyleSheetCustom.cpp \
+	bindings/js/JSStyleSheetListCustom.cpp \
+	bindings/js/JSTextCustom.cpp \
+	bindings/js/JSTreeWalkerCustom.cpp \
+	bindings/js/JSWebKitCSSMatrixConstructor.cpp \
+	bindings/js/JSWebKitPointConstructor.cpp \
+	bindings/js/JSWorkerConstructor.cpp \
+	bindings/js/JSWorkerContextBase.cpp \
+	bindings/js/JSWorkerContextCustom.cpp \
+	bindings/js/JSWorkerCustom.cpp \
+	bindings/js/JSXMLHttpRequestConstructor.cpp \
+	bindings/js/JSXMLHttpRequestCustom.cpp \
+	bindings/js/JSXMLHttpRequestUploadCustom.cpp \
+	bindings/js/JSXSLTProcessorConstructor.cpp \
+	bindings/js/JSXSLTProcessorCustom.cpp \
+	bindings/js/ScheduledAction.cpp \
+	bindings/js/ScriptArray.cpp \
+	bindings/js/ScriptCachedFrameData.cpp \
+	bindings/js/ScriptCallFrame.cpp \
+	bindings/js/ScriptCallStack.cpp \
+	bindings/js/ScriptController.cpp \
+	bindings/js/ScriptEventListener.cpp \
+	bindings/js/ScriptFunctionCall.cpp \
+	bindings/js/ScriptObject.cpp \
+	bindings/js/ScriptState.cpp \
+	bindings/js/ScriptValue.cpp \
+	bindings/js/SerializedScriptValue.cpp \
+	bindings/js/WorkerScriptController.cpp \
+	\
+	bindings/ScriptControllerBase.cpp \
+	\
+	bridge/IdentifierRep.cpp \
+	bridge/NP_jsobject.cpp \
+	bridge/c/c_class.cpp \
+	bridge/c/c_instance.cpp \
+	bridge/c/c_runtime.cpp \
+	bridge/c/c_utility.cpp \
+	bridge/jni/jni_class.cpp \
+	bridge/jni/jni_instance.cpp \
+	bridge/jni/jni_runtime.cpp \
+	bridge/jni/jni_utility.cpp \
+	bridge/npruntime.cpp \
+	bridge/runtime.cpp \
+	bridge/runtime_array.cpp \
+	bridge/runtime_method.cpp \
+	bridge/runtime_object.cpp \
+	bridge/runtime_root.cpp
diff --git a/WebCore/Android.mk b/WebCore/Android.mk
new file mode 100644
index 0000000..e95d92f
--- /dev/null
+++ b/WebCore/Android.mk
@@ -0,0 +1,879 @@
+##
+## Copyright 2009, The Android Open Source Project
+##
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions
+## are met:
+##  * Redistributions of source code must retain the above copyright
+##    notice, this list of conditions and the following disclaimer.
+##  * Redistributions in binary form must reproduce the above copyright
+##    notice, this list of conditions and the following disclaimer in the
+##    documentation and/or other materials provided with the distribution.
+##
+## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
+## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+## PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+##
+
+LOCAL_SRC_FILES := \
+	css/CSSBorderImageValue.cpp \
+	css/CSSCanvasValue.cpp \
+	css/CSSCharsetRule.cpp \
+	css/CSSComputedStyleDeclaration.cpp \
+	css/CSSCursorImageValue.cpp \
+	css/CSSFontFace.cpp \
+	css/CSSFontFaceRule.cpp \
+	css/CSSFontFaceSource.cpp \
+	css/CSSFontFaceSrcValue.cpp \
+	css/CSSFontSelector.cpp \
+	css/CSSFunctionValue.cpp \
+	css/CSSGradientValue.cpp \
+	css/CSSHelper.cpp \
+	css/CSSImageGeneratorValue.cpp \
+	css/CSSImageValue.cpp \
+	css/CSSImportRule.cpp \
+	css/CSSInheritedValue.cpp \
+	css/CSSInitialValue.cpp \
+	css/CSSMediaRule.cpp \
+	css/CSSMutableStyleDeclaration.cpp \
+	css/CSSPageRule.cpp \
+	css/CSSParser.cpp \
+	css/CSSParserValues.cpp \
+	css/CSSPrimitiveValue.cpp \
+	css/CSSProperty.cpp \
+	css/CSSPropertyLonghand.cpp \
+	css/CSSReflectValue.cpp \
+	css/CSSRule.cpp \
+	css/CSSRuleList.cpp \
+	css/CSSSegmentedFontFace.cpp \
+	css/CSSSelector.cpp \
+	css/CSSSelectorList.cpp \
+	css/CSSStyleDeclaration.cpp \
+	css/CSSStyleRule.cpp \
+	css/CSSStyleSelector.cpp \
+	css/CSSStyleSheet.cpp \
+	css/CSSTimingFunctionValue.cpp \
+	css/CSSUnicodeRangeValue.cpp \
+	css/CSSValueList.cpp \
+	css/CSSVariableDependentValue.cpp \
+	css/CSSVariablesDeclaration.cpp \
+	css/CSSVariablesRule.cpp \
+	css/FontFamilyValue.cpp \
+	css/FontValue.cpp \
+	css/Media.cpp \
+	css/MediaFeatureNames.cpp \
+	css/MediaList.cpp \
+	css/MediaQuery.cpp \
+	css/MediaQueryEvaluator.cpp \
+	css/MediaQueryExp.cpp \
+	css/RGBColor.cpp \
+
+ifeq ($(ENABLE_SVG), true)
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
+	css/SVGCSSComputedStyleDeclaration.cpp \
+	css/SVGCSSParser.cpp \
+	css/SVGCSSStyleSelector.cpp
+endif
+
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
+	css/ShadowValue.cpp \
+	css/StyleBase.cpp \
+	css/StyleList.cpp \
+	css/StyleSheet.cpp \
+	css/StyleSheetList.cpp \
+	css/WebKitCSSKeyframeRule.cpp \
+	css/WebKitCSSKeyframesRule.cpp \
+	css/WebKitCSSMatrix.cpp \
+	css/WebKitCSSTransformValue.cpp \
+	\
+	dom/ActiveDOMObject.cpp \
+	dom/Attr.cpp \
+	dom/Attribute.cpp \
+	dom/BeforeTextInsertedEvent.cpp \
+	dom/BeforeUnloadEvent.cpp \
+	dom/CDATASection.cpp \
+	dom/CSSMappedAttributeDeclaration.cpp \
+	dom/CharacterData.cpp \
+	dom/CheckedRadioButtons.cpp \
+	dom/ChildNodeList.cpp \
+	dom/ClassNames.cpp \
+	dom/ClassNodeList.cpp \
+	dom/ClientRect.cpp \
+	dom/ClientRectList.cpp \
+	dom/Clipboard.cpp \
+	dom/ClipboardEvent.cpp \
+	dom/Comment.cpp \
+	dom/ContainerNode.cpp \
+	dom/DOMImplementation.cpp \
+	dom/Document.cpp \
+	dom/DocumentFragment.cpp \
+	dom/DocumentType.cpp \
+	dom/DynamicNodeList.cpp \
+	dom/EditingText.cpp \
+	dom/Element.cpp \
+	dom/Entity.cpp \
+	dom/EntityReference.cpp \
+	dom/ErrorEvent.cpp \
+	dom/Event.cpp \
+	dom/EventNames.cpp \
+	dom/EventTarget.cpp \
+	dom/ExceptionBase.cpp \
+	dom/ExceptionCode.cpp \
+	dom/InputElement.cpp \
+	dom/KeyboardEvent.cpp \
+	dom/MappedAttribute.cpp \
+	dom/MessageChannel.cpp \
+	dom/MessageEvent.cpp \
+	dom/MessagePort.cpp \
+	dom/MessagePortChannel.cpp \
+	dom/MouseEvent.cpp \
+	dom/MouseRelatedEvent.cpp \
+	dom/MutationEvent.cpp \
+	dom/NameNodeList.cpp \
+	dom/NamedAttrMap.cpp \
+	dom/NamedMappedAttrMap.cpp \
+	dom/Node.cpp \
+	dom/NodeFilter.cpp \
+	dom/NodeFilterCondition.cpp \
+	dom/NodeIterator.cpp \
+	dom/Notation.cpp \
+	dom/OptionElement.cpp \
+	dom/OptionGroupElement.cpp \
+	dom/OverflowEvent.cpp \
+	dom/PageTransitionEvent.cpp \
+	dom/Position.cpp \
+	dom/PositionIterator.cpp \
+	dom/ProcessingInstruction.cpp \
+	dom/ProgressEvent.cpp \
+	dom/QualifiedName.cpp \
+	dom/Range.cpp \
+	dom/RegisteredEventListener.cpp \
+	dom/ScriptElement.cpp \
+	dom/ScriptExecutionContext.cpp \
+	dom/SelectElement.cpp \
+	dom/SelectorNodeList.cpp \
+	dom/StaticNodeList.cpp \
+	dom/StyleElement.cpp \
+	dom/StyledElement.cpp \
+	dom/TagNodeList.cpp \
+	dom/Text.cpp \
+	dom/TextEvent.cpp \
+	dom/Traversal.cpp \
+	dom/TreeWalker.cpp \
+	dom/UIEvent.cpp \
+	dom/UIEventWithKeyState.cpp \
+	dom/WebKitAnimationEvent.cpp \
+	dom/WebKitTransitionEvent.cpp \
+	dom/WheelEvent.cpp \
+	dom/XMLTokenizer.cpp \
+	dom/XMLTokenizerLibxml2.cpp \
+	dom/XMLTokenizerScope.cpp \
+	dom/default/PlatformMessagePortChannel.cpp \
+	\
+	editing/AppendNodeCommand.cpp \
+	editing/ApplyStyleCommand.cpp \
+	editing/BreakBlockquoteCommand.cpp \
+	editing/CompositeEditCommand.cpp \
+	editing/CreateLinkCommand.cpp \
+	editing/DeleteButton.cpp \
+	editing/DeleteButtonController.cpp \
+	editing/DeleteFromTextNodeCommand.cpp \
+	editing/DeleteSelectionCommand.cpp \
+	editing/EditCommand.cpp \
+	editing/Editor.cpp \
+	editing/EditorCommand.cpp \
+	editing/FormatBlockCommand.cpp \
+	editing/HTMLInterchange.cpp \
+	editing/IndentOutdentCommand.cpp \
+	editing/InsertIntoTextNodeCommand.cpp \
+	editing/InsertLineBreakCommand.cpp \
+	editing/InsertListCommand.cpp \
+	editing/InsertNodeBeforeCommand.cpp \
+	editing/InsertParagraphSeparatorCommand.cpp \
+	editing/InsertTextCommand.cpp \
+	editing/JoinTextNodesCommand.cpp \
+	editing/MergeIdenticalElementsCommand.cpp \
+	editing/ModifySelectionListLevel.cpp \
+	editing/MoveSelectionCommand.cpp \
+	editing/RemoveCSSPropertyCommand.cpp \
+	editing/RemoveFormatCommand.cpp \
+	editing/RemoveNodeCommand.cpp \
+	editing/RemoveNodePreservingChildrenCommand.cpp \
+	editing/ReplaceNodeWithSpanCommand.cpp \
+	editing/ReplaceSelectionCommand.cpp \
+	editing/SelectionController.cpp \
+	editing/SetNodeAttributeCommand.cpp \
+	editing/SplitElementCommand.cpp \
+	editing/SplitTextNodeCommand.cpp \
+	editing/SplitTextNodeContainingElementCommand.cpp \
+	editing/TextIterator.cpp \
+	editing/TypingCommand.cpp \
+	editing/UnlinkCommand.cpp \
+	editing/VisiblePosition.cpp \
+	editing/VisibleSelection.cpp \
+	editing/WrapContentsInDummySpanCommand.cpp \
+	\
+	editing/android/EditorAndroid.cpp \
+	editing/htmlediting.cpp \
+	editing/markup.cpp \
+	editing/visible_units.cpp \
+	\
+	history/BackForwardList.cpp \
+	history/CachedFrame.cpp \
+	history/CachedPage.cpp \
+	history/HistoryItem.cpp \
+	history/PageCache.cpp \
+	\
+	html/CollectionCache.cpp \
+	html/File.cpp \
+	html/FileList.cpp \
+	html/FormDataList.cpp \
+	html/HTMLAllCollection.cpp \
+	html/HTMLCollection.cpp \
+	html/HTMLDataListElement.cpp \
+	html/HTMLDocument.cpp \
+	html/HTMLElementsAllInOne.cpp \
+	html/HTMLFormCollection.cpp \
+	html/HTMLImageLoader.cpp \
+	html/HTMLNameCollection.cpp \
+	html/HTMLOptionsCollection.cpp \
+	html/HTMLParser.cpp \
+	html/HTMLParserErrorCodes.cpp \
+	html/HTMLTableRowsCollection.cpp \
+	html/HTMLTokenizer.cpp \
+	html/HTMLViewSourceDocument.cpp \
+	html/ImageData.cpp \
+	html/PreloadScanner.cpp \
+	html/TimeRanges.cpp \
+	html/ValidityState.cpp \
+	\
+	html/canvas/CanvasGradient.cpp \
+	html/canvas/CanvasNumberArray.cpp \
+	html/canvas/CanvasObject.cpp \
+	html/canvas/CanvasPattern.cpp \
+	html/canvas/CanvasPixelArray.cpp \
+	html/canvas/CanvasRenderingContext.cpp \
+	html/canvas/CanvasRenderingContext2D.cpp \
+	html/canvas/CanvasStyle.cpp \
+	\
+	loader/Cache.cpp \
+	loader/CachedCSSStyleSheet.cpp \
+	loader/CachedFont.cpp \
+	loader/CachedImage.cpp \
+	loader/CachedResource.cpp \
+	loader/CachedResourceClientWalker.cpp \
+	loader/CachedResourceHandle.cpp \
+	loader/CachedScript.cpp \
+	loader/CrossOriginAccessControl.cpp \
+	loader/CrossOriginPreflightResultCache.cpp \
+	loader/DocLoader.cpp \
+	loader/DocumentLoader.cpp \
+	loader/DocumentThreadableLoader.cpp \
+	loader/FormState.cpp \
+	loader/FrameLoader.cpp \
+	loader/HistoryController.cpp \
+	loader/ImageDocument.cpp \
+	loader/ImageLoader.cpp \
+	loader/MainResourceLoader.cpp \
+	loader/MediaDocument.cpp \
+	loader/NavigationAction.cpp \
+	loader/NetscapePlugInStreamLoader.cpp \
+	loader/PlaceholderDocument.cpp \
+	loader/PluginDocument.cpp \
+	loader/PolicyCallback.cpp \
+	loader/PolicyChecker.cpp \
+	loader/ProgressTracker.cpp \
+	loader/RedirectScheduler.cpp \
+	loader/Request.cpp \
+	loader/ResourceLoadNotifier.cpp \
+	loader/ResourceLoader.cpp \
+	loader/SubresourceLoader.cpp \
+	loader/TextDocument.cpp \
+	loader/TextResourceDecoder.cpp \
+	loader/ThreadableLoader.cpp \
+	loader/WorkerThreadableLoader.cpp \
+	loader/appcache/ApplicationCache.cpp \
+	loader/appcache/ApplicationCacheGroup.cpp \
+	loader/appcache/ApplicationCacheHost.cpp \
+	loader/appcache/ApplicationCacheResource.cpp \
+	loader/appcache/ApplicationCacheStorage.cpp \
+	loader/appcache/DOMApplicationCache.cpp \
+	loader/appcache/ManifestParser.cpp \
+	\
+	loader/icon/IconDatabase.cpp \
+	loader/icon/IconFetcher.cpp \
+	loader/icon/IconLoader.cpp \
+	loader/icon/IconRecord.cpp \
+	loader/icon/PageURLRecord.cpp \
+	\
+	loader/loader.cpp \
+	\
+	page/BarInfo.cpp \
+	page/Chrome.cpp \
+	page/Console.cpp \
+	page/ContextMenuController.cpp \
+	page/DOMSelection.cpp \
+	page/DOMTimer.cpp \
+	page/DOMWindow.cpp \
+	page/DragController.cpp \
+	page/EventHandler.cpp \
+	page/FocusController.cpp \
+	page/Frame.cpp \
+	page/FrameTree.cpp \
+	page/FrameView.cpp \
+	page/Geolocation.cpp \
+	page/History.cpp \
+	page/Location.cpp \
+	page/MouseEventWithHitTestResults.cpp \
+	page/Navigator.cpp \
+	page/NavigatorBase.cpp \
+	page/OriginAccessEntry.cpp \
+	page/Page.cpp \
+	page/PageGroup.cpp \
+	page/PageGroupLoadDeferrer.cpp \
+	page/PluginHalter.cpp \
+	page/PrintContext.cpp \
+	page/Screen.cpp \
+	page/SecurityOrigin.cpp \
+	page/Settings.cpp \
+	page/UserContentURLPattern.cpp \
+	page/WindowFeatures.cpp \
+	page/WorkerNavigator.cpp \
+	page/XSSAuditor.cpp \
+	\
+	page/android/DragControllerAndroid.cpp \
+	page/android/EventHandlerAndroid.cpp \
+	\
+	page/animation/AnimationBase.cpp \
+	page/animation/AnimationController.cpp \
+	page/animation/CompositeAnimation.cpp \
+	page/animation/ImplicitAnimation.cpp \
+	page/animation/KeyframeAnimation.cpp \
+	\
+	platform/Arena.cpp \
+	platform/ContentType.cpp \
+	platform/ContextMenu.cpp \
+	platform/CrossThreadCopier.cpp \
+	platform/DeprecatedPtrListImpl.cpp \
+	platform/DragData.cpp \
+	platform/DragImage.cpp \
+	platform/FileChooser.cpp \
+	platform/GeolocationService.cpp \
+	platform/KURL.cpp \
+	platform/KURLGoogle.cpp \
+	platform/Length.cpp \
+	platform/LinkHash.cpp \
+	platform/Logging.cpp \
+	platform/MIMETypeRegistry.cpp \
+	platform/ScrollView.cpp \
+	platform/Scrollbar.cpp \
+	platform/ScrollbarThemeComposite.cpp \
+	platform/SharedBuffer.cpp \
+	platform/Theme.cpp \
+	platform/ThreadGlobalData.cpp \
+	platform/ThreadTimers.cpp \
+	platform/Timer.cpp \
+	platform/Widget.cpp \
+	\
+	platform/android/ClipboardAndroid.cpp \
+	platform/android/CursorAndroid.cpp \
+	platform/android/DragDataAndroid.cpp \
+	platform/android/EventLoopAndroid.cpp \
+	platform/android/FileChooserAndroid.cpp \
+	platform/android/FileSystemAndroid.cpp \
+	platform/android/KeyEventAndroid.cpp \
+	platform/android/LocalizedStringsAndroid.cpp \
+	platform/android/PopupMenuAndroid.cpp \
+	platform/android/RenderThemeAndroid.cpp \
+	platform/android/ScreenAndroid.cpp \
+	platform/android/ScrollViewAndroid.cpp \
+	platform/android/SearchPopupMenuAndroid.cpp \
+	platform/android/SystemTimeAndroid.cpp \
+	platform/android/TemporaryLinkStubs.cpp \
+	platform/android/WidgetAndroid.cpp \
+	\
+	platform/animation/Animation.cpp \
+	platform/animation/AnimationList.cpp \
+	\
+	platform/graphics/BitmapImage.cpp \
+	platform/graphics/Color.cpp \
+	platform/graphics/FloatPoint.cpp \
+	platform/graphics/FloatPoint3D.cpp \
+	platform/graphics/FloatQuad.cpp \
+	platform/graphics/FloatRect.cpp \
+	platform/graphics/FloatSize.cpp \
+	platform/graphics/Font.cpp \
+	platform/graphics/FontCache.cpp \
+	platform/graphics/FontData.cpp \
+	platform/graphics/FontDescription.cpp \
+	platform/graphics/FontFallbackList.cpp \
+	platform/graphics/FontFamily.cpp \
+	platform/graphics/FontFastPath.cpp \
+	platform/graphics/GeneratedImage.cpp \
+	platform/graphics/GlyphPageTreeNode.cpp \
+	platform/graphics/GlyphWidthMap.cpp \
+	platform/graphics/Gradient.cpp \
+	platform/graphics/GraphicsContext.cpp \
+	platform/graphics/GraphicsLayer.cpp \
+	platform/graphics/GraphicsTypes.cpp \
+	platform/graphics/Image.cpp \
+	platform/graphics/IntRect.cpp \
+	platform/graphics/MediaPlayer.cpp \
+	platform/graphics/Path.cpp \
+	platform/graphics/PathTraversalState.cpp \
+	platform/graphics/Pattern.cpp \
+	platform/graphics/Pen.cpp \
+	platform/graphics/SegmentedFontData.cpp \
+	platform/graphics/SimpleFontData.cpp \
+	platform/graphics/StringTruncator.cpp \
+	platform/graphics/WidthIterator.cpp
+
+ifeq ($(ENABLE_SVG), true)
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
+	platform/graphics/filters/FEBlend.cpp \
+	platform/graphics/filters/FEColorMatrix.cpp \
+	platform/graphics/filters/FEComponentTransfer.cpp \
+	platform/graphics/filters/FEComposite.cpp
+endif
+
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
+	platform/graphics/skia/FloatPointSkia.cpp \
+	platform/graphics/skia/FloatRectSkia.cpp \
+	platform/graphics/skia/IntPointSkia.cpp \
+	platform/graphics/skia/IntRectSkia.cpp \
+	platform/graphics/skia/NativeImageSkia.cpp \
+	platform/graphics/skia/SkiaUtils.cpp \
+	platform/graphics/skia/TransformationMatrixSkia.cpp \
+	\
+	platform/graphics/transforms/Matrix3DTransformOperation.cpp \
+	platform/graphics/transforms/MatrixTransformOperation.cpp \
+	platform/graphics/transforms/PerspectiveTransformOperation.cpp \
+	platform/graphics/transforms/RotateTransformOperation.cpp \
+	platform/graphics/transforms/ScaleTransformOperation.cpp \
+	platform/graphics/transforms/SkewTransformOperation.cpp \
+	platform/graphics/transforms/TransformOperations.cpp \
+	platform/graphics/transforms/TransformationMatrix.cpp \
+	platform/graphics/transforms/TranslateTransformOperation.cpp \
+	\
+	platform/image-decoders/skia/ImageDecoderSkia.cpp \
+	platform/image-decoders/gif/GIFImageDecoder.cpp \
+	platform/image-decoders/gif/GIFImageReader.cpp \
+	\
+	platform/mock/GeolocationServiceMock.cpp \
+	\
+	platform/network/AuthenticationChallengeBase.cpp \
+	platform/network/Credential.cpp \
+	platform/network/CredentialStorage.cpp \
+	platform/network/FormData.cpp \
+	platform/network/FormDataBuilder.cpp \
+	platform/network/HTTPHeaderMap.cpp \
+	platform/network/HTTPParsers.cpp \
+	platform/network/NetworkStateNotifier.cpp \
+	platform/network/ProtectionSpace.cpp \
+	platform/network/ResourceErrorBase.cpp \
+	platform/network/ResourceHandle.cpp \
+	platform/network/ResourceRequestBase.cpp \
+	platform/network/ResourceResponseBase.cpp \
+	platform/network/SocketStreamHandleBase.cpp \
+	\
+	platform/posix/FileSystemPOSIX.cpp \
+	\
+	platform/sql/SQLValue.cpp \
+	platform/sql/SQLiteAuthorizer.cpp \
+	platform/sql/SQLiteDatabase.cpp \
+	platform/sql/SQLiteFileSystem.cpp \
+	platform/sql/SQLiteStatement.cpp \
+	platform/sql/SQLiteTransaction.cpp \
+	\
+	platform/text/AtomicString.cpp \
+	platform/text/Base64.cpp \
+	platform/text/BidiContext.cpp \
+	platform/text/CString.cpp \
+	platform/text/RegularExpression.cpp \
+	platform/text/SegmentedString.cpp \
+	platform/text/String.cpp \
+	platform/text/StringBuilder.cpp \
+	platform/text/StringImpl.cpp \
+	platform/text/TextBreakIteratorICU.cpp \
+	platform/text/TextCodec.cpp \
+	platform/text/TextCodecICU.cpp \
+	platform/text/TextCodecLatin1.cpp \
+	platform/text/TextCodecUTF16.cpp \
+	platform/text/TextCodecUserDefined.cpp \
+	platform/text/TextEncoding.cpp \
+	platform/text/TextEncodingDetectorICU.cpp \
+	platform/text/TextEncodingRegistry.cpp \
+	platform/text/TextStream.cpp \
+	platform/text/UnicodeRange.cpp \
+	\
+	platform/text/android/TextBreakIteratorInternalICU.cpp \
+	\
+	plugins/MimeType.cpp \
+	plugins/MimeTypeArray.cpp \
+	plugins/Plugin.cpp \
+	plugins/PluginArray.cpp \
+	plugins/PluginData.cpp \
+	plugins/PluginDatabase.cpp \
+	plugins/PluginInfoStore.cpp \
+	plugins/PluginMainThreadScheduler.cpp \
+	plugins/PluginPackage.cpp \
+	plugins/PluginStream.cpp \
+	plugins/PluginView.cpp \
+	plugins/npapi.cpp \
+	\
+	rendering/AutoTableLayout.cpp \
+	rendering/CounterNode.cpp \
+	rendering/EllipsisBox.cpp \
+	rendering/FixedTableLayout.cpp \
+	rendering/HitTestResult.cpp \
+	rendering/InlineBox.cpp \
+	rendering/InlineFlowBox.cpp \
+	rendering/InlineTextBox.cpp \
+	rendering/LayoutState.cpp \
+	rendering/MediaControlElements.cpp \
+	rendering/PointerEventsHitRules.cpp \
+	rendering/RenderApplet.cpp \
+	rendering/RenderArena.cpp \
+	rendering/RenderBR.cpp \
+	rendering/RenderBlock.cpp \
+	rendering/RenderBlockLineLayout.cpp \
+	rendering/RenderBox.cpp \
+	rendering/RenderBoxModelObject.cpp \
+	rendering/RenderButton.cpp \
+	rendering/RenderCounter.cpp \
+	rendering/RenderFieldset.cpp \
+	rendering/RenderFileUploadControl.cpp \
+	rendering/RenderFlexibleBox.cpp \
+	rendering/RenderForeignObject.cpp \
+	rendering/RenderFrame.cpp \
+	rendering/RenderFrameSet.cpp \
+	rendering/RenderHTMLCanvas.cpp \
+	rendering/RenderImage.cpp \
+	rendering/RenderImageGeneratedContent.cpp \
+	rendering/RenderInline.cpp \
+	rendering/RenderLayer.cpp \
+	rendering/RenderLayerBacking.cpp \
+	rendering/RenderLayerCompositor.cpp \
+	rendering/RenderLineBoxList.cpp \
+	rendering/RenderListBox.cpp \
+	rendering/RenderListItem.cpp \
+	rendering/RenderListMarker.cpp \
+	rendering/RenderMarquee.cpp \
+	rendering/RenderMedia.cpp \
+	rendering/RenderMenuList.cpp \
+	rendering/RenderObject.cpp \
+	rendering/RenderObjectChildList.cpp \
+	rendering/RenderPart.cpp \
+	rendering/RenderPartObject.cpp \
+	rendering/RenderPath.cpp \
+	rendering/RenderReplaced.cpp \
+	rendering/RenderReplica.cpp \
+
+ifeq ($(ENABLE_SVG), true)
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
+	rendering/RenderSVGBlock.cpp \
+	rendering/RenderSVGContainer.cpp \
+	rendering/RenderSVGGradientStop.cpp \
+	rendering/RenderSVGHiddenContainer.cpp \
+	rendering/RenderSVGImage.cpp \
+	rendering/RenderSVGInline.cpp \
+	rendering/RenderSVGInlineText.cpp \
+	rendering/RenderSVGModelObject.cpp \
+	rendering/RenderSVGRoot.cpp \
+	rendering/RenderSVGTSpan.cpp \
+	rendering/RenderSVGText.cpp \
+	rendering/RenderSVGTextPath.cpp \
+	rendering/RenderSVGTransformableContainer.cpp \
+	rendering/RenderSVGViewportContainer.cpp
+endif
+
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
+	rendering/RenderScrollbar.cpp \
+	rendering/RenderScrollbarPart.cpp \
+	rendering/RenderScrollbarTheme.cpp \
+	rendering/RenderSlider.cpp \
+	rendering/RenderTable.cpp \
+	rendering/RenderTableCell.cpp \
+	rendering/RenderTableCol.cpp \
+	rendering/RenderTableRow.cpp \
+	rendering/RenderTableSection.cpp \
+	rendering/RenderText.cpp \
+	rendering/RenderTextControl.cpp \
+	rendering/RenderTextControlMultiLine.cpp \
+	rendering/RenderTextControlSingleLine.cpp \
+	rendering/RenderTextFragment.cpp \
+	rendering/RenderTheme.cpp \
+	rendering/RenderTreeAsText.cpp \
+	rendering/RenderVideo.cpp \
+	rendering/RenderView.cpp \
+	rendering/RenderWidget.cpp \
+	rendering/RenderWordBreak.cpp \
+	rendering/RootInlineBox.cpp \
+
+ifeq ($(ENABLE_SVG), true)
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
+	rendering/SVGCharacterLayoutInfo.cpp \
+	rendering/SVGInlineFlowBox.cpp \
+	rendering/SVGInlineTextBox.cpp \
+	rendering/SVGRenderSupport.cpp \
+	rendering/SVGRenderTreeAsText.cpp \
+	rendering/SVGRootInlineBox.cpp
+endif
+
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
+	rendering/ScrollBehavior.cpp \
+	rendering/TextControlInnerElements.cpp \
+	rendering/TransformState.cpp \
+	rendering/break_lines.cpp \
+	\
+	rendering/style/BindingURI.cpp \
+	rendering/style/ContentData.cpp \
+	rendering/style/CounterDirectives.cpp \
+	rendering/style/FillLayer.cpp \
+	rendering/style/KeyframeList.cpp \
+	rendering/style/NinePieceImage.cpp \
+	rendering/style/RenderStyle.cpp \
+
+ifeq ($(ENABLE_SVG), true)
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
+	rendering/style/SVGRenderStyle.cpp \
+	rendering/style/SVGRenderStyleDefs.cpp
+endif
+
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
+	rendering/style/ShadowData.cpp \
+	rendering/style/StyleBackgroundData.cpp \
+	rendering/style/StyleBoxData.cpp \
+	rendering/style/StyleCachedImage.cpp \
+	rendering/style/StyleFlexibleBoxData.cpp \
+	rendering/style/StyleGeneratedImage.cpp \
+	rendering/style/StyleInheritedData.cpp \
+	rendering/style/StyleMarqueeData.cpp \
+	rendering/style/StyleMultiColData.cpp \
+	rendering/style/StyleRareInheritedData.cpp \
+	rendering/style/StyleRareNonInheritedData.cpp \
+	rendering/style/StyleSurroundData.cpp \
+	rendering/style/StyleTransformData.cpp \
+	rendering/style/StyleVisualData.cpp \
+	\
+	storage/ChangeVersionWrapper.cpp \
+	storage/Database.cpp \
+	storage/DatabaseAuthorizer.cpp \
+	storage/DatabaseTask.cpp \
+	storage/DatabaseThread.cpp \
+	storage/DatabaseTracker.cpp \
+	storage/LocalStorageTask.cpp \
+	storage/LocalStorageThread.cpp \
+	storage/OriginQuotaManager.cpp \
+	storage/OriginUsageRecord.cpp \
+	storage/SQLResultSet.cpp \
+	storage/SQLResultSetRowList.cpp \
+	storage/SQLStatement.cpp \
+	storage/SQLTransaction.cpp \
+	storage/SQLTransactionClient.cpp \
+	storage/SQLTransactionCoordinator.cpp \
+	storage/Storage.cpp \
+	storage/StorageAreaImpl.cpp \
+	storage/StorageAreaSync.cpp \
+	storage/StorageEvent.cpp \
+	storage/StorageEventDispatcher.cpp \
+	storage/StorageMap.cpp \
+	storage/StorageNamespace.cpp \
+	storage/StorageNamespaceImpl.cpp \
+	storage/StorageSyncManager.cpp \
+
+ifeq ($(ENABLE_SVG), true)
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
+	svg/ColorDistance.cpp \
+	svg/SVGAElement.cpp \
+	svg/SVGAllInOne.cpp \
+	svg/SVGAltGlyphElement.cpp \
+	svg/SVGAngle.cpp \
+	svg/SVGAnimateColorElement.cpp \
+	svg/SVGAnimateElement.cpp \
+	svg/SVGAnimateMotionElement.cpp \
+	svg/SVGAnimateTransformElement.cpp \
+	svg/SVGAnimatedPathData.cpp \
+	svg/SVGAnimatedPoints.cpp \
+	svg/SVGAnimationElement.cpp \
+	svg/SVGCircleElement.cpp \
+	svg/SVGClipPathElement.cpp \
+	svg/SVGColor.cpp \
+	svg/SVGComponentTransferFunctionElement.cpp \
+	svg/SVGCursorElement.cpp \
+	svg/SVGDefsElement.cpp \
+	svg/SVGDescElement.cpp \
+	svg/SVGDocument.cpp \
+	svg/SVGDocumentExtensions.cpp \
+	svg/SVGElement.cpp \
+	svg/SVGElementInstance.cpp \
+	svg/SVGElementInstanceList.cpp \
+	svg/SVGEllipseElement.cpp \
+	svg/SVGExternalResourcesRequired.cpp \
+	svg/SVGFEBlendElement.cpp \
+	svg/SVGFEColorMatrixElement.cpp \
+	svg/SVGFEComponentTransferElement.cpp \
+	svg/SVGFECompositeElement.cpp \
+	svg/SVGFEDiffuseLightingElement.cpp \
+	svg/SVGFEDisplacementMapElement.cpp \
+	svg/SVGFEDistantLightElement.cpp \
+	svg/SVGFEFloodElement.cpp \
+	svg/SVGFEFuncAElement.cpp \
+	svg/SVGFEFuncBElement.cpp \
+	svg/SVGFEFuncGElement.cpp \
+	svg/SVGFEFuncRElement.cpp \
+	svg/SVGFEGaussianBlurElement.cpp \
+	svg/SVGFEImageElement.cpp \
+	svg/SVGFELightElement.cpp \
+	svg/SVGFEMergeElement.cpp \
+	svg/SVGFEMergeNodeElement.cpp \
+	svg/SVGFEOffsetElement.cpp \
+	svg/SVGFEPointLightElement.cpp \
+	svg/SVGFESpecularLightingElement.cpp \
+	svg/SVGFESpotLightElement.cpp \
+	svg/SVGFETileElement.cpp \
+	svg/SVGFETurbulenceElement.cpp \
+	svg/SVGFilterElement.cpp \
+	svg/SVGFilterPrimitiveStandardAttributes.cpp \
+	svg/SVGFitToViewBox.cpp \
+	svg/SVGFont.cpp \
+	svg/SVGFontData.cpp \
+	svg/SVGFontElement.cpp \
+	svg/SVGFontFaceElement.cpp \
+	svg/SVGFontFaceFormatElement.cpp \
+	svg/SVGFontFaceNameElement.cpp \
+	svg/SVGFontFaceSrcElement.cpp \
+	svg/SVGFontFaceUriElement.cpp \
+	svg/SVGForeignObjectElement.cpp \
+	svg/SVGGElement.cpp \
+	svg/SVGGlyphElement.cpp \
+	svg/SVGGradientElement.cpp \
+	svg/SVGHKernElement.cpp \
+	svg/SVGImageElement.cpp \
+	svg/SVGImageLoader.cpp \
+	svg/SVGLangSpace.cpp \
+	svg/SVGLength.cpp \
+	svg/SVGLengthList.cpp \
+	svg/SVGLineElement.cpp \
+	svg/SVGLinearGradientElement.cpp \
+	svg/SVGLocatable.cpp \
+	svg/SVGMPathElement.cpp \
+	svg/SVGMarkerElement.cpp \
+	svg/SVGMaskElement.cpp \
+	svg/SVGMetadataElement.cpp \
+	svg/SVGMissingGlyphElement.cpp \
+	svg/SVGNumberList.cpp \
+	svg/SVGPaint.cpp \
+	svg/SVGParserUtilities.cpp \
+	svg/SVGPathElement.cpp \
+	svg/SVGPathSegArc.cpp \
+	svg/SVGPathSegClosePath.cpp \
+	svg/SVGPathSegCurvetoCubic.cpp \
+	svg/SVGPathSegCurvetoCubicSmooth.cpp \
+	svg/SVGPathSegCurvetoQuadratic.cpp \
+	svg/SVGPathSegCurvetoQuadraticSmooth.cpp \
+	svg/SVGPathSegLineto.cpp \
+	svg/SVGPathSegLinetoHorizontal.cpp \
+	svg/SVGPathSegLinetoVertical.cpp \
+	svg/SVGPathSegList.cpp \
+	svg/SVGPathSegMoveto.cpp \
+	svg/SVGPatternElement.cpp \
+	svg/SVGPointList.cpp \
+	svg/SVGPolyElement.cpp \
+	svg/SVGPolygonElement.cpp \
+	svg/SVGPolylineElement.cpp \
+	svg/SVGPreserveAspectRatio.cpp \
+	svg/SVGRadialGradientElement.cpp \
+	svg/SVGRectElement.cpp \
+	svg/SVGSVGElement.cpp \
+	svg/SVGScriptElement.cpp \
+	svg/SVGSetElement.cpp \
+	svg/SVGStopElement.cpp \
+	svg/SVGStringList.cpp \
+	svg/SVGStylable.cpp \
+	svg/SVGStyleElement.cpp \
+	svg/SVGStyledElement.cpp \
+	svg/SVGStyledLocatableElement.cpp \
+	svg/SVGStyledTransformableElement.cpp \
+	svg/SVGSwitchElement.cpp \
+	svg/SVGSymbolElement.cpp \
+	svg/SVGTRefElement.cpp \
+	svg/SVGTSpanElement.cpp \
+	svg/SVGTests.cpp \
+	svg/SVGTextContentElement.cpp \
+	svg/SVGTextElement.cpp \
+	svg/SVGTextPathElement.cpp \
+	svg/SVGTextPositioningElement.cpp \
+	svg/SVGTitleElement.cpp \
+	svg/SVGTransform.cpp \
+	svg/SVGTransformDistance.cpp \
+	svg/SVGTransformList.cpp \
+	svg/SVGTransformable.cpp \
+	svg/SVGURIReference.cpp \
+	svg/SVGUseElement.cpp \
+	svg/SVGViewElement.cpp \
+	svg/SVGViewSpec.cpp \
+	svg/SVGZoomAndPan.cpp \
+	svg/SVGZoomEvent.cpp \
+	\
+	svg/animation/SMILTime.cpp \
+	svg/animation/SMILTimeContainer.cpp \
+	svg/animation/SVGSMILElement.cpp \
+	\
+	svg/graphics/SVGImage.cpp \
+	svg/graphics/SVGPaintServer.cpp \
+	svg/graphics/SVGPaintServerGradient.cpp \
+	svg/graphics/SVGPaintServerLinearGradient.cpp \
+	svg/graphics/SVGPaintServerPattern.cpp \
+	svg/graphics/SVGPaintServerRadialGradient.cpp \
+	svg/graphics/SVGPaintServerSolid.cpp \
+	svg/graphics/SVGResource.cpp \
+	svg/graphics/SVGResourceClipper.cpp \
+	svg/graphics/SVGResourceFilter.cpp \
+	svg/graphics/SVGResourceMarker.cpp \
+	svg/graphics/SVGResourceMasker.cpp \
+	\
+	svg/graphics/filters/SVGFEConvolveMatrix.cpp \
+	svg/graphics/filters/SVGFEDiffuseLighting.cpp \
+	svg/graphics/filters/SVGFEDisplacementMap.cpp \
+	svg/graphics/filters/SVGFEFlood.cpp \
+	svg/graphics/filters/SVGFEImage.cpp \
+	svg/graphics/filters/SVGFEMerge.cpp \
+	svg/graphics/filters/SVGFEMorphology.cpp \
+	svg/graphics/filters/SVGFEOffset.cpp \
+	svg/graphics/filters/SVGFESpecularLighting.cpp \
+	svg/graphics/filters/SVGFETile.cpp \
+	svg/graphics/filters/SVGFETurbulence.cpp \
+	svg/graphics/filters/SVGFilter.cpp \
+	svg/graphics/filters/SVGFilterBuilder.cpp \
+	svg/graphics/filters/SVGLightSource.cpp
+endif
+
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
+	workers/AbstractWorker.cpp \
+	workers/DedicatedWorkerContext.cpp \
+	workers/DedicatedWorkerThread.cpp \
+	workers/DefaultSharedWorkerRepository.cpp \
+	workers/SharedWorker.cpp \
+	workers/SharedWorkerContext.cpp \
+	workers/SharedWorkerThread.cpp \
+	workers/Worker.cpp \
+	workers/WorkerContext.cpp \
+	workers/WorkerLocation.cpp \
+	workers/WorkerMessagingProxy.cpp \
+	workers/WorkerRunLoop.cpp \
+	workers/WorkerScriptLoader.cpp \
+	workers/WorkerThread.cpp \
+	\
+	xml/DOMParser.cpp \
+	xml/XMLHttpRequest.cpp \
+	xml/XMLHttpRequestUpload.cpp \
+	xml/XMLSerializer.cpp
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 7c9e02a..9ff94de 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2009-12-08  Steve Block  <steveblock at google.com>
+
+        Reviewed by Adam Barth.
+
+        [Android] Adds Makefiles for Android port.
+        https://bugs.webkit.org/show_bug.cgi?id=31325
+
+        Build system change only. No tests possible.
+
+        * Android.derived.jscbindings.mk: Added.
+        * Android.derived.mk: Added.
+        * Android.jscbindings.mk: Added.
+        * Android.mk: Added.
+        * WebCorePrefix.h: Modified. Sets up some flags and adds a header required for building on Android.
+
 2009-12-08  Christian Dywan  <christian at twotoasts.de>
 
         Reviewed by Xan Lopez.
diff --git a/WebCore/WebCorePrefix.h b/WebCore/WebCorePrefix.h
index 6c8e200..6d445c5 100644
--- a/WebCore/WebCorePrefix.h
+++ b/WebCore/WebCorePrefix.h
@@ -62,6 +62,19 @@
 #include <pthread.h>
 #endif // defined(WIN32) || defined(_WIN32)
 
+#if defined(ANDROID)
+#ifdef __cplusplus
+// Must come before include of algorithm.
+#define PREFIX_FOR_WEBCORE 1
+#define EXPORT __attribute__((visibility("default")))
+#endif
+// Android uses a single set of include directories when building WebKit and
+// JavaScriptCore. Since WebCore/ is included before JavaScriptCore/, Android
+// includes JavaScriptCore/config.h explicitly here to make sure it gets picked
+// up.
+#include <JavaScriptCore/config.h>
+#endif
+
 #include <sys/types.h>
 #include <fcntl.h>
 #if defined(__APPLE__)
@@ -105,7 +118,7 @@
 
 #include <time.h>
 
-#ifndef BUILDING_WX__
+#if !defined(BUILDING_WX__) && !defined(ANDROID)
 #include <CoreFoundation/CoreFoundation.h>
 #ifdef WIN_CAIRO
 #include <ConditionalMacros.h>
@@ -121,7 +134,7 @@
 #endif
 
 #endif
-#endif
+#endif  // !defined(BUILDING_WX__) && !defined(ANDROID)
 
 #ifdef __OBJC__
 #import <Cocoa/Cocoa.h>

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list